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

0

Nextcloud là một trong những ứng dụng chia sẻ và chia sẻ tệp tự do nguồn mở và miễn phí phổ biến nhất. 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à nhiều thứ khác và nó cho phép bạn truy cập chúng hoặc chia sẻ chúng với bạn bè bất kỳ lúc nào. Nó là một lựa chọn phổ biến cho một ứng dụng lưu trữ tập tin được sử dụng rộng rãi gọi là ownCloud. Trong hướng dẫn này, chúng tôi sẽ hướng dẫn bạn cách cài đặt phiên bản mới nhất 14 của Nextcloud trên CentOS.

Điều kiện tiên quyết

  • CentOS 7
  • Truy cập SSH với các đặc quyền root
  • PHP 7 trở lên

Bước 1: Đăng nhập vào máy chủ của bạn qua SSH:

# ssh root@IP_Address -p Port_number

Trước khi bắt đầu, hãy nhập lệnh dưới đây để kiểm tra xem bạn đã cài đặt phiên bản CentOS thích hợp trên máy của mình chưa:

# cat / etc / redhat-release

sẽ cung cấp cho bạn đầu ra bên dưới:

CentOS Linux phát hành 7.5.1804 (Core)

Bước 2: Cập nhật hệ thống

Đảm bảo máy chủ của bạn được cập nhật đầy đủ:

# yum update

Nếu hệ thống của bạn chưa được cập nhật trong một thời gian thì sẽ mất vài phút để hoàn thành.

# yum install -y epel-release

Bước 3: Cài đặt Máy chủ Web

Trong bước này, bạn có thể chọn có muốn cài đặt Apache hoặc nginx hay không.

Cài đặt máy chủ web Nginx

# yum install nginx

Bật nginx để bắt đầu khởi động và khởi động dịch vụ bằng:

# systemctl enable nginx

# systemctl start nginx

Cài đặt máy chủ web Apache

Nếu bạn muốn chọn Apache thay vì nginx, bạn có thể bỏ qua cài đặt nginx ở trên rồi cài đặt Apache.

# yum install httpd

Bật Apache để bắt đầu khởi động và khởi động dịch vụ bằng:

# systemctl enable httpd

# systemctl start httpd

Bước 4: Cài đặt PHP 7

Phiên bản PHP mặc định trên CentOS 7 là PHP 5.4 và Nextcloud 14 yêu cầu PHP 7 hoặc cao hơn, trong bước này, chúng tôi sẽ cài đặt PHP phiên bản 7.

Cài đặt gói kho lưu trữ Remi và EPEL:

# rpm -Uvh http://rpms.remirepo.net/enterprise/remi-release-7.rpm

Kích hoạt Remo PHP 7 repo:

# yum-config-manager –enable remi-php70

và cài đặt PHP 7 và một số mô-đun PHP theo yêu cầu của Nextcloud bằng cách thực hiện lệnh sau:

# yum install php php-mysql php-pecl-zip php-xml php-mbstring php-gd php-fpm php-intl

Bây giờ, chúng ta hãy tìm các chuỗi sau trong /etc/php-fpm.d/www.conf

user = apache
group = apache

Thay thế các giá trị bằng

user = nginx
group = nginx

Sau đó, thay đổi quyền cho thư mục phiên PHP, bạn cần bỏ qua bước này nếu bạn muốn sử dụng Apache thay vì nginx.

# chown -R root:nginx /var/lib/php/session/

Cuối cùng, khởi động lại php-fpm

# systemctl restart php-fpm

Bước 5: Cài đặt máy chủ cơ sở dữ liệu MariaDB

# nano /etc/yum.repos.d/MariaDB.repo# [mariadb]
name = MariaDB
baseurl = http://yum.mariadb.org/10.2/centos7-amd64
gpgkey = https: //yum.mariadb.org/RPM-GPG-KEY-MariaDB
gpgcheck = 1
# yum install MariaDB-server MariaDB-client

# systemctl start mariadb
# systemctl enable mariadb
# systemctl status mariadb

Tại thời điểm này, MariaDB đang chạy và chúng ta sẽ tạo một mật khẩu cho người dùng root. Chạy lệnh sau để tạo mật khẩu gốc, xóa cơ sở dữ liệu thử nghiệm, xóa người dùng ẩn danh rồi tải lại các đặc quyền.

# mysql_secure_installation

Sau khi tạo, bạn có thể kiểm tra mật khẩu bằng cách gọi lệnh này, bạn sẽ được yêu cầu nhập mật khẩu:

# mysql -u root -p

Bước 6: Tạo cơ sở dữ liệu

# mysql -uroot -p -e "CREATE DATABASE nextcloud CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci"
# mysql -uroot -p -e "GRANT ALL on nextcloud.* to nextcloud@localhost identified by 'M0d1fyth15"
# mysql -uroot -p -e "FLUSH privileges"

Bước 7: Cấu hình máy chủ Web

Trong bước trước, bạn đã chọn một máy chủ web để cài đặt, bây giờ bạn sẽ cần phải cấu hình nó.

Cấu hình Nginx

Nếu bạn muốn sử dụng nginx, hãy tạo một tệp cấu hình cho khối máy chủ nginx

nano /etc/nginx/conf.d/yourdomain.com.conf
upstream php {
 server 127.0.0.1:9000;
 }

server {
 server_name yourdomain.com;

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;

# Path to the root of your installation
 root /var/www/nextcloud/;

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;
 }

# 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$request_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/.+)\.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;
 fastcgi_param HTTPS on;
 #Avoid sending the security headers twice
 fastcgi_param modHeadersAvailable true;
 fastcgi_param front_controller_active true;
 fastcgi_pass php;
 
 fastcgi_intercept_errors on;
 fastcgi_request_buffering off;
 }

location ~ ^/(?:updater|ocs-provider)(?:$|/) {
 try_files $uri/ =404;
 index index.php;
 }

# Adding the cache control header for js and css files
 # Make sure it is BELOW the PHP block
 location ~ \.(?:css|js|woff|svg|gif)$ {
 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;
 # Optional: Don’t log access to assets
 access_log off;
 }

location ~ \.(?:png|html|ttf|ico|jpg|jpeg)$ {
 try_files $uri /index.php$request_uri;
 # Optional: Don’t log access to other assets
 access_log off;
 }
}

Kiểm tra tệp cấu hình nginx, sau đó khởi động lại dịch vụ

nginx -t
systemctl restart nginx

Cấu hình Apache

Tạo tệp cấu hình máy chủ ảo cho tên miền bạn muốn sử dụng để lưu trữ Nextcloud.

nano /etc/httpd/conf.d/yourdomain.com.conf
nano /etc/httpd/conf.d/yourdomain.com.conf
<VirtualHost *:80>

ServerAdmin admin@yourdomain.com
DocumentRoot /var/www/nextcloud
ServerName yourdomain.com
ServerAlias www.yourdomain.com

<Directory /var/www/html/nextcloud>
Options +FollowSymlinks
AllowOverride All

<IfModule mod_dav.c>
Dav off
</IfModule>

SetEnv HOME /var/www/nextcloud
SetEnv HTTP_HOME /var/www/nextcloud
</Directory>

ErrorLog /var/log/httpd/nextcloud-error_log
CustomLog /var/log/httpd/nextcloud-access_log common

</VirtualHost>

Truy cập trang web chính thức của Nextcloud và tải xuống bản phát hành ổn định mới nhất của ứng dụng

wget https://download.nextcloud.com/server/releases/nextcloud-14.0.0.zip

giải nén tệp nén zip đã tải xuống vào thư mục gốc của tài liệu trên máy chủ của bạn

# unzip nextcloud-14.0.0.zip -d /var/www/
# mkdir /var/www/nextcloud/data
# chown -R nginx: /var/www/nextcloud

If you chose Apache, then you need to set the permission for Apache user
# chown -R apache: /var/www/nextcloud

You can now proceed with Nextcloud 14 installation via web installer at http://yourdomain.com, fill the blank as required, then click on the “Finish setup” button to finish it.

Bạn nên chạy Nextcloud 14 ở chế độ https. Chúng tôi sẽ cần cài đặt chứng chỉ SSL cho việc này. Trong bước này, chúng tôi sẽ hướng dẫn bạn cách cài đặt chứng chỉ SSL từ Letsencrypt.

# yum install certbot-nginx certbot-apache

# certbot

Bạn sẽ được hỏi địa chỉ email của bạn, sau đó bạn cần phải đồng ý với các ToS để tiến hành cài đặt chứng chỉ.

Nếu không có vấn đề gì khi yêu cầu chứng chỉ, Certbot sẽ tự động chỉnh sửa khối máy chủ nginx hiện tại của bạn để cài đặt chứng chỉ.

Tại thời điểm này, bạn có thể truy cập cài đặt Nextcloud 14 của mình trên tên miền của bạn

Và đó là  bước cuối cùng của hướng dẫn này, chúng tôi đã cài đặt thành công Nextcloud 14 trên CentOs 7 của bạn và bạn có thể đăng nhập bằng thông tin đăng nhập của người dùng quản trị của bạn. Để biết thêm thông tin, bạn có thể truy cập tài liệu chính thức của Nextcloud 14 .

 

PS . Nếu bạn thích bài viết  Làm thế nào để cài đặt Nextcloud 14 trên CentOS 7, hãy chia sẻ nó với bạn bè của bạn trên các mạng xã hội bằng cách sử dụng các nút bên trái hoặc đơn giản là để lại câu trả lời dưới đây. Cảm ơn.

Leave a Reply

Your email address will not be published. Required fields are marked *