Käyttäjä:Erkkimon/ohjeita

ApoWikistä
< Käyttäjä:Erkkimon
Versio hetkellä 27. syyskuuta 2010 kello 11.17 – tehnyt Erkkimon (keskustelu | muokkaukset) (Apua images-hakemistoon liittyvissä ongelmissa)

Tämä sivu on tehty ensisijaisesti hyödyksi itselleni, mutta onhan tietysti ihan kivaa, jos näistä ohjeista on hyötyä muillekin. Tuota sekundäärifunktiota edistääkseni olen yrittänyt kirjoittaa jokseenkin selkeää tekstiä. Ohjeita en ihan kauheasti testaa, sillä kirjoitan useimmiten toimivan ratkaisun itselleni muistiin, ja mahdollinen testaus tapahtuu silloin, kun seuraavan kerran satun ehkä tarvitsemaan ohjetta. Niinpä kannattaa raportoida virheestä.

Lyhyt urli muotoa domain.com/artikkelin_nimi

Olen todennut, että on fiksuinta toteuttaa lyhyet urlit niin, että Apache käsittelee olemattomiin tiedostoihin viittaavat urlit wiki-artsujen otsikoina. Etuna on se, että esimerkiksi wikin domainin alla olevien tiedostojen imppaaminen ja impattavaksi asettaminen ei mene monimutkaisesti. Lisäksi tämä metodi ei ole muiden metodien tapaan aiheuttanut ärsyttäviä bugeja ja haamuartikkeleita wikiin jne.

Homma alkaa poistamalla risuhäkkyrät $wgArticlePath -muuttujan edestä LocalSettings.php:ssa ja muuttamalla niiden arvot allaolevaa vastaaviksi. Jos muuttujaa ei ole, lisää ne – mieluiten heti $wgScriptPath -muuttujan jälkeen.

$wgArticlePath      = "/$1";

Lisää LocalSettings.php -tiedostoon seuraava rivi, jotta uloskirjautuminen yms. toimisi kivasti.

$wgUsePathInfo     = false;

Luo www-hakemistosi juureen tiedosto nimeltään .htaccess, ja tiedoston oikea sijainti on todennäköisesti /var/www/.htaccess. Jos wikisi on www-hakemistosi hakemistossa mediawiki, korvaat luonnollisesti hakemiston wiki hakemistolla mediawiki.

Options -Indexes
 
RewriteEngine On 
RewriteRule ^/*$ /wiki/index.php [L,QSA]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /wiki/index.php?title=$1 [L,QSA]

GlobalFunctions.php -ongelman ratkaisu

Usein wiki mussuttaa softapäivityksen jälkeen jotain seuraavantapaista: "Warning: mkdir() [function.mkdir]: Permission denied in /path/to/wiki/ includes/GlobalFunctions.php on line 2012" ja/tai "PHP Warning: imagejpeg() [<a href='function.imagejpeg'>function.imagejpeg</a>]: Unable to open '/path/to/wiki/images/thumb/jotain/jotain/kuva.jpg' for writing: Permission denied in /path/to/wiki/includes/media/jtoain on line 236"

Tällöin wiki ei onnistu luomaan uusia hakemistoja. Ongelma ratkeaa useimmiten chmodaamalla wikin images-hakemiston kuville 755-oikeudet rekursiivisesti ja chownaamalla kyseisen hakemiston rekursiivisesti apache-käyttäjälle eli käyttäjälle, joka ajaa httpd:tä. Kyseinen käyttäjä on useimmiten Ubuntuissa www-data, ja useissa muissa distroissa apache. Homma siis tapahtuu seuraavasti, roottina tietysti:

chmod -R 755 /path/to/wiki && chown -R www-data /path/to/wiki

Jos tämä ei auta, kannattaa kokeilla seuraavaa wikin images-hakemistossa:

find . -type d -exec chmod 777 {} \;
find . -type f -exec chmod 666 {} \;

Jos mikään muu ei auta, kannattaa kokeilla asettaa seuraavaa LocalSettings.php-tiedostoon:

$wgHashedUploadDirectory = false;