Cài đặt sysPass Password Manager với Free Let's Encrypt SSL trên Ubuntu 22.04

theanh

Administrator
Nhân viên
sysPass là một công cụ quản lý mật khẩu miễn phí, mã nguồn mở và dựa trên PHP được sử dụng để lưu mật khẩu của bạn ở một vị trí an toàn. Công cụ này dựa trên web, an toàn, đáng tin cậy và được thiết kế cho môi trường nhiều người dùng. Nó đi kèm với giao diện web thân thiện với người dùng giúp người dùng định cấu hình các tùy chọn khác nhau như xác thực LDAP, thư, kiểm tra, sao lưu, nhập/xuất, v.v. sysPass có thể được cài đặt thông qua ứng dụng web, ứng dụng di động và tiện ích mở rộng của trình duyệt.

Trong bài đăng này, chúng tôi sẽ chỉ cho bạn cách cài đặt trình quản lý mật khẩu sysPass trên Ubuntu 22.04.

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

  • Một máy chủ chạy Ubuntu 22.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 định cấu hình trên máy chủ.

Cài đặt Apache, MariaDB và PHP​

Trước khi bắt đầu, bạn sẽ cần cài đặt máy chủ web Apache, máy chủ cơ sở dữ liệu MariaDB, PHP và các tiện ích mở rộng PHP khác vào máy chủ của mình. Trước tiên, hãy cài đặt máy chủ Apache và MariaDB bằng lệnh sau:
Mã:
apt-get install apache2 mariadb-server -y
Theo mặc định, Ubuntu 22.04 đi kèm với phiên bản PHP 8.1, nhưng sysPass không hỗ trợ phiên bản PHP 8.1. Vì vậy, bạn sẽ cần cài đặt phiên bản PHP 7.4 với các tiện ích mở rộng khác trên máy chủ của mình.

Trước tiên, hãy cài đặt tất cả các phần phụ thuộc cần thiết bằng lệnh sau:
Mã:
apt install software-properties-common ca-certificates lsb-release apt-transport-https
Tiếp theo, thêm kho lưu trữ PHP bằng lệnh sau:
Mã:
add-apt-repository ppa:ondrej/php
Sau khi kho lưu trữ PHP được thêm vào, hãy chạy lệnh sau để cài đặt PHP 7.4 với tất cả các phần phụ thuộc cần thiết phần mở rộng:
Mã:
apt install libapache2-mod-php7.4 php7.4 php7.4-mysqli php7.4-pdo php7.4 php7.4-cgi php7.4-cli php7.4-common php7.4-gd php7.4-json php7.4-readline php7.4-curl php7.4-intl php7.4-ldap php7.4-xml php7.4-mbstring git -y
Sau khi tất cả các gói được cài đặt, hãy chỉnh sửa tệp php.ini và thực hiện một số thay đổi:
Mã:
nano /etc/php/7.4/apache2/php.ini
Thay đổi những mục sau cài đặt:
Mã:
post_max_size = 100M
upload_max_filesize = 100M
max_execution_time = 7200
memory_limit = 512M
date.timezone = UTC
Lưu và đóng tệp khi bạn hoàn tất. Tiếp theo, khởi động lại dịch vụ Apache để áp dụng các thay đổi cấu hình:
Mã:
systemctl restart apache2

Cấu hình MariaDB cho sysPass​

Theo mặc định, cài đặt MariaDB không được bảo mật. Vì vậy, trước tiên bạn cần bảo mật nó. Bạn có thể bảo mật bằng lệnh sau:
Mã:
mysql_secure_installation
Trả lời tất cả các câu hỏi như hiển thị bên dưới để đặt mật khẩu gốc MariaDB và bảo mật cài đặt:
Mã:
Enter current password for root (enter for none):
Switch to unix_socket authentication [Y/n] Y
Change the root password? [Y/n] Y
New password:
Re-enter new password:
Remove anonymous users? [Y/n] Y
Disallow root login remotely? [Y/n] Y
Remove test database and access to it? [Y/n] Y
Reload privilege tables now? [Y/n] Y
Sau khi hoàn tất, hãy đăng nhập vào giao diện MariaDB bằng lệnh sau lệnh:
Mã:
mysql -u root -p
Bạn sẽ được yêu cầu cung cấp mật khẩu gốc MariaDB. Sau khi đăng nhập, hãy tạo cơ sở dữ liệu và người dùng bằng lệnh sau:
Mã:
MariaDB [(none)]> create database syspassdb;
MariaDB [(none)]> grant all privileges on syspassdb.* to syspassuser@localhost identified by "password";
Tiếp theo, xóa quyền và thoát khỏi shell MariaDB bằng lệnh sau:
Mã:
MariaDB [(none)]> flush privileges;
MariaDB [(none)]> exit;
Lúc này, cơ sở dữ liệu MariaDB và người dùng của bạn đã sẵn sàng cho sysPass. Bây giờ bạn có thể tiến hành bước tiếp theo.

Cài đặt sysPass​

Trước tiên, hãy tải xuống phiên bản sysPass mới nhất từ kho lưu trữ Git bằng lệnh sau:
Mã:
git clone https://github.com/nuxsmin/sysPass.git
Sau khi tải xuống sysPass, hãy di chuyển thư mục đã tải xuống đến thư mục gốc web Apache:
Mã:
mv sysPass /var/www/html/syspass
Tiếp theo, hãy đặt quyền sở hữu phù hợp thành thư mục syspass bằng lệnh sau:
Mã:
chown -R www-data:www-data /var/www/html/syspass
Tiếp theo, đặt quyền thích hợp cho các thư mục khác:
Mã:
chmod 750 /var/www/html/syspass/app/{config,backup}
Tiếp theo, bạn sẽ cần cài đặt Composer vào hệ thống của mình.

Đầu tiên, hãy tạo một tập lệnh cài đặt Composer bằng lệnh sau lệnh:
Mã:
nano /var/www/html/syspass/install-composer.sh
Thêm các dòng sau:
Mã:
#!/bin/sh EXPECTED_SIGNATURE="$(wget -q -O - https://composer.github.io/installer.sig)" php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');" ACTUAL_SIGNATURE="$(php -r "echo hash_file('sha384', 'composer-setup.php');")" if [ "$EXPECTED_SIGNATURE" != "$ACTUAL_SIGNATURE" ] then >&2 echo 'ERROR: Invalid installer signature' rm composer-setup.php exit 1 fi php composer-setup.php --quiet RESULT=$? rm composer-setup.php exit $RESULT
Lưu và đóng tệp, sau đó chạy tập lệnh cài đặt Composer bằng lệnh sau:
Mã:
cd /var/www/html/syspass/
sh install-composer.sh
Sau khi Composer được cài đặt, hãy chạy lệnh sau để cài đặt tất cả các PHP cần thiết phụ thuộc:
Mã:
php composer.phar install --no-dev
Sau khi tất cả các phụ thuộc được cài đặt, bạn có thể tiến hành bước tiếp theo.

Cấu hình Apache cho sysPass​

Tiếp theo, bạn sẽ cần tạo tệp cấu hình máy chủ ảo Apache để lưu trữ sysPass trên web. Bạn có thể tạo nó bằng lệnh sau:
Mã:
nano /etc/apache2/sites-available/syspass.conf
Thêm các dòng sau:
Mã:
ServerAdmin [emailprotected]
DocumentRoot "/var/www/html/syspass"
ServerName syspass.example.com

Options MultiViews FollowSymlinks
AllowOverride All
Order allow,deny
Allow from all

TransferLog /var/log/apache2/syspass_access.log
ErrorLog /var/log/apache2/syspass_error.log
Lưu và đóng tệp khi bạn hoàn tất, sau đó kích hoạt máy chủ ảo Apache bằng lệnh sau lệnh:
Mã:
a2ensite syspass
Tiếp theo, khởi động lại dịch vụ Apache để áp dụng các thay đổi:
Mã:
systemctl restart apache2
Bạn cũng có thể kiểm tra trạng thái của dịch vụ Apache bằng cách sử dụng lệnh sau lệnh:
Mã:
systemctl status apache2
Bạn sẽ nhận được kết quả sau:
Mã:
? apache2.service - The Apache HTTP Server Loaded: loaded (/lib/systemd/system/apache2.service; enabled; vendor prese> Active: active (running) since Sun 2022-07-24 04:27:17 UTC; 6s ago Docs: https://httpd.apache.org/docs/2.4/ Process: 62773 ExecStart=/usr/sbin/apachectl start (code=exited, status=0/S> Main PID: 62777 (apache2) Tasks: 6 (limit: 2242) Memory: 14.3M CPU: 109ms CGroup: /system.slice/apache2.service ??62777 /usr/sbin/apache2 -k start ??62778 /usr/sbin/apache2 -k start ??62779 /usr/sbin/apache2 -k start ??62780 /usr/sbin/apache2 -k start ??62781 /usr/sbin/apache2 -k start ??62782 /usr/sbin/apache2 -k start
Jul 24 04:27:17 ubuntu systemd[1]: Starting The Apache HTTP Server...
Sau khi hoàn tất, bạn có thể tiến hành bước tiếp theo.

Truy cập Giao diện Quản trị sysPass​

Bây giờ, hãy mở trình duyệt web của bạn và truy cập giao diện Quản trị sysPass bằng URL Bạn sẽ được chuyển hướng đến trang sau:


data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22383%22%3E%3C/svg%3E



data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22237%22%3E%3C/svg%3E


Cung cấp tên người dùng quản trị, mật khẩu, mật khẩu chính, thông tin xác thực cơ sở dữ liệu, chọn ngôn ngữ, chế độ lưu trữ, và nhấp vào nút CÀI ĐẶT. Sau khi quá trình cài đặt hoàn tất, bạn sẽ được chuyển hướng đến trang đăng nhập sysPass.


data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22363%22%3E%3C/svg%3E


Cung cấp tên người dùng, mật khẩu quản trị viên và nhấp vào nút >. Bạn sẽ thấy bảng điều khiển sysPass trên trang sau:


data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22370%22%3E%3C/svg%3E

Cài đặt Let's Encrypt SSL trên sysPass​

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 22.04, vì vậy bạn có thể cài đặt gói này bằng lệnh sau:
Mã:
apt-get install python3-certbot-apache -y
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:
Mã:
certbot --apache -d syspass.example.com
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:
Mã:
Saving debug log to /var/log/letsencrypt/letsencrypt.log
Plugins selected: Authenticator standalone, Installer None
Enter email address (used for urgent renewal and security notices) (Enter 'c' to
cancel): [emailprotected]
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
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-v02.api.letsencrypt.org/directory
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
(A)gree/(C)ancel: A
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
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 our work
encrypting the web, EFF news, campaigns, and ways to support digital freedom.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
(Y)es/(N)o: Y
Plugins selected: Authenticator apache, Installer apache
Obtaining a new certificate
Performing the following challenges:
http-01 challenge for syspass.example.com
Enabled Apache rewrite module
Waiting for verification...
Cleaning up challenges
Created an SSL vhost at /etc/apache2/sites-available/syspass-le-ssl.conf
Enabled Apache socache_shmcb module
Enabled Apache ssl module
Deploying Certificate to VirtualHost /etc/apache2/sites-available/syspass-le-ssl.conf
Enabling available site: /etc/apache2/sites-available/syspass-le-ssl.conf
Tiếp theo, chọn có chuyển hướng lưu lượng HTTP sang HTTPS hay không như hiển thị bên dưới:
Mã:
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
Nhập 2 và nhấn Enter để cài đặt Let's Encrypt SSL cho bạn trang web:
Mã:
Enabled Apache rewrite module
Redirecting vhost in /etc/apache2/sites-enabled/syspass.conf to ssl vhost in /etc/apache2/sites-available/syspass-le-ssl.conf
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Congratulations! You have successfully enabled https://syspass.example.com
You should test your configuration at:
https://www.ssllabs.com/ssltest/analyze.html?d=syspass.example.com
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
IMPORTANT NOTES: - Congratulations! Your certificate and chain have been saved at: /etc/letsencrypt/live/syspass.example.com/fullchain.pem Your key file has been saved at: /etc/letsencrypt/live/syspass.example.com/privkey.pem Your cert will expire on 2022-10-20. 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

Kết luận​

Xin chúc mừng! bạn đã cài đặt thành công trình quản lý mật khẩu sysPass với Apache và Let's Encrypt SSL trên Ubuntu 22.04. Bây giờ bạn có thể khám phá trình quản lý mật khẩu sysPass và bắt đầu triển khai nó trong môi trường sản xuất của mình.
 
Back
Bên trên