Apache kurulumu ve kullanımı: Revizyonlar arasındaki fark
(Yeni sayfa: Apache en yaygın kullanılan HTTPD web sunucusudur. Bütün Web Programlama dillerini desteklediği gibi virtualhost tanımlama, SSL desteğini de beraberinde getirmektedir. Ubuntu su...) |
k (konum şablonunu kaldır) |
||
(8 kullanıcıdan 31 ara revizyon gösterilmiyor) | |||
1. satır: | 1. satır: | ||
Apache en yaygın kullanılan | [[v:Apache HTTP Sunucusu|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. | ||
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. | |||
Web yayını yapacağımız siteler ile ilgili ayarlar ise (örneğin virtualhost, ssl) <code>/etc/apache2</code> dizini altındaki sitesavailable dizini altındaki <code>'''/etc/apache2/sitesavailable/default'''</code> dosyasında tutulmaktadır. | |||
== Apache2 kurulumu == | |||
Yalnıca Apache2 sunucusunu kurmak istiyorsanız şu kodu kullanabilirsiniz. | |||
{{uçbirim|sudo apt-get install apache2}} | |||
==== Sorun giderme ==== | |||
sudo | ''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 | |||
{{uçbirim|sudo nano /etc/apache2/conf.d/fqdn}} | |||
[[v:Gedit|Gedit]] metin düzenleyici için | |||
{{uçbirim|gksu "gedit /etc/apache2/conf.d/fqdn}} | |||
Dosyaya şu metni eklemelisiniz | |||
sudo a2enmod ssl | {{dosya|/etc/apache2/conf.d/fqdn|ServerName localhost}} | ||
Bunların tamamı tek bir komutla da yapılabilir: | |||
{{uçbirim|echo "ServerName localhost" <nowiki>|</nowiki> 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.{{uçbirim|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:{{uçbirim|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 ('''a'''pache'''2en'''able '''site''') ve a2dissite ('''a'''pache'''2dis'''able '''site''') | |||
{{uçbirim|sudo a2dissite default && sudo a2ensite mysite}} | |||
Apache2'yi yeniden başlatmamız gerekmektedir. | |||
{{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: | |||
{{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 | |||
== Apache özelleştirmeleri == | |||
Eğer Apache2 ile [[v:MySQL|MySQL]] etkileşimi kuracaksak aşağıdaki komutla apache için mysql kütüphanelerini kurmalısınız. | |||
{{uçbirim|sudo apt-get install libapache2-mod-auth-mysql}} | |||
Yüklenen modülü etkinleştirmek için | |||
{{uçbirim|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. | |||
{{uçbirim|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. | Daha sonra sertifika oluşturarak sertifika tanımlarımızı aşağıdaki gibi ayar dosyamıza ekleyebiliriz. | ||
31. satır: | 86. satır: | ||
SSLCertificateKeyFile /etc/ssl/private/ozgurkaratas.com.key | SSLCertificateKeyFile /etc/ssl/private/ozgurkaratas.com.key | ||
Apache2 sunucumuzun HTTPS (SSL destekli) çalışması için son olarak ports.conf | Apache2 sunucumuzun HTTPS (SSL destekli) çalışması için son olarak ports.conf dosyasına şu satır eklenmelidir. | ||
{{uçbirim|Listen 443}} | |||
sudo /etc/init.d/apache2 restart | Son olarak Apache sunucunuzu baştan başlatmalısınız. | ||
{{uçbirim|sudo /etc/init.d/apache2 restart}} | |||
[[Kategori:Sunucular]] |
22.29, 7 Kasım 2017 itibarı ile sayfanın şu anki hâli
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 sitesavailable dizini altındaki /etc/apache2/sitesavailable/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 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