Configurando un proyecto PHP con Wordpress en nginx
Ir a la navegación
Ir a la búsqueda
Sumario
Prerrequisitos
Unha instalación de Nginx como a feita nesta sección.
Instalación de MySQL
apt update apt install gnupg wget https://dev.mysql.com/get/mysql-apt-config_0.8.22-1_all.deb dpkg -i mysql-apt-config* apt update apt install mysql-server
Na instalacion configurar autenticacion legacy con versión 5 para que funcione correctamente por defecto con wordpress. Escoller contrasinal para o usuario root:
# Usuario root Contraseña root
Comprobar que queda correctamente instalado e levantado:
systemctl status mysql
Configuración do firewall para acceso remoto á consola de mysql
Para conectarse remotamente a mysql, hai que abrir o porto (por defecto) 3306: ufw allow 3306
Instalación de php
apt install php
Instalación de php-fpm
apt install php7.4-fpm systemctl restart php7.4-fpm
Importante. 7.4 foi a versión no momento de elaborar este artigo. No futuro, pode haber que instalar unha versión superior, e con ese díxito de versión haberá que deixalo reflexado no ficheiro de configuración
Instalación de php-mysql
apt install php-mysql
Cando instalamos php instálase o módulo Apache, que non imos utilizar. Poderíamos facer:
apt remove apache2
Ou:
apt autoremove
Instalación de WordPress
Descarga e descompresión
cd /var/www mkdir wordpress cd wordpress/ wget -O wp.zip https://es.wordpress.org/latest-es_ES.zip unzip wp.zip
Unha vez descomprimido, podemos eliminar o ficheiro comprimido descargado:
rm wp.zip
Configuración
cd /var/www/wordpress/wordpress cp wp-config-sample.php wp-config.php nano wp-config.php DB_NAME 'wordpress' DB_USER 'wpuser' DB_PASSWORD 'wpuser' DB_HOST 'localhost'
Creando base de datos WordPress en MySQL
mysql -u root -p CREATE DATABASE wordpress; CREATE USER 'wpuser'@'localhost' identified by 'wpuser'; GRANT ALL PRIVILEGES ON wordpress.* TO 'wpuser'@'localhost'; FLUSH PRIVILEGES; EXIT;
Cambiando propietario en rutas recursivas
cd /var/www/wordpress/wordpress chown -R www-data:www-data /var/www/wordpress/wordpress
Configuración de Nginx para WordPress
nano /etc/nginx/sites-available/wp.aclasedopeque.com
server { listen 80; root /var/www/wordpress/wordpress; index index.php index.html index.htm; server_name wp.aclasedopeque.com; access_log /var/log/nginx/wordpress_access.log; error_log /var/log/nginx/wordpress_error.log; client_max_body_size 64M; location / { try_files $uri $uri/ /index.php?$args; } location ~ \.php$ { try_files $uri =404; include /etc/nginx/fastcgi_params; fastcgi_read_timeout 3600s; fastcgi_buffer_size 128k; fastcgi_buffers 4 128k; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; fastcgi_pass unix:/run/php/php7.4-fpm.sock; fastcgi_index index.php; } }
client_max_body_size é para que o servidor teña capacidade de subir ficheiros.
Ollo. Pode ser preciso crear os ficheros access log e error log cun touch Ollo. Cuidado coas versións. Neste intre usouse php7.4-fpm. Se fora outra versión, hai que cambiar o número de versión correspondente no ficheiro de configuración.
ln -s /etc/nginx/sites-available/wp.aclasedopeque.com /etc/nginx/sites-enabled/wp.aclasedopeque.com
systemctl restart nginx
Acceder a inferfaz web e loguearse:
usuario admin contraseña admin
E podo crear unha entrada, e ver que se publica correctamente.