Nextcloud es una bifurcación del proyecto Owncloud. De hecho muchas similitudes encontraremos entre ellas. Personalmente tengo en producción un servidor con Owncloudy esta vez he querido probar Nextcloud. Así que hoy les enseñaremos a Instalarlo de forma básica. Digo esto por que en un entorno profesional se debe tener cuidado con la seguridad.

Instalación

Comenzamos primero con una instalación básica de CentOS7. Luego instalaremos algunas dependencias y mantendremos el sistema con las últimas actualizaciones.

yum install -y epel-release yum-utils unzip curl wget \
bash-completion policycoreutils-python mlocate bzip2

Ahora mantendremos el sistema con las últimas actualizaciones

yum update -y

Lo siguiente es Instalar Apache

yum install -y httpd
systemctl enable httpd.service
systemctl start httpd.service

Instalamos PHP

yum install -y centos-release-scl
yum install -y rh-php72 rh-php72-php rh-php72-php-gd rh-php72-php-mbstring \
rh-php72-php-intl rh-php72-php-pecl-apcu rh-php72-php-mysqlnd rh-php72-php-pecl-redis \
rh-php72-php-opcache rh-php72-php-imagick

Ahora crearemos enlaces simbólicos

ln -s /opt/rh/httpd24/root/etc/httpd/conf.d/rh-php72-php.conf /etc/httpd/conf.d/
ln -s /opt/rh/httpd24/root/etc/httpd/conf.modules.d/15-rh-php72-php.conf /etc/httpd/conf.modules.d/
ln -s /opt/rh/httpd24/root/etc/httpd/modules/librh-php72-php7.so /etc/httpd/modules/
ln -s /opt/rh/rh-php72/root/bin/php /usr/bin/php

Configurar Base de datos con MariaDB

Ya en otro enlace hable sobre la instalación de MaríaDB, Por ahora solo incluiré la configuración de la creación de la BD.

$ mysql -u root -p
CREATE USER 'nextcloud'@'localhost' IDENTIFIED BY "StrongPassword";
CREATE DATABASE nextcloud;
GRANT ALL PRIVILEGES ON nextcloud.* TO 'nextcloud'@'localhost';
FLUSH PRIVILEGES;
QUIT

Instalar Nextcloud

sudo yum -y install wget unzip
wget https://download.nextcloud.com/server/releases/latest-17.zip

Desempaquetamos y eliminamos el empequetado descargado

unzip latest-16.zip
rm -f latest-16.zip

Al desempaquetar se crea una carpeta llamada nextcloud la cual moveremos hacia la ruta de Apache /var/html

sudo mv nextcloud/ /var/www/html/

Luego vcreamos la carpeta data dentro de la carpeta nextcloud y asignamos permisos a apache.

sudo mkdir /var/www/html/nextcloud/data
sudo chown apache:apache -R /var/www/html/nextcloud/

Reiniciamos apache para que surta efecto.

systemctl restart httpd.service

Crear reglas de Firewall

firewall-cmd --zone=public --add-service=http --permanent
firewall-cmd --reload

Crear reglas de SELinux

Hay que ejecutar los siguientes comandos para permitir reglas en SELinux.

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

restorecon -R '/var/www/html/nextcloud/'

setsebool -P httpd_can_network_connect on

Configuración Apache

Tengo una entrada de como configurar Aapache para virtualHost que es básicamente lo que haremos aquí, te invito a verlo.

vim /etc/httpd/sites-available/nextcloud.conf
Alias /nextcloud "/var/www/nextcloud/"

<Directory /var/www/nextcloud/>
  Require all granted
  Options FollowSymlinks MultiViews
  AllowOverride All

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

 SetEnv HOME /var/www/nextcloud
 SetEnv HTTP_HOME /var/www/nextcloud

</Directory>

Creamos el fichero .conf dentro de la ruta: /etc/httpd/conf.d/nextcloud.conf

vim /etc/httpd/conf.d/nextcloud.conf
<VirtualHost *:80>
  DocumentRoot /var/www/nextcloud/
  ServerName  tu.server.com

  <Directory "/var/www/nextcloud/">
    Require all granted
    AllowOverride All
    Options FollowSymLinks MultiViews

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

  </Directory>
</VirtualHost>
sudo systemctl enable --now httpd 

Configuramos el Firewall

sudo firewall-cmd --add-service={http,https} --permanent
sudo firewall-cmd --reload

Con esto estamos culminando la instalación. Te invito a ver mi video en YouTube con mayo9r detalle del proceso de instalación.

Si esto te gusto te invito a que te suscribas al Blog, YouTube e instagram. Dejarme un comentario para mejorar las entradas.

Enlaces:

Background vector created by freepik – www.freepik.com

Donaciones

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión /  Cambiar )

Google photo

Estás comentando usando tu cuenta de Google. Cerrar sesión /  Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión /  Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión /  Cambiar )

Conectando a %s

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios .