Hoy, discutiremos cómo configurar LAMP con Debian. LAMP significa Linux, Apache, MariaDB y Linux. Comprenderemos todos los procedimientos de instalación paso a paso.
¿Qué son los requisitos previos?
Como requisito previo, requerimos una instalación nueva de Debian 11. Un mínimo de 4 GB de RAM y 40 GB de almacenamiento serán buenos. Usaré una máquina virtual para fines de demostración. En esta demostración, usaré una máquina virtual con la dirección IP 192.168.135.128. La dirección IP puede variar según su entorno local. Reemplace su configuración si la configuración de la dirección IP corresponde.
Paso 1:preparar el entorno para el servidor LAMP
Al ingresar al entorno de prueba, me enfrenté al desafío de ejecutar una línea de comando apt. El servidor sigue solicitando el DVD del sistema operativo. Resolvamos el problema.
Fuentes abiertas.lista
# vim /etc/apt/sources.list
Ponga un comentario en la línea que contiene Cdrom como fuente apta, guarde y salga.
Habilite ssh para root.
Abra /etc/ssh/sshd_config y modificar la configuración de permisos de root. Busque PermitRootLogin y modifique "sí". Guardar y Salir. Ahora podrá acceder a la raíz de forma remota para Debian.
# vim /etc/ssh/sshd_config
Paso 2. Instalar el servidor Apache.
Comencemos con el elemento principal del servidor LAMP.
Instala apache.
# apt install apache2 apache2-utils
Verifique el estado de ejecución del servicio apache2.
# systemctl status apache2
Para verificar el estado completo del servidor apache, puede ejecutar el siguiente comando.
# apache2ctl fullstatus
Eche un vistazo, si el servidor apache2 se está ejecutando o no. Si funciona, debería verse como a continuación.
Paso 3 Instale el servidor MariaDB.
MariaDB se puede instalar usando el siguiente comando.
# apt install mariadb-server mariadb-client
Verifique el estado del servidor de la base de datos.
# systemctl status mariadb
Asigne una contraseña raíz para el servidor de base de datos.
# mysql_secure_installation
Aquí, hemos instalado el segundo componente del servidor LAMP.
cambiar la contraseña raíz de Mysql
alter user 'root'@'localhost' identified by 'MyRootUserPassword';
alter user 'mysql'@'localhost' identified by 'MyMysqlUserPassword';
flush privileges;
quit;
Iniciar sesión en mysql
root@10debian-unixcop:~# mysql -u root -p
Enter password:
Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MariaDB connection id is 64
Server version: 10.5.11-MariaDB-1 Debian 11
Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
MariaDB [(none)]>
Paso 4. Instala PHP.
Instalemos el último paquete requerido para completar la pila LAMP.
Instale el paquete requerido para PHP.
# apt install -y php php-mysql libapache2-mod-php php-xml
Es posible que no esté allí de forma predeterminada, habilite el módulo de apache.
# a2enmod php7.4 Output
Considering dependency mpm_prefork for php7.4:
Considering conflict mpm_event for mpm_prefork:
Considering conflict mpm_worker for mpm_prefork:
Module mpm_prefork already enabled
Considering conflict php5 for php7.4:
Module php7.4 already enabled
Para probar su pila LAMP, cree un script PHP de la siguiente manera.
vi /var/www/html/info.php
add the code
<?php phpinfo(); ?>
Abra el navegador web, observe si el servicio está instalado correctamente o no.
Aquí podemos ver que hemos instalado todos los componentes LAMP necesarios. Puede configurar sus valores u otros parámetros según sus necesidades. En nuestra demostración, no hemos establecido ninguna configuración de firewall. Sin embargo, se recomienda mantener intacta la configuración de seguridad. Asegúrese de mantener abierto solo el puerto requerido y puede deshabilitar servicios o puertos que no sean necesarios.
Paso 5. Optimización de recursos de la pila LAMP
Como hemos instalado todas las aplicaciones requeridas, asegurémonos de que todas estén funcionando en el arranque del sistema.
Habilite el servicio apache2 para seguir ejecutándose en el arranque.
# systemctl enable apache2
Sintonice MariaDB para continuar después de reiniciar.
# systemctl enable mariadb
Paso 6. Instalar PHPMyAdmin
Descargar paquete
wget https://files.phpmyadmin.net/phpMyAdmin/5.1.1/phpMyAdmin-5.1.1-all-languages.zip
Descomprimir paquete
# unzip phpMyAdmin-5.1.1-all-languages.zip
Mueva el paquete phpMyAdmin a /usr/unidad local
# mv phpMyAdmin-5.1.1-all-languages /usr/share/phpmyadmin
mkdir /usr/share/phpmyamin/tmp
chmod 777 /usr/share/phpmyadmin/tmm
Agregue la unidad phpMyAdmin al grupo web
# chown -R www-data:www-data /var/share/phpmyadmin
Ahora, copie el archivo de configuración config.sample.nic.php a config.nic.php
# cp /usr/share/phpmyadmin/config.sample.inc.php /usr/share/phpmyadmin/config.inc.php
Aquí, estamos obligados a generar una contraseña. Instalemos la utilidad.
# apt-get install pwgen
Generar contraseña y generar una clave secreta
# pwgen -s 32 1
agregar clave secreta a config.inc.php
guardar y salir
Importe create_tables.sql para crear tablas para phpMyAdmin.
mysql < /usr/share/phpmyadmin/sql/create_tables.sql -u root -p
Inicie sesión en MariaDB.
mysql -u root -p
Agregue el usuario y otorgue permiso a la base de datos de phpMyAdmin.
CREATE USER 'pma'@'localhost' IDENTIFIED BY 'pmapass';
GRANT ALL PRIVILEGES ON phpmyadmin.* TO 'pma'@'localhost' WITH GRANT OPTION;
FLUSH PRIVILEGES;
EXIT;
Ahora, cree un alias de apache para phpmyadmin
# vim /etc/apache2/sites-available/phpmyadmin.conf
Alias /phpMyAdmin /usr/share/phpmyadmin
Alias /phpmyadmin /usr/share/phpmyadmin
<Directory /usr/share/phpmyadmin/>
AddDefaultCharset UTF-8
<IfModule mod_authz_core.c>
# Apache 2.4
<RequireAny>
Require all granted
</RequireAny>
</IfModule>
<IfModule !mod_authz_core.c>
# Apache 2.2
Order Deny,Allow
Deny from All
Allow from 127.0.0.1
Allow from ::1
</IfModule>
</Directory>
<Directory /usr/share/phpmyadmin/setup/>
<IfModule mod_authz_core.c>
# Apache 2.4
<RequireAny>
Require all granted
</RequireAny>
</IfModule>
<IfModule !mod_authz_core.c>
# Apache 2.2
Order Deny,Allow
Deny from All
Allow from 127.0.0.1
Allow from ::1
</IfModule>
</Directory>
Habilite el host virtual con el siguiente comando.
a2ensite phpmyadmin
Guardar y salir.
Crear credenciales de MySQL para phpMyAdmin
MariaDB [(none)]> CREATE USER admin; Query OK, 0 rows affected (0.004 sec) MariaDB [(none)]> GRANT ALL PRIVILEGES ON *.* TO 'admin'@'localhost' IDENTIFIED BY 'password' WITH GRANT OPTION; Query OK, 0 rows affected (0.002 sec) MariaDB [(none)]> FLUSH PRIVILEGES; Query OK, 0 rows affected (0.001 sec) MariaDB [(none)]> EXIT; Bye
Reiniciar servicio web
# systemctl restart apache2
Abra el panel PHPMyAdmin en su navegador local
Inicie sesión con las credenciales creadas en el paso anterior (administrador:contraseña) y puede configurar su entorno ahora.
Conclusión
Podemos concluir la configuración de la pila LAMP con Ubuntu con algunas cosas a considerar. A veces, ssh no está permitido para root. Hemos mostrado cómo habilitar eso para root. Verifique que puede instalar el paquete usando un espejo y no solo un DVD local. En ocasiones, es posible que necesite instalar el paquete lynx para el servicio apache2. Intentaré crear algunos artículos sobre el "fortalecimiento de los servicios web" en los que discutiremos los certificados SSL, la seguridad de los puertos y la autenticación de contraseñas. Manténganse al tanto.