Instalando Apache y PHP en Ubuntu Server
Hace un par de semanas fue necesario migrar un sitio que mantengo para un amigo, desde un servidor compartido a un Cloud VPS (Virtual Private Server) ya que el hosting no estaba dando el ancho para la instalación de Moodle que teníamos en dicho servidor.
Sin embargo el cambio implicaba que este nuevo servidor era autoadministrado, y por lo tanto había que instalar por shell todos los servicios, es decir Apache, PHP, MySQL y PHPMyAdmin, y creo interesante comentar las dificultades que esto implica en caso que les toque hacer algo similar.
En un primer paso les comentaré acerca de la instalación de Apache y PHP, para comentar acerca de la instalación de mySQL y PHPMyAdmin en un segundo post. En general, la instalación de Apache, mySQL y PHP en Linux es llamada LAMP, acrónimo que utiliza las primeras letras de Linux, Apache, MySQL y PHP.
Primero que todo, migramos a un Cloud VPS SSD con Ubuntu Server ya que tenía experiencia previa con Ubuntu y con el uso de Terminal en OS X, por lo tanto estimé que era la mejor opción. Aún así, administrar un servidor es bastante más avanzado que usar una distribución standalone o NO servidor de Ubuntu.
Paso 1: Instalando Apache
Ingresamos al servidor desde Terminal por SSH, una vez dentro procedemos a actualizar las dependencias e instalar Apache como primer paso.
$ sudo apt-get update
$ sudo apt-get upgrade
$ sudo apt-get install apache2
Una vez hecho esto ya tenemos instalado Apache y corresponde verificarlo para lo cual necesitamos la IP del servidor. Abrimos una ventana de un navegador y en la barra de dirección escribimos.
http://direccion_IP_del_servidor
Si el servidor Apache fue instalado correctamente deberíamos ver lo siguiente en la ventana de nuestro navegador.
Si no conocemos la dirección IP de nuestro servidor, podemos obtenerla desde el mismo shell con el siguiente comando.
$ curl http://icanhazip.com
Paso 2: Instalando PHP
PHP es el componente de nuestra instalación que permite la ejecución de contenido dinámico y conectarse a bases de dato mySQL.
Para instalar PHP es necesario instalar los siguientes paquetes
$ sudo apt-get install php5 libapache2-mod-php5 php5-mcrypt php5-common
Ahora es necesario modificar el orden de ejecución del tipo de archivo en Apache para que le de prioridad a los archivos .php por sobre los archivos .html. Para esto debemos realizar algunas modificaciones en el archivo dir.conf
con el siguiente comando.
$ sudo nano /etc/apache2/mods-enabled/dir.conf
Dicho archivo probablemente luzca de la siguiente forma
<IfModule mod_dir.c>
DirectoryIndex index.html index.cgi index.pl index.php index.xhtml index.htm
</IfModule>
Es necesario mover index.php
al principio para que luzca de la siguiente forma
<IfModule mod_dir.c>
DirectoryIndex index.php index.html index.cgi index.pl index.xhtml index.htm
</IfModule>
Una vez realizados los cambios es necesario grabarlos con Ctrl-O
, confirmar la operación presionando Y
y luego ENTER
. Una vez grabado el archivo salimos del editor usando Ctrl-X
.
Ahora es necesario reiniciar el servidor Apache para que los cambios surtan efecto
$ sudo service apache2 restart
Paso 3: Verificar el funcionamiento de PHP
Finalmente verificaremos la correcta instalación de PHP, para lo cual crearemos un archivo llamado info.php
en el directorio raíz de Apache el cual habitualmente es /var/www/html/
, con el siguiente comando
$ sudo nano /var/www/html/info.php
Esto abrirá un archivo en blanco en cual escribiremos lo siguiente
<?php
phpinfo();
?>
Grabamos con Ctrl-O
, confirmamos que queremos grabar con Y
y ENTER
, y salimos con Ctrl-X
.
Ahora en una ventana de navegador escribimos la dirección http://direccion_IP_del_servidor/info.php
y si PHP está instalado correctamente veremos lo siguiente
Finalmente es necesario eliminar el archivo info.php
que creamos puesto que puede entregar información importante acerca de nuestro servidor a las personas incorrectas.
$ sudo rm /var/www/html/info.php
Con esto ya tendremos instalados correctamente Apache y PHP. Como dije anteriormente más adelante veremos como instalar mySQL y PHPMyAdmin, así como la modificación de la configuración de Apache para crear virtual hosts y manejar más de un dominio con Apache.
3 comentarios
Instalando MySQL y phpMyAdmin en un Cloud Server con Ubuntu Server | Code is Poetry · 16/02/2018 a las 10:26
[…] les había comentado respecto de cómo instalar Apache y PHP, y ahora corresponde explicar cómo completar la implementación de LAMP instalando MySQL y […]
Mejorando la seguridad de la instalación de phpMyAdmin en Ubuntu Server | Code is Poetry · 19/02/2018 a las 08:15
[…] posts previos cubrimos la instalación de Apache y PHP inicialmente y luego de MySQL y phpMyAdmin, y quedó pendiente mejorar la seguridad de la […]
Creando un dominio principal en Apache | Code is Poetry · 21/02/2018 a las 08:17
[…] ahora hemos revisado cómo instalar Apache, PHP, MySQL y phpMyAdmin, pero no hemos abordado aún cómo se crean dominios y subdominios en Apache […]