Debian 11’de Apache Web Sunucusu Nasıl Kurulur ve Yapılandırılır

Apache web sunucusu, Apache Software Foundation tarafından geliştirilen ve sürdürülen en popüler açık kaynaklı web sunucularından biridir. Apache, Linux işletim sistemlerinde açık ara en yaygın kullanılan web sunucusu uygulamasıdır, ancak Windows, MAC OS, OS/2 vb. gibi hemen hemen tüm işletim sistemi platformlarında kullanılabilir. Geliştiricilerin içeriklerini İnternet üzerinden yayınlamalarına olanak tanır.

Bu makale, Debian 11’de (Bullseye) Apache web sunucusunun nasıl kurulacağını ve yapılandırılacağını açıklamaktadır. Aynı adımlar eski Debian 10 sürümünde de çalışır ve orada da test edilmiştir.

Apache 2’yi Debian Linux’a kurun

Apache2’yi resmi Ubuntu depolarını kullanarak sisteminize kurmak için aşağıdaki adımları izleyin.

1. Adım: Sistem havuzlarını güncelleyin

Öncelikle işletim sistemimizde paket kaynaklarını güncellememiz gerekiyor. Bunu yapmak için terminalde sudo olarak aşağıdaki komutu çalıştırın:

$ sudo apt update

Parola istendiğinde, sudo parolasını girin.

Update Debian 11 Packages

Adım 2: Apache 2’yi apt komutuyla kurun

Bu adımda, aşağıdaki komutu kullanarak Apache2 web sunucusunu kurun:

$ sudo apt install apache2
Install Apache2

Kuruluma devam etmeniz için size bir Y/n seçeneği sunulacaktır. Devam etmek için y’ye basın.

3. Adım: Apache kurulumunu doğrulayın

Kurulum tamamlandıktan sonra, Terminal’de aşağıdaki komutu çalıştırarak kurulu olan Apache sürümünü görüntüleyebilirsiniz. Bu şekilde, Apache’nin sisteminize başarıyla yüklendiğini de doğrulayabilirsiniz.

$ apache2 -version
Check installed Apache2 version

Ubuntu Güvenlik Duvarını Yapılandırma

Sisteminizde UFW güvenlik duvarı çalışıyorsa, harici kullanıcıların erişebilmesi için belirli web bağlantı noktalarına izin vermeniz gerekir. Bunun için Terminal’de aşağıdaki komutları çalıştırın:

$ sudo ufw allow 80/tcp
$ sudo ufw allow 443/tcp

Ardından, bağlantı noktalarına izin verilip verilmediğini doğrulamak için aşağıdaki komutu çalıştırın.

$ sudo ufw status

Apache Web Sunucusunu Yapılandırma

1. Adım: Apache hizmetinin çalıştığını doğrulayın

Kurulumdan sonra Apache web servisi otomatik olarak çalışmaya başlar. Ancak emin olmak için Terminal’de aşağıdaki komutu çalıştırın:

$ sudo systemctl status apache2

Sonuç şuna benzer olmalıdır:

Apache server status

2. Adım: Apache Web sunucusunun çalıştığını doğrulayın

Apache web sunucusundan bir web sayfası isteyerek Apache web sunucusunun düzgün çalışıp çalışmadığını doğrulayabilirsiniz.

Sunucunuzun IP adresini bulmak için Terminal’de aşağıdaki komutu yürütün.

$ hostname -I

IP adresini bulduktan sonra, http:// ve ardından web sunucunuzun IP adresini aşağıdaki gibi yazın:

http://server_IP

Yukarıdaki IP adresini girerek aşağıdaki varsayılan Apache sayfasını göreceksiniz.

Apache default page

Apache’de Sanal Bilgisayarları Kurma

Apache’deki sanal bilgisayarlar, tek bir sunucuda birden çok web sitesi çalıştırmanıza olanak tanır. Burada Apache web sunucusunda sanal bilgisayar kuracağız. Bunun için öncelikle Apache’de varsayılan olarak bulunan sunucu bloğunu kullanarak testdomain.info adlı bir web sitesi oluşturacağız.

1. Adım: Bir alan adı ayarlayın

Öncelikle sanal hostumuz testdomain.info için /var/www adresinde bir dizin oluşturacağız. Bunun için aşağıdaki komutu kullanacağız:

(Not: testdomain.info’yu kendi alan adınızla değiştirin.)

$ sudo mkdir -p /var/www/testdomain.info/html

Şimdi aşağıdaki komutları kullanarak mülkiyeti ve izinleri değiştirin:

$ sudo chown -R $USER:$USER /var/www/testdomain.info/html
$ sudo chmod -R 755 /var/www/testdomain.info

Şimdi testdomain.info sitemizi test etmek için örnek bir index sayfası oluşturacağız. Bunun için nano düzenleyiciyi kullanarak aşağıdaki gibi bir HTML dosyası oluşturacağız:

$ nano /var/www/testdomain.info/html/index.html

Dizin sayfası için aşağıdaki satırları ekleyin:

<html>
<head>
<title>Welcome to the page testdomain.info!</title>
</head>
<body>
<h1>You got Lucky! Your testdomain.info server block is up!</h1>
</body>
</html>
Sample web page in HTML

Bittiğinde, kaydetmek için Ctrl+O’ya ve ardından dosyadan çıkmak için Ctrl+X’e basın.

Şimdi aşağıdaki komutu kullanarak sunucunuzun içeriğine hizmet edecek bir sanal bilgisayar dosyası oluşturacağız:

$ sudo nano /etc/apache2/sites-available/testdomain.info.conf

Şimdi alan adınız için aşağıdaki yapılandırma ayrıntılarını ekleyin:

<VirtualHost *:80>
  ServerAdmin [email protected]
  ServerName testdomain.info
  ServerAlias www.testdomain.info
  DocumentRoot /var/www/testdomain.info/html
  ErrorLog ${APACHE_LOG_DIR}/error.log
  CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
Apache virtual host file

Bittiğinde, kaydetmek için Ctrl+O’ya ve ardından dosyadan çıkmak için Ctrl+X’e basın.

2. Adım: Etki alanı yapılandırma dosyasını etkinleştirin

Şimdi aşağıdaki komutu kullanarak sanal host dosyasını etkinleştirin:

$ sudo a2ensite testdomain.info.conf
Enable virtual host

Şimdi aşağıdaki komutu kullanarak varsayılan Apache yapılandırmalarını devre dışı bırakalım:

$ sudo a2dissite 000-default.conf
Disable default vhost

Değişiklikleri uygulamak için aşağıdaki komutu kullanarak Apache2 hizmetini yeniden başlatın:

$ sudo systemctl restart apache2

3. Adım: Hataları test edin

Şimdi herhangi bir sözdizimi hatası için yapılandırmayı test edin:

$ sudo apache2ctl configtest

In case there is no error, you will receive the following output.

Apache config test

Bazı durumlarda, aşağıdaki hatayı alabilirsiniz (bu durumda, bir Debian 10 sistemi üzerindeki testlerimiz sırasında meydana geldi):

Solve apache configuration errors

Bu hatayı çözmek için, aşağıdaki komutu yürüterek servername.conf dosyasını düzenleyin:

$ sudo nano /etc/apache2/conf-available/servername.conf

İçine şu satırı ekleyin:

ServerName testdomain.info
Set a server name

Bittiğinde, kaydetmek için Ctrl+O’ya ve ardından dosyadan çıkmak için Ctrl+X’e basın.

Bundan sonra aşağıdaki komutu çalıştırın:

$ sudo a2enconf servername
Restart apache to apply the changed config

Şimdi Apache2’yi yeniden yükleyin:

$ systemctl reload apache2

Bittiğinde, yapılandırma dosyasını test etmek için aşağıdaki komutu tekrar çalıştırın:

$ sudo apache2ctl configtest

Şimdi hatanın kaldırıldığını göreceksiniz.

4. Adım: Apache’nin alan adınızı sunup sunmadığını test edin

Şimdi tarayıcıyı açın ve şuraya gidin:

http://testdomain.info

testdomain.info’yu kendi alan adınızla değiştirin.

Aşağıdaki dizin sayfası artık tüm web sitelerinize erişebildiğinizi gösteriyor.

Domain test

Bazı Yaygın Apache Yönetim Komutları

Apache hizmetlerini yönetmek için kullanılabilecek en yaygın komutlardan bazıları şunlardır:

Apache sunucusunu başlatmak için aşağıdaki komutu kullanın:

$ sudo systemctl start apache2

Apache sunucusunu durdurmak için aşağıdaki komutu kullanın:

$ sudo systemctl stop apache2

Apache sunucusunu yeniden başlatmak için aşağıdaki komutu kullanın:

$ sudo systemctl restart apache2

Apache sunucusunu yeniden yüklemek için aşağıdaki komutu kullanın:

$ sudo systemctl reload apache2

Hizmeti her zaman açılışta başlatmak için aşağıdaki komutu kullanın:

$ sudo systemctl enable apache2

Apache sunucusunu devre dışı bırakmak için aşağıdaki komutu kullanın:

$ sudo systemctl disable apache2

Bu yazıda, bir Debian 11 veya Debian 10 işletim sisteminde Apache web sunucusunun nasıl kurulacağını ve yapılandırılacağını öğrendik. Güvenlik duvarındaki değişiklikleri, sanal ana bilgisayarı kurmayı ve bazı komutları kullanarak Apache hizmetlerini yönetmeyi içeren bazı temel yapılandırmaları yaptık.

Yazının orijinalini buradan okuyabilirsiniz.