Cách cài đặt Nextcloud với Apache và Let’s Encrypt SSL trên Ubuntu 22.04 LTS
Nextcloud là giải pháp đồng bộ hóa và chia sẻ tệp mã nguồn mở, miễn phí giúp bạn lưu trữ tài liệu cá nhân, tệp, ảnh và các tài liệu khác của mình ở một vị trí trung tâm. Nó rất giống với các giải pháp lưu trữ đám mây khác như Dropbox, Google Drive, iCloud,… Bạn nên chuyển sang NextCloud nếu lo lắng về quyền riêng tư vì bạn có thể cài đặt Nextcloud trên máy chủ của riêng mình. Bạn có thể tải tệp và tài liệu khác lên máy chủ Nextcloud của mình rồi đồng bộ hóa tất cả chúng với máy tính để bàn, máy tính xách tay hoặc điện thoại thông minh của bạn.
Trong hướng dẫn này, chúng tôi sẽ chỉ cho bạn cách cài đặt Nextcloud trên máy chủ Ubuntu 22.04.
Yêu cầu
- Máy chủ chạy Ubuntu 22.04.
- Tên miền hợp lệ được trỏ đến IP máy chủ.
- Mật khẩu gốc được định cấu hình trên máy chủ của bạn.
Cài đặt Apache, PHP và MariaDB
Trước khi bắt đầu, ngăn xếp LAMP phải được cài đặt trên máy chủ của bạn. Nếu chưa được cài đặt, bạn có thể cài đặt nó bằng lệnh sau:
apt install apache2 mariadb-server php php-cli php-fpm php-json php-intl php-imagick php-pdo php-mysql php-zip php-gd php-mbstring php-curl php-xml php-pear php-bcmath apache2 libapache2-mod-php -y
Sau khi cài đặt tất cả các gói, hãy chỉnh sửa tệp cấu hình PHP và thay đổi một số cài đặt mặc định:
nano /etc/php/8.1/apache2/php.ini
Thay đổi các dòng sau:
date.timezone = UTC memory_limit = 512M upload_max_filesize = 500 triệu post_max_size = 500 triệu max_execution_time = 300
Lưu và đóng tệp, sau đó khởi động lại dịch vụ Apache để áp dụng các thay đổi:
systemctl restart apache2
Tạo cơ sở dữ liệu cho Nextcloud
Nextcloud sử dụng cơ sở dữ liệu MariaDB làm phần phụ trợ cơ sở dữ liệu, vì vậy bạn sẽ cần tạo cơ sở dữ liệu và người dùng trong MariaDB.
Đầu tiên, kết nối với trình bao MariaDB bằng lệnh sau:
mysql
Khi bạn đã kết nối với MariaDB, hãy tạo cơ sở dữ liệu và người dùng bằng lệnh sau:
CREATE DATABASE nextcloud;
CREATE USER 'nextcloud'@'localhost' identified by 'password';
Tiếp theo, cấp tất cả các đặc quyền cho cơ sở dữ liệu Nextcloud bằng lệnh sau:
GRANT ALL PRIVILEGES ON nextcloud.* TO 'nextcloud'@'localhost';
Tiếp theo, xóa các đặc quyền và thoát khỏi MariaDB bằng lệnh sau:
FLUSH PRIVILEGES;
QUIT;
Tải xuống Nextcloud
Tại thời điểm viết bài, phiên bản mới nhất của Nextcloud là 24.0.1. Bạn có thể tải xuống bằng lệnh sau:
wget https://download.nextcloud.com/server/releases/nextcloud-24.0.1.zip
Sau khi quá trình tải xuống hoàn tất, hãy giải nén tệp đã tải xuống bằng lệnh sau:
unzip nextcloud-24.0.1.zip
Tiếp theo, di chuyển thư mục đã giải nén đến thư mục gốc của Apache bằng lệnh sau:
mv nextcloud /var/www/html/
Tiếp theo, thay đổi quyền sở hữu và quyền của thư mục Nextcloud bằng lệnh sau:
chown -R www-data:www-data /var/www/html/nextcloud
chmod -R 775 /var/www/html/nextcloud
Tạo máy chủ ảo Apache cho Nextcloud
Tiếp theo, bạn sẽ cần tạo tệp cấu hình máy chủ ảo Apache cho Nextcloud. Bạn có thể tạo nó bằng lệnh sau:
nano /etc/apache2/sites-available/next.conf
Thêm các dòng sau:
<VirtualHost *: 80> ServerAdmin [email được bảo vệ] DocumentRoot / var / www / html / nextcloud ServerName next.example.com ErrorLog /var/log/apache2/nextcloud-error.log CustomLog /var/log/apache2/nextcloud-access.log kết hợp <Thư mục / var / www / html / nextcloud> Tùy chọn + Theo dõi AllowOverride Tất cả Yêu cầu tất cả được cấp SetEnv HOME / var / www / html / nextcloud SetEnv HTTP_HOME / var / www / html / nextcloud <IfModule mod_dav.c> Dav tắt </IfModule> </Directory> </VirtualHost>
Lưu và đóng tệp, sau đó kích hoạt máy chủ ảo Apache và các mô-đun Apache bắt buộc khác bằng lệnh sau:
a2ensite next
a2enmod rewrite dir mime env headers
Tiếp theo, khởi động lại dịch vụ Apache để áp dụng các thay đổi:
systemctl restart apache2
Bạn cũng có thể kiểm tra trạng thái của Apache bằng lệnh sau:
systemctl status apache2
Bạn sẽ nhận được trạng thái Apache trong đầu ra sau:
? apache2.service - Máy chủ Apache HTTP Đã tải: đã tải (/lib/systemd/system/apache2.service; đã bật; cài đặt trước của nhà cung cấp: đã bật) Hoạt động: hoạt động (đang chạy) kể từ Thứ Sáu 2022-06-17 15:04:27 UTC; 4 giây trước Tài liệu: https://httpd.apache.org/docs/2.4/ Quá trình: 16746 ExecStart = / usr / sbin / apachectl start (code = exited, status = 0 / SUCCESS) PID chính: 16750 (apache2) Nhiệm vụ: 6 (giới hạn: 2292) Bộ nhớ: 14,7M CPU: 98ms CGroup: /system.slice/apache2.service ?? 16750 / usr / sbin / apache2 -k start ?? 16751 / usr / sbin / apache2 -k start ?? 16752 / usr / sbin / apache2 -k start ?? 16753 / usr / sbin / apache2 -k start ?? 16754 / usr / sbin / apache2 -k start ?? 16755 / usr / sbin / apache2 -k start 17 tháng 6 15:04:27 ubuntu2204 systemd [1]: Khởi động Máy chủ Apache HTTP ...
Truy cập Giao diện Web Nextcloud
Bây giờ, hãy mở trình duyệt web của bạn và truy cập giao diện người dùng web Nextcloud bằng URL http://next.example.com . Bạn sẽ thấy màn hình sau:
Xác định tên người dùng, mật khẩu, cơ sở dữ liệu quản trị của bạn và nhấp vào nút Cài đặt . Sau khi Nextcloud được cài đặt, bạn sẽ thấy màn hình sau: Quảng cáo
Nhấp vào Cài đặt ứng dụng được đề xuất để cài đặt tất cả các ứng dụng cần thiết. Bạn sẽ thấy màn hình sau:
Nhấp vào Tất cả các tệp . Bạn sẽ thấy trình quản lý lưu trữ Nextcloud trên màn hình sau:
Nhấp vào Ảnh của bạn . Bạn sẽ thấy trình quản lý ảnh Nextcloud trên màn hình sau:
Bật SSL trên Nextcloud
Bạn cũng nên bật SSL trên miền Nextcloud để liên lạc an toàn. Đầu tiên, cài đặt gói Certbot bằng lệnh sau:
apt-get install python3-certbot-apache -y
Sau khi cài đặt, hãy chạy lệnh sau để bảo mật trang web của bạn bằng Let’s Encrypt SSL:
certbot --apache -d next.example.com
Bạn sẽ được yêu cầu cung cấp email của mình và chấp nhận điều khoản dịch vụ như hình dưới đây:
Lưu nhật ký gỡ lỗi vào /var/log/letsencrypt/letsencrypt.log Các plugin đã chọn: Authenticator độc lập, Trình cài đặt Không có Nhập địa chỉ email (được sử dụng để gia hạn khẩn cấp và thông báo bảo mật) (Nhập 'c' vào hủy): [email được bảo vệ] - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Vui lòng đọc Điều khoản Dịch vụ tại https://letsencrypt.org/documents/LE-SA-v1.2-November-15-2017.pdf. Bạn phải đồng ý đăng ký với máy chủ ACME tại https://acme-v02.api.letsencrypt.org/directory - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - (A) gree / (C) ancel: A - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Bạn có sẵn sàng chia sẻ địa chỉ email của mình với Biên giới Điện tử không Foundation, đối tác sáng lập của dự án Let's Encrypt và tổ chức phi lợi nhuận tổ chức phát triển Certbot? Chúng tôi muốn gửi cho bạn email về công việc của chúng tôi mã hóa web, tin tức EFF, chiến dịch và các cách hỗ trợ tự do kỹ thuật số. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - (Y) es / (N) o: Y Các plugin đã chọn: Authenticator apache, Installer apache Lấy chứng chỉ mới Thực hiện các thử thách sau: http-01 thách thức cho next.example.com Đã bật mô-đun ghi lại Apache Đang chờ xác minh ... Làm sạch những thách thức Đã tạo vhost SSL tại /etc/apache2/sites-available/next-le-ssl.conf Đã bật mô-đun Apache socache_shmcb Đã bật mô-đun ssl Apache Triển khai chứng chỉ tới VirtualHost /etc/apache2/sites-available/next-le-ssl.conf Bật trang web khả dụng: /etc/apache2/sites-available/next-le-ssl.conf
Tiếp theo, chọn chuyển hướng lưu lượng HTTP sang HTTPS như hình dưới đây:
Vui lòng chọn có chuyển hướng lưu lượng HTTP sang HTTPS hay không, xóa quyền truy cập HTTP. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 1: Không chuyển hướng - Không thực hiện thêm thay đổi nào đối với cấu hình máy chủ web. 2: Chuyển hướng - Thực hiện tất cả các yêu cầu chuyển hướng đến quyền truy cập HTTPS an toàn. Chọn cái này cho các trang web mới hoặc nếu bạn tự tin rằng trang web của mình hoạt động trên HTTPS. Bạn có thể hoàn tác điều này thay đổi bằng cách chỉnh sửa cấu hình máy chủ web của bạn. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Chọn số thích hợp [1-2] rồi [enter] (nhấn 'c' để hủy): 2
Nhập 2 và nhấn Enter để cài đặt SSL Let’s Encrypt cho trang web của bạn:
Đã bật mô-đun ghi lại Apache Chuyển hướng vhost trong /etc/apache2/sites-enabled/next.conf thành ssl vhost trong /etc/apache2/sites-available/next-le-ssl.conf - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Xin chúc mừng! Bạn đã kích hoạt thành công https://next.example.com Bạn nên kiểm tra cấu hình của mình tại: https://www.ssllabs.com/ssltest/analyze.html?d=next.example.com - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - LƯU Ý QUAN TRỌNG: - Xin chúc mừng! Chứng chỉ và chuỗi của bạn đã được lưu tại: /etc/letsencrypt/live/next.example.com/fullchain.pem Tệp khóa của bạn đã được lưu tại: /etc/letsencrypt/live/next.example.com/privkey.pem Chứng chỉ của bạn sẽ hết hạn vào 2022-09-21. Để có được một cái mới hoặc đã được tinh chỉnh phiên bản của chứng chỉ này trong tương lai, chỉ cần chạy lại certbot với tùy chọn "certonly". Để gia hạn không tương tác * tất cả * trong số chứng chỉ của bạn, hãy chạy "gia hạn certbot" - Nếu bạn thích Certbot, hãy cân nhắc ủng hộ công việc của chúng tôi bằng cách: Quyên góp cho ISRG / Let's Encrypt: https://letsencrypt.org/donate Quyên góp cho EFF: https://eff.org/donate-le
Sự kết luận
Xin chúc mừng! bạn đã cài đặt thành công Nextcloud với Apache và Let’s Encrypt SSL trên Ubuntu 22.04. Giờ đây, bạn có thể tải lên tệp, tài liệu và ảnh của mình, đồng thời đồng bộ hóa chúng với máy tính, máy tính xách tay và thiết bị di động của bạn.