ProjectSend là ứng dụng chia sẻ tệp và hình ảnh miễn phí và mã nguồn mở giúp bạn chia sẻ tệp giữa công ty và khách hàng. Đây là công cụ chia sẻ tệp hướng đến khách hàng cho phép bạn tải lên và chia sẻ kích thước tệp không giới hạn trên bất kỳ máy chủ nào. Nó được viết bằng PHP và sử dụng cơ sở dữ liệu MySQL để lưu trữ thông tin. Nó cung cấp một bộ tính năng phong phú bao gồm Thống kê thời gian thực, tự đăng ký, tự đăng nhập, Mẫu email tùy chỉnh, v.v.
Trong bài đăng này, chúng tôi sẽ chỉ cho bạn cách cài đặt ứng dụng chia sẻ tệp ProjectSend với Apache và Let's Encrypt SSL trên Ubuntu 20.04.
Sau khi tất cả các gói được cập nhật, bạn có thể tiến hành bước tiếp theo.
Sau khi cài đặt tất cả các gói, hãy chỉnh sửa tệp php.ini:
Thay đổi các thiết lập sau:
Lưu và đóng tệp, sau đó khởi động lại dịch vụ Apache để áp dụng các thay đổi:
Sau khi hoàn tất, bạn có thể tiến hành bước tiếp theo.
Để thực hiện, hãy đăng nhập vào MariaDB bằng lệnh sau:
Sau khi đăng nhập, hãy tạo cơ sở dữ liệu và người dùng bằng lệnh sau:
Tiếp theo, cấp tất cả các quyền cho cơ sở dữ liệu projectsend bằng lệnh sau:
Tiếp theo, xóa các quyền và thoát khỏi MariaDB bằng lệnh sau:
Sau khi hoàn tất, bạn có thể tiến hành bước tiếp theo.
Sau khi 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:
Tiếp theo, hãy thay đổi thư mục thành thư mục đã giải nén và đổi tên tệp cấu hình mặc định:
Tiếp theo, hãy chỉnh sửa tệp cấu hình bằng lệnh sau:
Thay đổi các cài đặt sau:
Lưu và đóng tệp, sau đó đặt quyền và quyền sở hữu phù hợp bằng lệnh sau:
Sau khi hoàn tất, bạn có thể tiến hành bước tiếp theo.
Thêm các dòng sau:
Lưu và đóng tệp, sau đó bật mô-đun ghi đè và tệp cấu hình máy chủ ảo bằng lệnh sau:
Tiếp theo, khởi động lại dịch vụ Apache để áp dụng các thay đổi:
Bây giờ bạn có thể kiểm tra trạng thái của Apache bằng lệnh sau:
Bạn sẽ thấy đầu ra sau:
Cung cấp tên trang web, URL trang web, tên người dùng quản trị, mật khẩu và nhấp vào nút Cài đặt. Bạn sẽ thấy trang sau:
Bây giờ, hãy nhấp vào nút Đăng nhập. Bạn sẽ thấy trang sau:
Cung cấp tên người dùng quản trị, mật khẩu và nhấp vào nút Đăng nhập. Bạn sẽ thấy bảng điều khiển ProjectSend trên trang sau:
Sau khi Certbot được 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:
Bạn sẽ được yêu cầu cung cấp email và chấp nhận điều khoản dịch vụ như hiển thị bên dưới:
Tiếp theo, chọn có chuyển hướng lưu lượng HTTP tới hay không HTTPS như được hiển thị bên dưới:
Nhập 2 và nhấn Enter để cài đặt Let's Encrypt SSL cho trang web của bạn:
Trong bài đăng này, chúng tôi sẽ chỉ cho bạn cách cài đặt ứng dụng chia sẻ tệp ProjectSend với Apache và Let's Encrypt SSL trên Ubuntu 20.04.
Điều kiện tiên quyết
- Một máy chủ chạy Ubuntu 20.04.
- Một tên miền hợp lệ được trỏ bằng IP máy chủ của bạn.
- Một mật khẩu gốc được cấu hình trên máy chủ.
Bắt đầu
Trước tiên, hãy cập nhật các gói hệ thống lên phiên bản đã cập nhật bằng cách chạy lệnh sau:
Mã:
apt-get update -y
Cài đặt LAMP Server
Đầu tiên, bạn sẽ cần cài đặt Apache, MariaDB, PHP và các tiện ích mở rộng cần thiết khác vào máy chủ của mình. Bạn có thể cài đặt tất cả chúng bằng lệnh sau:
Mã:
apt-get install apache2 mariadb-server imagemagick php libapache2-mod-php php-imagick php7.4-common php7.4-mysql php7.4-gd php7.4-json php7.4-curl php7.4-zip php7.4-xml php7.4-mbstring php7.4-bz2 php7.4-intl php7.4-bcmath php7.4-gmp
Mã:
nano /etc/php/7.4/apache2/php.ini
Mã:
memory_limit = 512Mupload_max_filesize = 32Mmax_execution_time = 300date.timezone = Asia/Kolkata
Mã:
systemctl restart apache2
Tạo cơ sở dữ liệu cho ProjectSend
Tiếp theo, bạn sẽ cần tạo cơ sở dữ liệu và người dùng cho ProjectSend.Để thực hiện, hãy đăng nhập vào MariaDB bằng lệnh sau:
Mã:
mysql
Mã:
MariaDB [(none)]> create database projectsend;
MariaDB [(none)]> tạo người dùng projectsend@localhost được xác định bởi 'password';
Mã:
MariaDB [(none)]> cấp tất cả các quyền trên projectsend.* cho projectsend@localhost;
Mã:
MariaDB [(none)]> xóa các quyền;
MariaDB [(none)]> thoát;
Tải xuống ProjectSend
Tiếp theo, bạn sẽ cần tải xuống phiên bản mới nhất của ProjectSend từ trang web chính thức của ứng dụng. Bạn có thể tải xuống bằng lệnh sau:
Mã:
wget -O projectsend.zip https://www.projectsend.org/download/387/
Mã:
unzip projectsend.zip -d /var/www/html/projectsend
Mã:
cd /var/www/html/projectsend/includes
cp sys.config.sample.php sys.config.php
Mã:
nano sys.config.php
Mã:
define('DB_DRIVER', 'mysql');/** Tên cơ sở dữ liệu */define('DB_NAME', 'projectsend');/** Máy chủ cơ sở dữ liệu (trong hầu hết các trường hợp là localhost) */define('DB_HOST', 'localhost');/** Tên người dùng cơ sở dữ liệu (phải được gán cho cơ sở dữ liệu) */define('DB_USER', 'projectsend');/** Mật khẩu cơ sở dữ liệu */define('DB_PASSWORD', 'password');
Mã:
chown -R www-data:www-data /var/www/html/projectsend
chmod -R 775 /var/www/html/projectsend
chmod 644 /var/www/html/projectsend/includes/sys.config.php
Cấu hình Apache cho ProjectSend
Tiếp theo, tạo tệp cấu hình máy chủ ảo Apache bằng lệnh sau:
Mã:
nano /etc/apache2/sites-available/projectsend.conf
Mã:
ServerAdmin [emailprotected]DocumentRoot /var/www/html/projectsend/ServerName projectsend.example.comOptions FollowSymLinksAllowOverride AllOrder allow,denyallow from allErrorLog /var/log/apache2/example.com-error_logCustomLog /var/log/apache2/example.com-access_log common
Mã:
a2enmod rewrite
a2ensite projectsend.conf
Mã:
systemctl restart apache2
Mã:
systemctl status apache2
Mã:
? apache2.service - Máy chủ HTTP Apache Đã tải: đã tải (/lib/systemd/system/apache2.service; đã bật; cài đặt trước của nhà cung cấp: đã bật) Đang hoạt động: đang hoạt động (đang chạy) kể từ Thứ 4, 2021-06-02 07:11:08 UTC; 5 phút trước Tài liệu: https://httpd.apache.org/docs/2.4/ Tiến trình: 17680 ExecReload=/usr/sbin/apachectl graceful (code=exited, status=0/SUCCESS) PID chính: 14862 (apache2) Nhiệm vụ: 6 (giới hạn: 2353) Bộ nhớ: 25,0M CGroup: /system.slice/apache2.service ??14862 /usr/sbin/apache2 -k start ??17684 /usr/sbin/apache2 -k start ??17685 /usr/sbin/apache2 -k start ??17686 /usr/sbin/apache2 -k start ??17687 /usr/sbin/apache2 -k start ??17688 /usr/sbin/apache2 -k start02/06 07:11:08 ubuntu2004 systemd[1]: Đang khởi động Máy chủ HTTP Apache...
Truy cập Giao diện Web ProjectSend
Bây giờ, hãy mở trình duyệt web của bạn và truy cập giao diện web ProjectSend bằng URL . Bạn sẽ thấy trang sau:Cung cấp tên trang web, URL trang web, tên người dùng quản trị, mật khẩu và nhấp vào nút Cài đặt. Bạn sẽ thấy trang sau:
Bây giờ, hãy nhấp vào nút Đăng nhập. Bạn sẽ thấy trang sau:
Cung cấp tên người dùng quản trị, mật khẩu và nhấp vào nút Đăng nhập. Bạn sẽ thấy bảng điều khiển ProjectSend trên trang sau:
Bảo mật ProjectSend bằng Let's Encrypt SSL
Luôn là một ý tưởng hay khi bảo mật trang web của bạn bằng Let's Encrypt SSL. Trước tiên, bạn sẽ cần cài đặt ứng dụng khách Certbot để cài đặt và quản lý SSL. Theo mặc định, gói Certbot được bao gồm trong kho lưu trữ mặc định của Ubuntu để bạn có thể cài đặt bằng lệnh sau:
Mã:
apt-get install python3-certbot-apache -y
Mã:
certbot --apache -d projectsend.example.com
Mã:
Lưu nhật ký gỡ lỗi vào /var/log/letsencrypt/letsencrypt.logCác plugin đã chọn: Authenticator standalone, Installer NoneNhập địa chỉ email (dùng để gia hạn khẩn cấp và thông báo bảo mật) (Nhập 'c' đểhủy): [emailprotected]- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Vui lòng đọc Điều khoản dịch vụ tạihttps://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ạihttps://acme-v02.api.letsencrypt.org/directory- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -(A)gree/(C)ancel: A- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Bạn có muốn chia sẻ địa chỉ email của mình với Electronic Frontier Foundation, đối tác sáng lập của dự án Let's Encrypt và tổ chức phi lợi nhuậnphát triển Certbot không? Chúng tôi muốn gửi cho bạn email về công việc của chúng tôimã hóa web, tin tức EFF, các chiến dịch và các cách hỗ trợ tự do kỹ thuật số.- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -(C)ó/(K)o: CCác plugin đã chọn: Authenticator apache, Installer apacheNhận chứng chỉ mớiThực hiện các thử thách sau:Thử thách http-01 cho projectsend.example.comĐã bật mô-đun ghi đè ApacheĐang chờ xác minh...Dọn dẹp các thử tháchĐã tạo một vhost SSL tại /etc/apache2/sites-available/projectsend-le-ssl.confĐã bật mô-đun Apache socache_shmcbĐã bật mô-đun Apache sslTriển khai chứng chỉ tới VirtualHost /etc/apache2/sites-available/projectsend-le-ssl.confBật trang web khả dụng: /etc/apache2/sites-available/projectsend-le-ssl.conf
Mã:
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 bất kỳ thay đổi nào đối với cấu hình máy chủ web.2: Chuyển hướng - Chuyển hướng tất cả các yêu cầu đến quyền truy cập HTTPS an toàn. Chọn tùy chọn này chocác trang web mới hoặc nếu bạn tin tưởng rằng trang web của mình hoạt động trên HTTPS. Bạn có thể hoàn tácthay đổi này bằng cách chỉnh sửa cấu hình máy chủ web của mình.- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Chọn số thích hợp [1-2] rồi [enter] (nhấn 'c' để hủy): 2
Mã:
Bật mô-đun viết lại ApacheĐang chuyển hướng vhost trong /etc/apache2/sites-enabled/projectsend.conf sang ssl vhost trong /etc/apache2/sites-available/projectsend-le-ssl.conf- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Xin chúc mừng! Bạn đã bật thành công https://projectsend.example.comBạn nên kiểm tra cấu hình của mình tại:https://www.ssllabs.com/ssltest/analyze.html?d=projectsend.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/projectsend.example.com/fullchain.pem Tệp khóa của bạn đã được lưu tại: /etc/letsencrypt/live/projectsend.example.com/privkey.pem Chứng chỉ của bạn sẽ hết hạn vào ngày 23-12-2021. Để có phiên bản mới hoặc đã chỉnh sửa 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ả* chứng chỉ của bạn, hãy chạy "certbot renew" - Nếu bạn thích Certbot, vui lòng cân nhắc hỗ trợ 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