Montar servidor web en raspberry pi

Iniciado por visior, Julio 28, 2014, 08:34:29 AM

Tema anterior - Siguiente tema

0 Miembros y 1 Visitante están viendo este tema.

Julio 28, 2014, 08:34:29 AM Ultima modificación: Julio 28, 2014, 09:20:48 AM por 79137913
Raspberry Pi
creacion-de-un-servidor-web-en-la-raspberry-pi-con-python
¡Hola a todos! Hoy os explicaré paso a paso cómo crear un servidor Web casero con Raspberry Pi.
Preparando la Raspberry Pi.

Lo primero que debemos hacer es asignarle una IP estática.

Código: bash
sudo nano /etc/network/interfaces


Me imagino que todos sabrán asignarle unaIP estática a la raspberry pero si alguien no lo sabe yo pondré un ejemplo. En mi caso, editaré el eth0, puesto que tengo la Raspberry Pi conectada por Ethernet.

Código: bash
auto eth0
iface eth0 inet static
address 192.168.0.2
netmask 255.255.255.0
gateway 192.168.0.1


Donde "address" es la dirección IP de la Raspberry Pi, "netmask" la máscara de nuestra red y "gateway" la IP de la puerta de enlace de nuestro router.
Instalación del servidor Web

Una vez tengamos una IP estática en nuestra Raspberry Pi, ya empezaremos a instalar el servidor Web.

Lo siguiente que haremos será crear el grupo "www-data".  Para ello ejecutaremos los siguientes comandos:
Código: bash
sudo groupadd www-data
sudo usermod -a -G www-data www-data


Actualizaremos los repositorios y los programas de nuestra raspberry.

Código: bash
sudo apt-get update
sudo apt-get upgrade


A partir de aquí empieza la instalación de Apache:

Código: bash
sudo apt-get install apache2


Ahora comprobaremos que todo ha funcionado correctamente abriendo el navegador y, en la barra de direcciones introduciremos la IP de nuestra Raspberry Pi. Debería salirnos un mensaje como este:



Ahora instalaremos PHP para poder crear contenido dinámico en nuestra web. Para ello ejecutaremos el siguiente comando:

Código: bash
sudo apt-get install php5


A continuación instalaremos unos paquetes que nos podrían hacer falta en un futuro.

Código: bash
sudo apt-get install libapache2-mod-php5 libapache2-mod-perl2 php5 php5-cli php5-common php5-curl php5-dev php5-gd php5-imap php5-ldap php5-mhash php5-mysql php5-odbc

Tras esto reiniciamos nuestra Raspberry Pi:

Código: bash
sudo reboot


Una vez que reiniciemos haremos una prueba con PHP.
Código: bash

sudo nano /var/www/info.php


Escribiremos el siguiente código dentro del documento

Código: php
<?php
      phpinfo();
?>

Abriremos el navegador e introduciremos IPRASPBERRY/info.php (por ejemplo: 192.168.1.9/info.php) o localhost si estamos en la Raspberry Pi.

Ahora nos pondremos a instalar MySQL. Durante la instalación nos pedirá datos como la contraseña de MySQL. Coged nota porque luego usaremos estos parámetros para comprobar que funciona MySQL. Para instalar MySQL ejecutaremos el siguiente comando:

Código: bash
sudo apt-get install mysql-server mysql-client php5-mysql


Reiniciamos de nuevo la Raspberry Pi y, tras reiniciarse abriremos un terminal e iniciamos MySQL.

Código: bash
sudo service mysql start


Ahora comprobaremos que funciona MySQL mediante el siguiente comando:

Código: bash
mysql -u root -p


Podemos dejar el parámetro -p vacio y luego nos preguntará la contraseña o poner la contraseña junto a este parámetro para que no la pida. Si todo ha ido bien debería salir algo parecido a esto:

Pulsamos CTRL+C para que nos deje seguir trabajando con el terminal.

Ahora instalaremos phpMyAdmin para manejar fácilmente las bases de datos de MySQL. Para ello ejecutaremos el siguiente comando:
   
Código: bash
sudo apt-get install libapache2-mod-auth-mysql php5-mysql phpmyadmin


Durante la instalación nos preguntará qué tipo de servidor tenemos; marcaremos Apache y continuaremos. Después nos preguntará si queremos configurar una base de datos; le diremos que sí y nos pedira que introduzcamos la contraseña de MySQL y nos pedirá de nuevo que introduzcamos una contraseña para phpMyAdmin. Al finalizar editaremos el siguiente fichero:
   
Código: bash
sudo nano /etc/php5/apache2/php.ini


Añadiremos lo siguiente. Yo en mi caso lo dejé en la primera línea.
Código: bash
extension=mysql.so


Guardaremos el fichero y a través del navegador introduciremos  http://IPRASPBERRY/phpmyadmin/  . Deberia salir phpmyadmin. El usuario sera root y la contraseña sera la que hayamos elegido anteriormente. Si no llegara a funcionar ejecutaremos estos 2 comandos:
   
Código: bash
sudo ln -s /etc/phpmyadmin/apache.conf /etc/apache2/conf.d/phpmyadmin.conf
sudo /etc/init.d/apache2 reload

Si siguiese sin funcionar toca reiniciar la Raspberry Pi. En caso de que funcione continuamos.

Ahora queremos que nuestro sitio web tenga siempre la misma IP. Yo en mi caso me registré en DnsDynamic para crear un dominio gratuito. Al crearlo nos dirá que está disponible y nos asignará una IP al dominio. Le daremos al botón de añadir y volvemos a nuestra Raspberry Pi. Instalaremos el siguiente programa para que nuestro sitio esté siempre visible. Para ello ejecutaremos el siguiente comando:

Código: bash
sudo apt-get install ddclient


Durante la instalación nos preguntará si queremos ejecutar el cliente cuando establezca una conexión PPP diremos que "NO" porque a continuación nos preguntará si lo queremos ejecutar como demonio; entonces le diremos que "SI" y saldrá una ventana para configurar este servicio. En esta seleccionaremos "Otro" y pulsaremos "Aceptar".

En la siguiente pantalla pondremos el sitio de donde hemos conseguido el dominio gratuito, No tienes permitido ver los links. Registrarse o Entrar a mi cuenta.

A continuación nos preguntará qué protocolo utiliza, nosotros pondremos el protocolo dyndns2.

Lo siguiente que nos pedirá es el usuario y contraseña con el que nos registramos en No tienes permitido ver los links. Registrarse o Entrar a mi cuenta. Después nos preguntará qué interfaz de red usará este servicio. Aquí pondremos el eth0 si nuestra Raspberry Pi está conectada al router directamente por cable.

Después nos pedirá el dominio que creamos:

Por último nos preguntará cada cuanto tiempo realizará las comprobaciones de IP, yo lo dejé en 300 minutos.

Reiniciaremos nuestra Raspberry Pi de nuevo y cuando reinicie iniciaremos Apache, MySQL y comprobaremos que ddclient este ejecutandose. Abriremos nuestro navegador e introduciremos nuestro dominio para comprobar que efectivamente nos muestra nuestro sitio web. En mi caso sigue saliendo la página que tiene por defecto

Si tuviéramos problemas con este servicio y quisiéramos reconfigurarlo, podremos editar el fichero de configuracion en /etc/ddclient.conf o ejecutar el siguiente comando:

Código: bash
sudo dpkg-reconfigure ddclient


A partir de aquí sólo queda implementar medidas de seguridad para que nadie pueda tirar nuestro sitio web y hacer copias de seguridad del sistema operativo y nuestro sitio web por si algun día ocurre algo no perder el tiempo con errores inesperados.

Fuente geeky theory
La mayor de las vulnerabilidades y la más difícil de parchear es la humana.

HOLA!!!

No hagas posts Copy&Paste por favor, y en el caso que creas que es un aporte imprescindible hacelo bien y formatea el texto.

GRACIAS POR LEER!!!
"Algunos creen que soy un bot, puede que tengan razon"
"Como no se puede igualar a Dios, ya he decidido que hacer, ¡SUPERARLO!"
"La peor de las ignorancias es no saber corregirlas"

*Shadow Scouts Team*                                                No tienes permitido ver los links. Registrarse o Entrar a mi cuenta

Siento lo de la fuente pero este estoy desde el móvil.  Pero he estado investigando sobre el tema y me ha parecido oportuno compartirlo.
Lo siento!
Si quieres elimino el post.
La mayor de las vulnerabilidades y la más difícil de parchear es la humana.

HOLA!!!

No hay problema, si hubiese habido alguno tendrias un MP y una advertencia, solo te notifico que el formateo de los textos es importante, tanto que en tu post duplicabas las ejecuciones de comandos, lo cual le iba a traer problemas a los users.

Buena suerte!

GRACIAS POR LEER!!!
"Algunos creen que soy un bot, puede que tengan razon"
"Como no se puede igualar a Dios, ya he decidido que hacer, ¡SUPERARLO!"
"La peor de las ignorancias es no saber corregirlas"

*Shadow Scouts Team*                                                No tienes permitido ver los links. Registrarse o Entrar a mi cuenta