Página 1 de 1

Instalar Wordpress con MariaDB + Nginx + PHP7.0-FPM en nuestra Pi (Servidor Web Completo)

Publicado: 14 Ago 2016, 01:41
por Kike
Hola a todos! con este tutorial voy a enseñar a montar una Página Web muy completa en vuestra Pi utilizando Wordpress, complementando como servidor Web Nginx, utilizando el motor PHP7.0 y una base de Datos MariaDB Server.

¿Que es Wordpress?Imagen
WordPress es una plataforma donde puedes escribir, modificar artículos y crear una página web o un blog. Puedes usar esta plataforma para empezar tu propio sitio en Internet o publicar tu propio blog en Internet. También te permite ahorrar tiempo y esfuerzo, ya que hace muy fácil empezar una pagina web.
¿Porque MariaDB?
MariaDB es un Fork de MYSQL, quiere decir que esta hecho a partir de MYSQL pero con más funcionalidades y mejor rendimiento. La otra ventaja es que tiene compatibilidad total con MYSQL,MariaDB está bajo licencia GPL que es menos restrictiva y totalmente gratuita.
Despues de la explicación viene la práctica 8-)

Instalando NGINX

Como ya tenemos un tutorial NGINX básico redactado, solo queda seguirlo al pie de la letra, quitado de este parámetro de configuración
ubicado en /etc/nginx/sites-enabled/default , pondremos lo siguiente:
root /var/www/wordpress;
Consejos para Optimizar Wordpress junto NGINX
Vamos a modificar unos parámetros en la configuración NGINX, para que pueda rendir al máximo

Vamos a editar el siguiente archivo poniendo el siguiente comando en la terminal SSH
y agregamos o editamos la configuración existente ( Ojo con no repetir parámetros ya existentes! ):

Código: Seleccionar todo

sudo nano /etc/nginx/nginx.conf
Modificar dependiendo de los Nucleos que tenga la CPU de nuestra Placa Pi
worker_processes 4;
Las conexiones máximas que aceptará nuestra Web
worker_connections 1000;
Ahora las siguientes irán dentro del parámetro
http {
Evita que vean la versión de NGINX que utilizas (alguno lo podría utilizar en tu contra para buscar vulnerabilidades)
server_tokens off;
Para servir contenido estático
sendfile on;
Con esto gestinonaremos el tiempo de espera de un cliente al enviar una petición. Si pasa del tiempo emitirá un código 408 (Request Time Out)
client_body_timeout 10;
client_header_timeout 10;
Conexiones "Vivas" que mantendrá Nginx para las nuevas conexiones entrantes (Mejora Rendimiento)
keepalive_timeout 20;
Tiempo que esperará Nginx para que la petición sea rechazada si no está en uso.
send_timeout 10;
Activar compresión web GZIP (Muy Recomendado) NO recomiendo pasar el grado de compresión a más de nivel 4
gzip_vary on;
gzip_http_version 1.1;
gzip_comp_level 4;
gzip_min_length 700;
gzip_buffers 4 8k;
gzip_types
# text/html is always compressed by HttpGzipModule
text/css
text/plain
text/x-component
application/javascript
application/json
application/xml
application/xhtml+xml
application/x-font-ttf
application/x-font-opentype
application/vnd.ms-fontobject
image/svg+xml
image/x-icon;
Desactivar Logs de Acceso (CLICKS) Muy recomendado!
access_log off;

Ahora ya podemos instalar el módulo PHP7.0-FPM

Instalando módulo PHP7.0-FPM y optimizando rendimiento
Para que Wordpress funcione, es obligatorio instalar este módulo , para ello también hay un tutorial que tenemos que seguir al pie de la letra.
Aparte será necesario instalar los siguientes complementos, poniendo el siguiente comando en el terminal SSH:

Código: Seleccionar todo

sudo apt-get install php7.0-cli php7.0-curl php7.0-dev php7.0-gd php7.0-xml php7.0-mysql php7.0-mcrypt php7.0-opcache
Ahora vamos a optimizar algunos parámetros para que el rendimiento mejore:

Vamos a editar el siguiente archivo, introduciendo el comando en la terminal ssh:

Código: Seleccionar todo

sudo nano /etc/php/7.0/fpm/pool.d/www.conf
Buscamos el siguiente parámetro:
pm.max_children = 5
modificamos por:
pm.max_children = 10
Por último buscamos el siguiente parámetro:
;pm.max_requests = 500
modificamos así descomentando la línea:
pm.max_requests = 300
Ahora guardamos los cambios modificados pulsando estas teclas:
Control + X
tecleamos Y
ENTER


Por último modificamos otro archivo relativo a PHP7 , introducciendo este comando en el Terminal SSH:

Código: Seleccionar todo

sudo nano /etc/php/7.0/fpm/php.ini
Buscamos lo siguiente para dar un poco mas de tiempo a los Scripts lentos a finalizar.
max_execution_time = 30
modificamos por
max_execution_time = 60
Buscamos lo siguiente por si queremos tener menus de navegación muy extensos y que sea compatible:
; max_input_vars = 1000
añadimos el siguiente valor descomentando la linea:
max_input_vars = 5000
Buscamos lo siguiente por si queremos subir Plugins con más de 2MB de tamaño
upload_max_filesize = 2M
modificamos por:
upload_max_filesize = 8M
Ahora guardamos los cambios modificados pulsando estas teclas:
Control + X
tecleamos Y
ENTER


Y reinicamos el servicio PHP7.0PFM para guardar todos los cambios con el comando:

Código: Seleccionar todo

sudo service php7.0-fpm restart
Una vez lo hayamos optimizado , ya podemos descargar Wordpress

Descargando Wordpress:
Descargamos la última versión de Wordpress, para ello primero vamos a la carpeta TEMP para proceder, poniendo el siguiente comando en la terminal SSH:

Código: Seleccionar todo

cd /tmp
Y ahora descargamos con:

Código: Seleccionar todo

wget http://wordpress.org/latest.zip
Instalamos la herramienta UNZIP, poniendo el siguiente comando en la terminal SSH:

Código: Seleccionar todo

sudo apt-get install unzip
Y ahora descomprimimos el archivo Wordpress con la herramienta UNZIP en la ruta /var/www

Código: Seleccionar todo

unzip -q latest.zip -d /var/www/
Una vez descomprimido,ahora daremos permisos de lectura y escritura a la carpeta WordPress con estos comandos:

Código: Seleccionar todo

chown -R www-data:www-data /var/www/wordpress

Código: Seleccionar todo

chmod -R 755 /var/www/wordpress
Ahora creamos una carpeta llamada "Uploads" en el interior de la carpeta Wordpress, que almacenaremos nuestro contenido Web subido, por lo que introducimos este comando:

Código: Seleccionar todo

mkdir -p /var/www/wordpress/wp-content/uploads
Y ahora le damos permisos a la misma con:

Código: Seleccionar todo

chown -R www-data:www-data /var/www/wordpress/wp-content/uploads
Ahora vamos a proceder a instalar MariaDB

Imagen

Descargar y Configurar MariaDB Server:

Primero de todo debemos ir la página oficial de MariaDB donde nos informarán los pasos a seguir para las diferentes versiones de Linux.
En mi caso estoy usando Armbian Debian 8 ( ejemplo: Raspbian = Debian 8 )
Siguiendo las instrucciones detalladas en la imagen:
maria1.png
Tan solo quedará seguir los pasos indicados por la página oficial, que para Debian 8 serán los siguientes:
Añadimos repositorio y Key MariaDB:

Código: Seleccionar todo

sudo apt-get install software-properties-common
sudo apt-key adv --recv-keys --keyserver keyserver.ubuntu.com 0xcbcb082a1bb943db
sudo add-apt-repository 'deb [arch=amd64,i386] http://tedeco.fi.upm.es/mirror/mariadb/repo/10.1/debian jessie main'
Instalamos MariaDB:

Código: Seleccionar todo

sudo apt-get update
sudo apt-get install mariadb-server
NOTA IMPORTANTE:
Si teneis este problema en la instalación al introducir el último comando:
maria2.png
maria2.png (10.58 KiB)
Es porque la versión de MariaDB 10.1 todavia no es compatible con el grupo de repositorios que utilizamos.
Para ello utilizariamos el siguiente comando para finalizar la instalación de MariaDB, y tocará instalar la versión 10.0:

Código: Seleccionar todo

sudo apt-get install mariadb-server-10.0
maria3.png
Lo siguiente nos pedirá introducir nueva contraseña para acceder a MariaDB, la introducimos y muy importante acordarnos de ella, se utilizará cada vez que queramos conectar.
maria4.png
maria4.png (8.1 KiB)
Luego pedirá repetir la clave de nuevo y pulsamos Enter
Una vez tengamos finalizado todo el proceso de instalación, vamos a proceder a crear una base de datos para instalar Wordpress

Creando base de datos:

Para acceder a MariaDB, al igual que MYSQL pondremos el siguiente comando en el terminal SSH:

Código: Seleccionar todo

mysql -u root -p
Nos pide una contraseña, e introduciremos la que pusimos el proceso de instalación de MariaDB
Ya dentro del panel, nos tendrá que salir lo siguiente:
maria5.png
maria5.png (9.39 KiB)
Ahora solo quedará introducir los siguientes comandos para crear la base de datos.

Por Poner un ejemplo, tenemos que crear los siguientes datos:[/b]
Nombre Base de datos: wordpress
Usuario afiliado a la base de datos: kike
Contraseña del usuario: micontraseña1234


Vamos a crear esos mismos datos sin salir del panel MariaDB:

Creando Base de Datos:

Código: Seleccionar todo

create database wordpress;
Creando Usuario:

Código: Seleccionar todo

create user kike@localhost identified by 'micontraseña1234';
Dando Privilegios al usuario para que pueda acceder a la Base de Datos:

Código: Seleccionar todo

grant all privileges on wordpress.* to kike@localhost identified by 'micontraseña1234';
Refrescamos Privilegios:

Código: Seleccionar todo

flush privileges;
Y por último para salir del panel MariaDB:

Código: Seleccionar todo

\q
Instalación y Configuración Wordpress:

Si hemos llegado hasta aquí siguiendo todas las pautas correctamente, ahora simplemente debemos acceder a nuestro sitio Wordpress introduciendo nuestra IP de red de nuestra Placa Pi en el navegador Web:
wordp1.png
Cuando procedamos a dar al botón "Let's Go!" , nos saldrán los siguientes parámetros, que tendremos que introducir según hemos creado la base de datos MariaDB.
wordp2.png
Nombre base de datos:
Database Name : wordpress
Usuario de la base de datos:
Username: kike
Contraseña del usuario (Kike)
Password : micontraseña1234
Host de la base de datos - Dejar en localhost si no sabemos que es
Database Host : localhost
Esto lo utilizaremos si queremos múltiples instalaciones WordPress utilizando solo una base de datos, no modificar si no es el caso
Table Prefix : wp_
Una vez todo introducido , daremos al botón "Submit" en la parte inferior, e iremos al siguiente panel.
wordp3.png
Título de nuestra Web.
Site Title: ForoRaspberry.es
Usuario que utilizaremos para administrar nuestra web:
Username : kike-admin
Contraseña del usuario:
Password : contraseña12345
Tu Email:
Y para finalizar pulsaremos "Install Wordpress" en la parte inferior del formulario.
Tocará esperar unos segundos a que MariaDB haga su trabajo en crear las tablas para Wordpress , y ya lo tendremos! Nuestro sitio Wordpress funcionando en nuestra Placa Pi !
wordp6.png
Para acceder al panel de control de Wordpress , debemos poner la siguiente dirección en el Navegador Web para poder editar nuestra página web y todas sus funciones disponibles

http://IP_RED_NUESTRA_PI/wp-admin
wp-admin.png
wp-admin.png (9.12 KiB)
Links de Interés:
Página Oficial Temas de Wordpress(Gratuitos
ThemeForest - Temas de Wordpress (Pago)




Si os ha gustado el tutorial porfavor comentar o darme Like , y para cualquier duda aquí estaré! :P

Re: Instalar Wordpress con MariaDB + Nginx + PHP7.0-FPM en nuestra Pi (Servidor Web Completo)

Publicado: 14 Ago 2016, 01:43
por Jart
Tuto de Diez como siempre!!

Re: Instalar Wordpress con MariaDB + Nginx + PHP7.0-FPM en nuestra Pi (Servidor Web Completo)

Publicado: 14 Ago 2016, 17:16
por Lucifer
Magnifico señor kike

Enviado desde mi SM-G900F mediante Tapatalk

Re: Instalar Wordpress con MariaDB + Nginx + PHP7.0-FPM en nuestra Pi (Servidor Web Completo)

Publicado: 16 Ago 2016, 22:44
por Haru Ijima
Siempre alucino con tus tutos, sigue así! :P :D

Por cierto, mariaDB no tiene panel de administración como el phpmyadmin no?

Re: Instalar Wordpress con MariaDB + Nginx + PHP7.0-FPM en nuestra Pi (Servidor Web Completo)

Publicado: 16 Ago 2016, 23:18
por Kike
Tutorial Finalizado!!! He añadido parámetros óptimos para configurar NGINX junto Wordpress :D

Re: Instalar Wordpress con MariaDB + Nginx + PHP7.0-FPM en nuestra Pi (Servidor Web Completo)

Publicado: 16 Ago 2016, 23:25
por Kike
Haru Ijima escribió:Siempre alucino con tus tutos, sigue así! :P :D

Por cierto, mariaDB no tiene panel de administración como el phpmyadmin no?
Muchas gracias! :)

Ningun problema con usar PHPMYADMIN, MariaDB está desarollado por el Fundador de MYSQL. Utiliza exactamente el mismo sistema, la verdad que recomiendo que lo pruebes :roll:

Re: Instalar Wordpress con MariaDB + Nginx + PHP7.0-FPM en nuestra Pi (Servidor Web Completo)

Publicado: 17 Ago 2016, 00:32
por Haru Ijima
Kike escribió:
Haru Ijima escribió:Siempre alucino con tus tutos, sigue así! :P :D

Por cierto, mariaDB no tiene panel de administración como el phpmyadmin no?
Muchas gracias! :)

Ningun problema con usar PHPMYADMIN, MariaDB está desarollado por el Fundador de MYSQL. Utiliza exactamente el mismo sistema, la verdad que recomiendo que lo pruebes :roll:
En cuanto vuelva a casa (estoy en la playa 8-) ) lo probaré, no tendrás por ahí un tuto para engancharlo no? :lol: Yo es que hasta ahora he usado xampp o wampp y no me he puesto a instalar todo a pelo y configurarlo (pero me gustaría aprender mucho más) :roll:

Re: Instalar Wordpress con MariaDB + Nginx + PHP7.0-FPM en nuestra Pi (Servidor Web Completo)

Publicado: 17 Ago 2016, 01:01
por Kike
Haru Ijima escribió:
Kike escribió:
Haru Ijima escribió:Siempre alucino con tus tutos, sigue así! :P :D

Por cierto, mariaDB no tiene panel de administración como el phpmyadmin no?
Muchas gracias! :)

Ningun problema con usar PHPMYADMIN, MariaDB está desarollado por el Fundador de MYSQL. Utiliza exactamente el mismo sistema, la verdad que recomiendo que lo pruebes :roll:
En cuanto vuelva a casa (estoy en la playa 8-) ) lo probaré, no tendrás por ahí un tuto para engancharlo no? :lol: Yo es que hasta ahora he usado xampp o wampp y no me he puesto a instalar todo a pelo y configurarlo (pero me gustaría aprender mucho más) :roll:
No se si te referirás al Tutorial de PHPMYADMIN ? Hace tiempo que está redactado :vago 8-)

A darle caña!

Re: Instalar Wordpress con MariaDB + Nginx + PHP7.0-FPM en nuestra Pi (Servidor Web Completo)

Publicado: 17 Ago 2016, 01:19
por Haru Ijima

No se si te referirás al Tutorial de PHPMYADMIN ? Hace tiempo que está redactado :vago 8-)

A darle caña!
Ostras, ni lo había visto, muchas gracias apañao!

Re: Instalar Wordpress con MariaDB + Nginx + PHP7.0-FPM en nuestra Pi (Servidor Web Completo)

Publicado: 28 Feb 2017, 15:19
por mralvaro
Buen tutorial. Se nota el esfuerzo dedicado a este post.

Re: Instalar Wordpress con MariaDB + Nginx + PHP7.0-FPM en nuestra Pi (Servidor Web Completo)

Publicado: 15 Mar 2017, 02:24
por elpanuky
Muchas gracias. Cuantas cosas se pueden hacer con esta plaquita :ponpon