Umut Ramazan Eği

Merhaba dostlar! Bugün sizlere, sunucumu daha verimli yönetmek adına yaptığım bir kurulumu ve deneyimlerimi anlatacağım. Ubuntu 22.04 üzerine Docker ile Nginx Proxy Manager kurduk ve ardından ilk proxy host’umuzu SSL sertifikasıyla birlikte yapılandırdık. Bu rehber, benim izlediğim adımları ve aldığım sonuçları detaylandırıyor. Umarım sizler için de faydalı olur!

1. Kurulum İçin Hazırlık ve Başlangıç

Her şeyden önce, sunucumda Docker ve Docker Compose kurulu olduğundan emin oldum. Ardından, Nginx Proxy Manager için özel bir dizin oluşturup, gerekli yapılandırma dosyasını (docker-compose.yml) hazırladım.

Adım 1.1: Dizin Oluşturma ve docker-compose.yml Dosyasını Düzenleme

Terminali açıp şu komutları girdim:

mkdir nginx-proxy-manager
cd nginx-proxy-manager
nano docker-compose.yml

nano editörüyle açtığım bu dosyaya, Nginx Proxy Manager ve onun veritabanını çalıştıracak aşağıdaki içeriği yapıştırdım. Burada çok önemli bir nokta var: MYSQL_ROOT_PASSWORD ve MYSQL_PASSWORD kısımlarına, varsayılan şifreler yerine kesinlikle kendinize ait, güçlü ve özgün şifreler girmelisiniz. Güvenlik her şeyden önce gelir!

version: “3.7”
services:
app:
image: ‘jc21/nginx-proxy-manager:latest’
container_name: npm_app
restart: unless-stopped
ports:
# Public HTTP Port
– ’80:80′
# Public HTTPS Port
– ‘443:443’
# Admin Web Port (Varsayılan: 81)
– ’81:81′
volumes:
– ./data:/data
– ./letsencrypt:/etc/letsencrypt
networks:
– npm_network

db:
image: ‘mysql:8.0’
container_name: npm_db
restart: unless-stopped
environment:
MYSQL_ROOT_PASSWORD: ‘BURAYA_GÜÇLÜ_BİR_ŞİFRE_GİRİN’ # Kendi güçlü şifrenizi girin!
MYSQL_DATABASE: ‘npm’
MYSQL_USER: ‘npm’
MYSQL_PASSWORD: ‘BURAYA_GÜÇLÜ_BİR_ŞİFRE_GİRİN’ # Kendi güçlü şifrenizi girin!
volumes:
– ./mysql:/var/lib/mysql
networks:
– npm_network

networks:
npm_network:
driver: bridge

Dosyayı kaydetmek için Ctrl+X, ardından Y ve Enter tuşlarına bastım.

Adım 1.2: Nginx Proxy Manager’ı Çalıştırma

Şimdi sırada Nginx Proxy Manager’ı başlatma var. docker-compose.yml dosyasının bulunduğu dizinde şu komutu çalıştırdım:

docker compose up -d

Adım 1.3: Firewall’u Ayarlama (Güvenlik Önlemi)

Sunucumda ufw kullandığım için, Nginx Proxy Manager’ın kullanacağı portlara (80, 443 ve yönetim için 81) izin vermem gerekiyordu. Bunun için şu komutları kullandım:

sudo ufw allow 80
sudo ufw allow 443
sudo ufw allow 81

2. Yönetici Paneline Erişme ve İlk Yapılandırmalar

Nginx Proxy Manager’ı başlattıktan sonra sıra, kendi harika web arayüzüne dalmaya geldi!

Adım 2.1: Yönetici Paneline Bağlanma

Herhangi bir web tarayıcısını açıp şu adresi yazdım:

http://<SUNUCU_IP_ADRESINIZ>:81

Buradaki <SUNUCU_IP_ADRESINIZ> kısmına kendi sunucumun IP’sini girdim tabii ki.

Adım 2.2: Varsayılan Bilgilerle Giriş ve Hemen Değişiklikler!

İlk girişte kullandığım bilgiler şunlardı:

  • Email address: admin@example.com

  • Password: changeme

Giriş yapar yapmaz ilk işim, bu varsayılan bilgileri kendime ait ve daha güvenli olanlarla değiştirmek oldu.

  1. Sağ üstteki kullanıcı adına tıkladım ve “Edit User” dedim. Buradan e-posta adresimi ve diğer bilgilerimi güncelledim.

  2. Ardından tekrar kullanıcı adına tıklayıp “Change Password” diyerek changeme şifresini de kendi belirlediğim güvenli bir şifreyle değiştirdim.

3. Alan Adıma SSL Sertifikası ve İlk Proxy Host’um

Şimdi en heyecanlı kısım: Kendi alan adım (proxy.umutramazanegi.com) için Let’s Encrypt’ten SSL sertifikası almak ve bu alan adını bir uygulamaya yönlendirmek!

Varsayım: proxy.umutramazanegi.com alan adının DNS’i, sunucumun IP adresine doğru şekilde ayarlanmış durumda.

Adım 3.1: DNS Kaydını Kontrol Etme

Nginx Proxy Manager’ın bu domaine erişip sertifika alabilmesi için DNS kaydının doğru olması şart. Kontrol ettiğimde her şey yolundaydı.

Adım 3.2: Let’s Encrypt’ten Sertifika Talep Etme

  1. Nginx Proxy Manager arayüzünde “SSL Certificates” sekmesine gittim.

  2. “Add SSL Certificate” butonuna tıkladım.

  3. Açılan pencerede alan adım olarak proxy.umutramazanegi.com yazdım.

  4. Let’s Encrypt için geçerli bir e-posta adresi girdim.

  5. Let’s Encrypt kullanım koşullarını kabul ettiğimi belirten kutuyu işaretledim.

  6. Ve “Save” diyerek sertifika işlemini başlattım.

Adım 3.3: İlk Proxy Host’umu Oluşturma

Artık sıra, aldığım bu güzel SSL sertifikasıyla alan adımı bir uygulamaya yönlendirmekte.

  1. “Hosts” sekmesine geçtim.

  2. “Add Proxy Host” butonuna tıkladım.

  3. Details (Detaylar) Sekmesi:

    • Domain Names: proxy.umutramazanegi.com

    • Scheme: Uygulamamın HTTP kullandığını bildiğim için http seçtim.

    • Forward Hostname / IP: Yönlendireceğim uygulamanın çalıştığı container adını veya IP’sini girdim.

    • Forward Port: Uygulamamın dinlediği portu (örneğin 8181) yazdım.

  4. SSL Sekmesi:

    • SSL Certificate: Açılır menüden az önce aldığım proxy.umutramazanegi.com sertifikasını seçtim.

    • Force SSL: Bu ayarı açarak tüm trafiğin HTTPS üzerinden gitmesini sağladım.

    • HTTP/2 Support: Bunu da açık bıraktım.

    • HSTS Enabled: Güvenliği daha da artırmak için bunu da aktifleştirdim.

  5. Son olarak “Save” diyerek proxy host’umu oluşturdum.

Ardından gelen “Test Server Reachability” bildirimi de her şeyin yolunda gittiğini gösteriyordu. Bu, Nginx Proxy Manager’ın alan adımı doğru bulduğunu ve sertifika oluşturabileceğini belirtiyordu.

Artık https://proxy.umutramazanegi.com adresine girdiğimde, Nginx Proxy Manager beni güvenle arka uç uygulamama yönlendiriyor. Bu kurulum süreci gerçekten de Nginx Proxy Manager’ın ne kadar pratik olduğunu gösterdi.

Umarım bu detaylı rehberim, siz de Nginx Proxy Manager kurarken yol gösterici olur.

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir