Hướng dẫn cài đặt Nextcloud trên CentOS 7

Nextcloud là một ứng dụng đồng bộ và chia sẻ tệp tin miễn phí phổ biến. Trong bài viết này HOSTVN sẽ hướng dẫn các bạn cài đặt Nextcloud trên CentOS 7

Cài đặt Nextcloud trên CentOS 7 – 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.

Trong bài viết này HOSTVN sẽ hướng dẫn các bạn cấu hình và cài đặt Nextcloud trên CentOS 7

Cài đặt Nextcloud trên CentOS 7

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

Nếu bạn chưa có VPS hãy tham khảo ngay các gói Cloud VPS của HOSTVN.

ĐĂNG KÝ NGAY

Lưu ý: Trong bài viết này HOSTVN sẽ sử dụng tên miền ví dụ là nextcloud.hostvn.net, các bạn cần thay đổi thành tên miền của mình khi cài đặt

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)

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;
    #listen [::]:80 ;
    server_name www.nextcloud.hostvn.net nextcloud.hostvn.net;

    # Add headers to serve security related headers
    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;

    # Remove X-Powered-By, which is an information leak
    fastcgi_hide_header X-Powered-By;

    # Path to the root of your installation
    root /home/nextcloud.hostvn.net/public_html/;

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

    # set max upload size
    client_max_body_size 512M;
    fastcgi_buffers 64 4K;

    # Enable gzip but do not remove ETag headers
    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 / {
        rewrite ^ /index.php;
    }

    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\/.+|oc[ms]-provider\/.+)\.php(?:$|\/) {
        fastcgi_split_path_info ^(.+?\.php)(\/.*|)$;
        set $path_info $fastcgi_path_info;
        try_files $fastcgi_script_name =404;
        include fastcgi_params;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        fastcgi_param PATH_INFO $path_info;
        #fastcgi_param HTTPS on;
        # Avoid sending the security headers twice
        fastcgi_param modHeadersAvailable true;
        # Enable pretty urls
        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;
    }

    # Adding the cache control header for js, css and map files
    location ~ \.(?:css|js|woff2?|svg|gif|map)$ {
        try_files $uri /index.php$request_uri;
        add_header Cache-Control "public, max-age=31536000";
        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 ~ \.(?:png|html|ttf|ico|jpg|jpeg|bcmap)$ {
        try_files $uri /index.php$request_uri;
        access_log off;
    }
}

 

  • Đố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.hostvn.net/public_html
    ServerName nextcloud.hostvn.net
    ServerAlias www.nextcloud.hostvn.net

    <Directory /home/nextcloud.hostvn.net/public_html>
        Options +FollowSymlinks
        AllowOverride All
        <IfModule mod_dav.c>
            Dav off
        </IfModule>

        SetEnv HOME /home/nextcloud.hostvn.net/public_html
        SetEnv HTTP_HOME /home/nextcloud.hostvn.net/public_html
    </Directory>

    ErrorLog /home/nextcloud.hostvn.net/logs/nextcloud-error_log
    CustomLog /home/nextcloud.hostvn.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.hostvn.net/public_html
mkdir -p /home/nextcloud.hostvn.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.hostvn.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.hostvn.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.hostvn.net/public_html/nextcloud/{.,}* /home/nextcloud.hostvn.net/public_html

Các bạn nhập A và ấn Enter khi được hỏi.

Screenshot_18

Để 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.hostvn.net/public_html
chown -R apache:apache /home/nextcloud.hostvn.net/logs
  • Đối với Nginx
chown -R nginx:nginx /home/nextcloud.hostvn.net/public_html
chown -R nginx:nginx /home/nextcloud.hostvn.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.hostvn.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.

Screenshot_19

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 userDatabase namepassword 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

Screenshot_21

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.

Screenshot_22

3. Link tham khảo

4. Kết luận

Qua bài viết này HOSTVN đã hướng dẫn các bạn cài đặt Nextcloud trên CentOS 7. Nếu cố bất kỳ ý kiến đóng góp nào các bạn có thể để lại ở bên dưới. Ngoài ra các bạn có thể  xem thêm Hướng dẫn cài đặt Monit trên CentOS.

Ebook Wordpress

Đăng ký nhận Ebooks toàn tập hướng dẫn sử dụng WordPress cơ bản


Góc chia sẻVPS Server

Hướng dẫn cài đặt Mattermost trên CentOS 7

2020-4-17 22:24:19

Góc chia sẻVPS Server

Hướng dẫn cài đặt LEMP trên Ubuntu 18

2020-4-22 9:00:35

0 trả lời ATác giả MQuản lý
    Chưa có phản hồi nào
Trung tâm cá nhân
Giỏ hàng
Phiếu mua hàng
Đăng nhập ngay
Tin nhắn Danh sách tin nhắn
Tìm kiếm
Tối