Apache kurulumu ve kullanımı: Revizyonlar arasındaki fark

Ubuntu Türkiye Wiki sitesinden
Gezinti kısmına atla Arama kısmına atla
Değişiklik özeti yok
Değişiklik özeti yok
1. satır: 1. satır:
{{Konum|[[Sunucular]]}}
{{Konum|[[Sunucular]]}}
{{TOCsağ}}
{{TOCsağ}}
[[Apache]], dünya çapında en yaygın kullanılan web sunucusu programıdır. Apache Yazılım Vakfı tarafından geliştirilmekte olup [[özgür yazılım|özgür]] Apache Lisansı ile lisanslanmıştır. Bütün Web programlama dillerini desteklediği gibi virtualhost tanımlama, SSL desteğini de beraberinde getirmektedir.
[[Apache]], dünya çapında en yaygın kullanılan web sunucusu programıdır. Apache Yazılım Vakfı tarafından geliştirilmekte olup özgür [[v:Apache Lisansı|Apache Lisansı]] ile lisanslanmıştır. Bütün Web programlama dillerini desteklediği gibi virtualhost tanımlama, SSL desteğini de beraberinde getirmektedir.


Apache'nin yeni versiyonu Apache2'dir. Apache2'nin ayar dosyaları <code>/etc/apache2</code> dizininde bulunmaktadır ve ''apache2.conf'' temel ayar dosyasıdır.
Apache'nin yeni versiyonu Apache2'dir. Apache2'nin ayar dosyaları <code>/etc/apache2</code> dizininde bulunmaktadır ve ''apache2.conf'' temel ayar dosyasıdır.
9. satır: 9. satır:
== Apache2 kurulumu ==
== Apache2 kurulumu ==


Yalnıca apache2 sunucusunu kurmak istiyorsanız şu kodu kullanabilirsiniz.
Yalnıca Apache2 sunucusunu kurmak istiyorsanız şu kodu kullanabilirsiniz.
{{kod||sudo apt-get install apache2}}
{{uçbirim|sudo apt-get install apache2}}


==== Sorun giderme ====
==== Sorun giderme ====


''apache2: Could not determine the server's fully qualified domain name, using 127.0.0.1 for ServerName'' şeklinde hata iletisi alıyorsanız komut satırından "sudo nano" ya da çalıştır menüsünden "gksudo gedit" ile yeni bir metin dosyası yaratmalısınız.  
''apache2: Could not determine the server's fully qualified domain name, using 127.0.0.1 for ServerName'' şeklinde hata iletisi alıyorsanız komut satırından "sudo nano" ya da çalıştır menüsünden "gksudo gedit" ile yeni bir metin dosyası yaratmalısınız.  
Nano için
"Nano" metin düzenleyici için
{{kod||sudo nano /etc/apache2/conf.d/fqdn}}
{{uçbirim|sudo nano /etc/apache2/conf.d/fqdn}}
Gedit için
[[v:|Gedit|Gedit]] metin düzenleyici için
{{kod||gksu "gedit /etc/apache2/conf.d/fqdn}}
{{uçbirim|gksu "gedit /etc/apache2/conf.d/fqdn}}


Dosyaya şu metni eklemelisiniz
Dosyaya şu metni eklemelisiniz
26. satır: 26. satır:
Bunların tamamı tek bir komutla da yapılabilir:
Bunların tamamı tek bir komutla da yapılabilir:


{{kod||echo "ServerName localhost" <nowiki>|</nowiki> sudo tee /etc/apache2/conf.d/fqdn}}
{{uçbirim|echo "ServerName localhost" <nowiki>|</nowiki> sudo tee /etc/apache2/conf.d/fqdn}}


==== Sanal sunucular ====
==== Sanal sunucular ====
34. satır: 34. satır:
Örnek olarak,bu belge ön tanımlı sitenin /home/kullanıcı/public_html olmasını istiyebilirsiniz. Bunu yapmak için yeni bir site yaratıp bunu Apache2 içinde etkinleştirmenbiz gerekmektedir. Bu işlem için şu adımları izlemelisiniz.
Örnek olarak,bu belge ön tanımlı sitenin /home/kullanıcı/public_html olmasını istiyebilirsiniz. Bunu yapmak için yeni bir site yaratıp bunu Apache2 içinde etkinleştirmenbiz gerekmektedir. Bu işlem için şu adımları izlemelisiniz.


1.Öntanımlı web sitesini başlangıç noktası olsun diye kopyalayın.{{kod||sudo cp /etc/apache2/sites-available/default /etc/apache2/sites-available/mysite}}
'''1.''' Öntanımlı web sitesini başlangıç noktası olsun diye kopyalayın.{{kod||sudo cp /etc/apache2/sites-available/default /etc/apache2/sites-available/mysite}}


2.Yeni konfigurasyon dosyasını "sudo nano" ile komut satırından ya da "gksudo gedit" ile çalıştır menüsünden bir metin editörü ile açın:{{kod||gksudo gedit /etc/apache2/sites-available/mysite}}
'''2.''' Yeni konfigurasyon dosyasını "sudo nano" ile komut satırından ya da "gksudo gedit" ile çalıştır menüsünden bir metin editörü ile açın:{{kod||gksudo gedit /etc/apache2/sites-available/mysite}}
3.''DocumentRoot'' bölümünde yeni yeri gösterin. Örnek: /home/kullanıcı/public_html


4.''Directory'' yolunu değiştirin, <Directory /var/www/> kısmını <Directory /home/user/public_html/> şeklinde düzenleyin.
'''3.''' ''DocumentRoot'' bölümünde yeni yeri gösterin. Örnek: /home/kullanıcı/public_html


5.Ayrıca her site için ayrı kayıt tutabilirsiniz. Bunu yapmak için ErrorLog ve CustomLog ile belirtilenleri değiştirin. Bunu yapmak zorunlu değildir, fakat çok fazla siteniz olduğunda kullanışlı olur.
'''4.''' ''Directory'' yolunu değiştirin, <Directory /var/www/> kısmını <Directory /home/user/public_html/> şeklinde düzenleyin.


6.Dosyayı kaydedin.
'''5.''' Ayrıca her site için ayrı kayıt tutabilirsiniz. Bunu yapmak için ErrorLog ve CustomLog ile belirtilenleri değiştirin. Bunu yapmak zorunlu değildir, fakat çok fazla siteniz olduğunda kullanışlı olur.
 
'''6.''' Dosyayı kaydedin.


Şimdi eski siteyi etkisizleştirip, yeni sitenizi etkinleştirmemiz gerekiyor. Ubuntu bu iş için iki ufak araca sahip: a2ensite ('''a'''pache'''2en'''able '''site''') ve a2dissite ('''a'''pache'''2dis'''able '''site''')
Şimdi eski siteyi etkisizleştirip, yeni sitenizi etkinleştirmemiz gerekiyor. Ubuntu bu iş için iki ufak araca sahip: a2ensite ('''a'''pache'''2en'''able '''site''') ve a2dissite ('''a'''pache'''2dis'''able '''site''')


{{kod||sudo a2dissite default && sudo a2ensite mysite}}
{{uçbirim|sudo a2dissite default && sudo a2ensite mysite}}


Apache2'yi yeniden başlatmamız gerekmektedir.
Apache2'yi yeniden başlatmamız gerekmektedir.
   
   
{{kod||sudo /etc/init.d/apache2 restart}}
{{uçbirim|sudo /etc/init.d/apache2 restart}}


Eğer /home/kullanıcı/public_html dizinini yaratmadıysanız, bir uyarı mesajı alacaksınız. Yeni sitemizi denemek için /home/kullanıcı/public_html dizini içinde bir dosya yaratabilirsiniz:
Eğer /home/kullanıcı/public_html dizinini yaratmadıysanız, bir uyarı mesajı alacaksınız. Yeni sitemizi denemek için /home/kullanıcı/public_html dizini içinde bir dosya yaratabilirsiniz:


{{kod||echo '<nowiki><b>Merhaba! Site çalışıyor!</b></nowiki>' > /home/user/public_html/index.html}}
{{uçbirim|echo '<nowiki><b>Merhaba! Site çalışıyor!</b></nowiki>' > /home/user/public_html/index.html}}


Son olarak da [http://localhost http://localhost] sayfasını açarak test etmelisiniz. Eğer Apache2 sunucunuz çalışıyorsa tarayıcı pencerenizde '''Merhaba! Site çalışıyor!''' mesajını alacaksınız
Son olarak da [http://localhost http://localhost] sayfasını açarak test etmelisiniz. Eğer Apache2 sunucunuz çalışıyorsa tarayıcı pencerenizde '''Merhaba! Site çalışıyor!''' mesajını alacaksınız
63. satır: 64. satır:
Eğer Apache2 ile [[MySQL]] etkileşimi kuracaksak aşağıdaki komutla apache için mysql kütüphanelerini kurmalısınız.
Eğer Apache2 ile [[MySQL]] etkileşimi kuracaksak aşağıdaki komutla apache için mysql kütüphanelerini kurmalısınız.


{{kod||sudo apt-get install libapache2-mod-auth-mysql}}
{{uçbirim|sudo apt-get install libapache2-mod-auth-mysql}}


Yüklenen modülü etkinleştirmek için  
Yüklenen modülü etkinleştirmek için  


{{kod||sudo a2enmod auth_mysql
{{uçbirim|sudo a2enmod auth_mysql
sudo service apache2 restart}}
sudo service apache2 restart}}


74. satır: 75. satır:
Eğer SSL (HTTPS) olarak web sunucumuzun çalışmasını istiyorsanız şu komutla gerekli paketi kurabilirsiniz.
Eğer SSL (HTTPS) olarak web sunucumuzun çalışmasını istiyorsanız şu komutla gerekli paketi kurabilirsiniz.


{{kod||sudo a2enmod ssl
{{uçbirim|sudo a2enmod ssl
sudo service apache2 restart}}
sudo service apache2 restart}}


89. satır: 90. satır:
Apache2 sunucumuzun HTTPS (SSL destekli) çalışması için son olarak ports.conf dosyasına şu satır eklenmelidir.
Apache2 sunucumuzun HTTPS (SSL destekli) çalışması için son olarak ports.conf dosyasına şu satır eklenmelidir.


{{dosya||Listen 443}}
{{uçbirim|Listen 443}}


Son olarak apache sunucunuzu baştan başlatmalısınız.
Son olarak Apache sunucunuzu baştan başlatmalısınız.
{{kod||sudo /etc/init.d/apache2 restart }}
{{uçbirim|sudo /etc/init.d/apache2 restart }}

01.02, 4 Şubat 2015 tarihindeki hâli

Şablon:Konum

Apache, dünya çapında en yaygın kullanılan web sunucusu programıdır. Apache Yazılım Vakfı tarafından geliştirilmekte olup özgür Apache Lisansı ile lisanslanmıştır. Bütün Web programlama dillerini desteklediği gibi virtualhost tanımlama, SSL desteğini de beraberinde getirmektedir.

Apache'nin yeni versiyonu Apache2'dir. Apache2'nin ayar dosyaları /etc/apache2 dizininde bulunmaktadır ve apache2.conf temel ayar dosyasıdır.

Web yayını yapacağımız siteler ile ilgili ayarlar ise (örneğin virtualhost, ssl) /etc/apache2 dizini altındaki sites­available dizini altındaki /etc/apache2/sites­available/default dosyasında tutulmaktadır.

Apache2 kurulumu

Yalnıca Apache2 sunucusunu kurmak istiyorsanız şu kodu kullanabilirsiniz.

sudo apt-get install apache2

Sorun giderme

apache2: Could not determine the server's fully qualified domain name, using 127.0.0.1 for ServerName şeklinde hata iletisi alıyorsanız komut satırından "sudo nano" ya da çalıştır menüsünden "gksudo gedit" ile yeni bir metin dosyası yaratmalısınız. "Nano" metin düzenleyici için

sudo nano /etc/apache2/conf.d/fqdn

Gedit|Gedit metin düzenleyici için

gksu "gedit /etc/apache2/conf.d/fqdn

Dosyaya şu metni eklemelisiniz

Dosya İçeriği
Dosya yolu:/etc/apache2/conf.d/fqdn

ServerName localhost


Bunların tamamı tek bir komutla da yapılabilir:

echo "ServerName localhost" | sudo tee /etc/apache2/conf.d/fqdn

Sanal sunucular

Apache farklı konfigurasyon dosyaları anlamına gelen "sites" olgusuna sahiptir. Bu konfigurasyonlar /etc/apache2/sites-available dizininde bulunur. Öntanımlı olarak, default olarak adlandırılan, http://localhost ya da http://127.0.0.1 adresini tarayıcıda açtığınız zaman karşınıza çıkan bir siteye vardır. Birden fazla site konfigurasyonuna sahip olabilir ve yalnızca ihtiyacınız olanları etkinleştirebilirsiniz.

Örnek olarak,bu belge ön tanımlı sitenin /home/kullanıcı/public_html olmasını istiyebilirsiniz. Bunu yapmak için yeni bir site yaratıp bunu Apache2 içinde etkinleştirmenbiz gerekmektedir. Bu işlem için şu adımları izlemelisiniz.

1. Öntanımlı web sitesini başlangıç noktası olsun diye kopyalayın.


sudo cp /etc/apache2/sites-available/default /etc/apache2/sites-available/mysite

2. Yeni konfigurasyon dosyasını "sudo nano" ile komut satırından ya da "gksudo gedit" ile çalıştır menüsünden bir metin editörü ile açın:


gksudo gedit /etc/apache2/sites-available/mysite

3. DocumentRoot bölümünde yeni yeri gösterin. Örnek: /home/kullanıcı/public_html

4. Directory yolunu değiştirin, <Directory /var/www/> kısmını <Directory /home/user/public_html/> şeklinde düzenleyin.

5. Ayrıca her site için ayrı kayıt tutabilirsiniz. Bunu yapmak için ErrorLog ve CustomLog ile belirtilenleri değiştirin. Bunu yapmak zorunlu değildir, fakat çok fazla siteniz olduğunda kullanışlı olur.

6. Dosyayı kaydedin.

Şimdi eski siteyi etkisizleştirip, yeni sitenizi etkinleştirmemiz gerekiyor. Ubuntu bu iş için iki ufak araca sahip: a2ensite (apache2enable site) ve a2dissite (apache2disable site)

sudo a2dissite default && sudo a2ensite mysite

Apache2'yi yeniden başlatmamız gerekmektedir.

sudo /etc/init.d/apache2 restart

Eğer /home/kullanıcı/public_html dizinini yaratmadıysanız, bir uyarı mesajı alacaksınız. Yeni sitemizi denemek için /home/kullanıcı/public_html dizini içinde bir dosya yaratabilirsiniz:

echo '<b>Merhaba! Site çalışıyor!</b>' > /home/user/public_html/index.html

Son olarak da http://localhost sayfasını açarak test etmelisiniz. Eğer Apache2 sunucunuz çalışıyorsa tarayıcı pencerenizde Merhaba! Site çalışıyor! mesajını alacaksınız

Apache özelleştirmeleri

Eğer Apache2 ile MySQL etkileşimi kuracaksak aşağıdaki komutla apache için mysql kütüphanelerini kurmalısınız.

sudo apt-get install libapache2-mod-auth-mysql

Yüklenen modülü etkinleştirmek için

sudo a2enmod auth_mysql
sudo service apache2 restart

komutlarını vermelisiniz.

Eğer SSL (HTTPS) olarak web sunucumuzun çalışmasını istiyorsanız şu komutla gerekli paketi kurabilirsiniz.

sudo a2enmod ssl
sudo service apache2 restart

Daha sonra sertifika oluşturarak sertifika tanımlarımızı aşağıdaki gibi ayar dosyamıza ekleyebiliriz.

SSLEngine on

SSLOptions +FakeBasicAuth +ExportCertData +CompatEnvVars +StrictRequire

SSLCertificateFile /etc/ssl/certs/ozgurkaratas.com.crt

SSLCertificateKeyFile /etc/ssl/private/ozgurkaratas.com.key

Apache2 sunucumuzun HTTPS (SSL destekli) çalışması için son olarak ports.conf dosyasına şu satır eklenmelidir.

Listen 443

Son olarak Apache sunucunuzu baştan başlatmalısınız.

sudo /etc/init.d/apache2 restart