- Actualizar manjaro
sudo pacman -Syu
- Instalar Apache
sudo pacman -S apache
- Iniciar apache (httpd)
sudo systemctl start httpd
- Ir a el archivo httpd.conf
sudo nano /etc/httpd/conf/httpd.conf
- Buscar y comentar la siguiente línea. Guardar y cerrar
[...]
# LoadModule unique_id_module modules/mod_unique_id.so
[...]
- Reiniciar apache
sudo systemctl restart httpd
- (Opcional) Si quieres que apache se inicie al encender tu máquina usa el siguiente comando
sudo systemctl enable httpd
- Verifica si Apache se está ejecutando
$ sudo systemctl status httpd
httpd.service - Apache Web Server
Loaded: loaded (/usr/lib/systemd/system/httpd.service; disabled; vendor preset: disabled)
Active: active (running) since Wed 2021-09-15 15:33:40 -05; 1h 46min ago
Main PID: 78033 (httpd)
Tasks: 7 (limit: 19045)
CGroup: /system.slice/httpd.service
├─78033 /usr/bin/httpd -k start -DFOREGROUND
├─78035 /usr/bin/httpd -k start -DFOREGROUND
├─78036 /usr/bin/httpd -k start -DFOREGROUND
├─78037 /usr/bin/httpd -k start -DFOREGROUND
├─78038 /usr/bin/httpd -k start -DFOREGROUND
├─78039 /usr/bin/httpd -k start -DFOREGROUND
└─78043 /usr/bin/httpd -k start -DFOREGROUND
set 15 15:33:40 server systemd[1]: Started Apache Web Server.
set 15 15:33:40 server httpd[78033]: AH00558: httpd: Could not reliably determine the server's fully qua...
- O tambien puedes usar:
$ sudo systemctl is-active httpd.service
active
- Instalar mariadb
sudo pacman -S mariadb
- Iniciar el directorio de datos de MariaDB, para poder iniciar el servicio
sudo mysql_install_db --user=mysql --basedir=/usr --datadir=/var/lib/mysql
- Activa y ejecuta el servicio de MariaDB
sudo systemctl enable mariadb
sudo systemctl start mariadb
- Inicia la instalación
sudo mysql_secure_installation
- Instalar php y php-apache
sudo pacman -S php php-apache
- Ir a el archivo httpd.conf
sudo nano /etc/httpd/conf/httpd.conf
- Luego buscar esta línea y comentarla
[...]
#LoadModule mpm_event_module modules/mod_mpm_event.so
[...]
- Y descomentar o agregar esta otra línea
[...]
LoadModule mpm_prefork_module modules/mod_mpm_prefork.so
[...]
- Luego al final del archivo agregar estas líneas:
- PHP 8:
LoadModule php_module modules/libphp.so
AddHandler php-script php
Include conf/extra/php_module.conf
- PHP 7:
LoadModule php7_module modules/libphp7.so
AddHandler php7-script php
Include conf/extra/php7_module.conf
Guardar y cerrar el archivo
- Testear PHP
- Crear un archivo test.php en el directorio
/srv/http
sudo nano /srv/http/test.php
- Copiar esto
<?php
phpinfo();
- Reinicia Apache
sudo systemctl restart httpd
- Abre tu navegador y ve a: http://localhost/test.php
- Instalar phpMyAdmin
sudo pacman -S phpmyadmin
- Editar el archivo php.ini
sudo nano /etc/php/php.ini
- Revisar si estas lineas están comentadas y si es así descomentarlas
[...]
extension=bz2
[...]
extension=mysqli
[...]
- Guarda y cierra el archivo
- Crear un archivo de config. para phpmyadmin
sudo nano /etc/httpd/conf/extra/phpmyadmin.conf
- Agrega 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>
- Guarda y cierra el archivo
- Ve hacia el archivo de configuración de Apache
sudo nano /etc/httpd/conf/httpd.conf
- Agrega la siguiente línea al final del archivo
Include conf/extra/phpmyadmin.conf
- Guarda y cierra el archivo
- Reinicia Apache
sudo systemctl restart httpd
- Para suprimir el mensaje de error de blowfish_secret en la parte inferior ve al archivo de config. de phpmyadmin
sudo nano /etc/webapps/phpmyadmin/config.inc.php
- Encuentra esta línea y rellena el campo vacío
$cfg['blowfish_secret'] = '`12345####***unt3xtomUyL@R$GO....`';
- Guardar y cerrar
- Para suprimir el mensaje de error de TempDir ve hacia el archivo de configuración de phpmyadmin
sudo nano /etc/webapps/phpmyadmin/config.inc.php
- Agregar esta línea al final del archivo
$cfg['TempDir'] = '/tmp/phpmyadmin';
- Guardar y cerrar
Listo, ya tienes configurado LAMP en Manjaro
Para cambiar la carpeta /srv/http
por defecto por una que este en /home/<usuario>/www
por ejemplo, debes hacer lo siguiente:
- Crear la carpeta
mkdir ~/www
- Cambiar el grupo de la carpeta al de http
sudo chown <usuario>:http ~/www
- Agregar al usuario http al grupo de tu usuario
sudo usermod -a -G <usuario> http
- Modificar los permisos de tu carpeta
/home/<usuario>
sudo chmod 750 /home/<usuario>
- Ir al archivo de configuración de Apache
sudo nano /etc/httpd/conf/httpd.conf
- Buscar y descomentar la siguiente línea:
[...]
# Virtual hosts
Include conf/extra/httpd-vhosts.conf
[...]
- Buscar y descomentar esta otra línea
[...]
LoadModule rewrite_module modules/mod_rewrite.so
[...]
- Guardar y cerrar el archivo
- Ir hacia el archivo de http-vhost.conf
sudo nano /etc/httpd/conf/extra/httpd-vhosts.conf
- Comentar o remplazar el contenido del archivo con las siguientes líneas:
<VirtualHost *:80>
ServerAdmin example@email.com
DocumentRoot "/home/<usuario>/www"
ServerName localhost
ErrorLog "/var/log/httpd/server-error.log"
CustomLog "/var/log/httpd/server-access.log" common
<Directory /home/<usuario>/www/>
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>
RewriteEngine on
</VirtualHost>
- Guarda y cierra el archivo
- Comprobar que todo este correcto
apachectl configtest
- Reiniciar Apache
sudo systemctl restart httpd
https://forum.manjaro.org/t/howto-install-apache-mariadb-mysql-php-lamp/13000
https://gist.github.com/51LV3R258/fd6dd7e61c4b975d8f403e5fb64f652d
https://forum.manjaro.org/t/documentroot-403-forbidden/30023
https://wiki.archlinux.org/title/phpMyAdmin
https://linuxize.com/post/how-to-add-user-to-group-in-linux/
https://forum.manjaro.org/t/apache-virtual-host/46115
https://www.digitalocean.com/community/tutorials/how-to-set-up-apache-virtual-hosts-on-arch-linux
https://www.tecmint.com/forbidden-you-dont-have-permission-to-access-on-this-server-error/