Instalar NextCloud 11 en Centos 7
Instalar NextCloud 11 en Centos 7 es muy sencillo además de que NextCloud es una solución parecida a Dropbox, Google Drive, para el intercambio de archivos auto-alojados y la sincronización. además se puede realizar copias de seguridad, sincronizar archivos o simplemente tener una alternativa de Google Calendar, esta guía es para usted.
¿Qué es NextCloud? ¿Es como una «nube»?
Si usted llegó aquí por casualidad y no sabe lo que es NextCloud, aquí hay un artículo explicando sus principales características y ventajas / desventajas. como consecuencia NextCloud es una nube SaaS, si quieres saber más acerca de los tipos de nubes puedes leer este artículo.
En este artículo Aprenderemos Instalar NextCloud 11 en Centos 7 en modo servidor (no del cliente).
Paso 1: Instalar el software
En primer lugar antes de instalar NextCloud 11 es instalar un servidor web y PHP. Puesto que CentOS 7 se entrega con PHP 5.4 de forma predeterminada, pero NextCloud 11 requiere al menos PHP 7, también instalaremos PHP 7.0 desde un repositorio de terceros. El siguiente procedimiento instalará apache como servidor web. ¡Introduzca los comandos uno a uno para evitar errores!
Si prefiere usar PHP 7.1, puede seguir este tutorial: Instalar y actualizar PHP 7.1 en CentOS 7. Si lo hace, reemplace cada instancia de php70w por php71w en los siguientes comandos.
Abra un terminal e introduzca los siguientes comandos:
1 2 3 |
# yum install epel-release # rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm # yum install httpd php70w php70w-dom php70w-mbstring php70w-gd php70w-pdo php70w-json php70w-xml php70w-zip php70w-curl php70w-mcrypt php70w-pear setroubleshoot-server |
Paso 2: Selección de base de datos
Finalmente como ya cuenta con el software, debes elegir una base de datos que soporte la instalación. Tienes tres opciones, aunque yo eligiría MYSQL:
- SQLite: es una base de datos de un solo archivo. Se sugiere sólo para instalaciones pequeñas ya que reducirá lentamente NextCloud.
- MariaDB / MySQL: son populares bases de datos de código abierto especialmente entre los desarrolladores web. Es la opción sugerida.
- PostgreSQL: Es un popular base de datos de clase empresarial. Sin embargo es más complicado que MySQL / MariaDB.
Ahora, esta opción no alterará realmente la funcionalidad de NextCloud (excepto si usas SQLite), así que elige lo que mejor sabes. Si no está seguro, seleccione MariaDB / MySQL.
MySQL/MariaDB
Instalar el software:
1 |
# yum install mariadb-server php70w-mysql |
Inicie (y active en el arranque) el servicio:
1 2 |
# systemctl start mariadb # systemctl enable mariadb |
El siguiente paso es configurar el sistema de gestión de bases de datos. Por lo tanto en la configuración se le pedirá que elija una contraseña de root, debido a la seguridad e integridad de sus dato elija siempre una fuerte.
1 |
# mysql_secure_installation |
1 |
$ mysql -u root -p |
1 |
CREATE DATABASE nextcloud; |
1 |
CREATE USER 'nc_user'@'localhost' IDENTIFIED BY 'YOUR_PASSWORD_HERE'; |
1 2 |
GRANT ALL PRIVILEGES ON nextcloud.* TO 'nc_user'@'localhost'; FLUSH PRIVILEGES; |
PostgreSQL
Instalar el software:
1 |
# yum install postgresql postgresql-server php70w-pgsql |
Ejecute la configuración:
1 |
# postgresql-setup initdb |
Inicie (y active en el arranque) el servicio:
1 2 |
# systemctl start postgresql # systemctl enable postgresql |
También es necesario ingresar la base de datos:
1 |
$ sudo -u postgres psql |
Por lo tanto ahora vamos a crear una base de datos:
1 |
CREATE DATABASE nextcloud; |
También se necesita crear el usuario que se utilizará para conectarse a la base de datos:
1 |
CREATE USER nc_user WITH PASSWORD 'YOUR_PASSWORD_HERE'; |
El último paso es conceder los privilegios al nuevo usuario:
1 |
GRANT ALL PRIVILEGES ON DATABASE nextcloud to nc_user; |
Cuando haya terminado, escriba \q y pulse enter para salir.
Advertencia: Puede experimentar dificultades en la autenticación de NextCloud con PostgreSQL, ya que el método de autenticación local se establece en ident por default. Si desea cambiarlo siga leyendo.
Por lo general el archivo de configuración de PostgreSQL es un archivo que se encuentra en /var/lib/pgsql/data/pg_hba.conf. Así que Ábralo con su editor favorito y busque la línea marcada:
1 2 3 4 5 6 7 8 9 10 11 12 13 |
# TYPE DATABASE USER ADDRESS METHOD # "local" is for Unix domain socket connections only local all all peer # IPv4 local connections: host all all 127.0.0.1/32 ident # IPv6 local connections: host all all ::1/128 ident # Allow replication connections from localhost, by a user with the # replication privilege. #local replication postgres peer #host replication postgres 127.0.0.1/32 ident #host replication postgres ::1/128 ident |
Reemplace ident con md5 en esa línea y reinicie PostgreSQL:
1 |
# systemctl restart postgresql |
En este punto, si ha seleccionado MySQL / MariaDB o PostgreSQL, reinicie el servidor web para cargar la nueva extensión PHP:
1 |
# systemctl restart httpd |
Paso 3: Instalar NextCloud
Ya para empezar a instalar el software es necesario contar el software y configurar Apache para ejecutarlo.
Así que descargamos el software y lo extraemos con los siguientes pasos:
1 2 3 4 5 6 |
# cd /var/www/html # curl -o nextcloud-11-latest.tar.bz2 https://download.nextcloud.com/server/releases/latest-11.tar.bz2 # tar -xvjf nextcloud-11-latest.tar.bz2 # mkdir nextcloud/data # chown -R apache:apache nextcloud # rm nextcloud-11-latest.tar.bz2 |
Ahora necesitamos crear un nuevo archivo en /etc/httpd/conf.d/nextcloud.conf Por lo tanto es libre de usar cualquier editor que se sienta cómodo y agregue las siguientes líneas:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
Alias /nextcloud "/var/www/html/nextcloud/" <Directory /var/www/html/nextcloud/> Options +FollowSymlinks AllowOverride All <IfModule mod_dav.c> Dav off </IfModule> SetEnv HOME /var/www/html/nextcloud SetEnv HTTP_HOME /var/www/html/nextcloud </Directory> |
Paso 4: Configuración de Apache y SELinux
Por tanto en este paso iniciaremos (y habilitaremos) el servidor web y estableceremos SELinux. Por lo que muchos tutoriales le dirán que desactive SELinux (porque es un componente difícil de gestionar). En su lugar, le sugiero que lo mantenga y agregue las reglas para NextCloud:
1 2 3 4 5 6 |
# 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' # restorecon -Rv '/var/www/html/nextcloud/' |
1 |
# setsebool -P httpd_can_network_connect_db 1 |
CentOS/RHEL 7
1 2 |
# systemctl start httpd # systemctl enable httpd |
Paso 5: Instalar
Por consiguiente se debe seleccionar la base de datos, de hecho es hora de instalar todo. Vaya a http://TU_DIRECCION_IP/nextcloud/ y se encontrará frente a la siguiente pantalla:
Seleccione un nombre de usuario y contraseña de administrador, a continuación, seleccione la carpeta de datos, si no sabe lo que está haciendo es mejor dejarlo con el valor predeterminado.
Finalmente haga clic en «Almacenamiento y base de datos» para seleccionar la base de datos que eligió durante el paso 2. Rellene todo y si ha seguido todos los pasos correctamente debería ver la aplicación Archivos: