Instalar LAMP en Arch Linux y derivados

Instalar LAMP en Arch Linux y derivados.

El paquete LAMP (Linux, Apache, MySQL/MariaDB, PHP) es el más común a la hora de montar un servidor web. En este articulo veremos cómo instalar LAMP en un servidor Arch Linux.

No debes preocuparte por las versiones que se instalaran, como Arch es una distribución Linux de lanzamiento constante, siempre instalara las ultimas versiones de PHP, Apache, y MariaDB.

Comenzamos…

 

Instalar LAMP en Arch Linux y derivados

Lo primero que debemos hacer es actualizar Arch Linux.

sudo pacman -Syu
Instalar Apache

Una vez tengamos nuestro servidor actualizado, instalamos Apache.

sudo pacman -Syu apache

Ahora editamos los recursos en el archivo de configuración de Apache, «httpd-default.conf». Te recomiendo que primero hagas una copia de seguridad con el siguiente comando.
cp /etc/httpd/conf/extra/httpd-mpm.conf ~/httpd-mpm.conf.backup

Abrimos el archivo con nuestro editor preferido, en nuestro caso utilizamos nano.
nano /etc/httpd/conf/extra/httpd-mpm.conf

Modifica los valores según tus necesidades. Si tienes un VPS, un buen ejemplo es…

<IfModule mpm_prefork_module>
                StartServers 4
                MinSpareServers 20
                MaxSpareServers 40
                MaxRequestWorkers 200
                MaxConnectionsPerChild 4500
</IfModule>

Guarda el archivo, y cierra el editor.

Te recomiendo que des-habilites KeepAlive, pero es tu decisión.

nano /etc/httpd/conf/extra/httpd-default.conf

ejemplo…

KeepAlive Off

Solo nos falta habilitar el inicio automático de Apache con el sistema.

sudo systemctl enable httpd.service

 
Configurar el Virtual Host

Abrimos el archivo de configuración.

nano /etc/httpd/conf/httpd.conf

Debemos definir la raíz predeterminada. Busca la linea…
DocumentRoot "/srv/http"

y la editas como…
DocumentRoot "/srv/http/default"

En el mismo archivo buscamos otra linea más.
#Include conf/extra/httpd-vhosts.conf

la descomentas.
Include conf/extra/httpd-vhosts.conf

Guarda el archivo y cierra el editor.

Configuramos un host virtual (con tus datos reales).

nano /etc/httpd/conf/extra/httpd-vhosts.conf

ejemplo de configuración…

<VirtualHost *:80>
          ServerAdmin webmaster@ejemplo.com
          ServerName ejemplo.com
          ServerAlias www.ejemplo.com
          DocumentRoot /srv/http/ejemplo.com/public_html/
          ErrorLog /srv/http/ejemplo.com/logs/error.log
          CustomLog /srv/http/ejemplo.com/logs/access.log combined
                           <Directory />
                                  Order deny,allow
                                  Allow from all
                           </Directory>
</VirtualHost>

Guarda el archivo y cierra el editor.

Creamos los directorios (carpetas) a los que hace referencia el Virtualhost (no te olvides de insertar tu dominio real).

sudo mkdir -p /srv/http/default

sudo mkdir -p /srv/http/ejemplo.com/public_html

sudo mkdir -p /srv/http/ejemplo.com/logs

Iniciamos el servicio Apache.
sudo systemctl start httpd.service

 
Instalar MariaDB en Arch Linux

Por defecto, Arch Linux instala el motor de base de datos MariaDB.

sudo pacman -Syu mariadb mariadb-clients libmariadbclient

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

Arrancamos MariaDB, y habilitamos su inicio con el sistema.
sudo systemctl start mysqld.service

sudo systemctl enable mysqld.service

No te olvides de asegurar la instalación de MariaDB.
mysql_secure_installation
  • Enter current password for root (enter for none): Pulsa enter
  • Set root password? [Y/n]: Y
  • New password: Enter password
  • Re-enter new password: Repeat password
  • Remove anonymous users? [Y/n]: Y
  • Disallow root login remotely? [Y/n]: Y
  • Remove test database and access to it? [Y/n]:  Y
  • Reload privilege tables now? [Y/n]:  Y

La instalación de MariaDB a concluido, ya podemos crear nuestra primera base de datos.

Accedemos a la consola MySQL. La password es la del usuario root.

mysql -u root -p

Creamos la base de datos «MiWeb».
CREATE DATABASE MiWeb;

El usuario y la password.
GRANT ALL ON webdata.* TO 'tu-usuario' IDENTIFIED BY 'tu-password';

Para salir de la consola escribe lo siguiente.
quit

 
Instalar PHP en Arch Linux

Para finalizar la instalación de LAMP en Arch, nos falta instalar PHP.

sudo pacman -Syu php php-apache

Una vez concluya la instalación de PHP, editamos el archivo php.ini.
nano /etc/php/php.ini

El php.ini debe ser personalizado, pues depende de tu sitio web. Un buen comienzo es configurar el archivo para que obtenga los mensajes de error y registros, ademas de mejorar el rendimiento del servidor.
nano /etc/php/php.ini

Vemos un ejemplo de lineas a modificar en un VPS.

error_reporting = E_COMPILE_ERROR|E_RECOVERABLE_ERROR|E_ERROR|E_CORE_ERROR
log_errors = On
error_log = /var/log/php/error.log
max_input_time = 30
extension=mysql.so

Creamos la carpeta donde se guardaran los registros, y concedemos permisos al usuario de Apache.

sudo mkdir /var/log/php

sudo chown http /var/log/php

Habilitamos el modulo PHP en Apache, insertando las siguientes lineas en su sección correspondiente.
nano /etc/httpd/conf/httpd.conf

# Dynamic Shared Object (DSO) Support
LoadModule php7_module modules/libphp7.so
AddHandler php7-script php

# Supplemental configuration
# PHP 7
Include conf/extra/php7_module.conf

# Located in the <IfModule mime_module>
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps

Sin salir del archivo, busca la linea que te indico a continuación y la comentas.
LoadModule mpm_event_module modules/mod_mpm_event.so

Justo después de la anterior, copia y pega la que te indico a continuación.
LoadModule mpm_prefork_module modules/mod_mpm_prefork.so

ejemplo…

#LoadModule mpm_event_module modules/mod_mpm_event.so
LoadModule mpm_prefork_module modules/mod_mpm_prefork.so

Guarda el archivo y cierra el editor.

Para finalizar reiniciamos Apache y el sistema.

sudo systemctl restart httpd.service

sudo systemctl reboot

 

Espero que este articulo te sea de utilidad, puedes ayudarnos a mantener el servidor con una donación (paypal), o también colaborar con el simple gesto de compartir nuestros artículos en tu sitio web, blog, foro o redes sociales.

 

4 Comentarios

  1. rigogonza
    30/03/2020
    • Sergio G.B.
      31/03/2020
  2. cali
    26/09/2020

Agregar comentario