Introducción
Un conjunto “LAMP” es un grupo de software de código abierto que normalmente se instala junto para permitir que un servidor aloje sitios web dinámicos y aplicaciones web. Este término es en realidad un acrónimo que representa el sistema operativo Linux, con el servidor web Apache. Los datos del sitio se almacenan en una base de datos MySQL, y el contenido dinámico es procesado por PHP.
En esta guía, aprenderemos instalar LAMP en un droplet de Ubuntu 14.04. Ubuntu cumplirá nuestro primer requisito: un sistema operativo Linux.
Nota: Cotiza con nosotros tu servidor, ¡somos tu mejor opción!
Prerrequisitos
Antes de comenzar con esta guía, debes tener una cuenta de usuario no root separada configurada en tu servidor.
Paso 1: Instalar Apache
El servidor web Apache es actualmente el servidor web más popular del mundo, lo que lo convierte en una excelente opción predeterminada para alojar un sitio web.
Podemos instalar Apache fácilmente usando gestor de paquetes de Ubuntu, apt. Un administrador de paquetes nos permite instalar la mayoría del software sin problemas desde un repositorio mantenido por Ubuntu.
Para nuestros propósitos, podemos comenzar escribiendo estos comandos:
1 2 |
sudo apt-get update sudo apt-get install apache2 |
Como estamos usando un el comando sudo, estas operaciones se ejecutan con privilegios de root. Te pedirá la contraseña de tu usuario habitual para verificar sus intenciones.
Después, se instala tu servidor web.
Puede hacer una verificación al azar de inmediato para verificar que todo salió según lo planeado visitando la dirección IP pública de tu servidor en tu navegador web (ver la nota en el siguiente encabezado para averiguar cuál es tu dirección IP pública si no tienes esta información). ya):
1 |
http: //your_server_IP_address |
Verás la página web predeterminada de Ubuntu 14.04 Apache, que está allí con fines informativos y de prueba. Debería verse algo como esto:
Si ves esta página, entonces tu servidor web ahora está correctamente instalado.
Cómo encontrar la dirección IP pública de su servidor
Si no sabes cuál es la dirección IP pública de tu servidor, hay varias maneras de encontrarla. Por lo general, esta es la dirección que usas para conectarte a tu servidor a través de SSH.
Desde la línea de comandos, puedes encontrar esto de varias maneras. Primero, puedes usar las herramientas iproute2 para obtener tu dirección al escribir esto:
1 |
ip addr show eth0 | grep inet | awk '{ print $2; }' | sed 's/\/.*$//' |
Esto te devolverá una o dos líneas. Ambas son direcciones correctas, pero es posible que tu computadora solo pueda usar una de ellas, así que no dudes en probar cada una.
Un método alternativo es utilizar una parte externa a decir cómo se ve tu servidor. Puede hacerlo preguntando a un servidor específico cuál es su dirección IP:
1 |
curl http://icanhazip.com |
Independientemente del método que utilices para obtener tu dirección IP, puedes escribirla en la barra de direcciones de tu navegador web para llegar al servidor.
Paso 2: Instalar MySQL
Ahora que tenemos nuestro servidor web en funcionamiento, es hora de instalar MySQL. MySQL es un sistema de gestión de bases de datos. Básicamente, organizará y proporcionará acceso a las bases de datos donde nuestro sitio puede almacenar información.
Nuevamente, podemos usar apt para adquirir e instalar nuestro software. Esta vez, también instalaremos otros paquetes “de ayuda” que nos ayudarán a lograr que nuestros componentes se comuniquen entre sí:
1 |
sudo apt-get install mysql-server php5-mysql |
Nota: En este caso, no es necesario que se ejecute sudo apt-get update antes del comando. Esto se debe a que recientemente lo ejecutamos en los comandos anteriores para instalar Apache. El índice de paquetes en nuestra computadora ya debería estar actualizado.
Durante la instalación, tu servidor te pedirá que selecciones y confirmes una contraseña para el usuario “root” de MySQL. Esta es una cuenta administrativa en MySQL que ha aumentado los privilegios. Piensa que es similar a la cuenta root del servidor en sí (sin embargo, la que estás configurando ahora es una cuenta específica de MySQL).
Cuando se complete la instalación, debemos ejecutar algunos comandos adicionales para configurar nuestro entorno MySQL de forma segura.
Primero, debemos decirle a MySQL que cree su estructura de directorio de base de datos donde almacenará tu información. Puedes hacerlo escribiendo:
1 |
sudo mysql_install_db |
Luego, ejecutaremos un script de seguridad simple que elimine algunos valores predeterminados peligrosos y bloquee un poco el acceso a nuestro sistema de base de datos. Debes iniciar el script interactivo ejecutando:
1 |
sudo mysql_secure_installation |
Se te pedirá que ingreses la contraseña que estableciste para la cuenta root de MySQL. A continuación, te preguntará si deseas cambiar esa contraseña. Si estás satisfecho con tu contraseña actual, escribe “n” para “no” cuando se te solicite.
Para el resto de las preguntas, simplemente debes presionar la tecla “Enter” en cada mensaje para aceptar los valores predeterminados. Esto eliminará algunos usuarios y bases de datos de muestra, deshabilitará los inicios de sesión de root remotos y cargará estas nuevas reglas para que MySQL respete inmediatamente los cambios que hemos realizado.
En este punto, tu sistema de base de datos ya está configurado y podemos continuar.
Paso 3: Instalar PHP
PHP es el componente de nuestra configuración que procesará el código para mostrar contenido dinámico. Puede ejecutar scripts, conectarse a nuestras bases de datos MySQL para obtener información y entregar el contenido procesado a nuestro servidor web para mostrarlo.
Una vez más podemos aprovechar el sistema apt para instalar nuestros componentes. Vamos a incluir algunos paquetes de ayuda también:
1 |
sudo apt-get install php5 libapache2-mod-php5 php5-mcrypt |
Esto debería instalar PHP sin ningún problema. Vamos a probar esto en un momento.
En la mayoría de los casos, desearemos modificar la forma en que Apache entrega los archivos cuando se solicita un directorio. Actualmente, si un usuario solicita un directorio del servidor, Apache buscará primero un archivo llamado index.html. Queremos decirle a nuestro servidor web que prefiera los archivos PHP, por lo que haremos que Apache busque index.php primero un archivo.
Para hacer esto, escribe este comando para abrir el archivo dir.conf en un editor de texto con privilegios de root:
1 |
sudo nano /etc/apache2/mods-enabled/dir.conf |
Se verá así:
1 2 3 |
<IfModule mod_dir.c> DirectoryIndex index.html index.cgi index.pl index.php index.xhtml index.htm </IfModule> |
Queremos mover el archivo de índice de PHP resaltado arriba a la primera posición después de la especificación DirectoryIndex, como esto:
1 2 3 |
<IfModule mod_dir.c> DirectoryIndex index.php index.html index.cgi index.pl index.xhtml index.htm </IfModule> |
Cuando hayas terminado, guarda y cierra el archivo presionando “CTRL-X”. Tendrás que confirmar el guardado escribiendo “Y” y luego presionar “ENTER” para confirmar la ubicación de guardado del archivo.
Después de esto, debemos reiniciar el servidor web Apache para que nuestros cambios sean reconocidos. Puedes hacer esto escribiendo lo siguiente:
1 |
sudo service apache2 restart |
Instalar módulos PHP
Para mejorar la funcionalidad de PHP, opcionalmente podemos instalar algunos módulos adicionales.
Para ver las opciones disponibles para módulos y bibliotecas PHP, puedes escribir esto en tu sistema:
1 |
apt-cache search php5- |
Los resultados son todos los componentes opcionales que puedes instalar. Te dará una breve descripción de cada uno:
1 2 3 4 5 6 7 8 |
php5-cgi - server-side, HTML-embedded scripting language (CGI binary) php5-cli - command-line interpreter for the php5 scripting language php5-common - Common files for packages built from the php5 source php5-curl - CURL module for php5 php5-dbg - Debug symbols for PHP5 php5-dev - Files for PHP5 module development php5-gd - GD module for php5 . . . |
Para obtener más información sobre lo que hace cada módulo, puedes buscar en Internet o puede consultar la descripción larga del paquete escribiendo:
1 |
apt-cache show package_name |
Habrá muchos resultados, con un campo llamado Description-en que tendrá una explicación más larga de la funcionalidad que proporciona el módulo.
Por ejemplo, para averiguar qué hace el módulo php5-cli, podríamos escribir esto:
1 |
apt-cache show php5-cli |
Junto con una gran cantidad de otra información, encontrarás algo que se ve así:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
. . . SHA256: 91cfdbda65df65c9a4a5bd3478d6e7d3e92c53efcddf3436bbe9bbe27eca409d Description-en: command-line interpreter for the php5 scripting language This package provides the /usr/bin/php5 command interpreter, useful for testing PHP scripts from a shell or performing general shell scripting tasks. . The following extensions are built in: bcmath bz2 calendar Core ctype date dba dom ereg exif fileinfo filter ftp gettext hash iconv libxml mbstring mhash openssl pcntl pcre Phar posix Reflection session shmop SimpleXML soap sockets SPL standard sysvmsg sysvsem sysvshm tokenizer wddx xml xmlreader xmlwriter zip zlib. . PHP (recursive acronym for PHP: Hypertext Preprocessor) is a widely-used open source general-purpose scripting language that is especially suited for web development and can be embedded into HTML. Description-md5: f8450d3b28653dcf1a4615f3b1d4e347 Homepage: http://www.php.net/ . . . |
Si, después de investigar, decides que deseas instalar un paquete, puede hacerlo utilizando el comando apt-get install como lo hemos estado haciendo con nuestro otro software.
Si decidimos que php5-cli es algo que necesitamos, podríamos escribir:
1 |
sudo apt-get install php5-cli |
Si deseas instalar más de un módulo, puedes hacerlo enumerando cada uno, separados por un espacio, siguiendo el comando apt-get install, así:
1 |
sudo apt-get install package1 package2 ... |
En este punto, el conjunto LAMP está instalado y configurado. Aun así, deberíamos probar nuestro PHP.
Paso 4: Probar el procesamiento de PHP en tu servidor web
Para probar que nuestro sistema está configurado correctamente para PHP, podemos crear un script PHP muy básico.
Vamos a llamar a este script info.php. Para que Apache encuentre el archivo y lo muestre correctamente, debe guardarse en un directorio muy específico, que se denomina “web root”.
En Ubuntu 14.04, este directorio se encuentra en /var/www/html/. Podemos crear el archivo en esa ubicación escribiendo:
1 |
sudo nano /var/www/html/info.php |
Esto abrirá un archivo en blanco. Queremos colocar el siguiente texto, que es un código PHP válido, dentro del archivo:
1 2 3 |
<?php phpinfo(); ?> |
Cuando hayas terminado, guarda y cierra el archivo.
Ahora podemos probar si nuestro servidor web puede mostrar correctamente el contenido generado por un script PHP. Para probar esto, solo tenemos que visitar esta página en nuestro navegador web. Necesitará la dirección IP pública de tu servidor nuevamente.
La dirección que quieres visitar será:
1 |
http://your_server_IP_address/info.php |
La página a la que llegas debe verse algo como esto:
Esta página básicamente te brinda información sobre tu servidor desde la perspectiva de PHP. Es útil para la depuración y para garantizar que la configuración se aplique correctamente.
Si esto tuviste éxito, entonces tu PHP está funcionando como se esperaba.
Es probable que desees eliminar este archivo después de esta prueba porque en realidad podría proporcionar información sobre tu servidor a usuarios no autorizados. Para hacer esto, puedes escribir lo siguiente:
1 |
sudo rm /var/www/html/info.php |
Siempre puedes volver a crear esta página si necesitas acceder a la información nuevamente más tarde.
Conclusión
Ahora que tienes el conjunto LAMP instalado, tienes muchas opciones para lo que debes hacer a continuación. Básicamente, has instalado una plataforma que te permitirá instalar la mayoría de los tipos de sitios web y software web en tu servidor.