Instalar Wordpress sobre LEMP
Luego de haber instalado LEMP podemos usarlo para servir páginas Web, en estas notas aprenderemos cómo instalar el CMS Wordpress sobre LEPM. Actualizar el sistema
apt-get update && apt-get -y upgrade
Instalar extensiones adicionales de PHP requeridas por Wordpress
Instalación
sudo apt install php-curl php-gd php-intl php-mbstring php-soap php-xml php-xmlrpc php-zip
Reiniciar PHP
sudo systemctl restart php7.2-fpm
Creando la Base de Datos
Entrando a Mysql
mysql -u root -p
Enter password: ***** (usa la clave que creaste cuando instalamos Mysql)
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 8
Server version: 5.7.24-0ubuntu0.16.04.1 (Ubuntu)
Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql>
Creando la Base de Datos
mysql> CREATE DATABASE db_name DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;
Query OK, 1 row affected (0.00 sec)
Añadiendo nuevo usuario administrador para la base de datos creada
mysql> GRANT ALL ON db_name.* TO 'user_name'@'localhost' IDENTIFIED BY 'uer_passwd';
Query OK, 0 rows affected, 1 warning (0.01 sec)
Regenerando los permisos
mysql> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.02 sec)
Saliendo del shell de Mysql
mysql> EXIT;
Bye
Creando un V-Host en NGINX para Wordpress
Creando el archivo de configuración
sudo vim /etc/nginx/sites-available/name_vhost
Añadir este contenido
server {
listen 80 default_server;
listen [::]:80 default_server;
root /var/www/wordpress;
index index.php index.html index.htm index.nginx-debian.html;
server_name server_domain_or_IP;
location / {
#try_files $uri $uri/ =404;
try_files $uri $uri/ /index.php$is_args$args;
}
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/run/php/php7.0-fpm.sock;
}
location ~ /\.ht {
deny all;
}
location = /favicon.ico { log_not_found off; access_log off; }
location = /robots.txt { log_not_found off; access_log off; allow all; }
location ~* \.(css|gif|ico|jpeg|jpg|js|png)$ {
expires max;
log_not_found off;
}
}
Verificar si no hay errores en la sintaxis
sudo nginx -t
Aplicar cambios en NGINX
sudo systemctl reload nginx
Descargar Wordpress
Descarga Wordpress en español
curl -LO https://es.wordpress.org/wordpress-4.9.8-es_ES.tar.gz
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 9045k 100 9045k 0 0 13.3M 0
--:--:-- --:--:-- --:--:-- 13.3M
Descomprimir el paquete y extraer su contenido
tar xzvf wordpress-4.9.8-es_ES.tar.gz
Crear archivo de configuración de Wordpress a partir del archivo example
cp ~/wordpress/wp-config-sample.php ~/wordpress/wp-config.php
Copiar el directorio wordpress/ a la ruta /var/www/
sudo cp -a ~/wordpress /var/www/wordpress
Asignar a www-data como dueño de la carpeta wordpress
sudo chown -R www-data:www-data /var/www/wordpress
Configurar el archivo wp-config.php
Obtener valores seguros del generador de claves secretas de WordPress Es necesario hacer algunos cambios en el archivo de configuración principal de WordPress.
Cuando abramos el archivo, nuestro primer objetivo será ajustar algunas claves secretas para proporcionar cierta seguridad a nuestra instalación. WordPress proporciona un generador seguro para estos valores para que usted no tenga que tratar de encontrar buenos valores por su cuenta. Estos sólo se utilizan internamente, por lo que no perjudicará la usabilidad de tener valores complejos y seguros aquí.
Para obtener valores seguros del generador de claves secretas de WordPress, escriba:
curl -s https://api.wordpress.org/secret-key/1.1/salt/
Obtendrá algo como esto
define('AUTH_KEY', 'j-k-*%-jfkNa0klw^zhYq,V5-vy:O%|jD!xQOhoVfa]/W<.Rd<j.d?/sXjCwGrP ');
define('SECURE_AUTH_KEY', '!!R=7N19+@GHP<wMQYqtR{CSRkBo6/*z8KtMuRRrxH+-e8w.gtfc=Q&&9k=_C91:');
define('LOGGED_IN_KEY', '3VeY_@UqaA,1pMsIit|Wd>S2pafIs#b-KRMSX<%u+j0XG}/Hf;mO;IPmT8^k+bnO');
define('NONCE_KEY', 'Gz~N<s]iBAm2PGQwy9m8xN-?`1(gB&MHZZ)nXsci6HxD+a0P*K&P&R{x_CC^)~)J');
define('AUTH_SALT', 'w=.-mr}WE+Ar}sd2#kDtnv{wp*Vt?UA!|PoY*C&`S(5}1~C|=$o4K1o~D~w*1{h$');
define('SECURE_AUTH_SALT', ':talsB%rT;`k#6W3VD/fvJ8,a}EstRE NPy6-i_<8=xC0YfX0^bt^KvfDMz7Hlx_');
define('LOGGED_IN_SALT', '4iN,Q6,Mse:>b&ko2l|(/X19J-eW7PE+aD_j2M-B +OQreZs`3un`|| %9y/B8?z');
define('NONCE_SALT', 'SFH0ee>?]hSIQZv@#v~%,mETA3P:ga3$60cw.o&s?r!+z1$~w:z<7QwIzsj!<rD6');
Lo copiamos y pegamos en el archivo de configuración de wordpress, sustituyendo las líneas correspondientes a esa sección.
w3m http://localhost/info.php
Añadir la información referente a la base de datos en el mismo archivo.
define('DB_NAME', 'nombredetubasededatos');
/** Tu nombre de usuario de MySQL */
define('DB_USER', 'nombredeusuario');
/** Tu contraseña de MySQL */
define('DB_PASSWORD', 'contraseña');
/** Host de MySQL (es muy probable que no necesites cambiarlo) */
define('DB_HOST', 'localhost');
/** Codificación de caracteres para la base de datos. */
define('DB_CHARSET', 'utf8');
/** Cotejamiento de la base de datos. No lo modifiques si tienes dudas. */
define('DB_COLLATE', '');
Terminar la instalación desde un navegador Web, apuntando a la url del sitio y completando la información que pida el sistema, esto es todo.
Referencia https://www.digitalocean.com