Acá están los pasos para instalar el servidor LAMP en Manjaro.

Actualizar el sistema

Antes de realizar instalación de programas en Manjaro es muy importante realizar la actualización del sistema:

sudo pacman -Syu

Instalar Apache

El siguiente será instalar el servidor apache:

sudo pacman -S apache

Una vez instalado se debe realizar una modificación en el archivo de configuración de apache /etc/httpd/conf/httpd.conf que consiste en comentar la siguiente línea:

sudo nano /etc/httpd/conf/httpd.conf
# LoadModule unique_id_module modules/mod_unique_id.so

Se guarda y se procede a habilitar y reiniciar apache:

sudo systemctl enable httpd
sudo systemctl restart httpd

Si todo sale bien, ya podemos ver el servidor en el navegador a través de la dirección http://localhost

Agregar $USER al grupo http

Puede ser de utilidad agregar el usuario al grupo http que es bajo el cual funciona el servidor apache:

sudo usermod -aG http $USER

Una vez realizado se debe re-iniciar sesión del usuario para que se haga efectivo el cambio.

Activar directorios de usuario

El directorio de usuario permite se pueda acceder a través de la dirección http://localhost/~username y mostrar los contenidos del directorio ~/public_html lo cual se controla a través de una instrucción en el archivo /etc/httpd/conf/httpd.conf:

Include conf/extra/httpd-userdir.conf

Es importante asegurarse que el directorio tenga los permisos adecuados:

chmod o+x ~
chmod o+x ~/public_html
chmod -R o+r ~/public_html

Se debe reiniciar el servidor http para visualizar cualquier cambio realizado.

sudo systemctl restart httpd

Habilitar .htaccess en directorios de ususario

Para que en los directorios de usuario se puedan usar archivos .htaccess se debe realizar una modificación en el archivo /etc/httpd/conf/extra/httpd-userdir.conf :

sudo nano /etc/httpd/conf/extra/httpd-userdir.conf 

En donde se debe asegurar que se cambien las siguientes lineas:

<Directory "/home/*/public_html">
    AllowOverride FileInfo AuthConfig Limit Indexes
    Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec
    Require method GET POST OPTIONS
</Directory>

por:

<Directory "/home/*/public_html">
    #AllowOverride FileInfo AuthConfig Limit Indexes
    AllowOverride All
    Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec
    Require method GET POST OPTIONS
</Directory>

No olvidemos activar mod_rewrite

Uno de los usos de .htaccess es para sobrescribir direcciones URL y esto se controla a través de mod_rewrite que es aconsejable también habilitarlos en este momento:

sudo nano /etc/httpd/conf/httpd.conf

y quitamos el comentario a la siguiente línea:

LoadModule rewrite_module modules/mod_rewrite.so

Luego se debe reiniciar el servidor apache.

sudo systemctl restart httpd

Instalar MySQL

En las distro derivadas de ArchLinux, la implementación de MySQL es MariaDB, y se instala de la siguiente manera:

sudo pacman -S mysql

Una vez instalado, se inicializa el directorio de MariaDB usando el siguiente comando:

sudo mysql_install_db --user=mysql --basedir=/usr --datadir=/var/lib/mysql

Una vez instalado, se procede a habilitar e iniciar MariaDB con el siguiente comando:

sudo systemctl enable mysqld
sudo systemctl restart mysqld

Instalar PHP

Para instalar PHP:

sudo pacman -S php php-apache php-gd

Luego se realizan unos ajustes en la configuración de apache en el archivo /etc/httpd/conf/httpd.conf.

sudo nano /etc/httpd/conf/httpd.conf

Se comenta la siguiente línea

#LoadModule mpm_event_module modules/mod_mpm_event.so

y se quita el comentario a la siguiente:

LoadModule mpm_prefork_module modules/mod_mpm_prefork.so

Y luego se procede a agregar el siguiente código al final del archivo:

# loading php
LoadModule php_module modules/libphp.so
AddHandler php-script .php
Include conf/extra/php_module.conf

Realizamos la siguiente modificación, bien sea quitando el comentario a creando las siguientes lineas en el archivo /etc/php/php.ini:

sudo nano /etc/php/php.ini
[Display errors to debug your PHP code]
display_errors = On

[For php-gd extensions]
extension=gd

[Configure MySQL/MariaDB extensions]
extension=pdo_mysql
extension=mysqli

[bzip2 extensions]
extension=bz2

[iconv extensions]
extension=iconv

Una vez realizados los cambios, se procede a reiniciar Apache:

sudo systemctl restart httpd

Instalar PhpMyAdmin

PhpMyAdmin es para mi la aplicacioón más sencilla para administrar las bases de datos MySQL. Para instalar phpMyAdmin seguimos los siguientes pasos:

sudo pacman -S phpmyadmin

Por defecto, en la mayoría de distribuciones Linux, phpmyadmin se puede acceder en la dirección http://localhost/phpmyadmin pero en Manjaro, para poder hacerlo, se debe configurar manualmente el servidor apache para poder acceder a phpMyAdmin a través de esta dirección.

Se crea el archivo de configuración de apache para phpMyAdmin:

sudo nano /etc/httpd/conf/extra/phpmyadmin.conf

en donde se escriben las siguientes líneas:

Alias /phpmyadmin "/usr/share/webapps/phpMyAdmin"
<Directory "/usr/share/webapps/phpMyAdmin">
    DirectoryIndex index.php
    AllowOverride All
    Options FollowSymlinks
    Require all granted
</Directory>

Una vez realizado este paso, se debe indicar a Apache que cargue esta configuración modificando el archivo /etc/httpd/conf/httpd.conf:

sudo nano /etc/httpd/conf/httpd.conf

En donde se escriben las siguientes líneas al final del archivo:

# phpMyAdmin configuration
Include conf/extra/phpmyadmin.conf

y luego reiniciamos el servidor para que la nueva configuración tenga efecto:

sudo systemctl restart httpd

Si todo sale bien ya se puede acceder a phpMyAdmin a través del servidor usando la dirección http://localhost/phpmyadmin .

Crear directorio para los archivos temporales:

sudo mkdir /usr/share/webapps/phpMyAdmin/tmp
sudo chown http:http /usr/share/webapps/phpMyAdmin/tmp

Se agrega una contraseña blowfish en el archivo /etc/webapps/phpmyadmin/config.inc.php :

sudo nano /etc/webapps/phpmyadmin/config.inc.php
$cfg['blowfish_secret'] = ''; /* YOU MUST FILL IN THIS FOR COOKIE AUTH! */

Esto sería todo.

Fuentes:
https://www.linuxandubuntu.com/home/install-lamp-on-manjaro
https://wiki.archlinux.org/title/Apache_HTTP_Server
https://www.2daygeek.com/install-lamp-stack-apache-mariadb-php-phpmyadmin-on-arch-linux-manjaro/

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *