🚀 CentOS 8 Apache Kurulumu + Virtual Host + SELinux (Tüm Adımlar)
Bu rehberde CentOS 8 üzerinde Apache HTTPD kurulumunu, Virtual Host yapılandırmasını, güvenlik duvarı ayarlarını ve SELinux log izinlerini modern, SEO uyumlu ve tamamen temiz bir yapıda öğrenirsiniz.
Bu içerik:
- 🟢 Google’da üst sıralara oynamak için optimize edilmiştir
- 🟢 Her adım sade ama eksiksizdir
- 🟢 Yeni başlayan – ileri seviye herkes için uygundur
📌 Gereksinimler
- Sudo yetkili bir kullanıcı
- CentOS 8 sunucusu
- FirewallD etkin
- Domain DNS yönlendirmeleri yapılmış
1️⃣ Apache Web Sunucusunu Kurma
CentOS 8, Apache’yi doğrudan resmi depolarında sunar.
sudo dnf install httpd -y
- Kurulum tamamlanınca Apache servisini başlatın:
sudo systemctl start httpd
sudo systemctl enable httpd
sudo systemctl status httpd
Başarılı bir kurulumda:
- Active: active (running) görünmelidir.
- Tarayıcıdan test edin:
http://SUNUCU-IP
2️⃣ Firewall Ayarlarını Açma (HTTP + HTTPS)
- HTTP (80) Aç
sudo firewall-cmd --permanent --add-service=http
- HTTPS (443) Aç (SSL kullanacaksanız)
sudo firewall-cmd --permanent --add-service=https
- Kuralları Yeniden Yükleyin
sudo firewall-cmd --reload
3️⃣ Virtual Host (Sanal Host) Yapılandırması
Bu bölüm sunucuda birden fazla site barındırmak için gereklidir.
- Aşağıdaki örnek domain: rabisu.cloud
İstersen kendi domainini yazıp kullan.
3.1. Site Dizinlerini Oluşturma
sudo mkdir -p /var/www/rabisu.cloud/html
sudo mkdir -p /var/www/rabisu.cloud/log
- Permissions:
sudo chown -R $USER:$USER /var/www/rabisu.cloud/html
sudo chmod -R 755 /var/www
3.2. Örnek index.html Dosyası
sudo vi /var/www/rabisu.cloud/html/index.html
3.2.1 İçerik:
<html>
<head>
<title>Rabisu Bulut Test Sayfası</title>
</head>
<body>
<h1>✔ Sanal Host Başarıyla Çalışıyor!</h1>
</body>
</html>
3.3. Apache Konfigürasyon Klasörlerinin Oluşturulması
Debian/Ubuntu’daki yapılandırmayı CentOS’a uygun şekilde kendimiz kuruyoruz:
sudo mkdir /etc/httpd/sites-available
sudo mkdir /etc/httpd/sites-enabled
- Apache’ye bu dizinleri dahil et:
sudo vi /etc/httpd/conf/httpd.conf
- En alta ekle:
IncludeOptional sites-enabled/*.conf
3.4. Virtual Host Dosyasını Oluştur
sudo vi /etc/httpd/sites-available/rabisu.cloud.conf
- İçerik:
<VirtualHost *:80>
ServerName rabisu.cloud
ServerAlias www.rabisu.cloud
DocumentRoot /var/www/rabisu.cloud/html
ErrorLog /var/www/rabisu.cloud/log/error.log
CustomLog /var/www/rabisu.cloud/log/requests.log combined
</VirtualHost>
3.5. Virtual Host’u Etkinleştir
sudo ln -s /etc/httpd/sites-available/rabisu.cloud.conf /etc/httpd/sites-enabled/rabisu.cloud.conf
4️⃣ SELinux Log İzinlerini Düzenleme (Kesin Yapılmalı)
Eğer SELinux aktifse (varsayılan), Apache log dizinlerine yazamaz.
Bu yüzden doğru bağlamı eklemeliyiz.
4.1 Dizin Bazlı SELinux Ayarı (Önerilen)
sudo semanage fcontext -a -t httpd_log_t "/var/www/rabisu.cloud/log(/.*)?"
sudo restorecon -R -v /var/www/rabisu.cloud/log
4.2. Alternatif: Global Ayar (Daha Az Güvenli)
sudo setsebool -P httpd_unified 1
5️⃣ Apache’yi Yeniden Başlat ve Test Et
sudo systemctl restart httpd
- Logları kontrol et:
ls -lZ /var/www/rabisu.cloud/log
- Tarayıcıdan siteyi kontrol edin:
http://rabisu.cloud
❓ SSS – Sıkça Sorulan Sorular
1**. Apache kurdum ama hala varsayılan sayfa geliyor?**
-
Virtual Host etkin değildir
-
Apache restart edilmemiştir
-
Domain yönlendirmesi yanlış olabilir
2. SELinux izin hatası alıyorum?
-
httpd_log_t bağlamı doğru uygulanmamıştır.
-
Yukarıdaki restorecon komutunu tekrar çalıştırın.
3. Neden yum yerine dnf?
- CentOS 8 ile birlikte dnf, yum’un modern sürümüdür.
🎉 Sonuç
Bu rehberle:
✔ CentOS 8 üzerine Apache kurdun ✔ Güvenlik duvarını yapılandırdın ✔ Birden fazla site için Virtual Host kurdun ✔ SELinux log izinlerini düzelttin
Artık sunucun tam anlamıyla üretim için hazır. Web sitesi altyapınızı kurmanın ilk ve en önemli adımını attınız. İhtiyaç duyduğunuz tüm bulut bilişim hizmetlerini Rabisu Bulut platformunda hemen deneyebilirsiniz