GNU/Linux >> Tutoriales Linux >  >> Ubuntu

Instalar WordPress en Nginx Ubuntu

Nginx es un servidor web muy conocido que se utiliza para servir páginas web en Internet. Nginx, que se lanzó por primera vez en octubre de 2004, se convirtió rápidamente en el servidor web y el servidor proxy elegido por miles de desarrolladores web. Tiene una serie de ventajas sobre su competidor Apache. En este artículo, aprenderemos cómo instalar Nginx en Ubuntu y usarlo para alojar WordPress.

Antes de comenzar, permítanme decir de manera inequívoca que esta no es una comparación de Nginx vs Apache o cualquier otro servidor web. Apache se introdujo en 1999 y ofrece varias características útiles. Si desea instalar WordPress en Apache, ya tenemos un artículo sobre el tema, así que échele un vistazo.

Nginx se lanzó por primera vez en octubre de 2004, hace unos 17 años. La mayoría de los desarrolladores web prefieren Nginx debido a su capacidad para manejar múltiples solicitudes simultáneas de clientes rápidamente con recursos de hardware limitados, lo que hace que el alojamiento de sitios web en Internet sea menos costoso. Nginx también se puede utilizar como proxy inverso, dirigiendo las solicitudes de los clientes al servidor de alojamiento principal, que no tiene acceso público a Internet, lo que hace que el servidor de alojamiento sea más seguro de lo que sería de otro modo.

Requisitos previos para instalar WordPress en Nginx

En este artículo, utilizaremos el sistema operativo Ubuntu, PHP 8.1, Nginx y WordPress. Si no sabe qué es WordPress, hemos cubierto WordPress en una serie de artículos, WordPress 101.

  • Ubuntu 20.04
  • Nginx
  • PHP 8
  • WordPress

Ubuntu 20.04 es una versión de soporte a largo plazo de Ubuntu. Si necesita ayuda para instalar Ubuntu, consulte este artículo sobre LinuxAndUbuntu. Una vez que haya instalado Ubuntu, podemos pasar a instalar el resto de paquetes necesarios.

Si está utilizando servicios en la nube como AWS, Google Cloud Platform, Linode, DigitalOcean o MassiveGRID, puede omitir la etapa de instalación. Todos los proveedores de la nube admiten la instalación del servidor Ubuntu con un solo clic con Nginx. Así que vaya con Ubuntu 20.04, cuyo nombre en código es Focal Fossa. La mayoría de los proveedores de la nube preinstalan el cortafuegos UFW en Ubuntu de forma predeterminada. Le recomiendo que habilite el firewall para mejorar la seguridad del servidor y permita los puertos TCP que se enumeran a continuación.

En caso de que UFW no esté preinstalado, no dude en instalarlo desde el repositorio:

apt install ufw
ufw enable
ufw allow http
ufw allow https
ufw allow 22

http y https son el puerto 80 y el puerto 443. El puerto 22 es para la conexión SSH al servidor. Si su servidor usa algún puerto personalizado para ssh, permita el puerto ssh personalizado antes de cerrar la conexión SSH actual. Después de habilitar el firewall UFW, bloqueará todos los puertos a menos que se permita manualmente. Entonces, una vez que cierre la conexión SSH en curso, no permitirá el acceso SSH hasta que se permita el puerto SSH.

Además, actualice el sistema operativo para asegurarse de que el servidor esté completamente parcheado con las últimas actualizaciones de seguridad.

apt update
apt upgrade
Aviso
No se recomienda iniciar sesión como root y realizar acciones en el servidor. Así que configura una nueva cuenta de usuario y concédele sudo privilegios.
adduser username

El comando anterior iniciará el proceso de creación de usuarios. Siga las instrucciones simples y luego otorgue al usuario recién creado sudo privilegios usando el siguiente comando –

usermod -aG sudo username

Ahora reboot el servidor y ssh en el servidor con una nueva cuenta de usuario.

Instalar Nginx

Instalar Nginx es lo mismo que instalar cualquier otro paquete en el sistema. Use el administrador de paquetes apt para instalar nginx desde el repositorio –

sudo apt install nginx

Cuando termine el proceso de instalación, inicie/reinicie el servidor usando el siguiente comando:

service nginx restart
service nginx status

Visite la dirección IP para confirmar que el servidor funciona correctamente. La siguiente es la página de nginx predeterminada que confirma el correcto funcionamiento de nginx en el servidor.

Configurar Nginx para servir WordPress

Nginx puede manejar fácilmente varios sitios web en el mismo servidor utilizando hosts virtuales. De forma predeterminada, nginx crea un perfil predeterminado que muestra la página de bienvenida de Nginx anterior. Primero deshabilitaremos el perfil predeterminado, luego crearemos un nuevo perfil para manejar WordPress.

sudo unlink /etc/nginx/sites-enabled/default

El comando anterior deshabilitará el perfil predeterminado de Nginx. Ahora cree un nuevo perfil para nuestra instalación de WordPress.

sudo nano /etc/nginx/sites-available/example.com

Ahora pegue la siguiente configuración en el editor de texto.

server {
    listen 80;
    listen [::]:80;
    server_name  gaminggroup.online;


    root /var/www/gaminggroup.online;
    index index.php index.html index.htm;

    location / {
        try_files $uri $uri/ /index.php?$args;

    }
}

Antes de guardar el archivo anterior, comprenda lo que hace la configuración anterior. Después de habilitar esta configuración, Nginx comenzará a buscar solicitudes para el nombre de dominio mencionado como el valor de server_name en la configuración.

nombre_servidor => el nombre de dominio de nuestro sitio web
raíz => el directorio raíz de nuestro sitio web almacenado en el servidor
índice => el archivo a buscar en la raíz del sitio web
ubicación => el bloque de ubicación procesa el URI de solicitud (es un poco complicado y merece un artículo aparte sobre su funcionamiento)

Reemplace gaminggroup.online con su propio nombre de dominio. Con la opción raíz, hemos especificado que la raíz de nuestro sitio web se encuentra dentro de /var/www/gaminggroup.online . Entonces, en el siguiente paso, crearemos el directorio del sitio web en /var/www .

Ahora guarde el archivo de configuración con ctrl + x y pulsa Intro .

Crear directorio raíz del sitio web

sudo mkdir /var/www/gaminggroup.online

Ahora, cada vez que alguien visite nuestro sitio web example.com, según la solicitud, nginx entregará contenido al usuario desde este /var/www/gaminggroup.online directorio. Para probar nuestra configuración, cree un index.html de muestra dentro de la raíz de nuestro sitio web (/var/www/gaminggroup.online).

sudo nano /var/www/gaminggroup.online/index.html

Pegue el siguiente código HTML de muestra en el archivo y guárdelo.

<h2>Hello world!</h2>
<p>This is a test page for gaminggroup.online</p>

Antes de probar si todo funciona correctamente, configuremos los permisos correctos en el directorio raíz del sitio web para que el servidor pueda acceder a los archivos que contiene.

sudo chown -R www-data:www-data /var/www/gaminggroup.online/index.html

Verifique la configuración de Nginx para ver si hay algún error –

sudo ln -s /etc/nginx/sites-available/gaminggroup.online /etc/nginx/sites-enabled/
sudo nginx -t

Si no hay ningún error en la configuración, estamos listos para continuar. Visite el nombre de dominio y debería ver la página index.html de muestra que configuramos.

sudo service nginx restart

La captura de pantalla anterior confirma el funcionamiento exitoso de nuestras configuraciones. Ahora podemos pasar a prepararnos para la instalación de WordPress.

Instalemos el servidor de la base de datos y creemos la base de datos para WordPress.

Instalar servidor MariaDB

sudo apt install mariadb-server

Ejecute mysql_secure_installation para configurar el servidor.

sudo mysql_secure_installation

Puede crear la contraseña del usuario root de MySQL. Si no desea crear una contraseña de usuario raíz, simplemente inicie sesión en el usuario raíz de MySQL usando sudo msyql .

Si creó una contraseña de usuario raíz, inicie sesión en el usuario raíz con el siguiente comando:

mysql -u root -p

Or

sudo mysql (type sudo password when prompted)

Crear base de datos –

create database wordpress;
Consejo
Es muy recomendable crear un nuevo usuario de MySQL para la base de datos de WordPress.

Crear usuario MySQL –

create user 'sandy'@'localhost' identified by 'password';

Otorgar privilegios de base de datos (wordpress) al usuario recién creado –

grant all privileges on wordpress.* to 'sandy'@'localhost';

Tenga en cuenta que utilizaremos este usuario de base de datos en WordPress para que pueda conectarse a la base de datos. Está terminantemente prohibido conectar WordPress a la base de datos usando un usuario root.

Instalemos los paquetes necesarios, incluidos PHP y varias extensiones de PHP que necesita WordPress para funcionar.

Añadir repositorio PHP 8

sudo add-apt-repository ppa:ondrej/php

Instalar PHP y extensiones PHP –

sudo apt install php-cli php-fpm php-mysql php-json php-mbstring php-xml php-gd php-curl

Y eso es todo para nuestra instalación de WordPress. Elimina el archivo index.html de muestra de /var/www/gaminggroup.online .

Descargar WordPress –

wget -O /tmp/wordpress.tar.gz https://wordpress.org/latest.tar.gz
sudo tar -xvf /tmp/wordpress.tar.gz -C /tmp/

Mover archivos de WordPress al directorio raíz del sitio web –

sudo mv /tmp/wordpress/* /var/www/gamingroup.online

Arreglar permisos –

sudo chown -R www-data:www-data /var/www/gaminggroup.online
sudo find /var/www/gaminggroup.online/ -type d -exec chmod 755 {} \;
sudo find /var/www/gaminggroup.online/ -type f -exec chmod 644 {} \;

Agregue la siguiente location bloquear en la configuración del sitio después de la location existente bloque para que funcione con WordPress.

location ~ \.php$ {
               include snippets/fastcgi-php.conf;
        
               # With php-fpm (or other unix sockets):
               fastcgi_pass unix:/var/run/php/php8.1-fpm.sock;
        }

La configuración final debería verse así:

server {
    listen 80;
    listen [::]:80;
    server_name  gaminggroup.online;


    root /var/www/gaminggroup.online;
    index index.php index.html index.htm;

    location / {
        try_files $uri $uri/ /index.php?$args;

    }

        location ~ \.php$ {
               include snippets/fastcgi-php.conf;
        
               # With php-fpm (or other unix sockets):
               fastcgi_pass unix:/var/run/php/php8.1-fpm.sock;
        }
}

Y eso es todo para nuestra configuración de WordPress. Ahora era necesario completar más pasos desde el navegador web. Visite su nombre de dominio desde el navegador web y lo redirigirá a la página de instalación de WordPress.

Haga clic en "¡Vamos!" para la configuración de la base de datos con WordPress. Ahora ingrese el nombre de la base de datos, el nombre de usuario de la base de datos, la contraseña del usuario de la base de datos que creamos anteriormente y haga clic en "Enviar".

Haga clic en "Ejecutar la instalación" y le permitirá ingresar el título del sitio web, configurar el administrador de WordPress, etc. No se preocupe, siempre puede modificar estos detalles más adelante.

¡Y sorpresa sorpresa! Hemos instalado WordPress en Nginx. Los próximos días, deberá gastar en configurar el sitio web, instalar nuevos temas, complementos y publicar contenido increíble. ¡Comparte con nosotros lo que creas! 🙂

Conclusión

Aunque la instalación ha terminado, dado que se trata de un servidor no administrado, deberá cuidar su servidor por su cuenta. Asegúrese de mantener el servidor actualizado mediante la instalación regular de actualizaciones o una mejor configuración de actualizaciones desatendidas para instalar actualizaciones automáticamente. Además, configure Canonical Livepatch para instalar actualizaciones de kernel sin reiniciar el servidor.

Si desea migrar WordPress desde un alojamiento web antiguo a este servidor, lea esta guía. O lea esta guía si desea migrar su sitio de Weebly a WordPress.


Ubuntu
  1. Cómo instalar WordPress usando Nginx en Ubuntu 18.04

  2. Aloja WordPress en Ubuntu 20.04, Mysql 8, Ubuntu 20.04, Nginx

  3. Cómo instalar LEMP en Ubuntu 16.04

  4. Cómo instalar Nginx en Ubuntu 18.04

  5. Cómo instalar WordPress en Ubuntu 22.04

Cómo instalar Nginx en Ubuntu 18.04 LTS

Cómo instalar el servidor web Nginx en Ubuntu 20.04

Instalar Nginx en Ubuntu 18.04

Instalar WordPress con Nginx en Ubuntu 18.04

Cómo instalar Nginx en Ubuntu 14.04

Cómo instalar NGINX en Ubuntu 20.04