Apache yapılandırması

From mediawiki.org
Jump to navigation Jump to search
This page is a translated version of the page Apache configuration and the translation is 100% complete.
Other languages:
Deutsch • ‎Deutsch (Sie-Form)‎ • ‎English • ‎Türkçe • ‎dansk • ‎español • ‎français • ‎magyar • ‎occitan • ‎polski • ‎português • ‎português do Brasil • ‎русский • ‎中文 • ‎日本語

Apache, 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.

RedHat/Fedora-based Linux

PHP kurun:

# yum install php php-xml

Httpd yenileyin:

# service httpd reload
Debian tabanlı Linux

Apache2 php5 modülünü kurun:

# apt-get install apache2 libapache2-mod-php5 php5-cli php-apc php5-mcrypt
Ubuntu'da 16.04.2 LTS
# sudo apt-get install libapache2-mod-php

Apache2 php5 modülünü etkinleştir:

# a2enmod php5

Apache'yi yeniden başlat:

# service apache2 restart

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.

İ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