Rpm Tabanlı Sistemlerde Kaptan Kurulumu
Tags: liman, kaptan, tayfa
Published: 2022-05-31 05:44:53

Gereklilikler:
- Kaptan Postgresql'e ihtiyaç duymaktadır bu yüzden elinizde bir Liman sunucusu olmalıdır.
- Kaptan sunucu üzerinde SELINUX disable hale getirilmelidir. Aşağıda SELINUX'un kapatılması gösterilmiştir.
- Kaptan sunucusu üzerinde **firewalld** servisi kapatılmalı ve disable edilmelidir. Aşağıda bu işlem gösterilmektedir.

## SELINUX'un kapatılması
Aşağıdaki komut ile ilgili dosya açılır:
```
sudo nano /etc/selinux/config
```

Ve "SELINUX=" ile başlayan satır **disabled** olarak değiştirilir. Makine (SUNUCU) yeniden başlatılır.
![disable selinux](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/u0n2dnbbsfkcr42fraqc.png)

<br><br>

## Firewalld Servisinin Kapatılması 
Firewalld servisini kapatmak için aşağıdaki komutlar çalıştırılır:
```
sudo systemctl stop firewalld.service
sudo systemctl disable firewalld.service 
```

<br><br>

## Kaptan Sunucusu Kurulumu
Öncelikle kaptan paketi sunucu üzerine gönderilir. Bu işlem için scp kullanılabilir:
```
scp kaptan_paketi.rpm SUNUCU_USER@SUNUCU_IP:/path/to/send 
```

Örnek:
```
scp kaptan-1.15.5-0.x86_64.rpm test@x.x.x.x:/tmp
```

Daha sonra sudo yetkisi kazanılır.
```
sudo su
```
veya
```
su root
```

Gönderilmiş paket aşağıdaki komut yardımıyla kurulur:
```
sudo yum install ./kaptan_paketi.rpm
```

Kurulum tamamlandıktan sonra kaptan ayarlarını yapan script aşağıdaki gibi terminale kopyalanır:
```
kaptan-init -db_ip POSTGRESQL_IP -db_configure -db_user postgres -ip_mask 24 -ssh_port 22 -ssh_user POSTGRESQL_SSH_USER -v
```

Burada aşağıdaki değerler kendi bilgileriniz ile doldurulmalıdır:
- POSTGRESQL_IP: Kendi Liman IP adresinizi yazınız.
- POSTGRESQL_SSH_USER: Limana ssh atabilecek yetkili bir kullanıcı yazınız.

Komut çalıştırıldığında bizlere postgres kullanıcısının şifresi ve ssh atan kullanıcının şifreleri sorulmaktadır. Gerekli şifreler girilerek kurulum yapılır.
1 numaralı kısımda ssh atılan kullanıcı parolası girilir
2 numaralı kısımda postgres kullanıcısının parolası girilir.

![Kaptan Kurulumu](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/8evhi0pre3di6xcrfysp.png)
 

Postgres kullanıcısı şifresini bilmiyorsanız:
db_user kısmında postgres kullanıcısı verilmektedir. Bu kullanıcının parolası olmalıdır eğer şifreyi bilmiyor veya hatırlamıyorsanız liman sunucunuz üzerinde root olup aşağıdaki komutunu çalıştırarak şifreyi yenileyebilirsiniz.
```
passwd postgres
```

Script çalıştırıldıktan sonra Postgres kullanıcısının parolası sisteme eklenmelidir. Aşağıdaki komut ile bu işlem yapılır:
```
sudo kaptan -q postgres
```

Bu komut çalıştırıldığında postgres kullanıcısının şifresi girilir.
Daha sonra aşağıdaki komut ile kaptan yeniden başlatılır:
```
sudo systemctl restart kaptan
```

Aşağıdaki komut ile kaptan servisinin durumu kontrol edilir:
```
sudo systemctl status kaptan
```

Durum kontrol çıktısı aşağıdaki gibi olmalıdır:
```
May 30 16:13:31 localhost kaptan[2334]: Inventory db init success
May 30 16:13:31 localhost kaptan[2334]: Usb db init success
May 30 16:13:31 localhost kaptan[2334]: Log db init success
May 30 16:13:31 localhost kaptan[2334]: Notification db init success
May 30 16:13:31 localhost kaptan[2334]: Machine db init success
May 30 16:13:31 localhost kaptan[2334]: Machine db init success
May 30 16:13:31 localhost kaptan[2334]: Error codes db init success
May 30 16:13:31 localhost kaptan[2334]: Licence db init success
May 30 16:13:31 localhost kaptan[2334]: Kaptan db init success
```

Böylece kaptan kurulumu tamamlanmış olur.
Kaptan servisinin sağlığı aşağıdaki komut ile test edilebilir:
```
sudo kaptan -a
```

Çıktı aşağıdaki gibi olmalıdır:
```
Postgresql connection is ok
Current licence is valid
This server is master
All controls passed successfully
```