Cách cài đặt SysPass Password Manager trên Rocky Linux

theanh

Administrator
Nhân viên
SysPass là trình quản lý mật khẩu nguồn mở được viết bằng PHP với mã hóa AES-256 CTR. Nó được thiết kế để quản lý mật khẩu tập trung và cộng tác. cung cấp quản lý hồ sơ nâng cao, nhiều người dùng với người dùng, nhóm và quản lý hồ sơ. Hỗ trợ các phương pháp xác thực thông qua MySQL/MariaDB và OpenLDAP Active Directory và được thiết kế tương tác với thiết kế vật liệu thông qua HTML5 và AJAX.

SysPass cung cấp API cho phép bạn tích hợp với các ứng dụng khác. Hỗ trợ cơ sở dữ liệu mật khẩu Keepass và tệp CSV để nhập và xuất. Nó cũng cung cấp lịch sử tài khoản và khôi phục điểm, đa ngôn ngữ và liên kết công khai mà không cần đăng nhập (liên kết ẩn danh).

Trong hướng dẫn này, bạn sẽ cài đặt SysPass Password Manager với Apache2, MariaDB và PHP trên máy chủ Rocky Linux. Bạn cũng sẽ bảo mật cài đặt SysPass bằng chứng chỉ SSL và cũng sẽ tìm hiểu cách cài đặt Composer trên Rocky Linux để quản lý các phụ thuộc PHP.

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

Để hoàn thành hướng dẫn này, bạn sẽ cần các yêu cầu sau:
  • Máy chủ Rocky Linux - Bạn có thể sử dụng Rocky Linux v8 hoặc v9.
  • Người dùng không phải root có quyền root sudo.
  • Tên miền đầy đủ được trỏ đến địa chỉ IP máy chủ của bạn.

Cài đặt Máy chủ Web Httpd​

Đối với hướng dẫn này, bạn sẽ chạy Trình quản lý mật khẩu SysPass với máy chủ web Apache hoặc httpd. Trên Rocky Linux, máy chủ web httpd có sẵn theo mặc định trên kho lưu trữ BaseOS và AppStream.

Bạn sẽ dễ dàng cài đặt máy chủ web httpd thông qua kho lưu trữ chính thức của Rocky Linux.

Chạy lệnh dnf bên dưới để cài đặt máy chủ web httpd.
Mã:
sudo dnf install httpd
Nhập Y để xác nhận cài đặt và nhấn ENTER để tiếp tục.



Sau khi httpd được cài đặt, hãy chạy lệnh systemctl bên dưới để khởi động và kích hoạt dịch vụ httpd. Lệnh 'systemctl enable' cho phép bạn chạy các dịch vụ khi khởi động hệ thống.
Mã:
sudo systemctl start httpd
sudo systemctl enable httpd
Bây giờ, hãy chạy lệnh sau để xác minh trạng thái dịch vụ httpd và đảm bảo dịch vụ đang chạy.
Mã:
sudo systemctl status httpd
Bạn sẽ nhận được đầu ra như ảnh chụp màn hình sau. Dịch vụ httpd hiện đang chạy và được bật.



Bây giờ, nếu bạn đã bật tường lửa và chạy trên máy chủ Rocky Linux của mình, bạn phải thêm cả dịch vụ HTTP và HTTPS vào tường lửa.

Chạy lệnh firwewall-cmd sau đây để thêm dịch vụ HTTP và HTTPS vào tường lửa.
Mã:
sudo firewall-cmd --add-service=http --permanent
sudo firewall-cmd --add-service=https --permanent
Sau đó, tải lại tường lửa và xác minh trạng thái của quy tắc bằng lệnh bên dưới.
Mã:
sudo firewall-cmd --reload
sudo firewall-cmd --list-services
Bạn sẽ thấy đầu ra của dịch vụ HTTP và HTTPS được thêm vào tường lửa.


Cài đặt Máy chủ MariaDB​

Trình quản lý mật khẩu SysPass hỗ trợ MySQL hoặc MariaDB cho cơ sở dữ liệu. Trong bước này, bạn sẽ cài đặt MariaDB và bảo mật nó thông qua lệnh mysql_secure_installation.

Mysql_secure_installation là dòng lệnh do các gói MariaDB cung cấp cho phép bạn thiết lập cài đặt MariaDB của mình như thiết lập mật khẩu gốc, vô hiệu hóa đăng nhập từ xa cho người dùng gốc, xóa người dùng ẩn danh và kiểm tra cơ sở dữ liệu.

Để cài đặt MariaDB, hãy chạy lệnh dnf sau. Khi được nhắc xác nhận cài đặt, hãy nhập Y và nhấn ENTER để tiếp tục.
Mã:
sudo dnf install mariadb-server


Sau khi MariaDB được cài đặt, hãy khởi động và kích hoạt dịch vụ MariaDB thông qua lệnh systemctl bên dưới.
Mã:
sudo systemctl start mariadb
sudo systemctl enable mariadb
Bây giờ hãy xác minh dịch vụ MariaDB để đảm bảo dịch vụ được kích hoạt và đang chạy.
Mã:
sudo systemctl status mariadb
Bạn sẽ thấy đầu ra của dịch vụ MariaDB được kích hoạt và sẽ tự động chạy khi khởi động hệ thống. Và trạng thái của dịch vụ MariaDB đang chạy.



Bây giờ dịch vụ MariaDB đang chạy, đã đến lúc bảo mật triển khai MariaDB thông qua 'mysql_secure_installation'.

Chạy lệnh sau để bảo mật triển khai MariaDB của bạn.
Mã:
sudo mysql_secure_installation
Bây giờ bạn sẽ được yêu cầu cung cấp các cấu hình máy chủ MariaDB sau:
  1. Đổi xác thực thành unix_socket? nhập n để không.
  2. Đổi mật khẩu gốc MariaDB? nhập y để xác nhận, sau đó nhập mật khẩu mới cho người dùng gốc MariaDB của bạn.
  3. Vô hiệu hóa đăng nhập từ xa cho người dùng gốc? nhập y để có.
  4. Xóa người dùng ẩn danh? nhập y.
  5. Xóa cơ sở dữ liệu mặc định? nhập y một lần nữa.
  6. Cuối cùng, tải lại các đặc quyền của bảng và áp dụng các cấu hình mới? nhập y để xác nhận.
Bây giờ bạn đã cài đặt và bảo mật MariaDB trên máy chủ của mình.

Cài đặt PHP​

Sau khi cài đặt MariaDB, bây giờ bạn sẽ cài đặt PHP vào máy chủ Rocky Linux của mình. SysPass Password Manager yêu cầu phải cài đặt PHP 7.4, vì vậy bây giờ bạn sẽ cài đặt nó thông qua kho lưu trữ REMI.

Đối với Rocky Linux 8 - chạy lệnh sau để thêm kho lưu trữ REMI.
Mã:
sudo dnf install dnf-utils http://rpms.remirepo.net/enterprise/remi-release-8.rpm
Đối với Rocky Linux 9 - chạy lệnh sau để thêm kho lưu trữ REMI
Mã:
sudo dnf install dnf-utils http://rpms.remirepo.net/enterprise/remi-release-9.rpm
Nhập y khi được nhắc để xác nhận cài đặt.



Bây giờ, hãy chạy lệnh dnf bên dưới để xác minh danh sách các gói PHP khả dụng. Và bạn sẽ thấy kho lưu trữ REMI cung cấp nhiều phiên bản PHP 7.4, 8.0, 8.1 và 8.2.
Mã:
sudo dnf module list php


Đối với cài đặt SysPass, bạn sẽ cài đặt PHP 7.4. Vì vậy, hãy chạy lệnh sau để kích hoạt mô-đun PHP 'remi-7.4'. Nhập Y để xác nhận và bật mô-đun.
Mã:
sudo dnf module enable php:remi-7.4


Bây giờ hãy chạy lệnh dnf sau để cài đặt PHP 7.4 vào hệ thống của bạn.
Mã:
sudo dnf install -y php php-pear php-cgi php-cli php-common php-gd php-json php-mysql php-readline php curl php-intl php-ldap php-mcrypt php-xml php-mbstring php-zip
Quá trình cài đặt sẽ bắt đầu và bạn sẽ được nhắc xác nhận cài đặt. Nhập y và nhấn ENTER để tiếp tục.

Sau khi PHP được cài đặt, hãy chỉnh sửa tệp cấu hình mặc định '/etc/php.ini' bằng lệnh sau.
Mã:
sudo nano /etc/php/7.4/apache2/php.ini
Thay đổi cấu hình PHP mặc định bằng các thiết lập sau. hãy chắc chắn điều chỉnh múi giờ và memory_limit theo môi trường hệ thống của bạn.
Mã:
post_max_size = 120M
upload_max_filesize = 120M
max_execution_time = 6000
memory_limit = 256M
date.timezone = Europe/Stockholm
Lưu tệp và thoát khỏi trình chỉnh sửa khi bạn hoàn tất.

Bây giờ, hãy chạy lệnh systemctl sau để khởi động lại dịch vụ httpd và áp dụng cấu hình PHP. Và bây giờ bạn đã hoàn tất cài đặt cơ bản LAMP Stack cho SysPass Password Manager.
Mã:
sudo systemctl restart httpd

Cài đặt Composer​

Một dependency khác cần thiết cho SysPass là Composer. Lệnh này sẽ được sử dụng để cài đặt các phụ thuộc PHP cho ứng dụng web SysPass.

Chạy lệnh sau để cài đặt Composer trên máy Rocky Linux của bạn.
Mã:
curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/bin --filename=composer
Dưới đây, bạn sẽ nhận được kết quả đầu ra:



Bây giờ, hãy xác minh Composer bằng lệnh bên dưới. Bạn sẽ thấy phiên bản PHP Composer được cài đặt trên hệ thống của mình.
Mã:
sudo -u apache composer -v


Sau khi Composer được cài đặt, tiếp theo bạn sẽ bắt đầu cài đặt SysPass.

Cài đặt SysPass Password Manager​

Để bắt đầu, hãy chạy lệnh dnf sau để cài đặt git và giải nén các gói vào hệ thống của bạn.
Mã:
sudo dnf install git unzip -y
Bây giờ, hãy tải xuống mã nguồn SysPass thông qua lệnh git vào thư mục cài đặt đích '/var/www/syspass'.
Mã:
git clone https://github.com/nuxsmin/sysPass.git /var/www/syspass
Chạy lệnh sau để thay đổi quyền sở hữu và quyền của thư mục cài đặt SysPass. Quyền sở hữu phải là người dùng 'apache', là httpd đang chạy trên đó.
Mã:
sudo chown -R apache:apache /var/www/syspass
sudo chmod 750 /var/www/syspass/app/config /var/www/syspass/app/backup
Tiếp theo, chạy lệnh sau để tạo thư mục bộ nhớ đệm cho Composer. Sau đó, thay đổi quyền sở hữu thành người dùng apache. Thư mục này sẽ được sử dụng để lưu trữ các phụ thuộc PHP cho ứng dụng của bạn.
Mã:
sudo mkdir -p /usr/share/httpd/.cache
sudo chown -R apache:apache /usr/share/httpd/.cache


Cuối cùng, di chuyển đến thư mục cài đặt SysPass '/var/www/syspass' và cài đặt các phụ thuộc PHP cho SysPass thông qua lệnh composer bên dưới.
Mã:
cd /var/www/syspass
sudo -u apache composer install --no-interaction --no-dev
Trong ảnh chụp màn hình sau, bạn sẽ thấy cài đặt các phụ thuộc PHP cho SysPass Password Manager.



Sau khi các phụ thuộc PHP được cài đặt, hãy chuyển đến bước bên dưới.

Thiết lập SELinux​

Nếu bạn đang chạy SysPass với SELinux ở chế độ thực thi, bạn phải thêm một quy tắc SELinux mới vào hệ thống của mình.

Trước khi bắt đầu quản lý SELinux, hãy chạy lệnh sau để đảm bảo gói sau đã được cài đặt.
Mã:
sudo dnf install policycoreutils-python-utils -y
Sau đó, hãy chạy lệnh sau để thêm chính sách SELinux sẽ được SysPass sử dụng.

Trong lệnh này, bạn sẽ cho phép dịch vụ httpd kết nối với LDAP qua mạng (khi bạn đang sử dụng xác thực LDAP) và bạn cũng đang dán nhãn nhãn chính xác cho mã nguồn SysPass.
Mã:
sudo setsebool -P httpd_can_connect_ldap 1
sudo semanage fcontext -a -t httpd_sys_rw_content_t "/var/www/syspass/app/(config|backup|cache|temp)(/.*)?"
sudo restorecon -R -v /var/www/syspass

Cấu hình Máy chủ ảo Httpd​

Bây giờ bạn sẽ thiết lập máy chủ ảo httpd/apache2 cho Trình quản lý mật khẩu SysPass. trước khi bắt đầu, hãy đảm bảo rằng bạn có chứng chỉ SSL và tên miền được trỏ đến địa chỉ IP máy chủ của bạn.

Chạy lệnh dnf sau đây để cài đặt gói mod_ssl cho máy chủ web httpd.
Mã:
sudo dnf install mod_ssl -y
Sau khi mod_ssl được cài đặt, hãy chạy lệnh sau để tạo chứng chỉ SSL cho localhost. Bạn phải tạo chứng chỉ này, nếu không, httpd sẽ không chạy. Chứng chỉ này được localhost sử dụng trên cấu hình '/etc/httpd/conf.d/ssl.conf'.
Mã:
sudo openssl req -newkey rsa:4096 -x509 -sha512 -days 365 -nodes -out /etc/pki/tls/certs/localhost.crt -keyout /etc/pki/tls/private/localhost.key
Tiếp theo, tạo cấu hình máy chủ ảo mới '/etc/httpd/conf.d/syspass.conf' bằng lệnh trình chỉnh sửa nano sau.
Mã:
sudo nano /etc/httpd/conf.d/syspass.conf
Thêm cấu hình sau vào tệp. Và cũng đảm bảo thay đổi tên miền và đường dẫn của chứng chỉ SSL.
Mã:
#
# File: syspass.conf
#

RedirectMatch "^/$" "/index.php"


 DirectoryIndex index.php
 Options -Indexes -FollowSymLinks -Includes -ExecCGI

 
 Require expr "%{REQUEST_URI} =~ m#.*/index\.php(\?r=)?#"
 Require expr "%{REQUEST_URI} =~ m#.*/api\.php$#"
 Require expr "%{REQUEST_URI} =~ m#^/?$#"
 



 Yêu cầu tất cả đã cấp



 ServerName syspass.howtoforge.local

 ServerAdmin webmaster@localhost
 DocumentRoot /var/www/syspass

 ErrorLog /var/log/httpd/error.log
 CustomLog /var/log/httpd/access.log kết hợp

 
 RewriteEngine On
 RewriteCond %{HTTPS} !=on
 RewriteRule ^/?(.*) https://%{SERVER_NAME}/$1 [R,L]
 



 
 ServerName syspass.howtoforge.local
 ServerAdmin webmaster@localhost
 DocumentRoot /var/www/syspass

 ErrorLog /var/log/httpd/error.log
 CustomLog /var/log/httpd/access.log kết hợp

 SSLEngine trên

 SSLCertificateFile /etc/letsencrypt/live/syspass.howtoforge.local/fullchain.pem
 SSLCertificateKeyFile /etc/letsencrypt/live/syspass.howtoforge.local/privkey.pem

 
 SSLOptions +StdEnvVars
 
 
 SSLOptions +StdEnvVars
 

 BrowserMatch "MSIE [2-6]" \
 nokeepalive ssl-unclean-shutdown \
 downgrade-1.0 force-response-1.0
 # MSIE 7 trở lên sẽ có thể sử dụng keepalive
 BrowserMatch "MSIE [17-9]" ssl-unclean-shutdown
Lưu tệp và thoát khỏi trình chỉnh sửa khi bạn hoàn tất.

Bây giờ hãy chạy lệnh sau để xác minh cấu hình httpd và đảm bảo bạn có cấu hình httpd phù hợp.
Mã:
sudo apachectl configtest
Nếu bạn có cấu hình httpd chính xác và phù hợp, bạn sẽ thấy thông báo đầu ra như 'Cú pháp OK'.

Cuối cùng, hãy chạy lệnh systemctl bên dưới để khởi động lại dịch vụ httpd và áp dụng các thay đổi mới. Trình quản lý mật khẩu SysPass của bạn hiện đã được cài đặt và sẵn sàng để thiết lập.
Mã:
sudo systemctl restart httpd

Cấu hình Trình quản lý mật khẩu SysPass​

Mở trình duyệt web và truy cập tên miền cài đặt SysPass của bạn (ví dụ: https://syspass.howtoforge.local).

Bây giờ, bạn sẽ cần tạo người dùng quản trị và mật khẩu mới cho SysPass của mình. Sau đó, nhập mật khẩu chính mới. Đảm bảo sử dụng mật khẩu mạnh và dễ nhớ cho cả mật khẩu quản trị và mật khẩu chính.



Ở trang dưới cùng, nhập tên người dùng cơ sở dữ liệu là root và nhập mật khẩu của bạn. Sau đó, nhập tên cơ sở dữ liệu sẽ được trình cài đặt SysPass tự động tạo.

Ngoài ra, bạn có thể thay đổi ngôn ngữ cài đặt mặc định bằng ngôn ngữ bạn muốn.

Khi đã sẵn sàng, hãy nhấp vào "CÀI ĐẶT" để bắt đầu cài đặt SysPass.



Sau khi SysPass được cài đặt, bạn sẽ nhận được trang đăng nhập của SysPass Password Manager.

Nhập tên người dùng và mật khẩu quản trị viên của bạn, sau đó nhấp vào nút đăng nhập.



Nếu bạn đang sử dụng đúng tên người dùng và mật khẩu, bạn sẽ thấy bảng điều khiển SysPass Password Manager.



Từ đó, bây giờ bạn có thể thêm người dùng và nhóm mới, nhập mật khẩu cơ sở dữ liệu từ tệp CSV hoặc tệp cơ sở dữ liệu Kepass hoặc bạn cũng có thể tích hợp xác thực qua LDAP.

Kết luận​

Trong hướng dẫn này, bạn đã cài đặt và định cấu hình SysPass Password Manager trên Rocky Linux. Bạn cũng đã cài đặt LAMP Stack (Apache2/httpd, MariaDB và PHP) và Composer trên máy chủ Rocky Linux của mình.

Sau khi cài đặt và bảo mật SysPass, giờ đây bạn có thể sử dụng nó làm trình quản lý mật khẩu hàng ngày hoặc bạn có thể thêm nhiều người dùng hơn cho tổ chức nội bộ của mình.
 
Back
Bên trên