Instalación de LEMP (Linux, Nginx, MySQL/MariadB, PHP/PHP-FPM y PhPMyadmin) en Gentoo Linux
- 3626
- 113
- Berta Solano
GENTOO es una de las distribuciones de Linux más rápidas debido a su construcción a partir de la orientación de fuentes y proporciona por su programa de gestión de software - Porteo - Ciertas herramientas necesarias para crear una plataforma de desarrollador web completa que actúe y funcione muy rápido y, también, tenga un alto grado de personalización.
Instale Nginx en Gentoo LinuxEste tema lo llevará a través de un proceso de instalación paso a paso para construir una plataforma de entorno web completo con Lemplo (Linux nginx, mysql/mariadb, php-fpm/phpmyadmin), y con la ayuda en Usar banderas Proporcionado por Portage Package Management, que ofrece un conjunto de funcionalidad de paquete en el proceso de compilación: los módulos o la configuración necesarios para una plataforma web, modificarán altamente las configuraciones del servidor.
Requisitos
- Instalación de Gentoo con un perfil endurecido para un servidor orientado a Internet - Guía de instalación de Gentoo.
- Red configurada con una dirección IP estática.
Paso 1: Instale el servidor web Nginx
1. Antes de intentar continuar con la instalación de NGINX, asegúrese de que su NIC haya sido configurada con una dirección IP estática y asegúrese de que las fuentes de portaje y su sistema estén actualizados.
$ sudo su - # emerge --sync # emerge -update - -deep -with -bdeps = y @worldActualizar Gentoo Linux
2. Después de finalizar el proceso de actualización, continúe con la instalación de NGINX eligiendo la configuración y los módulos preferidos haciendo eco Nginx usa banderas a Portage hacer.confusión archivo. Primera lista Módulos de instalación predeterminados de NGINX ejecutando el siguiente comando.
# emerge -pv nginx
Para información detallada de módulos (use banderas para paquetes) use igualmente dominio.
# Erecuente usa NginxEnumere todos los módulos de bandera
Luego instale Nginx con el siguiente comando.
# EMERGE --Ask nginxInstale el servidor web Nginx
Si necesita módulos adicionales (WebDav, FancyIndex, GeoIP, etc.) además de los predeterminados, con los que Nginx se compilará, los agregará a todos en una sola línea en Portage hacer.confusión presentar con Nginx_modules_http directiva, luego recompire a Nginx con nuevos módulos.
# echo 'nginx_modules_http = "dav auth_pam fancyIndex geoip fastcgi uwsgi gzip reescritura"' >>/etc/portage/make.conf # emerge --ask nginxCompilar Nginx para nuevos módulos
3. Después de que Portage termine emergiendo NGINX, inicie HTTP Daemon y verifique que dirija su navegador a http: // localhost.
Verificar el servidor web NGINXPaso 2: instalar PHP
4. Para usar el lenguaje de programación web dinámica PHP con el servidor NGINX, instalar, instalar Administrador de procesos PHP-FASTCGI (FPM) al agregar FPM y otras extensiones de PHP importantes en Portage usan banderas y asegúrese de eliminar la extensión de Apache.
# emerge -pv phpInstalar PHP en Gentoo
# Erigente usa PHPSelección de extensión de PHP
# echo "dev -lang/php fpm cgi curl gd imap mysql mysqli pdo zip json xcache apc zlib zip trueType -apache2" >>/etc/portage/paquete.Use # emerge --Sk Php
5. Antes de iniciar PHP-FPM, se deben aplicar algunos cambios al archivo de configuración del servicio. Abierto Php-FPM archivo de configuración y hacer los siguientes cambios.
# nano/etc/php/fpm-php5.5/Php-FPM.confusión
Encuentra y desencadene las siguientes directivas para verse así.
error_log =/var/log/php-fpm.Log Listen = 127.0.0.1: 9000 ## Aquí puede usar cualquier socket http (combinación de puerto ip) que desea ## pm.start_servers = 20
6. Después del archivo de configuración de PHP-FPM que está editado, cambie los permisos de archivo de registro PHP-FPM e inicie el servicio.
# CHMOD 755/var/log/php-fpm.log # /etc /init.D/PHP-FPM Inicio
Incluso si se inicia el servicio PHP-FPM, NGINX no puede comunicarse con PHP Gateway, por lo que se deben realizar algunos cambios en los archivos de configuración de NGINX.
Paso 3: Editar configuraciones de Nginx
7. El archivo de configuración de plantilla predeterminado de NGINX solo proporciona un socket HTTP básico solo para localhost. Para cambiar este comportamiento y habilitar hosts virtuales, abra nginx.confusión archivo ubicado en /etc/nginx/ ruta y hacer las siguientes configuraciones.
# nano/etc/nginx/nginx.confusión
Localice el primero servidor bloque que corresponde a localhost y escucha 127.0.0.1 Dirección IP y elogiar todas sus declaraciones para verse en la captura de pantalla a continuación.
Desactivar la configuración HTTP básicaNo cierre el archivo todavía y mueva a la parte inferior y agregue la siguiente declaración antes de cerrar los últimos frenos rizados "".
Incluir/etc/nginx/sites-habilitado/*.conf;Habilitar el host virtual nginx
8. Siguiente crear sitios habilitados y sitios disponibles (para hosts virtuales no utilizados) Directorios Nginx y archivos de configuración para LocalHost en los protocolos HTTP y HTTPS.
# mkdir/etc/nginx/sites disponible # mkdir/etc/nginx/sites habilitado
Cree la siguiente configuración del archivo para localhost.
# nano/etc/nginx/sites disponible/localhost.confusión
Agregue el siguiente contenido del archivo.
servidor escuchar 80; server_name localhost; access_log/var/log/nginx/localhost_access_log main; error_log/var/log/nginx/localhost_error_log información; root/var/www/localhost/htdocs; ubicación / índice índice.índice HTML.índice HTM.php; autoindex on; autoindex_exact_size off; autoindex_localtime on; ubicación ~ \ \.php $ # prueba para scripts inexistentes o lanza un error 404 # sin esta línea, Nginx enviará a ciegas cualquier solicitud que termine en .PHP a PHP-FPM try_files $ uri = 404; incluir/etc/nginx/fastcgi.conf; fastcgi_pass 127.0.0.1: 9000; ## asegúrese de que el socket corresponde con el archivo conf Php-FPMCrear configuración de host virtual NGINX
Para localhost con SSL crea el siguiente archivo de configuración.
# nano/etc/nginx/sites disponible/localhost-ssl.confusión
Agregue el siguiente contenido del archivo.
servidor escuchar 443 ssl; server_name localhost; ssl on; ssl_certificate/etc/ssl/nginx/nginx.pem; ssl_certificate_key/etc/ssl/nginx/nginx.llave; access_log/var/log/nginx/localhost.ssl_access_log main; Error_log/var/log/nginx/localhost.SSL_ERROR_LOG INFO; root/var/www/localhost/htdocs; ubicación / índice índice.índice HTML.índice HTM.php; autoindex on; autoindex_exact_size off; autoindex_localtime on; ubicación ~ \ \.php $ # prueba para scripts inexistentes o lanza un error 404 # sin esta línea, Nginx enviará a ciegas cualquier solicitud que termine en .PHP a PHP-FPM try_files $ uri = 404; incluir/etc/nginx/fastcgi.conf; fastcgi_pass 127.0.0.1: 9000;Crear ssl nginx host virtual
9. Ahora es el momento de crear dos scripts en una ruta ejecutable del sistema ($ shell variable de shell), que actúa como comandos para activar o deshabilitar los hosts virtuales de Nginx.
Crea el primer script bash llamado N2ensita que habilitará los hosts virtuales archivos de configuración creando un enlace simbólico entre hosts especificados desde sitios disponibles a sitios habilitados.
# nano/usr/local/bin/n2eniste
Agregue el siguiente contenido del archivo.
#!/bin/bash if test -d/etc/nginx/sites -disponible && test -d/etc/nginx/sites -habilitado; luego hacer eco "----------------------------------------------- "De lo contrario, mkdir/etc/nginx/sites-disponible mkdir/etc/nginx/sites-habilitado Fi disponible =/etc/nginx/sites-disponible/$ 1.conf Encabled =/etc/nginx/sites-habilitado/sitio = "ls/etc/nginx/sites-disponible/" if ["$#" != "1"]; luego echo "Use script: n2ensite virtual_site" echo -e "\ navailable hosts virtual: \ n $ sitio" Salir 0 de lo contrario si prueba -e $ disponible; entonces sudo ln -s $ disponible $ habilitado else echo -e "$ disponible host virtual no existe! Por favor cree uno!\ n $ sitio "Salir 0 fi si prueba -e $ habilitado/$ 1.conf; luego hacer eco "éxito!! Ahora reinicie el servidor Nginx: sudo /etc /init.d/ nginx reiniciar "else eco -e" host virtual $ disponible no existe!\ nlease Ver hosts virtuales disponibles: \ n $ sitio "Salida 0 fi FiCrear script de habilitación de host virtual
10. Luego crea el segundo script llamado n2dissite, que eliminarán hosts virtuales activos especificados de sitios habilitados Ruta nginx con el siguiente contenido.
# nano/usr/local/bin/n2dissite
Agregar el siguiente contenido.
#!/bin/bash dispone =/etc/nginx/sites-habilitado/$ 1.conf Encapsed =/etc/nginx/sites-habilitado sitio = "ls/etc/nginx/sites-disponible/" if ["$#" != "1"]; luego echo "Usar script: n2dissite virtual_site" echo -e "\ navailable hosts virtual: \ n $ sitio" salida 0 de lo contrario si prueba -e $ disponible; entonces sudo rm $ disponible else echo -e "$ disponible host virtual no existe! Que sale!"Salir 0 fi si prueba -e $ habilitado/$ 1.conf; luego hacer eco "error!! No se pudo eliminar el host virtual $ disponible!"más eco -e" éxito! $ disponible ha sido eliminado!\ nlease reiniciar nginx: sudo /etc /init.D/nginx reiniciar "Salida 0 fi FiCrear script virtual host desactive
11. Después de terminar de editar scripts bash, agregar permisos de ejecución y activar hosts virtuales localeshost: use el nombre del archivo de configuración del host virtual sin .confusión Extensión, luego reinicie los servicios NGINX y PHP-FPM para aplicar cambios.
# chmod +x/usr/local/bin/n2dissite # chmod +x/usr/local/bin/n2ensite # n2ensite localhost # n2ensite localhost-ssl # servicio nginx reiniciar # servicio php-fpm reiniciarReiniciar NGINX y PHP-FPM
12. Para probar las configuraciones, cree un archivo de información PHP en la ruta raíz predeterminada de Localhost para archivos web (/var/www/localhost/htdocs) y redirige tu navegador en https: // localhost/info.php o http: // localhost/info.php.
echo ""/var/www/localhost/htdocs/info.phpVerificar la configuración de PHP
Uso de localhost virtual hosts archivos de configuración como plantillas y nginx n2enmod y N2DISMOD Ahora puede agregar fácilmente tantos sitios web como desee, pero asegure que tiene punteros DNS válidos para un servidor web orientado a Internet o use entradas localmente en el archivo de hosts del sistema.
Paso 4: Instale mysql/mariadb + phpmyadmin
Para instalar la base de datos MySQL y la interfaz web PhPMyAdmin para MySQL, use el mismo procedimiento presentado en la instalación de la lámpara en Gentoo.
13. A cambio, si desea usar mariadb, el reemplazo de mysql, use los siguientes comandos para obtener Usar banderas y instalarlo.
# emerge -pv mariadb # emerge --ask mariadbInstale la base de datos de Mariadb
En caso de que obtenga un conflicto de paquete con MySQL, agregue las siguientes líneas a Portage paquete.aceptar.Palabras clave.
# echo "= dev-db/mariadb-5.5.37-R1 ~ AMD64 ">>/etc/Portage/Package.aceptar.Palabras clave # echo "= virtual/mysql-5.5 ~ amd64 ">>/etc/portage/paquete.aceptar.Palabras clave # Emerge --Sk Mariadb
14. Después de que la base de datos mySQL esté instalada por el servicio de inicio y asegurarlo utilizando mysql_secure_installation (Cambie la contraseña de root, deshabilite el inicio de sesión raíz fuera de Localhost, elimine la base de datos anónima de usuario/prueba).
# Servicio MySQL Start # mysql_secure_installation
15. Ingrese la base de datos MySQL usando, mysql -u raíz -p comandar para probar su funcionalidad y dejarla con salida dominio.
# mysql -u root -p mariadb> mostrar bases de datos; Mariadb> salida;Verificar la conectividad MySQL
dieciséis. Si no eres demasiado bueno con la línea de comandos mysql. Instale PhPMyAdmin Web Frontend ejecutando los siguientes comandos.
# emerge -pv dev-db/phpmyadmin # echo “dev-db/phpmyadmin configuración vhosts” >>/etc/portage/paquete.Use # emerge --ask dev-db/phpmyadminInstalar phpmyadmin
17. Después de que PhPMyadmin finalice la instalación, cree un archivo de configuración basado en el archivo de configuración de muestra, cambie Blowfish_secret Passfrase con una cadena aleatoria, luego cree un enlace simbólico desde /usr/share/webapps/phpmyadmin/phpmyadmin_version_number/htdocs/ a la ruta de la raíz del documento de los hosts virtuales, desea acceder a la interfaz web phpmyadmin.
# CD/USR/Share/WebApps/PhpMyadmin/4.2.2/ htdocs/ # cp config.muestra.Cª.configuración de php.Cª.Php # nano config.Cª.phpConfigurar phpmyadmin
# ln -s/usr/share/webapps/phpmyadmin/4.2.2/htdocs//var/www/localhost/htdocs/phpmyadminCrea un enlace simbólico PhpMyadmin
18. Para acceder a la base de datos MySQL a través de la interfaz web PhPMyAdmin, abra un navegador y use la siguiente dirección de URL https: // localhost/phpmyadmin.
Verificar PhPMyadmin Iniciar sesión19. El paso final es habilitar los servicios en todo el sistema, para comenzar automáticamente después de reiniciar.
# rc-update add nginx predeterminado # rc-update agregar php-fpm predeterminado # rc-update Agregar mysql predeterminadoHabilitar el sistema de servicios en todo
Ahora tenemos una configuración de entorno mínima para alojamiento web, y si solo usa páginas generadas por HTML, JavaScript y PHP Dynamic y no necesita sitios web SSL, la configuración anterior debe ser satisfactoria para usted.
- « Instalación de GUI (escritorio de canela) y software básico en Arch Linux
- Preguntas y respuestas prácticas de la entrevista en Linux Shell Scripting »