Jams Aracı Nasıl Kurulur
Published: 2024-04-17 05:39:24

- Öncelikle JAMS'ın en son sürümünü şu adresten indirin:  https://jami.biz/jams_community.

**Java Kurulumu**

- Jams aracının çalışması için java openjdk kurmamız gerekiyor(openjdk11 önerilir).

```
sudo apt update
```
```
sudo apt install openjdk-11-jdk
```

- Openjdk'nın kurulduğunun kontrol ediyoruz.

```
java -version
```

- Sonrasında **openssl** sertfikası oluşturmamız gerekiyor.

**Kök Sertifikası üretme** 

**1. RSA Anahtar Oluşturma:**

- İlk adım, güvenlik için yüksek derecede şifreleme sağlayan 4096 bitlik bir RSA anahtarı oluşturmaktır.

```
openssl genrsa -out KokCA.key 4096
```
**
**2. x509 Sertifika Oluşturma:**

- Bu adımda, oluşturduğunuz RSA anahtarı kullanarak bir x509 sertifikası oluşturursunuz. Bu sertifika, kök sertifika olarak kullanılacak ve 1460 gün (yaklaşık 4 yıl) süreyle geçerli olacak.

```
openssl req -new -x509 -days 1460 -key KokCA.key -out KokCA.crt
```

- Bu komut sırasında size çeşitli bilgiler (örneğin, **Common Name**, **Organization**, **Country** vb.) sorulur. Common Name kısmına kök sertifikanız için bir isim girmeniz yeterlidir, örneğin **aciklab.video**.

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/g898ikcaqw0ektu64wx0.png)

- Bu adımla birlikte elimizde KokCA.crt sertifikası ve KokCA.key anahtarı bulunmaktadır.


**Sunucu Sertifikası üretme** 

**1.Sunucu için RSA Anahtar Oluşturma:**

Sunucu için daha düşük bir şifreleme anahtarı olan 2048 bit kullanılır.

```
openssl genrsa -out server.key 2048
```

**2. CSR (Certificate Signing Request) Oluşturma:**

- Bu anahtar kullanılarak bir CSR dosyası oluşturulur.


```
openssl req -new -key server.key -out server.csr

```

- Yine **Common Name** gibi bilgiler istenecektir, burada sunucunuzun adını (örneğin **chat.aciklab.video**) girersiniz.

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/tp9kfvijiwrf20is2exa.png)

**3. Sunucu Sertifikasını İmzalama:**

- Daha önce oluşturduğunuz kök sertifika ve özel anahtar kullanılarak sunucu CSR'ını bir sertifikaya dönüştürürsünüz. Bu sertifika 365 gün geçerli olacak ve SHA-256 ile imzalanacaktır.

```
openssl x509 -req -days 365 -in server.csr -CA KokCA.crt -CAkey KokCA.key -set_serial 0101 -out server.crt -sha256
```
**4. Sertifikaları Birleştirme:**

- Sunucu ve kök sertifikalarını birleştirirsiniz, böylece sunucu sertifikasıyla birlikte kök sertifikanız da sunulmuş olur. Bu, istemcilerin sunucu sertifikasını doğrulamalarına yardımcı olur.

```
cat server.crt KokCA.crt > combined.crt
```

- Bu adımlar, kendi iç sertifika otoritenizi (CA) oluşturmanızı ve bu CA kullanarak güvenli bir şekilde sunucu sertifikaları yaratmanızı sağlar. 

- Sertfikaları oluşturduğumuz dizindeki **server.key** ile **combined.crt**'yi **/opt** dizininin altına taşıyoruz.

- Jams.tar 'ı **tar -xvf jams.tar** komutu ile dışarı çıkartıyoruz.


**Jams Sunucusunu Çalıştırma**

- Jams.tar dışarı çıkardıktan sonra jams klasörünün içine gelip aşağıdaki komut ike jams sunucumuzu ayağa kaldırıyoruz.

```
java -jar jams-launcher.jar 443 /opt/combined.crt /opt/server.key -Dcom.sun.net.ssl.checkRevocation=false
```
**Jams sunucusunun arayüzüne erişim**

- Jams aracını uzaktaki ubuntu 22.04 server'da çalıştırmıştık.Kendi bilgisayarımızda çalıştırmak için root yetkisi ile 

```
nano /etc/hosts
```
Bu şekilde yeniden düzenliyoruz.
![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/zf1haagvw8sc46rkug0r.png)
 

- sonrasında bu örnekte chat.aciklab.video kullanıldığı için http://chat.aciklab.video:8080/ bu URL ile arayüzüne erişim sağlıyoruz.


![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/31q1bqp0qun783s2buqs.png)