Trong hướng dẫn này, chúng tôi sẽ giải thích chi tiết, Cách cài đặt NextCloud trên Ubuntu 24.04 LTS. Đây là hướng dẫn từng bước chi tiết. Trong quá trình cài đặt, chúng tôi tập trung vào việc tăng hiệu suất và bảo mật của hệ thống.
Nextcloud là gì?
Nextcloud là một nền tảng cộng tác tự lưu trữ được thiết kế để nâng cao năng suất thông qua các dịch vụ tích hợp như Files, Talk, Groupware và Office. Nó cung cấp chức năng tương tự như Dropbox, Office 365 hoặc Google Drive khi sử dụng với các bộ ứng dụng văn phòng như Collabora Online hoặc OnlyOffice.Nextcloud có bốn sản phẩm chính.Tập tincung cấp dịch vụ lưu trữ và đồng bộ hóa tệp tin tự lưu trữ.Nói chuyệncung cấp dịch vụ trò chuyện và hội nghị truyền hình/âm thanh riêng tư.Phần mềm nhómbao gồm các công cụ năng suất như Lịch và Thư, vàVăn phòngcung cấp bộ ứng dụng văn phòng trực tuyến để chỉnh sửa tài liệu cùng lúc.
DataOnline cung cấp VPS giá rẻ cài đặt sẵn nextcloud
Nextcloud có thể được lưu trữ trên đám mây hoặc tại chỗ, cung cấp các tùy chọn triển khai linh hoạt. Nó cho phép lưu trữ tài liệu trên máy chủ riêng hoặc trung tâm dữ liệu đáng tin cậy, đảm bảo khả năng kiểm soát và bảo mật cao hơn. Dưới đây chúng tôi cung cấp hướng dẫn từng bước về Cách cài đặt NextCloud trên Ubuntu 24.04 LTS.
Cài đặt NextCloud Bước 1: cài web server Nginx
apt -y install nginx
Cài đặt NextCloud Bước 2: thay đổi hostname
Vi /etc/nginx/sites-available/default
line 46 : change to your hostname
server_name duongdt.org;
Cài đặt NextCloud Bước 3: khởi động lại web server
Systemctl status nginx
Nếu hiện như này là được!
Cài đặt NextCloud Bước 4: Cài php
apt -y install php8.1 php8.1-mbstring php-pear
kiểm tra phiên bản
Cài PHP-FPM
apt -y install php-fpm
cấu hình fpm php
Khởi động lại fpm
systemctl restart php8.1-fpm nginx
Tạo 1 trang php để kiểm tra
echo ‘
Cài đặt NextCloud Bước 5: cài đặt DB mariaDB
apt -y install mariadb-server
Cài đặt NextCloud Bước 6: cài các module yêu cầu php
apt -y install php-pear php8.1-mbstring php8.1-intl php8.1-gd php8.1-zip php8.1-mysql php8.1-bcmath php8.1-gmp php8.1-opcache php-imagick php8.1-curl php-apcu unzip
Cài đặt NextCloud Bước 7: Tạo mới next cloud
vi /etc/php/8.1/fpm/pool.d/nextcloud.conf
thêm các thông tin như sau vào file:
;; create new [nextcloud] user = www-data group = www-data listen.owner = www-data listen.group = www-data listen = /run/php/nextcloud.sock listen.allowed_clients = 127.0.0.1 pm = dynamic pm.max_children = 50 pm.start_servers = 5 pm.min_spare_servers = 5 pm.max_spare_servers = 35 env[HOSTNAME] = $HOSTNAME env[PATH] = /usr/local/bin:/usr/bin:/bin env[TMP] = /tmp env[TMPDIR] = /tmp env[TEMP] = /tmp php_value[session.save_handler] = files php_value[session.save_path] = /var/lib/php/sessions ;; maybe you need to configure parameters below if users want to upload large files php_value[max_execution_time] = 3600 php_value[memory_limit] = 2G php_value[post_max_size] = 2G php_value[upload_max_filesize] = 20G php_value[max_input_time] = 3600 php_value[max_input_vars] = 2000 php_value[date.timezone] = Asia/Tokyo php_value[opcache.enable] = 1 php_value[opcache.memory_consumption] = 128 php_value[opcache.interned_strings_buffer] = 8 php_value[opcache.max_accelerated_files] = 10000 php_value[opcache.revalidate_freq] = 1 php_value[opcache.save_comments] = 1
Khởi động lại fpm
systemctl restart php8.1-fpm
Cài đặt NextCloud Bước 8: tạo user và db cho nextcloud
Mysql MariaDB [(none)]> create database nextcloud; MariaDB [(none)]> grant all privileges on nextcloud.* to nextcloud@'localhost' identified by 'your_password'; MariaDB [(none)]>exit;
Cài đặt NextCloud Bước 9: cấu hình nginx cho Nextcloud (paste dưới block server)
vi /etc/nginx/sites-available/default
fastcgi_read_timeout 3600; proxy_read_timeout 3600; fastcgi_hide_header X-Powered-By; add_header Referrer-Policy "no-referrer" always; add_header X-Content-Type-Options "nosniff" always; add_header X-Download-Options "noopen" always; add_header X-Frame-Options "SAMEORIGIN" always; add_header X-Permitted-Cross-Domain-Policies "none" always; add_header X-Robots-Tag "none" always; add_header X-XSS-Protection "1; mode=block" always; location ^~ /nextcloud { client_max_body_size 2G; fastcgi_buffers 64 4K; gzip on; gzip_vary on; gzip_comp_level 4; gzip_min_length 256; gzip_proxied expired no-cache no-store private no_last_modified no_etag auth; gzip_types application/atom+xml application/javascript application/json application/ld+json application/manifest+json application/rss+xml application/vnd.geo+json application/vnd.ms-fontobject application/x-font-ttf application/x-web-app-manifest+json application/xhtml+xml application/xml font/opentype image/bmp image/svg+xml image/x-icon text/cache-manifest text/css text/plain text/vcard text/vnd.rim.location.xloc text/vtt text/x-component text/x-cross-domain-policy; location /nextcloud { rewrite ^ /nextcloud/index.php; } location ~ ^\/nextcloud\/(?:build|tests|config|lib|3rdparty|templates|data)\/ { deny all; } location ~ ^\/nextcloud\/(?:\.|autotest|occ|issue|indie|db_|console) { deny all; } location ~ ^\/nextcloud\/(?:index|remote|public|cron|core\/ajax\/update|status|ocs\/v[12]|updater\/.+|oc[ms]-provider\/.+|.+\/richdocumentscode\/proxy)\.php(?:$|\/) { include snippets/fastcgi-php.conf; fastcgi_pass unix:/run/php/nextcloud.sock; fastcgi_param modHeadersAvailable true; fastcgi_param front_controller_active true; fastcgi_intercept_errors on; fastcgi_request_buffering off; } location ~ ^\/nextcloud\/(?:updater|oc[ms]-provider)(?:$|\/) { try_files $uri/ =404; index index.php; } location ~ ^\/nextcloud\/.+[^\/]\.(?:css|js|woff2?|svg|gif|map)$ { try_files $uri /nextcloud/index.php$request_uri; add_header Cache-Control "public, max-age=15778463"; add_header Referrer-Policy "no-referrer" always; add_header X-Content-Type-Options "nosniff" always; add_header X-Download-Options "noopen" always; add_header X-Frame-Options "SAMEORIGIN" always; add_header X-Permitted-Cross-Domain-Policies "none" always; add_header X-Robots-Tag "none" always; add_header X-XSS-Protection "1; mode=block" always; access_log off; } location ~ ^\/nextcloud\/.+[^\/]\.(?:png|html|ttf|ico|jpg|jpeg|bcmap|mp4|webm)$ { try_files $uri /nextcloud/index.php$request_uri; access_log off; } }
Download NextCLoud về:
wget https://download.nextcloud.com/server/releases/latest.zip -P /var/www/html/
Giai nén:
unzip /var/www/html/latest.zip -d /var/www/html/
Thay đổi quyền truy cập:
chown -R www-data. /var/www/html/nextcloud
Khởi động lại web server:
systemctl restart nginx
Sau đó, truy cập tai trình duyệt theo đường dẫn <ip_domain>/nextcloud
Màn hình hiển thị như này là thành công!