Nextcloud là một trong những ứng dụng đồng bộ và chia sẻ tệp tin mã nguồn mở miễn phí phổ biến nhất hiện nay. Bạn có thể sử dụng nó để lưu trữ các tệp tin cá nhân, danh bạ, hình ảnh, âm nhạc …. và chia sẻ chúng với bạn bè của bạn bất cứ lúc nào.
1.Yêu cầu
- CentOS 7
- RAM từ 1 GB trở lên
- Disk từ 10 GB trở lên
- CPU từ 1 Core trở lên
- PHP 7
2. Cài đặt Nextcloud trên CentOS 7
2.1. Bước 1: Cài đặt Webserver
Nextcloud được viết bằng ngôn ngữ PHP vì vậy để có thể chạy Nextcloud các bạn cần cài đặt Webserver trên VPS của mình. Các bạn có thể lựa chọn LAMP (Apache – MariaDB – PHP) hoặc LEMP (Nginx – MariaDB – PHP)
- Hướng dẫn cách cài đặt LEMP trên Centos 7
- Hướng dẫn cài đặt LAMP trên CentOS 7
2.2. Bước 2: Tạo Database
Sau khi hoàn tất cài đặt Webserver với các thành phần cần thiết các bạn tiến hành tạo database cho Nextcloud bằng cách chạy các lệnh dưới đây
mysql -u root create database nextcloud_db; create user 'nextcloud_user'@'localhost' identified BY 'Mật khẩu MYSQL'; grant all privileges on nextcloud_db.* to nextcloud_user@localhost; flush privileges; exit
Trong đó:
- nextcloud_db : Tên database (Database name) muốn tạo, các bạn có thể thay bằng tên tuỳ ý.
- nextcloud_user : User Mysql muốn tạo, các bạn có thể thay bằng tên tuỳ ý.
- Mật khẩu MYSQL : Mật khẩu Mysql, các bạn có thể thay bằng mật khẩu tuỳ ý.
2.3. Bước 3: Tạo Virtual host
Tạo Virtual host với tên miền bạn muốn sử dụng để chạy Nextcloud
- Đối với Nginx: Tạo file /etc/nginx/conf.d/nextcloud.conf với nội dung sau
server { listen 80; server_name www.nextcloud.tgs.net nextcloud.tgs.net; root /home/nextcloud.tgs.net/public_html/; index index.php index.html index.htm; location / { rewrite ^ /index.php$request_uri; } location = /robots.txt { allow all; log_not_found off; access_log off; } 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(?:$|/) { fastcgi_split_path_info ^(.+?.php)(/.*)$; include fastcgi_params; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; fastcgi_param PATH_INFO $fastcgi_path_info; #Avoid sending the security headers twice fastcgi_param modHeadersAvailable true; fastcgi_param front_controller_active true; fastcgi_pass unix:/var/run/php-fpm.sock; fastcgi_intercept_errors on; fastcgi_request_buffering off; } location ~ ^/(?:updater|oc[ms]-provider)(?:$|/) { try_files $uri/ =404; index index.php; } location ~ .(?:css|js|woff2?|svg|gif|map)$ { try_files $uri /index.php$request_uri; add_header Cache-Control "public, max-age=15778463"; add_header X-Content-Type-Options nosniff; 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 off; } location ~* .(?:png|html|ttf|ico|jpg|jpeg|bcmap)$ { try_files $uri /index.php$request_uri; access_log off; } error_page 403 /core/templates/403.php; error_page 404 /core/templates/404.php; }
- Đối với Apache: Tạo file /etc/httpd/conf.d/nextcloud.conf với nội dung sau
<VirtualHost *:80> ServerAdmin admin@yourdomain.com DocumentRoot /home/nextcloud.tgs.net/public_html ServerName nextcloud.tgs.net ServerAlias www.nextcloud.tgs.net <Directory /home/nextcloud.tgs.net/public_html> Options +FollowSymlinks AllowOverride All <IfModule mod_dav.c> Dav off </IfModule> SetEnv HOME /home/nextcloud.tgs.net/public_html SetEnv HTTP_HOME /home/nextcloud.tgs.net/public_html </Directory> ErrorLog /home/nextcloud.tgs.net/logs/nextcloud-error_log CustomLog /home/nextcloud.tgs.net/logs/nextcloud-access_log common </VirtualHost>
Tiếp theo các bạn cần tạo thư mục chứa mã nguồn website và thư mục chứa file log bằng các lệnh sau
mkdir -p /home/nextcloud.tgs.net/public_html mkdir -p /home/nextcloud.tgs.net/logs
Khởi động lại Apache hoặc Nginx để load cấu hình
service httpd restart Hoặc service nginx restart
2.4. Bước 4: Cấu hình Firewalld
Nếu các bạn sử dụng Firewalld các bạn sẽ cần mở port để có thể truy cập Nextcloud
firewall-cmd --permanent --add-service=http firewall-cmd --permanent --add-service=https firewall-cmd --reload
2.5. Bước 5: Download và cài đặt Nextcloud
a. Download Nextcloud
Tại thời điểm viết bài phiên bản mới nhất của Nextcloud là 18.0.3. Bạn có thể truy cập link https://nextcloud.com/install/#instructions-server để lấy link download phiên bản mới nhất.
Để download Nextcloud về VPS các bạn chạy lần lượt các lệnh sau
cd /home/nextcloud.tgs.net/public_html wget https://download.nextcloud.com/server/releases/nextcloud-18.0.3.zip unzip nextcloud-18.0.3.zip rm -rf nextcloud-18.0.3.zip
Trong đó /home/nextcloud.tgs.net/public_html là Document root các bạn cấu hình ở bước 3.
Tiếp theo các bạn cần di chuyển toàn bộ file và thư mục trong thư mục nextcloud ra ngoài public_html
mv /home/nextcloud.tgs.net/public_html/nextcloud/{.,}* /home/nextcloud.tgs.net/public_html
Các bạn nhập A và ấn Enter khi được hỏi.
Để tránh các lỗi về quyền các bạn cần set owner cho file và thư mục
- Đối với Apache
chown -R apache:apache /home/nextcloud.tgs.net/public_html chown -R apache:apache /home/nextcloud.tgs.net/logs
- Đối với Nginx
chown -R nginx:nginx /home/nextcloud.tgs.net/public_html chown -R nginx:nginx /home/nextcloud.tgs.net/logs
c. Cài đặt Nextcloud
Để cài đặt Nextcloud các bạn truy cập tên miền trên trình duyệt web, trong ví dụ này sẽ là nextcloud.tgs.net
Mục đầu tiên sẽ cho phép các bạn thiết lập tài khoản Admin. Tại đây hãy điền tài khoản admin và mật khẩu mà bạn muốn tạo. Lưu ý không nên sử dụng Admin làm tên đăng nhập và nên đặt một mật khẩu đủ mạnh.
Tiếp theo các bạn click vào liên kết Storage & database và chọn Mysql/Mariadb. Sau đó điền đầy đủ thông tin kết nối Mysql bao gồm: Database user, Database name, password mà các bạn đã tạo ở bước 3 và bấm nút Finish Setup
- Lưu ý: Để quá trình cài đặt được nhanh hơn các bạn nên bỏ chọn ô Install Recommentded apps
Quá trình cài đặt sẽ diễn ra các bạn chỉ cần chờ cho tới khi quá trình cài đặt hoàn tất.
3. Link tham khảo
- https://docs.nextcloud.com/
- https://nextcloud.com/install/#install-clients
Như vậy chúng ta đã cài đặt xong Next Cloud. Chúc bạn thành công.