Instalación de servidor web Apache + MySQL + PHP + PHPMyAdmin + WordPress en Ubuntu 16.04

Dominios, Hosting, VPS, Dedicados, SSL, Linux, Colombia

En este tutorial, instalaremos el servidor web Apache con soporte a PHP y su base de datos MySQL con su administrador web PHPMyAdmin. Además instalaremos uno de los editores de contenido mas usados como lo es WordPress para comprobar la funcionalidad de estos servicios.

Servidor Web

Un servicio web, procesa un contenido o programa desde el lado del servidor y envía o genera un código html o hipertexto al cliente, el cual es interpretado por un navegador web.

El servidor por lo general usa el puerto 80

Para instalar el servidor Web necesitamos el siguiente software en nuestro equipo:

  • Apache
  • PHP
  • MySQL
  • PhpMyAdmin (Opcional)

El acrónimo LAMP surge de la combinación de palabras Linux Apache PHP MySQL y para Microsoft Windows WAMP Windows Apache PHP MySQL.

En nuestro caso, como pre-requisito debemos de tener instalado Ubuntu 16.04 Xenial Serus. Actualizaremos el sistema de repositorios mediante los siguientes comandos:

# apt-get update

# apt-get upgrade

Apache

Apache es uno de los servidores web mas usados en el mundo, cuyo nombre proviene de la frase inglesa “a patchy server” y es completamente libre, ya que es un software Open Source y con licencia GPL. Una de las ventajas más grandes de Apache, es que es un servidor web multiplataforma.
Desde el año 1996, es el servidor web más popular del mundo, debido a su estabilidad y seguridad. Apache sigue siendo desarrollado por la comunidad de usuarios desarrolladores que trabaja bajo la tutela de Apache Software Foundation.
Los servidores web están alojados en un ordenador que cuenta con conexión a la red. El web server, se encuentra a la espera de que algún navegador le haga alguna petición, como por ejemplo, acceder a una página web y responde a la petición, enviando código HTML mediante una transferencia de datos en red.
Entre las principales características de Apache, es que da soporte a diferentes lenguajes, como Perl, PHP, Python y tcl entre otros.

Instalando Apache

El primer paso es la instalación de Apache, quien cumple con la función de servidor web y te permite la interpretación de páginas HTML, es la base sobre los que instalaremos los demás componentes.

# apt-get install apache2

Para validar la instalación de apache en tu PC accede desde de tu PC en un navegador a localhost:

http://localhost/

Apache

Apache

Así mismo podemos acceder desde otro dispositivo dentro de la red, primero necesitamos conocer la IP de nuestro srvidor, si no la conoces, puedes identificarla mediante el comando:

# ifconfig




MySQL

MySQL es un sistema de administración de bases de datos (Database Management System, DBMS) para bases de datos relacionales. Es uno de lo gestores mas populares. Con MySQL podemos crear bases de datos y conectarlas fácilmente con nuestros sitios web.

El almacenamiento de los datos es tan importante por ser uno de los activos más importantes, al transfórmalos en información.

MySQL es open source, hace que su utilización sea libre e incluso se pueda modificar con total libertad, pudiendo descargar su código fuente. Esto ha favorecido muy positivamente en su desarrollo y continuas actualizaciones, para hacer de MySQL una de las herramientas más utilizadas por los programadores orientados a Internet.

El puerto que usa por defecto MySQL es 3306

Podremos instalar MySQL mediante la siguiente línea de código:

# sudo apt-get install mysql-server php-mysql

Durante la instalación te pedirá la clave del usuario “root” este es el usuario administrador y más importante de toda la instalación.
Para iniciar, entremos a MySQL con la cuenta de root, con esta instrucción:

# mysql -u root -p

Preguntara por el password (el que se uso al momento de la instalación)
Primero, creamos una base de datos para WordPress la cual se llamara wordpress. Recuerda que se puede usar cualquier otro nombre:

CREATE DATABASE wordpress DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;

Cada sentencia de MySQL debe de terminar en punto y coma ( ; )

Seguido creamos una cuenta de usuario en MySQL, la cual tendrá acceso a nuestra base de datos wordpress. Es una buena practica de seguridad crear un usuario por cada base de datos de MySQL. El usuario que usaremos es wordpressuser.

GRANT ALL ON wordpress.* TO ‘wordpressuser’@’localhost’ IDENTIFIED BY ‘password’;

Ya tenemos nuestra base de datos y nuestro usuario para wordpress. Por ultimo debemos de recargar los privilegios para que la instancia actual de MySQL recargue lo que hemos hecho.

FLUSH PRIVILEGES;

Salimos de MySQL digitando :

EXIT;




PHP

PHP (acrónimo recursivo de PHP: Hypertext Preprocessor) es un lenguaje de código abierto muy popular especialmente muy usado en el desarrollo web y que puede ser incrustado en HTML.
Una vez que ya tienes instalado el servidor web y el gestor de la base de datos MySQL, instalemos el lenguaje de programación PHP.
# sudo apt-get install php libapache2-mod-php php-mcrypt php-mysql

Para probar la instalación de todos los componentes realizaremos un archivo de prueba de PHP, donde nos muestre información de nuestro sistema, crearemos un archivo llamado info.php

# nano /var/www/html/info.php

Editamos el archivo info.php y adicionamos esta linea:

<?php phpinfo(); ?>

Una vez que hemos instalado todos los componentes reiniciamos el servicio de Apache:

# service apache2 restart

Probemos el archivo que acabamos de crear de información:

http://localhost/info.php

Si todo ha salido bien veremos la siguiente página con la información de nuestra instalación y configuración:

php.info

php.info

PHPMyAdmin

PHPMyAdmin es una herramienta escrita en PHP con la intención de manejar la administración de MySQL a través de páginas web, utilizando Internet o en una Intranet, está disponible bajo la licencia GPL (General Public License)

Instalaremos phpmyadmin:

# sudo apt-get install phpmyadmin

# sudo apt-get install php-gettext

Preguntará para que servidor web configurar, elegir apache2 y continuar. Luego pedirá configurar la base de datos con dbconfig-common elegir que SI. Crear un enlace simbólico en la carpeta www/html, con:

# sudo ln -s /usr/share/phpmyadmin /var/www/html

reiniciamos nuestro servidor apache con:

# sudo service apache2 reload

Comprobar si funciona entrando a: http://127.0.0.1/phpmyadmin

usuario root y contraseña la que le pusimos.




WordPress

WordPress es uno de los editores de contenidos mas usados y es un CMS (Content Management System | Sistema de Administración de Contenidos). WordPress lo podemos usar para cualquier tipo de pagina web y es software libre.
Descargamos WordPress desde https://es.wordpress.org/
ó desde la consola de la siguiente manera (asegurarse de descargar la ultima versión) :

# wget https://es.wordpress.org/wordpress-4.5.3-es_ES.zip

El sistema debe de ser capaz de escribir en estos archivos como un usuario normal, y que el servidor web también sea capaz de acceder y modificar ciertos archivos y directorios para que funcione correctamente.

El propietario de los archivos en nuestra carpeta web, que usaremos deben de ser un usuario normal y pertenecer al grupo www-data:

# chown -R sammy:www-data /var/www/html/wordpress

A continuación, vamos a establecer el bit setgid en cada uno de los directorios dentro de la raíz del directorio. Esto hace que los nuevos archivos creados en estos directorios puedan heredar el grupo del directorio padre (que acabamos de fijar a www-data) en lugar del grupo principal del usuario que crea. Esto asegura de que cada vez que se crea un archivo en el directorio en la línea de comando, el servidor web todavía tendrá la propiedad de grupo sobre ella.

Podemos establecer el bit setgid en cada directorio en nuestra instalación de WordPress escribiendo:

# find /var/www/html/wordpress -type d -exec chmod g+s {} \;

Hay algunos otros permisos específicos vamos a ajustar. En primer lugar, vamos a dar acceso de escritura grupo al directorio wp-contenido para que la interfaz web puede hacer cambios temáticos y el plugin:

# chmod g+w /var/www/html/wordpress/wp-content

Como parte de este proceso, vamos a dar al servidor web acceso de escritura a todo el contenido en estos dos directorios:

# chmod -R g+w /var/www/html/wordpress/wp-content/themes

# chmod -R g+w /var/www/html/wordpress/wp-content/plugins

Esto debería ser los requerimientos mínimos establecidos para empezar. Algunos plugins y procedimientos pueden requerir ajustes adicionales.

Empecemos la instalación desde nuestro navegador web. Abrimos la siguiente dirección :

localhost/wordpress

Así como lo muestra la siguiente captura :

Instalación WordPress

Instalación WordPress

Instalación WordPress

Instalación WordPress

Instalación WordPress

Instalación WordPress

Creamos un archivo llamado wp-config.php dentro de la carpeta /var/www/html/wordpress, pegamos el siguiente texto y lo guardamos.

# touch wp-config.php

# vi wp-config.php

Instalacion WordPress

Instalacion WordPress

Y continuamos con los tres últimos pasos:

Instalación WordPress

Instalación WordPress

Instalación WordPress

Instalación WordPress

Instalación WordPress

Instalación WordPress

Y listo ya tenemos nuestro sitio funcionando :

Instalación WordPress

Instalación WordPress