GNU/Linux >> Tutoriales Linux >  >> Rocky Linux

Cómo instalar WordPress con LAMP y Lets Encrypt SSL gratis en Rocky Linux

WordPress es uno de los sistemas de administración de contenido (CMS) más populares en este momento, es utilizado por millones de personas. El proyecto WordPress comenzó en 2003 como una bifurcación del CMS "b2/cafelog", viene con una licencia GPLv2 y se convierte en un software gratuito y de código abierto.

Actualmente, más del 34 % de los sitios web de Internet utilizan WordPress. . Una de las razones por las que WordPress es tan popular es porque es simple, fácil de usar y flexible. Con cientos/miles de complementos, WordPress se puede usar de diferentes maneras, como un motor de blogs simple, sitios web de comercio electrónico, perfil de empresa simple, comunidad de foros en línea, etc.

En esta guía, aprenderá a instalar WordPress CMS en Rocky Linux 8.4. Instalará WordPress bajo LAMP Stack (Linux, Apache2/httpd, MySQL/MariaDB y PHP).

Requisitos

  • Un servidor Rocky Linux. Asegúrese de que todos los paquetes estén actualizados a la última versión.
  • Un usuario con privilegios de raíz. Este usuario obtendrá los privilegios de root a través del comando sudo.

Instalando el Servidor Web Apache/Httpd

Al principio, instalará el servidor web Apache o httpd en el servidor Rocky Linux.

1. Ejecute el siguiente comando dnf para instalar el servidor web httpd.

sudo dnf install httpd

Escriba "y " y presione "Entrar " para confirmar e instalar paquetes httpd.

2. Si la instalación está completa, habilite e inicie el servicio httpd con el siguiente comando.

sudo systemctl enable httpd
sudo systemctl start httpd

El "habilitar systemctl El comando " permitirá que el servicio se inicie en cada arranque.

3. Después de eso, ejecute el siguiente comando para verificar el servicio httpd.

sudo systemctl status httpd

Y obtendrá un resultado similar al siguiente.

Como se ve en la captura de pantalla superior, el httpd está activo y ejecutándose.

Instalación de paquetes PHP

Por ahora, el CMS de WordPress necesita PHP 7.4 o superior para la instalación. Ahora instalará PHP 7.4 desde el repositorio de remi.

1. Ejecute el siguiente comando para agregar epel y remi Repository

sudo dnf install https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm
sudo dnf install https://rpms.remirepo.net/enterprise/remi-release-8.rpm

Escribe "y" y presiona "Enter" para agregar el repositorio epel y remi.

Cuando se complete la instalación, verifique el repositorio de epel y Remi usando el siguiente comando.

sudo dnf repolist

Verá el repositorio epel y remi en la lista de repositorios.

2. A continuación, restablezca el módulo PHP del repositorio predeterminado. Luego habilite el módulo para PHP 7.4 desde el repositorio de remi.

Ejecute el siguiente comando para restablecer el repositorio del módulo php predeterminado.

sudo dnf module reset php

En el proceso, escriba "y " y presione "Entrar " para agregar el repositorio de claves gpg remi.

Después de eso, ejecute el siguiente comando para habilitar el módulo php desde el repositorio de remi.

sudo dnf module enable php:remi-7.4

Escriba "y " para confirmar y presione "Enter " para continuar. Ahora está listo para instalar PHP y todas las extensiones para la instalación de WordPress.

3. Ejecute el siguiente comando para instalar php con algunas extensiones necesarias.

sudo dnf install php php-common php-mysqlnd php-gd php-imagick php-bcmath

Una vez completada la instalación, vaya al siguiente paso.

Instalación y configuración del servidor MariaDB

Para esta etapa, instalará el servidor de la base de datos MariaDB, asegurará la implementación de MariaDB y creará una nueva base de datos y un usuario para WordPress.

1. Para instalar el servidor de la base de datos MariaDB, ejecute el siguiente comando.

sudo dnf install mariadb mariadb-server

Espere a que se instale mariadb.

2. Una vez completada la instalación, habilite e inicie el servicio MariaDB usando el siguiente comando.

sudo systemctl enable mariadb
sudo systemctl start mariadb

4. El mariadb estará activo y ejecutándose, ejecute el siguiente comando para verificar el servicio MariaDB.

sudo systemctl status mariadb

Si el servicio mariadb se está ejecutando, obtendrá un resultado similar al siguiente.

5. A continuación, debe proteger su implementación de MariaDB configurando la contraseña raíz para MariaDB y eliminando algunas configuraciones predeterminadas. Para ello, puede utilizar la herramienta de línea de comandos 'mysql_secure_installation ', que se incluye en la instalación predeterminada de MariaDB.

Ejecute "mysql_secure_installation " Comando a continuación.

mysql_secure_installation

Al principio, se le pedirá que configure la contraseña raíz de mariadb.

Escriba su contraseña segura de root de mariadb y repita, luego presione "Enter " para continuar.

Setting the root password ensures that nobody can log into the MariaDB
root user without the proper authorisation.

Set root password? [Y/n] Y
New password:
Re-enter new password:
Password updated successfully!
Reloading privilege tables..
 ... Success!

Ahora escribe "Y" y presiona "Entrar " para eliminar el usuario anónimo predeterminado del servidor mariadb.

By default, a MariaDB installation has an anonymous user, allowing anyone
to log into MariaDB without having to have a user account created for
them.  This is intended only for testing, and to make the installation
go a bit smoother.  You should remove them before moving into a
production environment.

Remove anonymous users? [Y/n] Y
 ... Success!

Después de eso, deshabilite el inicio de sesión remoto para el usuario predeterminado 'root '. Escribe "Y " y presione "Entrar " para continuar.

Normally, root should only be allowed to connect from 'localhost'.  This
ensures that someone cannot guess at the root password from the network.

Disallow root login remotely? [Y/n] Y
 ... Success!

Escribe "Y " de nuevo para eliminar la base de datos predeterminada "test " y presione "Entrar ".

By default, MariaDB comes with a database named 'test' that anyone can
access.  This is also intended only for testing, and should be removed
before moving into a production environment.

Remove test database and access to it? [Y/n] Y
 - Dropping test database...
 ... Success!
 - Removing privileges on test database...
 ... Success!

Y el último, escriba "Y " de nuevo para recargar todos los privilegios de las tablas para aplicar una nueva configuración.

Reloading the privilege tables will ensure that all changes made so far
will take effect immediately.

Reload privilege tables now? [Y/n] Y
 ... Success!

Ahora el proceso está completo y verá el siguiente resultado.

Cleaning up...

All done!  If you've completed all of the above steps, your MariaDB
installation should now be secure.

Thanks for using MariaDB!

Crear Base de Datos y Usuario para WordPress

1. Inicie sesión en el shell de mariadb usando el siguiente comando mysql.

mysql -u root -p

2. Ahora ejecute la siguiente consulta mysql para crear una nueva base de datos "wordpress_db ".

CREATE DATABASE wordpress_db;

3. Ejecute la siguiente consulta para crear un nuevo usuario de base de datos "wpuser ". Cambie la "contraseña fuerte " con su contraseña segura.

CREATE USER [email protected] IDENTIFIED BY 'strongpassword';

4. Permita que el usuario "wpuser" acceda y escriba el "wordpress_db " usando la siguiente consulta.

GRANT ALL PRIVILEGES ON wordpress_db.* to [email protected];

5. Ahora vuelva a cargar todos los privilegios de las tablas para aplicar la nueva configuración de la base de datos.

FLUSH PRIVILEGES;

Luego puede escribir "salir " y presione "Entrar " para salir del shell de mariadb.

Descargar WordPress

1. Cambie el directorio de trabajo a "/var/www" y descargue el código fuente de WordPress usando el comando wget como se muestra a continuación.

cd /var/www/
wget https://wordpress.org/latest.tar.gz

2. Extraiga el código fuente de WordPress "latest.tar.gz " y obtendrá un nuevo directorio "wordpress ", luego cambie el propietario del directorio "wordpress" al usuario "apache".

tar -xzvf latest.tar.gz
sudo chown -R apache:apache wordpress/

Ahora está listo para configurar la instalación de WordPress.

Configuración de WordPress

En esta etapa, editará la configuración de WordPress "wp-config.php" , configure los detalles de la base de datos y agregue la clave de autenticación y salts (para una protección de seguridad adicional).

1. Primero, cambie el directorio de trabajo a "/var/www/wordpress ".

cd /var/www/wordpress/

2. Copie la configuración de muestra "wp-config-sample.php " a "wp-config.php ", luego edite el archivo de configuración usando el editor nano.

cp wp-config-sample.php wp-config.php
nano wp-config.php

3. Cambie los detalles de la base de datos (DB_NAME, DB_USER y DB_PASSWORD) con la información de su base de datos.

// ** MySQL settings - You can get this info from your web host ** //
/** The name of the database for WordPress */
define( 'DB_NAME', 'wordpress_db' );

/** MySQL database username */
define( 'DB_USER', 'wpuser' );

/** MySQL database password */
define( 'DB_PASSWORD', 'strongpassword' );

/** MySQL hostname */
define( 'DB_HOST', 'localhost' );

/** Database charset to use in creating database tables. */
define( 'DB_CHARSET', 'utf8' );

/** The database collate type. Don't change this if in doubt. */
define( 'DB_COLLATE', '' );

4. Visite este enlace para generar las claves de autenticación y salts, luego pegue la configuración en su "wp-config.php " archivo como se muestra a continuación.

/**#@+
 * Authentication unique keys and salts.
 *
 * Change these to different unique phrases! You can generate these using
 * the {@link https://api.wordpress.org/secret-key/1.1/salt/ WordPress.org secret-key service}.
 *
 * You can change these at any point in time to invalidate all existing cookies.
 * This will force all users to have to log in again.
 *
 * @since 2.6.0
 */
define('AUTH_KEY',         'v$4/xyGF7t!^(-Xr~lUKT,1oBxOpxzXPAs)kPE_C%Oc^~^%JN]C-y(k>~Wj+JZRM');
define('SECURE_AUTH_KEY',  'y<|#/jfYs,Y_l;{[`2uNp9SMNH8zNGK[eb&RYqb-+bd<a,Fi<9z9rj2_#=R(5O&s');
define('LOGGED_IN_KEY',    '&U8Z{I~,xV%D>FDq+Qx{[email protected]?ZD|_GgYby)z,l5jZDVqLC#&#+]#/6zh1-JQf6n6+X');
define('NONCE_KEY',        'pQv#Z_;q$4E: `AV.0eu-L7JA_BN-dvHV#W|;#s7>PTA<Vfs13S|-pE7RYV8+LX)');
define('AUTH_SALT',        '?;-?bWr%zTbx7lphp&]=IQ-P8D?ItOzs?4rGtaNI,kypb4xj$&X|ueIDA}5v?sj|');
define('SECURE_AUTH_SALT', 'mn<t0DVAfMX*SpqKC7NE}xFNZ|4c_N{s7|s-iKR4Jvc#GPc.9H:aW9%k2r?nAe;Z');
define('LOGGED_IN_SALT',   'ni D0H;5wrM3NQLWe<R-Y$j-_{)4{v*abQ(kAbhNrmi&+EXFMW-Gv7SQb6ya[)!s');
define('NONCE_SALT',       '[email protected]@hmv:~G/<+_8fPvQ(m%oR.A)%ZPtp``sZWK! !G6C%UYPrKU{xQJD.<bd45');
/**#@-*/

Presiona "Ctrl+x " y escriba "y" para guardar y salir.

Habilitar httpd mod_ssl en Rocky Linux

Para este tutorial, instalará WordPress y lo protegerá con SSL de Letsencrypt. Por lo tanto, debe habilitar mod_ssl para el servidor httpd en Rocky Linux.

1. Instale el paquete "mod_ssl " usando el comando dnf a continuación.

sudo dnf install mod_ssl mod_http2

2. después de eso, genere el SSL predeterminado para localhost usando el comando openssl a continuación.

openssl req -newkey rsa:2048 -nodes -keyout /etc/pki/tls/private/localhost.key -x509 -days 365 -out /etc/pki/tls/certs/localhost.crt

Puede presionar Intro para todas las preguntas porque este certificado solo se usará para localhost, no para el nombre de dominio de WordPress.

3. Ahora ejecute el siguiente comando para asegurarse de que mod_ssl esté disponible en el servidor web httpd.

apachectl -M | grep ssl

Si tiene un resultado como "ssl ", entonces mod_ssl está habilitado. De lo contrario, obtendrá una salida en blanco.

Generar SSL Letsencrypt en Rocky Linux

En esta etapa, instalará la herramienta cerbot y generará los certificados SSL para la instalación de WordPress. Generará SSL Letsencrypts con el complemento webroot.

1. Ejecute el siguiente comando para instalar la herramienta certbot para generar SSL Letsencrypt.

sudo dnf install certbot

Espere el proceso de instalación.

2. Una vez que se complete la instalación, cree un nuevo directorio para la autorización de letsencrypt usando los siguientes comandos.

sudo mkdir -p /var/lib/letsencrypt/.well-known
sudo chgrp apache /var/lib/letsencrypt
sudo chmod g+s /var/lib/letsencrypt

3. A continuación, cambie el directorio de trabajo a "/etc/httpd/conf.d/" y cree una nueva configuración "well-known.conf" utilizando el editor nano.

cd /etc/httpd/conf.d/
nano well-known.conf

Agregue las siguientes configuraciones.

Alias /.well-known/acme-challenge/ "/var/lib/letsencrypt/.well-known/acme-challenge/"
<Directory "/var/lib/letsencrypt/">
    AllowOverride None
    Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec
    Require method GET POST OPTIONS
</Directory>

Presiona "Ctrl+x " y escriba "y " para guardar y salir.

4. Ahora ejecute los siguientes comandos para verificar la configuración de httpd y reinicie el servicio httpd.

apachectl configtest
sudo systemctl restart httpd

Si no tiene ningún error, está listo para generar SSL Letsencrypt con el complemento webroot.

5. Antes de generar SSL Letsencrypt, asegúrese de que su nombre de dominio se resuelva en la dirección IP del servidor. Después de eso, puede generar SSL Letsencrypt con el complemento webroot ejecutando el comando certbot a continuación. Además, cambie la dirección de correo electrónico y el nombre de dominio por los suyos propios.

sudo certbot certonly --agree-tos --email [email protected] --webroot -w /var/lib/letsencrypt/ -d domain.com -d www.domain.com

Cuando se complete el proceso, sus certificados SSL estarán disponibles en "/etc/letsencrypt/live/domain.com/ " directorio.

Configurando un host virtual para WordPress

En este paso, agregará una nueva configuración de servidor virtual apache/httpd para WordPress.

1. Cambie el directorio de trabajo a "/etc/httpd/conf.d " y crea una nueva configuración "wordpress.conf " usando el editor nano.

cd /etc/httpd/conf.d/
nano wordpress.conf

Cambie el nombre de dominio detallado y el directorio de la ruta SSL por los suyos propios y pegue la configuración en el archivo "wordpress.conf".

# httpd port 80
<VirtualHost *:80>
  ServerName domain.com
  ServerAlias www.domain.com

  # automatic redirect http to https
  Redirect permanent / https://domain.com/
</VirtualHost>

# httpd port 443/ssl
<VirtualHost *:443>
  ServerName domain.com
  ServerAlias www.domain.com

  # WordPress path directory
  DocumentRoot /var/www/wordpress

  Protocols h2 http:/1.1

  <If "%{HTTP_HOST} == 'www.domain.com'">
    Redirect permanent / https://domain.com/
  </If>
 
  ErrorLog /var/log/httpd/domain.com-error.log
  CustomLog /var/log/httpd/domain.com-access.log combined

  SSLEngine On
  SSLCertificateFile /etc/letsencrypt/live/domain.com/fullchain.pem
  SSLCertificateKeyFile /etc/letsencrypt/live/domain.com/privkey.pem
 
  SSLCipherSuite EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH
  SSLProtocol All -SSLv2 -SSLv3 -TLSv1 -TLSv1.1
  SSLCompression off

  <Directory /var/www/wordpress/>
       Options FollowSymlinks
       AllowOverride All
       Require all granted
  </Directory>
 
  <Directory /var/www/wordpress/>
       RewriteEngine on
       RewriteBase /
       RewriteCond %{REQUEST_FILENAME} !-f
       RewriteRule ^(.*) index.php [PT,L]
  </Directory>
</VirtualHost>

Presiona "Ctrl+x " y escriba "Y " para guardar la configuración y salir.

3. A continuación, ejecute el siguiente comando para verificar la configuración de httpd.

sudo apachectl configtest

Si no obtiene ningún error, reinicie el servicio httpd usando el siguiente comando.

sudo systemctl restart httpd

Ahora está listo para la instalación de WordPress a través del navegador web.

Instalando WordPress

Si toda la configuración del servidor relacionada está completa, puede acceder a su instalación de WordPress con el navegador web.

1. Abra su navegador web y escriba la dirección URL de su instalación de WordPress.

http://dominio.com

Ahora será redirigido a la conexión HTTPS segura y obtendrá la página de la siguiente manera.

Seleccione el idioma de su instalación de WordPress, el predeterminado es "Inglés (Estados Unidos) ", luego haz clic en "Continuar ".

2. Ahora escriba su "Título del sitio " y escriba un nuevo nombre de usuario , correo electrónico y contraseña para su instalación de WordPress.

Luego haga clic en el botón "Instalar WordPress " para iniciar la instalación.

3. Una vez completada la instalación, aparecerá la siguiente página.

Haga clic en 'Iniciar sesión ' para continuar.

4. Ahora será redirigido a la página de inicio de sesión de WordPress.

Escriba su nombre de usuario y contraseña, luego haga clic en "Iniciar sesión ".

5. Y obtendrá la página de índice predeterminada de WordPress.

6. Mueve el cursor al menú "Mi Blog " y haga clic en "Panel de control " o "Temas ", y obtendrá el panel de administración de WordPress como se muestra a continuación.

7. Para instalar el complemento de WordPress, mueva el cursor al "Complemento " y haga clic en 'Agregar nuevo ', luego será redirigido a la página de Complementos.

Elija el complemento que desea instalar y haga clic en "Instalar ahora ", luego puede hacer clic en "Activar " para activar el complemento.

Conclusión

¡Felicidades! ha instalado con éxito WordPress CMS con LAMP Stack en el servidor Rocky Linux. A continuación se muestra lo que has aprendido en este tutorial:

  • Instalación de la pila LAMP
  • Asegurar la implementación de MariaDB
  • Crear base de datos mysql y usuario desde mysql/mariadb shell
  • Configuración del servidor web apache/httpd para el complemento certbot webroot
  • Generar SSL Letsencrypt
  • Y la última es una instalación de WordPress

Para el siguiente paso, puede elegir o comprar temas e instalarlos en su WordPress.


Rocky Linux
  1. Cómo instalar Let's Encrypt SSL para NGINX en Rocky Linux 8

  2. Cómo instalar WordPress con Apache, MariaDB y PHP 7 en Arch Linux

  3. Cómo instalar Shopware con NGINX y Lets Encrypt en CentOS 7

  4. Cómo instalar Shopware con NGINX y Lets Encrypt en Fedora 30

  5. ¿Cómo instalar WordPress con LEMP (Nginx, MariaDB y PHP) en Rocky Linux 8?

Cómo instalar Joomla con Nginx en Rocky Linux

Cómo instalar Gitea con Nginx y Lets Encrypt SSL gratis en Ubuntu 20.04

Cómo instalar Lighttpd con PHP, MariaDB y Lets Encrypt SSL en Debian 10

Cómo instalar FTP con SSL en Rocky Linux y AlmaLinux

Cómo instalar LAMP en el servidor Rocky Linux 8

Cómo instalar WordPress en AlmaLinux 8 | Linux rocoso 8