sudo: Jack of all trades, master of some

LAMP stack con Arch Linux

Comentarios desactivados en LAMP stack con Arch Linux

Sin más preámbulos en esta entrada trataré de explicar de forma amena, concisa y rápida cómo implementar LAMP (Linux, Apache, MySQL/MariaDB, PHP) en Arch Linux.

Instalación de paquetes necesarios

pacman -S apache php php-apache mariadb

Para iniciar los servicios httpd y mysqld de forma automática es necesario crear las entradas correspondientes de systemd.

systemctl enable httpd.service mysqld.service
systemctl start httpd.service mysqld.service

PHP

La biblioteca libphp5.so incluida con php-apache no funciona correctamente con mod_mpm_event, por lo tanto es necesario utilizar mod_mpm_prefork.

Editar el archivo /etc/httpd/conf/httpd.conf y reemplazar:

LoadModule mpm_event_module modules/mod_mpm_event.so

por

LoadModule mpm_prefork_module modules/mod_mpm_prefork.so

Para habilitar PHP agregar la siguiente línea en el archivo /etc/httpd/conf/httpd.conf dentro de la lista LoadModule justo después de LoadModule dir_module modules/mod_dir.so.

LoadModule php5_module modules/libphp5.so

Al final de la lista de Includes agregar:

Include conf/extra/php5_module.conf

Si el directorio raiz que se utilizará para servir los archivos no es /srv/http entonces es necesario agregarlo en el archivo /etc/php/php.ini:

open_basedir=/srv/http/:/home/:/tmp/:/usr/share/pear/:/ruta/raiz

Reiniciar el servicio httpd

systemctl restart httpd

Para comprobar que PHP funciona correctamente se puede crear un archivo llamado prueba.php en el directorio raiz del servidor http con el siguiente contenido:

<?php phpinfo(); ?>

En un navegador cargar el documento accediendo a la dirección http://localhost/prueba.php si se configuró todo correctamente entonces debería mostrarse la información de PHP.

MariaDB

MariaDB es un fork de MySQL, utilizado por defecto por Arch Linux como alternativa de servidor SQL. Para crear la configuración inicial de MySQL ejecutar el siguiente script:

mysql_secure_installation

Y proporcionar la nueva contraseña del usuario root.

Reinciar mysqld

systemctl restart mysqld

Habilitar soporte de MySQL para PHP

Edita el archivo /etc/php/php.ini y quitar el comentario de la línea

extension=pdo_mysql.so

Y por último reiniciar el servicio httpd

systemctl restart httpd

Fuentes

LAMP en Arch Linux Wiki