
LAMP en Ubuntu LTS
Está guía era la base de mi desarrollo LAMP antes de conocer docker, por lo tanto ya no la actualizo más. Haré todo lo posible en mantener actualizado este post con la última LTS de Ubuntu.
Instalar el Software
Tasksel y lamp-server
Ubuntu tiene un paquete llamado tasksel que se usa en los servidores ára instalar diferentes grupos de paquetes, entre los cuales está el lamp-server.
sudo apt install -y tasksel
sudo tasksel install lamp-server
phpMyAdmin
Luego instalaremos el phpmyadmin para administrar la base de datos. Yo realizo la instalación sin ingresar contraseña y lo modifico en el siguiente paso.
sudo apt install -y phpmyadmin
Revisar la contraseña generada por phpmyadmin en /etc/phpmyadmin/config-db.php
, se apunta la contraseña que aparece en la variable $dbpass
, la cual será usada más adelante. Se procede a ingresar en mysql con nuestro usuario sudo
sudo mysql -u root -p
Ya en mysql ingresaremos las siguiente instrucción, recordando cambiar la contraseña por la que apuntamos anteriormente.
ALTER USER 'phpmyadmin'@'localhost' IDENTIFIED WITH mysql_native_password BY 'contraseña';
Luego se asigna una contraseña para el root
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'contraseña_root';
Se creaa un usuario alterno a root:
CREATE USER 'usuario'@'localhost' IDENTIFIED BY 'contraseña_usuario';
GRANT ALL PRIVILEGES ON * . * TO 'usuario'@'localhost';
para terminar, se realiza una recarga de privilegios
FLUSH PRIVILEGES;
quit;
Configuración
Habilitar mod_rewrite
Esto nos va a permitir usar los archivos .htaccess
sudo a2enmod rewrite
Habilitar directorios de usuario
Esto nos permite que la carpeta **/home/username/public_html** del directorio de usuario, pueda tener acceso web desde la dirección https://rolandoramostorres.com/~username
sudo a2enmod userdir
Habilitar .htaccess en directorios de usuario
Para que en los directorios de usuario se puedan usar archivos .htaccess se debe realizar una modificación en el archivo /etc/apache2/mods-enabled/userdir.conf :
sudo nano /etc/apache2/mods-enabled/userdir.conf
En donde se debe asegurar que se cambien las siguientes lineas:
<Directory /home/*/public_html>
AllowOverride FileInfo AuthConfig Limit Indexes
Options MultiViews Indexes SymLinksIfOwnerMatch Include>
Require method GET POST OPTIONS
</Directory>
por:
<Directory /home/*/public_html>
#AllowOverride FileInfo AuthConfig Limit Indexes
AllowOverride All
Options MultiViews Indexes SymLinksIfOwnerMatch Include>
Require method GET POST OPTIONS
</Directory>
Habilitar ejecución de php en directorios de usuario
Esto se realiza modificando unas lineas de la configuración de php ubicada en /etc/apache2/mods-enabled/php7.4.conf
<IfModule mod_userdir.c>
<Directory /home/*/public_html>
php_admin_flag engine Off
</Directory>
</IfModule>
Cambiar por las siguientes:
<IfModule mod_userdir.c>
<Directory /home/*/public_html>
php_admin_flag engine On
</Directory>
</IfModule>
Reiniciar el servidor
Para terminar se reinicia el servidor apache para que todos los cambios tengan efecto.
sudo systemctl restart apache2