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.