Apache Web Server dünya genelinde en çok kullanılan web serverlardan bir tanesidir.

Bu yazıda, Ubuntu 20.04 üzerinde Apache Web Serverın kurulumu ve Virtual Host yapılandırmasını anlatacağım.

Apache Kurulumu

sudo apt update
sudo apt install apache2 -y

Firewall aktifse Apache servisine izin vermelisiniz.

sudo ufw allow 'Apache'

Apache servisinin çalışır halde olduğundan emin olalım.

systemctl status apache2
Output
● apache2.service - The Apache HTTP Server
     Loaded: loaded (/lib/systemd/system/apache2.service; enabled; vendor preset: enabled)
     Active: active (running) since Thu 2020-04-23 22:36:30 UTC; 20h ago
       Docs: https://httpd.apache.org/docs/2.4/
   Main PID: 29435 (apache2)
      Tasks: 55 (limit: 1137)
     Memory: 8.0M
     CGroup: /system.slice/apache2.service
             ├─29435 /usr/sbin/apache2 -k start
             ├─29437 /usr/sbin/apache2 -k start
             └─29438 /usr/sbin/apache2 -k start

Tarayıcı üzerinden server IP adresini girerek kontrol sağlayabilirsiniz.

Virtual Host Yapılandırması

Aynı server üzerinde birden fazla web sitesi barındırılacak. Bu nedenle her sitenin kendine ait bir alanının olması gerekir.

sudo mkdir -p /var/www/domain_1/public_html
sudo mkdir -p /var/www/domain_2/public_html

domain_1 ve domain_2 kısımlarını kendinize göre düzenleyin.

Oluşturduğumuz klasörler şu anda root kullanıcısına ait. Kullanıcıların kendilerine ait alanda dosyalarda değişiklik yapabilmeleri için dosyalara ve klasörlere ait sahiplikleri ayarlamamız gerekiyor.

sudo chown -R $USER:$USER /var/www/domain_1/public_html
sudo chown -R $USER:$USER /var/www/domain_2/public_html

Aynı zamanda okuma, yazma ve çalıştırma izinlerini de düzenlemeliyiz.

sudo chmod -R 755 /var/www

İki domain için de örnek bir index.html dosyası oluşturalım.

vim /var/www/domain_1/public_html/index.html
<html>
<head>
<title>Birinci Web Sitesi!</title>
</head>
<body>
<h1>Birinci web sitesi başarılı bir şekilde çalışıyor!!</h1>
</body>
</html>

İkinci domain için de aynı işlemi yapıyoruz.

vim /var/www/domain_2/public_html/index.html
<html>
<head>
<title>İkinci Web Sitesi!</title>
</head>
<body>
<h1>İkinci web sitesi başarılı bir şekilde çalışıyor!!</h1>
</body>
</html>

Bir sonraki adımda Virtual Host dosyalarını oluşturacağız.

Virtual Host dosyaları domainlere gelen isteklerin nasıl karşılanacağını ve nereye yönlendirileceğini belirleyen konfigürasyon dosyalarıdır. Apache kurulduğunda varsayılan olarak 000-default.conf  adında bir Virtual Host dosyasıyla gelir.

Yeni dosyaları oluşturalım.

vim /etc/apache2/sites-available/domain_1.conf
<VirtualHost *:80>

     ServerAdmin admin@domain_1
     ServerName domain_1
     ServerAlias www.domain_1
     DocumentRoot /var/www/domain_1/public_html

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

</VirtualHost>

Dosyayı kaydedip çıkın. İkinci domain içinde konfigürasyon dosyası oluşturmamız gerekiyor.

vim /etc/apache2/sites-available/domain_2.conf
<VirtualHost *:80>

    ServerAdmin admin@domain_2
    ServerName domain_2
    ServerAlias www.domain_2
    DocumentRoot /var/www/domain_2/public_html

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

</VirtualHost>

Virtual Host dosyalarını etkinleştirmemiz gerekiyor.

sudo a2ensite domain_1.conf
sudo a2ensite domain_2.conf

Varsayılan dosyayı disable edelim.

sudo a2dissite 000-default.conf

Şimdi Apache’yi restart edelim.

sudo systemctl restart apache2

Gerekli bütün ayarlar yapıldı. Localde çalışıyorsanız /etc/hosts dosyasını aşağıdaki şekilde düzenleyerek tarayıcı üzerinden kontrol sağlayabilirsiniz.

127.0.0.1   localhost
server_ip   domain_1
server_ip domain_2

Teşekkürler…

Leave a Reply

Your email address will not be published. Required fields are marked *