
ArquitecturaLinux Al proporcionar un entorno de sistema flexible y de vanguardia, es una solución poderosa para desarrollar aplicaciones web en sistemas pequeños no críticos porque es completamente de código abierto y proporciona la última versión del software web central, así como de servidor y base de datos.
El objetivo principal de este tutorial es guiarle a través de instrucciones completas paso a paso que, en última instancia, le conducirán a la instalación de una de las combinaciones de software más utilizadas en el desarrollo web: lámpara (linux, apache, mysql/base de datos maríay PHP/phpMyAdmin) existir ArquitecturaLinux.
Requerir
Paso 1: Instale la pila LAMP en Arch Linux
1. Después de realizar una instalación mínima del sistema usando una dirección IP estática y usando acceso remoto al sistema SSHactualiza tu ArquitecturaLinux Uso de la caja pacman Utilidades.
sudo pacman -Syu
2. Una vez completado el proceso de actualización, instale lámpara Comience con el software e instálelo primero. servidor web apache, e iniciar/verificar cada demonio de proceso del servidor.
sudo pacman -S apache sudo systemctl start httpd sudo systemctl enable httpd sudo systemctl status httpd
3. Instalar PHP Lenguaje de scripting dinámico del lado del servidor y su módulo Apache.
sudo pacman -S php php-apache
4. El último paso para instalar mysql Base de datos, seleccione 1 (base de datos maría) la rama del repositorio comunitario luego se inicia y verifica el estado del demonio.
sudo pacman -S mysql sudo systemctl start mysqld sudo systemctl enable mysqld sudo systemctl status mysqld


Ahora tienes lo básico. software ligero Hasta ahora instalado y iniciado con la configuración predeterminada.
Paso 2: Proteger MySQL en Arch Linux
5. El siguiente paso es asegurarse mysql Al establecer una contraseña para la cuenta raíz, eliminar cuentas de usuarios anónimos, eliminar bases de datos de prueba y deshabilitar los inicios de sesión remotos raíz (haga clic en [Enter] La clave de la contraseña actual de la cuenta raíz y la respuesta. Yes
todas las cuestiones de seguridad).
sudo mysql_secure_installation


6. Verificar mysql Conéctese a la base de datos ejecutando el siguiente comando y luego salga del shell de la base de datos usando el siguiente comando quit
o exit
declaración.
mysql -u root -p

Paso 3: Modifique el archivo de configuración principal de Apache
7. Las siguientes configuraciones son las más relevantes servidor web apache Proporcionar una interfaz dinámica anfitrión virtual Usando lenguaje de programación PHP, alojamiento virtual SSL o no SSL, esto se puede lograr modificando la configuración del archivo del servicio httpd.
Primero, abra la configuración del archivo principal de Apache usando su editor de texto favorito.
sudo nano /etc/httpd/conf/httpd.conf
Agregue las siguientes dos líneas al final del archivo.
IncludeOptional conf/sites-enabled/*.conf IncludeOptional conf/mods-enabled/*.conf

role Include
La declaración aquí es para decir apache De ahora en adelante debería leer más configuraciones de todos los archivos que residen en él. /etc/httpd/conf/sites-enabled/ (para anfitrión virtual) y /etc/httpd/conf/mods-enabled/ ( para Habilitar servidor módulo) con .conf
expandir.
8. atrás apache Siguiendo estas dos instrucciones, cree los directorios del sistema necesarios y emita los siguientes comandos.
sudo mkdir /etc/httpd/conf/sites-available sudo mkdir /etc/httpd/conf/sites-enabled sudo mkdir /etc/httpd/conf/mods-enabled
este sites-available
La ruta contiene todos los archivos de configuración del host virtual que no se inician en Apache, pero el próximo script Bash utilizará este directorio para vincular y habilitar el sitio web ubicado aquí.
Paso 4: cree directivas Apache a2eniste y a2diste
9. Ahora es el momento de crear a2ensite y a2dissite El script Apache se utilizará como comando para habilitar o deshabilitar el perfil de host virtual.
Ingrese el comando cd para regresar a su $HOME
ruta de usuario y crear bash A2 Ernesto y a2dissite Escribe el guión usando tu editor favorito.
sudo nano a2ensite
Agregue el siguiente contenido al archivo.
#!/bin/bash if test -d /etc/httpd/conf/sites-available && test -d /etc/httpd/conf/sites-enabled ; then echo "-------------------------------" else mkdir /etc/httpd/conf/sites-available mkdir /etc/httpd/conf/sites-enabled fi avail=/etc/httpd/conf/sites-available/\.conf enabled=/etc/httpd/conf/sites-enabled site=`ls /etc/httpd/conf/sites-available/` if [ "$#" != "1" ]; then echo "Use script: n2ensite virtual_site" echo -e "\nAvailable virtual hosts:\n$site" exit 0 else if test -e $avail; then sudo ln -s $avail $enabled else echo -e "$avail virtual host does not exist! Please create one!\n$site" exit 0 fi if test -e $enabled/\.conf; then echo "Success!! Now restart Apache server: sudo systemctl restart httpd" else echo -e "Virtual host $avail does not exist!\nPlease see avail virtual hosts:\n$site" exit 0 fi fi

Crear ahora a2dissite archivo de script bash.
sudo nano a2dissite
Agregue el siguiente contenido.
#!/bin/bash avail=/etc/httpd/conf/sites-enabled/\.conf enabled=/etc/httpd/conf/sites-enabled site=`ls /etc/httpd/conf/sites-enabled` if [ "$#" != "1" ]; then echo "Use script: n2dissite virtual_site" echo -e "\nAvailable virtual hosts: \n$site" exit 0 else if test -e $avail; then sudo rm $avail else echo -e "$avail virtual host does not exist! Exiting" exit 0 fi if test -e $enabled/\.conf; then echo "Error!! Could not remove $avail virtual host!" else echo -e "Success! $avail has been removed!\nsudo systemctl restart httpd" exit 0 fi fi

10. Después de crear el archivo, asigne permisos de ejecución y cópielo a $PATH
Directorios ejecutables para que estén disponibles en todo el sistema.
sudo chmod +x a2ensite a2dissite sudo cp a2ensite a2dissite /usr/local/bin/ sudo a2ensite

Paso 5: configurar un host virtual en Apache
11. El archivo de configuración de host virtual predeterminado para el servidor web Apache en Arch Linux lo proporciona httpd-vhosts.conf
El archivo se encuentra en /etc/httpd/conf/extra/ ruta, pero si su sistema utiliza muchos hosts virtuales, puede resultar difícil rastrear qué sitios están habilitados o no.
si quieres desactivar Un sitio web, tienes que comentar o eliminar todas sus directivas, esto puede ser una tarea difícil si tu sistema atiende a muchos sitios web y tu sitio web tiene más directivas de configuración.
usar sites-available
y sites-enabled
Los caminos simplifican enormemente el trabajo. permitir o desactivar Sitios web y conserva archivos de configuración para todos los sitios web, ya sea que se inicien o no.
En el siguiente paso, crearemos nuestro primer archivo de configuración de host virtual. tecmint.com
existir sites-available
Apuntar al directorio predeterminado raíz del documento Proporcione la ruta al archivo del sitio web (/srv/http.
sudo nano /etc/httpd/conf/sites-available/tecmint.com.conf
Agregue el siguiente contenido para configurar el host virtual tecmint.com
.
ServerName tecmint.com ServerAlias www.tecmint.com DocumentRoot /srv/http/tecmint.com ServerAdmin [email protected] ErrorLog "/var/log/httpd/tecmint.com-error_log" CustomLog "/var/log/httpd/tecmint.com-access_log" combined Options Indexes FollowSymLinks AllowOverride All Require all granted
La declaración más importante aquí es Port
y ServerName
Comando que indica a Apache que abra una conexión de red en el puerto 80 y redirigir todas las consultas con nombre de dominio al servicio ubicado en /srv/http/tecmint.com
camino.
12. A continuación, cree el directorio raíz del documento. tecmint.com
Tener los permisos adecuados.
sudo mkdir -p /srv/http/tecmint.com sudo chown -R $USER:$USER /srv/http/tecmint.com sudo chmod -R 755 /srv/http/tecmint.com
13. permitir tecmint.com
Creando un enlace simbólico en el host virtual sites-enabled
Tabla de contenido.
sudo ln -s /etc/httpd/conf/sites-available/tecmint.com.conf /etc/httpd/conf/sites-enabled/
14. Después de crear el perfil de host virtual, inícielo y luego reinicie el demonio httpd para ver los cambios.
sudo a2ensite tecmint.com sudo systemctl restart httpd
15. Para verificar el host virtual, configure un simple index.html
archivo para realizar pruebas.
echo '' | sudo tee /srv/http/tecmint.com/index.html
Luego apunta tu navegador a si lo ejecuta desde un sistema Arch o
Si está utilizando un sistema remoto.

Paso 6: habilite SSL para el host virtual en LAMP
16. protocolo SSL (Capa final de comunicación segura) es un protocolo diseñado para cifrar conexiones HTTP a través de una red o Internet, permitiendo que los flujos de datos se transmitan a través de un canal seguro utilizando claves de cifrado simétricas/asimétricas, proporcionadas por Arch Linux. mod_ssl y Robot certificado Bolsa.
sudo yum install certbot python3-certbot-apache mod_ssl
No 17. A continuación, utilice Robot certificado Obtenga e instale automáticamente un certificado SSL para su dominio.
sudo certbot --apache -d tecmint.com -d www.tecmint.com
Robot certificado Se configurará automáticamente apache Utilice el certificado SSL obtenido y también configure la redirección automática de HTTP a HTTPS.
18. Apunte su navegador a su nombre de dominio nuevamente, pero esta vez usando HTTPS protocolo – – Esta vez ahora puede ver su host virtual Apache ofreciendo el mismo contenido utilizando una conexión segura HTTPS.
Paso 7: habilite PHP para Apache en Arch Linux
19. Por defecto apache solo servir lenguaje de marcado de hipertexto El contenido del archivo estático está en ArquitecturaLinux No hay soporte para lenguajes de secuencias de comandos dinámicos.
activación PHP Abierto por primera vez apache archivo de configuración principal, luego busque y descomente lo siguiente Módulo de carga declaración(php-apache No aplicable a mod_mpm_event en Arco Linux).
sudo nano /etc/httpd/conf/httpd.conf
usar [Ctrl]+[w]
Busca y comenta la siguiente línea para que se vea así.
#LoadModule mpm_event_module modules/mod_mpm_event.so

20. Luego cree un nuevo archivo para el módulo PHP. Habilitar mod Una ruta que contiene el siguiente contenido.
sudo nano /etc/httpd/conf/mods-enabled/php.conf
Agregue lo siguiente (debe usar mod_mpm_prefork).
LoadModule mpm_prefork_module modules/mod_mpm_prefork.so LoadModule php_module modules/libphp.so AddHandler php-script .php Include conf/extra/php_module.conf
veintiuno. Para verificar la configuración, cree un archivo PHP llamado info.php
En su DocumnetRoot (/srv/http/tecmint.com
), luego reinicie Apache y apunte el navegador a información.php documento: /info.php.
echo "" | sudo tee /srv/http/tecmint.com/info.php sudo systemctl restart httpd

¡Eso es todo! Si todo se parece a la imagen de arriba, entonces ha habilitado el lenguaje de secuencias de comandos PHP del lado del servidor dinámico en Apache y ahora puede desarrollar su sitio web utilizando un CMS de código abierto, por ejemplo. WordPress Por ejemplo.
Si desea verificar la configuración de sintaxis de Apache y ver la lista de módulos cargados sin reiniciar el demonio httpd, ejecute el siguiente comando.
sudo apachectl configtest sudo apachectl -M
Paso 8: Instale PhpMyAdmin en Arch Linux
Veintidós. Si no conoce la línea de comando MySQL y simplemente desea acceder a la base de datos MySQL de forma remota a través de la interfaz web, entonces necesita phpMyAdmin Paquete instalado en su caja Arch.
sudo pacman -S phpmyadmin
veintitrés. Después de instalar el paquete, debe habilitar algunas extensiones PHP (mysqli.so
para autenticación interna), también puede habilitar otros módulos necesarios para futuras plataformas CMS, como openssl.so
, imap.so
o iconv.so
ETC.
sudo nano /etc/php/php.ini
Busque y descomente la extensión anterior.
extension=mysqli.so extension=mysqli mysqli.allow_local_infile = On
Además, en el mismo archivo, busque y encuentre open_basedir
declaración y agregue la ruta del sistema PhpMyAdmin (/etc/webapps/ y /usr/share/webapps/) para garantizar que PHP pueda acceder y leer archivos en estos directorios (si también cambia la ruta DocumentRoot del host virtual /srv/http/
a otra ubicación, también deberá agregar la nueva ruta allí).
open_basedir = /srv/http/:/home/:/tmp/:/usr/share/pear/:/usr/share/webapps/:/etc/webapps/

veinticuatro. Lo último que debes hacer para acceder phpMyAdmin La interfaz web es una nueva declaración de PhpMyAdmin Apache en el host virtual.
Como medida de seguridad, se garantizará que la interfaz web PhpMyAdmin solo pueda usarse desde el host local (o dirección IP del sistema) HTTPS acuerdo en lugar de un proveedor de alojamiento web diferente. Entonces, abre tu tecmint.com.conf.conf Archivo Apache y agregue el siguiente contenido en la parte inferior.
sudo nano /etc/httpd/conf/sites-available/tecmint.com.conf
Agregue la siguiente configuración para garantizar el acceso correcto:
Alias /phpmyadmin "/usr/share/webapps/phpMyAdmin"DirectoryIndex index.html index.php AllowOverride All Options FollowSymlinks Require all granted
25. Luego reinicie el demonio Apache y ejecute /usr/share/webapps/phpMyAdmin/ ruta y nuestra ruta de host virtual recién definida (/srv/http/tecmint.com).
sudo systemctl restart httpd sudo ln -s /usr/share/webapps/phpMyAdmin/ /srv/http/tecmint.com/
26. Finalmente, apunte su navegador a la siguiente dirección y debería poder acceder a su interfaz web PhpMyAdmin:
/phpmyadmin OR

Estos son algunos de los principales ajustes de configuración lámpara Necesidad de transformar uno ArquitecturaLinux El sistema se transforma en una plataforma web sencilla pero potente, rápida y robusta con software de servidor de última generación adecuado para entornos pequeños no críticos.
Si es terco y aún desea usarlo en un entorno de producción grande, debe ser lo suficientemente paciente, prestar especial atención a las actualizaciones del paquete de software y realizar imágenes de respaldo del sistema con regularidad para restaurarlo rápidamente en caso de una falla.