GNU/Linux >> Tutoriales Linux >  >> Ubuntu

Cómo instalar y configurar NextCloud en Ubuntu 20.04 y LEMP

Nextcloud es una suite de código abierto de software cliente-servidor para crear y utilizar servicios de alojamiento de archivos. Es una solución gratuita de almacenamiento en la nube autoalojada similar a Dropbox, Google Drive, etc. Con Nextcloud, no tiene que preocuparse por las alternativas costosas y, dado que alojará sus propios archivos, no tiene que preocuparse. sobre la privacidad o que alguien recopile sus datos.

NextCloud se puede instalar en un servidor doméstico privado o en un servidor privado virtual en la nube. Luego, los archivos se pueden cargar y luego sincronizar con una computadora de escritorio local, una computadora portátil o incluso un teléfono inteligente. De esta manera usted tiene el control total de sus datos.

Características de NextCloud

  • NextCloud tiene clientes de sincronización para Linux, Mac OS, Windows, Android e IOS
  • Cifrado de extremo a extremo:los archivos se cifran mientras se cargan en el servidor
  • NextCloud es gratuito y de código abierto
  • Se puede integrar con una suite ofimática en línea (Collobora, OnlyOffice) para que pueda crear y editar sus archivos doc, ppt, xls directamente desde NextCloud.
  • La tienda de aplicaciones contiene cientos de aplicaciones para ampliar la funcionalidad (como la aplicación de calendario, la aplicación para tomar notas, la aplicación de videoconferencia, etc.).

Contenido relacionado

  • Cómo instalar y configurar PHP y Nginx (LEMP) en Ubuntu 20.04
  • Cómo instalar y configurar NextCloud en Debian 11 y LEMP
  • Cómo instalar y configurar NextCloud en Centos 8 y LEMP
  • Cómo instalar y configurar Mariadb 10 en Ubuntu 20.04
  • Cómo instalar y configurar mysql 8 en Ubuntu 20.04
  • Cómo instalar y configurar PHP y Nginx (LEMP) en Debian 11

Requisitos

Para seguir esta guía, asegúrese de tener:

  • Un servidor Ubuntu 20.04 actualizado
  • Acceso a Internet desde el servidor
  • Acceso raíz desde el servidor o usuario con acceso sudo

Tabla de contenido

  1. Asegúrese de que los paquetes del servidor estén actualizados
  2. Instalación de Mariadb 10 en Ubuntu 20.04
  3. Creando usuario mysql para NextCloud
  4. Instalación de PHP en Ubuntu 20.04
  5. Instalación de Nginx en Ubuntu 20.04
  6. Descargar y configurar Nextcloud
  7. Configure Nginx para servir a NextCloud desde un host virtual
  8. Actualizar la configuración de PHP
  9. Acceso a Nextcloud desde la URL web

1. Asegúrese de que los paquetes del servidor estén actualizados

Asegurémonos de que nuestros paquetes de servidor estén actualizados con este comando:

sudo apt update
sudo apt -y upgrade

Mientras lo hacemos, también instalemos algunas dependencias que necesitaremos

sudo apt install -y unzip vim

2. Instalación de Mariadb en Ubuntu 20.04

Mariadb es un popular sistema de gestión relacional de código abierto. Está disponible en los repositorios predeterminados como mariadb-server .

Instálelo con este comando:

sudo apt install -y mariadb-server

Mariadb se instalará e iniciará de forma predeterminada en Ubuntu 20.04. Verifique el estado con esto

$ sudo systemctl status mariadb
● mariadb.service - MariaDB 10.3.32 database server
     Loaded: loaded (/lib/systemd/system/mariadb.service; enabled; vendor preset: enabled)
     Active: active (running) since Wed 2021-12-15 08:40:15 UTC; 6min ago
       Docs: man:mysqld(8)
             https://mariadb.com/kb/en/library/systemd/
    Process: 47484 ExecStartPre=/usr/bin/install -m 755 -o mysql -g root -d /var/run/mysqld (code=exited, status=0/SUCCESS)
    Process: 47485 ExecStartPre=/bin/sh -c systemctl unset-environment _WSREP_START_POSITION (code=exited, status=0/SUCCESS)
    Process: 47487 ExecStartPre=/bin/sh -c [ ! -e /usr/bin/galera_recovery ] && VAR= ||   VAR=`cd /usr/bin/..; /usr/bin/galera_recovery`; [ $? -eq 0 ]   && systemctl set-environment _WSREP_START_POSITION=$VAR || exit 1 (cod>
    Process: 47566 ExecStartPost=/bin/sh -c systemctl unset-environment _WSREP_START_POSITION (code=exited, status=0/SUCCESS)
    Process: 47568 ExecStartPost=/etc/mysql/debian-start (code=exited, status=0/SUCCESS)
   Main PID: 47534 (mysqld)
     Status: "Taking your SQL requests now..."
      Tasks: 30 (limit: 4631)
     Memory: 62.7M
     CGroup: /system.slice/mariadb.service
             └─47534 /usr/sbin/mysqld

Dec 15 08:40:15 ip-10-2-40-248 systemd[1]: Starting MariaDB 10.3.32 database server...
Dec 15 08:40:15 ip-10-2-40-248 mysqld[47534]: 2021-12-15  8:40:15 0 [Note] /usr/sbin/mysqld (mysqld 10.3.32-MariaDB-0ubuntu0.20.04.1) starting as process 47534 ...
Dec 15 08:40:15 ip-10-2-40-248 systemd[1]: Started MariaDB 10.3.32 database server.
Dec 15 08:40:15 ip-10-2-40-248 /etc/mysql/debian-start[47573]: Looking for 'mysql' as: /usr/bin/mysql
Dec 15 08:40:15 ip-10-2-40-248 /etc/mysql/debian-start[47573]: Looking for 'mysqlcheck' as: /usr/bin/mysqlcheck
Dec 15 08:40:15 ip-10-2-40-248 /etc/mysql/debian-start[47573]: This installation of MySQL is already upgraded to 10.3.32-MariaDB, use --force if you still need to run mysql_upgrade
Dec 15 08:40:15 ip-10-2-40-248 /etc/mysql/debian-start[47581]: Checking for insecure root accounts.

Para asegurarse de que mariadb se inicie en el arranque, habilítelo con este comando systemd:

sudo systemctl enable mariadb

Una vez que el servicio mysql se está ejecutando, debe protegerlo. Mysql proporciona una utilidad de línea de comandos que hará eso:

sudo mysql_secure_installation

El comando anterior lo llevará a través de indicaciones para asegurar y establecer una contraseña de root para la instancia de mysql.

Consulte más información sobre la instalación y configuración de mariadb en esta guía aquí.

3. Creando usuario mysql para NextCloud

Siempre se recomienda tener un usuario dedicado para cada aplicación que se conecta a la base de datos. Consulte esta guía sobre cómo administrar los permisos de mysql aquí. Configuraremos una base de datos, un usuario y una contraseña para que los use nextcloud:

Conéctese al servidor mysql:

mysql -u root -p

Después de proporcionar su contraseña, ingrese lo siguiente en el indicador de mysql:

create database nextcloud;
create user 'nextcloud_user'@'%' identified by 'S0mStrongPa$$word';
grant all privileges on nextcloud.* to 'nextcloud_user'@'%';

Ahora que hemos configurado nuestra conexión mysql, pasemos a la siguiente sección donde instalamos y configuramos PHP y Nginx.

4. Instalación de PHP 7.4 en Ubuntu 20/04

NextCloud funciona bien con PHP 7.4. Esta versión está disponible en los repositorios predeterminados de Ubuntu.

Luego instale php y dependencias

sudo apt install -y \
  php \
  php-gd \
  php-curl \
  php-zip \
  php-dom \
  php-xml \
  php-simplexml \
  php-mbstring \
  php-intl \
  php-json \
  php-fpm

Para obtener más información sobre cómo configurar PHP y Nginx, consulte esta guía aquí.

5. Instalación de Nginx en Ubuntu 20.04

A continuación, instalemos Nginx en nuestro sistema. Use este comando para instalar nginx

sudo apt install -y nginx

Nginx se iniciará de forma predeterminada. Verifique el estado usando este comando:

$ sudo systemctl status nginx
● nginx.service - A high performance web server and a reverse proxy server
     Loaded: loaded (/lib/systemd/system/nginx.service; enabled; vendor preset: enabled)
     Active: active (running) since Sat 2021-12-11 14:42:39 UTC; 29s ago
       Docs: man:nginx(8)
    Process: 13698 ExecStartPre=/usr/sbin/nginx -t -q -g daemon on; master_process on; (code=exited, status=0/SUCCESS)
    Process: 13699 ExecStart=/usr/sbin/nginx -g daemon on; master_process on; (code=exited, status=0/SUCCESS)
   Main PID: 13780 (nginx)
      Tasks: 3 (limit: 4626)
     Memory: 3.1M
        CPU: 24ms
     CGroup: /system.slice/nginx.service
             ├─13780 nginx: master process /usr/sbin/nginx -g daemon on; master_process on;
             ├─13783 nginx: worker process
             └─13784 nginx: worker process

Dec 11 14:42:39 ip-10-2-40-145 systemd[1]: Starting A high performance web server and a reverse proxy server...
Dec 11 14:42:39 ip-10-2-40-145 systemd[1]: Started A high performance web server and a reverse proxy server.

Active: active (running) indicar que el servicio ya está en funcionamiento.

Para habilitar el servicio en el arranque, use este comando:

sudo systemctl enable nginx

6. Descarga y configura Nextcloud

Ahora que hemos configurado con éxito el servidor LEMP en nuestro sistema, descarguemos y configuremos NextCloud. Puede obtener la última versión de NextCloud desde la página de instalación de NextCloud. Use este comando para descargar el servidor NextCloud:

cd /tmp
curl -LO https://download.nextcloud.com/server/releases/nextcloud-23.0.0.zip

Ahora cambiemos a una ruta de directorio para servir a NextCloud en /var/www luego extraiga el archivo descargado allí:

cd /var/www
sudo unzip /tmp/nextcloud-23.0.0.zip
sudo chown -R $USER:$GROUP nextcloud
sudo chmod -R 755 nextcloud

Nextcloud requería un directorio para guardar sus datos. Así que cree un directorio de datos y establezca los permisos adecuados en el directorio nextcloud

sudo mkdir -p /var/nextcloud/data
sudo chown -R $USER:$GROUP /var/nextcloud
sudo chmod -R 755 /var/nextcloud

7. Configure Nginx para servir a NextCloud desde un host virtual

Logramos descargar el contenido de NextCloud a /var/www/nextcloud . El siguiente bit para configurar Nginx para servirlo.

Vamos a crear un sitio virtual en el directorio en el que nginx sirve contenido aquí /etc/nginx/conf.d :

sudo vim /etc/nginx/conf.d/nextcloud.conf

Agrega el siguiente contenido:

server {
    listen 80;

    server_name nextcloud.citizix.com;
    root /var/www/nextcloud;
    index index.php;

    location / {
        try_files $uri $uri/ /index.php?$args;
    }

    location = /favicon.ico {
        log_not_found off;
        access_log off;
    }

    location ~* \.(js|css|png|jpg|jpeg|gif|ico)$ {
        expires max;
        log_not_found off;
    }

    location = /robots.txt {
        allow all;
        log_not_found off;
        access_log off;
    }

    location ~ \.php$ {
        include /etc/nginx/fastcgi_params;
        fastcgi_pass unix:/run/php/php-fpm.sock;
        fastcgi_index index.php;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    }
}

Una vez que se hayan realizado los cambios anteriores, debemos reiniciar el servidor nginx y el servidor php-fom. Usa estos comandos en la terminal para lograrlo.

sudo systemctl restart php7.4-fpm nginx

Acceso a Nextcloud desde la URL web

Luego diríjase a su dominio establecido, http://nextcloud.citizix.com/nextcloud para mí. Se le pedirá que cree la cuenta de usuario. Ingrese el nombre de usuario y la contraseña que utilizará para el nuevo usuario:

Luego ingrese los Detalles de la base de datos:

Después de eso, haga clic en Finalizar. Será redirigido a la página de inicio de sesión donde utilizará los detalles para que el usuario creado inicie sesión. Si inicia sesión con éxito, obtendrá el panel.

Conclusión

En esta guía, logramos configurar LEMP en Ubuntu 20.04 para servir a Next cloud.


Ubuntu
  1. Cómo instalar y configurar Redis en Ubuntu 18.04

  2. Cómo instalar y configurar Redmine en Ubuntu 18.04

  3. Cómo instalar y configurar Samba en Ubuntu 18.04

  4. Cómo instalar y configurar Redis en Ubuntu 20.04

  5. Cómo instalar y configurar Jenkins en Ubuntu 20.04

Cómo instalar y configurar Neo4j en Ubuntu 20.04

Cómo instalar y configurar Ubuntu SDK en Ubuntu 16.04 y 14.04

Cómo instalar y configurar PostgreSQL en Ubuntu

Cómo instalar y configurar Hadoop en Ubuntu 20.04

Cómo instalar y configurar NextCloud en Debian 11 y LEMP

Cómo instalar y configurar Nextcloud en Ubuntu 20.04