Qué es Linux: Todo lo que necesitas saber
Profundizamos en el sistema operativo Linux, desde su nacimiento hasta sus componentes, distribuciones más usadas y una comparativa con Windows.
Aprende a realizar de forma correcta la instalación y el despliegue de un servidor LAMP en un sistema Linux, te lo contamos paso a paso de forma detallada.
Tanto si eres desarrollador web como diseñador te interesa la idea de poder tener un servidor disponible en tu red local para pruebas y testeos. Y todavía mejor es la idea de poder llevarte el servidor contigo como un conjunto de servicios instalados en tu ordenador y así poder trabajar en tus proyectos desde cualquier lugar.
Si usas Linux, LAMP es la palabra mágica.
Cuando hablamos de LAMP podemos referirnos a un conjunto de herramientas de software agrupadas.
En realidad el término es algo amplio para explicar pero se suele resumir que se trata de un acrónimo que LAMP significa Linux, Apache, MySQL y PHP. En donde Linux es el sistema operativo, Apache es el servidor web, MySQL es el servidor de la base de datos (aunque en la actualidad se ha visto desplazado por MariaDB ) y PHP es el lenguaje para secuencias de comandos del lado del servidor, responsable de generar páginas web dinámicas.
Entonces debemos de entender LAMP como los pilares en donde nuestro proyecto se apoyará e irá creciendo, ya usemos luego nuestro propio código o trabajando con los framework de WordPress, Joomla, Drupal o Moodle.
Los que usamos Ubuntu o alguna de sus distribuciones derivadas no tendremos problema en instalar los paquetes necesarios para hacer funcionar nuestro servidor LAMP en un abrir y cerrar de ojos. Basta con escribir la siguiente línea en nuestro terminal:
sudo apt-get install lamp-server^
Seguro que te has fijado en el símbolo “^” , no se trata de un error tipográfico sino que es importante mantenerlo. Significa que lo que precede es un meta-paquete.
¿Meta-paquete? ¿Y eso qué es? Un meta-paquete es un paquete de paquetes, dicho de otra manera, un meta-paquete esencialmente no contiene nada más que un script que instala otros paquetes respetando sus dependencias. Por ejemplo: El paquete ubuntu-desktop instala todos los paquetes necesarios para la IU predeterminada para Ubuntu. Pero al desinstalar el mismo no desinstala sus dependencias.
Una vez iniciemos la instalación hay muy poco que hacer. Se nos preguntará por la contraseña que usará MySQL para su securización y tendríamos el entorno listo para funcionar en pocos minutos.
Ahora ya podemos usar el directorio /var/www/
, donde por defecto se alojará nuestro proyecto web, lo único que queda por hacer es asignar permisos a ese directorio para que podamos copiar nuestros ficheros. Desde terminal:
miguel@twiki:/var/www$ sudo chown -R miguel
[sudo] password for miguel: *********
Otro método, más sencillo es crear un enlace simbólico a una carpeta en nuestro “home” , sin necesidad de editar derechos ni complicaciones. Por ejemplo:
ln -s /var/www /home/usuario/www
Donde usuario es nuestro usuario de sesión y www es la carpeta donde guardaremos nuestra página web.
Puede ser interesante usar phpmyadmin para crear, editar, borrar o realizar consultas en nuestra base de datos.
sudo apt-get install phpmyadmin
Luego desde el navegador escribimos http://localhost/phpmyadmin/
para tener acceso a phpmyadmin y ponernos manos a la obra.
Hasta ahora he hablado del método fácil, qué ocurre si queremos instalar LAMP de una manera aún más personalizada. A continuación, vamos a desgranar cómo haríamos la instalación personalizada de modo manual y sin recurrir al método anterior.
Apache es un popular servidor web multiplataforma de código abierto. Es activamente mantenido por Apache Software Foundation. Su primera versión se presentó en 1995 y desde entonces múltiples empresas lo han usado como base de sus proyectos. Nombres como Cisco, IBM, Adobe, Salesforce, LinkedIn o Facebook sirven para hacernos una idea de su solvencia.
Instalar Apache en Linux es una tarea sencilla. La mayoría de las distribuciones cuentan con los paquetes necesarios en sus repositorios. Por ejemplo, en distribuciones basadas en Debian/Ubuntu el proceso sería abrir un terminal e ingresar la siguiente instrucción:
sudo apt-get install apache2
Y listo, ya tienes instalado Apache 2 en tu máquina. Accede desde tu navegador a http://localhost
para verificar que todo funcione.
Nota: Una vez que arranques tu máquina Apache será lanzado de manera automática, pero en caso de tener que iniciarlo o detenerlo de forma manual, ingresá el siguiente comando en un terminal:
sudo service apache2 start
Para detener el servicio:
sudo service apache2 stop
Y para reiniciarlo
sudo service apache2 restart
Si la conexión se rechaza o no se completa, es posible que tengamos un firewall que impida las solicitudes entrantes al puerto TCP 80. Si estás usando el firewall de iptables, debes ejecutar el siguiente comando para abrir el puerto TCP 80:
sudo iptables -I INPUT -p tcp --dport 80 -j ACCEPT
PHP se utiliza para generar páginas web dinámicas, páginas cuyo contenido no es el mismo siempre y se actualiza en base a unos parámetros definidos en su programación. Como curiosidad, este lenguaje fue creado originalmente por Rasmus Lerdorf para rastrear a los visitantes que visitaban su página de inicio personal y a medida que se hizo más popular, Lerdorf finalmente lo lanzó como un proyecto de código abierto.
En la actualidad este lenguaje está siendo mantenido por la comunidad y cuenta con una amplia popularidad y aunque existen otras opciones para construir páginas dinámicas, en la actualidad este es el más extendido.
En un terminal solo tenemos que lanzar el siguiente comando:
PHP 7.4: sudo apt install php7.4 libapache2-mod-php7.4 php7.4-mysql php-common php7.4-cli php7.4-common php7.4-json php7.4-opcache php7.4-readline
Nota, recuerda reiniciar APACHE para que los cambios sean aplicados con: sudo service apache2 restart
El siguiente paso es probar que PHP funciona correctamente en nuestro servidor Apache. No hay que hacer gran cosa aquí, basta con crear un archivo info.php con un script en su interior y verificar que podemos ver su contenido en el navegador. Por ejemplo:
Creamos el archivo: sudo vim /var/www/html/info.php
Lo editamos pegando el siguiente código PHP: <?php phpinfo(); ?>
Una vez guardado el archivo, ahora en la barra de direcciones del navegador tendremos que escribir localhost/info.php. Si todo ha ido bien, debería mostrar la información de PHP.
MySQL es el sistema de gestión de bases de datos relacional más extendido en la actualidad al estar basado en código abierto. Desarrollado originalmente por MySQL AB, fue adquirida por Sun MicroSystems en 2008 y ésta su vez comprada por Oracle Corporation en 2010, la cual ya era dueña de un motor propio InnoDB para MySQL.
MySQL es un sistema de gestión de bases de datos que cuenta con una doble licencia. Por una parte es de código abierto, pero por otra, cuenta con una versión comercial gestionada por la compañía Oracle.
Esto último, la compra de Oracle, generó cierto resquemor en la comunidad dando lugar a otros proyectos como MariaDB en alternativa. Un fork de MySQL que ofrece compatibilidad con está.
Para instalar MySQL ingresá el siguiente comando en un terminal:
sudo apt-get install mysql-server mysql-client libmysqlclient-dev
Durante el proceso de instalación te va a pedir que asignes la contraseña al usuario root de MySQL.
Pero antes de continuar, veamos también cómo instalar MariaDB en lugar de MySQL:
sudo apt install mariadb-server mariadb-client
Ambos no pueden convivir, así que si quieres cambiar deberás desinstalar todo resto de MySQL en tu servidor mediante:
sudo apt-get purge mysql*
sudo apt-get autoremove
Para verificar la correcta instalación de MariaDB:
mysql -v
Debería devolver información sobre MariaDB.
Si todo ha ido correctamente al finalizar estas líneas estoy seguro que ya estás disfrutando de tu entorno LAMP para comenzar a trabajar en tu proyecto. Es posible que ahora quieras añadir opciones avanzadas de configuración de Apache o que tengas dudas por resolver. No olvides dejar tu comentario y compartir esta entrada en tus redes sociales si te ha gustado.
También te puede interesar
Profundizamos en el sistema operativo Linux, desde su nacimiento hasta sus componentes, distribuciones más usadas y una comparativa con Windows.