Instalación de LAMP (Linux, Apache, MySQL, PHP y PhpMyAdmin) en Gentoo Linux


El máximo rendimiento logrado compilando software a partir de fuentes con Gentoo tiene un impacto mínimo, si tomamos como referencia el procesamiento de potencia del hardware actual. Entonces, ¿cuál es el propósito de usar Gentoo como plataforma de servidor web? Bueno, el atributo más importante que tiene Gentoo es su extrema flexibilidad que Portage puede entregar en tareas específicas y el control total que el usuario final puede lograr sobre todo el sistema, debido al hecho de que Gentoo está compilado y compila a partir de fuentes y no usa binarios preempaquetados como la mayoría de las distribuciones de Linux.

Esta guía proporciona un procedimiento de instalación paso a paso para la famosa pila LAMP ( Linux , Apache , MySQL y PHP / PhpMyAdmin ) utilizando un entorno de instalación mínimo de Gentoo.

  1. Entorno mínimo de Gentoo Linux instalado como en este tutorial (Instalar Gentoo Linux)

Paso 1: configurar la dirección IP estática

1. Antes de proceder con la instalación de la pila LAMP , el sistema debe configurarse con una dirección IP estática, que es "imprescindible" en el caso de un servidor. Pero, antes de comenzar a configurar la configuración estática de la red, use el comando ifconfig para mostrar los nombres de las tarjetas de interfaz de red.

# ifconfig -a

Como puede ver, el nombre de NIC puede diferir de otros nombres comunes usados en Linux como ethX , ensXX u otros, así que anote este nombre para más configuraciones.

2. Si anteriormente usó un servidor DHCP para su red, asegúrese de derribar y deshabilitar el Cliente DHCP en su sistema usando los siguientes comandos (reemplace las IP y los dispositivos con su ajustes).

# rc-update del dhcpcd default
# /etc/init.d/dhcpcd stop
# ifconfig eno16777736 down
# ifconfig eno16777736 del 192.168.1.13 netmask 255.255.255.0
# emerge –unmerge dhcpcd

3. Luego, cree un enlace simbólico desde el dispositivo de bucle de retorno de red con el nombre de la interfaz conectada de su NIC y cree un archivo de configuración estática para este dispositivo en la ruta /etc/conf.d/ .

# ln -s /etc/init.d/net.lo  /etc/init.d/net.eno16777736
# sudo nano /etc/conf.d/net.eno16777736

Edite este archivo de dispositivo con las siguientes configuraciones.

config_eno16777736="192.168.1.25 netmask 255.255.255.0 brd 192.168.1.255"
routes_eno16777736="default via 192.168.1.1"
dns_servers_eno16777736="192.168.1.1 8.8.8.8"

4. Después de terminar de editar las configuraciones estáticas de la NIC, inicie la Interfaz de red y verifique la configuración de red y la conexión usando los comandos ifconfig y ping y si todo está configurado correctamente, agréguelo para iniciar el proceso.

# /etc/init.d/net.eno16777736 start
# ifconfig
# ping -c2 domain.tld
# rc-update add net.eno16777736 default

Si desea que los servidores de nombres DNS estén configurados para todo el sistema, edite el archivo /etc/resolv.conf y agregue la cadena del servidor de nombres para cada dirección IP de DNS.

Paso 2: Instale LAMP

5. Una vez que haya terminado con la configuración de red, proceda con la instalación de la pila LAMP , pero no antes de verificar los perfiles de Gentoo y actualizar el árbol y el sistema de Portage.

Para un servidor orientado a Internet con parches de seguridad, probablemente desee utilizar un perfil reforzado que cambie la configuración del paquete para todo el sistema (máscaras, indicadores USE, etc.). Utilice los siguientes comandos para enumerar y cambiar su perfil.

$ sudo eselect profile list
$ sudo eselect profile set 11

6. Una vez que haya configurado el perfil más adecuado para usted, actualice su sistema y el árbol de Portage.

$ sudo emerge --sync
$ sudo emerge --update @world

7. Ahora es el momento de continuar con la instalación de LAMP. Verifique la documentación del servidor web Apache para indicadores USE usando el conmutador de comando emerge –pv , luego edite el archivo Portage make.conf con los indicadores USE requeridos antes de intentar instalarlo.

# emerge -pv apache
# nano /etc/portage/make.conf

8. Elija sus banderas USE para el proceso de compilación (puede dejarlo como está si su servidor no requiere ciertos módulos), luego instale Apache usando el siguiente comando.

# emerge --ask www-servers/apache

9. Antes de iniciar el servicio Apache, ejecute el siguiente comando para evitar el error ServerName , luego inicie el demonio httpd.

# echo “ServerName localhost” >> /etc/apache2/httpd.conf
# service apache2  start

OR

# /etc/init.d/apache2 start

10. En el siguiente paso, instale el lenguaje de scripting dinámico PHP . Debido a la riqueza de los módulos PHP, este tutorial le presentará una gran lista de módulos utilizados como indicadores USE , pero debe seguir con los que requiere la configuración de su servidor.

Primero obtenga USE indicadores específicos para PHP usando el siguiente comando.

# emerge -pv php

11. A continuación, edite el archivo /etc/portage/make.conf y utilice los siguientes indicadores USE para PHP5.5 (los indicadores USE deben estar activados una sola línea).

USE="apache2 php pam berkdb bzip2 cli crypt ctype exif fileinfo filter gdbm hash iconv ipv6 json -ldap nls opcache phar posix readline session simplexml spell ssl tokenizer truetype unicode xml zlib -bcmath calendar -cdb cgi -cjk curl -debug -embed -enchant -firebird -flatfile -fpm (-frontbase) ftp gd -gmp imap -inifile -intl -iodbc -kerberos -ldap-sasl -libedit libmysqlclient -mhash -mssql mysql mysqli -oci8-instant-client -odbc -pcntl pdo -postgres -qdbm -recode (-selinux) -sharedmem -snmp -soap -sockets -sqlite (-sybase-ct) -systemd -sysvipc -threads -tidy -wddx -xmlreader -xmlrpc -xmlwriter -xpm -xslt zip jpeg png pcre session unicode"

PHP_TARGETS="php5-5"

Otro método que puede utilizar es repitiendo banderas USE para incluir los módulos y opciones de PHP deseados en el archivo /etc/portage/package.use .

# echo “dev-lang/php apache2 cgi ctype curl curlwrappers -doc exif fastbuild filter ftp hash inifile json mysql mysqli pdo pic posix sockets spell truetype xml zip” >> /etc/portage/package.use

12. Una vez que haya seleccionado los indicadores USE necesarios utilizando uno de los dos métodos presentados, instale PHP con el siguiente comando.

# emerge --ask dev-lang/php

13. El proceso emergente de PHP puede tomar un tiempo dependiendo de los recursos de su sistema y después de que termine, dígale a Apache que use módulos PHP editando el archivo /etc/conf.d/apache2 y agregue PHP5 en APACHE2_OPTS directiva.

# nano /etc/conf.d/apache2

Haga que la línea APACHE2_OPTS tenga este aspecto.

APACHE2_OPTS="-D DEFAULT_VHOST -D INFO -D SSL -D SSL_DEFAULT_VHOST -D LANGUAGE -D PHP5"

Para obtener una lista de los módulos instalados, use el siguiente comando.

# ls -al /etc/apache2/modules.d/

14. Para probar la configuración del servidor hasta ahora, cree un archivo phpinfo en el directorio raíz de localhost (/var/www/localhost/htdocs/) y reinicie el servicio Apache, luego apunte su navegador a http://localhost/info.php o http://system_IP/info.php .

# echo "<!--?php phpinfo(); ?-->"  /var/www/localhost/htdocs/info.php
# service apache2  restart

OR

# /etc/init.d/apache2  restart

Si obtiene el mismo resultado que en la imagen de arriba, entonces su servidor está configurado correctamente. Entonces, podemos avanzar con la base de datos MySQL y la instalación de PhpMyAdmin.

15. Antes de instalar la base de datos MySQL, verifique el paquete USE banderas y edite Portage make.conf si es necesario. Utilice los siguientes comandos para verificar e instalar la base de datos del servidor MySQL.

# emerge -pv mysql
# emerge --ask dev-db/mysql

16. Antes de iniciar el servidor MySQL, asegúrese de que la base de datos MySQL esté instalada en su sistema usando el siguiente comando.

# /usr/bin/mysql_install_db

17. Ahora inicie la base de datos MySQL y asegúrela usando mysql_secure_installation cambiando la contraseña de root, deshabilite el inicio de sesión de root fuera de localhost, elimine el usuario anónimo y pruebe la base de datos.

# service mysql start
# mysql_secure_installation

18. Para probar la funcionalidad de la base de datos, inicie sesión en MySQL emitiendo el siguiente comando y salga de la base de datos con la declaración de salida.

mysql -u roo -p
mysql> select user,host from mysql.user;
mysql> quit;

19. Si necesita una interfaz gráfica para administrar el servidor MySQL, instale el paquete PhpMyAdmin ejecutando estos comandos.

# emerge -pv phpmyadmin
# emerge  dev-db/phpmyadmin

20. Una vez compilado e instalado el paquete, cree un archivo de configuración para PhpMyAdmin copiando su archivo de plantilla y reemplace la frase de contraseña blowfish_secret usando una cadena arbitraria.

# cp /var/www/localhost/htdocs/phpmyadmin/config.sample.inc.php  /var/www/localhost/htdocs/phpmyadmin/config.inc.php
# nano /var/www/localhost/htdocs/phpmyadmin/config.inc.php

21. Pruebe el proceso de inicio de sesión de PhpMyAdmin abriendo un navegador y use la siguiente URL.

http://localhost/phpmyadmin

22. Si todo está en su lugar, es posible que desee iniciar automáticamente sus servicios después de reiniciar haciéndolos disponibles en todo el sistema mediante los siguientes comandos.

# rc-update -v add apache2 default
# rc-update -v add mysql default

¡Eso es todo! Ahora tiene un entorno web dinámico con Apache, lenguaje de programación PHP y base de datos relacional MySQL en una plataforma de servidor altamente flexible y personalizable proporcionada por Gentoo.