sysPass is a free, open-source, web-based password management system. It is cross-platform and available through a web app, mobile app, and browser extension. sysPass provides a simple and user-friendly web interface to generate and manage all passwords. It is written in PHP, providing password management securely and collaboratively.
In this tutorial, we will show you how to install the sysPass password manager on CentOS 8 operating system.
Step 1 – Install Apache Web Server
sysPass runs on a web server. So Apache or Nginx web server must be installed in your system. If not installed, you can install the Apache webserver using the command below:
dnf install httpd -y
After the successful installation, start the Apache web service and enable it to start at system reboot:
systemctl start httpd systemctl enable httpd
Now, open your web browser and type the URL http://your-server-ip to test the Apache webserver. If everything is fine, you should see the Apache webserver test page as shown below:
Step 2 – Install PHP
sysPass is written in the PHP language, so you will need to install PHP and other required PHP extensions in your system. sysPass is compatible with PHP version 7.3 to 7.4. Both PHP versions are not available in the CentOS 8 default repository, so you will need to add EPEL and REMI repository to your system.
First, add both repositories using the command below:
dnf install https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm dnf install https://rpms.remirepo.net/enterprise/remi-release-8.rpm
Once installed, run the following command to list all available PHP versions:
dnf module list php
You can see all PHP versions in the following output:
CentOS Linux 8 - AppStream 1.7 MB/s | 6.3 MB 00:03 CentOS Linux 8 - BaseOS 8.5 MB/s | 2.3 MB 00:00 Remi's Modular repository for Enterprise Linux 8 - x86_64 455 kB/s | 732 kB 00:01 Safe Remi's RPM repository for Enterprise Linux 8 - x86_64 943 kB/s | 1.6 MB 00:01 CentOS Linux 8 - AppStream Name Stream Profiles Summary php 7.2 [d][e] common [d], devel, minimal PHP scripting language php 7.3 common [d], devel, minimal PHP scripting language php 7.4 common [d], devel, minimal PHP scripting language Remi's Modular repository for Enterprise Linux 8 - x86_64 Name Stream Profiles Summary php remi-7.2 common [d], devel, minimal PHP scripting language php remi-7.3 common [d], devel, minimal PHP scripting language php remi-7.4 common [d], devel, minimal PHP scripting language php remi-8.0 common [d], devel, minimal PHP scripting language
Next, run the following command to reset the PHP default repository and enable the PHP REMI repository for version 7.4.
dnf module reset php dnf module enable php:7.4
Now, install PHP 7.4 along with all necessary modules using the command below:
dnf install php php-mysqli php-pdo php-pear php php-cgi php-cli php-common php-gd php-json php-readline php-curl php-intl php-ldap php-xml php-mbstring git -y
Once the installation is completed, edit the php.ini file make some changes:
nano /etc/php.ini
Change the following values:
post_max_size = 100M upload_max_filesize = 100M max_execution_time = 7200 memory_limit = 512M date.timezone = Etc/UTC
Save the file when you are finished.
Step 3 – Install and Configure MariaDB Database
sysPass uses a MariaDB/MySQL database to store all passwords, so a MariaDB server must be installed in your system.
Run the following command to install the MariaDB server:
dnf install mariadb-server -y
Once installed, start the MariaDB service and enable it to start at system reboot:
systemctl start mariadb systemctl enable mariadb
Next, you will need to create a database and user for sysPass.
First, connect the MariaDB using the command below:
mysql
Once connected, create a database and user using the command below:
create database syspass; grant all privileges on syspass.* to syspass@localhost identified by "securepassword";
Next, flush the privileges and exit from the MariaDB with the following command:
flush privileges; exit;
Step 4 – Install sysPass
Next, download the sysPass code from the Git Hub repository:
git clone https://github.com/nuxsmin/sysPass.git
Once the download is completed, move the downloaded directory to the Apache web root directory:
mv sysPass /var/www/html/syspass
Next, set proper permissions and ownership to the sysPass directory:
chown -R apache:apache /var/www/html/syspass chmod 750 /var/www/html/syspass/app/{config,backup}
Next, create a Composer installation script:
nano /var/www/html/syspass/install-composer.sh
Add the following code:
#!/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
Save the file, then change the directory to sysPass and run the script as shown below:
cd /var/www/html/syspass/ sh install-composer.sh
Once the Composer is installed, run the following command to install all PHP dependencies required for sysPass:
php composer.phar install --no-dev
Step 5 – Configure Apache to Host sysPass
Next, create an Apache virtual host configuration file to host the sysPass.
nano /etc/httpd/conf.d/syspass.conf
Add the following codes:
<VirtualHost *:80> ServerAdmin [email protected] DocumentRoot "/var/www/html/syspass" ServerName syspass.your-domain.com <Directory "/var/www/html/syspass/"> Options MultiViews FollowSymlinks AllowOverride All Order allow,deny Allow from all </Directory> TransferLog /var/log/httpd/syspass_access.log ErrorLog /var/log/httpd/syspass_error.log </VirtualHost>
Save and close the file when you are finished.
Note: replace syspass.your-domain.com with your own fully qualified domain name.
Finally, restart the Apache service to apply the configuration changes:
systemctl restart httpd
Step 6 – Access sysPass Web UI
Now, open your web browser and type the URL http://syspass.your-domain.com to access the sysPass. You will be redirected to the sysPass web installation wizard:
Provide your admin username, password, master password, database name, database username, password, then select HOSTING MODE and click on the INSTALL button to start the installation. Once the sysPass has been installed, you will be redirected to the sysPass login page:
Provide your sysPass admin username, password and hit Enter. You should see the sysPass dashboard on the following page.
Congratulations! You have successfully installed sysPass password manager on CentOS 8 operating system. You can now add your all account passwords and manage them through the web browser. Try it on your dedicated server from Atlantic.Net today!