sysPass PHP ile yazılmış web tabanlı parola yönetim uygulamasıdır ve ücretsizdir. Bilgi İşlem birimlerinin parola yönetimi konusunda becerikli bir uygulamadır. Kullanıcı yetkilendirme log takibi ve ldap entegrasyonu gibi bir çok özelliği vardır. Güvenlidir ve kullanımı oldukça basittir.
Bu rehberde sysPass uygulaması Ubuntu Server 20.04 üzerine kurulmuştur.
1. Apache, MariaDB ve PHP Kurulumu
sysPass uygulaması Apache, MariaDB ve PHP kurulum paketlerine ihtiyaç duyar. Kurulumu aşağıdaki komut ile başlatabilirsiniz.
apt-get install apache2 mariadb-server libapache2-mod-php 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
Tüm paketlerin kurulumu tamamlandıktan sonra php.ini dosyası üzerinde aşağıdaki düzenlemeleri yapmamız gerekmektedir.
nano /etc/php/7.4/apache2/php.ini
komutu ile php.ini dosyasını içeriğini açınız.
Ardından aşağıdaki alanları düzenleyin;
post_max_size = 100M
upload_max_filesize = 100M
max_execution_time = 7200
memory_limit = 512M
date.timezone = Europe/Istanbul
düzenleme işlemini bitirdikten sonra CTRL+X+Y+Enter ile kaydedebilirsiniz değişikliklerin uygulanabilmesi için Apache servisini yeniden başlatınız.
systemctl restart apache2
2. Veritabanı ve Veritabanı Kullanıcısı Oluşturma
MariaDB varsayılan olarak güvenli değildir. Güvenli kurulum için aşağıdaki komutu kullanınız,
mysql_secure_installation
MariaDB root parolasını ayarlamak ve kurulumu güvenli hale getirmek için aşağıdaki tüm soruları örnekteki gibi cevaplayınız,
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
işlem tamamlandığında MariaDB ara yüzünde oturum açınız,
mysql -u root -p
komutunu girdiğinizde parola soracaktır yukarıda oluşturduğunuz root parolasını giriniz. Ardından kullanıcı ve veritabanını oluşturun,
MariaDB [(none)]> create database syspassdb;
MariaDB [(none)]> grant all privileges on syspassdb.* to syspassuser@localhost identified by "parola";
Ardından, ayrıcalıkları temizleyin ve aşağıdaki komutla MariaDB’den çıkış yapın.
MariaDB [(none)]> flush privileges;
MariaDB [(none)]> exit;
3. sysPass Kurulumu
GitHub deposundan sysPass’ın son versiyonun indirebilirsiniz,
git clone https://github.com/nuxsmin/sysPass.git
indirme işlemi tamamlandıktan sonra sysPass dizinini Apache kök dizini içine taşıyınız,
mv sysPass /var/www/html/syspass
sysPass sahiplik ve diğer izinleri ayarlamak için aşağıdaki iki komutu kullanın,
chown -R www-data:www-data /var/www/html/syspass
chmod 750 /var/www/html/syspass/app/{config,backup}
sysPass çalışabilmesi için composer kurulumu gereklidir. Aşağıdaki komut ile composer kurulum dosyasını oluşturunuz.
nano /var/www/html/syspass/install-composer.sh
Aşağıdaki satırları ekleyiniz,
#!/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
composer.sh dosyasını Ctrl+X+Y+Enter ile kaydettikten sonra aşağıdaki komutlar ile kurulumu başlatınız.
cd /var/www/html/syspass/
sh install-composer.sh
Kurulum tamamlandıktan sonra gerekli olan php bağımlılıklarını çalıştırın.
apt install unzip
php composer.phar install --no-dev
4. Apache Host Dosyasını Düzenleme
sysPass web hizmetlerinin çalışabilmesi için Apache host dosyasını oluşturmanız gerekmektedir.
nano /etc/apache2/sites-available/syspass.conf
Host dosyasını kendi yapınıza göre düzenleyin,
<VirtualHost *:80>
ServerAdmin admin@alanadiniz.com
DocumentRoot "/var/www/html/syspass"
ServerName syspass.alanadiniz.com
<Directory "/var/www/html/syspass/">
Options MultiViews FollowSymlinks
AllowOverride All
Order allow,deny
Allow from all
</Directory>
TransferLog /var/log/apache2/syspass_access.log
ErrorLog /var/log/apache2/syspass_error.log
</VirtualHost>
a2ensite komutu ile syspass host dosyasını çalıştırın,
a2ensite syspass
Apache servisini yeniden başlatın,
systemctl restart apache2
Apahce servisinin durumunu aşağıdaki komut ile öğrenebilirsiniz.
apache2.service - The Apache HTTP Server
Loaded: loaded (/lib/systemd/system/apache2.service; enabled; vendor prese>
Active: active (running) since Fri 2023-06-02 18:22:02 +03; 12min ago
Docs: https://httpd.apache.org/docs/2.4/
Process: 38068 ExecStart=/usr/sbin/apachectl start (code=exited, status=0/S>
Process: 38534 ExecReload=/usr/sbin/apachectl graceful (code=exited, status>
Main PID: 38086 (apache2)
Tasks: 6 (limit: 2271)
Memory: 14.7M
CGroup: /system.slice/apache2.service
├─38086 /usr/sbin/apache2 -k start
├─38538 /usr/sbin/apache2 -k start
├─38539 /usr/sbin/apache2 -k start
├─38540 /usr/sbin/apache2 -k start
├─38541 /usr/sbin/apache2 -k start
└─38543 /usr/sbin/apache2 -k start
Jun 02 18:22:02 syspass2 systemd[1]: Starting The Apache HTTP Server...
Jun 02 18:22:02 syspass2 apachectl[38082]: AH00558: apache2: Could not reliably>
Jun 02 18:22:02 syspass2 systemd[1]: Started The Apache HTTP Server.
Jun 02 18:33:54 syspass2 systemd[1]: Reloading The Apache HTTP Server.
Jun 02 18:33:54 syspass2 apachectl[38537]: AH00558: apache2: Could not reliably>
Jun 02 18:33:54 syspass2 systemd[1]: Reloaded The Apache HTTP Server.
5. Web Arayüzünde Erişim Sağlayın
Herhangi bir tarayıcıdan http://syspass.alanadiniz.com adresinden sysPass web ara yüzüne erişim sağlayınız. İstenilen bilgileri girdikten sonra Install ile kurulumu tamamlayınız.
Kullanıcı adı ve parola bilgileri ile sisteme giriş yapınız.
Giriş yaptıktan sonra aşağıdaki kontrol paneli karşılaşacaksınız.
Daha fazlası için sysPass demo sayfasına göz atabilirsiniz.
6. SSL Kurulumu
Aşağıdaki komut ile yeni bir host dosyası oluştunuz.
nano /etc/apache2/sites-available/syspass-ssl.conf
Aşağıdaki örnekte satın alınmış bir SSL sertifikasının konfigürasyon dosyasıdır. Yapınıza göre satırları düzenleyiniz.
<VirtualHost *:443>
ServerAdmin admin@alanadiniz.com
DocumentRoot "/var/www/html/syspass"
ServerName syspass.alanadiniz.com
<Directory "/var/www/html/syspass/">
Options MultiViews FollowSymlinks
AllowOverride All
Order allow,deny
Allow from all
</Directory>
SSLEngine on
SSLCertificateFile /etc/ssl/sertifika/ssl.pem
SSLCertificateKeyFile /etc/ssl/sertifika/priv.pem
SSLCertificateChainFile /etc/ssl/sertifika/bundle.pem
TransferLog /var/log/apache2/syspass_access.log
ErrorLog /var/log/apache2/syspass_error.log
</VirtualHost>
SSL modülünü etkinleştirin,
a2enmod ssl
SSL host dosyasını etkinleştirin,
a2ensite syspass-ssl
Apache servisini yeniden yükleyin,
service apache2 reload
Kurulum tamamlanmıştır. Umarım bu rehber sizlere yardımcı olmuştur. Bir sonraki bölümde görüşmek üzere…
Kaynak; Bilişim Notları