Linux Unix

Centos 6.5 Üzerine Apache Server Kurulumu ve Virtual Host Yapılandırması

Eminim ki BT sektöründeki herkesin evinde, işyerinde, ya da profesyonel yaşamında muhakkak bir Web sunucuya ihtiyacı oluyor. Ne var ki ihtiyaç yalnızca Web sunucu kurmak ile bitmiyor. Sunucuyu kurduktan sonra üzerinde birden fazla web uygulaması çalıştırmak gerekiyor. Her web uygulaması için ayrı bir sunucu mu kuracağız? Elbette hayır. Bu noktada imdadımıza bütün Web sunucuların desteklemiş olduğu Virtual Host yapılandırması koşuyor.

İşin hikaye kısmını özetlediğimize göre artık teknik tarafa geçebiliriz.

 

İşe öncelikle bir Centos 6,5 indirerek başlıyoruz. http://isoredirect.centos.org/centos/6/isos/ adresinden donanımınıza uygun işletim sistemini seçip indirebilirsiniz.

İşletim sistemini sunucuya kurup çalıştırdıktan sonra, Sunucu üzerinden ya da uzaktan bağlanma yoluyla kuruluma başlıyoruz.

 

# su

Komutu ile root olmalıyız.

 

clip_image001

 

Hazırlıklar tamamlandıktan sonra apache sunucuyu kurmak için alttaki komutu kullanıyoruz;

 

# yum -y install httpd

 

Çıktısı alttaki gibi olmalı;

 

clip_image002Apache kurulumu bu kadar. Görüldüğü gibi gayet basit ve pratik bir kurulumu var.

Senaryomuz şu şekilde olacak;

 

  1. cozumpark.com, mustafa.com, yilmaz.com olarak 3 adet web sitesini bu sunucudan sunacağız.
  2. Her web sitesi için bir dizin oluşturacağız.
  3. Her web sitesi için virtual host ayarlarını gireceğiz.

 

Önce /home klasörü altına virtual hostlarımızı barındıracağımız public_html klasörünü oluşturacağız, sonra bu klasörün altında virtual host dosyalarımızı oluşturacağız. Bu işlemler için aşağıdaki komut setini kullanıyoruz;

 

# cd /home/

# mkdir public_html

# mkdir -p public_html/cozumpark.com/{public,private,log,cgi-bin,backup}

# mkdir -p public_html/mustafa.com/{public,private,log,cgi-bin,backup}

# mkdir -p public_html/yilmaz.com/{public,private,log,cgi-bin,backup}

 

Linux/Unix sistemlerde işlemler genelde shell üzerinden yapılır. Shell kullanırken dosyalar üzerinde okuma yazma işlemi yaparken, vi ya da nano gibi text editor programları kullanılır. Ben günlük hayatta vi kullanıyorum, o nedenlede makalede vi ile çalışıyor olacağım.

 

Klasör ve dosyaları oluşturduktan sonra virtual hostları denemek amacıyla kullanacağımız birer index.html dosyası oluşturmalıyız;

 

# vi /home/public_html/cozumpark.com/public/index.html

vi editöründe eğer “i” ya da “a” tuşlarına basmazsanız yazma işlemi yapamazsınız, yani insert moda geçemezsiniz. “i” tuşuna basarak yazma moduna geçiyoruz ve alttaki html kodlarını dosyanın içine yapıştırıyoruz;

 

<html>

  <head>

    <title>cozumpark.com</title>

  </head>

  <body>

    <h1>cozumpark.com</h1>

  </body>

</html>

 

Esc tuşuna basıp yazma modundan çıkıyoruz ve “:wq” diyerek dosyayı kaydedip çıkıyoruz.

Bu işlemi diğer hostlarımız için de yapalım;

 

# vi /home/public_html/mustafa.com/public/index.html

Yine “i” tuşuna basarak yazma moduna geçiyoruz, alttaki satırları dosyanın içeriğine ekliyoruz.

 

<html>

  <head>

    <title>mustafa.com</title>

  </head>

  <body>

    <h1>mustafa.com</h1>

  </body>

</html>

Esc’ye basıp “:wq” ile kaydedip çıkıyoruz.

 

 

 

 

# vi /home/public_html/yilmaz.com/public/index.html

 

“i” tuşuna basarak aşağıdaki html kodlarını ekliyoruz;

 

<html>

  <head>

    <title>yilmaz.com</title>

  </head>

  <body>

    <h1>yilmaz.com</h1>

  </body>

</html>

 

Esc’ye basıp“:wq” ile kaydedip çıkıyoruz.

 

Yukarıda neler yaptığımızı birkaç cümle ile özetleyelim;

  • apache kurulumunu yaptık.
  • Virtual Hostlarımızın bulunacağı /home dizini altında bir public_html klasörü oluşturduk.
  • Her bir virtual host için gereken klasörleri oluşturduk.
  • Her bir virtual host’un public dizini altına gereken index.html dosyalarını oluşturduk ve kaydettik.

 

Gelelim Virtual Host ayarlarına;

Apache’nin konfigürasyon dosyasını açıp düzenlemek için vi ile açıyoruz;

 

# vi  /etc/httpd/conf/httpd.conf

 

Apache’yi konfigüre etmek için dosya içerisinde görüleceği üzere birçok parametre yer almakta. Bir sonraki makalede tamamı ile Apache konfigürasyon parametrelerini anlatıyor olacağım. Orada daha detaylı değineceğimiz dosya içerisindeki birçok parametreyi geçiyor ve direk virtual host ayarlarına geliyorum.

insert moduna geçmeden “/” tuşuna basarak vi içinde arama yapabilirsiniz. Dosya içinde “NameVirtualHost *:80” satırını aratın ve insert moda(“i”’ye basarak)

#NameVirtualHost *:80  

satırını

NameVirtualHost *:80

haline getirin.

Esc’ye basarak insert mod’dan çıkabilirsiniz.

Şimdi dosyanın sonuna ekleme yapmak için yine “i” tuşuna basıp şu satırları ekleyelim;

 

# domain: cozumpark.com

# public: /home/public_html/cozumpark.com/

 

<VirtualHost *:80>

 

  # Admin mail adresi, sunucu adi, sunucu takma adi

  ServerAdmin [email protected]

  ServerName  cozumpark.com

  ServerAlias www.cozumpark.com

 

  # Index ve web sitesinin ya da uygulamasının bulunacagi public klasor

  DirectoryIndex index.html

  DirectoryIndex index.php

  DocumentRoot /home/public_html/cozumpark.com/public

 

  # Custom log file locations

  LogLevel warn

  ErrorLog  /home/public_html/cozumpark.com/log/error.log

  CustomLog /home/public_html/cozumpark.com/log/access.log common

 

</VirtualHost>

 

# domain: mustafa.com

# public: /home/public_html/mustafa.com/public

 

<VirtualHost *:80>

 

  # Admin mail adresi, sunucu adi, sunucu takma adi

  ServerAdmin [email protected]

  ServerName  mustafa.com

  ServerAlias www.mustafa.com

 

  # Index ve web sitesinin ya da uygulamasının bulunacagi public klasor

  DirectoryIndex index.html

  DirectoryIndex index.php

  DocumentRoot /home/public_html/mustafa.com/public

 

  # Log dosyalarina iliskin ayarlar

  LogLevel warn

  ErrorLog  /home/public_html/mustafa.com/log/error.log
  CustomLog /home/public_html/mustafa.com/log/access.log common

  </VirtualHost>

 

# domain: yilmaz.com

# public: /home/public_html/yilmaz.com/public

 

<VirtualHost *:80>

 

  # Admin mail adresi, sunucu adi, sunucu takma adi

  ServerAdmin [email protected]

  ServerName  yilmaz.com

  ServerAlias www.yilmaz.com

 

  # Index ve web sitesinin ya da uygulamasının bulunacagi public klasor

  DirectoryIndex index.html

  DirectoryIndex index.php

  DocumentRoot /home/public_html/yilmaz.com/public

 

  # Log dosyalarina iliskin ayarla

  LogLevel warn

  ErrorLog  /home/public_html/yilmaz.com/log/error.log

  CustomLog /home/public_html/yilmaz.com/log/access.log common

</VirtualHost>

 

 

Vi ile insert mod’da yukarıdaki satırları httpd.conf dosyasına eklediysek, Esc ile insert mod’dan çıkıp “:wq” komutu ile dosyayı kaydedip çıkabiliriz.

 

Eğer bu işlemleri sorunsuz bir şekilde bitirdiysek

 

# setsebool httpd_disable_trans 1

 

Komutu ile apache sunucu için selinux korumasını devre dışı bırakmak gerekiyor.

Bir ayar da dosya izinleri ve sahiplikleri üzerinde yapacağız. Buraya kadar bütün işlemleri root kullanıcısı ile yaptık. Dolayısı ile dosya sahipliği root kullanıcısında olduğu için apache dosyaları çalıştıramayacak ve permission denied hatası verecektir. Bunun önüne geçmek için önce dosyaların sahipliğini değiştireceğiz ve ardından okuma yazma ayarlarını değiştireceğiz ;

 

# chown apache:apache /home/public_html -R

# chmod 755 /home/public_html -R

 

Daha sonra sunucumuz üzerine hosts dosyasını düzenleyelim;

# vi  /etc/hosts

Ile dosyayı düzenlemek üzere açıyoruz ve “i” ile insert mod geçip aşağıdaki satırları ekliyoruz;

 

127.0.0.1   cozumpark.com       mustafa.com     yilmaz.com

x.x.x.x   mustafa.com www.mustafa.com

x.x.x.x   yilmaz.com www.yilmaz.com

x.x.x.x   cozumpark.com www.cozumpark.com

 

x.x.x.x ‘lerin yerine sunucunuzun IP’sini yazıyoruz ve Esc’ye basıp “:wq” ile kaydedip çıkıyoruz.

Son olarak;

 

# service httpd restart

 

komutu ile apache sunucuyu yeniden başlatıyoruz.

 

clip_image003

 

Sunucuyu yeniden başlattıktan sonra deneme yapacağımız istemci makinesinin hosts dosyasını da değiştirmemiz gerekiyor. Bu dosyaya Linux’ta /etc/hosts, Windows sistemlerde ise C:\WINDOWS\system32\drivers\etc\hosts yolları ile erişebilirsiniz.

Dosyanın içeriğini şu şekilde değiştirmelisiniz;

 

x.x.x.x                  cozumpark.com

x.x.x.x                  mustafa.com

x.x.x.x                  yilmaz.com

(x.x.x.x yerine apache’nin bulunduğu sunucunun IP’sini yazmalıyız.)

 

Web tarayıcınız üzerinden cozumpark.com, yilmaz.com, Mustafa.com adreslerine giderek sonucu görebilirsiniz.

 

clip_image004

 

 

clip_image005

 

 

clip_image006

 

Yaptığımız bütün işlemleri adım adım yazalım;

 

  • Apache sunucu kurulumunu yaptık
  • Virtual host’lar için gereken klasörleri oluşturduk
  • Virtual host’ları denemek için birer index.html dosyası oluşturduk
  • Httpd.conf dosyasında virtual host ayarlarını yaptık
  • Selinux ayarlarını yaptık
  • Dosya izin ve sahipliklerini değiştirdik
  • Sunucu ve Client tarafındaki hosts dosyalarını düzenledik.
  • Apache’yi yeniden başlatıp sonuçları gözlemledik.

 

Bir makalenin daha sonuna geldik. Umarım faydalı bir Makale olmuştur. Bir sonraki makalemde görüşmek dileği ile esen kalın.

 

İlgili Makaleler

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Başa dön tuşu