Apache yapılandırması

This page is a translated version of the page Apache configuration and the translation is 85% complete.
Outdated translations are marked like this.

Apache HTTP Sunucusu (httpd) MediaWiki ile en çok kullanılan web sunucusudur.

Modüller

PHP

Apache Modülü olarak PHP

MediaWiki, Apache modülü olarak PHP kullanacak şekilde yazılmıştır. Aşağıdaki gibi URL'lerle başlarsanız PHP'niz muhtemelen bir modül olarak yapılandırılır:

example.com/index.php/Main_Page

Vikinizin Special:Version sayfasını görüntüleyerek veya phpinfo() ile PHP'nin hangi yapılandırmasını ve sürümünü kontrol edebilirsiniz.

Install PHP, Apache, and the PHP module for Apache. Afterwards, make sure that the Apache service is running. For specific commands, refer to the documentation of your operating system or distribution.

PHP CGI olarak

PHP bir CGI olarak çalışıyorsa, varsayılan olarak "çirkin" URL'leriniz olacaktır, ancak yine de kısa URL'ler uygulayabilirsiniz.

CGIWrap

Apache çalıştıran ve PHP CGI olarak çalışan kendi sunucunuz varsa, CGIWrap yükleyebilirsiniz. Bu araç, Apache sunucusunu CGI'lar için farklı bir kullanıcı olarak çalıştırmanızı sağlar.

Bu şekilde, MediaWiki sayfalarınız için yeni bir kullanıcı oluşturabilirsiniz. CGIWrap'i yüklemek, özellikle de kendi sunucunuza göre derlemeniz gerektiğinden, bu belgenin kapsamı dışındadır. Ancak, hızlı bir kılavuz olarak şu kuralları uygulayabilirsiniz:

  • Bir Wikimedia kullanıcısı oluşturun
useradd -M -s /sbin/nologin wikiuser
  • CGIWrap içeren bir cgi-bin klasörünüz var (/home/myuser/cgi-bin içindeki örnek). Her şey yapılandırıldıktan sonra, sadece cgiwrap tutun, hata ayıklama sürümlerini ihtiyacınız olduğunda başka bir klasöre taşıyın. Cgiwrap dosyanıza yalnızca Apache (erişilebilir ve buna göre chmod) tarafından erişilebilir olmalıdır.
chown apache:apache cgiwrap
chmod 500 cgiwrap
  • Cgi-bin klasörünün içinde, Wikimedia köküne sembolik bir bağlantı oluşturun.
ln -s /home/myuser/public_html/wiki /home/myuser/cgi-bin/wikilink
  • Viki dosyanızın .htaccess dosyasına aşağıdaki tanımları ekleyin:
AddHandler php-wrapper .php
Action php-wrapper /cgi-bin/cgiwrap/wikiuser/wikilink
  • Son olarak, sadece wikiuser tarafından erişilebilir olması için Wikimedia klasörünüzdeki tüm .php dosyalarını oluşturup chmodlayın.
find . -name \*.php -exec chown wikiuser:wikiuser {} \;
find . -name \*.php -exec chmod 500 {} \;

Dosyalara her zamanki gibi erişilebilir. Yolunuzda herhangi bir cgi-bin belirtmeniz gerekmez, çünkü bu sizin için şeffaf bir şekilde halledilir.

Şu anda tam olarak neyin işe yaradığını göstereceği için php-wrapper olarak /cgi-bin/cgiwrapd/... ile başlamanızı şiddetle tavsiye ediyorum. Ayrıca, CGIWrap kaynak klasörünüzü her şey mükemmel bir şekilde çalışana kadar silmemenizi şiddetle tavsiye ederim, çünkü bu uzun bir zaman alan gerçek bir deneme yanılma sürecidir. Ancak, MediaWiki'niz başka bir kullanıcı arabirimine müdahale etmeden kendi kullanıcı adıyla kendi ayrı işleminde çalıştırılacağı için zaman ayırmaya değer. Ters, kök hariç, her yerde her şeyi okuyabilen doğrudur.

mod_alias / mod_rewrite

Güzelleştirici URL'ler için önerilen yöntem mod_alias içerir. Diğer yöntemler bunun yerine mod_rewrite kullanır.

mod_security

ModSecurity uygulamasının MediaWiki ile sorunlara neden olduğu bilinmektedir. Rastgele görünen hatalar alırsanız, sorunlara neden olup olmadığını görmek için hata günlüğünüzü kontrol edin.

Görsel Düzenleyci ve alt sayfalar

Parsoid sunucusuyla bağlantı kurma hatalarını önlemek için, vikinin VirtualHost yapılandırma bloğuna (veya VirutalHosts kullanılmıyorsa genel sunucu yapılandırmasına) AllowEncodedSlashes NoDecode eklenmelidir.[1]

İleti yığını boyutu

Her Apache iletisi için yığın boyutu yapılandırılabilir ve varsayılan değer farklı işletim sistemlerine göre değişir. MediaWiki'yi Windows ortamlarında çalıştırmak için, 1MB varsayılan değeri küçük olduğundan ve PHP komut dosyası yürütme sırasında yığın taşmasına neden olabilir olduğundan yığın boyutunu artırmak gerekebilir. Aşağıdaki httpd.conf ayarı, yığın boyutunu yaklaşık 8 MB olarak ayarlar (tipik bir Linux varsayılanı hakkında):

<IfModule mpm_winnt_module>
ThreadStackSize 8388608
</IfModule>

Örümcekler ve botlar

İyi davranmış örümceklere dinamik olarak oluşturulan sayfaları indirmemelerini (örneğin sayfaları düzenleme) söylemek için gerçekten robots.txt dosyasını kullanmalısınız. Bu, web sunucunuzdaki yükü azaltabilir, bant genişliğinizi koruyabilir ve arama motorlarında yinelenen içerik sorunlarını önleyebilir. Ancak, kötü amaçlı botlar web sunucunuzu bağlayabilir ve çok sayıda sayfayı son derece hızlı bir şekilde indirerek bant genişliğinizi boşa harcayabilir. İstek azaltmak buna karşı korunmaya yardımcı olabilir. Bu, web sunucunuzdaki yükü azaltabilir, bant genişliğinizi koruyabilir ve arama motorlarında yinelenen içerik sorunlarını önleyebilir. Ancak, kötü amaçlı botlar web sunucunuzu bağlayabilir ve çok sayıda sayfayı son derece hızlı bir şekilde indirerek bant genişliğinizi boşa harcayabilir. İstek azaltmak buna karşı korunmaya yardımcı olabilir.

Ayrıca bakınız

References