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.
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:
Tiếp theo, thêm kho lưu trữ PHP bằng lệnh sau:
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:
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:
Thay đổi những mục sau cài đặt:
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:
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:
Sau khi hoàn tất, hãy đăng nhập vào giao diện MariaDB bằng lệnh sau lệnh:
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:
Tiếp theo, xóa quyền và thoát khỏi shell MariaDB bằng lệnh sau:
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.
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:
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:
Tiếp theo, đặt quyền thích hợp cho các thư mục khác:
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:
Thêm các dòng sau:
Lưu và đóng tệp, sau đó chạy tập lệnh cài đặt Composer bằng lệnh sau:
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:
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.
Thêm các dòng sau:
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:
Tiếp theo, khởi động lại dịch vụ Apache để áp dụng các thay đổi:
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:
Bạn sẽ nhận được kết quả sau:
Sau khi hoàn tất, bạn có thể tiến hành bước tiếp theo.
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
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 sang HTTPS hay không như hiển thị bên dưới:
Nhập 2 và nhấn Enter để cài đặt Let's Encrypt SSL cho bạn trang web:
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
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
Mã:
add-apt-repository ppa:ondrej/php
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
Mã:
nano /etc/php/7.4/apache2/php.ini
Mã:
post_max_size = 100M
upload_max_filesize = 100M
max_execution_time = 7200
memory_limit = 512M
date.timezone = UTC
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
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
Mã:
mysql -u root -p
Mã:
MariaDB [(none)]> create database syspassdb;
MariaDB [(none)]> grant all privileges on syspassdb.* to syspassuser@localhost identified by "password";
Mã:
MariaDB [(none)]> flush privileges;
MariaDB [(none)]> exit;
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
Mã:
mv sysPass /var/www/html/syspass
Mã:
chown -R www-data:www-data /var/www/html/syspass
Mã:
chmod 750 /var/www/html/syspass/app/{config,backup}
Đầ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
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
Mã:
cd /var/www/html/syspass/
sh install-composer.sh
Mã:
php composer.phar install --no-dev
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
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
Mã:
a2ensite syspass
Mã:
systemctl restart apache2
Mã:
systemctl status apache2
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...
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
Mã:
certbot --apache -d syspass.example.com
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
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
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