WoSeBerry - Manual técnico

De Wiket
Salta a la navegació Salta a la cerca

Manual de instalación y configuración.

$ comando


Sistema Operativo

Todas las Raspberry Pi de nuestro proyecto cuentan con un sistema operativo Raspbian ya sea en su versión "lite" sin interfaz gráfica o la versión de escritorio con dicha interfaz.

El comando principal que necesitamos ejecutar en la versión sin interfaz gráfica para llevar a cabo la configuración inicial es el siguiente.

$ sudo raspi-config

[[File:Raspi-config.png|frame|left|Opciones de configuración al ejecutar el comando raspi-config]]

raspi-config


Enrutamiento y enmascaramiento

En el archivo rc.local de la Raspberry que nos poporcionará salida a Internet, configuramos el enrutamiento y la regla iptables correspondiente para que se ejecute automáticamente al iniciar el sistema.

pi@BERRY-01:~$ sudo nano /etc/rc.local
…

# Activar el enrutamiento
echo 1 > /proc/sys/net/ipv4/ip_forward

# Enmascarar el tráfico de la LAN con la IP de la interfaz que nos proporciona salida a Internet
iptables -t nat -A POSTROUTING -s 192.168.30.0/24 -o eth1 -j MASQUERADE

exit 0


Instalación y configuración WordPress

Instalación servidor base de datos MySQL

Instalamos MySQL y phpmyadmin en las Raspberry que contendrán la base de datos de la plataforma Wordpress. Una vez instalados, creamos un usuario con todos los privilegios para cualquier base de datos.

pi@BERRY-04:~$ sudo apt install mysql-server mysql-client phpmyadmin
pi@BERRY-04:~$ sudo su
root@BERRY-04:/home/pi# mysql -u root 
MariaDB [(none)]> CREATE USER 'pi'@'%' IDENTIFIED BY 'woseberry';
MariaDB [(none)]> GRANT ALL PRIVILEGES ON *.* TO 'pi'@'%';
MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> exit;
pi@BERRY-05:~$ sudo apt install mysql-server mysql-client phpmyadmin
pi@BERRY-05:~$ sudo su
root@BERRY-05:/home/pi# mysql -u root 
MariaDB [(none)]> CREATE USER 'pi'@'%' IDENTIFIED BY 'woseberry';
MariaDB [(none)]> GRANT ALL PRIVILEGES ON *.* TO 'pi'@'%';
MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> exit;

Creamos una base de datos llamada wordpress y un usuario con el mismo nombre con permisos sobre esa base de datos.

pi@BERRY-04:~$ sudo mysql -u root -p

> CREATE DATABASE wordpress; > GRANT ALL ON wordpress.* TO 'wordpress'@'%' IDENTIFIED BY 'woseberry'; > FLUSH PRIVILEGES; > exit;

pi@BERRY-05:~$ sudo mysql -u root -p

> CREATE DATABASE wordpress; > GRANT ALL ON wordpress.* TO 'wordpress'@'%' IDENTIFIED BY 'woseberry'; > FLUSH PRIVILEGES; > exit;

Pendiente escribir promt arriba ↑

Acceder dshrdureyutrreyu

pendiente explicar esta modificación ↓

pi@BERRY-04:~$ sudo nano /etc/mysql/mariadb-conf.d/50-server.cnf
[mysqld]
bind-address = 0.0.0.0
pi@BERRY-04:~$ sudo service mysql restart
pi@BERRY-05:~$ sudo nano /etc/mysql/mariadb-conf.d/50-server.cnf
[mysqld]
bind-address = 0.0.0.0
pi@BERRY-05:~$ sudo service mysql restart


Instalación servidor web apache

Instalamos el servidor web apache2 y sus dependencias en las Raspberry correspondientes.

pi@BERRY-02:~$ sudo apt-get install apache2 php7.0 libapache2-mod-php7.0 php7.0-mysql php7.0-curl php7.0-gd php7.0-imap php7.0-mcrypt php7.0-recode php7.0-tidy php7.0-xmlrpc
pi@BERRY-03:~$ sudo apt-get install apache2 php7.0 libapache2-mod-php7.0 php7.0-mysql php7.0-curl php7.0-gd php7.0-imap php7.0-mcrypt php7.0-recode php7.0-tidy php7.0-xmlrpc


Descarga, instalación y configuración Wordpress

En primer lugar descargamos wordpress de su página oficial.

pi@BERRY-02:~$ wget https://es.wordpress.org/wordpress-4.9.5-es_ES.zip
pi@BERRY-03:~$ wget https://es.wordpress.org/wordpress-4.9.5-es_ES.zip


Descomprimimos Wordpress y copiamos el contenido de la carpeta en el directorio /var/www/html

pi@BERRY-02:~$ unzip wordpress-4.9.5-es_ES.zip
pi@BERRY-02:~$ sudo cp -R wordpress/* /var/www/html
pi@BERRY-03:~$ unzip wordpress-4.9.5-es_ES.zip
pi@BERRY-03:~$ sudo cp -R wordpress/* /var/www/html


Ya que hemos copiado el contenido de la carpeta wordpress directamente en el directorio por defecto del servidor web, eliminamos la página de ejemplo de Apache2.

pi@BERRY-02:~$ sudo rm /var/www/html/index.html
pi@BERRY-03:~$ sudo rm /var/www/html/index.html


Copiamos el archivo de configuración de ejemplo de Wordpress.

pi@BERRY-02:~$ sudo cp /var/www/html/wp-config-sample.php /var/www/html/wp-config.php
pi@BERRY-03:~$ sudo cp /var/www/html/wp-config-sample.php /var/www/html/wp-config.php


Cambiamos el propietario y los permisos a los archivos de Wordpress.

pi@BERRY-02:~$ sudo chown -R www-data:www-data /var/www/html/
pi@BERRY-02:~$ sudo chmod -R 755 /var/www/html/
pi@BERRY-03:~$ sudo chown -R www-data:www-data /var/www/html/
pi@BERRY-03:~$ sudo chmod -R 755 /var/www/html/


Activamos los módulos correspondientes de Apache2 para que Wordpress funcione correctamente.

pi@BERRY-02:~$ sudo a2enmod headers
pi@BERRY-02:~$ sudo a2enmod rewrite
pi@BERRY-03:~$ sudo a2enmod headers
pi@BERRY-03:~$ sudo a2enmod rewrite


Reiniciar Apache2 para aplicar los cambios.

pi@BERRY-02:~$ sudo service apache2 restart
pi@BERRY-03:~$ sudo service apache2 restart


Modificamos el archivo de configuración wp-config.php para vincularlo con la base de datos correspondiente.

pi@BERRY-02:~$ sudo nano /var/www/html/wp-config.php
// ** MySQL settings - You can get this info from your web host ** //
/** The name of the database for WordPress */
define('DB_NAME', 'wordpress');

/** MySQL database username */
define('DB_USER', 'wordpress');

/** MySQL database password */
define('DB_PASSWORD', 'woseberry');

/** MySQL hostname */
define('DB_HOST', '192.168.30.2');

/** Database Charset to use in creating database tables. */
define('DB_CHARSET', 'utf8');

/** The Database Collate type. Don't change this if in doubt. */
define('DB_COLLATE', '');


pi@BERRY-03:~$ sudo nano /var/www/html/wp-config.php
// ** MySQL settings - You can get this info from your web host ** //
/** The name of the database for WordPress */
define('DB_NAME', 'wordpress');

/** MySQL database username */
define('DB_USER', 'wordpress');

/** MySQL database password */
define('DB_PASSWORD', 'woseberry');

/** MySQL hostname */
define('DB_HOST', '192.168.30.3');

/** Database Charset to use in creating database tables. */
define('DB_CHARSET', 'utf8');

/** The Database Collate type. Don't change this if in doubt. */
define('DB_COLLATE', '');


Ahora solo nos falta completar el proceso de instalación desde la interfaz web. Para ello, en el navegador, escribimos el dominio o la dirección IP del servidor.

http://dominio_o_IP