Ana içeriğe geç

CentOS 7 Üzerinde Virtual Host Ayarları

Bu rehberde CentOS 7 üzerinde Apache (httpd) web sunucusunu kurmayı öğreneceksiniz.
Ayrıca Virtual Host ve SELinux izinleri ile aynı sunucuda birden fazla alan adını güvenli şekilde yöneteceksiniz.


Bu Rehberde Ne Öğreneceksiniz?

  • CentOS 7 üzerinde Apache kurulumu
  • Firewalld ile HTTP/HTTPS erişimi açma
  • Apache servis yönetimi
  • Virtual Host yapılandırması
  • SELinux log izinlerini doğru ayarlama

Ön Koşullar

  • CentOS 7 kurulu bir Rabisu Bulut sunucusu
  • sudo yetkisine sahip kullanıcı
  • Alan adı sunucu IP’sine yönlendirilmiş olmalı
  • firewalld aktif olmalı

1. Apache Kurulumu ve Firewall Ayarları

Apache, CentOS depolarında httpd paketi olarak bulunur.

sudo yum update httpd

Bu komut Apache paket bilgisini günceller.

sudo yum install httpd

Bu komut Apache web sunucusunu kurar.

  • Firewalld Ayarları
sudo firewall-cmd --permanent --add-service=http
  • HTTP trafiğini açar (80).
sudo firewall-cmd --permanent --add-service=https
  • HTTPS trafiğini açar (443).
sudo firewall-cmd --reload
  • Firewall kurallarını uygular.

2. Apache Servisini Başlatma ve Kontrol

sudo systemctl start httpd

Apache servisini başlatır.

sudo systemctl status httpd

Servisin çalıştığını doğrular.

Tarayıcıdan Test Etme

Sunucu IP adresini ziyaret edin:

http://SUNUCU_IP

3. Apache Servisini Yönetme

sudo systemctl stop httpd

Servisi durdurur.

sudo systemctl restart httpd

Servisi yeniden başlatır.

sudo systemctl reload httpd

Yapılandırmayı bağlantıları kesmeden yeniler.

sudo systemctl enable httpd

Sunucu açılışında otomatik başlatır.

4. Virtual Host İçin Dizin Yapısı Oluşturma

Örnek alan adı: rabisuproje.cloud

sudo mkdir -p /var/www/rabisuproje.cloud/html
sudo mkdir -p /var/www/rabisuproje.cloud/log

Site kök ve log dizinlerini oluşturur.

sudo chown -R $USER:$USER /var/www/rabisuproje.cloud/html
sudo chmod -R 755 /var/www

Doğru sahiplik ve izinleri ayarlar.

Test Dosyası Oluşturma

sudo vi /var/www/rabisuproje.cloud/html/index.html
<html>
<head>
<title>rabisuproje.cloud</title>
</head>
<body>
<h1>Başarılı! Virtual Host çalışıyor.</h1>
</body>
</html>

5. Virtual Host Yapılandırması

Apache Virtual Host dizinlerini oluşturun:

sudo mkdir /etc/httpd/sites-available /etc/httpd/sites-enabled

Apache ana yapılandırmasını açın:

sudo vi /etc/httpd/conf/httpd.conf

Dosyanın sonuna şu satırı ekleyin:

IncludeOptional sites-enabled/*.conf

Virtual Host dosyasını oluşturun:

sudo vi /etc/httpd/sites-available/rabisuproje.cloud.conf
<VirtualHost *:80>
ServerName rabisuproje.cloud
ServerAlias www.rabisuproje.cloud
DocumentRoot /var/www/rabisuproje.cloud/html
ErrorLog /var/www/rabisuproje.cloud/log/error.log
CustomLog /var/www/rabisuproje.cloud/log/access.log combined
</VirtualHost>

Virtual Host’u etkinleştirin:

sudo ln -s /etc/httpd/sites-available/rabisuproje.cloud.conf /etc/httpd/sites-enabled/

6. SELinux İzinlerini Ayarlama (Önerilir)

SELinux, Apache’nin özel dizinlere yazmasını engelleyebilir. Log dizini için doğru bağlamı tanımlayalım.

sudo semanage fcontext -a -t httpd_log_t "/var/www/rabisuproje.cloud/log(/.*)?"

Apache’nin log yazmasına izin verir.

sudo restorecon -R -v /var/www/rabisuproje.cloud/log

SELinux bağlamını uygular.

7. Yapılandırmayı Test Etme

sudo systemctl restart httpd

Log izinlerini kontrol edin:

ls -lZ /var/www/rabisuproje.cloud/log

Log dosyaları oluştuysa yapılandırma başarılıdır.

Tarayıcıdan test edin:

http://rabisuproje.cloud

Sıkça Sorulan Sorular (SSS)

Apache neden httpd olarak adlandırılır?

Tarihsel olarak HTTP Daemon kısaltması kullanılır.

SELinux kapatılmalı mı?

Hayır. Güvenlik için açık kalmalı ve doğru bağlam verilmelidir.

Virtual Host ne sağlar?

Tek bir sunucuda birden fazla web sitesini barındırmayı sağlar.

Apache logları nerede tutulur?

Genellikle:

/var/www/siteadi/log/

Sonuç

Artık Apache CentOS 7 üzerinde kurulmuş, güvenli ve çoklu site destekli bir şekilde çalışıyor.

Bu yapı sayesinde aynı sunucuda birden fazla web sitesini kolayca barındırabilirsiniz.

Rabisu Bulut altyapısı ile projelerinizi hızlı ve güvenli şekilde yayına alabilirsiniz.