Apache kurulumunun başarıyla sonuçlandığından emin olmak için makinenin IP adresi ile web tarayıcıdan erişimi denedim, sorun yok. Aşağıdaki Apache'nin varsayılan web sitesi.sudo apt-get install apache2
Bundan sonraki adım, DNS sunucuda ayarları yapılan example.com alan adına ait web sunucusunu yaratmak. Önce bu sunucun verilerinin tutulacağı yeri belirlememiz gerek. Ben /var/www/example.com'u seçtim (/home/username/www de olabilirdi). Bu klasörü yaratıyorum.
İçine de çok basit bir index.html dosyası yarattım.sudo mkdir /var/www/example.com
<html>
<head>
<title>Title of example.com</title>
</head>
<body>
<h1>Welcome</h1>
<p>Here is the data of example.com</p>
</body>
</html>
Apache'de çalışan web sunucuları /etc/apache2/sites-available klasörünün altındaki yapılandırma dosyalarıyla belirleniyor. İlk kurulumda burada sadece default var. Her web sunucu için burada bir yapılandırma dosyası yaratmak gerek. Önerilen yöntemlerden biri default'un bir kopyasını çıkararak üzerinde bizim alan adımız için değişiklikler yapmak. Bu yöntemi uygulayacaksak önce default'un bir kopyasını yaratalım.
sudo cp /etc/apache2/sites-available/default /etc/apache2/sites-available/example.comAşağıda kırmızı ile gösterdiğim satırları bu dosyaya ben ekledim. Mavi satırlar vardı, ben onları example.com alan adına göre değiştirdim.
<VirtualHost *:80>
ServerAdmin webmaster@example.com
DocumentRoot /var/www/example.com
ServerName www.example.com
ServerAlias example.com
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
<Directory /var/www/>
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
</Directory>
ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
<Directory /usr/lib/cgi-bin">
AllowOverride None
Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
Order allow,deny
Allow from all
</Directory>
ErrorLog /var/log/apache2/error.log
# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel warn
CustomLog /var/log/apache2/access.log combined
Alias /doc/ "/usr/share/doc/"
<Directory "/usr/share/doc">
Options Indexes MultiViews FollowSymLinks
AllowOverride None
Order deny,allow Deny from all
Allow from 127.0.0.0/255.0.0.0 ::1/128
</Directory>
</virtualHost>
Ya da debian-administration.org sitesinde anlatıldığı gibi dosyayı yeniden oluşturabilirsiniz. Bu sitedeki örnek dosyanın içeriği
<VirtualHost *> # Burada *:80 olması gerekecek!!!
ServerAdmin webmaster@example.com
ServerName www.example.com
ServerAlias example.com
# Indexes + Directory Root.
DirectoryIndex index.html
DocumentRoot /home/www/www.example.com/
# CGI Directory
ScriptAlias /cgi-bin/ /home/www/www.example.com/cgi-bin/
<Location /cgi-bin>
Options +ExecCGI
</Location>
# Logfiles
ErrorLog /home/www/www.example.com/logs/error.log
CustomLog /home/www/www.example.com/logs/access.log combined
</VirtualHost>
ErrorLog ve CustomLog ile hata dosyalarının yerlerini belirlemek de iyi bir fikir.
Bir makine üzerinde birden fazla web sunucu çalıştırabilmek için şu 3 koşuldan birinin sağlanması gerek:
- IP adresleri farklı olmalı
- Dinledikleri port farklı olmalı (default 80)
- Host header'ları farklı olmalı
Bu noktadan sonra default web sitemi kapatıp (namevirtualhost kullandığımızı varsayarsak bu da seçimlik; isterseniz kapatmayabilirsiniz) yeni yarattığım example.com'u etkinleştirmem gerek. Bunu aşağıdaki script'lerle yapıyorum. Ardından da apache'yi reload etmem gerek.
sudo a2dissite /etc/apache2/sites-available/default
sudo a2ensite /etc/apache2/sites-available/example.com
sudo /etc/init.d/apache reloadBundan sonra sitemizi denemek için web tarayıcımızın adres satırına www.example.com yazmak kaldı. Eğer şu ekranla karşılaşırsanız
DNS ayarlarınızı kontrol etmeniz gerekecek. Çünkü bu sayfa, sizin kurduğunuz Ubuntu Server'dan değil, internetteki bir sunucudan geliyor. Bu tarayıcının çalıştığı bilgisayarın DNS sunucusunu Ubuntu'nun adresi olarak vermeniz gerek. Bunu yapınca yarattığım index.html dosyası karşıma geldi:
Hiç yorum yok:
Yorum Gönder