CentOS 8 yüklü sunucunuza Apache ile birden fazla alan adını host etmek istediğinizde karşınıza VirtualHost yani sanal konaklar kavramı çıkacaktır. Apache Virtual Host ile size alan adlarınız için farklı host alanları açmanıza ve barındırmanıza olanak sağlar.
İşe başlamadan önce sunucu işletim sisteminizin CentOS 8 olduğundan emin olun.
CentOS 8 Apache Kurulumu
Sunucuzda Apache önceden kurulu değil ise aşağıdaki adımları takip ederek Apache kurulumu ile başlayabilirsiniz.
sudo dnf install httpd
Eğer sisteminizde Firewalld kurulu ve aktifse aşağıdaki komutu çalıştırarak http ve https isteklerini kabul ediyoruz.
sudo firewall-cmd --permanent --add-service=http
sudo firewall-cmd --permanent --add-service=https
Şimdi firewall ı yeniden başlatıp değişikliğin geçerli olmasını sağlıyoruz.
sudo firewall-cmd --reload
Web sunucumuzu kontrol edelim
Apache yi çalıştırıyoruz
sudo systemctl start httpd
Apache çalışma durumuna bakalım
sudo systemctl status httpd
Sonuç çıktısı şöyle olması gerekli “active (running)
” kısmına dikkat!
httpd.service - The Apache HTTP Server
Loaded: loaded (/usr/lib/systemd/system/httpd.service; enabled; vendor preset: disabled)
Drop-In: /usr/lib/systemd/system/httpd.service.d
└─php-fpm.conf
Active: active (running) since Wed 2020-09-09 13:43:35 +03; 37min ago
Docs: man:httpd.service(8)
Main PID: 1655 (httpd)
Status: "Total requests: 914; Idle/Busy workers 100/0;Requests/sec: 0.404; Bytes served/sec: 2.4KB/sec"
Tasks: 279 (limit: 47622)
Memory: 56.0M
CGroup: /system.slice/httpd.service
├─1655 /usr/sbin/httpd -DFOREGROUND
├─1814 /usr/sbin/httpd -DFOREGROUND
├─1815 /usr/sbin/httpd -DFOREGROUND
├─1816 /usr/sbin/httpd -DFOREGROUND
├─1817 /usr/sbin/httpd -DFOREGROUND
├─1818 /usr/sbin/httpd -DFOREGROUND
└─3075 /usr/sbin/httpd -DFOREGROUND
Eyl 09 13:43:35 MyServer systemd[1]: Starting The Apache HTTP Server...
Eyl 09 13:43:35 MyServer systemd[1]: Started The Apache HTTP Server.
Eyl 09 13:43:35 MyServer httpd[1655]: Server configured, listening on: port 443, port 80
Şimdi Apache’nin reboot sonrasında otomatik başlatılmasını sağlayalım
sudo systemctl enable httpd
Artık Apache nizi kullanabilirsiniz.
Apache Virtual Host yani Sanal Konakları Yapılandıralım
İlk önce sanal konaklarımızın dosyalarının bulunacağı dizinleri ayarlamakla başlıyoruz. Apache standart olarak “/var/www/html
” yolundaki dosyaları okur. Ancak CentOS kurulumlarında özellikle ayarlamamışsanız “/var
” dizini için ayrılan alan düşüktür ve site barındırmanız için yeterli olmayacaktır. Bu nedenle genellikle “/home
” dizini bu iş için idealdir. Örneğimizde “/home
” dizini içerisine çeşitli alan adlarını host edeceğiz.
Alan adı olarak “halityesil.com” u kullanacağım. Siz yapılandırmanızda “halityesil.com” olan yerlere kendi alan adınızı yazarak devam edebilirsiniz.
Sitemizin dosyalarının bulunacağı dizini oluşturalım. (burada -p parametresi mevcut olmayan üst dizinlerinde otomatik olarak oluşturulmasını sağlayacaktır)
sudo mkdir -p /home/halityesil.com/public_html
Şimdi apache için logları tutacağı bir dizin oluşturalım
sudo mkdir -p /home/halityesil.com/log
Şimdi dosya izinlerimizi verelim. (-R parametresi içindeki dizinleride aynı değere atar)
sudo chmod -R 755 /home/halityesil.com
Şimdi sitemizi görebilmek için public_html içerisine bir index.html oluşturalım
sudo nano /home/halityesil.com/public_html/index.html
<html>
<head>
<title>Welcome to Halityesil.com!</title>
</head>
<body>
<h1>Success! The Halityesil.com virtual host is working!</h1>
</body>
</html>
Yukarıdaki html kodunu yazdıktan sonra CTRL+X
ile kaydedip çıkıyoruz.
Buraya kadar sitemizin dosya ve dizin yapısı hazır.
Apache Virtual Host Direktiflerini Hazırlayalım
Standart kurulumda apache conf dosyaları “/etc/httpd/
” dizininde bulunur öncelikle ilgili dizine intikal edelim.
cd /etc/httpd
Şimdi kullanılabilir hostlarımızı tutmak için “sites-available
” ve aktif hostlarımız için ise “sites-enabled
” şeklinde iki dizini “/etc/httpd
” içerisine oluşturalım
sudo mkdir /etc/httpd/sites-available /etc/httpd/sites-enabled
Nano kullanarak Apache yapılandırma dosyasını açıyoruz ve aktif konaklarımızın okunmasını sağlıyoruz. Bu bölüm genelde httpd.conf
dosyasının en sonunda yer alır. Kolayca bulmak için en alta inin ve “IncludeOptional conf.d/*.conf
” deyiminin yerini bulun ve altına ekleyin
sudo nano /etc/httpd/conf/httpd.conf
...
# Supplemental configuration
#
# Load config files in the "/etc/httpd/conf.d" directory, if any.
IncludeOptional conf.d/*.conf
# Sanal konalar buradan okunacak
IncludeOptional sites-enabled/*.conf
Şimdi halityesil.com için bir yapılandırma dosyası hazırlayalım.
Nano eğer dosya belirtilen adreste varsa düzenlemek için açar, yoksa boş bir dosya açar ve kaydetmenizi sağlar.
sudo nano /etc/httpd/sites-available/halityesil.com.conf
<VirtualHost *:80>
ServerName halityesil.com
ServerAlias www.halityesil.com
DocumentRoot /home/halityesil.com/public_html
ErrorLog /home/halityesil.com/log/error.log
CustomLog /home/halityesil.com/log/requests.log combined
</VirtualHost>
CTRL+X
ile kaydetip çıkıyoruz.
Şimdi yapılandırma dosyamızı Apache nin okuması için sites-enabled
dizinine linkliyoruz. Bu sayede sites-enabled
içerisinden sadece linki silerek bir siteyi deaktif yapabilirsiniz. Orjinal dosyanız güvende kalacaktır.
sudo ln -s /etc/httpd/sites-available/halityesil.com.conf /etc/httpd/sites-enabled/halityesil.com.conf
Buraya kadar Apache Virtual Host kullanıma hazır. Ama önce yapılandırmamızın doğruluğunu kontrol edelim.
sudo apachectl configtest
Syntax OK
Sonuç “Syntax OK” ise şimdi Apache yi yeniden başlatabiliriz.
sudo systemctl restart httpd
Tebrikler artık bir Apache Virtual Host’umuz var.
Takıldığınız, hata aldığınız yapamadığınız yerlerde lütfen sormaktan çekinmeyin. Zamanım oldukça, fırsat buldukça bütün soruları yanıtlamaya gayret ediyorum.
“CentOS 8 Apache Virtual Host Kurulumu” için 2 yanıt
Döviz Bürosu sitesi olarak sizi takip ediyor ve başarılı buluyoruz yazılarınız kaliteli tebrikler
Thank you!