Estos son los pasos para instalar LAMP en la Ubuntu LTS

NOTA: Se hará 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 http://localhost/~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

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *