WordPress es un popular software de gestión de contenido (CMS) escrito en lenguaje de programación PHP. Debido a su popularidad, WordPress captura al menos el 43 por ciento de la cuota de mercado de todos los sitios web. Una de las razones por las que es popular es porque es completamente gratuito y fácil de configurar y administrar.
WordPress no solo es popular para bloguear, sino que también se usa para comercio electrónico, foros, etc.
En este tutorial, lo guiaremos en la configuración e instalación de WordPress usando Ubuntu 22.04.
Comencemos.
1 Actualización del sistema
Actualicemos primero nuestro sistema.
sudo apt update && apt upgrade
2 Instalación de PHP y extensión de PHP
Instalamos PHP y las extensiones de PHP necesarias para ejecutar WordPress correctamente.
sudo apt install php php-curl php-gd php-mbstring php-xml php-xmlrpc php-soap php-intl php-zip php-mysql php-fpm
Verifique la versión de PHP:
php -v
Output:
PHP 8.1.2 (cli) (built: Jul 21 2022 12:10:37) (NTS)
Copyright (c) The PHP Group
Zend Engine v4.1.2, Copyright (c) Zend Technologies
with Zend OPcache v8.1.2, Copyright (c), by Zend Technologies
3 Instalación y configuración de la base de datos
Dado que WordPress está construido con PHP, la base de datos de elección debe ser MySQL o MariaDB y en este tutorial instalaremos MariaDB.
sudo apt install mariadb-server -y
Habilitemos e iniciemos MariaDB.
systemctl enable mariadb --now
Verifique el estado de la base de datos MariaDB.
sudo systemctl status mariadb
Output:
● mariadb.service - MariaDB 10.6.7 database server
Loaded: loaded (/lib/systemd/system/mariadb.service; enabled; vendor preset: enabled)
Active: active (running) since Sat 2022-09-03 12:32:57 EDT; 2min 13s ago
Docs: man:mariadbd(8)
https://mariadb.com/kb/en/library/systemd/
Main PID: 123075 (mariadbd)
Status: "Taking your SQL requests now..."
Tasks: 9 (limit: 9456)
Memory: 57.2M
CPU: 425ms
CGroup: /system.slice/mariadb.service
└─123075 /usr/sbin/mariadbd
Protejamos la base de datos MariaDB.
sudo mysql_secure_installation
Output:
Securing the MySQL server deployment.
Enter password for user root:
The 'validate_password' component is installed on the server.
The subsequent steps will run with the existing configuration
of the component.
Using existing password for root.
Estimated strength of the password: 50
Change the password for root ? ((Press y|Y for Yes, any other key for No) : N
... skipping.
By default, a MySQL installation has an anonymous user,
allowing anyone to log into MySQL 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? (Press y|Y for Yes, any other key for No) : Y
Success.
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? (Press y|Y for Yes, any other key for No) : Y
Success.
By default, MySQL 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? (Press y|Y for Yes, any other key for No) : Y
- Dropping test database...
Success.
- Removing privileges on test database...
Success.
Reloading the privilege tables will ensure that all changes
made so far will take effect immediately.
Reload privilege tables now? (Press y|Y for Yes, any other key for No) : Y
Success.
All done!
Reinicie el servicio MariaDB.
sudo systemctl restart mariadb
Vamos a crear una base de datos y un usuario de base de datos para nuestro sitio de WordPress.
mysql -u root -p
MariaDB [(none)]> create database wordpress;
MariaDB [(none)]> grant all privileges on wordpress.* to 'wordpress_user'@'localhost' identified by 'your_secure_password';
MariaDB [(none)]> flush privileges;
MariaDB [(none)]> exit;
No olvide cambiar 'su_contraseña_segura ‘ a su contraseña segura.
4 Descarga de WordPress
sudo wget https://wordpress.org/latest.tar.gz -P /var/www/
Cambiemos el directorio a donde descargamos WordPress.
cd /var/www
Extraiga el archivo de WordPress.
sudo tar -xvzf latest.tar.gz
Crea un .htaccess archivo.
sudo nano /var/www/wordpress/.htaccess
Inserte lo siguiente dentro.
# BEGIN WordPress
RewriteEngine On
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
# END WordPress
Tenga en cuenta que .htaccess solo funciona con el servidor web Apache.
Guarde el archivo y salga.
Cambie la propiedad y el grupo a www-data.
sudo chown -R www-data:www-data wordpress
Arreglemos el permiso y establezcamos todas las carpetas en 755 y todos los archivos en 644.
sudo find /var/www/wordpress/ -type d -exec chmod 755 {} \;
sudo find /var/www/wordpress/ -type f -exec chmod 644 {} \;
5 Configurar WordPress con el servidor web Apache
Primero, instalemos Apache WebServer.
sudo apt install apache2
Habilite e inicie Apache.
systemctl enable apache2 --now
Ahora cree un host virtual.
sudo nano /etc/apache2/sites-available/wordpress.com.conf
Inserte lo siguiente en el archivo wordpress.com.conf.
<VirtualHost *:80>
ServerAdmin [email protected]
DocumentRoot /var/www/wordpress
ServerName domain.com
www.domain.com
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
<Directory /var/www/wordpress/>
Options +FollowSymlinks
AllowOverride All
Require all granted
</Directory>
</VirtualHost>
No olvide cambiar el “domain.com ” con su nombre de dominio.
Luego guarde y salga.
Ahora habilitemos el servidor virtual que creamos.
sudo a2ensite wordpress.com.conf
Habilitar mod_rewrite.
sudo a2enmod rewrite
Reinicie Apache.
sudo systemctl restart apache2
6 Configurar WordPress con el servidor web Nginx
Primero, instalemos Nginx.
sudo apt install nginx -y
Habilite e inicie Nginx.
sudo systemctl enable nginx --now
Crea un bloque de servidor.
sudo nano /etc/nginx/sites-available/domain.com.conf
Inserte lo siguiente.
server {
server_name domain.comwww.domain.com;
access_log /var/log/nginx/domain.com.access.log;
error_log /var/log/nginx/domain.com.error.log;
root /var/www/wordpress;
index index.php;
location / {
try_files $uri $uri/ /index.php?$args;
}
location ~ \.php$ {
fastcgi_pass unix:/run/php/php-fpm.sock;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param SCRIPT_NAME $fastcgi_script_name;
}
}
Tenga en cuenta que debe cambiar el domain.com a su propio dominio.
Guarde el archivo y salga.
Habilitemos el archivo de configuración nginx (bloque del servidor).
sudo ln -s /etc/nginx/sites-available/domain.com.conf /etc/nginx/sites-enabled/
Reinicie Nginx.
sudo systemctl restart nginx
Debería poder acceder a su sitio de WordPress utilizando el servidor web Nginx .
7 Completar la instalación de WordPress
Completemos la instalación accediendo a nuestra instancia de WordPress con nuestro dominio en http://domain.com .
Elija su idioma preferido y luego haga clic en continuar .
Haz clic en Vamos .
Proporcione el Nombre de la base de datos , el nombre de usuario de la base de datos y la contraseña de usuario de la base de datos que creamos en el paso 3 y deja el host de la base de datos es el prefijo de tabla tal como está, haga clic en enviar.
Haz clic en Ejecutar la instalación .
Rellene los formularios y haga clic en Instalar WordPress .
Eso es todo, la instalación fue exitosa y debería poder acceder a su sitio de WordPress.
8 Conclusión
Ha aprendido lo fácil que es instalar WordPress en Ubuntu 22.04 con Nginx y el servidor web Apache. Si te gusta este artículo, también te puede gustar nuestro artículo sobre Drupal.
También puede proteger su instancia de WordPress instalando un certificado SSL y puede hacerlo consultando nuestra guía sobre Let's Encrypt.