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:
2. Adım: Nginx kurulumu
sudo apt update
sudo apt install nginx
3. Adım: SSL sertifikası oluşturma
önce sertifikayı koyacak dosya oluşturalım.
sudo mkdir -p /etc/ssl/certs/keycloak
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"
4. Adım: Nginx yapılandırma
Yeni yapılandırma dosyası oluşturalım
sudo nano /etc/nginx/sites-available/keycloak.conf
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;
}
}
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/
Nginx’in varsayılan “Welcome” sayfasını devre dışı bırakalım (çakışmasın):
sudo rm /etc/nginx/sites-enabled/default
test edelim
sudo nginx -t
restart edelim
sudo systemctl restart nginx
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
kurulumu başlatalım
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
servis kontrolü yapmak istersek bu komutu çalıştıralım
sudo systemctl status docker
- 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
sudo docker ps
ile kontrol yapılabilir.
son olarak https://keycloak.local adresinden admin admin ile giriş yapalım.