Marzo 22, 2023
El día de hoy aprenderemos a montar nuestro propio servidor web utilizando Lamp.
Lamp que es la abreviación de las palabras Linux +apache+ mysql + php o sea que básicamente vamos a montar un sistema que nos va a permitir hospedar plataformas o también programas que nosotros hagamos utilizando mysql y php, mysql como motor de bases de datos y php como lenguaje de programación para nuestras aplicaciones.
Para hacer esto completamente gratuito puedes utilizar tu computadora y un programa que se llama VirtualBox, este programa te va a permitir crear una máquina virtual donde vamos a instalar y hacer todo lo necesario para que funcione tu servidor web con Lamp, así que por efectos prácticos te voy a mostrar cómo utilizar VirtualBox para montar ahí completamente gratis tu proyecto así que vamos a ir a nuestra computadora, en este caso ustedes se van a virtualbox.org
Después hacen clic en la sección de descargas downloads, una vez que van allí seleccionarían su sistema operativo, en mi caso yo estoy utilizando windows 10 entonces descargue el software de windows 10 y después lo instale, si ustedes tienen mac o tienen Linux también pueden descargar el programa para su sistema operativo y va a funcionar exactamente igual
Una vez que instalaron ese programa les va a aparecer una ventana, una vez que estamos dentro de VirtualBox vamos a ir a la sección de nueva, después le vamos a poner el nombre a nuestra máquina por ejemplo Mivirtual2, después vamos a seleccionar donde queremos que se guarde la máquina y después le decimos que es un linux lo dejamos así como está y lo dejamos que su punto de 64 bits
La instalación de Mivirtual2 requiere mínimo un gb de ram así que si no tienen mucho ram en su computadora lo pueden dejar en 1024 mb, en este caso le voy a poner un poquito más como 2048 que son dos gigabytes para que vaya más rápido
Luego le vamos a decir crear un disco duro virtual ahora, básicamente es crear un archivo en nuestra computadora donde se va a guardar toda la información de lo que hagamos de este sistema operativo Mivirtual2, después le vamos a decir dónde queremos que se ubique el disco duro, en este caso yo lo voy a dejar en donde estoy creando todo el proyecto que es la ruta que ya viene específica y le vamos a decir qué tamaño queremos que utilice de nuestro disco duro y que tenga básicamente el disco duro virtual nuestro sistema operativo linux, en este caso hay una parte importante que comentarles el mínimo de disco duro que puede tener un servidor Mivirtual2 es de 4 gigabytes así que ustedes pongan el espacio que quieran, yo lo voy a dejar en 10 gigabytes porque es más que suficiente para esta práctica, tenemos varias opciones y tecnologías para seleccionar ahorita no vamos a entrar estos detalles yo lo voy a dejar en que el espacio disco duro está reservado dinámicamente para que conforme vaya grabando cosas pues se vayan utilizando los 10 gigabytes y le damos en siguiente
Visualizamos el resumen de nuestra información y si esta todo correcto le damos click a la opción terminar
Después de la acción realizada anteriormente rápido se creó nuestra imagen o nuestro espacio más bien para poder instalar Mivirtual2
Un vez que ya tenemos esta configuración realizada ahora lo que qué hacer es seleccionar la máquina que está aquí y le vamos a dar el clic derecho- configuración para poder modificar el número de núcleos de procesador que va a poder utilizar esta máquina virtual, algo importante se requiere mínimo un núcleo de un gigahertz para que funcione correctamente la máquina virtual
Entonces nos vamos a ir a sistema, de sistema a procesador y de procesador le voy a decir que sean cuatro, con esto pues va a ser muchísimo más que suficiente, vamos a darle aceptar entonces ya asignamos el procesador
Por último, vamos a hacer algo bien interesante que es configurar la red y nos vamos a lo que viene siendo el adaptador de red para configurarlo que vaya en adaptador puente en lugar de nada
Y vamos a aceptar porque de esta manera la máquina virtual va a tener una IP asignada por DHCP que es nuestro router quien le va a entregar la dirección IP que va a ser exactamente igual en el rango de la máquina house de la máquina principal de esta manera vamos a poder brincar desde nuestra máquina principal a la máquina virtual utilizando SSH para acceder al servidor, básicamente vamos a poder acceder remotamente desde nuestra máquina principal para poder copiar pegar o hacer lo que queramos y acceder como si fuera un servidor en la nube eso también va a estar interesante y en los momentos más lo vamos a usar
Ahora sigue montar nuestro disco de instalación de Ubuntu para esto les digo primero donde los descargaríamos, tenemos que entrar a ubuntu la página oficial para descargar el iso o la imagen del disco Ubuntu
Nos vamos aquí a descargas y después de descargas vamos a decirle que queremos descargar la imagen de servidor ubuntu server y de ahí le diríamos en manual server installation y le damos aquí ubuntu server 22-10, en esta guía vamos a utilizar el 22.04 que es una imagen del sistema operativo que va a durar bastantes años entonces le damos clic aquí y eso ya nos va a descargar la imagen
cómo pueden ver aquí empezó a descargar la imagen, esta tiene un peso de 1.4 gigabytes
Voy a regresar a VirtualBox una vez descargada la imagen de ubuntu nos vamos a ir a configuración para montar la imagen como si fuera un disco compacto virtualmente en nuestra máquina virtual
Para eso vamos a ir aquí a almacenamiento seleccionamos en el controlador de ID de el que dice vacío
Presionamos el disco que viene a la derecha le decimos que queremos seleccionar un archivo de disco
y en este caso yo ya tengo aquí la imagen que descargue previamente de internet, la seleccionó y le doy a aceptar
En automático al darle iniciar va a empezar el proceso de booteo de la máquina virtual donde vamos a poder instalar nuestro sistema operativo
Cómo podemos observar esta pantalla de lado derecho es como si tuviéramos la máquina físicamente instalando el sistema operativo pero pues lo estamos haciendo de manera virtual para no tener que formatear nuestra computadora
Ahora toca que empiece a darle siguiente a todos los menús contextuales siguiendo los procesos que me indique en la pantalla para poder instalar el sistema operativo
Y listo ya tenemos instalado nuestro servidor ubuntu server y ya me he elogiado a él con los datos de acceso que creé, entonces ahora lo que hay que hacer es ir a el menú de dispositivos para después ir a portapapeles compartido y decirle que sea bidireccional para permitirnos hacer copias de texto y meterlas en el portapapeles para pegarlas en la máquina virtual
Ahora vamos a empezar con la instalación del servidor Lamp, primero vamos a empezar con apache,
Para instalar apache vamos a utilizar el siguiente comando: sudo apt install apache2,
nos va a pedir la contraseña de nuestro usuario que éste debe estar en permisos de sudo y ahora vamos a poner simplemente nuestra contraseña y vamos a decirle que sí para que se instalen los paquetes, esto nos va a instalar el servidor de apache
Ya tenemos apache instalado, ahora con sudo vamos a poner el comando: sudo apt install mysql-server para instalar nuestro servidor de bases de datos mysql, vamos a esperar un poco a que se instale y vamos a continuar accediendo a él
Y listo ya tenemos instalado nuestro servidor de bases de datos mysql ahora para continuar vamos a instalar nuestro servidor open ssh que nos va a permitir a nosotros acceder a esta misma máquina virtual pero desde cualquier programa que abra una terminal ssh porque en el siguiente procedimiento vamos a tener que instalar un montón de librerías que va a ser más fácil copiar y pegar que escribir, así que vamos a revisar cuál es nuestra dirección IP en esta máquina virtual
Y ahora vamos a abrir nuestro programa de putty que lo pueden descargar en google busquen putty.org y pueden instalar este programita que es bastante útil
Y van a poner la dirección IP de su máquina virtual, en este caso estamos hablando de 192.168.100.164 nos vamos por puerto 22
Ya estamos dentro de nuestro servidor después ponemos nuestro usuario y nuestra contraseña
Una vez hecho esto y ya tenemos acceso por medio de ssh, podemos regresar a nuestra máquina virtual y salir de allí o desbloquear con exit y continuar ahora desde terminal en putty
Una vez que accedimos a nuestro servidor vamos a instalar el software properties-common: sudo apt-get install software-properties-common que es básicamente las librerías básicas y necesarias, son los programas para poder instalar o hacer muchas cosas que usualmente se hacen en servidores linux es un paquete de propiedades del software comunes
Y vamos a agregar un repositorio que se llama Andrés, este repositorio lo vamos hacer con el comando: sudo add-apt-repository ppa:ondrej/php y el nombre del repositorio que queremos agregar
Damos enter para aceptar y ya simplemente se van a empezar a descargar e instalar estos repositorios en nuestro sistema
Por último vamos a hacer el comando: sudo apt-get update para actualizar la lista de repositorios en nuestra máquina y así poder instalar el software que necesitamos
Ahora voy a copiar este comando porque como les decía es bastante extenso y limpiarlo nos iba a llevar algo de tiempo donde básicamente lo que estamos haciendo es sudo apt install para que se instalen estos programas, se va a instalar php 7.4 y todas estas librerías que son necesarias para la mayoría de las aplicaciones hechas en el lenguaje de programación php y que utilice en mysql así que vamos a dar enter para instarlar todas estas librerías
Ya tenemos instalado php entonces ahora lo que vamos a hacer es decirle al apache que active PHP 7.4, para esto vamos a utilizar el comando: sudo a2enmod php7.4 y le vamos a decir que queremos activar php 7.4 y listo ya está activo
Y ahora vamos a decirle el comando: sudo a2enmod rewrite para que funcionen todas estas reglas de HTACCES que es un archivo que se utiliza en muchas aplicaciones php para hacer sin links simbólicos y lo activamos
Nuestra terminal dice que ahora necesitamos reiniciar nuestro servidor apache y para esto vamos a hacer un comando: sudo service apache2 restart que es el nombre de nuestro servidor apache para que se reinicie con restart y listo ya reinicio
Ahora en teoría ya nos debe responder el servidor apache pero antes de eso tenemos que asignar el usuario y grupo que va a poder utilizar nuestro servidor apache
Para esto vamos a ir a: sudo nano /etc/apache2/envvars que es nuestro editor de texto
Y aquí lo que vamos a supervisar nada más es el usuario y el grupo con el que corre apache que es www-data y listo
Pero ahora también tenemos que supervisar en donde van a estar nuestros proyectos de internet, usualmente la ruta debe tener como usuario privilegio w-data pero como podemos ver no es así, entonces esto lo vamos a solucionar muy fácilmente utilizando el siguiente comando: sudo chown -R www-data:www-data /var/www/html/
Entonces ahora sí tenemos que continuar diciéndole a apache algunas cosas importantes para que funcione con php, para esto nos vamos a ir a editar el archivo de configuración de apache con: sudo nano /etc/php/7.4/apache2/php.ini y aquí tenemos este archivo donde vamos a buscar por ejemplo el memory limit que es una línea que podemos encontrar buscando con CTRL+W como dice aquí where is le podemos poner por ejemplo para hacer esa búsqueda podemos escribir memory_limit=128mb éste lo podemos modificar con un número más grande como 1024 que sería un gigabyte para que algunas cosas que ejecute php puedan utilizar esa cantidad de memoria, lo dejamos en 128
Y casi por último para que nuestro servidor apache funcione con php vamos a abrir el archivo que se encuentra en la siguiente ruta que es: sudo nano /etc/apache2/sites-available/000-default.conf aquí le vamos a indicar a apache donde se encuentran los archivos de nuestro proyecto de internet
Aquí justo antes de cerrar VirtualHost vamos a pegar la siguiente línea, básicamente le estamos diciendo que existe un servidor virtual donde los archivos van a estar en la siguiente ruta: y que se va a poder utilizar en ese folder lo que son los links como estos enlaces que llevan diagonal para que pueda seguir ese tipo de reglas que se especifican en el HTACCES esto es lo más por default y básico por hacer, entonces guardamos nuestros cambios Ctrl+X y después Ctrl+Y y le decimos enter para decirle que sí y aguardamos eso
Ahora para ver si funciona nuestro servidor debemos poner nuestra dirección IP en nuestro navegador y deberíamos ver al servidor apache, ya tenemos nuestro servidor apache 2 en ubuntu corriendo dentro de la máquina virtual en VirtualBox con mysql
para saber si apache está funcionando correctamente lo que podemos hacer es ir a: cd/var/www/html y crear un arxchivo que se llame index.php por ejemplo
Y dentro de el podemos escribir la siguiente línea < php phpinfo( );> y le damos guardar cambios y listo tenemos nuestro script
Si vamos a la página y refrescamos podemos ver que php ya está funcionando versión 7.4.33, esto quiere decir que ya podemos programar en php y utilizar el motor de base de datos de mysql que instalamos previamente
Listo hemos logrado instalar nuestro primer servidor web utilizando Lamp, con esto podemos hacer un montón de cosas como montar un servidor de aplicaciones, un pequeño proyecto web, podemos montar una página en internet, podemos por ejemplo montar alguna plataforma que nos permita administrar archivos en la nube, montar nuestro propio google drive entre muchas otras cosas.