¿Qué es LAMP stack?
La pila LAMP es una combinación de un sistema operativo y una pila de software de código abierto que son importantes en la configuración inicial de 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 6 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 service httpd start
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
MySQL es un software de sistema de gestión de bases de datos que se utiliza para gestionar, almacenar y recuperar bases de datos en servidores de base de datos. Para instalar MySQL, siga los pasos a continuación:
sudo yum install mysql-server
Mientras la instalación está en proceso, se le pedirá permiso, ingrese y y continúe con la instalación. Cuando la instalación finalice con éxito, puede iniciar mysql.
sudo service mysqld start
sudo /usr/bin/mysql_secure_installation
Se le pedirá que ingrese la contraseña de root, ya que acaba de instalar MySQL, no tendrá ninguna contraseña de root. Así que presiona enter y continúa.
Se le dará la opción de cambiar la contraseña raíz de MySQL, eliminar las cuentas de usuario anónimo, deshabilitar los inicios de sesión de raíz fuera de localhost y eliminar las bases de datos de prueba. Se recomienda que responda afirmativamente a estas opciones y continúe con el proceso.
Enter current password for root (enter for none): OK, successfully used password, moving on... Setting the root password ensures that nobody can log into the MySQL root user without the proper authorisation. Set root password? [Y/n] Y New password: Re-enter new password: Password updated successfully! Reloading privilege tables.. ... Success! By default, a MySQL installation has an anonymous user, allowing anyone to log into MySQL without having to have a user account created for them. This is intended only for testing, and to make the installation go a bit smoother. You should remove them before moving into a production environment. Remove anonymous users? [Y/n] Y ... Success! Normally, root should only be allowed to connect from 'localhost'. This ensures that someone cannot guess at the root password from the network. Disallow root login remotely? [Y/n] Y ... Success! By default, MySQL comes with a database named 'test' that anyone can access. This is also intended only for testing, and should be removed before moving into a production environment. Remove test database and access to it? [Y/n] Y - Dropping test database... ... Success! - Removing privileges on test database... ... Success! Reloading the privilege tables will ensure that all changes made so far will take effect immediately. Reload privilege tables now? [Y/n] Y ... Success! Cleaning up... All done! If you've completed all of the above steps, your MySQL installation should now be secure. Thanks for using MySQL!
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.
También debemos configurar los procesos para que se ejecuten automáticamente cuando se inicie el servidor (php se ejecutará automáticamente una vez que se inicie Apache):
sudo chkconfig httpd on sudo chkconfig mysqld on
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 6 es reiniciar el servidor Apacheweb. Esto se hace para que el servidor web reconozca los cambios realizados en el servidor.
sudo service httpd restart
Esto reiniciará el servidor inmediatamente y listo. Ahora ha instalado la pila LAMP en su servidor que se ejecuta en CentOS 6.
Puede verificar la instalación de php ingresando la siguiente URL en su navegador web.
http://server_ip_address/info.php
.