My Profile Photo

Er' blog de Arawako be Free!


Another site of a Venezuelan system administrator, pro Free Software


Wordpress sobre LEMP

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