lunes, 16 de abril de 2012

iFolder!! Mi propia nube! SparkleShare, tu serás el siguiente.

Vivimos en unos tiempos donde la "seguridad", o mejor dicho, privacidad en Internet (priva...que? en donde?) están cada vez mas en entredicho.
Los servicios de hosting son cerrados o severamente capados, las paginas sociales roban y comparten nuestros datos "privados", y lo ultimo y mas alarmante, los servicios de almacenaje como Dropbox ponen, por ley, nuestros datos a disposición de las autoridades, ¿que autoridades? El FBI por ejemplo, ¿WTF? Si vivo en España! ¿Y que? Los servidores y la compañía son de USA, te jodes.

Bueno, me da igual, no comparto datos ilegales, o que infringen copyright..... pfffff si si...... estoy jodido.... ¿Que se puede hacer? IDEA FELIZ!! Móntate un servicio de almacenamiento de archivos tipo dropbox en un servidor casero O.O.... mucho trabajo ¿no? ¿Noooooo???? Weeeno, por probar.... WOOOO FUNCIONA!....

Si piensas como yo, te gusta mantener copias de seguridad de tus datos importantes y poder acceder a ellas desde el móvil, o desde cualquier lugar con acceso a la red sin tener que llevar siempre un pendrive encima, sin además tener que "compartir" tus datos con nadie, ni tener miedo a que estos sean borrados por desuso, probad este tutorial para instalar iFolder en ubuntu server 10.04 LTS.

iFolder es un programa basado en Mono (Puaj... pero bueno....) que Oracle, extrañamente libero (parte del código) como código libre. El sistema se basa en un servidor llamado Simias que sincroniza tus archivos, desde un programa cliente con una interfaz gráfica aceptable, disponible en Windows, Linux, etc.

Si estáis interesados, el sistema esta diseñado para ser instalado en Suse, no en Ubuntu, así que me las tuve que apañar como pude, ya que ni compilandolo de nuevo iba como yo quería, pero el resultado final después de limar muchas asperezas es perfecto.
Otro sistema mucho mas amigable de usar, aunque menos avanzado, es SparkleShare, que probare pronto y si me da resultados similares a los de mi querido iFolder, migrare mis datos a este y creare otro tutorial.

Dadle a seguir leyendo para ver el tutorial, si por algún casual, lo queréis intentar y algo no os queda claro, o tenéis algún fallo, no dudéis en contactar conmigo.

Fdo: eded333




  • Si queréis que vuestro servidor sea visible en todo el mundo, deberéis crear una cuenta con algún servicio de DDNS, e instalar su cliente, yo utilizo  http://www.no-ip.com/, pero hay mucho mas.
  • Lo primero que debéis de hacer es tener un ordenador que usar como servidor, e instalarle Ubuntu 10.04 LTS (usad la versión de 32 bits a ser posible).

El ordenador no tiene porque ser potente, yo utilizo un Atom D525, con 2 gigas de ram, y va perfecto, aunque normalmente solo tengo 4 clientes activos, todo depende de la cantidad de personas que vallan a utilizar tu servicio.

  • Una vez instalado Ubuntu (por dios, grabadlo en un CD, ya que para poder instalarlo mediante USB debéis de añadir esto en el bootline del kernel cdrom-detect/try-usb=true... ¬¬ si no, no funcionara....) ya podemos comenzar con la instalación del iFolder. Lo primero sera instalar las dependencias y programas necesarios para la instalación, para ello, y al estar en un entorno headless, recordad que es un servidor, no tendrá entorno gráfico y tendremos que poder acceder a el remotamente, por ssh. Así que antes de poder quitarle el teclado y la pantalla al servidor, tendremos que instalar y configurar el cliente ssh, para ello hacemos:
  1. sudo aptitude install openssh-server
  2. Instalamos por ejemplo putty en nuestra maquina remota, ponemos la ip local de nuestro servidor, aceptamos el certificado y nos conectamos con nuestro usuario, BINGO! Ya puedes desenchufar la pantalla, el teclado y el ratón del servidor y manejarlo por aquí..
  • Ahora instalaremos programas y dependencias, todo sera automático, solo habrá que poner una vez la contraseña del superusuario (copiar las lineas 1 a 1 a ser posible):

sudo aptitude -y install apache2
sudo service apache2 stop
sudo aptitude -y install liblog4net1.2-cil libapache2-mod-mono mono-apache-server mono-apache-server2
sudo aptitude -y remove libapache2-mod-mono
sudo aptitude -y install libapache2-mod-mono
sudo service apache2 restart
sudo a2enmod ssl
sudo a2ensite default-ssl
sudo a2enmod rewrite
sudo a2enmod mod_mono
sudo service apache2 restart
sudo aptitude -y install alien 
wget http://downloads.sourceforge.net/project/ifolder/iFolder%20Server/3.8.0.3/11.1/ifolder3-enterprise-3.8.0.10191.1-5.1.i586.rpm
wget http://downloads.sourceforge.net/project/ifolder/iFolder%20Server%20Plugins/3.8.0.3/11.1/novell-ifolder-enterprise-plugins-3.8.0.10191.1-3.2.i586.rpm
wget http://download.opensuse.org/distribution/11.3/repo/oss/suse/noarch/log4net-1.2.10-58.1.noarch.rpm
sudo aptitude -y remove liblog4net1.2-cil
sudo alien -i --scripts *.rpm


  • Ya tenemos el servidor de iFolder instalado, ahora debemos configurarlo:
sudo service apache2 restart
sudo /usr/bin/simias-server-setup
(Debeis de configurarlo como os pongo aqui)
SIMIAS SERVER SETUP
This script configures a server installation of Simias to setup a new Simias system.

----- SERVER'S DATA PATH -----
Path to the server's data files
Server's Data Path? [/var/simias/data]:


----- SERVER NAME -----
The name of this server
Server Name? [Host1]: iFolder


----- SSL -----
Select SSL/NONSSL communication for this server. Options
are SSL, NONSSL or BOTH
SSL? [SSL]:SSL


----- PUBLIC URL -----
Public URL of this Simias Server
Public URL? [https://127.0.1.1/simias10]: https://IP-publica-o-direccion-DDNS/simias10


----- PRIVATE URL -----
Private URL of this Simias Server
Private URL? [https://yourserver.com/simias10]:
https://IP-local-o-direccion-DDNS/simias10
(también podéis poner vuestra dirección local de lan, para que las transferencias en lan sean mucho mas rápidas, pero no os lo aconsejo, ya que creare otro tutorial para mejorar la seguridad de vuestro servidor, y esto es incompatible).


----- SLAVE SERVER -----
Install into existing Simias Domain
Slave Server? [N]:


----- SYSTEM NAME -----
A name used to identify the Simias system to users.
System Name? [iFolder]:


----- SYSTEM DESCRIPTION -----
A detailed description of the Simias system for users.
System Description? [iFolder Enterprise System]:


----- USE KEY RECOVERY AGENT -----
Use Key Recovery Agents to recovery the encryption
key if the user forgets the pass-phrase used for encryption?
Use Key Recovery Agent? [Y]:


----- RECOVERY AGENT CERTIFICATE PATH -----
Path to the Recovery agent certificate's.
Recovery Agent Certificate Path? [/var/simias/data]:


----- USE LDAP -----
Use LDAP to provision and authenticate users?
Use LDAP? [Y]: N


----- SYSTEM ADMIN -----
The Simias default administrator. If the system is
configured to use an external identity source, the
distinguished name (dn) should be used.
System Admin? [admin]:(por defecto es admin)
System Admin Password? [novell]:Vuestro password, este no podrá ser cambiado, si os olvidáis, o no lo ponéis bien, estáis jodidos y tendréis que empezar de 0.


----- CONFIGURE APACHE -----
Configure Simias to run behind Apache
Configure Apache? [N]: Y


----- APACHE USER -----
Apache User
Apache User? [wwwrun]: www-data


----- APACHE GROUP -----
Apache Group
Apache Group? [www]: www-data


Working...
Configuring /var/simias/data/simias/Simias.config...SetupSimias - Done
Configuring /etc/apache2/conf.d/simias.conf...Done
Configuring User Movement plugin..
Setting up Log4Net file...Done
Setting up permissions...Done

SUCCESS


(Perdon por el error tipografico, ahora  todo deberia funcionar correctamente)

sudo sed -i 's/apache2\/mod_mono.conf/apache2\/mods-enabled\/mod_mono.conf/g' /etc/apache2/conf.d/simias.conf
sudo ln -s /usr/bin/gmcs2 /usr/bin/gmcs
sudo mkdir -p /var/www/.config/.mono/
sudo chown -R www-data:www-data /var/www/.config/
sudo service apache2 restart


sudo /usr/bin/ifolder-admin-setup 
(Debeis de configurarlo como os pongo aqui)

----- APACHE USER -----
Apache User
Apache User? [wwwrun]: www-data


----- APACHE GROUP -----
Apache Group
Apache Group? [www]: www-data




sudo /usr/bin/ifolder-web-setup 
(Debeis de configurarlo como os pongo aqui)

----- APACHE USER -----
Apache User
Apache User? [wwwrun]: www-data


----- APACHE GROUP -----
Apache Group
Apache Group? [www]: www-data




sudo sed -i 's/apache2\/mod_mono.conf/apache2\/mods-enabled\/mod_mono.conf/g' /etc/apache2/conf.d/ifolder_admin.conf
sudo sed -i 's/apache2\/mod_mono.conf/apache2\/mods-enabled\/mod_mono.conf/g' /etc/apache2/conf.d/ifolder_web.conf
sudo service apache2 restart
sudo reboot

  • Y listo, ya podeis acceder a vuestro servidor de iFolder mediante la web a https://Host de tu servidor/admin para administrarlo, crear usuarios, etc, o a  https://Host de tu servidor/iFolder como usuario para ver tus archivos etc.
  • Si quieres instalar el cliente en Windows para empezar a sincronizar archivos, etc, entra en http://sourceforge.net/projects/ifolder/files/iFolder%20Clients/3.8.0.3/ y descargate la versión para tu sistema operativo, abre los puertos 443 y 80 en tu firewall y router, pon la dirección https de tu servidor y acepta las credenciales, pon tu usuario, crea una carpeta iFolder (no encriptada, hay errores), ponle el intervalo de sincronización (yo lo tengo puesto a 1 minuto) y a disfrutar de tu nuevo servicio gratuito, sin limite de espacio y con transmisión de datos segura y encriptada ^^.









11 comentarios:

  1. Amigo, muchas gracias por tan simplificado tutorial. Esta perfectamente explicado.

    Sin embargo, tengo un problema y es que al momento de entrar al panel de administración del ifolder me marca esto: Unable to communicate with the iFolder server.

    No tengo idea de que pueda ser.

    Si me pudieras ayudar te lo agradeceré infinitamente

    ResponderEliminar
  2. Este comentario ha sido eliminado por el autor.

    ResponderEliminar
  3. Dame mas datos, ¿que distribución de linux utilizas? Recuerda que el tutorial esta pensado para 10.04 LTS exclusivamente. ¿Seguistes todos los pasos correctamente o rehiciste alguno?
    ¿Te ocurre solo en el panel de admin o tambien en el de usuario?

    Parece ser un error con los certificados SSL o de configuracion del propio apache al no haber hecho uno de estos pasos correctamente:

    sudo sed -i 's/apache2\/mod_mono.conf/apache2\/mods-enabled\/mod_mono.conf/g' /etc/apache2/conf.d/simias.conf

    sudo ln -s /usr/bin/gmcs2 /usr/bin/gmcssudo mkdir -p /var/www/.config/.mono/sudo chown -R www-data:www-data /var/www/.config/

    sudo service apache2 restart

    sudo /usr/bin/ifolder-admin-setup

    sudo /usr/bin/ifolder-web-setup

    sudo sed -i 's/apache2\/mod_mono.conf/apache2\/mods-enabled\/mod_mono.conf/g' /etc/apache2/conf.d/ifolder_admin.conf

    sudo sed -i 's/apache2\/mod_mono.conf/apache2\/mods-enabled\/mod_mono.conf/g' /etc/apache2/conf.d/ifolder_web.conf

    sudo service apache2 restart

    sudo reboot

    Prueba reiniciando el servidor, apache, a las malas, repite los pasos que the puesto ahi.

    Otra solucion seria hacerlo manualmente, https://groups.google.com/group/ifolder-ubuntu-debian-dev/msg/01765b5071ff5122?pli=1

    Parece que no doy una hoy escribiendo codigo.....

    ResponderEliminar
  4. Amigo todo perfecto de verdad que esta bien explicado y lo he seguido al pie de la letra. Pero ahora te doy mas detalles. Estoy usando la versión servidor de Ubuntu que es la 12.04 me parece.

    Soy prácticamente un novato con la terminal pero me e asegurado de seguir las indicaciones de manera correcta, estoy usando el programa "Putty" para enviar las instrucciones al servidor.

    Todas las instrucciones me las acepta hasta la parte en que debo agregar este código:

    sudo ln -s /usr/bin/gmcs2 /usr/bin/gmcssudo mkdir -p /var/www/.config/.mono/sudo chown -R www-data:www-data /var/www/.config/sudo service apache2 restart

    Pues me devuelve este mensaje:

    ln: opcion inválida -- 'p'
    Pruebe `ln --help' para más información.


    Crees que tenga todo que ver el hecho de la versión de linux que pretendo usar?

    De ante mano muchas gracias por el apoyo.

    ResponderEliminar
    Respuestas
    1. Tambien pueda ser que te estoy entendiendo mal y estoy haciendo algo mal en estos dos pasos:

      ----- PUBLIC URL -----
      Public URL of this Simias Server
      Public URL? [https://127.0.1.1/simias10]: https://Host de tu servidor/simias10 (aquí estoy escribiendo lo siguiente: https://192.168.3.138/simias10 Que seria la dirección local del servidor)

      ----- PRIVATE URL -----
      Private URL of this Simias Server
      Private URL? [https://yourserver.com/simias10]:https://Host de tu servidor/simias10 (aquí me confundí un poco y lo que hice fue escribir el nombre del equipo que seria asi: https://tca/simias10)

      Quizá algo tenga que ver o simplemente el que no da una para programar sea yo jaja

      Te agradezco nuevamente.

      Eliminar
  5. Este comentario ha sido eliminado por el autor.

    ResponderEliminar
  6. ¿Conoces los MEMES? Bueno, tengo cara de PokerFace por que me puse a revisar el código que muy amablemente proporcionas y en la parte que te digo tengo error, pasa que algunos SUDO no tiene espacio entre las instrucciones y pues me da ese error jaja.

    Ya me pase a Ubuntu 10.04 en versión server y estoy apunto de probar si funciona.

    Ya te aviso.

    ResponderEliminar
  7. Volvi a obtener el mensaje:


    Unable to communicate with the iFolder server.

    ¿No se si tenga algo que ver con abrir puertos en el router?

    ¿Tu que piensas?

    ResponderEliminar
    Respuestas
    1. Pues pienso que la he lidado..... perdona.
      Fallos tontos que acabo de ver que habia cometido:

      sudo ln -s /usr/bin/gmcs2 /usr/bin/gmcssudo mkdir -p /var/www/.config/.mono/sudo chown -R www-data:www-data /var/www/.config/sudo service apache2 restart en realidad deberia ser:

      sudo ln -s /usr/bin/gmcs2 /usr/bin/gmcs

      sudo mkdir -p /var/www/.config/.mono/

      sudo chown -R www-data:www-data /var/www/.config/

      sudo service apache2 restart

      esta claro que si se pone todo junto, no se crea ni el enlace simbolico ni el directorio, ni se arreglan los permisos, etc.
      Voy a cambiarlo ahora mismo, porque esto es parte de todos tus problemas... perdona.

      Lo segundo es que en ----- PUBLIC URL ----- deberias poner tu ip publica, yo te recomiendo que te hagas socio de algun servicio DDNS y pongas la direccion que te den, asi te aseguras de que siempre puedes acceder, aunque te cambia la ip.

      En ----- PRIVATE URL ----- puedes poner tu ip local, si quieres, o de nuevo tu ip publica, yo lo tengo todo con ip publica ya que tengo el servidor con una seguridad muy dura y no se puede acceder a el por ip.

      Debes abrir tambien los puertos 80 y 443, pero solo para que tu servidor sea accesible desde el exterior, no desde lan.

      Envia si quieres tu correo a thealexmad33@gmail.com y contacto contigo por si necesitas mas cosas.

      Prueba a repetir los pasos desde (Perdon por el error tipografico, ahora todo deberia funcionar correctamente), acabo de actualizar el tutorial. Si consigues conectarte localmente, intenta reconfigurar la direccion de Simias para poder conectarte desde el exterior de tu lan como te he dicho, si no puedes y ya sabiendo donde esta el error, te recomendaria que formateases y empezases de 0, ahorra muchos quebraderos de cabeza y termina siendo lo mas rapido y comodo en estas cosas, te lo aseguro, si consigues que funcione en 10.04 sin problemas, prueba en la que estabas 12.04.
      Saludos.

      Eliminar
  8. Ahora mismo te agrego al correo :) Te agradezco la confianza.

    Bien te comento mis avances, conseguí montar el servidor en ubuntu server 10.04 gracias a los comandos que publicaste aquí y que ademas corregiste, eso ayudo en todo momento, muchas gracias.

    Conseguir entrar al panel (¿consola?) de administración y de usuarios vía navegador web. Pude crear usuarios y accesar sin problemas vía web.

    Algo que modifique y no se si tendría que ver, es que en la configuración de del admin y del web de ifolder cambie la ruta que da por defecto de https://localhost:443/ por la dirección ip local del servidor, ademas de que en ambas especifique también el grupo y el usuario www-data.

    Sobre las direcciones publicas y privadas, como tengo la intensión de implementarlo a nivel local, en la ip publica escribí https://127.0.1.1/simias10 y en la privada puse la dirección del servidor en el formato correspondiente.

    Hasta ahí todo funciona en el navegador, pero al implementar el cliente para Windows, el programa me dice que el usuario o la contraseña son incorrectos y simplemente no me permite realizar la conexión. Piensas que algo tenga que ver en la configuración que te mencione antes sobre agregar los www-data en las configuraciones del admin y web del ifolder?

    Te agradezco nuevamente el infito apoyo que expresas.

    Para mas detalles te contactare por email.

    Saludos.

    ResponderEliminar
  9. Ya te he respondido al correo, encuanto pruebes con la nueva configuración me lo dices, saludos y un placer.

    ResponderEliminar