Es una guia instructiva que sirve de ayuda memoria para el paso a paso de la instalación de LEMP (Linux Nginx MariaDB PHP7) sobre Ubuntu 18.04
hostnamectl set-hostname hostname.domain.tld
sudo apt update && sudo apt upgrade
sudo apt install nginx
sudo apt install mariadb-server mariadb-client
sudo mysql -u root
Escribir las siguientes query, reemplace user_new
por su nombre de usuario y password
por su contraseña:
SELECT user,host,authentication_string,plugin FROM mysql.user;
CREATE USER 'user_new'@'localhost' IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON *.* TO 'user_new'@'localhost' WITH GRANT OPTION;
quit
sudo mysql_secure_installation
Enter current password for root (enter for none): <-- presione enter
Set root password? [Y/n] <-- y
New password: <-- Escriba el nuevo passowrd
Re-enter new password: <-- Repita el password ingresado
Remove anonymous users? [Y/n] <-- y
Disallow root login remotely? [Y/n] <-- y
Reload privilege tables now? [Y/n] <-- y
sudo apt install php-fpm php-mysql php-gd php-cli php-xml php-bz2 php-zip php-intl php-curl php-soap php-mbstring
sudo sed -i 's/;cgi.fix_pathinfo=1/cgi.fix_pathinfo=0/g' /etc/php/7.2/fpm/php.ini
sudo add-apt-repository ppa:certbot/certbot
sudo apt update
sudo apt install python-certbot-nginx
Para crear un certificado SSL a un dominio:
sudo certbot --nginx -d example.com -d www.example.com
sudo apt-get install phpmyadmin
Web server to configure automatically: <-- Dejar en blanco
Configure database for phpmyadmin with dbconfig-common? <-- Yes
MySQL application password for phpmyadmin: <-- Ingrese una contraseña o presione enter para crear una random
Cambiar url default por una personalizada:
sudo ln -s /usr/share/phpmyadmin /var/www/html/{nombre_link}
sudo phpenmod mcrypt
sudo systemctl restart php7.2-fpm
Generar una contaseña openssl passwd
Editar sudo nano /etc/nginx/pma_pass
y guardar el usuario y contraseña generado anteriormente, con el formato user:password
Editar la configuración del dominio por default
o bien realizarlo sobre el dominio sobre el cual quiere acceder a phpMyAdmin
sudo nano /etc/nginx/sites-available/default
Y pegar el siguiente código dentro del bloque server { .... }
location /{nombre_link} {
auth_basic "Acceso DB Login";
auth_basic_user_file /etc/nginx/pma_pass;
}
Cambiar puerto SSH default 22 por custom ej: 3344
, editar nano /etc/ssh/sshd_config
Si utiliza UFW deberá crear las reglas para que funcione
Habilitar puertos para NGINX 80 y 443 sudo ufw allow 'Nginx Full'
Habilitar puerto para ssh custom ufw allow 3344
Activar firewall ufw enable
Más info de configuración UFW
-
Crear dominios en NGINX desde la consola add_vhost.sh
-
Listar dominios y espacio que ocupan sus archivos list_domain.sh
-
How to Fix NGINX error “Failed to read PID from file" fix read PID NGINX
-
Guia de instalación LEMP en Digital Ocean LEMP Ubuntu 18.04
-
Guia de instalación LEMP en Linode LEMP Ubuntu 18.04
-
Guia de instalación LEMP en TecMint LEMP Ubuntu 18.04