Bir NginX Web Sunucusu Kurulumu
Bu noktada, bir alan adımız ve bir sunucumuz olmalı ve DNS kayıtlarıyla alan adı sunucunun IP adresine yönlendirilmelidir. Önceki makalelerde söylediğim gibi, vereceğim talimatlar Debian için olacak. Diğer dağıtımlar bu makalede biraz farklı çalışabilir.
Sunucuya Giriş
İlk olarak, web sunucusunu kurabileceğimiz bir komut istemine erişmek için VPS'imize giriş yapmak istiyoruz. MacOS veya GNU/Linux kullanıyorsanız ve terminal açmayı biliyorsanız, bu adımları takip edebilirsiniz. Windows'ta da PuTTY veya Windows Subsystem for Linux kullanabilirsiniz.
Vultr'ın sitesinde VPS'nizi tıklayın; sunucunuzun şifresini gösteren bir alan göreceksiniz.
Şimdi bir terminal açın ve şu komutu yazın:
ssh root@example.org
Bu komut sunucunuza giriş yapmayı deneyecektir; şifrenizi girmenizi isteyecektir. Şifreyi Vultr panelinden kopyalayabilirsiniz.
Eğer burada bir hata alırsanız, DNS ayarlarını doğru yapmamış olabilirsiniz. Bunları tekrar kontrol edin. Ayrıca example.org yerine IP adresinizi de kullanabilirsiniz, ancak DNS ayarlarınızı yakında düzeltmek isteyeceksiniz.
Web Sunucusunu Kurmak: Nginx
SSH hata vermeden çalışırsa, artık sunucunuzdasınız. Şu komutları sırasıyla çalıştırın:
apt update apt upgrade apt install nginx
İlk komut güncellenebilecek paketleri kontrol eder, ikinci komut tüm güncellemeleri yükler. Üçüncü komut nginx'i (Engine-X olarak okunur) yükler.
Nginx Yapılandırma Dosyamız
nginx yapılandırma dosyaları /etc/nginx/ dizinindedir. Debian tabanlı sistemlerde iki önemli alt dizin bulunur: /etc/nginx/sites-available ve /etc/nginx/sites-enabled. Fikir şu: sites-available içinde bir yapılandırma dosyası oluşturup, hazır olduğunda sites-enabled içine sembolik link oluşturarak etkinleştirirsiniz.
/etc/nginx/sites-available dizininde bir dosya oluşturun:
nano /etc/nginx/sites-available/websitem
Dosyaya şu içeriği ekleyin. İşaretli alanları kendi alan adınız ve dizin adınızla değiştirin:
server {
listen 80 ;
listen [::]:80 ;
server_name example.org ;
root /var/www/websitem ;
index index.html index.htm index.nginx-debian.html ;
location / {
try_files $uri $uri/ =404 ;
}
}
Bu Ayarların Açıklaması
listen satırları, nginx'e hem IPv4 hem de IPv6 bağlantılarını dinlemesini söyler.
server_name bu sunucu bloğunun yanıt vereceği alan adıdır.
root web sitesi dosyalarınızın bulunduğu dizini belirtir. /var/www/ altında tutmak gelenekseldir.
index varsayılan dosyanın ne olduğunu belirler — example.org'a gittiğinizde aslında /var/www/websitem/index.html dosyasına erişirsiniz.
location bloğu sunucuya dosyaları nasıl arayacağını, bulamazsa 404 döndüreceğini söyler.
Site İçin Dizin ve İndeks Oluşturun
mkdir /var/www/websitem
Şimdi bu dizinde görünecek bir indeks dosyası oluşturalım:
nano /var/www/websitem/index.html
Temel bir başlangıç sayfası için şu içeriği kullanabilirsiniz:
<!DOCTYPE html> <html lang="tr"> <meta charset="UTF-8"> <h1>Web sitem!</h1> <p>Bu benim web sitem. Uğradığınız için teşekkürler!</p> <p>Artık web sitem yayında!</p>
Siteyi Etkinleştir
Dosyayı kaydettikten sonra sites-enabled dizinine sembolik link oluşturarak etkinleştirin:
ln -s /etc/nginx/sites-available/websitem /etc/nginx/sites-enabled
Ardından nginx'i yeni yapılandırmayı yüklemesi için yeniden başlatın:
systemctl reload nginx
Güvenlik Duvarı
Vultr ve bazı diğer VPS'ler otomatik olarak bir güvenlik duvarı olan ufw'yu kurar ve etkinleştirir. Bu program varsayılan olarak neredeyse her şeyi engeller, dolayısıyla web portlarını açmamız gerekir. Eğer ufw kurulu değilse bu bölümü atlayabilirsiniz.
ufw allow 80 ufw allow 443
80 numaralı port standart HTTP, 443 ise şifreli HTTPS bağlantıları içindir. Bir sonraki adımda 443'e kesinlikle ihtiyacımız olacak.
Nginx Güvenlik İpucu
Nginx, varsayılan olarak hata sayfalarında sürüm numarasını açıkça gösterir. Bilinen bir güvenlik açığı çıktığında bu bilgi saldırganlar için yol gösterici olabilir. Bunu kapatmak için /etc/nginx/nginx.conf dosyasını açın ve # server_tokens off; satırını bularak başındaki # işaretini kaldırın, ardından Nginx'i yeniden yükleyin.
Ayrıca sunucu yazılımınızı düzenli olarak güncel tutmayı unutmayın.
Artık Çalışan Bir Web Sitemiz Var!
Bu noktada tarayıcınıza alan adınızı yazın — sayfa görünecektir!
"Güvenli değil" bildirimi dikkat çekicidir. Bir sonraki adımda web sitenize şifreli HTTPS bağlantısı ekleyeceğiz.