Cómo instalar Wordpress con Nginx PHP7 phpMyAdmin en Ubuntu 20.04

1 mar 2021 6 min di lettura
Cómo instalar Wordpress con Nginx PHP7 phpMyAdmin en Ubuntu 20.04
Indice dei contenuti

Introducción

Nginx es un servidor proxy inverso y HTTP de código abierto de alto rendimiento responsable de administrar la carga de algunos de los sitios más grandes de Internet. Se puede utilizar como servidor web independiente, equilibrador de carga, almacenamiento en caché de contenido y proxy inverso para servidores HTTP y no HTTP.

Comparado con Apache, Nginx puede manejar una gran cantidad de conexiones concurrentes y tiene una menor huella de memoria por conexión.

Si desea instalar Wordpress con Nginx en un servidor remoto, continúe leyendo, de lo contrario, omita el primer párrafo "Conexión al servidor" y lea el siguiente.

Conexión al servidor

Para acceder al servidor, necesita conocer la dirección IP. También necesitará su nombre de usuario y contraseña para la autenticación. Para conectarse al servidor como root, escriba el siguiente comando:

ssh root@IP_DEL_SERVER

A continuación, deberá ingresar la contraseña del usuario root.

Si no usa el usuario root, puede iniciar sesión con otro nombre de usuario usando el mismo comando, luego cambie root a su nombre de usuario:

ssh nome_utente@IP_DEL_SERVER

Luego se le pedirá que ingrese su contraseña de usuario.

El puerto estándar para conectarse a través de ssh es 22, si su servidor usa un puerto diferente, deberá especificarlo usando el parámetro -p, luego escriba el siguiente comando:

ssh nome_utente@IP_DEL_SERVER -p PORTA

Instalar Nginx

Para instalar Nginx abre la terminal y da estos comandos:

sudo apt update
sudo apt install nginx

Si el firewall de Ubuntu está activo, debe habilitar el tráfico para Nginx:

sudo ufw allow 'Nginx HTTP'

En este punto, el servidor está listo con las configuraciones predeterminadas. Simplemente conéctese a su dirección IP pública http://domain_or_ip o localhost http://localhost.

Debería ver la página de bienvenida de Nginx.

Comandos útiles de Nginx

Veamos algunos comandos de Nginx útiles para administrar su operación básica de terminal.

Para reiniciar Nginx:

sudo service nginx restart

Para detener Nginx:

sudo service nginx stop

Para iniciar Nginx:

sudo service nginx start

Instalar MySQL

Puede instalar MySQL usando el repositorio oficial de Ubuntu con A PT. Instale MySQL:

sudo apt install mysql-server

Instalar PHP

Para instalar PHP desde la terminal:

sudo apt install php-fpm php-mysql php-mbstring php-zip php-curl php-intl php-gd
sudo phpenmod mbstring

Para que la instalación de PHP sea más segura, escriba el siguiente comando:

sudo nano /etc/php/7.4/fpm/php.ini

Busque esta línea ;cgi.fix_pathinfo, elimine el punto ; e ingrese el parámetro cero 0. Entonces:

cgi.fix_pathinfo=0

Reinicie PHP:

sudo systemctl restart php7.4-fpm

Configurar Nginx

Abra el siguiente archivo desde FTP o terminal con su editor favorito, aquí usamos nano:

sudo nano /etc/nginx/sites-available/default

Podemos eliminar todo el contenido del archivo presionando ctrl+k y luego pegar la siguiente configuración:

server {
 listen 80 default_server;
 root /var/www/html;
 index index.php index.html index.htm;
 server_name localhost;
 charset UTF-8;
 location /{
 try_files $uri//index.php?$args;
 }
 location ~ \.php$ {
 try_files $uri =404;
 fastcgi_split_path_info ^(.+\.php)(/.+)$;
 fastcgi_pass unix:/run/php/php7.4-fpm.sock;
 fastcgi_index index.php;
 include fastcgi.conf;
 }
 location ~* \.(js|css|png|jpg|jpeg|gif|ico|eot|otf|ttf|woff)$ {
 add_header Access-Control-Allow-Origin *;
 access_log off; log_not_found off; expires 30d;
 }
 location = /robots.txt { access_log off; log_not_found off; }
 location ~ /\. { deny all; access_log off; log_not_found off; }
 }

Guarde y cierre el archivo presionando CTRL + X, seguido de Y para guardar los cambios y luego ENTER si está usando nano.

Reiniciar Nginx

sudo service nginx restart

Instalar PhpMyAdmin

Para instalar phpMyAdmin, dé estos simples comandos de terminal:

sudo apt update
sudo apt install phpmyadmin php-mbstring
ATENCIÓNOk

Continúe con las siguientes configuraciones al instalar phpMyAdmin:

  • Para la configuración correcta de phpMyadmin, se requiere la base de datos dbconfig-common y luego seleccione "Aceptar ".
  • Ingrese la contraseña de administrador para el usuario phpmyadmin.
  • Confirme la contraseña.

Una vez completada la instalación, cree un enlace simbólico phpMyAdmin para Nginx:

sudo ln -s /usr/share/phpmyadmin//var/www/html/

Reinicie Nginx:

sudo service nginx restart

Ahora es posible iniciar sesión en phpmyadmin con el usuario phpmyadmin y la contraseña establecida durante la fase de instalación.

PhpMyAdmin por defecto no podrá usar credenciales de root en su lugar.

Puede encontrar los siguientes errores:

#1698 - Access denied for user 'root'@'localhost'
 mysqli_real_connect(): (HY000/1698): Access denied for user 'root'@'localhost'

La solución más simple (y segura) es crear un nuevo usuario y otorgar los privilegios requeridos.

Cambiar el método de autenticación

A partir de la versión 5.7 de MySQL, el usuario raíz de MySQL está configurado para autenticarse a través del complemento auth_socket de forma predeterminada en lugar de una contraseña.

Para usar una contraseña para conectarse a MySQL como usuario root, necesita cambiar el método de autenticación, de auth_socket a mysql_native_password.

Como aún no se ha establecido una contraseña, puede conectarse al servidor MySQL simplemente usando el comando mysql o sudo mysql si ha iniciado sesión como usuario normal. A continuación, deberá utilizar el comando mysql -u root -p como root, de lo contrario sudo mysql -u root -p como usuario normal.

Entonces, si ha iniciado sesión como root, escriba en la terminal:

mysql

De lo contrario, si ha iniciado sesión como un usuario normal con privilegios de sudo:

sudo mysql

Para verificar el método de autenticación asociado con las cuentas mysql:

SELECT user,authentication_string,plugin,host FROM mysql.user;

Debería recibir un mensaje similar a este:


+------------------+-------------------------------------------+-----------------------+-----------+
 | user | authentication_string | plugin | host |
 +------------------+-------------------------------------------+-----------------------+-----------+
 | root | | auth_socket | localhost |
 | mysql.session | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE | mysql_native_password | localhost |
 | mysql.sys | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE | mysql_native_password | localhost |
 | debian-sys-maint | *5852386AB32C5DAD5DDA4F5FED911A70DA342656 | mysql_native_password | localhost |
 +------------------+-------------------------------------------+-----------------------+-----------+
 4 rows in set (0.00 sec)

Como puede ver, el método de autenticación auth_socket está configurado por defecto para el usuario root.

Para utilizar la autenticación de contraseña para la cuenta raíz, realice los siguientes cambios:

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'TUA_PASSWORD';
Atención:Your password does not satisfy the current policy requirements.este tutorial

Actualizar las tablas:

FLUSH PRIVILEGES;

Ahora puede verificar el nuevo método de autenticación asociado con el usuario raíz:

SELECT user,authentication_string,plugin,host FROM mysql.user;

Debería recibir un mensaje similar a este:


+------------------+-------------------------------------------+-----------------------+-----------+
 | user | authentication_string | plugin | host |
 +------------------+-------------------------------------------+-----------------------+-----------+
 | root | *E6A3377941E640ADEDCC8907E390B06B0C863862 | mysql_native_password | localhost |
 | mysql.session | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE | mysql_native_password | localhost |
 | mysql.sys | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE | mysql_native_password | localhost |
 | debian-sys-maint | *5852386AB32C5DAD5DDA4F5FED911A70DA342656 | mysql_native_password | localhost |
 +------------------+-------------------------------------------+-----------------------+-----------+
 4 rows in set (0.00 sec)

Salga del indicador de MySQL:

exit;

Para iniciar sesión nuevamente en el servidor MySQL ahora, deberá ingresar una contraseña, luego desde la terminal:

Si ha iniciado sesión como root, escriba en la terminal:

mysql -u root -p

De lo contrario, si ha iniciado sesión como un usuario normal con privilegios de sudo:

sudo mysql -u root -p

De esta manera, podrá acceder a PhpMyAdmin u otro software similar con el usuario root.

Opción 2: agregar privilegios de root para el usuario phpmyadmin

Ejecute los siguientes comandos:

GRANT ALL PRIVILEGES ON *.* TO 'phpmyadmin'@'localhost' WITH GRANT OPTION;
FLUSH PRIVILEGES;
exit;

Ahora puede iniciar sesión con el usuario phpmyadmin y tener todos los privilegios del usuario root.

Opción 3: crear un nuevo usuario

Ahora puede conectarse a la base de datos a través de PhpMyadmin usando el nombre de usuario "phpmyadmin" y la contraseña ingresada en los pasos anteriores.

Alternativamente, puede crear un nuevo usuario y asignar los privilegios necesarios:

CREATE USER 'nuovo_utente'@'localhost' IDENTIFIED BY 'nuova_password';
Atención:Your password does not satisfy the current policy requirements.este tutorial

Asocie los privilegios de administración con el usuario recién creado:

GRANT ALL PRIVILEGES ON *.* TO 'nuovo_utente'@'localhost' WITH GRANT OPTION;
FLUSH PRIVILEGES;
exit;

Crea una base de datos para WordPress

Si ha iniciado sesión como root, escriba en la terminal:

mysql -u root -p

De lo contrario, si ha iniciado sesión como un usuario normal con privilegios de sudo:

sudo mysql -u root -p
CREATE DATABASE wordpress DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;

Asocie un nuevo usuario a la wordpress con contraseña y privilegios:

CREATE USER 'wordpressuser'@'localhost' IDENTIFIED WITH mysql_native_password BY 'tua_password';
GRANT ALL PRIVILEGES ON wordpress.* TO 'wordpressuser'@'localhost';
Atención:Your password does not satisfy the current policy requirements.este tutorial

Actualizar privilegios:

FLUSH PRIVILEGES;

Salir de mysql:

exit;

Ahora puede conectarse a phpMyAdmin agregando /phpmyadmin a su dirección IP pública http://domain_or_ip/phpmyadmin oa localhost http://localhost/phpmyadmin.

Instalar Wordpress

Proporcione los siguientes comandos de terminal para instalar la última versión de Wordpress disponible:

cd /var/www/html
sudo wget https://wordpress.org/latest.zip
sudo apt-get install zip unzip
sudo unzip latest.zip
cd wordpress
sudo mv * /var/www/html
cd..
sudo rm -rf wordpress
sudo chown -R www-data:www-data /var/www/

Ahora puede iniciar la instalación de Wordpress ingresando los datos requeridos como la dirección de la base de datos, generalmente el nombre de usuario "localhost" y la contraseña de la base de datos, el nombre del sitio, el nombre de usuario y la contraseña que usará para el usuario administrador de Wordpress.

Conclusión

En este tutorial hemos visto cómo instalar Wordpress en Ubuntu 20.04 LTS Focal Fossa.

Recomiendo instalar certificados de seguridad SSL para servir Wordpress con HTTPS: Cómo instalar Let's Encrypt para Nginx en Ubuntu 20.04 LTS.

Buy me a coffeeBuy me a coffee

Supportaci se ti piacciono i nostri contenuti. Grazie.

Successivamente, completa il checkout per l'accesso completo a Noviello.it.
Bentornato! Accesso eseguito correttamente.
Ti sei abbonato con successo a Noviello.it.
Successo! Il tuo account è completamente attivato, ora hai accesso a tutti i contenuti.
Operazione riuscita. Le tue informazioni di fatturazione sono state aggiornate.
La tua fatturazione non è stata aggiornata.