LAMP en Manjaro

LAMP en Manjaro

Está guía era la base de mi desarrollo LAMP en Manjaro antes de conocer docker, por lo tanto ya no la actualizo más.

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

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 https://rolandoramostorres.com

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 https://rolandoramostorres.com/~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_**:

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

En donde se debe incluir la siguiente instrucción:

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

Contraseña usuario root de mariadb

Para poder acceder a phpmyadmin, se debe poner una contraseña al usuario root de mariadb ingresando la siguiente instrucción y luego entrando la clave sudo de nuestra cuenta

sudo mysql -u root -p

Debemos haber podido ingresar al prompt de mariadb, en donde ejecutamos la siguiente instrucción:

ALTER USER 'root'@'localhost' IDENTIFIED BY 'contraseña';

En caso de querer crear un usuario con acceso completo para no usar root, el codigo SQL sería

CREATE USER 'usuario'@'localhost' IDENTIFIED BY 'contraseña';
GRANT ALL PRIVILEGES ON * . * TO 'usuario'@'localhost';

Para salir recargamos los privilegios y salimos del prompt mariadb

FLUSH PRIVILEGES;
quit;

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 modificación al fichero /etc/php/php.ini:

sudo nano /etc/php/php.ini

En donde se quita el comentario o se crean las siguientes lineas en el archivo:

[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 https://rolandoramostorres.com/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 https://rolandoramostorres.com/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

Acá ingresar el blowfish.

$cfg['blowfish_secret'] = ''; /* YOU MUST FILL IN THIS FOR COOKIE AUTH! */

Esto sería todo.

Fuentes


Gracias

¡Gracias a todos! Sus aportes lo hacen posible. Si desea ayudar y apoyarnos a crear mejor contenido, puede hacer su donativo a través de paypal:

Algunos derechos reservados

Compartir en Redes sociales

A continuación

Cambiar el nombre de usuario en Debian/Ubuntu Linux

LAMP en Ubuntu LTS

Reproducir Archivos MIDI en Linux

Relacionado


¿Músico?

Si desea conocer sobre mi actividad musical lo invito a que visite la página principal. Allí encontrará todo sobre mi música.