Apache Kurulumu: CentOS 7 Üzerinde Virtual Host ve SELinux 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.
1. 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.
1. Tarayıcıdan test edin:
http://SUNUCU_IP
2. 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.
3. Virtual Host Yapılandırması
Örnek alan adı: rabisuproje.cloud
- Dizin Yapısını Oluşturma
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ı
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 Dosyasını Oluşturma
sudo mkdir /etc/httpd/sites-available /etc/httpd/sites-enabled
sudo vi /etc/httpd/conf/httpd.conf
1. Dosyanın sonuna ekleyin:
IncludeOptional sites-enabled/*.conf
2. Virtual Host dosyası:
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>
- 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ı engeller.
- Log dizini için izin 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 değişikliklerini uygular.
7. Yapılandırmayı Test Etme
sudo systemctl restart httpd
ls -lZ /var/www/rabisuproje.cloud/log
Log dosyaları oluştuysa işlem başarılıdır.
- Tarayıcıdan test edin:
http://rabisuproje.cloud
Sıkça Sorulan Sorular (SSS)
1. Apache neden httpd diye geçiyor? Tarihsel olarak HTTP Daemon kısaltması kullanılır.
2. SELinux kapatılmalı mı? Hayır. Doğru bağlam verilmeli.
3. Virtual Host ne sağlar? Tek sunucuda birden fazla site barındırmayı sağlar.
4. Loglar nerede tutulur? /var/www/siteadi/log/ dizininde.
Sonuç
Apache artık kurulu, güvenli ve çoklu site destekli. CentOS 7 üzerinde production kullanıma hazırsınız.
🚀Rabisu Bulut ile projelerinizi hemen yayına alın.