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.confupstream 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.confnano /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.