WordPress es un sistema de gestión de contenido gratuito, de código abierto y ampliamente utilizado. Sin embargo, configurar un nuevo entorno de alojamiento web con WordPress puede llevar mucho tiempo. Docker simplifica todo el proceso con unos pocos comandos que reducen el tiempo y el esfuerzo necesarios para la instalación. Docker es una aplicación de creación de contenedores de código abierto diseñada para desarrollar, probar y ejecutar múltiples aplicaciones en la misma máquina. Es muy útil para los desarrolladores crear un entorno de prueba sin desperdiciar memoria y espacio del servidor.
En este tutorial, le mostraremos cómo instalar WordPress con Docker en Ubuntu 20.04.
Requisitos
- Un Ubuntu 20.04 VPS nuevo en Atlantic.net Cloud Platform
- Una contraseña de root configurada en su servidor
Paso 1:crear el servidor en la nube de Atlantic.Net
Primero, inicie sesión en su servidor en la nube de Atlantic.Net. Cree un nuevo servidor, eligiendo Ubuntu 20.04 como sistema operativo con al menos 4 GB de RAM. Conéctese a su servidor en la nube a través de SSH e inicie sesión con las credenciales resaltadas en la parte superior de la página.
Una vez que haya iniciado sesión en su servidor Ubuntu 20.04, ejecute el siguiente comando para actualizar su sistema base con los últimos paquetes disponibles.
apt-get update -y
Paso 2:instalar las dependencias requeridas
Primero, deberá instalar algunas dependencias en su servidor. Puede instalarlos todos ejecutando el siguiente comando:
apt-get install mariadb-client apt-transport-https ca-certificates curl gnupg-agent software-properties-common -y
Una vez que todos los paquetes estén instalados, puede continuar con el siguiente paso.
Paso 3:instalar Docker
Primero, descargue y agregue la clave GPG con el siguiente comando:
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | apt-key add -
A continuación, agregue el repositorio de Docker con el siguiente comando:
add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
Una vez que se agrega el repositorio, puede instalar Docker y Docker Compose usando el siguiente comando:
apt-get install docker-ce docker-ce-cli containerd.io -y
Después de instalar ambos paquetes, verifique la versión instalada de Docker con el siguiente comando:
docker --version
Deberías obtener el siguiente resultado:
Docker version 19.03.12, build 48a66213fe
Paso 4:crear un contenedor de MariaDB
Primero, deberá descargar la imagen de MariaDB del repositorio de Docker. Puedes descargarlo con el siguiente comando:
docker pull mariadb
Debería ver el siguiente resultado:
Using default tag: latest latest: Pulling from library/mariadb 3ff22d22a855: Pull complete e7cb79d19722: Pull complete 323d0d660b6a: Pull complete b7f616834fd0: Pull complete 78ed0160f03e: Pull complete a122e9306ac4: Pull complete 673e89352b19: Pull complete caf1e694359b: Pull complete 04f5e4f6ead3: Pull complete a41772aadb3d: Pull complete c3811aa2fa0a: Pull complete 655ad574d3c7: Pull complete 90ae536d75f0: Pull complete Digest: sha256:812d3a450addcfe416420c72311798f3f3109a11d9677716dc631c429221880c Status: Downloaded newer image for mariadb:latest docker.io/library/mariadb:latest
A continuación, cree una estructura de directorios para WordPress en su servidor:
mkdir ~/wordpress mkdir -p ~/wordpress/database mkdir -p ~/wordpress/html
A continuación, cree un contenedor de MariaDB con el nombre wordpressdb ejecutando el siguiente comando:
docker run -e MYSQL_ROOT_PASSWORD=root-password -e MYSQL_USER=wpuser -e MYSQL_PASSWORD=password -e MYSQL_DATABASE=wpdb -v /root/wordpress/database:/var/lib/mysql --name wordpressdb -d mariadb
Debería ver un resultado similar al siguiente:
e8c780b34cdcb66db9278635b109debb1775d6a6b6785c4e74c8e0815e3ba5e3
En el comando anterior, aquí están las variables definidas:
- MYSQL_ROOT_PASSWORD :esta opción configurará la contraseña raíz de MariaDB.
- MYSQL_USER :Esto creará un nuevo wpuser para WordPress.
- MYSQL_PASSWORD :Esto establecerá la contraseña para wpuser.
- MYSQL_DATABASE :Esto creará una nueva base de datos llamada wpdb para WordPress.
- -v /raíz/wordpress/base de datos:/varlib/mysql :Esto vinculará el directorio de la base de datos al directorio mysql.
A continuación, verifique la dirección IP del contenedor MariaDB con el siguiente comando:
docker inspect -f '{{ .NetworkSettings.IPAddress }}' wordpressdb
Debería ver la dirección IP del contenedor de MariaDB en el siguiente resultado:
172.17.0.2
Ahora, conéctese a su contenedor MariaDB utilizando el usuario y la contraseña de la base de datos:
mysql -u wpuser -h 172.17.0.2 -p Enter password:
Debería ver el siguiente resultado:
Welcome to the MariaDB monitor. Commands end with ; or \g. Your MariaDB connection id is 3 Server version: 10.5.4-MariaDB-1:10.5.4+maria~focal mariadb.org binary distribution Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
Ahora, verifique la base de datos con el siguiente comando:
show databases;
Debería ver su base de datos wpdb en el siguiente resultado:
+--------------------+ | Database | +--------------------+ | information_schema | | wpdb | +--------------------+ 2 rows in set (0.001 sec)
Ahora, salga del shell de MariaDB con el siguiente comando:
EXIT;
Paso 5:crea un contenedor de WordPress
Primero, descargue la imagen de WordPress del repositorio de Docker usando el siguiente comando:
docker pull wordpress:latest
Debería ver el siguiente resultado:
latest: Pulling from library/wordpress bf5952930446: Pull complete a409b57eb464: Pull complete 3192e6c84ad0: Pull complete 43553740162b: Pull complete d8b8bba42dea: Pull complete eb10907c0110: Pull complete 10568906f34e: Pull complete 03fe17709781: Pull complete 98171b7166c8: Pull complete 3978c2fb05b8: Pull complete 71bf21524fa8: Pull complete 24fe81782f1c: Pull complete 7a2dfd067aa5: Pull complete a04586f4f8fe: Pull complete b8059b10e448: Pull complete e5b4db4a14b4: Pull complete 48018c17c4e9: Pull complete d09f106f9e16: Pull complete 2ce4312168ba: Pull complete 01f0fe2819ef: Pull complete Digest: sha256:19c6a3a796b1db1e6ee8bd3e8d5d69510885fa62255ce8bd07ee34d3878d0312 Status: Downloaded newer image for wordpress:latest docker.io/library/wordpress:latest
A continuación, cree un nuevo contenedor de WordPress llamado wpcontainer a partir de la imagen descargada con el siguiente comando:
docker run -e WORDPRESS_DB_USER=wpuser -e WORDPRESS_DB_PASSWORD=password -e WORDPRESS_DB_NAME=wpdb -p 8081:80 -v /root/wordpress/html:/var/www/html --link wordpressdb:mysql --name wpcontainer -d wordpress
Esto creará un nuevo contenedor de WordPress y expondrá el puerto 80 en el contenedor al puerto 8081 en la máquina host.
Ahora puede verificar su contenedor de WordPress con el siguiente comando:
curl -I localhost:8081
Deberías obtener el siguiente resultado:
HTTP/1.1 302 Found Date: Fri, 07 Aug 2020 04:44:36 GMT Server: Apache/2.4.38 (Debian) X-Powered-By: PHP/7.4.9 Expires: Wed, 11 Jan 1984 05:00:00 GMT Cache-Control: no-cache, must-revalidate, max-age=0 X-Redirect-By: WordPress Location: http://localhost:8081/wp-admin/install.php Content-Type: text/html; charset=UTF-8
Paso 6:configurar Nginx como proxy inverso
A continuación, deberá instalar y configurar Nginx como un proxy inverso para el contenedor de WordPress para que pueda acceder a su WordPress usando el puerto 80.
Primero, instale el servidor web Nginx con el siguiente comando:
apt-get install nginx -y
Una vez instalado, cree un nuevo archivo de configuración de host virtual Nginx:
nano /etc/nginx/sites-available/wordpress
Agregue las siguientes líneas:
server { listen 80; server_name wp.example.com; location / { proxy_pass http://localhost:8081; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } }
Guarde y cierre el archivo, luego active el host virtual con el siguiente comando:
ln -s /etc/nginx/sites-available/wordpress /etc/nginx/sites-enabled/
A continuación, reinicie el servicio Nginx para aplicar los cambios:
systemctl restart nginx
Paso 7:acceder a la interfaz de WordPress
Ahora, abra su navegador web y escriba la URL http://wp.example.com. Será redirigido al asistente de instalación de WordPress:
Seleccione su idioma y haga clic en Continuar botón. Debería ver la siguiente pantalla:
Proporcione el nombre de su sitio, el nombre de usuario del administrador, el correo electrónico y la contraseña y haga clic en Instalar WordPress botón. Una vez finalizada la instalación, debería ver la siguiente pantalla:
Proporcione su nombre de usuario y contraseña de administrador y haga clic en Iniciar sesión botón. Debería ver el panel de control de WordPress en la siguiente pantalla:
Conclusión
En esta guía, aprendió a instalar y configurar WordPress en el entorno Docker en Ubuntu 20.04. Ahora puede configurar WordPress en un entorno de prueba:¡comience hoy mismo con el alojamiento VPS de Atlantic.Net!