Owncloud es un servicio que nos permite tener nuestra propia nube privada de almacenamiento que para su uso requiere de diferentes servicios, que durante este tutorial, veremos en que orden instalarlos.

1 Instalar Apache

Empezaremos instalando el servicio de Apache:

sudo apt-get install apache2

Una vez instalado Apache, desactivaremos los directorios que tiene configurados por defecto el servico:

sudo sed -i “s/Options Indexes FollowSymLinks/Options FollowSymLinks/” /etc/apache2/apache2.con

2 Instalar MariaDB

Apache es nuestro servicio web, pero también necesitamos unos de base de datos y para ello instalaremos el MariaDB:

sudo apt-get install mariadb-server

Cuando termine de instalarse, deberemos realizar la configuración inicial, que no arranca de forma automática, si no que deberemos lanzar el siguiente comando para inicie:

sudo mysql_secure_installation

Y deberemos contestar a las preguntas con las siguientes respuestas:

  • Enter current password for root (enter for none): Presiona Enter
  • Set root password?: Y
  • New password?: Tu contraseña
  • Re-enter new password: Repetir tu contraseña
  • Remove anonymous users?: Y
  • Disallow root login remotely?: Y
  • Remove test database and access to it?: Y
  • Reload privilege tables now?: Y

Una vez que terminemos el cuestionario, reiniciaremos el servicio de la base de datos para que se apliquen los cambios:

sudo service mariadb restart

3 Instalar PHP

Ahora pasaremos a instalar el servicio que permitira comunicar el servicio web con el servicio de bases de datos, para ello instalaremos PHP, y necesitaremos añadir un nuevo repositorio para instalarlo:

sudo add-apt-repository ppa:ondrej/php

Cuando hayamos añadido el repositorio pasaremos a instalar el servicio de php en su version 7.1 y los diferentes modulos que necesita Owncloud:

sudo apt-get install php7.1 libapache2-mod-php7.1 php7.1-common php7.1-mbstring php7.1-xmlrpc php7.1-soap php7.1-apcu php7.1-smbclient php7.1-ldap php7.1-redis php7.1-gd php7.1-xml php7.1-intl php7.1-json php7.1-imagick php7.1-mysql php7.1-cli php7.1-mcrypt php7.1-zip php7.1-curl

4 Crear la base de datos para Owncloud

Pasaremos a crear la base de datos que usara el servicio de Owncloud, para ello, primero nos conectaremos al servidor de mariadb:

sudo mysql -u root -p

Crearemos la base de datos que se llamara owncloud:

CREATE DATABASE owncloud;

Crearemos un usuario en la base de datos que se llamara ownclouduser y con su contraseña:

CREATE USER ‘ownclouduser’@’localhost’ IDENTIFIED BY ‘tu_nueva_contraseña’;

Y a este usuario le daremos acceso completo a la base de datos:

GRANT ALL ON owncloud.* TO ‘owncloud’@localhost’ IDENTIFIED BY ‘tu_nueva_contraseña’ WITH GRANT OPTION

Guardaremos lo cambios y saldremos:

FLUSH PRIVILEGES;

EXIT;

5 Descargar Owncloud

Descargaremos OwnCloud:

cd /tmp && wget https://download.owncloud.org/community/owncloud-10.0.9.zip

Descomprimimos el archive:

Unzip owncloud-10.0.9.zip

Y ahora moveremos los archivos al directorio /var/www/html/owncloud

sudo mv owncloud /var/www/html/owncloud

Después le daremos permisos a ese directorio

sudo chown -R www-data:www-data /var/www/html/owncloud/

sudo chmod -R 755 /var/www/html/owncloud/

6 Configurar Apache

Ahora pasaremos a crear un sitio de configuración del sitio:

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

Y contendrá lo siguiente:

<VirtualHost *:80>
    ServerAdmin admin@ejemplo.com
    DocumentRoot /var/www/html/owncloud/
    ServerName ejemplo.com
    ServerAlias www.ejemplo.com
    Alias /owncloud “/var/www/html/owncloud/”

    <Directory /var/www/html/owncloud/>
        Options +FollowSymlinks
        AllowOverride All
        Require all granted
        <IfModule mod_dav.c>
            Dav off
        </IfModule>
        SetEnv HOME /var/www/html/owncloud
        SetEnv HTTP_HOME /var/www/html/owncloud
    </Directory>

    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

Guardaremos el archivo y saldremos.

7 Activar Owncloud

Nos acercamos al final para tener en funcionamiento nuestra nube privada con Owncloud, asique pasaremo a activar el sitio web y activar los diferentes module de los que se compone con esta secuencia de comando:

sudo a2ensite owncloud.conf

sudo a2enmod rewrite

sudo a2enmod headers

sudo a2enmod env

sudo a2enmod dir

sudo a2enmod mine

Una vez activados reiniciaremos el servicio de apache:

sudo service apache2 restart

Ahora desde un navegador accederemos la URL que le hemos dado antes:

www.example.com

Y estableceremos la configuración:

Durante 1 minuto aproximadamente se quedará pensando mientras se configura y una vez que termine iniciaremos sesión y habremos terminado: