Habilitar puertos firewall
sudo iptables -F
sudo netfilter-persistent save
Descargar instalador
wget https://raw.githubusercontent.com/hestiacp/hestiacp/release/install/hst-install.sh
Instalar hestiacp con su script y todo lo que se necesite, para nuestro ejemplo Nginx + Php + Mysql. Para personalizar hay que ir a la web de ayuda para ello. Para que no salga advertencia de que ya hay un usuario admin hay que añadir al final --force
https://gabizz.github.io/hestiacp-scriptline-generator/
sudo bash hst-install.sh --apache no --phpfpm yes --multiphp yes --vsftpd no --proftpd no --named no --mysql yes --postgresql no --exim no --dovecot no --sieve no --clamav no --spamassassin no --iptables yes --fail2ban yes --quota no --api no --interactive yes --with-debs no --port 8083 --hostname hestiacp.innovacreaciones.es --email info@innovacreaciones.es --password 123456 --lang es --force
El puerto por defecto al admin es 8083
Crear el usuario con el que se van a gestionar las webs, por ejemplo aws
Hay que agregar la llave ssh de Cloud9 a este usuario, desde el panel de hestia.
Hay que instalar node y npm siguiendo la guía de instalación con nvm de DigitalOcean y previamente hay que conectarse como el usuario antes creado (aws) ya que se instala de manera «local» para cada usuario.
https://www.digitalocean.com/community/tutorials/como-instalar-node-js-en-ubuntu-18-04-es
Requisitos PREVIOS para AWS CLOUD9
apt install nodejs
apt install python
apt install nodejs
apt install libevent-dev
sudo apt-get install -y build-essential
Agregar usuario aws como sudo para que el instalador no falle
usermod -aG sudo aws
Para tener composer hay que añadirlo con un comando de hestiacp que hay que ejecutar como root
/usr/local/hestia/bin/v-add-user-composer aws
Se instala en la carpeta del usuario .composer de manera local por lo tanto tenemos que agregar un alias para poder usarlo normalmente con «composer» y para hacerlo permanente lo agregamos como primera línea en el fichero del bash
nano ~/.bashrc
alias composer="/home/aws/.composer/composer"
Para acceder remotamente hay que configurar en el panel de hestiacp el puerto 3306 habilitado en la parte de Configuración / Contafuegos y tocar el fichero de configuración para comentar la línea de bind-address
/etc/mysql/mariadb.conf.d/50-server.cnf
#Instead of skip-networking the default is now to listen only on
#localhost which is more compatible and is not less secure.
#bind-address = 127.0.0.1
systemctl restart mysql.service
systemctl daemon-reload
Para evitar que falle en Chrome al intentar acceder al admin con el puerto 8083 indicando que no es seguro el certificado hay que ejecutar estos dos comandos como root
v-change-sys-hostname host.domain.tld
v-add-letsencrypt-host
Se pueden agregar todos estos alias al bashrc o al zshrc para poder usar por consola rápidamente cada versión específica de cada web.
alias composer="/home/aws/.composer/composer"
alias composer7="/usr/bin/php7.4 /home/aws/.composer/composer"
alias composer8="/usr/bin/php8.2 /home/aws/.composer/composer"
alias php7="/usr/bin/php7.4"
alias php8="/usr/bin/php8.2"