LAMP stack con Arch Linux
Comentarios desactivados en LAMP stack con Arch LinuxSin 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