Nextcloud oficial manual

Instalación de nextcloud oficial

Ya hice la entrada de la instalación de nextcloud bajo los repositorios de Fedora, en esta entrada haremos la instalación manual de nextcloud desde la página web oficial.

Varias razones nos pueden llevar a esta decisión: puede que no os agrade la instalación de repositorios, queremos tener una instalación actualizada, hay un problema con los repositorios o incompatibilidad o simplemente, hemos cambiado de distribución o hacemos una instalación limpia.

Obviamente, la instalación es un poco más costosa, pero intentaremos resumirla y hacerla lo más sencilla posible.

En este caso la configuración será similar a la de repositorio, vamos a tener un directorio ( /var/www/nextcloud ) y una configuración apache ( https://192.168.100.241/nextcloud ) y aquí se alojará nuestro disco en la nube.

IMPORTANTE – antes de hacer la instalación, para evitar conflictos, si ya hicimos la instalación por repositorio, tenemos que desinstalarla.

sudo dnf remove nextcloud

Por seguridad, el mismo sistema guarda los ficheros de configuración cambiando la extensión y, al no borrar la base de datos, conservaremos los usuarios, contraseñas, grupos….

Ahora, hagamos la instalación, primero preparamos las dependencias (en el caso de ser una instalación nueva, también instalamos el servicio web y base de datos):

sudo dnf install @"Web Server" mariadb-server php-mysqlnd phpunit composer php-opcache php-pecl-imagick

Recordemos la instalación del servidor LAMP para configurar Apache y MariaDB. Y la creación de la base de datos en la siguiente entrada.

Descarga y extrae Nextcloud en el directorio /var/www:

cd /var/www
sudo wget https://download.nextcloud.com/server/releases/latest.tar.bz2
sudo tar -xvjf latest.tar.bz2

Creamos el directorio para los datos:

mkdir -p /var/www/nextcloud/data

Si tenemos activado el SELinux ( ya lo explicaré), debemos darle contexto al directorio y sus archivos:

semanage fcontext -a -t httpd_sys_rw_content_t '/var/www/nextcloud/data(/.*)?'
semanage fcontext -a -t httpd_sys_rw_content_t '/var/www/nextcloud/config(/.*)?'
semanage fcontext -a -t httpd_sys_rw_content_t '/var/www/nextcloud/apps(/.*)?'
semanage fcontext -a -t httpd_sys_rw_content_t '/var/www/nextcloud/data(/.*)?'
semanage fcontext -a -t httpd_sys_rw_content_t '/var/www/nextcloud/.htaccess'
semanage fcontext -a -t httpd_sys_rw_content_t '/var/www/nextcloud/.user.ini'
semanage fcontext -a -t httpd_sys_rw_content_t '/var/www/nextcloud/3rdparty/aws/aws-sdk-php/src/data/logs(/.*)?'

restorecon -Rv '/var/www/nextcloud/'

Y, por seguridad, damos los permisos al directorio:

sudo chown -R apache:apache /var/www/nextcloud
sudo chmod -R 770 /var/www/nextcloud

Seguimos con la configuración del archivo de host de Apache:

sudo nano /etc/httpd/conf.d/nextcloud.conf

Con el siguiente contenido:

Alias /nextcloud "/var/www/nextcloud/"
<Directory /var/www/nextcloud/>
  Options +FollowSymlinks
  AllowOverride All
  Require all granted
  <IfModule mod_dav.c>
    Dav off
  </IfModule>
  SetEnv HOME /var/www/nextcloud
  SetEnv HTTP_HOME /var/www/nextcloud
</Directory>
# Encabezados de seguridad para evitar ataques de inyección de contenido (XSS).
<IfModule mod_headers.c>
  Header set X-Content-Type-Options "nosniff"
  Header set X-Frame-Options "SAMEORIGIN"
  Header set X-XSS-Protection "1; mode=block"
  Header set X-Robots-Tag "none"
  Header set X-Download-Options "noopen"
  Header set X-Permitted-Cross-Domain-Policies "none"
  Header always set Strict-Transport-Security "max-age=15768000; includeSubDomains; preload"
</IfModule>

#Logs
ErrorLog "/var/log/httpd/nextcloud_error.log"
CustomLog "/var/log/httpd/nextcloud_access.log" combined

# Configuración de redireccionamiento 
Redirect 301 /.well-known/carddav https://192.168.100.241/nextcloud/remote.php/dav
Redirect 301 /.well-known/caldav https://192.168.100.241/nextcloud/remote.php/dav
Redirect 301 /.well-known/webfinger https://192.168.100.241/nextcloud/index.php/.well-known/webfinger
Redirect 301 /.well-known/nodeinfo https://192.168.100.241/nextcloud/index.php/.well-known/nodeinfo

Añado las últimas líneas de redireccionamiento de prevención a los servicios «DAV» de calendario o contactos.

Reiniciamos apache para que los cambios tengan efecto:

sudo systemctl restart httpd

Y accedemos a la página que reside nextcloud:

https://192.168.100.241/nextcloud

Y procedemos con la instalación.


Publicado

en

, , , ,

por