Tutoriales GNU/Linux

Cómo instalar y configurar LAMP en ArchLinux

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

hola-mundo
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.

Finalmente guardamos el archivo, iniciamos Apache y abrimos la página localhost en nuestro navegador.
sudo systemctl start httpd
hola-mundo-navegador

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.

configurar-mariadb

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
remplazar
Seguido de eso desactivamos mpm event (agregando un #) y en su lugar usamos mpm_prefork (quitando el # que tiene al inicio)
remplazar-modulo
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
agregar-php-mod-rewrite
Ahora nos dirigimos hacia los includes (casi hasta el final del archivo) y agregamos PHP
Include conf/extra/php7_module.conf
include-php7

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

extensiones-php

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>

phpmyadmin-include

¡Todo listo! ahora a programar como si no hubiese un mañana.