Header Ads Widget

Responsive Advertisement

Ticker

3/recent/ticker-posts

Cài đặt NextCloud trên Ubuntu 20.04 LTS với Apache2, MariaDB, PHP 7.1 và Let's Encrypt SSL / TLS

 

OwnCloud và NextCloud là hai dịch vụ lưu trữ đám mây tự lưu trữ… tuy nhiên, chỉ NextCloud mới thực sự là nguồn mở… NextCloud là một nhánh của OwnCloud… Nếu bạn đang tìm kiếm một dịch vụ lưu trữ đám mây tự lưu trữ 100% nguồn mở, thì NextCloud nên lựa chọn của bạn.

Bài đăng này hướng dẫn bạn cách cài đặt NextCloud trên Ubuntu 16.04 LTS với hỗ trợ Apache2, MariaDB, PHP và Let's Encrypt SSL. NextCloud là một nhánh của OwnCloud. Giống như DropBox và các dịch vụ lưu trữ đám mây khác, NextCloud và OwnCloud cung cấp các chức năng tương tự và không giống như những dịch vụ khác, cả hai đều miễn phí sử dụng.

Cả hai đều là phần mềm mã nguồn mở cho phép các dịch vụ đám mây riêng tư trên máy chủ của chính người dùng. OwnCloud và NextCloud là các nền tảng ứng dụng chia sẻ và đồng bộ hóa tệp tự lưu trữ và với chúng, bạn có thể truy cập và đồng bộ hóa tệp, danh bạ và dữ liệu trên các thiết bị của mình.

Trong môi trường ngày nay, NextCloud thường được cài đặt mã hóa SSL / TLS để tất cả lưu lượng truy cập đến và đi từ nền tảng được bảo vệ qua HTTPS. Đây là một cách tuyệt vời để bảo mật dữ liệu của bạn trên NextCloud.

Hướng dẫn ngắn gọn này chỉ cho sinh viên và người dùng mới các bước cài đặt và cấu hình NextCloud trên Máy chủ Ubuntu 16.04 LTS trong môi trường của riêng họ.

Bước 1: Cài đặt Apache2

NextCloud yêu cầu một máy chủ web để hoạt động và máy chủ web phổ biến nhất được sử dụng hiện nay là Apache2. Vì vậy, hãy cài đặt Apache2 trên Ubuntu bằng cách chạy các lệnh bên dưới:

sudo apt install apache2

Sau khi cài đặt Apache2, hãy chạy các lệnh bên dưới để tắt danh sách thư mục.

sudo sed -i "s/Options Indexes FollowSymLinks/Options FollowSymLinks/" /etc/apache2/apache2.conf

Tiếp theo, chạy các lệnh bên dưới để dừng, khởi động và kích hoạt dịch vụ Apache2 luôn khởi động khi máy chủ khởi động.

sudo systemctl stop apache2.service
sudo systemctl start apache2.service
sudo systemctl enable apache2.service

Bước 2: Cài đặt MariaDB

NextCloud cũng yêu cầu một máy chủ cơ sở dữ liệu để hoạt động .. và máy chủ cơ sở dữ liệu MariaDB là một nơi tuyệt vời để bắt đầu. Để cài đặt nó, hãy chạy các lệnh bên dưới.

sudo apt-get install mariadb-server mariadb-client

Sau khi cài đặt, các lệnh dưới đây có thể được sử dụng để dừng, khởi động và kích hoạt dịch vụ MariaDB luôn khởi động khi máy chủ khởi động.

sudo systemctl stop mysql.service
sudo systemctl start mysql.service
sudo systemctl enable mysql.service

Sau đó, chạy các lệnh bên dưới để bảo mật máy chủ MariaDB.

sudo mysql_secure_installation

Khi được nhắc, hãy trả lời các câu hỏi bên dưới bằng cách làm theo hướng dẫn.

  • Nhập mật khẩu hiện tại cho root (nhập cho không): Chỉ cần nhấn  Enter
  • Đặt mật khẩu gốc? [Y / n]:  Y
  • Mật khẩu mới:  Nhập mật khẩu
  • Nhập lại mật khẩu mới: Lặp lại mật khẩu
  • Xóa người dùng ẩn danh? [Y / n]: Y
  • Không cho phép đăng nhập root từ xa? [Y / n]: Y
  • Xóa cơ sở dữ liệu thử nghiệm và truy cập vào nó? [Y / n]:   Y
  • Tải lại bảng đặc quyền ngay bây giờ? [Y / n]:   Y

Khởi động lại máy chủ MariaDB

sudo systemctl restart mysql.service

Bước 3: Cài đặt PHP 7.1 và các mô-đun liên quan

PHP 7.1 không có sẵn trên kho lưu trữ mặc định của Ubuntu… để cài đặt nó, bạn sẽ phải lấy nó từ kho của bên thứ ba.

Chạy các lệnh bên dưới để thêm kho lưu trữ bên thứ ba bên dưới để nâng cấp lên PHP 7.1

sudo apt-get install software-properties-common
sudo add-apt-repository ppa:ondrej/php

Sau đó cập nhật và nâng cấp lên PHP 7.1

sudo apt update

Chạy các lệnh bên dưới để cài đặt PHP 7.1 và các mô-đun liên quan.

sudo apt install php7.1 libapache2-mod-php7.1 php7.1-common libapache2-mod-php7.1 php7.1-mbstring php7.1-xmlrpc php7.1-soap php7.1-apcu php7.1-smbclient php7.1-ldap php7.1-redis php7.1-gd php7.1-xml php7.1-intl php7.1-json php7.1-imagick php7.1-mysql php7.1-cli php7.1-mcrypt php7.1-ldap php7.1-zip php7.1-curl

Sau khi cài đặt PHP 7.1, hãy chạy các lệnh bên dưới để mở tệp mặc định PHP-FPM.

sudo nano /etc/php/7.1/apache2/php.ini

Sau đó, thực hiện thay đổi các dòng sau trong tệp và lưu.

file_uploads = On
allow_url_fopen = On
memory_limit = 256M
upload_max_filesize = 64M
max_execution_time = 360
date.timezone = America/Chicago

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

Bây giờ bạn đã cài đặt tất cả các gói được yêu cầu, hãy tiếp tục bên dưới để bắt đầu định cấu hình máy chủ. Đầu tiên hãy chạy các lệnh bên dưới để tạo cơ sở dữ liệu NextCloud.

Chạy các lệnh bên dưới để đăng nhập vào máy chủ cơ sở dữ liệu. Khi được nhắc nhập mật khẩu, hãy nhập mật khẩu gốc bạn đã tạo ở trên.

sudo mysql -u root -p

Sau đó, tạo một cơ sở dữ liệu có tên nextcloud

CREATE DATABASE nextcloud;

Tạo một người dùng cơ sở dữ liệu được gọi là nextclouduser với mật khẩu mới

CREATE USER 'nextclouduser'@'localhost' IDENTIFIED BY 'new_password_here';

Sau đó cấp cho người dùng toàn quyền truy cập vào cơ sở dữ liệu.

GRANT ALL ON nextcloud.* TO 'nextclouduser'@'localhost' IDENTIFIED BY 'user_password_here' WITH GRANT OPTION;

Cuối cùng, lưu các thay đổi của bạn và thoát.

FLUSH PRIVILEGES;
EXIT;

Bước 5: Tải xuống bản phát hành mới nhất của NextCloud

Tiếp theo, hãy truy cập trang NextCloud để tải xuống bản sao miễn phí của bạn. Ấn bản cộng đồng là thứ bạn muốn tải xuống.

Sau khi tải xuống, hãy chạy các lệnh bên dưới để giải nén tệp tải xuống vào thư mục gốc Apache2.

cd /tmp && wget https://download.nextcloud.com/server/releases/nextcloud-19.0.3.zip
unzip nextcloud-19.0.3.zip
sudo mv nextcloud /var/www/html/nextcloud/

Sau đó, chạy các lệnh bên dưới để đặt các quyền chính xác cho NextCloud hoạt động.

sudo chown -R www-data:www-data /var/www/html/nextcloud/
sudo chmod -R 755 /var/www/html/nextcloud/

Bước 6: Định cấu hình Apache2

Cuối cùng, định cấu hình tệp cấu hình trang Apahce2 cho NextCloud. Tệp này sẽ kiểm soát cách người dùng truy cập nội dung NextCloud. Chạy các lệnh bên dưới để tạo tệp cấu hình mới có tên nextcloud.conf

sudo nano /etc/apache2/sites-available/nextcloud.conf

Sau đó sao chép và dán nội dung bên dưới vào tệp và lưu nó. Thay thế dòng được đánh dấu bằng tên miền và vị trí thư mục gốc của riêng bạn.

<VirtualHost *:80>
     ServerAdmin admin@example.com
     DocumentRoot /var/www/html/nextcloud/
     ServerName example.com
     ServerAlias www.example.com
  
     Alias /nextcloud "/var/www/html/nextcloud/"

     <Directory /var/www/html/nextcloud/>
        Options +FollowSymlinks
        AllowOverride All
        Require all granted
          <IfModule mod_dav.c>
            Dav off
          </IfModule>
        SetEnv HOME /var/www/html/nextcloud
        SetEnv HTTP_HOME /var/www/html/nextcloud
     </Directory>

     ErrorLog ${APACHE_LOG_DIR}/error.log
     CustomLog ${APACHE_LOG_DIR}/access.log combined

</VirtualHost>

Lưu file và thoát.

Bước 7: Bật NextCloud và Mô-đun viết lại

Sau khi định cấu hình VirtualHost ở trên, hãy kích hoạt nó bằng cách chạy các lệnh bên dưới

sudo a2ensite nextcloud.conf
sudo a2enmod rewrite
sudo a2enmod headers
sudo a2enmod env
sudo a2enmod dir
sudo a2enmod mime

Bước 8: Khởi động lại Apache2

Để tải tất cả các cài đặt ở trên, hãy khởi động lại Apache2 bằng cách chạy các lệnh bên dưới.

sudo systemctl restart apache2.service

BƯỚC 9: TẢI VÀ CẤU HÌNH ĐỂ NHẬN ĐƯỢC CHỨNG CHỈ SSL ENCRYPT

Bây giờ cấu hình NextCloud đã hoàn tất, hãy tiếp tục bên dưới để cài đặt và cấu hình Let's Encrypt. Let's Encrypt hiện cung cấp một mô-đun Apache2 để tự động hóa quá trình này. Để cài đặt ứng dụng / mô-đun trên Ubuntu, hãy chạy các lệnh bên dưới

sudo apt-get install python-certbot-apache

Sau đó, hãy chạy các lệnh bên dưới để nhận chứng chỉ Let's Encrypt SSL / TLS miễn phí cho trang web của bạn.

sudo certbot --apache -m admin@example.com -d example.com -d www.example.com

Sau khi chạy các lệnh trên, bạn sẽ được nhắc chấp nhận các điều khoản cấp phép. Nếu mọi thứ được kiểm tra, máy khách sẽ tự động cài đặt chứng chỉ SSL / TLS miễn phí và định cấu hình trang Apache2 để sử dụng chứng chỉ.

Please read the Terms of Service at
https://letsencrypt.org/documents/LE-SA-v1.2-November-15-2017.pdf. You must
agree in order to register with the ACME server at
https://acme-v01.api.letsencrypt.org/directory
-------------------------------------------------------------------------------
(A)gree/(C)ancel: A

Chọn Có (Y) để chia sẻ địa chỉ email của bạn

Would you be willing to share your email address with the Electronic Frontier
Foundation, a founding partner of the Let's Encrypt project and the non-profit
organization that develops Certbot? We'd like to send you email about EFF and
our work to encrypt the web, protect its users and defend digital rights.
-------------------------------------------------------------------------------
(Y)es/(N)o: Y

Đây là cách dễ dàng để có được chứng chỉ SSL / TLS miễn phí cho trang web được cung cấp bởi Nginx của bạn.

Please choose whether or not to redirect HTTP traffic to HTTPS, removing HTTP access.
-------------------------------------------------------------------------------
1: No redirect - Make no further changes to the webserver configuration.
2: Redirect - Make all requests redirect to secure HTTPS access. Choose this for
new sites, or if you're confident your site works on HTTPS. You can undo this
change by editing your web server's configuration.
-------------------------------------------------------------------------------
Select the appropriate number [1-2] then [enter] (press 'c' to cancel): 2

Chọn tùy chọn 2 để chuyển hướng tất cả lưu lượng truy cập qua HTTPS. Điều này quan trọng!

Sau đó, ứng dụng SSL sẽ cài đặt chứng chỉ và định cấu hình trang web của bạn để chuyển hướng tất cả lưu lượng truy cập qua HTTPS.

Congratulations! You have successfully enabled https://example.com and
https://www.example.com

You should test your configuration at:
https://www.ssllabs.com/ssltest/analyze.html?d=example.com
https://www.ssllabs.com/ssltest/analyze.html?d=www.example.com
-------------------------------------------------------------------------------

IMPORTANT NOTES:
 - Congratulations! Your certificate and chain have been saved at:
   /etc/letsencrypt/live/example.com/fullchain.pem
   Your key file has been saved at:
   /etc/letsencrypt/live/example.com/privkey.pem
   Your cert will expire on 2018-02-24. To obtain a new or tweaked
   version of this certificate in the future, simply run certbot again
   with the "certonly" option. To non-interactively renew *all* of
   your certificates, run "certbot renew"
 - If you like Certbot, please consider supporting our work by:

   Donating to ISRG / Let's Encrypt:   https://letsencrypt.org/donate
   Donating to EFF:                    https://eff.org/donate-le

Khối mã được đánh dấu sẽ được tự động thêm vào tệp cấu hình trang Apache2 NextCloud của bạn bằng Let's Encrypt certbot. Trang web NextCloud của bạn đã sẵn sàng để sử dụng qua HTTPS.

<VirtualHost *:80>
     ServerAdmin admin@example.com
     DocumentRoot /var/www/html/nextcloud/
     ServerName example.com
     ServerAlias www.example.com
  
     Alias /nextcloud "/var/www/html/nextcloud/"

     <Directory /var/www/html/nextcloud/>
        Options +FollowSymlinks
        AllowOverride All
        Require all granted
          <IfModule mod_dav.c>
            Dav off
          </IfModule>
        SetEnv HOME /var/www/html/nextcloud
        SetEnv HTTP_HOME /var/www/html/nextcloud
     </Directory>

     ErrorLog ${APACHE_LOG_DIR}/error.log
     CustomLog ${APACHE_LOG_DIR}/access.log combined

RewriteEngine on
RewriteCond %{SERVER_NAME} =example.com [OR]
RewriteCond %{SERVER_NAME} =www.example.com
RewriteRule ^ https://%{SERVER_NAME}%{REQUEST_URI} [END,NE,R=permanent]

</VirtualHost>

Tệp cấu hình mới cho miền cũng phải được tạo có tên  /etc/apache2/sites-available/nextcloud-le-ssl.conf . Đây là tệp cấu hình mô-đun Apache2 SSL và phải chứa các định nghĩa chứng chỉ được xác định trong đó.

<IfModule mod_ssl.c>
<VirtualHost *:443>
     ServerAdmin admin@example.com
     DocumentRoot /var/www/html/nextcloud/
     ServerName example.com
     ServerAlias www.example.com
  
     Alias /nextcloud "/var/www/html/nextcloud/"

     <Directory /var/www/html/nextcloud/>
        Options +FollowSymlinks
        AllowOverride All
        Require all granted
          <IfModule mod_dav.c>
            Dav off
          </IfModule>
        SetEnv HOME /var/www/html/nextcloud
        SetEnv HTTP_HOME /var/www/html/nextcloud
     </Directory>

     ErrorLog ${APACHE_LOG_DIR}/error.log
     CustomLog ${APACHE_LOG_DIR}/access.log combined

SSLCertificateFile /etc/letsencrypt/live/example.com/fullchain.pem
SSLCertificateKeyFile /etc/letsencrypt/live/example.com/privkey.pem
Include /etc/letsencrypt/options-ssl-apache.conf

</VirtualHost>
</IfModule>

Sau đó, mở trình duyệt của bạn và duyệt đến tên miền máy chủ, sau đó là cài đặt. Bạn sẽ thấy trình hướng dẫn thiết lập NextCloud để hoàn tất. Hãy làm theo hướng dẫn một cách cẩn thận.

https://example.com

Sau đó, bạn sẽ thấy trang thiết lập NextCloud .. Kết nối với cơ sở dữ liệu bằng cách sử dụng thông tin bạn đã tạo và tiếp tục. Chọn máy chủ cơ sở dữ liệu được cài đặt trên hệ thống của bạn bằng cách nhấp vào nó như thể hiện trong hình ảnh bên dưới

cài đặt nextcloud ubuntu

Nhấp vào Hoàn tất thiết lập và bạn đã hoàn tất.

Thưởng thức!

thiết lập nextcloud ubuntu

Xin chúc mừng! Bạn đã cài đặt thành công NextCloud trên Ubuntu 16.04 LTS với hỗ trợ Let's Encrypt.

Để thiết lập quy trình tự động gia hạn chứng chỉ, hãy thêm công việc cron để thực hiện quy trình gia hạn.

sudo crontab -e

Sau đó thêm dòng bên dưới và lưu.

0 1 * * * /usr/bin/certbot renew & > /dev/null

Công việc cron sẽ cố gắng gia hạn 30 ngày trước khi hết hạn

Thưởng thức!

 

 

Đăng nhận xét

0 Nhận xét