¿Qué es ownCloud? Es la respuesta ante la necesidad de poseer un almacenamiento en una nube privada sin depender de terceros ya que nubes para el almacenamiento hay muchas: Dropbox, OneDrive, Google Drive, Box, Bitcasa, Jottacloud y sigue una larga lista. El problema de estas nubes es que no son privadas y por lo tanto no posees el control total del contenido que subes, es decir, estas confiando en un tercero que te va alojar estos datos pagando por un servicio.
Si lo que te preocupa es la privacidad de la nube y tener que delegar esta responsabilidad a otra empresa, puedes crear tu propia nube privada en tu red local o en un servidor publicado a internet con onwCloud ya que te brinda las mismas funcionalidades que otras nubes, como por ejemplo, clientes para la sincronización del contenido multiplataforma, para PC en Windows, Linux y Mac OS e incluso para dispositivos móviles como Android y iOS.
En este articulo te explico un paso a paso para poner en marcha tu ownCloud 8 en un Linux Debian 7.x para ello vamos a necesitar una instalación limpia de Debian, si no sabes como conseguir esta instalación limpia te puedes pasar por mi articulo donde explico como instalar Linux Debian netinst.
Instalar ownCloud
Una vez tenemos nuestro debían operativo necesitamos añadir los respositorios de ownCloud para que Linux Debian pueda encontrar los paquetes de instalación, para ello vamos a crear un nuevo fichero llamado owncloud.list en el directorio /etc/apt/sources.list.d/:
echo ‘deb http://download.opensuse.org/repositories/isv:/ownCloud:/community/Debian_7.0/ /’ >> /etc/apt/sources.list.d/owncloud.list
Una vez añadido el repositorio vamos a añadir y activar la clave del repositorio firmada por opensuse.
wget http://download.opensuse.org/repositories/isv:ownCloud:community/Debian_7.0/Release.key
apt-key add — < Release.key
Para que Debian vea los cambios en los repositorios vamos a actualizar su lista de repositorios.
apt-get update
Ahora ya tenemos listo el sistema para empezar la instalación de ownCloud con tan solo un sencillo comando:
apt-get install owncloud
Para que ownCloud funcione necesita de un servidor LAMP para ello va a instalar varios componentes como Apache, PHP y MySQL entre otros, por lo que nos pide si queremos instalar todos estos paquetes adicionales, le indicamos que Si.
Durante la instalación nos va a pedir una cotraseña root para el servidor MySQL
Y deberemos repetir esta contraseña para verificar que es correcta.
Una vez finalizada la instalación se reinicia el servicio de Apache
Sin hacer nada más ya podemos acceder a ownCloud usando la direccion http://ip-del-servidor/owncloud
La primera vez que accedemos nos pide crear una cuenta de administrador, con el usuario y contraseña que nosotros queramos, también nos advierte que por defecto ownCloud usa la base de datos SQlite y que se desaconseja su uso si queremos usar el cliente de escritorio que sincroniza los ficheros, por lo que le vamos hacer caso y usaremos una base de datos MySQL que ya se ha instalado durante el proceso de instalación de los paquetes.
Para configurar una base de datos desplegamos la opción de «Almacenamiento y base de datos«.
Después de indicar el usuario y contraseña deseado añadimos los datos del servidor MySQL que estuvimos configurando durante la instalación:
- Usuario: root
- Contraseña: la entrada durante la instalación
- Base de datos: owncloud (o cualquier otra que queramos)
- Servidor: localhost (aunque se puede usar un servidor MySQL externo, en este caso mejoraría el rendimiento)
Al pulsar sobre «Completar la instalación«, si todo ha ido bien, nos vamos a encontrar con una ventana de bienvenida:
Al cerrar esta ventana accedemos por primera vez a nuestro ownCloud.
Ahora ya podemos empezar a configurar el servidor.
Habilitar https mediante certificado SSL
Si vamos a publicar ownCloud a internet es muy importante habilitar el acceso https mediante un certificado SSL, para ello vamos a firmar nuestro propio certificado SSL (o también podemos usar uno emitido por una entidad autorizada)
En este caso vamos a generar un certificado SSL en /etc/apache/ssl, para ello primero vamos a crear primero la carpeta:
mkdir /etc/apache2/ssl
A continuación generamos el certificado dentro de esa carpeta:
openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/apache2/ssl/apache.key -out /etc/apache2/ssl/apache.crt
Una vez generado el certificado deberemos cambiar la configuración del fichero /etc/apache2/conf.d/owncloud.conf
Reemplazando este contenido:
Alias /owncloud /var/www/owncloud/
<Directory «/var/www/owncloud»>
Options +FollowSymLinks
AllowOverride All
</Directory>
Por esta nueva configuración:
Alias /owncloud /var/www/owncloud
<VirtualHost *:80>
RewriteEngine on
ReWriteCond %{SERVER_PORT} !^443$
RewriteRule ^/(.*) https://%{HTTP_HOST}/$1 [NC,R,L]
</VirtualHost><VirtualHost *:443>
SSLEngine on
SSLCertificateFile /etc/apache2/ssl/apache.crt
SSLCertificateKeyFile /etc/apache2/ssl/apache.key
DocumentRoot /var/www/owncloud/
<Directory /var/www/owncloud>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
Allow from all
</Directory>
</VirtualHost>
A continuación deberemos activar SSL
a2enmod ssl
Finalmente reiniciamos apache
/etc/init.d/apache2 restart
Ahora ya podemos acceder mediante la ruta: https://ip-del-servidor (ya no hace falta poner /owncloud detrás de la URL)
Al acceder nos mostrará un mensaje de problema con el certificado de seguridad ya que no está firmado por una entidad de confianza, (si queremos solucionar este problema deberemos conseguir un certificado SSL en cualquier emisor certificado) aceptamos el mensaje y accedemos de nuevo a ownCloud.
Obligar a ownCloud a usar https
Para forzar que ownCloud siempre use protocolo https, deberemos acceder al apartado de «Administración»
En «Administración» accedemos al sección de «Seguridad» y activamos los dos check de «Forzar HTTPS» y «Forzar HTTPS para subdominios«.
Una vez aplicados estos cambios ownCloud va a forzar todas las conexiones mediante https.
Establecer Conjunto de Caracteres para PHP en UTF-8
Si nos fijamos en «Administración» nos aparece un mensaje de advertencia indicando que el «El conjunto de caracteres de PHP no está establecido en UTF-8.»
Tal y como indica la advertencia esto nos podria dar problemas al insertar caracteres especiales en los ficheros, para solucionar este problema deberemos modificar el fichero php.ini ubicado en /etc/php5/apache2 y buscar la línea:
; default_charset = «UTF-8»
La descomentamos eliminando el «;» quedando así:
default_charset = «UTF-8»
Y seguidamente reiniciamos apache con
/etc/init.d/apache2 restart
Ahora si refrescamos la pagina de «Administración» de ownCloud ya no debería aparecer el mensaje.
ownCloud listo
Finalmente ya tenemos ownCloud listo para funcionar, el resto de configuraciones depende de las necesidades de cada uno, por ejemplo si lo vamos a usar como una nube totalmente privada es mejor desactivar las opciones de «Compartido en Cloud Federado» si por el contrario vamos a añadir varios usuarios y estos requieren la compartición de ficheros se puede habilitar la primera opción de «Permitir a usuarios de este servidor compartir con usuarios de otros servidores«.
También hay mas opciones sobre privacidad entre usuarios en la sección «Compartiendo» es importante definir bien hasta que punto los usuarios pueden compartir o no los contenidos de la nube.
Añadir usuarios a ownCloud
Una vez tenemos configurado ownCloud podemos añadir los usuarios que necesitemos, para ello vamos a «Usuarios»
Primero de todo vamos a crear un Grupo para los usuarios pulsando en «+Agregar grupo»
Le damos un nombre, por ejemplo usuarios y pulsamos el simblolo de «+»
Una vez creado el grupo el siguiente paso es crear el usuario, tan sencillo como poner un nombre de usuario y contraseña, seleccionar el grupo al que queremos que pertenezca y pulsar «Crear«.
Para establecer el espacio que puede usar este usuario en disco vamos a seleccionar en el desplegable de «Cuota» y seleccionamos o escribimos el espacio que le vamos a ceder a este usuario.
Finalmente ya podemos acceder con este nuevo usuario a ownCloud, si accedemos a «Personal» vamos a ver el espacio utilizado, además hay las opciónes de establecer una cuenta de correo vinculada a este usuario y subir una foto de perfil además de cambiar el idioma del interfaz de ownCloud, gestionar los avisos al correo electrónico y importar una clave privada SSL.
Sincronizar
Al igual que otras nubes de almacenamiento, ownCloud puede sincronizar carpetas entre equipos, para ello podemos descargar las diferentes versiones para cada entorno: Windows, Linux, Mac OS, Android y iOS.
Todos son muy fáciles e intuitivos de usar. ¡Espero que disfrutes de tu nube privada!
Toniddp dice
Bon article nen, salutacions des de Etiopia ;).
Wilberth dice
Me he pasado leyendo tu blog y son excelentes. Saludos desde México
Imanol dice
Me parece muy buen articulo. Lo he seguido paso a paso y puedo acceder perfectamente a owncloud en local.
Pero no tengo suficientes conocimientos informáticos y no soy capaz de acceder a owncloud desde otro ordenador.
¿podrías explicarnos mas sobre la configuración del router o los pasos a seguir para hacer posible el acceso en remoto?
Gracias en cualquier caso.
Alex dice
Bona tarda, l’article és brutal, felicitats, però tinc un problema. Jo ja tinc l’Owncloud funcionant de fa temps i perfectament des de LAN i exterior amb No-IP. Ara m’agradaria poder afegir-li el sistema de notes i el programa que va bé em demana el certificat SSL. He provat de seguir el que indiques i em trobo que dins de la carpeta apache2 no tinc cap directori conf.d amb un fitxer de configuració Owncloud.conf. La pregunta és, he de buscar on tingui aquest owncloud.conf i seguir les passes o bé hi ha alguna cosa que falla. No m’agradaria que a aquestes alçades que tot funciona a les mil meravelles (tot i no tenir seguretat) se’n vagi a norris. Moltes gràcies
Joan dice
Hola Alex, moltes gràcies m’alegra de que aquesta guia et serveixi d’ajut. En resposta a la teva consulta, caldria saber en quina distribució de Linux tens instal·lat el OwnCloud, doncs pot afectar a la localització dels fitxers de configuració. Has provat en utilitzar les comandes locate o find per a cercar el fitxer? Es possible que el tinguis dins de /etc/apache2/sites-available/owncloud.conf o /etc/apache2/sites-enabled/owncloud.conf
Tot i que la configuració es reversible abans de fer res et recomano que realitzis una copia de seguretat del servidor i si no es possible munta’t un laboratori amb una instal·lació igual a la que tens en producció. Ja em dius quelcom 😉