Voy a separar la instalación en varias partes: instalar el servidor de páginas web con PHP, el mySQL, el phpMyAdmin y por último la habilitación de un directorio de usuario para desarrollo de nuestras páginas web. Aunque esta instalación la he realizado en Chakra Linux 2015.03 Euler, los pasos creo que también funcionarán para cualquier distribución basada en Arch Linux.
Instalación del servidor de páginas web
Para ello utilizamos el siguiente comando, que nos instala los paquetes principales y otros que nos vendrán bien:
sudo pacman -S apache php php-apache php-gd php-mcrypt php-pear xdebug
El xdebug solo lo uso para depurar las aplicaciones en NetBeans, luego si no se usa ese entorno de trabajo no es necesario instalarlo. Arrancamos el servicio con el comando:
sudo systemctl start httpd.service
Para comprobar que funciona el servidor de páginas web podemos acceder con el navegador a la página http://localhost y ver que nos aparece el famoso «It works!»
Para incluir el PHP, editamos el fichero de configuración de Apache (yo uso el editor vim, pero eso es cuestión de gusto y penitencia personal):
sudo vim /etc/httpd/conf/httpd.conf
Y justo después de la línea
LoadModule dir_module modules/mod_dir.so
Incluimos la línea
LoadModule php5_module modules/libphp5.so
Y después del último «Include» en ese mismo fichero, añadimos las líneas:
# PHP
Include conf/extra/php5_module.conf
Para comprobar que funciona el PHP creamos un fichero info.php en el directorio donde tendremos nuestras páginas web (en este caso es el directorio /srv/http)
sudo vim /srv/http/info.php
En ese fichero incluimos el contenido siguiente:
<?php phpinfo(); ?>
Y accedemos a la página http://localhost/info.php para comprobar que funciona. Se nos mostrará la página de información de PHP con los datos de nuestra instalación.
Instalación de mySQL
Por defecto en Chakra Linux nos viene ya instalado el MariaDB, un clon de mySQL. Podemos comprobarlo con el comando:
sudo pacman -Ss mysql
Si no nos aparece como instalado, lo instalamos con el mismo comando anterior pero sustituyendo el «-Ss» por «-S».
A continuación editamos el fichero php.ini
sudo vim /etc/php/php.ini
Y en él descomentamos (quitamos el «;» inicial) de las líneas
extension=mysql.so
extension=mysqli.so
extension=pdo_mysql.so
extension=gd.so
extension=mcrypt.so
Arrancamos el servicio con el comando
sudo systemctl start mysqld.service
Y para asegurar la instalación de nuestro mySQL lo hacemos con el comando
sudo mysql_secure_installation
Con el cual podemos incluir una clave para el usuario root y dar mayor seguridad a nuestra instalación aceptando la opción por defecto que se nos muestra.
Instalación de phpMyAdmin
Para instalar este programa normalmente se hace mediante el paquete de cada distribución, si existe, pero en este caso lo haremos utilizando la fuente original. Para ello accedemos a la página http://phpmyadmin.net y nos descargamos el fichero zip con la última versión pulsando en el botón que pone Download.
El fichero que nos hemos descargado lo extraemos en el directorio /srv/http con el comando:
sudo unzip /<sitio_donde_lo_hemos_descargado>/phpMyAdmin-4.4.9-all-languages.zip -d /srv/http
Y como no nos gusta el nombre del directorio creado, lo cambiamos por otro más corto con el comando
sudo mv /srv/http/phpMyAdmin-4.4.9-all-languages /srv/http/phpMyAdmin
Para comprobar que funciona accedemos a la página http://localhost/phpMyAdmin, en la que podremos entrar con el usuario root y la clave que le dimos anteriormente.
Habilitar un directorio de usuario
Para ello tenemos que modificar el archivo /etc/http/conf/httpd.conf descomentando la línea
LoadModule userdir_module modules/mod_userdir.so
Tenemos también que verificar que en dicho archivo aparece también la línea que incluye nuestro archivo de configuración, que es
Include conf/extra/httpd-userdir.conf
Entramos en el archivo /etc/http/conf/extra/httpd-userdir.conf y comprobamos que incluye las siguientes líneas
<Directory "/home/*/public_html">
AllowOverride FileInfo AuthConfig Limit Indexes
Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec
Require method GET POST OPTIONS
</Directory>
A continuación creamos el directorio donde vamos a alojar nuestras páginas web y le damos permiso de lectura a él y a nuestro directorio de usuario (si no, nos aparecerá el famoso error 403 de Apache)
mkdir ~/public_html
chmod a+x ~
chmod a+x ~/public_html
Copiamos el fichero info.php que creamos en /srv/http al directorio ~/public_html y accedemos a él en la dirección
http://localhost/~nuestro_usuario/info.php
Y ya está, ya tenemos nuestro entorno LAMP en Chakra Linux. Si queremos que cada vez que arranque el sistema tengamos el servidor web y el mySQL disponibles, lanzamos los comandos:
sudo systemctl enable httpd.service
sudo systemctl enable mysqld.service
Un último detalle: si vamos a usar el depurador de PHP de NetBeans, tenemos que entrar en el fichero /etc/php/conf.d/xdebug.ini y comprobar que tiene las líneas
zend_extension=/usr/lib/php/xdebug.so
xdebug.remote_enable=on
xdebug.remote_host=localhost
xdebug.remote_port=9000
xdebug.remote_handler=dbgp