Server Tools: FAQ
Frequently asked questions about Server Tools: supported systems, Nginx, overwriting and deleting VHosts, --yes, automatic database backups, certificates for aliases, SSH users and uninstalling.
FAQ
General
Does Server Tools also run on CentOS or RHEL?
No. The tool calls apt-get and uses Debian paths such as /etc/apache2 and /etc/nginx.
Is there a German interface?
No. All messages and menu texts are in English.
Can I use Nginx instead of Apache?
Yes, with ST_WEBSERVER="nginx" in the config. This applies globally to all VHosts. ssl create, ssl delete, ssl renew and vhost audit only support Apache. ssl wildcard does not check the backend and also runs with Nginx, but it does not set up VHost SSL. More on the Virtual hosts page.
Does Server Tools support PostgreSQL?
No, only MySQL and MariaDB.
What happens to my data if I uninstall Server Tools?
Nothing. uninstall only removes binary, shortcuts and libraries. Config, credential files, backups, audit log and everything the tool managed remain. Details are under Installation.
Are make install and sudo ./bin/server-tools install equivalent?
Yes, make install calls ./bin/server-tools install.
Safety when deleting and overwriting
Are existing VHost configurations overwritten?
Yes, after a prompt. If you create a domain for which a configuration already exists, the tool asks Overwrite existing configuration?. With --yes the prompt is skipped. An existing index.php in the DocumentRoot is also replaced by the welcome page.
What does vhost delete delete?
The configuration file, the site link, on Apache the -le-ssl.conf and the logrotate file. For VHosts with a DocumentRoot, on request additionally the entire directory /var/www/<domain>. With --yes this prompt is also answered with "yes". Proxy VHosts have no DocumentRoot: the prompt does not appear for them and nothing under /var/www is deleted. A certificate under /etc/letsencrypt remains.
Is the content of a database backed up before deleting?
No. Only the credential file is backed up. Create a dump with db backup beforehand.
What does --yes do?
It answers every prompt with "yes", including the destructive ones. The list is under Usage.
Does cron remove only delete jobs that Server Tools created?
No. The command searches all files in /etc/cron.d for the text and deletes every file you confirm. With --yes that is all matches.
Databases
How do I back up databases automatically?
Create a cron job with db backup per database:
server-tools cron add \
--schedule '0 2 * * *' \
--command '/usr/local/bin/server-tools db backup --name shop_db' \
--name 'db-backup-shop'
As a CLI command, db backup-all currently backs up only the first database, see Troubleshooting.
Where are database passwords stored?
In the credential file <ST_CREDENTIAL_DIR>/<database>.txt with mode 600, including PDO DSN and Symfony DATABASE_URL.
What if MySQL or MariaDB is not installed?
Then only database management is missing. The tool accepts mysql/mysqldump as well as mariadb/mariadb-dump. If both are missing, the menu shows [mysql not installed] and server-tools db ... aborts with a message.
VHosts and SSL
Can I set up a reverse proxy for a Node.js app?
Yes:
server-tools vhost create --domain app.example.com --type proxy --backend http://localhost:3000 --websocket
Which PHP versions are possible?
7.4, 8.0, 8.1, 8.2, 8.3 and 8.4, provided the FPM socket /run/php/php<version>-fpm.sock exists.
Does the certificate also cover aliases such as www?
No. ssl create requests a certificate only for the one domain given.
How do I find VHosts that deviate from the template?
With vhost audit. The command reports missing forwarded headers and deviating log paths and returns exit code 1 if a VHost deviates. It changes nothing.
SSH users
Can several developers use the same user?
Yes. There is one user per domain, each developer adds their own key with user add-key.
Does the user block access to other domains?
The tool uses ACLs on /var/www/<domain>/html and logs and no chroot. It does not take away the user's permissions on other directories. What the user can read is determined by the permissions of those directories. See SSH users.