¿Qué es LAMP pila?
La pila LAMP es una combinación de un sistema operativo y una pila de software de código abierto que son importantes para configurar inicialmente un servidor. El acrónimo significa Linux, servidor Apache HTTP, MySQL/MariaDB y PHP/Perl/Python. Este artículo lo guiará a través de los pasos necesarios para instalar el servidor Apache HTTP, MySQL y PHP en su servidor, suponiendo que el sistema operativo CentOS 7 ya esté instalado.
Requisito previoAntes de seguir este artículo, debe tener una cuenta de usuario no raíz configurada en su servidor.
Instalando servidor Apache HTTP
Apache o Apache HTTP es el servidor web más utilizado en todo el mundo y actualmente representa más del 50% de la cuota de mercado. Para instalar Apache, siga los pasos a continuación:
sudo yum update
Una vez finalizado el proceso de actualización, instale el servidor Apache HTTP con el comando.
sudo yum install httpd
Recibirá un mensaje de autenticación, acéptelo ingresando Y y continúe con la instalación. Luego inicie su servidor web instalado en el VPS ejecutando el comando
sudo systemctl start httpd.service
http://server_ip_address/
Si el servidor web se instaló correctamente, su navegador web lo dirigirá a la página web similar a la siguiente:
Instalando MySQL (MariaDB)
MariaDB es un software de gestión de bases de datos de código abierto que es bastante similar en muchos aspectos a MySQL y, de hecho, es mejor que este último en varios aspectos de rendimiento. Así que, idealmente, es una gran alternativa para el popular MySQL. MariaDB es una bifurcación de MySQL que mantiene una alta compatibilidad con MySQL y es una parte integral en muchas instalaciones de pilas LEMP en todo el mundo.
Instalar MariaDB en un servidor es un proceso bastante simple y en este artículo le proporcionaremos los pasos para instalar y proteger MariaDB en un servidor que ejecute CentOS 7.
Instalar MariaDB es tan fácil como ejecutar un solo comando. Ejecute el siguiente comando en la terminal para instalar.
sudo yum install mariadb-server
Aparecerá un mensaje antes de completar la instalación similar al siguiente
Is this ok [y/d/N]:
Acepte el aviso ingresando y y luego presione Enter.
Ahora que se ha instalado MariaDB en su servidor, es hora de iniciar el servicio manualmente. Esto se hace ejecutando el siguiente comando en la terminal.
sudo systemctl start mariadb
Dado que este comando no mostrará ningún resultado después de su ejecución, debe verificar si el servicio se ha iniciado. Puede verificar el estado de MariaDB ejecutando el siguiente comando en la terminal.
sudo systemctl status mariadb
Cuando el servicio esté en funcionamiento, recibirá el siguiente resultado:
Output: mariadb.service - MariaDB database server Loaded: loaded (/usr/lib/systemd/system/mariadb.service; disabled; vendor preset: disabled) Active: active (running) since Mon 2016-12-19 06:47:18 UTC; 2min 25s ago Process: 9179 ExecStartPost=/usr/libexec/mariadb-wait-ready $MAINPID (code=exited, status=0/SUCCESS) Process: 9099 ExecStartPre=/usr/libexec/mariadb-prepare-db-dir %n (code=exited, status=0/SUCCESS) Main PID: 9178 (mysqld_safe) CGroup: /system.slice/mariadb.service ├─9178 /bin/sh /usr/bin/mysqld_safe --basedir=/usr └─9336 /usr/libexec/mysqld --basedir=/usr --datadir=/var/lib/mysql --plugin-dir=/usr/lib64/mysql/plugin --log-error=/var/log/mariadb/mariadb.log --pid-fil... Dec 19 06:47:16 Maria mariadb-prepare-db-dir[9099]: The latest information about MariaDB is available at http://mariadb.org/. Dec 19 06:47:16 Maria mariadb-prepare-db-dir[9099]: You can find additional information about the MySQL part at: Dec 19 06:47:16 Maria mariadb-prepare-db-dir[9099]: http://dev.mysql.com Dec 19 06:47:16 Maria mariadb-prepare-db-dir[9099]: Support MariaDB development by buying support/new features from MariaDB Dec 19 06:47:16 Maria mariadb-prepare-db-dir[9099]: Corporation Ab. You can contact us about this at [email protected]. Dec 19 06:47:16 Maria mariadb-prepare-db-dir[9099]: Alternatively consider joining our community based development effort: Dec 19 06:47:16 Maria mariadb-prepare-db-dir[9099]: http://mariadb.com/kb/en/contributing-to-the-mariadb-project/ Dec 19 06:47:16 Maria mysqld_safe[9178]: 161219 06:47:16 mysqld_safe Logging to '/var/log/mariadb/mariadb.log'. Dec 19 06:47:16 Maria mysqld_safe[9178]: 161219 06:47:16 mysqld_safe Starting mysqld daemon with databases from /var/lib/mysql Dec 19 06:47:18 Maria systemd[1]: Started MariaDB database server.
Asegúrese de que también se inicie en el arranque ejecutando el siguiente comando.
sudo systemctl enable mariadb
Output: Created symlink from /etc/systemd/system/multi-user.target.wants/mariadb.service to /usr/lib/systemd/system/mariadb.service.
Paso 3: MariaDB segura
Puede mejorar la seguridad del servidor MariaDB cambiando opciones como inicios de sesión de root remotos y usuarios de muestra. Para implementar este paso de seguridad, use este comando.
sudo mysql_secure_installation
Aparecerá una serie de indicaciones una vez que se ejecute el comando. La primera sería ingresar la contraseña de root, ya que no hay una contraseña de root configurada a partir de ahora, presione Enter y continúe.
A continuación, se le preguntará si desea establecer una nueva contraseña de root, acéptela y establezca una nueva contraseña de root. Luego ingrese Y en todas las indicaciones que siguen, lo que finalizará el proceso.
Para verificar si la instalación funciona correctamente, ejecute este comando.
mysqladmin -u root -p version
Output: Enter password: mysqladmin Ver 9.0 Distrib 5.5.52-MariaDB, for Linux on x86_64 Copyright (c) 2000, 2016, Oracle, MariaDB Corporation Ab and others. Server version 5.5.52-MariaDB Protocol version 10 Connection Localhost via UNIX socket UNIX socket /var/lib/mysql/mysql.sock Uptime: 23 min 10 sec Threads: 1 Questions: 25 Slow queries: 0 Opens: 1 Flush tables: 2 Open tables: 27 Queries per second avg: 0.017
Instalando PHP
PHP es un lenguaje de secuencias de comandos utilizado en el diseño web para crear páginas web dinámicas.
sudo yum install php php-mysql
Recibirá un mensaje de aviso, ingrese y y finalice la instalación.
Para verificar los módulos disponibles, ingrese el comando en la terminal
yum search php-
Output: Loaded plugins: fastestmirror Loading mirror speeds from cached hostfile * base: mirror.fibergrid.in * extras: mirror.fibergrid.in * updates: mirror.fibergrid.in ========================================================================== N/S Matched: php- =========================================================================== php-bcmath.x86_64 : A module for PHP applications for using the bcmath library php-cli.x86_64 : Command-line interface for PHP php-common.x86_64 : Common files for PHP php-dba.x86_64 : A database abstraction layer module for PHP applications php-devel.x86_64 : Files needed for building PHP extensions php-embedded.x86_64 : PHP library for embedding in applications php-enchant.x86_64 : Human Language and Character Encoding Support php-fpm.x86_64 : PHP FastCGI Process Manager php-gd.x86_64 : A module for PHP applications for using the gd graphics library php-imap.x86_64 : A module for PHP applications that use IMAP php-intl.x86_64 : Internationalization extension for PHP applications php-ldap.x86_64 : A module for PHP applications that use LDAP php-mbstring.x86_64 : A module for PHP applications which need multi-byte string handling php-mysql.x86_64 : A module for PHP applications that use MySQL databases php-odbc.x86_64 : A module for PHP applications that use ODBC databases php-pdo.x86_64 : A database access abstraction module for PHP applications php-pear.noarch : PHP Extension and Application Repository framework php-pecl-apc.x86_64 : APC caches and optimizes PHP intermediate code php-pecl-apc-devel.i686 : APC developer files (header) php-pecl-apc-devel.x86_64 : APC developer files (header) php-pecl-memcache.x86_64 : Extension to work with the Memcached caching daemon php-pgsql.x86_64 : A PostgreSQL database module for PHP php-process.x86_64 : Modules for PHP script using system process interfaces php-pspell.x86_64 : A module for PHP applications for using pspell interfaces php-recode.x86_64 : A module for PHP applications for using the recode library php-snmp.x86_64 : A module for PHP applications that query SNMP-managed devices php-soap.x86_64 : A module for PHP applications that use the SOAP protocol php-tidy.x86_64 : Standard PHP module provides tidy library support php-xml.x86_64 : A module for PHP applications which use XML php-xmlrpc.x86_64 : A module for PHP applications which use the XML-RPC protocol php-zts.x86_64 : Thread-safe PHP interpreter for use with the Apache HTTP Server Name and summary matches only, use "search all" for everything.
Para conocer los detalles del paquete o módulo escriba lo siguiente
yum info module-name
En lugar de module-name, ingrese el nombre del módulo correspondiente. Por ejemplo,
yum info php-bcmath
Para instalar ese paquete, escriba lo siguiente
sudo yum install php-bcmath
Puede instalar varios paquetes php según sus requisitos.
Paso 3: Para verificar si php está instalado correctamente en su VPS, cree un archivo usando el siguiente comando
sudo vim /var/www/html/info.php
Presione la tecla I para editar el archivo, ingrese el siguiente contenido en el archivo y luego guarde y salga presionando ESC tecla seguida de :wq! luego pulsa Intro.
<?php phpinfo(); ?>
Reiniciando servidor web
El último paso para instalar la pila LAMP en CentOS 7 es reiniciar el servidor Apacheweb. Esto se hace para que el servidor web reconozca los cambios realizados en el servidor.
sudo systemctl restart httpd
Esto reiniciará el servidor inmediatamente y listo. Ahora ha instalado la pila LAMP en su servidor que se ejecuta en CentOS 7.
Puede verificar la instalación de php ingresando la siguiente URL en su navegador web.
http://server_ip_address/info.php
Salida:
Se recomienda eliminar este archivo php que creó, ya que podría proporcionar datos importantes del servidor a usuarios no autorizados . Puede hacer esto ejecutando el siguiente comando en su terminal.
sudo rm /var/www/html/info.php