Instalación de OwnCloud en Debian

De Manuais Informática - IES San Clemente.
Ir a la navegación Ir a la búsqueda
  • Nesta sección veremos os pasos para instalar ownCloud sobre unha máquina Debian.


Configuración da máquina Debian

  • O que imos facer é crear unha nova máquina dserver01 a partir de dbase, seguindo os mesmos pasos indicados para Crear e configurar dserver00 pero cambiando os seguintes datos:
    • Dirección IP: 172.16.5.11
    • Servidor de DNS: 172.16.5.10
    • Nome do equipo: dserver01
  • E engadimos no reenvío de portos da rede NAT en VirtualBox un reenvío para acceder a esta máquina por ssh, e por https, como se ve na imaxe:
Dl owncloud install 01.png
  • Tamén sería posible, se o lector o prefire, usar a mesma máquina dserver00 para instalar ownCloud. Os pasos a seguir para a instalación e a configuración serían os mesmos.

Instalación de Owncloud

  • A instalación máis sinxela pola que podemos optar é facendo uso do paquete de ownCloud xa preparado para Debian 8 (na web de ownCloud tamén podemos atopar repositorios para outras distribucións de Linux).
  • Este paquete non está incluído nos repositorios de Debian, pero a comunidade de ownCloud ofrece un repositorio que inclúe os paquetes de ownCloud para a meirande parte das distribucións de Linux. Así que primeiro teremos que engadir o repositorio que inclúe o paquete.
  • Introduciremos os seguintes comandos:
wget -nv https://download.owncloud.org/download/repositories/production/Debian_9.0/Release.key -O Release.key
apt-key add - < Release.key
echo 'deb http://download.owncloud.org/download/repositories/production/Debian_9.0/ /' > /etc/apt/sources.list.d/owncloud.list
apt-get update
  • Agora xa podemos instalar o paquete owncloud-files. Ademais, imos instalar os paquetes apache2 (o servidor web) sqlite (o xestor de base de datos), as librarías de php, smbclient e cifs-utils (para poder acceder ás carpetas compartidas por CIFS):
apt-get install owncloud-files apache2 sqlite libapache2-mod-php7.0 php7.0-ldap php7.0-gd php7.0-json php7.0-mysql php7.0-curl php7.0-intl php7.0-mcrypt php-imagick php7.0-zip php7.0-xml php7.0-mbstring php7.0-sqlite smbclient cifs-utils

Configuración de Apache

Creamos o ficheiro /etc/apache2/sites-available/owncloud.conf co seguinte contido:

Alias /owncloud "/var/www/owncloud/"

<Directory /var/www/owncloud/>
  Options +FollowSymlinks
  AllowOverride All

 <IfModule mod_dav.c>
  Dav off
 </IfModule>

 SetEnv HOME /var/www/owncloud
 SetEnv HTTP_HOME /var/www/owncloud

</Directory>

E creamos o link:

ln -s /etc/apache2/sites-available/owncloud.conf /etc/apache2/sites-enabled/owncloud.conf

Habilitamos


a2enmod rewrite
a2enmod headers
a2enmod env
a2enmod dir
a2enmod mime


Configuración da conexión HTTPS

  • Aínda que non é imprescindible, e máis que recomendable que as conexións que fagamos ao ownCloud dende os clientes sexa sempre por protocolo seguro (HTTPS), xa que:
    • Para iniciar sesión, os usuarios terán que introducir o seu contrasinal. Seguramente non queiramos que estes contrasinais sexan transmitidos en claro pola rede, xa que quedaría moi comprometida a súa seguridade.
    • A través de ownCloud, os usuarios accederán a carpetas persoais con documentos privados. Se a transmisión destes documentos se fai por HTTP, calquera podería capturar o seu contido.
  • Por iso imos configurar o servidor web Apache para que permita as conexións por HTTPS. Para facelo precisaremos contar con un certificado dixital que se utilizará para cifrar a comunicación. A opción máis sinxela é xerar un certificado autoasinado, xa que así non temos que crear unha Autoridade de Certificación ou CA (recórdese que no apartado de Autenticación segura contra o LDAP. Uso de TLS/SSL: LDAPS xa se explicou o proceso de creación dunha CA e a xestión e uso dos certificados dixitais):
  • Instalamos o paquete openssl:
apt-get install openssl
  • Creamos un certificado autoasinado para Apache, e colocamos na carpeta /etc/ssl/localcerts tanto o certificado como a chave privada asociada ao mesmo:
root@dserver01:~# mkdir -p /etc/ssl/localcerts


root@dserver01:~# openssl req -new -x509 -days 365 -nodes -out /etc/ssl/localcerts/apache.pem -keyout /etc/ssl/localcerts/apache.key
Generating a 2048 bit RSA private key
................................+++
..............................+++
writing new private key to '/etc/ssl/localcerts/apache.key'
-----
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [AU]:ES
State or Province Name (full name) [Some-State]:Galicia
Locality Name (eg, city) []:Vigo
Organization Name (eg, company) [Internet Widgits Pty Ltd]:IES Calquera
Organizational Unit Name (eg, section) []:Dep Informatica
Common Name (e.g. server FQDN or YOUR name) []:www.iescalquera.local
Email Address []:admin@iescalquera.local


root@dserver01:~# chmod 600 /etc/ssl/localcerts/apache*
  • Habilitamos o módulo de SSL para Apache:
a2enmod ssl
  • Editamos o ficheiro /etc/apache2/sites-available/default-ssl.conf, para modificar as liñas que establecer os parámetros SSLCertificateFile e SSLCertificateKeyFile (nos que indicaremos o ficheiro que contén o certificado e a chave privada):
SSLCertificateFile /etc/ssl/localcerts/apache.pem
SSLCertificateKeyFile /etc/ssl/localcerts/apache.key
  • Habilitamos o sitio defautl-ssl, que é o que permite as conexións HTTPS no servidor:
a2ensite default-ssl
  • Reiniciamos o servizo apache para aplicar os cambios:
systemctl restart apache2

Finalizar a configuración de Owncloud

  • Neste momento xa estamos en disposición de conectarnos a ownCloud por HTTPS.
  • Ímolo facer dende a máquina real, utilizando o porto 10028 que está redirixido ao porto 443 da máquina que executa ownCloud. Tamén poderíamos conectarnos dende wclient01 ou uclient01, pero nese caso usando a dirección https://172.16.5.11/owncloud.


-- Antonio de Andrés Lema e Carlos Carrión Álvarez