Diferència entre revisions de la pàgina «WoSeBerry - Manual técnico»

De Wiket
Salta a la navegació Salta a la cerca
Línia 26: Línia 26:
 
=== Servidor DNS ===
 
=== Servidor DNS ===
 
Para configurar un servidor DNS en Raspbian necesitaremos instalar el paquete ''"bind9"'', para ello ejecutaremos el siguiente comando:
 
Para configurar un servidor DNS en Raspbian necesitaremos instalar el paquete ''"bind9"'', para ello ejecutaremos el siguiente comando:
<pre>
+
 
 
<b>pi@BERRY-01:~$</b> sudo apt install bind9
 
<b>pi@BERRY-01:~$</b> sudo apt install bind9
</pre>
+
 
 
Una vez instalado, realizaremos una copia de seguridad de los archivos de configuración. De esta manera, en caso de tener un error podremos restaurar la configuración por defecto:
 
Una vez instalado, realizaremos una copia de seguridad de los archivos de configuración. De esta manera, en caso de tener un error podremos restaurar la configuración por defecto:
 
<pre>
 
<pre>

Revisió del 07:14, 7 maig 2018

Manual de instalación y configuración.

$ comando

Configuración de las Raspberry Pi

Instalación del sistema Operativo

Todas las Raspberry Pi de nuestro proyecto cuentan con un sistema operativo Raspbian. Para la Raspberry con función de firewall (BERRY-01), se instalará la versión con interfaz gráfica. Para el resto de Raspberry se isntalará la versión "lite" sin interfaz gráfica.

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

Asignación del direccionamiento IP

Configuración básica para la Raspberry firewall

Dado que todo el escenario estará montado bajo una LAN, deberemos configurar en la Raspberry con función de firewall (BERRY-01) aspectos como:

  • Servidor DNS: Nos proporcionará la asignación de un dominio para la tienda online.
  • Enrutamiento: Permitirá la circulación de tráfico.
  • Enmascaramiento: Permitirá enmascarar el tráfico de la red LAN con la IP de la interfaz "eth1".

Servidor DNS

Para configurar un servidor DNS en Raspbian necesitaremos instalar el paquete "bind9", para ello ejecutaremos el siguiente comando:

pi@BERRY-01:~$ sudo apt install bind9

Una vez instalado, realizaremos una copia de seguridad de los archivos de configuración. De esta manera, en caso de tener un error podremos restaurar la configuración por defecto:

'''pi@BERRY-01:~$''' sudo cp /etc/bind/named.conf.local /etc/bind/named.conf.local.bak
'''pi@BERRY-01:~$''' sudo cp /etc/bind/db.local /etc/bind/db.local.bak

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

Instalación Wordpress