DOCKER RUN İLE SSL SERTİFİKALI KEYCLOAK KURMA


bu kurulum için bir domain adına ihtiyacımız var benim senaryomda keycloak.local olarak ilerleyeceğim.

1. Adım: Host makinemde, yani browserımla keycloak’a erişeceğim makinede /etc/hosts dosyasını nano ile açıp en alta şunu ekleyelim:
keycloak.local

2. Adım: Nginx kurulumu

sudo apt update
sudo apt install nginx

Enter fullscreen mode

Exit fullscreen mode

3. Adım: SSL sertifikası oluşturma
önce sertifikayı koyacak dosya oluşturalım.

sudo mkdir -p /etc/ssl/certs/keycloak
Enter fullscreen mode

Exit fullscreen mode

openssl ile sertifika oluşturalım

sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 \
    -keyout /etc/ssl/certs/keycloak/keycloak.key \
 -out /etc/ssl/certs/keycloak/keycloak.crt \
 -subj "/CN=keycloak.local"

Enter fullscreen mode

Exit fullscreen mode

4. Adım: Nginx yapılandırma

Yeni yapılandırma dosyası oluşturalım

sudo nano /etc/nginx/sites-available/keycloak.conf

Enter fullscreen mode

Exit fullscreen mode

aşağıdaki içeriği dosyanın içine yapıştıralım

server {
    listen 80;
    server_name keycloak.local;
    # HTTP'den HTTPS'e yönlendir
    return 301 https://$host$request_uri;
}

server {
    listen 443 ssl;
    server_name keycloak.local;

    # SSL Sertifikalarının yolu
    ssl_certificate /etc/ssl/certs/keycloak/keycloak.crt;
    ssl_certificate_key /etc/ssl/certs/keycloak/keycloak.key;

    location / {
        # İsteği, Docker'da çalışan Keycloak'a yönlendir
        proxy_pass http://127.0.0.1:8080;

        # Gerekli HTTP başlıklarını ayarla
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
    }
}

Enter fullscreen mode

Exit fullscreen mode

5. Adım: Yapılandırmayı aktive etme ve nginx’i yeniden başlatma

sudo ln -s /etc/nginx/sites-available/keycloak.conf /etc/nginx/sites-enabled/

Enter fullscreen mode

Exit fullscreen mode

Nginx’in varsayılan “Welcome” sayfasını devre dışı bırakalım (çakışmasın):

sudo rm /etc/nginx/sites-enabled/default
Enter fullscreen mode

Exit fullscreen mode

test edelim

sudo nginx -t

Enter fullscreen mode

Exit fullscreen mode

restart edelim

sudo systemctl restart nginx

Enter fullscreen mode

Exit fullscreen mode

6. Adım: Keycloak’ı kurma ve yapılandırma

  • Öncelikle Docker kurmamız lazım.
# Add Docker's official GPG key:
sudo apt-get update
sudo apt-get install ca-certificates curl
sudo install -m 0755 -d /etc/apt/keyrings
sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
sudo chmod a+r /etc/apt/keyrings/docker.asc

# Add the repository to Apt sources:
echo \
  "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu \
  $(. /etc/os-release && echo "${UBUNTU_CODENAME:-$VERSION_CODENAME}") stable" | \
  sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt-get update
Enter fullscreen mode

Exit fullscreen mode

kurulumu başlatalım

sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
Enter fullscreen mode

Exit fullscreen mode

servis kontrolü yapmak istersek bu komutu çalıştıralım

sudo systemctl status docker
Enter fullscreen mode

Exit fullscreen mode

  • Keycloak’ı docker run komutu ile kuralım. Burada kullanıcı adı şifre ve hostname verilir.
sudo docker run -d \
  -p 8080:8080 \
  -e KEYCLOAK_ADMIN=admin \
  -e KEYCLOAK_ADMIN_PASSWORD=admin \
  -e KC_PROXY_HEADERS=xforwarded \
  -e KC_HOSTNAME=keycloak.local \
  quay.io/keycloak/keycloak:latest \
  start-dev


Enter fullscreen mode

Exit fullscreen mode

sudo docker ps ile kontrol yapılabilir.

son olarak https://keycloak.local adresinden admin admin ile giriş yapalım.



Source link

Leave a Reply

Your email address will not be published. Required fields are marked *