- Abrimos la terminal y ejecutamos la siguiente linea para actualizar la base de datos de los paquetes
sudo pacman -Syu
- Instalamos el apache y ejecutamos lo siguiente
sudo pacman -S apache
- Reiniciamos el servicio httpd
sudo systemctl restart httpd
- Instalamos el gestor de base de datos
sudo pacman -S mariadb ó sudo pacman -S mysql
- Ponemos a ejecutar el demonio de mysql
sudo mysql_install_db --user=mysql --basedir=/usr --datadir=/var/lib/mysql
- Habilitamos el mysqld
sudo systemctl enable mysqld
- Inicializamos el mysqld
sudo systemctl start mysqld.service
- verificamos el status del mysqld
sudo systemctl status mysqld
- Ejecutamos la instalación de MariaDb
sudo mysql_secure_installation
- Instalamos el PHP
sudo pacman -S php php-apache
- Configuramos Apache para que funcione en conjunto con PHP.
sudo nano /etc/httpd/conf/httpd.conf
- Comentamos o remplazamos la linea
con la siguiente:LoadModule mpm_event_module modules/mod_mpm_event.so
LoadModule mpm_prefork_module modules/mod_mpm_prefork.so
- Posteriormente, al final del mismo archivo, agregamos el siguiente bloque si usas php5 ó si tienes php7:
# Use for PHP 5.x: LoadModule php5_module modules/libphp5.so AddHandler php5-script php Include conf/extra/php5_module.conf # Use for PHP 7.x: LoadModule php7_module modules/libphp7.so AddHandler php7-script php Include conf/extra/php7_module.conf // para cargar los index.php si se encuentran en el directorio <IfModule dir_module> <IfModule php7_module> DirectoryIndex index.php index.html <FilesMatch "\.php$"> SetHandler application/x-httpd-php </FilesMatch> <FilesMatch "\.phps$"> SetHandler application/x-httpd-php-source </FilesMatch> </IfModule> </IfModule>
- Creamos un archivo info.php para que nos muestre la configuración del php, agregamos las siguientes lineas
<?php
phpinfo();
?>
- Guardamos el archivo y reiniciamos el httpd
sudo systemctl restart httpd
- Instalados phpmyadmin
sudo pacman -S phpmyadmin
- Abrimos el archivo.
sudo nano /etc/httpd/conf/httpd.conf
- Posteriormente copiamos en siguente bloque al final del archivo.
# Configuracion de phpMyAdmin
Include conf/extra/httpd-phpmyadmin.conf
- Abrimos el siguente archivo.
sudo nano /usr/share/webapps/phpMyAdmin/.htaccess
- Copiamos el siguiente bloque.
#deny from all
- Abrimos el siguiente archivo.
sudo nano /etc/httpd/conf/extra/httpd-phpmyadmin.conf
- Y agregamos el siguente bloque de codigo.
Alias /phpmyadmin "/usr/share/webapps/phpMyAdmin"
<Directory "/usr/share/webapps/phpMyAdmin">
Options Indexes FollowSymLinks
AllowOverride None
Require all granted
</Directory>
- Abrimos el siguente archivo
sudo nano /etc/php/php.ini
- Y quitamos la ; al modulo siguente para activarlo.
;extension=mysqli
deberia quedar asi
extension=mysqli
- Guardamos el archivo y reiniciamos el httpd
sudo systemctl restart httpd
- Abrimos el siguente archivo
sudo nano /etc/httpd/conf/httpd.conf
- Descomentamos la siguente linea para activarlo
#LoadModule rewrite_module modules/mod_rewrite.so
deberia quedar asi
LoadModule rewrite_module modules/mod_rewrite.so
- Modificamos una linea "AllowOverride None" por "AllowOverride All" del siguente bloque en /etc/httpd/conf/httpd.conf
<Directory "/srv/http">
#
# Possible values for the Options directive are "None", "All",
# or any combination of:
# Indexes Includes FollowSymLinks SymLinksifOwnerMatch ExecCGI MultiViews
#
# Note that "MultiViews" must be named *explicitly* --- "Options All"
# doesn't give it to you.
#
# The Options directive is both complicated and important. Please see
# http://httpd.apache.org/docs/2.4/mod/core.html#options
# for more information.
#
Options Indexes FollowSymLinks
#
# AllowOverride controls what directives may be placed in .htaccess files.
# It can be "All", "None", or any combination of the keywords:
# AllowOverride FileInfo AuthConfig Limit
#
AllowOverride None
#
# Controls who can get stuff from this server.
#
Require all granted
</Directory>
deberia quedar asi
<Directory "/srv/http">
#
# Possible values for the Options directive are "None", "All",
# or any combination of:
# Indexes Includes FollowSymLinks SymLinksifOwnerMatch ExecCGI MultiViews
#
# Note that "MultiViews" must be named *explicitly* --- "Options All"
# doesn't give it to you.
#
# The Options directive is both complicated and important. Please see
# http://httpd.apache.org/docs/2.4/mod/core.html#options
# for more information.
#
Options Indexes FollowSymLinks
#
# AllowOverride controls what directives may be placed in .htaccess files.
# It can be "All", "None", or any combination of the keywords:
# AllowOverride FileInfo AuthConfig Limit
#
AllowOverride All
#
# Controls who can get stuff from this server.
#
Require all granted
</Directory>