Wikipédia:Saját wiki telepítése Debianban

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

Ez a szócikk saját wiki telepítését írja le debian disztribúcióban, és foglalkozik néhány üzemeltetési kérdéssel is. A leírtakhoz némi Linux-jártasságra van szükség.

E szócikk írásakor a 9.5-ös debian a stabil.

Telepítés[szerkesztés]

Parancssorban vagyunk, root felhasználóként jelentkeztünk be.

A wiki telepítése egyetlen utasítás.[1] A harmadik sor az adatbáziskezelő biztonsági beállításait végzi el.

apt-get install mediawiki imagemagick
apt-get clean                # letöröl kb. 200M telepített, ezért szükségtelenné vált csomagfájlt
mysql_secure_installation    # állítsunk be root jelszót, a többi kérdésre jó az üres sor

Ezután következik a webfelületű konfigurálás, ami azonban még nem működik. A telepítés során ui. nem jött létre olyan felhasználó, amelyik webes felületről be tud jelentkezni a mariaDB adatbázisba, hogy a wiki számára szükséges dolgokat megcsinálja. Rejtély, hogyan képzelték a debian-fejlesztők a webes adatbázis-alkalmazások futtatását; alighanem sehogy. Ez csúnya bug a 9-es debian-verzióban.[2]

Több megoldás lehetséges, talán a legjobb a régi mysql-autentikáció visszaállítása: bármely user bejelentkezhet a mysql root felhasználó nevében, feltéve, hogy tudja annak jelszavát.[3]

Még mindig parancssorban vagyunk, root felhasználóként. Bejelentkezünk az adatbázisba:

mysql -u root -p             # megkérdezi az előbb beállított mysql-jelszót

A mysql> promptot látjuk a sor elején. Két utasítást kell kiadni annak érdekében, hogy böngészőből, jelszóval is be tudjunk majd jelentkezni az adatbázisba;[4] a harmadik a kilépés az adatbázisból:[5]

use mysql;
update user set plugin="" where user='root';
exit

Ismét parancssorban vagyunk. Újra kell indítani a mysql adatbáziskezelőt. Egyetlen adatbázis-felhasználó módosítása miatt…

systemctl restart mysql

Konfigurálás böngészőből[szerkesztés]

A wiki program már működőképes, de az adatbázist még létre kell hozni, és néhány beállítás is hiányzik. A konfigurálás során a háttérben létrejönnek az adatbázis táblák, és kapunk egy böngészőből letölthető konfigurációs fájlt (LocalSettings.php), amit a fájlrendszerbe kell majd másolni. A konfigurálás nem módosítja a már feltelepített fájlokat; ehhez joga sincs.

A böngészőbe írandó webcím: http://localhost/mediawiki. Másik gépből is lehet konfigurálni, ilyenkor értelemszerűen localhost helyett a wiki-s gép IP-címét vagy nevét kell megadni.

A lapok kérdéseket tesznek fel. Csak azokat a válaszokat írjuk itt le, ahol változtatni kell.

Nyelv[szerkesztés]

Magyar nyelvet állítunk be, hacsak nincs valami különleges célunk a wikivel.

Üdvözöl a MediaWiki![szerkesztés]

Nincs kérdés a lapon.

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

  • Adatbázis hosztneve: localhost (akkor is, ha másik gépről konfigurálunk)
  • Adatbázisnév: … (ékezet nélküli nevet válasszunk)
  • Felhasználónév: root
  • Jelszó: amit a mysql_secure_installation utasításban megadtunk

Adatbázis-beállítások[szerkesztés]

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

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

Név[szerkesztés]

Ez a lap már tényleg a wikit konfigurálja:

  • A wiki neve: … (itt nyugodtan lehet ékezetet használni)
  • Projektnévtér: a magyar Wikipédián ez Wikipédia. Ilyen névtér nem lesz a saját wikinkben, hacsak itt meg nem adjuk a Wikipédia nevet. A névtér a wiki-vel kapcsolatos, nem szócikk típusú információk névtere. Alaphelyzetben azonos a wiki előző pontban megadott nevével.
  • Adminisztrátori fiók: a mindenható wiki-szerkesztő neve és jelszava. Ez tehát nem mysql, hanem wiki- (alkalmazás) user. Elvárás, hogy a jelszó legalább 8 karakter legyen, és különbözzék a felhasználó nevétől. Ennek saját wiki esetében nem sok értelme van, aki pedig szerverre telepít wiki-t, remélhetőleg tudja, mit csinál…
  • Email-cím: saját wiki esetén nincs értelme. Nem akarunk saját magunkkal levelezni.

Beállítások[szerkesztés]

  • Felhasználói jogosultságok profilja: ki láthatja ill. szerkesztheti a wikit. Saját wikinél a nyílt wikit érdemes megadni.
  • Szerzői jog és licenc: saját wikiben nem kell.
  • Kimenő e-mailek: saját wikiben ne engedélyezzük.
  • Kiterjesztések: megadhatjuk az összeset is: könnyebb később megszüntetni egy kiterjesztést, mint újat felvenni. Saját wikiben a ConfirmEdit, Interwiki, Renameuser, SpamBlacklist és TitleBlacklist mindenképpen feleslegesnek tűnik.
  • Képek és fájlok feltöltése: engedélyezzük. A Instant Commons engedélyezése minden képnél megnézi, van-e ilyen nevű a Commons-on; több kép esetén ez nagyon le tudja lassítani a lap betöltését még gyors internetkapcsolattal is, ha pedig épp nincs internetkapcsolat, hiányzó kép ikont látunk, ami úgy is marad: a lap változtatás nélküli szerkesztésével szüntethető meg.
  • A logó URL-címe: ne strapáljuk magunkat: fütyül rá, mit állítunk be. Később majd módosítjuk.
  • Objektum-gyorsítótárazás: nem kell.

Telepítés[szerkesztés]

Létrehozza az adatbázis-táblákat. Olyan 40 másodperc alatt végez.

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 root-ként másoljuk be a /var/lib/mediawiki 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 az enter your wiki linkre (rejtély, miért angolul írja: a lap többi része magyarul van). A frissen telepített wiki nyitólapját látjuk. Ha mégsem, ürítsük a böngésző cache-ét. A wiki a nyitólap kivételével üres.

A fájl helye /etc/mediawiki/LocalSettings.php (az előbbi út szimbolikus linkre mutatott). Úgy állítsuk a jogait, hogy csak a www-data tudja olvasni (hiszen a root adatbázis-felhasználó jelszava van benne):

chgrp www-data /etc/mediawiki/LocalSettings.php     # www-data csoportjogon fogja olvasni a fájlt
chmod o-rw /etc/mediawiki/LocalSettings.php         # a világ jogait elvesszük
ls -l `readlink /var/lib/mediawiki/LocalSettings.php`

Az eredmény:

-rw-r----- 1 root www-data 5425 Aug  3 00:17 /etc/mediawiki/LocalSettings.php

Adminisztráció[szerkesztés]

Verziók[szerkesztés]

E szócikk írásakor a 9.5-ös debian (stretch) a stabil. A wiki komponensei és verziói:

  • mediawiki 1.27.4
  • PHP 7.0.30
  • mariadb 10.1.26
  • apache webszerver 2.4.25

Statikus weblapok[szerkesztés]

A mediawiki telepítésével az apache is települ: a http://localhost URL-en az apache bejelentkező lapja látható Apache2 Debian Default Page címmel. Az apache DocumentRoot-ja a /etc/apache2/sites-available/000-default fájlban van megadva, értéke /var/www/html. Egyetlen fájl található benne, az index.html: ennek a tartalmát mutatja a böngésző. Ha a wiki mellett normál lapokat is szeretnénk, érdemes a document root-ot megváltoztatni, és egy másik fájlrendszerbe tenni (lásd LVM vagy ZFS).

Wiki admin[szerkesztés]

A wiki a http://localhost/mediawiki címen érhető el. A konfigurációs fájl helye /etc/apache2/conf-enabled/mediawiki.conf, aminek első sora

Alias /mediawiki /var/lib/mediawiki

Ez adja meg az URL-t és a wiki fájljainak gyökerét. A /var/lib/mediawiki könyvtárat itt is érdemes átmozgatni másik fájlrendszerbe, mert képek feltöltésével nagyra nőhet a helyfoglalása. A fájlok a root tulajdonában vannak, kivéve a cache és images könyvtárat; ezek az apache-t futtató www-data felhasználó számára írhatóak. Az utóbbi könyvtárba kerülnek majd a wiki-be feltöltött médiafájlok (pl. képek): ezeket az apache fogja odaírni a böngészőtől kapott utasításra. Ezért kell az írásjog.

A könyvtár másolásával és némi kézi apache-konfigurálással több saját wikit lehet üzemeltetni anélkül, hogy a wiki kódját lemásolnánk. Ezért van annyi szimbolikus link a /var/lib/mediawiki könyvtárban. Ilyenkor a LocalSettings.php szimbolikus linkjét meg kell szüntetni. A mediawiki csomag upgrade-jével az összes, a /var/lib/mediawiki másolásával létrehozott wiki frissülni fog.

Apache admin debianban[szerkesztés]

Az apache-nak egy konfigurációs fájlja van: debianban a /etc/apache2/apache2.conf, azonban az Include ill. IncludeOptional utasítással képes más fájlt is beilleszteni a konfigurációba. A debianban jól áttekinthetően három könyvtárra és néhány fájlra osztották szét a konfigurációt. Rajtunk áll, hogy hová írunk egy változtatást, hiszen a végeredmény egy konfig fájl, melyben az utasítások sorrendje nem számít (hacsak nem állítjuk be kétszer különböző értékre ugyanazt az apache-változót). A három könyvtár:

  • /etc/apache2/conf-enabled: egy alkalmazáshoz tartozó apache-utasításokat tartalmazó fájlok. Pl. a wiki fájlneve mediawiki.conf.
  • /etc/apache2/sites-enabled: az apache több egymástól független weblapot, ún. virtuális hoszt-ot képes szolgáltatni más-más porton és/vagy IP-címen vagy néven. A /etc/apache2/sites-enabled könyvtárban ezek felsorolása található.
  • /etc/apache2/mods-enabled: az apache-modulok listája. A modulok apache-utasítások kódját tartalmazzák, nélkülük az apache az utasításokat sem érti.

A *-enabled könyvtárakban szimbolikus linkek vannak a *-available könyvtárakra, melyek az összes lehetséges konfigurációs fájlt, hosztot ill. modult tartalmazzák. A tiltás ill. engedélyezés e szimbolikus linkek törlését ill. létrehozását jelenti.

A konfigurációs fájlokban történő változtatás után az apache-t újra kell indítani (systemctl restart apache2).

Jegyzetek[szerkesztés]

  1. A mediawiki csomaggal az összes (kb. 70) szükséges csomag települ, kb. fél GByte-ot foglal. Az imagemagick a bélyegképek létrehozásához kell: kb. 60 csomag, 90M-et foglal.
  2. Az ok egy biztonsági „egyszerűsítés” az adatbáziskezelőben, amit a mediawiki csomag nem követett: a linuxba bejelentkezett felhasználók jelszó nélkül léphetnek be az adatbázisba – de csak a saját linux-azonosítójukkal. Cserébe más néven egyáltalán nem tudnak az adatbázisba lépni. Az adatbázisban egyetlen felhasználó jött létre: a root, a webes felület viszont a www-data linux-felhasználó nevében fut.
  3. Egy másik lehetőség a www-data mysql-felhasználó létrehozása, és minden jog megadása, beleértve adatbázis létrehozását is. Mindezt jelszó nélkül. Ez jóval kevésbé tűnik biztonságosnak, pedig épp ez volt a biztonsági módosítás célja. Jobb kézzel létrehozni az adatbázist, így www-data-nak csak erre az adatbázisra kell teljes hozzáférési jogot adni. A telepítés után elég meghagyni a jogot a select-re és a három DML-utasításra: insert, update, delete.
  4. Az interneten több leírás javasolja az ALTER USER root@localhost identified with 'mysql_native_password'; SQL-utasítást, beleértve a hivatalos mariadb dokumentációt, de az utasítás debianban szintaktikus hibát jelez. Rejtély, miért.
  5. A kilépés előtt ki kellene adni a flush privilege; utasítást, de ez sem működik debianban. Úgy tűnik, a fejlesztők szándékosan akarták megakadályozni a régi autentikációs mód visszaállítását.

Források[szerkesztés]

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