Cómo instalar NextCloud en Debian 10

Iniciar sesión en NextCloud

NextCloud es un servidor de alojamiento y uso compartido de archivos gratuito y de código abierto derivado del proyecto ownCloud. Es muy similar a otros servicios para compartir archivos como Google Drive, Dropbox e iCloud. NextCloud le permite almacenar archivos, documentos, imágenes, películas y videos desde la ubicación central. Con NextCloud, puede compartir archivos, contactos y cualquier otro medio con sus amigos y clientes. NextCloud se integra con el correo, el calendario, los contactos y otras funciones que ayudarán a sus equipos a realizar su trabajo de forma más rápida y sencilla. Puede instalar el cliente NextCloud en una máquina de escritorio para sincronizar archivos con su servidor Nextcloud. Los clientes de escritorio están disponibles para la mayoría de los sistemas operativos, incluidos Windows, macOS, FreeBSD y Linux.

En este tutorial, explicaremos c√≥mo instalar NextCloud y asegurarlo con Let’s Encrypt SSL en Debian 10.

requisitos previos

  • Un servidor que ejecuta Debian 10.
  • Un nombre de dominio v√°lido apuntado con la IP de su servidor. en este tutorial, usaremos el dominio nextcloud.example.com.
  • Una contrase√Īa de root est√° configurada en su servidor.

Instalar Apache, MariaDB y PHP

NextCloud se ejecuta en el servidor web, est√° escrito en PHP y usa MariaDB para almacenar sus datos. Por lo tanto, deber√° instalar Apache, MariaDB, PHP y otros paquetes necesarios en su sistema. Puede instalarlos todos ejecutando el siguiente comando:

apt-get install apache2 libapache2-mod-php mariadb-server php-xml php-cli php-cgi php-mysql php-mbstring php-gd php-curl php-zip wget unzip -y

Una vez que todos los paquetes estén instalados, abra el archivo php.ini y modifique algunas configuraciones recomendadas:

nano /etc/php/7.3/apache2/php.ini

Cambie las siguientes configuraciones:

memory_limit = 512M
upload_max_filesize = 500M
post_max_size = 500M
max_execution_time = 300
date.timezone = Asia/Kolkata

Guarde y cierre el archivo cuando haya terminado. Luego, inicie el servicio Apache y MariaDB y habilítelos para que se inicien después de reiniciar el sistema con el siguiente comando:

systemctl start apache2
systemctl start mariadb
systemctl enable apache2
systemctl enable mariadb

Una vez que haya terminado, puede continuar con el siguiente paso.

Configurar base de datos para NextCloud

A continuación, deberá crear una base de datos y un usuario de base de datos para NextCloud. Para hacerlo, inicie sesión en el shell de MariaDB con el siguiente comando:

mysql -u root -p

Proporcione su contrase√Īa de root cuando se le solicite, luego cree una base de datos y un usuario con el siguiente comando:

MariaDB [(none)]> CREATE DATABASE nextclouddb;
MariaDB [(none)]> CREATE USER 'nextclouduser'@'localhost' IDENTIFIED BY 'password';

A continuación, otorgue todos los privilegios a nextclouddb con el siguiente comando:

MariaDB [(none)]> GRANT ALL ON nextclouddb.* TO 'nextclouduser'@'localhost';

A continuación, elimine los privilegios y salga del shell de MariaDB con el siguiente comando:

MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> EXIT;

Una vez que haya terminado, puede continuar con el siguiente paso.

Descargar NextCloud

Primero, visite la p√°gina de descarga de NextCloud y descargue la √ļltima versi√≥n de NextCloud en su sistema. Al momento de escribir este art√≠culo, la √ļltima versi√≥n de NextCloud es 17.0.1. Puedes descargarlo con el siguiente comando:

wget https://download.nextcloud.com/server/releases/nextcloud-17.0.1.zip

Una vez completada la descarga, descomprima el archivo descargado con el siguiente comando:

unzip nextcloud-17.0.1.zip

A continuación, mueva el directorio extraído al directorio raíz web de Apache:

mv nextcloud /var/www/html/

A continuación, otorgue los permisos adecuados al directorio nextcloud con el siguiente comando:

chown -R www-data:www-data /var/www/html/nextcloud/
chmod -R 755 /var/www/html/nextcloud/

Una vez que haya terminado, puede continuar con el siguiente paso.

Configurar Apache para NextCloud

A continuación, deberá crear un archivo de configuración de host virtual de Apache para servir a NextCloud. Puedes crearlo con el siguiente comando:

nano /etc/apache2/sites-available/nextcloud.conf

Agregue las siguientes líneas:

<VirtualHost *:80>
     ServerAdmin [email protected]
     DocumentRoot /var/www/html/nextcloud/
     ServerName nextcloud.example.com

     Alias /nextcloud "/var/www/html/nextcloud/"

     <Directory /var/www/html/nextcloud/>
        Options +FollowSymlinks
        AllowOverride All
        Require all granted
          <IfModule mod_dav.c>
            Dav off
          </IfModule>
        SetEnv HOME /var/www/html/nextcloud
        SetEnv HTTP_HOME /var/www/html/nextcloud
     </Directory>

     ErrorLog ${APACHE_LOG_DIR}/error.log
     CustomLog ${APACHE_LOG_DIR}/access.log combined

</VirtualHost>

Guarde y cierre el archivo cuando haya terminado. Luego, habilite el archivo de host virtual de Apache y otros módulos requeridos usando los siguientes comandos:

a2ensite nextcloud.conf
a2enmod rewrite
a2enmod headers
a2enmod env
a2enmod dir
a2enmod mime

Finalmente, reinicie el servicio de Apache para aplicar la nueva configuración:

systemctl restart apache2

Proteja NextCloud con Let’s Encrypt Free SSL

NextCloud ahora est√° instalado y configurado. A continuaci√≥n, se recomienda protegerlo con SSL gratuito de Let’s Encrypt. Para hacerlo, primero instale el cliente Certbot con el siguiente comando:

apt-get install python-certbot-apache -y

Una vez instalado, puede ejecutar el siguiente comando para instalar el certificado Let’s Encrypt para su dominio nextcloud.example.com.

certbot --apache -d nextcloud.example.com

Durante la instalación, se le pedirá que proporcione su dirección de correo electrónico y acepte el término del servicio como se muestra a continuación:

Saving debug log to /var/log/letsencrypt/letsencrypt.log
Plugins selected: Authenticator apache, Installer apache
Enter email address (used for urgent renewal and security notices) (Enter 'c' to
cancel): [email protected]

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Please read the Terms of Service at
https://letsencrypt.org/documents/LE-SA-v1.2-November-15-2017.pdf. You must
agree in order to register with the ACME server at
https://acme-v02.api.letsencrypt.org/directory
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
(A)gree/(C)ancel: A

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Would you be willing to share your email address with the Electronic Frontier
Foundation, a founding partner of the Let's Encrypt project and the non-profit
organization that develops Certbot? We'd like to send you email about our work
encrypting the web, EFF news, campaigns, and ways to support digital freedom.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
(Y)es/(N)o: Y
Obtaining a new certificate
Performing the following challenges:
http-01 challenge for nextcloud.example.com
Enabled Apache rewrite module
Waiting for verification...
Cleaning up challenges
Created an SSL vhost at /etc/apache2/sites-available/nextcloud-le-ssl.conf
Deploying Certificate to VirtualHost /etc/apache2/sites-available/nextcloud-le-ssl.conf
Enabling available site: /etc/apache2/sites-available/nextcloud-le-ssl.conf

Please choose whether or not to redirect HTTP traffic to HTTPS, removing HTTP access.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
1: No redirect - Make no further changes to the webserver configuration.
2: Redirect - Make all requests redirect to secure HTTPS access. Choose this for
new sites, or if you're confident your site works on HTTPS. You can undo this
change by editing your web server's configuration.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Select the appropriate number [1-2] then [enter] (press 'c' to cancel): 2

Luego, escriba 2 y presione Enter para descargar e instalar un certificado SSL gratuito para su dominio. Una vez que la instalación se haya completado con éxito. Debería obtener el siguiente resultado: Anuncio

Enabled Apache rewrite module
Redirecting vhost in /etc/apache2/sites-enabled/nextcloud.conf to ssl vhost in /etc/apache2/sites-available/
nextcloud-le-ssl.conf

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Congratulations! You have successfully enabled https://nextcloud.example.com

You should test your configuration at:
https://www.ssllabs.com/ssltest/analyze.html?d=nextcloud.example.com
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
IMPORTANT NOTES:
- Congratulations! Your certificate and chain have been saved at:
/etc/letsencrypt/live/example.com/fullchain.pem
Your key file has been saved at:
/etc/letsencrypt/live/example.com/privkey.pem
Your cert will expire on 2019-10-22. To obtain a new or tweaked
version of this certificate in the future, simply run certbot again
with the "certonly" option. To non-interactively renew *all* of
your certificates, run "certbot renew"
- Your account credentials have been saved in your Certbot
configuration directory at /etc/letsencrypt. You should make a
secure backup of this folder now. This configuration directory will
also contain certificates and private keys obtained by Certbot so
making regular backups of this folder is ideal.
- If you like Certbot, please consider supporting our work by:
Donating to ISRG / Let's Encrypt: https://letsencrypt.org/donate
Donating to EFF: https://eff.org/donate-le

Una vez que haya terminado, puede continuar con el siguiente paso.

Acceda a la interfaz web de NextCloud

Su NextCloud ahora est√° configurado y protegido con Let’s Encrypt SSL. A continuaci√≥n, abra su navegador web y escriba la URL https://nextcloud.ejemplo.com. Ser√° redirigido a la siguiente p√°gina:

Iniciar sesión en NextCloud

Configurar la base de datos

Ahora, proporcione su nombre de usuario y contrase√Īa de administrador, la carpeta de datos, las credenciales de la base de datos correcta y haga clic en el Finalizar configuraci√≥n bot√≥n. Ser√° redirigido al tablero de NextCloud en la siguiente p√°gina:

Panel de NextCloud

Eso es todo por ahora.

Conclusión

¬°Felicidades! Ha instalado y protegido correctamente NextCloud con Let’s Encrypt Free SSL en Debian 10. Ahora puede compartir f√°cilmente archivos, documentos y medios con otros usuarios mediante la interfaz web de NextCloud.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *