WoSeBerry - Manual técnico
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]]
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 la barra de direcciones de un navegador web, escribimos el dominio o la dirección IP del servidor de la siguiente forma http://dominio_o_IP
En nuestro caso, por el momento accederemos por dirección IP y escribiremos:
http://192.168.30.254