GNU/Linux >> Tutoriales Linux >  >> Ubuntu

Instalación de WordPress en Ubuntu Linux con Apache y MySQL

WordPress se ha mantenido como una de las mejores y más fáciles formas de poner en marcha un sitio elegante desde su creación en 2003. De hecho, las tendencias actuales solo muestran que su popularidad continúa aumentando. WordPress es fácil de usar, e incluso alojarlo usted mismo no es tan difícil, como le demostraremos en este artículo.

En esta guía, le mostraremos cómo alojar su sitio con WordPress en Ubuntu Linux. Usaremos Apache como nuestro servidor HTTP y también instalaremos PHP y MariaDB (una implementación de código abierto de MySQL) ya que WordPress los requiere para funcionar. Esta variedad de paquetes se conoce comúnmente como una pila LAMP (Linux, Apache, MySQL, PHP). Una vez que esos paquetes estén instalados, repasaremos la configuración de Apache y MySQL, incluida la configuración inicial de una base de datos y un usuario, antes de instalar WordPress. Hacia el final, también le mostraremos cómo configurar un certificado SSL autofirmado u obtener uno gratuito de Let's Encrypt, que permite que su sitio utilice HTTPS.

En este tutorial aprenderás:

  • Cómo instalar y configurar Apache
  • Cómo instalar y configurar MariaDB para MySQL
  • Cómo configurar un usuario MySQL y una base de datos para WordPress
  • Cómo descargar e instalar WordPress
  • Cómo configurar un certificado SSL autofirmado para su sitio de WordPress
  • Cómo configurar un certificado SSL gratuito de Let's Encrypt

Menú de administración de WordPress

Instalar Apache, PHP y MySQL

Lo primero que debemos hacer es preparar nuestro sistema Ubuntu con los paquetes de software adecuados. WordPress solo puede ejecutarse si le proporcionamos un servidor HTTP, PHP y sus módulos relacionados, y una base de datos MySQL. Abra una terminal y escriba el siguiente par de comandos para instalar Apache, PHP y MariaDB, que es una bifurcación de código abierto de MySQL:

$ sudo apt update
$ sudo apt install apache2 php libapache2-mod-php mariadb-server mariadb-client php-mysql php-curl php-xml php-mbstring php-imagick php-zip php-gd

Son muchos paquetes para instalar, y sí, todos son necesarios. Sin algunos de los módulos PHP adicionales, no obtendrá una puntuación perfecta en la sección "Estado de salud del sitio" del panel de control del administrador de WordPress.

Configurar MySQL

Una de las primeras cosas que debemos hacer es preparar nuestra base de datos de WordPress. Para hacer eso, primero necesitamos hacer una configuración inicial de MySQL. Para comenzar, ejecute el siguiente comando en la terminal:

$ sudo mysql_secure_installation

Deje la primera respuesta en blanco y presione enter. Debes responder con y (sí) al resto de las indicaciones y configure una contraseña de root cuando se le solicite. Esta configuración solo toma un momento para completarse.

La configuración inicial de MySQL con mysql_secure_installation

Aunque la configuración anterior será suficiente para nuestro sitio de WordPress, puede leer nuestra guía sobre Instalar y configurar MySQL Workbench en Ubuntu Linux si tiene la curiosidad de profundizar un poco más.

Crear una base de datos para WordPress

WordPress almacena todo el contenido de sus publicaciones y páginas, entre otra información, dentro de MySQL. Necesitaremos configurar un usuario MySQL y una base de datos para que WordPress acceda con los siguientes pasos:

  1. Comience abriendo MySQL con el usuario root:
    $ sudo mysql
    
  2. Cree una nueva base de datos para WordPress. En este ejemplo, llamaremos al nuestro wordpress_db , pero puede usar el nombre que desee.
    MariaDB [(none)]> CREATE DATABASE wordpress_db;
    
  3. A continuación, debemos crear un nuevo usuario que WordPress pueda usar para acceder a la base de datos que acabamos de crear. Para este ejemplo, haremos que nuestro nombre de usuario sea wordpress_user y nuestra contraseña my_password . Reemplace my_password texto a continuación con una contraseña segura (y anótelo en algún lugar para más tarde):
    MariaDB [(none)]> CREATE USER 'wordpress_user'@'localhost' IDENTIFIED BY 'my_password';
    
  4. Luego, otorgue al usuario de WordPress permisos completos en la base de datos de WordPress:
    MariaDB [(none)]> GRANT ALL PRIVILEGES ON wordpress_db.* to wordpress_user@'localhost';
    
  5. Por último, guarde los cambios que ha realizado en los permisos de usuario y salga de MariaDB:
    MariaDB [(none)]> FLUSH PRIVILEGES;
    MariaDB [(none)]> exit
    

Configuración de base de datos MySQL y usuario para WordPress

Configurar Apache

Apache ya debería estar instalado y ejecutándose en este punto, y eso se puede verificar abriendo un navegador y navegando a la dirección de bucle invertido 127.0.0.1 o simplemente localhost en su sistema.

Página predeterminada de Apache, que indica que nuestro sitio web es accesible

Aunque Apache ya aloja nuestro sitio (o falta de uno), es una buena práctica configurar un nuevo archivo de host virtual de Apache para nuestra instalación de WordPress. Esto le permitirá una mayor flexibilidad en el futuro si desea alojar varios sitios web o realizar cambios en el lugar donde está instalado el directorio de WordPress, etc.

  1. Copie la configuración predeterminada de Apache en un nuevo archivo con el siguiente comando:
    $ sudo cp /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-available/wordpress.conf
    
  2. Luego, use nano o su editor de texto favorito para abrir este archivo:
    $ sudo nano /etc/apache2/sites-available/wordpress.conf
    
  3. Cambiar el DocumentRoot ajuste a donde planeamos instalar WordPress. El siguiente directorio es nuestra sugerencia.
    DocumentRoot /var/www/wordpress
    
  4. Cree una configuración para ServerName e ingrese el nombre de dominio completo de su sitio web. Si no tiene uno, déjelo como localhost.
    ServerName your-site.com
    
  5. Cree un alias para el www prefijo también. Esto no es necesario si solo está utilizando localhost.
    ServerAlias www.your-site.com
    

    Así es como debería verse su archivo de configuración cuando haya terminado. Tenga en cuenta que comentamos la línea de alias en nuestra configuración, ya que solo alojamos localmente.

  6. Completar los valores de DocumentRoot y ServerName en el archivo de host virtual de Apache

  7. Guarde sus cambios y salga del archivo. Luego, habilite el sitio en Apache y deshabilite el sitio predeterminado.
    $ sudo a2ensite wordpress.conf
    $ sudo a2dissite 000-default.conf
    
  8. Finalmente, vuelva a cargar Apache para que los nuevos cambios surtan efecto.
    $ sudo systemctl reload apache2
    

Descargar e instalar WordPress

Ahora que tenemos nuestro servidor HTTP configurado y PHP y MySQL están listos para funcionar, podemos continuar con la instalación de WordPress.

  1. Primero, use wget para descargar la última versión de WordPress:
    $ wget -O /tmp/wordpress.tar.gz https://wordpress.org/latest.tar.gz
    
  2. Extraiga el archivo tar en el directorio de su sitio de WordPress:
    $ sudo tar -xzvf /tmp/wordpress.tar.gz -C /var/www
    
  3. Asegúrese de configurar los permisos adecuados en el directorio y todos sus archivos.
    $ sudo chown -R www-data.www-data /var/www/wordpress
    
  4. Ahora podemos comenzar a configurar WordPress. Abra su navegador de Internet y navegue a la dirección localhost 127.0.0.1 o su nombre de dominio completo si configura uno. Debería ser recibido por el asistente de configuración de WordPress. Haga clic en "Vamos" para comenzar.
  5. Asistente de configuración inicial de WordPress

  6. Luego, ingrese la información de la base de datos que configuró anteriormente. Los dos últimos cuadros (host de la base de datos y prefijo de la tabla) se pueden dejar en sus valores predeterminados. Haga clic en "Enviar" cuando haya terminado.
  7. Complete la información de la base de datos MySQL que configuramos anteriormente

  8. WordPress intentará establecer una conexión con la base de datos y le informará si tuvo éxito. Suponiendo que lo fuera, haga clic en "Ejecutar la instalación" para continuar.
  9. WordPress se ha conectado con éxito a nuestra base de datos MySQL

  10. La siguiente pantalla le pedirá información general sobre su nuevo sitio. Después de terminar de completar esto, haga clic en "instalar WordPress" en la parte inferior de la pantalla para finalizar la instalación.
  11. Complete el título de su sitio, nombre de usuario, contraseña y correo electrónico

  12. ¡La instalación de WordPress ya está completa! Puede hacer clic en el botón "iniciar sesión" para comenzar a crear contenido.
  13. WordPress se ha instalado correctamente. Haga clic en iniciar sesión para encontrar el menú de administración

Tenga en cuenta que para volver al panel de administración de WordPress en el futuro, siempre puede usar la URL http://127.0.0.1/wp-admin (o reemplazando 127.0.0.1 con su nombre de dominio completo).

Menú de administración de WordPress

Ahora debería poder acceder a su sitio de WordPress desde http://127.0.0.1 o su nombre de dominio completo.

Nuestro sitio de WordPress ya está en funcionamiento

Configurar un certificado SSL autofirmado

Terminamos de configurar nuestro sitio de WordPress, pero en este momento está usando HTTP en lugar de HTTPS. Con gran parte de la web moviéndose exclusivamente a HTTPS, es posible que también desee considerarlo para su sitio, aunque no es estrictamente necesario. En esta sección de la guía, le mostraremos cómo habilitar SSL en su sitio web con un certificado autofirmado.

  1. Escriba el siguiente comando en la terminal para generar un certificado autofirmado. Se le harán algunas preguntas generales. Asegúrese de completar el campo "nombre común" con la dirección IP de su sitio web o el nombre de dominio completo.
    $ sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/ssl/private/apache-selfsigned.key -out /etc/ssl/certs/apache-selfsigned.crt
    
  2. Creación de un certificado SSL autofirmado

  3. A continuación, debemos realizar algunos cambios en la configuración de nuestro sitio Apache. Abra el archivo de configuración SSL predeterminado con nano u otro editor de texto:
    $ sudo nano /etc/apache2/sites-available/default-ssl.conf
    
  4. Cambiar el DocumentRoot valor a donde instaló WordPress anteriormente. Luego, cambie el SSLCertificateFile y SSLCertificateKeyFile valores a donde guardamos nuestros archivos SSL. Consulte la siguiente captura de pantalla como referencia.
    DocumentRoot /var/www/wordpress
    SSLCertificateFile /etc/ssl/certs/apache-selfsigned.crt
    SSLCertificateKeyFile /etc/ssl/private/apache-selfsigned.key
    
  5. Cambie los valores del certificado DocumentRoot y SSL dentro del archivo de host virtual SSL de Apache

  6. Guarde sus cambios y salga del archivo. Luego, habilite el módulo SSL para Apache y reinicie para que los cambios surtan efecto:
    $ sudo a2enmod ssl
    $ sudo systemctl restart apache2
    
  7. Finalmente, habilite el sitio SSL que configuramos y vuelva a cargar Apache:
    $ sudo a2ensite default-ssl
    $ sudo systemctl reload apache2
    

Todo listo. Su sitio de WordPress ahora es capaz de usar encriptación SSL:

HTTPS ahora está habilitado en nuestro sitio de WordPress

Configurar un certificado SSL gratuito de Let's Encrypt

Let's Encrypt es un servicio gratuito que proporciona a los sitios web certificados SSL. Si ha llegado hasta aquí y ha configurado su sitio de WordPress en Ubuntu, son solo unos pocos pasos más para configurar el cifrado SSL, lo que evitará los ataques de intermediarios, ayudará al SEO de su página y los navegadores como Firefox no lo harán. advierte a los usuarios que tu sitio no es seguro.

Este proceso es muy sencillo y todo se puede realizar desde la línea de comandos de Ubuntu. Siga los pasos a continuación para terminar de configurar su sitio web con un certificado SSL de Let's Encrypt.

  1. Para configurar el cifrado SSL con Let's Encrypt, instale la utilidad certbot con el siguiente comando.
    $ sudo apt install certbot python3-certbot-apache
    
  2. Configure el certificado SSL ejecutando el siguiente comando y siguiendo las indicaciones que aparecen. La última pregunta le preguntará si desea redirigir las solicitudes HTTP directamente a HTTPS. Se recomienda que opte por esto. Obviamente, para que esto funcione, el dominio debe apuntar correctamente a nuestra IP de servidor de acceso público.
    $ sudo certbot --apache
    

Eso es todo al respecto. El certbot La utilidad hace casi todo el trabajo preliminar por nosotros y realizará todos los cambios necesarios en sus archivos de host virtual de Apache. También mantendrá activo su certificado SSL, renovándolo cuando esté a punto de caducar.

Pensamientos finales

Esta guía le ha mostrado cómo instalar componentes de primer nivel para ejecutar un sitio web de WordPress en Ubuntu Linux. WordPress es un increíble sistema de gestión de contenido con una configuración prácticamente infinita. Es tan simple que alguien sin ninguna experiencia en codificación de HTML, CSS o PHP puede tener un sitio web atractivo. Asegúrese de navegar por los menús de WordPress para ver todo el poder de personalización que tiene al alcance de su mano.


Ubuntu
  1. Instalar y comenzar con MySQL Workbench en Ubuntu

  2. Cómo habilitar y deshabilitar el módulo PHP curl con Apache en Ubuntu Linux

  3. Ejemplos simples de CGI y Apache en Ubuntu Linux

  4. Ubuntu 20.04:instalación de WordPress con Nginx

  5. Instalar WordPress en Linux con Apache

Instale WordPress con LEMP Stack en Ubuntu 20.04

Cómo configurar WordPress en Ubuntu Server con Apache

Instale WordPress con LEMP Stack en Ubuntu 20.04

Instalar Apache OpenOffice en Ubuntu y Linux Mint

Cómo instalar LEMP WordPress Ubuntu y Debian con Virtualhost

Cómo instalar LAMP en Ubuntu 15.10 (Linux, Apache, MySQL y PHP)

    Requisitos de software y convenciones de la línea de comandos de Linux
    Categoría Requisitos, convenciones o versión de software utilizada
    Sistema Ubuntu Linux
    Software WordPress, Apache, PHP, MariaDB, certificado SSL
    Otro Acceso privilegiado a su sistema Linux como root o a través de sudo comando.
    Convenciones # – requiere que los comandos de Linux dados se ejecuten con privilegios de root, ya sea directamente como usuario root o mediante el uso de sudo comando
    $ – requiere que los comandos de Linux dados se ejecuten como un usuario normal sin privilegios