Cloud propio con Raspberry Pi y Time Capsule V por @DanielSanRiv

Autor: | Última modificación: 17 de abril de 2024 | Tiempo de Lectura: 4 minutos
Temas en este post:

Consiguiendo nuestro cloud propio

La serie de tutoriales para crear nuestro cloud propio finaliza con las indicaciones que se detallan a continuación.

Configurando mySQL

Para evitar, en la medida de lo posible, abusar del uso de consola de comandos vamos a instalar PhpMyAdmin y de esta manera poder gestionar nuestras bases de datos y usuarios de la forma más cómoda.

Instalando Phpmyadmin

Como con todos los programas anteriores vamos a hacer uso de apt-get para instalarlo:
sudo apt-get update

Nunca está demás actualizar repositorios antes de instalar.

sudo apt-get install phpmyadmin

Cuando nos pregunte por nuestro servidor web elegiremos, lógicamente, Apache y a la pregunta de Configuración de phpmyadmin respondemos que «Sí».

En Raspbian, phpmyadmin se instala en /usr/share/phpmyadmin, esta carpeta podemos moverla a /var/www o crear un enlace, yo personalmente prefiero la segunda opción así que voy a crear un enlace simbólico en la ruta /var/www con el siguiente comando:

sudo ln -s /usr/share/phpmyadmin/ /var/www/phpmyadmin

De esta manera, ya podremos administrar nuestras bases de datos accediendo a nuestro servidor de la siguiente manera:

http://urlRaspberry/phpmyadmin

Cloud propio Usuario: root Contraseña: La especificada cuando se instaló mySql

Base de datos para tu Cloud propio

Una vez en phpMyAdmin vamos a crear una base de datos «cloud» y una tabla «usuarios» con las columnas «usuario» y «password» para ello seguiremos los siguientes pasos:

Hacemos click en la primera opción de la barra superior horizontal: «Base de Datos»

Cloud propio

Escribimos «cloud» como nombre de la nueva base de datos en el campo «Crear nueva base de datos» y hacemos click en el botón «Crear»

Cloud propio

Una vez creada la base de datos la seleccionamos del listado de la columna izquierda y creamos una nueva tabla llamada «usuarios» con 2 columnas:

Cloud propio

Creamos la columna «usuario» como varchar(20) e índice «primary». Y la columna «password» como varchar(50). Para guardar tendremos que hacer scroll hasta el botón «Guardar»

Cloud propio

Dentro de la base de datos «Cloud» vamos a crear un nuevo usuario y de esta forma no tendremos que escribir la contraseña del root en nuestro código fuente. Para ello entramos en la última opción de la barra superior llamada «Privilegios» y una vez ahí «Agregar un nuevo usuario»

Cloud propio

Escribimos el nombre de usuario, la contraseña y marcamos la opción «Otorgar todos los privilegios para la base de datos Cloud«

Cloud propio

Hacemos click en el botón Continuar y con esto ya terminamos la parte de PhpMyAdmin y mySql

Creando Sitios Web

Por defecto, Apache servirá el sitio web que esté alojado en la carpeta /var/www/, esta ruta se puede cambiar modificando el archivo /etc/apache2/sites-available/default. Pero si lo que queremos es tener en nuestro miniservidor varias páginas web totalmente independientes las unas de las otras podemos añadir nuevos sitios para diferentes dominios. Vamos a crear un nuevo sitio para el dominio mivacahace.mooo.com y para ello solo tendremos que crear un nuevo archivo con el mismo nombre que el dominio en la ruta /etc/apache2/sites-available
cd /etc/apache2/sites-available
sudo nano mivacahace.mooo.com
En dicho archivo añadiremos las siguientes líneas:
<VirtualHost *:80>
ServerName mivacahace.mooo.com
DocumentRoot /home/miWeb/
</VirtualHost>
ServerName hace referencia al dominio con el que se identificará este sitio y DocumentRoot especifica la ruta local donde está alojada la página web, tendréis que revisar los permisos y cambiarlos con chmod si fuera preciso. Pero con sólo crear el archivo no es suficiente, necesitamos activarlo y para ello sólo tendremos que escribir el siguiente comando:

sudo a2ensite mivacahace.mooo.com La orden contraria a a2ensite es a2dissite la cual desactiva el sitio especificado

Y para finalizar recargamos la configuración de Apache con la siguiente orden:

sudo service apache2 reload

Varios dominios para el mismo sitio

Para darle otra vuelta de tuerca a este asunto vamos a ver cómo podemos especificar más de un dominio para el mismo sitio, esto es muy habitual sobre todo cuando queremos, por ejemplo, comprar un dominio .es y .com y queremos que ambos apunten a la misma página web. Podemos crear otro sitio para el otro dominio que apunte a la misma ruta, pero lo más recomendable sería crear un álias añadiendo la línea: ServerAlias elToroTambienHace.mooo.com Quedando el archivo de la siguiente manera:

<VirtualHost *:80> ServerName mivacahace.mooo.com ServerAlias eltorotambienhace.mooo.com DocumentRoot /home/miWeb/ </VirtualHost>

Podemos crear tantos álias cómo queramos, para ello solo tenemos que añadir tantas líneas ServerAlias como dominios necesitemos añadir al sitio. Y ya para rizar el rizo vamos a añadir una última línea que permita el uso de los archivos .htaccess en cada sitio web, la línea en cuestión es la misma que en capítulos anteriores hemos habilitado en el archivo default: AllowOverride ALL Para cualquier dominio que apunte a la ip de nuestro servidor y no se encuentre en ninguno de los sitios Apache devolverá la página web del sitio por defecto.

Preparando el Sitio Web para tu Cloud propio

Por comodidad voy a montar la carpeta del sitio que gestionará tu cloud propio en la carpeta de mi usuario local, esto es totalmente opcional y va según el gusto de cada uno. Así pues crearé las siguientes carpetas:

/home/miUsuario/miSitio /home/miUsuario/miSitio/archivos /home/miUsuario/miSitio/web

y damos permisos de lectura y escritura a todas las carpetas que acabamos de crear:

sudo chmod 666 /home/miUsuario/miSitio sudo chmod 666 /home/miUsuario/miSitio/archivos sudo chmod 666 /home/miUsuario/miSitio/web

En la carpeta archivos almacenaremos todos los documentos que estarán disponibles desde nuestro «cloud», y en el directorio web almacenaremos el código fuente. El motivo de que archivos no esté junto al código fuente es para evitar que nadie pueda descargar nuestros archivos sin pasar antes por nuestra aplicación php, de esta forma nadie podrá descargar ningún documento sin estar validado o sin haber marcado el documento en cuestión como «público» Sobre el autor Daniel Santamaría
Mis primeras líneas de código las escribí en un Sony MSX, un tiempo después, con 14 años (hace mucho mucho tiempo) Pc-Manía publicó mi primer juego para MS-DOS 6.21 desarrollado en Turbo Pascal. Actualmente me gano la vida gracias a Linux, PHP, mySQL, .Net y SQL Server, pero mi sueño profesional sería ganarme la vida programado con Cocoa y Objective-C. Podéis encontrarme en twitter como @DanielSanRiv.

Posts Relacionados