Wikipédia:Wiki migrálása Debianba

A Wikipédiából, a szabad enciklopédiából

Ez a szócikk a saját wiki költöztetését és egyúttal annak verziófrissítését írja le. Az új wiki Debian operációs rendszerre költözik, felhasználva a disztribúció nyújtotta előnyöket.

A költözés új wiki installálásából és az adatok átmozgatásából áll, azaz minimális módosítással alkalmas gépen belüli verziófrissítésre és természetesen új wiki installálására is. Bár e szócikk szerzője nem próbálta, az itt leírtak feltehetően némi módosítással más disztribúcióban is alkalmazhatók.

E szócikk némi Linux-jártasságot feltételez.

A régi wiki más operációs rendszerben is lehet, feltéve, hogy a migráló személy képes benne

  • a mysqldump programot futtatni
  • file-okat átvinni az újba (akár hálózaton át, akár pendrive-on vagy CD-n).

A wiki komponensei[szerkesztés]

  • mediawiki program
  • PHP
  • mysql (esetleg más) adatbáziskezelő
  • apache webszerver

Bár a Debian valamennyi komponenset tartalmazza, a Debian-beli wiki verziója meglehetősen régi. E szócikk írásakor még a squeeze a stabil, amelyben 1.15-ös wiki van. A wheezy már „jegelt”, abban 1.19-es wiki lesz, míg e szócikk írásakor a legújabb mediawiki verziója 1.20.2, azaz máris újabb, mint a még meg sem jelent wheezy-beli.

A többi komponens viszont nagyon megfelelő a wikinek, és jó darabig az is lesz: 5-ös verziójú PHP és ugyancsak 5-ös mysql. A mediawikiben nemrég szűnt meg mindkét program 4-es verziójának támogatása.

A Debian előkészítése[szerkesztés]

Feltételezzük, hogy a Debiant grafikus munkaállomásként installáltuk, azaz van grafikus felülete, böngészője, és fenn van az imagemagick program is.

A wiki-hez szükséges csomagok installálása (ha még nincsenek fenn):

apt-get install mysql-server-5.1 apache2 libapache2-mod-php5 php5-cli

A php5 apache-modult engedélyezni kell:

cd /etc/apache2/mods-enabled
ln -s ../mods-available/php5.conf
ln -s ../mods-available/php5.load

A mysql konfigját nem fogjuk módosítani. Az apache lehet install utáni alapállapotban, de az sem baj, ha korábban módosítottunk a konfigon.

Házirend[szerkesztés]

Az itt leírtak azt biztosítják, hogy több, akár különböző verziójú wikit üzemeltethessünk, de nem kötelező követni e megállapodásokat.

A wiki(k) helye a filerendszerben a /wiki könyvtár, melyre célszerűen logikai kötet (volume) van mountolva.[1] Az installálást legnagyobbrészt normál user nevében végezzük: a /wiki-t (a mountolás után) adjuk e felhasználó tulajdonába:

chown user:csoport /wiki 

Az installálandó wiki neve e szócikkben: kémia. A hozzá tartozó file-ok helye /wiki/kemia, a mysql adatbázis neve kemia, az adatbázis mindenható userének neve is kemia. (A wiki-név kivételével nem használunk ékezetes betűket.)

A mediawiki installálása[szerkesztés]

Letöltés: http://mediawiki.org. A letöltött file-t (rootként) tároljuk el /usr/src-be, mert lehet, hogy később is szükségünk lesz rá.

Normál userként bontsuk ki a file-t:

cd /wiki
tar xzf /usr/src/mediawiki-1.20.2.tar.gz
mv mediawiki-1.20.2 kemia

Ezzel a mediawiki programot fel is installáltuk: már csak konfigurálni kell. Ez böngészővel fog történni, de előbb módosítani kell az apache konfigján.

A /etc/apache2/httpd.conf file alaphelyzetben üres.[2] rootként írjuk bele az alábbi sort:

Alias /kemia/ "/wiki/kemia/"

Mint ilyenkor mindig, indítsuk újra az apache-t:

service apache2 restart

Ezzel azt értük el, hogy a http://localhost/kemia/ lapon bejelentkezik a wiki konfigurálásra.

Az első lapon a nyelvet lehet beállítani, a második csak tájékoztat.

Kapcsolódás az adatbázishoz[szerkesztés]

Mielőtt válaszolnánk a kérdésekre, terminálablakban hozzuk létre az adatbázist és a mindenható adatbázis usert. Bejelentkezés mysql-be:

mysql -u root -p

Jelszót kérdez, majd mysql> promptot kapunk.

create database kemia;
grant all on kemia.* to kemia identified by 'jelszó';

Még egy problémát le kell küzdenünk. Rejtélyes okból az installer /wiki/mysql/tmp/mysql.sock néven keresi az adatbázishoz kapcsolódást. Ilyen file egyébként nincs, és erről semmilyen konfigurációs módosítással nem lehet lebeszélni. Megkerüljük a problémát: létrehozzuk a file-t. rootként:

cd /wiki
mkdir -p mysql/tmp
cd mysql/tmp
ln -s /var/run/mysqld/mysqld.sock  mysql.sock

Ezek után tudunk válaszolni a böngészőbeli kérdésekre:

  • Adatbázisnév: kemia
  • Felhasználónév: kemia
  • Jelszó: amit az identified by után aposztrófok között megadtunk.

A következő lap még mindig a mysql-ről kérdez:

  • Tárolómotor: InnoDB
  • Adatbázis karakterkészlete: Bináris

További beállítások[szerkesztés]

A következő lap már tényleg a wikit konfigurálja:

  • A wiki neve: Kémia (itt nyugodtan lehet ékezetet használni).
  • Adminisztrátori fiók: a mindenható wiki-szerkesztő neve és jelszava. Ez tehát nem mysql, hanem wiki- (alkalmazás) user.

Beállítások lap:

  • Felhasználói jogosultságok profilja: ki láthatja ill. szerkesztheti a wikit. Saját wikinél az elsőt érdemes megadni.
  • Szerzői jog és licenc: saját wikiben nem kell.
  • Kimenő e-mailek: saját wikiben ne engedélyezzük.
  • Kiterjesztések: legalább a ParserFunctions-t adjuk meg, mert ez szinte minden sablonhoz kelleni fog.
  • Képek és fájlok feltöltése: engedélyezzük. A feltöltés működéséhez viszont írásjogot kell adnunk a webszervert futtató usernek. rootként:
chown www-data:www-data /wiki/kemia/images
  • A logó URL-címe: ne strapáljuk magunkat: fütyül rá, mit állítunk be. Később majd módosítjuk. Az Instant Commonst viszont engedélyezhetjük, ha van állandó internetkapcsolatunk.
  • Objektum-gyorsítótárazás: nem kell.

A Folytatás gombra pillanatok alatt települ a wiki.

LocalSettings.php[szerkesztés]

Az utolsó lépés. A böngésző nagyon el akarja menteni a címbeli file-t. Engedjünk neki, és a file-t normál userként másoljuk be a /wiki/kemia könyvtárba. Ettől megnyugszik a lelke, nekünk pedig a file szerkesztésével módunk lesz az előbb kihagyott logót módosítani ($wgLogo változó). Ezután kattintsunk a beléphetsz a wikibe linkre. A frissen telepített (üres) wiki nyitólapját látjuk. Ha mégsem, ürítsük a böngésző cache-ét.

Adatmigrálás[szerkesztés]

A wiki a szócikkeket adatbázisban, a képeket filerendszerben tartja. A kétféle adatot külön kell átmozgatni.

A régi wikiben[szerkesztés]

Ha nincs hálózati kapcsolatunk, csomagoljuk össze a régi wiki images könyvtárát egy file-ba, hogy egyszerűbb legyen átvinni.

Az adatbázis kimentése file-ba:

mysqldump -u root -p régi-adatbázisnév >filenév.dump

Ha a gépen több mysql is van, a wiki mysqldump-ját használjuk.

A mediawiki dokumentáció melegen ajánlja az XML-formátumú mentést, de a tapasztalatok szerint az új wikiben ilyenkor nem találkozik össze az adatbázis a médiafile-okkal.

Az új gépen[szerkesztés]

A médiafile-okat varázsoljuk a /wiki/kemia/images alá: az új images könyvtárat töröljük le, és helyettesítsük a régivel akár hálózaton, akár pendrive-on keresztül. Ne felejtsük el visszaállítani az apache írásjogát: rootként

 chown -R www-data:www-data /wiki/kemia/images

A mysql-ből dobjuk el az előbb létrehozott és konfigurált kemia adatbázist, majd hozzuk létre újra üresen, és töltsük bele a régiből áthozott adatbázis-adatokat. A mysql-be jelentkezés után:

drop database kemia;
create database kemia;
use kemia;
source filenév.dump

Most ott tartunk, hogy van egy új adatbázis-szerkezetet használó programunk és egy régi adatbázis-szerkezetünk. Így a wiki hibásan fog működni. Az új adatbázis-szerkezet előállítása a régi adatokon: parancssorból, normál userként

php /wiki/kemia/maintenance/update.php

Készen vagyunk. A http://localhost/kemia/ lapon a régi wiki nyitólapját látjuk az új gépen; ha mégsem, a böngésző gyorsítótára csap be. Szúrópróbaszerűen ellenőrizzük a lapokat, kategóriákat és médiafile-okat a speciális lapok között található listákból.

Érdekes és zavarba ejtő tapasztalat, hogy ha a médiafile-ok átvitele előtt nézünk meg egy lapot, ami médiafile-ra hivatkozik, a lapnak csak a címét és a kategóriáit látjuk, és ez a file-ok átvitele után is így marad. A szerkesztés üzemmód előnézetében a lap jól látszik, és mentés után helyreáll a rend.

Jegyzetek[szerkesztés]

  1. Lásd LVM.
  2. RedHat-ben a file helye /etc/httpd/httpd.conf, és a teljes apache konfigot tartalmazza. Bárhová írhatjuk a sort a file-ban, csak virtualhost-on kívül legyen (hacsak nem akarjuk, hogy a wikink más portra hallgasson, mint a többi lap).

További információk[szerkesztés]

Kapcsolódó szócikkek[szerkesztés]