HestiaCP fresh install & cleanup

HestiaCP is an actively developed fork of popular VestaCP, whos development somewhat stalled in the last little while.

There’s a couple of steps we can take to make our crispy fresh HestiaCP install even crispier!

Depending on your needs, you can make a full install and then remove unnecessary packages, or you can opt to not include it in the installation in the first place:

Install options

First, we need to download the installation script:

wget https://raw.githubusercontent.com/hestiacp/hestiacp/release/install/hst-install.sh

No we can add additional parameters to install only what we need
(-h lists all available options or use the Install string generator):

bash hst-install.sh -h

Installing without Bind and with Multi-PHP support:

bash hst-install.sh -k no -o yes

You can of course customise your installer, depending on your specific server use case (for DNS cluster, there is no use of vsftp/apache/nginx and so on).

Set host domain SSL certificate (Lets Encrypt)

To set or update host domain certificate, first generate Lets Encrypt certificate for a specific hostname (domain) for one of the users in the GUI control panel or CLI, then run the following command in CLI:

Parameters: [USER] [HOSTNAME]
v-update-host-certificate admin domain.com

Restore user or only specific domain

Restoring complete user data from a HestiaCP (or VestaCP) backup:

v-restore-user admin admin.2020-07-10.tar

We can also restore only a specific domain, database, or any other part of the user data from the backup tar file. Let’s say we just want to restore domain.com and its respectful database admin_domaindb, while saving the log file to restore.log:

USER BACKUP [WEB] [DNS] [MAIL] [DB] [CRON] [UDIR] [NOTIFY]
v-restore-user admin admin.2020-07-10.tar 'domain.com' 'no' 'no' 'admin_domaindb' 'no' 'no'  yes >> /usr/local/vesta/log/restore.log 2>&1

Change domain and DB owner

To move domain to another user (change the owner of the domain):

v-change-domain-owner domain.com newuser

To move database to another user (change the owner of the database):

v-change-database-owner db_name newuser  

Get the DKIM public key

Run the following command to get the DKIM public key:

v-list-mail-domain-dkim USER DOMAIN [FORMAT]  

Use the public key in TXT record in your DNS:

mail._domainkey IN TXT "v=DKIM1; k=rsa; p=<your_public_key>"

Leave a Reply

Your email address will not be published. Required fields are marked *