Takip et

Debian 10 Üzerine Apache Web Sunucusunun Kurulumu

Debian 10 Üzerine Apache Web Sunucusunun Kurulumu Debian 10 (Buster) sunucunuzda güçlü ve esnek bir web sunucusu çalıştırmak istiyorsanız,

Debian 10 Üzerine Apache Web Sunucusunun Kurulumu

Debian 10 (Buster) sunucunuzda güçlü ve esnek bir web sunucusu çalıştırmak istiyorsanız, Apache HTTP Sunucusu mükemmel bir seçimdir. Açık kaynaklı, ücretsiz ve dünya genelinde en yaygın kullanılan web sunucularından biri olan Apache, modüler yapısı sayesinde genişletilebilir ve her türlü ihtiyaca uyum sağlayabilir. Bu kapsamlı rehberde, Debian 10 sisteminize Apache’yi adım adım nasıl kuracağınızı, temel yapılandırmaları nasıl yapacağınızı ve web sitenizi nasıl yayına alacağınızı öğreneceksiniz.

Bu rehber, temel Linux komut bilgisine sahip kullanıcılar için tasarlanmıştır. Tüm adımları dikkatlice takip ederek, kendi web sunucunuzu kısa sürede çalışır hale getirebilirsiniz.

Sistem Güncelleme ve Ön Gereksinimler

Herhangi bir yazılım kurulumuna başlamadan önce, sisteminizin güncel olduğundan emin olmak en iyi uygulamadır. Bu, potansiyel güvenlik açıklarını kapatır ve yazılım uyumsuzluklarını önler. Ayrıca, kurulum için gerekli paket yöneticisi önbelleğini de yeniler.

Debian sisteminizde sudo ayrıcalıklarına sahip bir kullanıcı olarak veya doğrudan root kullanıcısı olarak aşağıdaki komutları çalıştırın. sudo kullanıyorsanız, komutları çalıştırmadan önce şifreniz istenebilir.

Öncelikle, paket listelerinizi güncelleyelim:

sudo apt update

Ardından, yüklü paketlerinizi en son sürümlerine yükseltin:

sudo apt upgrade -y

Bu komutlar, sisteminizin en son yazılım güncellemelerine sahip olmasını sağlayacaktır. -y bayrağı, tüm sorulara otomatik olarak “evet” yanıtı verir ve yükseltme işlemini kesintisiz hale getirir. Bu adımları tamamladıktan sonra, Apache kurulumuna hazırız.

Apache Web Sunucusunun Kurulumu

Debian depolarında Apache web sunucusu apache2 paketi olarak bulunur. Kurulumu oldukça basittir ve tek bir komutla gerçekleştirilebilir.

Apache’yi kurmak için aşağıdaki komutu kullanın:

sudo apt install apache2 -y

Bu komut, Apache web sunucusunun gerekli tüm bileşenlerini ve bağımlılıklarını sisteminize indirecek ve kuracaktır. Kurulum tamamlandığında, Apache servisi otomatik olarak başlayacak ve sistem açılışında da otomatik olarak başlamak üzere yapılandırılacaktır.

Kurulumun başarılı olup olmadığını kontrol etmek için Apache servisinin durumunu kontrol edebilirsiniz:

sudo systemctl status apache2

Çıktıda active (running) ifadesini görmeniz, Apache’nin başarıyla çalıştığı anlamına gelir.

● apache2.service - The Apache HTTP Server
   Loaded: loaded (/lib/systemd/system/apache2.service; enabled; vendor preset: enabled)
   Active: active (running) since Tue 2023-10-26 10:00:00 UTC; 1min ago
     Docs: https://httpd.apache.org/docs/2.4/
  Process: 1234 ExecStart=/usr/sbin/apachectl start (code=exited, status=0/SUCCESS)
 Main PID: 5678 (apache2)
    Tasks: 6 (limit: 1152)
   Memory: 10.5M
   CGroup: /system.slice/apache2.service
           ├─5678 /usr/sbin/apache2 -k start
           ├─5679 /usr/sbin/apache2 -k start
           └─5680 /usr/sbin/apache2 -k start

Artık Apache sunucunuz çalışıyor. Sunucunuzun varsayılan web sayfasını bir web tarayıcısı üzerinden kontrol edebilirsiniz. Bunun için sunucunuzun IP adresini (örneğin, http://sunucu_ip_adresiniz) tarayıcınızın adres çubuğuna yazmanız yeterlidir. Eğer her şey yolundaysa, “Apache2 Debian Default Page” yazan varsayılan bir sayfa göreceksiniz. Bu sayfa, Apache’nin doğru şekilde kurulduğunu ve çalıştığını gösterir.

Sunucunuzun IP adresini bilmiyorsanız, aşağıdaki komutlardan birini kullanarak öğrenebilirsiniz:

ip a s

veya harici IP adresini öğrenmek için:

curl -4 icanhazip.com

Güvenlik Duvarı Yapılandırması ve Apache’yi Yönetme

Sunucunuzda bir güvenlik duvarı (firewall) çalışıyorsa, web sunucusunun dışarıdan erişilebilir olması için HTTP ve HTTPS portlarını açmanız gerekir. Debian’da yaygın olarak kullanılan güvenlik duvarı aracı ufw (Uncomplicated Firewall) veya iptables‘tır. Bu rehberde ufw kullanımına odaklanacağız, çünkü yönetimi daha kolaydır.

Eğer ufw yüklü değilse, öncelikle yükleyin:

sudo apt install ufw -y

Apache kurulumu, ufw için önceden tanımlanmış bir uygulama profili ekler. Bu profiller, Apache için gerekli portları (HTTP için 80, HTTPS için 443) kolayca açmanızı sağlar.

Mevcut Apache ufw profillerini listelemek için:

sudo ufw app list

Çıktıda aşağıdaki profilleri görmelisiniz:

Available applications:
  Apache
  Apache Full
  Apache Secure
  OpenSSH

* Apache: Sadece HTTP (port 80) trafiğine izin verir.
* Apache Full: Hem HTTP (port 80) hem de HTTPS (port 443) trafiğine izin verir.
* Apache Secure: Sadece HTTPS (port 443) trafiğine izin verir.

Web sitenizi hem HTTP hem de HTTPS üzerinden sunmayı planlıyorsanız, Apache Full profilini etkinleştirmelisiniz. Şimdilik sadece HTTP kullanacaksanız Apache profilini seçebilirsiniz.

Apache Full profilini etkinleştirelim:

sudo ufw allow 'Apache Full'

Şimdi güvenlik duvarını etkinleştirin (eğer daha önce etkin değilse). Bu komutu çalıştırdığınızda SSH bağlantınızın kopmaması için bir uyarı alabilirsiniz. y ile onaylayın.

sudo ufw enable

Güvenlik duvarı kurallarınızın etkin olup olmadığını kontrol etmek için:

sudo ufw status

Çıktıda Apache Full profiline izin verildiğini görmelisiniz. Artık web tarayıcınızdan sunucunuzun IP adresine eriştiğinizde varsayılan Apache sayfasını görmeniz gerekir.

Apache Servisini Yönetme

Apache servisini yönetmek için systemctl komutunu kullanabilirsiniz:

* Apache’yi durdurma:

sudo systemctl stop apache2

* Apache’yi başlatma:

sudo systemctl start apache2

* Apache’yi yeniden başlatma (yapılandırma değişikliklerinden sonra):

sudo systemctl restart apache2

* Apache’yi yeniden yükleme (yapılandırma değişikliklerini uygulamak için, servisi kapatmadan):

sudo systemctl reload apache2

* Apache’nin sistem açılışında otomatik başlamasını engelleme:

sudo systemctl disable apache2

* Apache’nin sistem açılışında otomatik başlamasını sağlama:

sudo systemctl enable apache2

Ek Yapılandırmalar ve Sonuç

Apache’yi kurdunuz ve çalışır duruma getirdiniz. Şimdi, web sitelerinizi barındırmak için bazı ek yapılandırmaları ve pratik bilgileri inceleyelim.

Varsayılan Web Dizini ve İlk Web Sayfanız

Apache’nin varsayılan web kök dizini /var/www/html konumundadır. Bu dizin içindeki index.html dosyası, sunucunuzun IP adresine veya alan adına erişildiğinde gösterilen varsayılan sayfadır.

Kendi web sayfanızı oluşturmak için bu dizine gidip index.html dosyasını düzenleyebilirsiniz veya kendi dosyalarınızı buraya yükleyebilirsiniz.

Örnek olarak, varsayılan index.html dosyasını silip kendi basit HTML dosyanızı oluşturalım:

sudo rm /var/www/html/index.html
sudo nano /var/www/html/index.html

Açılan editöre aşağıdaki HTML içeriğini yapıştırın:




    
    Merhaba Dünya!


    
    

Bu benim ilk web sayfam.

Kaydedip (Ctrl+O, Enter) ve çıkın (Ctrl+X). Şimdi tarayıcınızdan sunucu IP adresinize tekrar eriştiğinizde bu yeni sayfayı görmelisiniz.

Sanal Sunucular (Virtual Hosts)

Birden fazla web sitesini tek bir Apache sunucusunda barındırmak için sanal sunucular (Virtual Hosts) kullanılır. Bu, her site için ayrı bir yapılandırma dosyası ve dizini oluşturmanıza olanak tanır.

Apache’nin sanal sunucu yapılandırma dosyaları /etc/apache2/sites-available/ dizininde bulunur ve etkinleştirilenler /etc/apache2/sites-enabled/ dizinine sembolik bağlantılarla bağlanır.

Yeni bir sanal sunucu oluşturmak için:

1. Dizin oluşturun: Web sitenizin dosyalarını tutacak bir dizin oluşturun. Örneğin, example.com için:

sudo mkdir -p /var/www/example.com/html

2. İzinleri ayarlayın: Web sunucusunun bu dizine erişebilmesi için uygun izinleri verin:

sudo chown -R $USER:$USER /var/www/example.com/html
    sudo chmod -R 755 /var/www/example.com

3. Örnek bir index.html dosyası oluşturun:

sudo nano /var/www/example.com/html/index.html

İçine basit bir HTML içeriği ekleyin:


    
    
        
        Example.com
    
    
        
        

Bu sanal sunucu başarıyla çalışıyor.

4. Sanal sunucu yapılandırma dosyasını oluşturun: Varsayılan yapılandırma dosyasını kopyalayarak başlayabilirsiniz:

sudo cp /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-available/example.com.conf
    sudo nano /etc/apache2/sites-available/example.com.conf

Dosyayı aşağıdaki gibi düzenleyin (alan adınızı ve dizin yollarını kendi bilgilerinizle değiştirin):


        ServerAdmin webmaster@example.com
        ServerName example.com
        ServerAlias www.example.com
        DocumentRoot /var/www/example.com/html

        ErrorLog ${APACHE_LOG_DIR}/error.log
        CustomLog ${APACHE_LOG_DIR}/access.log combined

        
            Options Indexes FollowSymLinks
            AllowOverride All
            Require all granted
        
    

5. Sanal sunucuyu etkinleştirin:

sudo a2ensite example.com.conf

6. Varsayılan siteyi devre dışı bırakın (isteğe bağlı, kendi siteniz varsayılan olacaksa):

sudo a2dissite 000-default.conf

7. Apache yapılandırma sentaksını kontrol edin:

sudo apache2ctl configtest

Eğer Syntax OK çıktısını alırsanız, yapılandırmanız doğru demektir.
8. Apache’yi yeniden başlatın:

sudo systemctl restart apache2

Artık example.com alan adınızı sunucunuzun IP adresine yönlendirdiğinizde (DNS yapılandırması gereklidir), kendi web sitenizi görmelisiniz.

Apache Modülleri

Apache modüler bir yapıya sahiptir. İhtiyacınız olan özellikleri (örneğin, URL yeniden yazma, SSL desteği) modülleri etkinleştirerek ekleyebilirsiniz.

* Modül etkinleştirme: sudo a2enmod
* Modül devre dışı bırakma: sudo a2dismod

Örneğin, URL yeniden yazma modülünü etkinleştirmek için:

sudo a2enmod rewrite
sudo systemctl restart apache2

Apache Yapılandırma Dosyaları

Apache’nin ana yapılandırma dosyaları ve dizinleri şunlardır:

* /etc/apache2/apache2.conf: Ana yapılandırma dosyası.
* /etc/apache2/ports.conf: Apache’nin hangi portları dinleyeceğini tanımlar.
* /etc/apache2/conf-available/: Ek yapılandırma parçacıklarını içerir. a2enconf ve a2disconf ile etkinleştirilir/devre dışı bırakılır.
* /etc/apache2/mods-available/: Modül yapılandırmalarını içerir. a2enmod ve a2dismod ile etkinleştirilir/devre dışı bırakılır.
* /var/log/apache2/: Apache’nin erişim ve hata günlüklerinin bulunduğu dizin.

Bu rehber, Debian 10 üzerine Apache web sunucusunu kurma ve temel yapılandırmaları yapma konusunda size yol göstermiştir. Artık kendi web sitelerinizi barındırmak için güçlü bir platforma sahipsiniz. Daha ileri seviye yapılandırmalar (SSL/TLS, performans optimizasyonları, PHP, veritabanı entegrasyonu vb.) için Apache dokümantasyonunu inceleyebilir veya ilgili rehberleri takip edebilirsiniz.

Sıkça Sorulan Sorular (SSS)

1. Apache’nin varsayılan portu nedir?
Apache, HTTP trafiği için varsayılan olarak 80 numaralı portu, HTTPS (güvenli) trafiği için ise 443 numaralı portu kullanır.

2. Tarayıcımdan sunucu IP adresine erişemiyorum, neden?
Bunun birkaç nedeni olabilir:
* Güvenlik Duvarı: ufw veya başka bir güvenlik duvarı, 80 veya 443 numaralı portlara erişimi engelliyor olabilir. sudo ufw status komutuyla kontrol edin ve gerekli portları açın (sudo ufw allow 'Apache Full').
* Apache Servisi Çalışmıyor: sudo systemctl status apache2 komutuyla Apache servisinin durumunu kontrol edin. active (running) değilse, sudo systemctl start apache2 ile başlatın.
* Yanlış IP Adresi: Sunucunuzun doğru IP adresini kullandığınızdan emin olun.
* Ağ Sorunları: Sunucunuzun ağ bağlantısını kontrol edin.

3. Birden fazla web sitesini tek bir Apache sunucusunda nasıl barındırabilirim?
Bu işlem, “Sanal Sunucular” (Virtual Hosts) kullanılarak yapılır. Her web sitesi için ayrı bir yapılandırma dosyası oluşturur ve bu dosyaları etkinleştirirsiniz. Rehberin “Sanal Sunucular” bölümüne bakabilirsiniz.

4. Apache log dosyaları nerede bulunur?
Apache’nin erişim (access) ve hata (error) günlükleri genellikle /var/log/apache2/ dizininde bulunur. Bu loglar, web sitenizdeki sorunları gidermek ve trafik analizi yapmak için çok önemlidir.

5. Apache kurulumu ne kadar güvenlidir?
Apache, iyi yapılandırıldığında ve düzenli olarak güncellendiğinde oldukça güvenli bir web sunucusudur. Ancak, herhangi bir sunucu yazılımında olduğu gibi, güncel tutmak, güvenlik duvarı kullanmak, gereksiz modülleri devre dışı bırakmak ve güvenlik en iyi uygulamalarını takip etmek önemlidir. Özellikle SSL/TLS (HTTPS) kullanmak, veri iletişimini şifreleyerek güvenliği artırır.

Yorumlar
İçeriği beğendiniz mi? Bir tartışma başlatın veya görüşlerinizi paylaşın.
Yorum Yaz

Bir yanıt yazın

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

Gönder

E-posta Bülteni
Yazılım Topluluğuna Katılın
En son güncellemeleri, yaratıcı ipuçlarını ve özel kaynakları doğrudan e-posta kutunuza alın. Tasarım ve inovasyonun geleceğini birlikte keşfedelim.
Exit mobile version