Instalación y configuración de ownCloud con HTTPS

El proyecto de código abierto ownCloud nos permite acceder a archivos alojados en nuestro propio servidor y poder compartirlos. Así, se presenta como una alternativa muy interesante a servicios como Dropbox o Google Drive, entre otros. Las ventajas principales respecto a estas opciones son la eliminación de restricciones de almacenamiento, la gestión sencilla de usuarios y la posibilidad de administrar de forma completa todo nuestro sistema. Para más información sobre el proyecto podemos visitar la web de ownCloud, que ofrece una demo del servicio para probarlo.

Para el despliegue del servicio partimos de que tenemos disponible un equipo Linux donde realizar las pruebas. Los pasos que mostraremos a continuación son compatibles con distribuciones Debian y Ubuntu. Además, resultaría interesante configurar un servidor ssh para poder acceder a la terminal del servidor  remotamente.

Finalmente, destacar que los pasos que mostramos a continuación están pensados para un equipo servidor desplegado en ámbito doméstico o cualquier otro que tenga direccionamiento IP privado. En caso de direccionamiento público, algunos pasos se simplificarían.

1. Configuración de IP estática

El primer paso será establecer una dirección IP estática para forzar al router a que nos asigne siempre la misma dirección IP y así facilitar la administración del servidor. Para ello modificaremos el fichero «/etc/network/interfaces».

Se aconseja hacer siempre un duplicado de los ficheros antes de modificarlos.

sudo nano /etc/network/interfaces

Dentro del fichero buscamos el bloque correspondiente a la interfaz que queremos establecer como fija. En este caso, asumimos que será la eth0. Ese bloque debemos sustituirlo por el siguiente:

iface eth0 inet static
address 192.168.1.13
netmask 255.255.255.0
gateway 192.168.1.1

Una vez modificado, pulsamos la combinación Ctrl+O para guardar, seguido de Ctrl+X para salir.

También tenemos la opción de usar otros editores más ligeros como vi o vim. Sin embargo, por simplicidad hacemos uso del editor nano.

En este caso en concreto estamos configurando una IP privada de forma estática, asignándole la dirección 192.168.1.13. Debido al estándar, este tipo de direcciones tendrán una máscara de red /24, por lo que se le establece un valor 255.255.255.0 en el campo netmask. Finalmente, establecemos la dirección del router o salida a Internet (gateway).

Para comprobar que efectivamente ha cambiado la configuración de la interfaz, reiniciamos el equipo y con el comando ifconfig podremos ver la dirección IP asignada.

¿No ha cambiado la IP y sigue con la que aparecía antes de la configuración? Esto es porque hay un equipo de la red local que está haciendo uso de la IP privada. Así que mi recomendación es que modifiquéis de nuevo el fichero de la interfaz para indicar esta dirección IP que muestra ifconfig.

2. Instalación del servidor web Apache

El software de código abierto Apache nos permitirá ofrecer nuestro servicio de  ownCloud fuera del equipo. Para su instalación introducimos en la terminal el siguiente comando, que descargará los paquetes necesarios para el correcto funcionamiento de ownCloud:

sudo apt-get update
sudo apt-get install apache2 php5 php5-json php5-gd php5-sqlite curl libcurl3 libcurl4-openssl-dev php5-curl php5-gd php5-cgi php-pear php5-dev build-essential libpcre3-dev libapache2-mod-php5 php-apc

Siempre que vayamos a instalar paquetes debemos hacer «sudo apt-get update»

3. Tamaño de transferencia de ficheros en PHP

Las transferencias de ficheros de PHP en Apache están limitadas a tamaños muy pequeños. Por ello, vamos a establecer valores altos para permitir que se pueda operar con ficheros grandes. Para ello, accedemos al fichero php.ini:

sudo nano /etc/php5/apache2/php.ini

Con el atajo de teclado Ctrl+W podemos buscar ocurrencias de texto dentro del fichero. Buscamos la línea «upload_max_filesize» y le asignamos un valor de 2048M. Tras ello, buscamos «post_max_size» y asignamos un valor de 2048M. Con esto hemos establecido que nuestro servidor operará con ficheros de tamaño máximo 2GB. Podemos modificar este valor y ponerle el más adecuado a nuestras necesidades.

4. Configuración de Apache para HTTP simple

El directorio de trabajo de Apache es «/etc/apache2». Dentro de él destacamos dos directorios llamados «sites-available» y «sites-enabled» que nos permiten establecer la configuración de cada servicio que vamos a compartir desde Apache.

Debemos realizar las siguientes comprobaciones previas:

  • El fichero «httpd.conf» está vacío o no existe
  • El archivo «apache2.conf» tiene la línea «Include /etc/apache2/sites-enabled» (o similar)
  • Y el fichero «ports.conf» tiene la línea «NameVirtualHost *:80» o la línea «Listen 80» (según la versión)

Ahora vamos a crear el directorio «owncloud» en la ruta «/var/www» que es donde nuestro Apache contendrá los ficheros a servir. Crearemos un fichero de pruebas HTML sencillo para comprobar el funcionamiento correcto del servidor.

sudo mkdir /var/www/owncloud
cd /var/www/owncloud
sudo touch index.html
sudo nano index.html

El código HTML para el fichero «index.html» se muestra a continuación:

<html>
   <head>
     <title>Prueba ownCloud</title>
   </head>

   <body>
     <h1>Bienvenido a ownCloud</h1>
   </body>
</html>

Una vez tenemos los ficheros a servir en el directorio correspondiente, pasamos a configurar un nuevo sitio de Apache:

cd /etc/apache2/sites-available
sudo touch owncloud.conf
sudo nano owncloud.conf

El contenido del fichero es el siguiente:

<VirtualHost *:80>
	DocumentRoot /var/www/owncloud 
	<Directory /var/www/owncloud> 
		Options Indexes FollowSymLinks MultiViews 
		AllowOverride None 
		Order allow,deny 
		allow from all 
	</Directory> 
</VirtualHost>

Tras ello, habilitamos el sitio creado para que aparezca en el directorio «sites-enabled»:

sudo a2ensite owncloud.conf

Finalmente, debemos habilitar dos módulos necesarios para pasos siguientes:

sudo a2enmod ssl
sudo a2enmod rewrite

Una vez configurado todo, reiniciamos el servicio de Apache y accedemos desde el navegador a la IP del servidor. Si todo está bien configurado, debería mostrarnos el fichero «index.html» creado anteriormente.

sudo service apache2 restart

En en el navegador introducimos la siguiente dirección:

http://192.168.1.13

La dirección IP a la que accedemos es la que hemos configurado en el paso 1

5. Configuración de DNS dinámico (No-IP)

Sólo seguir este paso si hemos configurado una IP privada

Como hemos configurado previamente una dirección IP privada, tenemos que tener en cuenta algunos problemas derivados y cómo solucionarlos. En primer lugar, los proveedores de servicios de Internet asignan una dirección IP pública a nuestro router que va cambiando cada cierto tiempo. Entonces, ¿cómo puedo tener mi servidor accesible desde fuera de casa si la IP pública cambia?

Este problema se resuelve usando («Oh, qué sorpresa!») un servicio de DNS dinámico. En este caso, la empresa No-IP consulta periódicamente la dirección IP pública del router y, en caso de que cambie, anota la nueva. Así, siempre estaremos accesibles desde el exterior.

Para crear un host en No-IP podemos seguir la primera parte de este manual. Es interesante comentar que el registro debemos hacerlo desde un equipo situado en la red local en la que estará el servidor, ya que al registrar el host se asigna la IP pública actual del router.

¡Bien!, ya tengo un nombre de dominio del estilo «quevieneipv6.ddns.net» (No hace falta que entréis, es un ejemplo).

Una vez creado el host, pasamos a configurarlo en el servidor:

sudo mkdir /home/noip
cd /home/noip
sudo wget http://www.no-ip.com/client/linux/noip-duc-linux.tar.gz
sudo tar vzxf noip-duc-linux.tar.gz
cd noip-2.1.9-1
sudo make
sudo make install

En el momento de seguir estos pasos la versión actual es la 2.1.9-1. Cuando lo hagáis, posiblemente sea otra superior.

Se abrirá un asistente de instalación en el que introduciremos nuestras credenciales y ya tendremos vinculado nuestro host al servidor. Así que se puede introducir, además, un tiempo de refresco entre actualizaciones (lo dejamos por defecto). Hay un par de comandos interesantes que nos pueden ser de utilidad:

sudo /usr/local/bin/noip2    (arranca el servicio de No-IP)
sudo noip2 -S                 (muestra el estado del servicio de No-IP)

Pasados un par de minutos comprobamos que en el navegador se resuelve bien nuestro dominio. Oh, vaya… ¿Aparece la web de acceso a la configuración del router? Se me olvidaba comentarlo… Si accedemos desde la red local, el host «quevieneip6.ddns.net» accederá a la dirección IP pública de nuestro router, y al estar en red local, iremos a parar a la configuración del router. Por esa razón, recordad siempre:

Dominio para acceder desde el exterior (quevieneipv6.ddns.net)
Dirección IP privada para acceder desde red local (192.168.1.13)

Para complicar un poco más el asunto, el servicio de No-IP no se arranca por defecto al iniciar el servidor. Entonces, si se reinicia el equipo, nos quedaremos sin poder acceder al servicio desde Internet. Para ello, configuramos en el sistema que se arranque automáticamente.

En el fichero «README.FIRST» de la carpeta de instalación («/home/noip/noip-2.1.9-1») tenemos un script que nos facilitará mucho la vida:

#! /bin/sh
# . /etc/rc.d/init.d/functions  # uncomment/modify for your killproc
case "$1" in
    start)
    echo "Starting noip2."
    /usr/local/bin/noip2
    ;;
    stop)
    echo -n "Shutting down noip2."
    killall -TERM /usr/local/bin/noip2
    ;;
    *)
    echo "Usage: $0 {start|stop}"
    exit 1
esac
exit 0

Lo colocaremos en «/etc/init.d»:

cd /etc/init.d
sudo touch noip
sudo nano noip

Además, debemos dar permisos de ejecución al servicio de No-IP:

sudo chmod 775 /etc/init.d/noip

Finalmente, debemos indicar en el fichero «/etc/rc.local» que el sistema debe arrancar el servicio de No-IP automáticamente. La línea siguiente la insertamos justo antes de la instrucción «exit 0» ya existente en el fichero (colocar en la penúltima línea):

sudo nano /etc/rc.local
/etc/init.d/noip start      (Línea a insertar en el fichero)

Reiniciamos la máquna y comprobamos si se ha iniciado correctamente el servicio de No-IP:

sudo reboot
sudo noip2 -S

6. Configuración del router

¿Pero no habíamos dicho que, si tengo IP privada y uso No-IP consigo tener localizado siempre al router? Correcto. El problema está en que el router no sabe a qué dirección IP privada estás intentando acceder y, mejor todavía, hay ciertos puertos que bloquea por seguridad. Por tanto debemos realizar estas tareas:

  • Configurar DNS dinámico en el router (si dispone de esta opción)
  • Establecer la IP de nuestro servidor como host DMZ o zona desmilitarizada (si dispone de esta opción)
  • Abrir los puertos (Port Forwarding) 80, 443 y 22 para la IP 192.168.1.13

Por desgracia, cada fabricante y modelo suele tener un panel de control diferente. Por ese motivo, tendréis que buscar en Internet cómo configurar vuestro router en concreto. Además, cada router/operadora  puede bloquear o no determinados puertos, por lo que habría que comprobar previamente si están abiertos o bloqueados (por ejemplo, mediante esta web).

Este proceso es especialmente interesante si estamos trabajando con direcciones IP privadas. En caso de ser públicas, sólo sería necesario abrir los puertos del router.

7. Descargar ownCloud (¡Por fin!)

Ejecutamos los siguientes comandos:

cd /var/www
sudo wget https://download.owncloud.org/community/owncloud-9.0.1.zip
sudo unzip owncloud-9.0.1.zip
sudo chown -R www-data:www-data /var/www/owncloud

También tenemos que indicar a ownCloud los tamaños de transferencia de archivo (los mismos que configuramos para PHP):

sudo nano /var/www/owncloud/.htaccess

8. Uso de Apache y ownCloud con HTTPS

Para poder hacer uso de HTTP seguro, necesitaremos un certificado digital que nos permita cifrar las comunicaciones. Para ello, generaremos un certificado autofirmado. Esto será molesto de cara a que cuando accedamos a nuestra web aparecerá una alerta de «Sitio no seguro, ¿desea continuar asumiendo los riesgos?». El por qué hacemos esto es porque entedemos que vamos a crear el servidor ownCloud en un entorno restringido y no queremos pagar a una autoridad de certificación para que nos genere un certificado validado. Es decir, de cara a la seguridad que ofrece el cifrado de las comunicaciones sería exactamente el mismo.

sudo mkdir /etc/apache2/ssl
sudo openssl req -x509 -nodes -days 3650 -newkey rsa:2048 -keyout /etc/apache2/ssl/owncloud.key -out /etc/apache2/ssl/owncloud.crt

Con este comando hemos creado un certificado digital X509 con cifrado RSA de 2048 bits y con validez para 10 años. Durante el proceso de creación del certificado se nos pedirán datos como el país, la región, etc.

Para comprobar los datos de los certificados generados usamos:

openssl x509 -in owncloud.crt -text
openssl x509 -in owncloud.key -text

Ahora tenemos que configurar nuestro fichero de zona para que admita HTTPS:

sudo nano /etc/apache2/sites-available/owncloud.conf

El nuevo contenido del fichero de zona es el siguiente:

<VirtualHost *:80>
	RewriteEngine on
	ReWriteCond %{SERVER_PORT} !^443$
	RewriteRule ^/(.*) https://%{HTTP_HOST}/$1 [NC,R,L]
</VirtualHost>	

<VirtualHost *:443> 
	Servername quevieneipv6.ddns.net
	DocumentRoot /var/www/owncloud 
   <Directory /var/www/owncloud> 
	Options Indexes FollowSymLinks MultiViews 
	AllowOverride None 
	Order allow,deny 
	allow from all 
   </Directory>

   SSLEngine on
   SSLCertificateFile /etc/apache2/ssl/owncloud.crt
   SSLCertificateKeyFile /etc/apache2/ssl/owncloud.key

   <FilesMatch "\.(cgi|shtml|phtml|php)$"> 
		SSLOptions +StdEnvVars
   </FilesMatch>

   BrowserMatch "MSIE [2-6]" \
	nokeepalive ssl-unclean-shutdown \
	downgrade-1.0 force-response-1.0 
   #MSIE 7 and newer should be able to use keepalive
   BrowserMatch "MSIE [17-9]" ssl-unclean-shutdown
</VirtualHost>

En el VirtualHost para el puerto 443 establecemos como «Servername» el nombre de nuestro dominio No-IP.

Es necesario destacar que a continuación de los símbolos «\» de final de línea en el bloque «BrowserMatch» no debe aparecer ningún símbolo de espacio. Si no respetamos esta restricción, Apache dará fallo.

9. Configuración de MySQL

Nuestro servidor ownCloud hará uso de una base de datos para indexar todos los ficheros que almacenamos. Es recomendable hacer uso de una base de datos MySQL, especialmente si vamos a usar el cliente de escritorio de sincronización. Instalamos MySQL:

sudo apt-get install mysql-server
sudo apt-get install php5-mysql

Aparecerá un asistente en el que se nos pedirá una contraseña para el usuario «root» de la base de datos.

Una vez instalado, creamos una nueva base de datos para ownCloud:

sudo mysql -u root -p

*** Dentro de MySQL: ***
CREATE USER 'usuario'@'localhost' IDENTIFIED BY 'password';
CREATE DATABASE IF NOT EXISTS owncloud;
GRANT ALL PRIVILEGES ON owncloud.* TO 'usuario'@'localhost' IDENTIFIED BY 'password';

Así, hemos creado un usuario de la base de datos llamado «usuario» con contraseña «password», hemos creado una base de datos llamada «owncloud» y le hemos dado privilegios a ese usuario.

10. Configuración inicial de ownCloud vía web

Accedemos a nuestro servidor desde el navegdor y nos aparecerá la típica ventana de login con información a introducir. En concreto, nos solicitará:

  • Usuario administrador
  • Clave de administrador
  • Tipo de base de datos (seleccionar MySQL)
    • Usuario de la base de datos: usuario
    • Contraseña de la base de datos: password
    • Nombre de la base de datos: owncloud

A continuación podemos ver una imagen con los datos anteriores introducidos:

Creación de cuenta de administrador

Además, debemos modificar el fichero de configuración de PHP de ownCloud para permitir no sólo nuestra dirección IP privada sino también el dominio No-IP. Si no hacemos esto, al acceder desde el exterior nos saldrá un cartel de alerta diciendo que contactemos con el administrador del sistema para que catalogue el dominio «quevieneipv6.ddns.net» como confiable:

sudo nano /var/www/owncloud/config/config.php

Modificamos el valor de «array» para que tenga la siguiente apariencia:

array (
    0 => '192.168.1.13',
    1 => 'quevieneipv6.ddns.net',
),

11. Disfruta de ownCloud

Ya que te ha costado tanto configurarlo, sácale el máximo partido a ownCloud. Así que, aumenta tu productividad usando el cliente de sincronización para escritorio. Además, hay disponible aplicación móvil para Android e iOS.

38 opiniones en “Instalación y configuración de ownCloud con HTTPS

  • 21 mayo, 2016 a las 20:20
    Link permanente

    ¡Hola! Me ha gustado mucho el manual de instalación. Dos apuntes, si lo ve oportunos: en el apartado 5, cuando comprobamos el estado del noip la instrucción no es correcta (sería sudo noip2 -S). En el apartado 10 yo recomendaría una captura de pantalla porque no queda muy claro lo que pide. Con la captura quedaría más visual. Enhorabuena. Saludos desde México

    Responder
    • 14 junio, 2016 a las 10:49
      Link permanente

      ¡Buenos días! Efectivamente, la instrucción no es correcta. Actualizo la entrada para arreglarlo. Por otro lado, adjunto una imagen donde se muestre cómo introducir los datos. Muchas gracias por seguirnos. Esperamos que continues leyendo nuestro blog. ¡Saludos!

      Responder
  • 23 mayo, 2016 a las 09:20
    Link permanente

    Buenas noches, les escribo para comentarles que al ejecutar esta orden en mi computadora me resulta que no existe dicho archivo: sudo nano /var/www/owncloud/config.php. En cambio, sí existe el directorio /var/www/owncloud/config/config.php. ¿Es posible que sea esta la ruta correcta? Saludos desde Camatagua

    Responder
    • 14 junio, 2016 a las 11:43
      Link permanente

      Buenos días, la ruta es incorrecta. Modifico la entrada para que figure la ruta /var/www/owncloud/config/config.php. Un saludo y gracias por seguir nuestro blog.

      Responder
  • 23 mayo, 2016 a las 17:12
    Link permanente

    En el paso 5 he detectado un error. El comando para dar permisos al script de noip debería ser «sudo chmod 775 /etc/init.d/noip». Saludos desde Lorca, Argentina.

    Responder
    • 14 junio, 2016 a las 11:46
      Link permanente

      Buenos días Humberto. Estás en lo cierto, el comando debe ser “sudo chmod 775 /etc/init.d/noip”. Actualizo la entrada con tu aportación. Gracias por tu interés. ¡Saludos!

      Responder
  • Pingback: Borja Moreno

  • 14 junio, 2016 a las 10:42
    Link permanente

    En el archivo /etc/rc.local (paso 5) sería conveniente recordar poner la orden del bash antes del «exit 0». Gran artículo, ¡enhorabuena!

    Responder
  • 2 diciembre, 2016 a las 17:23
    Link permanente

    Muchas Gracias por tu artículo Sergio, me parece sumamente interesenta. Estoy buscando información para realizar mi cloud personal con un Raspberry Pi (hasta incluso con un Orange Pi se podría hacer) y lo veo sumamente útil, de lo más completo que vi.
    Lo que me gustaría, es que el almacenamiento a utilizar sea un disco USB externo conectado a la Raspberry PI o al Orange PI. Sería genial si puedes explicar como se hace. Muchas Gracias nuevamente.

    Responder
    • 6 diciembre, 2016 a las 17:44
      Link permanente

      Gracias a ti Diego por leernos. Hemos publicado una entrada para que puedas seguir el proceso paso a paso. Puedes verla aquí: Añadir almacenamiento externo USB a ownCloud.

      Lo he probado para Orange Pi y funciona igual de bien que con la Raspberry Pi 2 y 3. Espero que resuelva todas tus dudas pero si tienes algún problema no dudes en escribir en los comentarios.

      Responder
  • 6 diciembre, 2016 a las 17:41
    Link permanente

    Gracias… te pasaste con lo del almacenamiento externo. Ya lo tengo funcional. En cuanto al certificado, cada que vez ingreso me dice que el sitio no es seguro. Es así o he realizado algo mal? Gracias!!!

    Responder
    • 6 diciembre, 2016 a las 17:59
      Link permanente

      Me alegro mucho de que te haya servido Diego!

      El «problema» está en que nosotros hemos autogenerado nuestros propios certificados digitales para establecer el canal seguro HTTPS con OwnCloud. El navegador no conoce la entidad que ha firmado el certificado, pues lo hemos generado nosotros. Eso no quiere decir que no sea seguro. Simplemente que tu navegador no es capaz de ver quién lo ha firmado y por eso te muestra el aviso. Es normal que aparezca el mensaje, así que no te preocupes ;)

      La solución sería obtener un certificado a través de una empresa conocida como podría ser el caso de Verisign, entre otras muchas. No se puso en la entrada porque asumimos que sería una instalación de OwnCloud casera. Si necesitas desplegar tu nube a nivel corporativo sería interesante que contactases con una empresa de certificación. Un saludo!

      Responder
  • Pingback: OwnCloud con almacenamiento externo - ¡Que viene IPv6!

  • 10 enero, 2017 a las 19:26
    Link permanente

    Tengo este error todo el rato
    Su directorio de datos y sus archivos probablemente sean accesibles desde Internet. El archivo .htaccess no está funcionando. Le sugerimos encarecidamente que configure su servidor web de modo que el directorio de datos ya no sea accesible o que mueva el directorio de datos fuera de la raíz de documentos del servidor web.
    Tambien el de que nose porque motivo desde el movil puedo acceder a traves de https y desde los Ordenadores no.

    En el parametro
    array (
    0 => ‘192.168.1.13’,
    1 =1 ‘quevieneipv6.ddns.net’,
    ),

    No me funcionaba tal que asi , lo unico que cambie fue el 1=0 y ya perfectamente funcionando.
    En si el cloud creo que me funciona bien pero seguramente y probablemente me siga dando fallos como el que me dio de mem cache que lo arregle de la siguiente manera por si a alguien le falla.

    Debajo del primer array de ese fichero poner esto
    ‘memcache.local’ => ‘\OC\Memcache\APCu’,

    Si alguien me ayuda con el https y el Htaccess me vendria genial.
    Saludos y Feliz año para todos !! .

    Responder
    • 10 enero, 2017 a las 23:02
      Link permanente

      ¡Hola Jesús! En primer lugar muchas gracias por leer nuestro blog.

      Respecto al problema que comentas del .htaccess, OwnCloud te da una advertencia diciendo que los archivos de la web están alojados «en la raíz de documentos del servidor web». O lo que es lo mismo, están en «/var/www/» en lugar de «/var/www/owncloud» como indicábamos en el tutorial. Revisa a ver si es esto lo que está produciéndote el error para ir descartando cosas.

      En la definición del array hay un pequeño error y deberías ponerlo así:

      En el parametro
      array (
      0 => ‘192.168.1.13’,
      1 => ‘quevieneipv6.ddns.net’,
      ),

      Por eso la segunda línea no te funcionaba correctamente y tuviste que ponerla en la 0. Revisa si esto te soluciona el problema.

      Respecto al tema de la memoria caché, en la entrada nos limitamos simplemente a la instalación básica de OwnCloud. No se trató el cómo resolver los errores y mejoras de seguridad que aparecen en el apartado de administración. Como bien comentas, la solución es añadir esa línea al fichero de configuración. Para aquellos que lean el comentario y no sepan de qué hablamos, es un paso recomendable debido a que, por defecto, OwnCloud no hace uso de memoria caché. Esto puede reducir considerablemente el rendimiento del sistema. Para ello, se hace uso del Alternative PHP Cache user (APCu). Esta caché almacena scripts precompilados de PHP por lo que no es necesario volverlos a compilar cada vez que son invocados y mejoramos el rendimiento del sistema.

      Un saludo y no dudes en consultarnos cualquier problema que te surja.

      Responder
  • 11 enero, 2017 a las 15:58
    Link permanente

    He visto 5 tutoriales para instalar OwnCloud con HTTPS y este es el mejor de todos. Espero ver mas articulos de estos para probar cosas nuevas en mi Raspi 3. Esto funciona de lujo!!

    Quiero montar algo para tener mi web en casa con Apache o Nginx. Si publicais algo seria genial

    Responder
    • 13 enero, 2017 a las 01:22
      Link permanente

      Gracias por tu apoyo!! Pronto prepararemos nuevos artículos para seguir montando cosas en una Raspberry Pi o un servidor.

      Saludos!

      Responder
  • 15 enero, 2017 a las 22:00
    Link permanente

    El archivo /var/www/owncloud/config/config.php está vacio, debo copiar el de ejemplo?

    Responder
    • 15 enero, 2017 a las 22:53
      Link permanente

      Hola Bernat,
      En ese fichero hay más contenido además del array, por tanto, copiar ese fragmento no resolverá el problema.

      Voy a indicar algunas comprobaciones que pueden ayudarte a encontrar el problema:

      • Comprobar que el fichero existe en esa ruta. Si has ejecutado la orden «sudo nano /var/www/owncloud/config/config.php» directamente es posible que no hayas podido ver si el fichero ha sido creado.

        Si no existe, probablemente has utilizado otra ruta para la instalación de OwnCloud. En este artículo es «/var/www/owncloud» pero también es frecuente usar la ruta «/var/www/html/owncloud».

      • Si el fichero existe, debes asegurarte de que has ejecutado la orden con sudo. Si no se modifica el fichero como root se abre la interfaz de edición como si el fichero estuviera vacío.

      Si el fichero existe y sigue apareciendo con contenido vacío, debe haber algún error en los pasos previos.
      Coméntanos qué tal ha ido y si has tenido éxito.

      Responder
  • 5 febrero, 2017 a las 22:10
    Link permanente

    Muy buen tutorial de instalación de OwnCloud, como pone algo más arriba de lo mejor de la red.
    En el punto 3. Tamaño de transferencia de ficheros en PHP hay una errata en vez de apache pone anache, lo comento porque el personal, yo incluido somos muy amigos del copy&paste.

    Un saludo…

    Responder
  • 12 febrero, 2017 a las 01:51
    Link permanente

    Hola, vengo nuevamente por aqui. Resulta que trato de poner la dirección publica (o dirección de internet) en mi ordenador, y me da un connection refused. En cambio si pongo la IP, puedo entrar sin problemas. Me ha pasado y lo he solucionado, pero no recuerdo como. Me pueden ayudar? Quiero acceder de esta forma, sobre todo por la app de android, que lleva la dirección Publica; la idea que pueda subir fotos desde cualquier red. Muchas Gracias.-

    Responder
    • 25 febrero, 2017 a las 17:33
      Link permanente

      Hola Diego, quizás ya has solucionado el problema pero escribo algunas posibles soluciones por si sirve a futuros lectores. Si has encontrado una solución mejor, por favor, coméntala para ayudar a otros usuarios.

      Desde tu propia red local no puedes acceder a la red local de tu casa u oficina con la IP pública o dominio público asociado porque tu router bloquea esa conexión. En cambio, al poner la IP pondrás algo que empieza generalmente por 192.168.XXX.XXX eso es porque esa IP es privada (pertenece a tu red local).

      Para solucionarlo hay varias opciones:
      1) Si tu router lo soporta, puedes indicar que redireccione cualquier petición al dominio o dirección de internet que uses hacia la IP de tu servidor de OwnCloud.

      2) Desde equipos Windows o Linux puedes modificar un fichero llamado hosts y añadir en cualquier parte del fichero una línea similar a esta:

      192.168.XXX.XXX subdominio.dominio.com

      Donde la primera parte es la IP privada de tu OwnCloud y la segunda parte la dirección pública o dominio. Esto hará que cualquier petición desde tu equipo a esa dirección vaya directamente al servidor sin pasar por el router.

      Esta opción sólo está para móviles Android que han sido rooteados por lo que no es una opción muy recomendada en móviles.

      3) Otra opción es montar tu propio servidor DNS con bind9 pero el esfuerzo de montarlo y mantenerlo quizás no compensa.

      4) Hay servicios de DNS Dinámicos como No-IP que gestionan ese problema automáticamente y redirigen a la IP pública o privada dependiendo de la localización. Sin embargo, desconozco si hay algún DDNS gratuito que ofrezca ese servicio.

      Espero que hayas encontrado la solución a tiempo. Si conoces alguna mejor me gustaría conocerla.

      Responder
      • 3 marzo, 2017 a las 22:35
        Link permanente

        Eduardo, es muy clara tu explicación. Si tengo NO-IP para gestionar la dirección pública, peró tenía el problema hasta que uno o dos días después de postear, me fijé en el router (un Xiaomi MI Router 3 que no me está dando confianza), y estaba la opción en DDNS para redireccionar a NO-IP. Igual entiendo que no es la mejor opción, porque sale a internet.
        Lo interesante que este router me permite crear 3 redes, pero solo me permitía subir por la Wifi principal. En cambio si lo conectaba por Ethernet funcionaba.
        Configuré entonces la dirección de NO IP en el router y salió funcionando, el problema, que desde hace 2 días, ya no puedo conectarme más por la app de Android (nuevamente).
        Creo que voy a resetear el router y ver que pasa.

        Responder
        • 7 marzo, 2017 a las 15:40
          Link permanente

          La verdad es que es una configuración curiosa, sobretodo la parte de que vaya por Ethernet y no por cable. No he tratado con ese router así que no te puedo ayudar ahí. Espero que haya suerte reconfigurando el router…

          Responder
  • 12 febrero, 2017 a las 02:39
    Link permanente

    Buenas, cuando meto la serie de comando para generar el certificado, me pide todos los datos y tras introducirlos sin caracteres raros, mas que el @ y un «.», cuando ejecuto los siguiente dos comando para comprobar el contenido del certificado, me lanza siempre este error:
    owncloud.key:
    Error opening Certificate owncloud.key
    140246187599520:error:02001002:system library:fopen:No such file or directory:bss_file.c:398:fopen(‘owncloud.key’,’r’)
    140246187599520:error:20074002:BIO routines:FILE_CTRL:system lib:bss_file.c:400:
    unable to load certificate

    owncloud.crt:
    Error opening Certificate owncloud.crt
    140430922774176:error:02001002:system library:fopen:No such file or directory:bss_file.c:398:fopen(‘owncloud.crt’,’r’)
    140430922774176:error:20074002:BIO routines:FILE_CTRL:system lib:bss_file.c:400:
    unable to load certificate

    Gracias de antemano y buen tutorial!!

    Responder
    • 12 febrero, 2017 a las 13:15
      Link permanente

      Ya encontré el fallo, faltaba por hacer un «cd /etc/apache2/ssl», y tras ubicarte en «ssl» ya ejecuto los comandos:
      openssl x509 -in owncloud.crt -text
      openssl x509 -in owncloud.key -text

      Y me muestra el contenido del certificado.
      Un saludo y gracias!

      Responder
      • 13 febrero, 2017 a las 10:28
        Link permanente

        Buenos días,

        Me alegro de que hayas podido encontrar el error. Espero que la entrada te haya servido de ayuda para poder poner en marcha tu proyecto. Pregúntanos cualquier otra duda que tengas ;)

        Saludos!

        Responder
  • 11 marzo, 2017 a las 02:07
    Link permanente

    Hola que tal.. Primero que nada felicitaciones por el tutorial…
    Necesito un poco de ayuda.. seguí todo al pie de letra y no puedo hacer que owncloud funcione..
    Estoy corriendo Ubuntu 16.04 x64 Server con Gnome en VirtualBox.
    Antes podía abrir la web de apache pero ahora ni eso.. Tengo todos los dominios creados en no-ip con el script para renovar funcionando también pero aun así nada de nada.
    Ya no se que hacer la verdad a ver si alguno de ustedes amablemente me puede sacar de este lio.
    Mil gracias de antemano..

    Responder
    • 18 marzo, 2017 a las 20:23
      Link permanente

      Hola Germán,

      Nos alegra mucho que te haya gustado el tutorial. En primer lugar, usar máquinas virtuales para desplegar OwnCloud puede tener una dificultad adicional para hacerlo funcionar. Para detectar dónde está el error te propongo hacer una serie de pruebas:
      – Comprueba que la máquina virtual tiene acceso a Internet (ping http://www.google.com)
      – Revisa que tu dominio en no-ip sigue activo, accediendo a la web de no-ip y comprobando la información sobre el dominio. Los dominios gratuitos de no-ip hay que renovarlos mensualmente, y en caso de no renovarlos los cancelan.
      – Accede a la configuración de red de tu máquina virtual en VirtualBox para ver qué tipo de adaptador de red tienes configurado. Deberías tener seleccionado un adaptador puente, pues es el que te permite obtener una dirección IP del rango de tu red doméstica. En el caso de que tengas configurado un adaptador NAT, te está creando una red privada nueva y te da una dirección IP de ese rango, siendo una red distinta a la que está conectado tu equipo físico Ubuntu.
      En este punto, comprueba que tras especificar el adaptador puente, tu interfaz de red tiene dirección IP, usando el comando «ifconfig». Comprueba que tienes acceso a internet, repitiendo el primer punto.
      – Si accedes desde la propia red local al dominio de no-ip no te funcionará correctamente. Compruébalo desde un equipo externo a la red, como por ejemplo el smartphone con los datos móviles activos.

      Si tras comprobar estos puntos te sigue sin funcionar, coméntanoslo y especifica el error que te aparece cuando accedes con tu navegador al dominio no-ip.

      Espero que con estos pasos puedas arreglar la situación. Saludos!

      Responder
      • 21 marzo, 2017 a las 14:14
        Link permanente

        Hola Sergio… desde ya muchísimas gracias por tu ayuda.
        Mira.. tengo todo en orden… y hasta he redoblado la apuesta al punto de descartar VirtualBox y montar un pc dedicado con una conexión de internet independiente y ya he probado he instalado Ubuntu Server, Ubuntu desktop, Kubuntu, Fedora y Apricity… y nada.. no puedo salir al mundo.
        En todos los casos salvo con Apricity (Arch Linux) pude instalar LAMP y NO-IP sin problemas y pude loguearme perfectamente en owncloud pero siempre como localhost.. pero desde afuera nada e nada… pero he te aquí, que me he dado cuenta de algo muy básico y que lo di como por sentado y lo he pasado por alto.. resulta que a pesar de tener Forwarding en el router y estando todos los puertos habidos y por haber súper abiertos y liberados, aún así, haciendo un scan de puertos por la web, aparecen todos los puertos como cerrados…. y la verdad, ya me superó…
        Llamé a la empresa y tengo varios reclamos hechos pero me aseguran que los puertos ya están abiertos y bueno estoy en punto muerto, porque son malos los antecedentes que preceden a este ISP y por otro lado, me queda la duda sobre si hay algo más que estaré haciendo mal en todo el procedimiento y no estoy pudiendo darme cuenta… la verdad no sé..
        Gracias Sergio nuevamente.. Saludos..

        Responder
  • Pingback: Configurar Raspbian por primera vez en Raspberry Pi 3 con seguridad - ¡Que viene IPv6!

  • 15 mayo, 2017 a las 12:14
    Link permanente

    Hola Sergio. Muchísimas gracias por este tutorial. Es seguramente el más completo y detallado que he encontrado para quedar corriendo owncloud sin problemas.
    Quería preguntarte algo viendo que no encuentro solución. Después de quedar onwcloud funcionando perfecto, apagué la raspberry por la noche y al encenderla esta mañana no puedo acceder en modo gráfico con usuario pi. Puedo perfectamente con root, y también por ssh. Estoy recién iniciándome en este mundo y lo máximo que he podido intuir es un fallo en la configuración de xorg en el usuario pi. ¿Podrías echarme una mano?¿Alguna forma de reconfigurarlo? Muchas gracias de antemano.

    Responder
  • 8 junio, 2017 a las 01:16
    Link permanente

    Hola Amigos,

    si edito el archivo config.php debo reinicar algun servicio para que este tome efectos ?

    estoy intentando que limitar el tiempo de los elemtos en basura y la retension de versiones en archivos pero no veo cambios en el server en cuanto al espacio.

    escribi las siguientes lineas espero esten correctas.

    ‘trashbin_retention_obligation’ => ‘auto,30’,
    ‘versions_retention_obligation’ => ‘auto,30’,

    saludos

    Responder
  • Pingback: Configurar Raspbian por primera vez en Raspberry Pi 3 con seguridad (Parte II) - ¡Que viene IPv6!

  • 14 abril, 2020 a las 02:24
    Link permanente

    . Configuración de MySQL

    Nuestro servidor ownCloud hará uso de una base de datos para indexar todos los ficheros que almacenamos. Es recomendable hacer uso de una base de datos MySQL, especialmente si vamos a usar el cliente de escritorio de sincronización. Instalamos MySQL:
    sudo apt-get install mysql-server
    sudo apt-get install php5-mysql
    1
    2

    sudo apt-get install mysql-server
    sudo apt-get install php5-mysql

    Aparecerá un asistente en el que se nos pedirá una contraseña para el usuario «root» de la base de datos.

    Una vez instalado, creamos una nueva base de datos para ownCloud:
    sudo mysql -u root -p

    *** Dentro de MySQL: ***
    CREATE USER ‘usuario’@’localhost’ IDENTIFIED BY ‘password’;
    CREATE DATABASE IF NOT EXISTS owncloud;
    GRANT ALL PRIVILEGES ON owncloud.* TO ‘usuario’@’localhost’ IDENTIFIED BY ‘password’;
    1
    2
    3
    4
    5
    6

    sudo mysql -u root -p

    *** Dentro de MySQL: ***
    CREATE USER ‘usuario’@’localhost’ IDENTIFIED BY ‘password’;
    CREATE DATABASE IF NOT EXISTS owncloud;
    GRANT ALL PRIVILEGES ON owncloud.* TO ‘usuario’@’localhost’ IDENTIFIED BY ‘password’;

    Así, hemos creado un usuario de la base de datos llamado «usuario» con contraseña «password», hemos creado una base de datos llamada «owncloud» y le hemos dado privilegios a ese usuario.

    Yo tengo el proble en esto no se si lo esto haciendo bien o no pero me da fallo y me pudieses ayudar te lo agradeceria
    muchisimo gracias

    Responder
  • 21 abril, 2020 a las 12:57
    Link permanente

    Hola. Gracias por el tutorial, quiero montar una nube personal y tengo una pequeña duda. La máquina que voy a montar, en cuanto al almacenamiento, la unidad que contendrá el sistema operativo será una ssd de 64Gb, y para el almacenamiento quiero montarle un disco rígido de 2TB de nas, y otro disco rígido de las mismas características para usarlo de respaldo. La pregunta es, con los directorios al instalar owncloud estarán en el mismo disco que el ubuntu server, ¿como puedo hacer que el alojamientod e owncloud esté en el disco rígido, y como hacer que ese disco haga copia de seguridad al otro? De antemano gracias.

    Responder

Deja un comentario