31
2013
WAMP Server’da Sanal Site Oluşturma
Bilgisayarında PHP ile denemeler yapanların bir çoğu, benim gibi WAMP Server kullanıyor. WAMP Server, Windows'ta Apache MySQL ve PHP (WAMP) kullanmayı sağlayan pratik bir araç. WAMP'ı kurduğunuzda ister kendi PHP scriptinizi isterseniz de WordPress gibi bir scripti çalıştırabiliyorsunuz. Bunu yaparken de adres satırında http://localhost/ adresini kullanıyoruz. Peki bu adres yerine www.canim-ne-isterse.com gibi bir adres kullanmak istemez miydiniz?
Öncelikle eğer WAMP Server bilgisayarınızda yüklü değilse wampserver.com sitesinden indirip, kurun. Normal bir programın kurulumundan farklı değil, Next Next diyerek kolaylıkla kurabilirsiniz.
WAMP'un php dosyalarını ya da site dosyalarını tuttuğu klasör C:\wamp\www klasörüdür. Ancak biz örneğimizde daha basit bir yol olsun diye C:'de oluşturacağımız bir klasörü kullanacağız. WAMP'ı kurduktan sonra Başlat/Tüm Programlar/Wamp Server/start Wampserver yolunu takip ederek çalıştırabilirsiniz. Çalıştırdığınızda saatin orada yeşil renkli W sembolü bulunan WAMP'ın kısayol simgesini göreceksiniz. Yeşil renk WAMP'ın her şeyiyle çalıştığını gösteriyor. Tarayıcınızı açıp, http://localhost/ yazdığınızda karşınıza Apache ile ilgili bir şeyler çıkıyorsa, kurulumu doğru yapmışsınız demektir.
1. Gerekli Klasörlerimizi Oluşturuyoruz
Sanal siteyi oluşturmak için aşağıdakileri adım adım ve eksiksiz yapmalısınız. Sitemizin ana klasörü için C:\ içerisinde websites adında bir klasör oluşturun. Ben bu klasör içerisinde daha sonra subdomain (alt alanadı) tanımlamak için de site1 ve site2 adlarında iki klasör daha oluşturdum. Unutmayın C:\websites klasörü sanal sitemizin ana klasörü olacak. Klasör yapımız aşağıdaki gibi görünmeli. İsterseniz klasörler içerisine hazırladığınız birer index.htm dosyası koyup, işlemlerin sonunda sistemin çalıştığını daha iyi görebilirsiniz.

2. Sanal Hosts Özelliğini Etkinleştiriyoruz
Bunu yapmak için C:\wamp\bin\apache\apache2.2.22\conf yolunu (apache2.2.22 sürüme göre değişebilir) Bilgisayarım'ı kullanarak açın. Klasör içerisindeki httpd.conf dosyasını metin editörü programınızla (ben notepad++ yı öneriyorum) açın ve aşağıdaki kod satırlarını bulun.
# Virtual hosts #Include conf/extra/httpd-vhosts.conf
Kodun ikinci satırındaki # sembolünü silin, yani kodun yeni hali aşağıdaki gibi olsun.
# Virtual hosts Include conf/extra/httpd-vhosts.conf
Böylece sanal host için config dosyasını okumasını söylemiş olduk. Ardından şimdi sanal adreslerimizi tanımlamaya sıra geldi. Sanal adres olarak ben www.sitelerim.com adresini kullanacağım. Ayrıca site1.sitelerim.com ve site2.sitelerim.com şeklinde iki tane de subdomain (alt alan adı) tanımlamak istiyorum. Merak etmeyin işin mantığını anladığınızda siz istediğiniz kadar sanal site tanımlayabileceksiniz.
3. Sanal Site Adresimizi ve Subdomain (Alt Alan) Adreslerimizi Tanımlıyoruz
Bunu yapmak için C:\wamp\bin\apache\apache2.2.22\conf\extra yolunu (apache2.2.22 sürüme göre değişebilir) Bilgisayarım'ı kullanarak açın. Klasör içerisindeki httpd-vhosts.conf dosyasını yine metin editörü programınızla açın, içindekileri silin ve aşağıdaki kodları yapıştırıp, kaydedin.
NameVirtualHost *:80 #Aşağıdaki bölüm localhost adresinin #çalışır kalmasını sağlar <VirtualHost *:80> ServerName localhost ServerAlias localhost DocumentRoot "C:\wamp\www" ErrorLog "logs\errors.log" <directory "C:\wamp\www"> Options Indexes FollowSymLinks AllowOverride all Order Deny,Allow Deny from all Allow from all </directory> </VirtualHost> #sitelerim.com şeklinde sanal adres oluşturur #site adresi olarak C:\websites tanımlanır <VirtualHost *:80> ServerName sitelerim.com ServerAlias www.sitelerim.com DocumentRoot "C:\websites" ErrorLog "logs\errors.log" <directory "C:\websites"> Options Indexes FollowSymLinks AllowOverride all Order Deny,Allow Deny from all Allow from all </directory> </VirtualHost> #sitelerim.com altında #site1.sitelerim.com adında bir subdomain oluşturulur #klasör olarak c:\websites\site1 kullanılır <VirtualHost *:80> ServerName sitelerim.com ServerAlias site1.sitelerim.com VirtualDocumentRoot "C:\websites\site1" ErrorLog "logs\errors.log" <directory "C:\websites\site1"> Options Indexes FollowSymLinks AllowOverride all Order Deny,Allow Deny from all Allow from all </directory> </VirtualHost> #sitelerim.com altında #site2.sitelerim.com adında bir subdomain oluşturulur #klasör olarak c:\websites\site2 kullanılır <VirtualHost *:80> ServerName sitelerim.com ServerAlias site2.sitelerim.com VirtualDocumentRoot "C:\websites\site2" ErrorLog "logs\errors.log" <directory "C:\websites\site2"> Options Indexes FollowSymLinks AllowOverride all Order Deny,Allow Deny from all Allow from all </directory> </VirtualHost>
Kod içerisinde o bölümün ne yapıldığına dair açıklamalar bulunmaktadır. İlgili kod bloklarını artırıp, daha fazla sanal adres ve subdomain oluşturabilirsiniz.
Aşağıdaki resme bakarak, Apache sunucunun gerekli modüllerinin etkin olup/olmadığını kontrol edin. bunun için saatin yanındaki WAMP Server simgesine tıklayın, aşağıdaki resimdeki menü gelecek, menüden Apache seçeneğine tıklayın, açılan yeni alt menüden Apache modules seçeneğine tıklayın, açılan modül listesindeki aşağıdaki resimde işaretlenmiş alias_module ve vhost_alias_module seçeneklerinin seçili olduğuna bakın, eğer seçili değillerse tıklayarak her ikisini de seçili hale getirin.

Modülleri etkinleştirdikten sonra Apache sunucuyu yeniden başlatmamız gerekiyor. Bunun için yine Wamp simgesine tıklayın ve açılan menüden Restart All Services (Tüm servisleri yeniden başlat) seçeneğini seçin. Simge tekrar yeşil renk olduğunda sanal adreslerimiz etkinleşmiş olacak ancak henüz işimiz bitmedi, www.siteler.com adresini tarayıcımıza yazdığımızda o adrese gitmesini sağlamak için Windows'un meşhur hosts dosyasını düzenleyeceğiz.
4. hosts Dosyasını Düzenliyoruz
hosts dosyası, C:\Windows\system32\drivers\etc klasöründe yer alır. Ancak bu dosya sistem dosyası olduğu için öyle doğrudan açıp, düzenleyemezsiniz. Öncelikle Notepad++ ya da not defteri programını çalıştırırken kullandığınız simgesinin üzerine sağ tıklayıp, Yönetici olarak çalıştır diyerek, programları çalıştırın. Bu size bu dosyayı düzenleme yetkisi verecektir. Ardından dosya içerisindeki aşağıdaki satırı bulun.
127.0.0.1 localhost
Bu satırın hemen altına aşağıdaki şekilde sanal adres ve subdomain adreslerimizi tanımlayın.
127.0.0.1 www.sitelerim.com 127.0.0.1 site1.sitelerim.com 127.0.0.1 site2.sitelerim.com
Böylece tarayıcımızda www.sitelerim.com yazdığımızda 127.0.0.1 IP adresine yönlendirilmiş olacağız, bu adrese 80 nolu porttan gelen tüm istekleri Apache sunucumuz karşılayacak ve ilgili klasöre bizi yönlendirecek.
Bu işlemle birlikte sanal adreslerimizi tanımlamayı bitirdik. Ancak tarayıcınıza bu adresleri yazdığınızda hata alabilirsiniz, bunun sebebi bilgisayarımızdaki DNS önbelleğidir. Bu önbelleği temizlemek için ise Başlat/Çalıştır (Windows XP) ya da doğrudan Başlat'a tıklayıp (Windows 7) cmd yazıp, enter tuşuna basın. Ekrana gelen komut satırı penceresine ipconfig /flushdns yazıp, yine enter tuşuna basın. DNS önbelleği başarıyla temizlendi mesajını aldığınızda pencereyi kapatın ve tarayıcıya www.sitelerim.com, site1.sitelerim.com, site2.sitelerim.com adreslerinden birin yazarak siteleri açmaya çalışın. Tabi eğer bu klasörlere en azından birer tane index.htm dosyası koymamışsanız, karşınıza boş bir ekran gelebilir.
Eğer WordPress sitesi kuracaksanız aşağıdaki resimde de göreceğiniz şekilde WP dosyalarını c:\websites klasörüne çıkarıp, doğrudan www.sitelerim.com'a WordPress kurmaya başlayabilirsiniz.

Aşağıdaki resimde ise www.siteler.com sanal adresine localhost'ta kurulmuş WordPress yönetim panelini görüyorsunuz. Aynı şekilde site1.siteler.com ve site2.siteler.com adreslerinde de ayrı ayrı WordPress kurulmuş durumda.

Ben bu sistemi tek veritabanını kullanan birden fazla WordPress kurulumunun kullanıcıları ortak kullanmalarını denemek için kurdum. Size de localhost yerine bu şekilde sitelerinizi sanal olarak tanımlayıp, kullanmanızı tavsiye ederim.