Tener nuestros proyectos localmente es una enorme ventaja puesto que podemos editar una página web en local sin arruinar la que ya se encuentra en un hosting o VPS, además de ahorrarnos la tarea de crear backups. Es por ello que cuando de desarrollo web se trata, configurar LAMP puede resultar una tarea elemental y básica, pues el que programa a ciegas programa doble.
LAMP es el acrónimo usado para describir un sistema de infraestructura de internet que usa las siguientes herramientas:
Linux, el sistema operativo; En algunos casos también se refiere a LDAP.
Apache, el servidor web;
MySQL/MariaDB, el gestor de bases de datos;
Perl, PHP, o Python, los lenguajes de programación.
En este caso, con LAMP nos referimos a Linux, Apache, Mariadb y PHP. He de suponer que cualquier usuario de Arch lo sabe, sin embargo nunca está de más dejar en claro todo antes de proceder…..y bueno ¡Manos a la obra!
1. Instalando y configurando Apache
//Instalamos los paquetes apache y openssh
sudo pacman -S openssh apache
//nos vamos al directorio http
cd /srv/http/
//creamos un archivo en blanco
sudo nano index.html
[mensaje]En mi caso, no coloqué todo el cuerpo básico de una página como head, body y las etiquetas correspondientes dado que la página sólo se usará para probar que apache está funcionando, todo lo demás sobra.[/mensaje]
Finalmente guardamos el archivo, iniciamos Apache y abrimos la página localhost en nuestro navegador.
sudo systemctl start httpd
2. Instalando y configurando Mariadb
//Instalamos el paquete mariadb
sudo pacman -S mariadb
//Configuramos las bases de datos
sudo mysql_install_db --user=mysql --basedir=/usr --datadir=/var/lib/mysql
//Iniciamos el servicio
sudo systemctl start mysqld
Ahora sólo queda agregar una contraseña al usuario root, para ello colocamos
sudo mysql_secure_installation
Preguntará por la contraseña actual, simplemente damos enter dado que no tenemos una, seguido de eso aceptamos colocar una contraseña y la escribimos.
3. Instalando y configurando PHP
//Instalamos php (php-gd es opcional)
sudo pacman -S php php-apache php-gd
//Editamos la configuración de apache
sudo nano /etc/httpd/conf/httpd.conf
Una vez dentro de la configuración de apache presionamos control+w para buscar y remplazamos todas las AllowOverride none por AllowOverride All
Seguido de eso desactivamos mpm event (agregando un #) y en su lugar usamos mpm_prefork (quitando el # que tiene al inicio)
Una vez realizado, procedemos a agregar PHP a la configuración añadiendo su modulo debajo de mod_dir.so y al mismo tiempo activamos mod_rewrite el cual se encuentra unas cuantas lineas abajo.
LoadModule php7_module modules/libphp7.so
Ahora nos dirigimos hacia los includes (casi hasta el final del archivo) y agregamos PHP
Include conf/extra/php7_module.conf
Hasta ahí terminamos con el archivo de configuración de apache, ahora empezaremos con el de php
sudo nano /etc/php/php.ini
Simplemente activaremos las extensiones requeridas, las básicas; para ello sólo debemos quitar el «;» al inicio.
– extension=mysqli.so
– extension=pdo_dblib.so
– extension=pdo_mysql.so
– extension=gd.so
Extra: instalando y configurando phpMyAdmin
Como extra, dejaré cómo instalar phpMyAdmin…ya muchos lo conocerán, se trata de una útil herramienta para administrar las bases de datos.
//Instalamos el paquete
sudo pacman -S phpmyadmin
//Editamos la configuración de apache nuevamente
sudo nano /etc/httpd/conf/httpd.conf
Y agregamosphpMyAdmin debajo del include de PHP
Alias /phpmyadmin "/usr/share/webapps/phpMyAdmin"
<Directory "/usr/share/webapps/phpMyAdmin">
DirectoryIndex index.php
AllowOverride All
Options FollowSymlinks
Require all granted
</Directory>
¡Todo listo! ahora a programar como si no hubiese un mañana.