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/owncloudsudo 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:
