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
sudoyetkisine sahip kullanıcı- Alan adı sunucu IP’sine yönlendirilmiş olmalı
firewalldaktif 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.