temel

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.

Vultr panelinde şifrenizi bulun

Şimdi bir terminal açın ve şu komutu yazın:

sh
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:

sh
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:

sh
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:

nginx
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

sh
mkdir /var/www/websitem

Şimdi bu dizinde görünecek bir indeks dosyası oluşturalım:

sh
nano /var/www/websitem/index.html

Temel bir başlangıç sayfası için şu içeriği kullanabilirsiniz:

html
<!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:

sh
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:

sh
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.

sh
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!

Tarayıcıda web sayfasının görünümü

"Güvenli değil" bildirimi dikkat çekicidir. Bir sonraki adımda web sitenize şifreli HTTPS bağlantısı ekleyeceğiz.