Le mostraremos cómo instalar LAMP en CentOS 7. LAMP es en realidad un acrónimo de una pila de soluciones de servicios web que consta de Linux, el servidor Apache HTTP, los motores de base de datos MySQL o MariaDB y el lenguaje de programación PHP, Perl o Python. Todos los componentes son software gratuito y de código abierto, y la combinación es adecuada para crear páginas web dinámicas.
¿Requisitos?
Estamos utilizando nuestro plan de alojamiento SSD 1 VPS para esta configuración, que debería ser más que suficiente para ejecutar LAMP y aloje múltiples sitios web dinámicos utilizando directivas de host virtual.
1. Actualizar el Sistema
Como siempre, asegúrese de que su CentOS 7 VPS está completamente actualizado y estás en una screen
sesión usando los siguientes comandos:
## screen -U -S lamp-centos7 ## yum update
2. Instalar MariaDB
MariaDB es el servidor de base de datos predeterminado en CentOS 7, así que adelante e instálelo con yum
usando el siguiente comando:
## yum install mariadb mariadb-server mysql
Una vez instalado, agregue bind-address = 127.0.0.1
a /etc/my.cnf.d/server.cnf
para vincular MariaDB solo a localhost:
## vim /etc/my.cnf.d/server.cnf [mysqld] #log-bin=mysql-bin #binlog_format=mixed bind-address = 127.0.0.1
3. Reiniciar y configurar MariaDB
Reinicie el servidor de la base de datos MariaDB y habilítelo para que se inicie al iniciar el sistema usando:
## systemctl restart mariadb ## systemctl status mariadb ## systemctl enable mariadb
4. Ejecute la secuencia de comandos posterior a la instalación de MySQL
Finalmente, puede ejecutar mysql_secure_installation
secuencia de comandos posterior a la instalación para finalizar la configuración de MariaDB. Por ejemplo:
## mysql_secure_installation Enter current password for root (enter for none): ENTER Set root password? [Y/n] Y 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
5. Instalar Apache
OK hasta ahora todo bien. Luego, proceda con la instalación de Apache, OpenSSL y mod_ssl usando yum
como en:
## yum install httpd openssl mod_ssl
6. Reiniciar y configurar Apache
Reinicie Apache y agréguelo para que se inicie automáticamente en el inicio de su sistema usando:
## systemctl restart httpd ## systemctl status httpd ## systemctl enable httpd
Pruebe la configuración abriendo, por ejemplo, http://YOUR_SERVER_IP/ en su navegador favorito. Debería ver la página predeterminada de Apache, por ejemplo:
Excelente. Ahora vamos a configurar algunas opciones adicionales de Apache , por ejemplo, ocultar su número de versión, su banner, etc... agregando lo siguiente a /etc/httpd/conf.d/options.conf
## vim /etc/httpd/conf.d/options.conf TraceEnable off ## Disable Signature ServerSignature Off ## Disable Banner ServerTokens Prod
Pruebe el archivo de configuración de Apache y reinicie el servidor web para que los cambios surtan efecto:
## apachectl configtest ## systemctl restart httpd ## systemctl status httpd
7. Instalar PHP
Para poder ejecutar aplicaciones web basadas en PHP, tenemos que agregar soporte PHP al servidor web Apache , así que instalemos algunos paquetes necesarios con yum
:
## yum install php php-mysql
Además, es posible que desee instalar algunas otras extensiones de PHP requeridas por sus aplicaciones. Aquí está la lista:
php-bcmath : A module for PHP applications for using the bcmath library php-cli : Command-line interface for PHP php-common : Common files for PHP php-dba : A database abstraction layer module for PHP applications php-devel : Files needed for building PHP extensions php-embedded : PHP library for embedding in applications php-enchant : Enchant spelling extension for PHP applications php-fpm : PHP FastCGI Process Manager php-gd : A module for PHP applications for using the gd graphics library php-intl : Internationalization extension for PHP applications php-ldap : A module for PHP applications that use LDAP php-mbstring : A module for PHP applications which need multi-byte string handling php-mysql : A module for PHP applications that use MySQL databases php-mysqlnd : A module for PHP applications that use MySQL databases php-odbc : A module for PHP applications that use ODBC databases php-pdo : A database access abstraction module for PHP applications php-pear.noarch : PHP Extension and Application Repository framework php-pecl-memcache : Extension to work with the Memcached caching daemon php-pgsql : A PostgreSQL database module for PHP php-process : Modules for PHP script using system process interfaces php-pspell : A module for PHP applications for using pspell interfaces php-recode : A module for PHP applications for using the recode library php-snmp : A module for PHP applications that query SNMP-managed devices php-soap : A module for PHP applications that use the SOAP protocol php-xml : A module for PHP applications which use XML php-xmlrpc : A module for PHP applications which use the XML-RPC protocol
8. Configurar PHP
Bien, continuemos con la configuración de PHP. Edite /etc/php.ini
y establece lo siguiente:
## vim /etc/php.ini date.timezone = America/New_York memory_limit = 64M expose_php = Off
reinicie Apache usando systemctl
para que los cambios surtan efecto:
## systemctl restart httpd ## systemctl status httpd
Pruebe si el módulo PHP está cargado en Apache usando:
## httpd -M | grep php also ## php -v
Puede crear una prueba info.php
script también usando el siguiente comando:
## echo -e "<?php\n\tphpinfo();" > /var/www/html/info.php
y acceda a él con el siguiente comando:
## curl -I $(curl -s icanhazip.com)/info.php
9. Configurar hosts virtuales de Apache
Ahora, tendría que configurar las directivas de host virtual de Apache para poder alojar varios dominios, incluso los que funcionan con SSL, utilizando una dirección IP. Entonces, cree /etc/httpd/conf.d/vhosts.conf
y agrega lo siguiente:
## cat /etc/httpd/conf.d/vhosts.conf # Load my vhosts IncludeOptional vhosts.d/*.conf
Esto le dice a Apache que cargue los archivos de configuración que terminan en .conf
que residen en /etc/httpd/vhosts.d
. Como puede adivinar, este es el lugar donde colocamos nuestros hosts virtuales, así que configuremos uno para domain1.com
y otro para domain2.net
VHOST para dominio1.com
## cat /etc/httpd/vhosts.d/domain1.com.conf <VirtualHost YOUR_SERVER_IP:80> ServerAdmin [email protected] DocumentRoot "/var/www/html/domain1.com" ServerName domain1.com ServerAlias www.domain1.com ErrorLog "/var/log/httpd/domain1.com-error_log" CustomLog "/var/log/httpd/domain1.com-access_log" combined <Directory "/var/www/html/domain1.com/"> DirectoryIndex index.html index.php Options FollowSymLinks AllowOverride All Require all granted </Directory> </VirtualHost>
VHOST para dominio2.net
## cat /etc/httpd/vhosts.d/domain2.net.conf <VirtualHost YOUR_SERVER_IP:80> ServerAdmin [email protected] DocumentRoot "/var/www/html/domain2.net" ServerName domain2.net ServerAlias www.domain2.net ErrorLog "/var/log/httpd/domain2.net-error_log" CustomLog "/var/log/httpd/domain2.net-access_log" combined <Directory "/var/www/html/domain2.net/"> DirectoryIndex index.html index.php Options FollowSymLinks AllowOverride All Require all granted </Directory> </VirtualHost>
10. Reinicie el servidor Apache
Finalmente, reinicie Apache para que los cambios surtan efecto:
## apachectl configtest ## systemctl restart httpd ## systemctl status httpd
Por supuesto, no tiene que instalar LAMP en CentOS 7, si usa uno de nuestros planes de alojamiento de CentOS 7, en cuyo caso simplemente puede pedirle a nuestros administradores expertos de Linux que instalen LAMP en CentOS 7 por usted. Están disponibles las 24 horas del día, los 7 días de la semana y atenderán su solicitud de inmediato.
PD. Si le gustó esta publicación sobre cómo instalar LAMP en CentOS 7, compártala con sus amigos en las redes sociales usando los botones a la izquierda o simplemente deje una respuesta a continuación. Gracias.