GNU/Linux >> Tutoriales Linux >  >> Panels >> Panels

Instale Nextcloud 9 en Ubuntu 16.04

En este artículo, le mostraremos cómo instalar Nextcloud 9 en un Ubuntu 16.04 VPS con MariaDB, PHP-FPM 7.0 y Nginx. Nextcloud es una aplicación de sincronización y uso compartido de archivos autohospedada de código abierto bifurcada de ownCloud. Esta guía también debería funcionar en otros sistemas Linux VPS, pero fue probada y escrita para un VPS Ubuntu 16.04.

Tenemos una versión actualizada de este tutorial sobre cómo instalar Nextcloud en Ubuntu 20.04

1. Inicie sesión en su VPS a través de SSH con su usuario sudo

ssh user@vps_IP

2. Actualice el sistema e instale los paquetes necesarios

[user]$ sudo apt-get update && sudo apt-get -y upgrade
[user]$ sudo apt-get install software-properties-common nano wget

3. Instale MariaDB 10.1

Para agregar el repositorio MariaDB a su lista de fuentes e instalar el último servidor MariaDB 10.1, ejecute los siguientes comandos:

[user]$ sudo apt-key adv --recv-keys --keyserver hkp://keyserver.ubuntu.com:80 0xF1656F24C74CD1D8
[user]$ sudo add-apt-repository 'deb [arch=amd64,i386] http://ftp.osuosl.org/pub/mariadb/repo/10.1/ubuntu xenial main'
[user]$ sudo apt-get update
[user]$ sudo apt-get install -y mariadb-server

Cuando se complete la instalación, ejecute el siguiente comando para asegurar su instalación:

[user]$ mysql_secure_installation

Deshabilite el registro binario de MariaDB comentando las siguientes líneas

[user]$ sudo nano /etc/mysql/my.cnf
#log_bin                = /var/log/mysql/mariadb-bin
#log_bin_index          = /var/log/mysql/mariadb-bin.index

Reiniciar el servicio

[user]$ sudo service mysql restart

A continuación, necesitamos crear una base de datos para la instalación de Nextcloud.

[user]$ mysql -uroot -p
MariaDB [(none)]> CREATE DATABASE nextcloud;
MariaDB [(none)]> GRANT ALL PRIVILEGES ON nextcloud.* TO 'nextcloud'@'localhost' IDENTIFIED BY 'strong_password';
MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> \q

4. Instale PHP y los módulos PHP requeridos

Para instalar la última versión estable de PHP versión 7.0 y todos los módulos necesarios, ejecute:

[user]$ sudo apt-get -y install php-fpm php-cli php-json php-curl php-imap php-gd php-mysql php-xml php-zip php-intl php-mcrypt php-imagick php-mbstring

Los siguientes comandos establecerán el límite de memoria de PHP en 512 MB, cambiarán los valores de upload_max_filesize y post_max_size a 200M y establecerán la zona horaria en UTC.

[user]$ sed -i "s/memory_limit = .*/memory_limit = 512M/" /etc/php/7.0/fpm/php.ini
[user]$ sed -i "s/;date.timezone.*/date.timezone = UTC/" /etc/php/7.0/fpm/php.ini
[user]$ sed -i "s/;cgi.fix_pathinfo=1/cgi.fix_pathinfo=1/" /etc/php/7.0/fpm/php.ini
[user]$ sed -i "s/upload_max_filesize = .*/upload_max_filesize = 200M/" /etc/php/7.0/fpm/php.ini
[user]$ sed -i "s/post_max_size = .*/post_max_size = 200M/" /etc/php/7.0/fpm/php.ini

Agregue las siguientes variables de entorno al final del archivo de grupo PHP-FPM:

[user]$ sudo nano /etc/php/7.0/fpm/pool.d/www.conf
env[HOSTNAME] = $HOSTNAME
env[PATH] = /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
env[TMP] = /tmp
env[TMPDIR] = /tmp
env[TEMP] = /tmp

Reiniciar PHP-FPM:

[user]$ sudo service php7.0-fpm restart

5. Descarga y extrae Nextcloud 9

Instalaremos Nextcloud en el /var/www/nextcloud directorio. Descargue la última versión de Nextcloud desde el sitio web de Nextcloud:

[user]$ wget https://download.nextcloud.com/server/releases/nextcloud-9.0.52.zip
[user]$ unzip nextcloud-9.0.52.zip
[user]$ sudo mkdir /var/www/
[user]$ sudo mv nextcloud /var/www/
[user]$ rm -f nextcloud-9.0.52.zip
[user]$ sudo chown -R www-data: /var/www/nextcloud

6. Instalar y configurar Nginx

Para instalar la última versión estable de Nginx disponible en los repositorios de Ubuntu, ejecute:

[user]$ sudo apt-get install nginx-extras nginx

El paquete nginx-extras proporciona una versión de nginx con los módulos estándar, más extra características y módulos como nginx cache purge módulo.

Genere un certificado SSL autofirmado:

[user]$ sudo mkdir -p /etc/nginx/ssl
[user]$ cd /etc/nginx/ssl
[user]$ sudo openssl genrsa -des3 -passout pass:x -out nextcloud.pass.key 2048
[user]$ sudo openssl rsa -passin pass:x -in nextcloud.pass.key -out nextcloud.key
[user]$ sudo rm nextcloud.pass.key
[user]$ sudo openssl req -new -key nextcloud.key -out nextcloud.csr
[user]$ sudo openssl x509 -req -days 365 -in nextcloud.csr -signkey nextcloud.key -out nextcloud.crt

Si no desea recibir advertencias asociadas con los certificados SSL autofirmados, puede comprar un certificado SSL de confianza aquí.

A continuación, cree un nuevo bloque de servidor Nginx:

[user]$ sudo nano /etc/nginx/sites-available/nextcloud
server {
    listen 80;
    server_name my.nextcloud.com;
    return 301 https://$server_name$request_uri;
}
server {
    listen 443 ssl http2;
    server_name my.nextcloud.com;
    root /var/www/nextcloud;

    ssl on;
    ssl_certificate     /etc/nginx/ssl/nextcloud.crt;
    ssl_certificate_key /etc/nginx/ssl/nextcloud.key;
    ssl_session_timeout 5m;
    ssl_ciphers               'AES128+EECDH:AES128+EDH:!aNULL';
    ssl_protocols              TLSv1 TLSv1.1 TLSv1.2;
    ssl_prefer_server_ciphers on;

    add_header X-Content-Type-Options nosniff;
    add_header X-Frame-Options "SAMEORIGIN";
    add_header X-XSS-Protection "1; mode=block";
    add_header X-Robots-Tag none;
    add_header X-Download-Options noopen;
    add_header X-Permitted-Cross-Domain-Policies none;

    access_log  /var/log/nginx/nextcloud.access.log;
    error_log   /var/log/nginx/nextcloud.error.log;

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

    location = /.well-known/carddav { 
        return 301 $scheme://$host/remote.php/dav; 
    }
    location = /.well-known/caldav { 
        return 301 $scheme://$host/remote.php/dav; 
    }

    client_max_body_size 512M;
    fastcgi_buffers 64 4K;
    gzip off;

    error_page 403 /core/templates/403.php;
    error_page 404 /core/templates/404.php;

    location / {
        rewrite ^ /index.php$uri;
    }

    location ~ ^/(?:build|tests|config|lib|3rdparty|templates|data)/ {
        deny all;
    }

    location ~ ^/(?:\.|autotest|occ|issue|indie|db_|console) {
        deny all;
    }

    location ~^/(?:index|remote|public|cron|core/ajax/update|status|ocs/v[12]|updater/.+|ocs-provider/.+|core/templates/40[34])\.php(?:$|/) {
        include fastcgi_params;
        fastcgi_split_path_info ^(.+\.php)(/.+)$;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        fastcgi_param PATH_INFO $fastcgi_path_info;
        fastcgi_param HTTPS on;
        #Avoid sending the security headers twice
        fastcgi_param modHeadersAvailable true;
        fastcgi_param front_controller_active true;
        fastcgi_pass unix:/var/run/php/php7.0-fpm.sock;
        fastcgi_intercept_errors on;
        fastcgi_request_buffering off;
    }

    location ~ ^/(?:updater|ocs-provider)(?:$|/) {
        try_files $uri/ =404;
        index index.php;
    }

    location ~* \.(?:css|js)$ {
        try_files $uri /index.php$uri$is_args$args;
        add_header Cache-Control "public, max-age=7200";
        add_header X-Content-Type-Options nosniff;
        add_header X-Frame-Options "SAMEORIGIN";
        add_header X-XSS-Protection "1; mode=block";
        add_header X-Robots-Tag none;
        add_header X-Download-Options noopen;
        add_header X-Permitted-Cross-Domain-Policies none;
        # Optional: Don't log access to assets
        access_log off;
    }

    location ~* \.(?:svg|gif|png|html|ttf|woff|ico|jpg|jpeg)$ {
        try_files $uri /index.php$uri$is_args$args;
        access_log off;
    }

    location ~ /\.ht {
        deny all;
    }

}

Active el bloqueo del servidor creando un enlace simbólico:

[user]$ sudo ln -s /etc/nginx/sites-available/nextcloud /etc/nginx/sites-enabled/nextcloud

Pruebe la configuración de Nginx y reinicie nginx:

[user]$ sudo nginx -t
[user]$ sudo service nginx restart

7. Instalar Nextcloud 9

Abra https://my.nextcloud.com/install.php en su navegador web favorito y debería ver la pantalla de instalación de Nextcloud 9. En esta página, deberá ingresar los detalles de la base de datos que creó anteriormente, los detalles del administrador de Nextcloud 9 y finalmente hacer clic en el botón Instalar.

Eso es todo. Ha instalado correctamente Nextcloud 9 en su Ubuntu 16.04 VPS. Para obtener más información sobre cómo administrar su instalación de Nextcloud 9, consulte la documentación oficial de Nextcloud 9.

Por supuesto, no tiene que instalar Nextcloud 9 en Ubuntu 16.04, si utiliza uno de nuestros servicios de alojamiento de Nextcloud, en cuyo caso simplemente puede pedirle a nuestros administradores expertos de Linux que lo configuren por usted. Están disponibles las 24 horas del día, los 7 días de la semana y atenderán su solicitud de inmediato. Para obtener más actualizaciones, también puede leer nuestra publicación sobre cómo instalar NextCloud 14 en Ubuntu 16.04.

PD . Si le gustó esta publicación sobre cómo instalar Nextcloud 9 en Ubuntu 16.04, compártala con sus amigos en las redes sociales usando los botones a la izquierda o simplemente deje una respuesta a continuación. Gracias.


Panels
  1. Instalar Cockpit en Ubuntu 16.04

  2. Cómo instalar Koken en Ubuntu

  3. Cómo instalar ImpressCMS en Ubuntu 14.04

  4. Instalar Microweber en Ubuntu 14.04

  5. Instalar Grav CMS en Ubuntu

Cómo instalar Zenphoto en Ubuntu 14.04

Instale Flarum en un Ubuntu 14.04 VPS

Cómo instalar Wekan en Ubuntu 14.04

Cómo instalar Pimcore en Ubuntu

Instalar Miniflux en Ubuntu 14.04

¿CÓMO INSTALAR NEXTCLOUD EN UBUNTU?