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

0
299

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;
    server_name www.nextcloud.hostvn.net nextcloud.hostvn.net;
 
    root /home/nextcloud.hostvn.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.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.

email-business-leaderboard-blog-v3.png
Subscribe
Notify of
guest
0 Comments
Inline Feedbacks
View all comments