Underc0de

Informática => Electrónica y Robótica => Arduino - Raspberry PI => Mensaje iniciado por: visior en Julio 28, 2014, 08:34:29 AM

Título: Montar servidor web en raspberry pi
Publicado por: visior en Julio 28, 2014, 08:34:29 AM
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) [Seleccionar]
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) [Seleccionar]
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) [Seleccionar]
sudo groupadd www-data
sudo usermod -a -G www-data www-data


Actualizaremos los repositorios y los programas de nuestra raspberry.

Código (bash) [Seleccionar]
sudo apt-get update
sudo apt-get upgrade


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

Código (bash) [Seleccionar]
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) [Seleccionar]
sudo apt-get install php5

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

Código (bash) [Seleccionar]
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) [Seleccionar]
sudo reboot

Una vez que reiniciemos haremos una prueba con PHP.
Código (bash) [Seleccionar]

sudo nano /var/www/info.php


Escribiremos el siguiente código dentro del documento

Código (php) [Seleccionar]
<?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) [Seleccionar]
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) [Seleccionar]
sudo service mysql start

Ahora comprobaremos que funciona MySQL mediante el siguiente comando:

Código (bash) [Seleccionar]
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) [Seleccionar]
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) [Seleccionar]
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) [Seleccionar]
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) [Seleccionar]
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) [Seleccionar]
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, www.dnsdynamic.org.

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 www.dnsdynamic.org. 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) [Seleccionar]
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
Título: Re:Montar servidor web en raspberry pi
Publicado por: 79137913 en Julio 28, 2014, 09:22:11 AM
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!!!
Título: Re:Montar servidor web en raspberry pi
Publicado por: visior en Julio 28, 2014, 11:01:35 AM
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.
Título: Re:Montar servidor web en raspberry pi
Publicado por: 79137913 en Julio 28, 2014, 07:49:00 PM
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!!!