Eh… Hát igen! (Csak kitaláltam, hogy ne „háttal” kezdjek mondatot). Szóval megy a nagy átállás, kellett az erősebb szerver, és így nagy csomó mindent át kell pakolni. A legmókásabb problémát nem is gondolnád, mi okozta, de ha tovább olvasod, szívesen elmondom…
Szinte minden jól zajlott és zajlik is, pedig nem kevés domainről, honlapról van szó, tetemes adatmennyiséggel, és hozzáférés-hegyekkel persze. Évekig húztam, hogy legyen egy webes adminfelületem TinyDNS-hez. Most meglett! Muszáj volt, mert kézzel semmiképp nem ment volna, csak ha vért izzadok. Az pedig nem kell.
Megszületett egy webes host manager alkalmazás is, igaz most még fapados, de legalább van benne animált csontváz. Mert miért ne? 🙂 Tehát azért vannak ám hozadékai a nehézségeknek is szerintem. Persze tudom, van ezer kezelőfelület ilyesmire, meg amúgy is, de valahogy nem olyan, ami nekem kell. Ezért makacskodtam, és addig feszítettem a húrt, míg magam programoztam le, ahhoz a rendszerhez, amit én telepítettem fel, különösebb kötöttségek nélkül.
A cél egyébként az volt, hogy olyan rendszert építsek ami teljeskörű hostingot biztosít. Na most ugye nem csak PHP-ra, Apache-ra kellene gondolni, persze ezek a legnépszerűbbek. Kellene Ruby támogatás, vagy ha már PHP, akkor Symfony, CakePHP, ilyesmik. Ja, vagy más dolog, de SVN. Ugye Symfony, Ruby, SVN esetében jó lenne shellt is biztosítani a felhasználónak, de mi (szakmabeliek) ezt nem annyira akarjuk, okunk van rá. 🙂
Tehát jó lenne, ha lenne SSH belépés, és így akár SCP is, az FTP helyett. Az átlagfelhasználót ezek nem annyira érintik, de programozók már akadnak szép számmal, akik tudnák használni. Persze hosting szerveren SSH fiókokat osztogatni aggasztó, de ha kigondoltan tesszük, működik.
Rám nyomasztó hatással volt már az is, hogy ha valakit beengedek a szerverre, az képet kaphat a struktúrájáról, miegyébről, amit én nem szeretnék. Ez van, a sysadmin az para munkakör. Így készítettem az éles rendszeren belül egy hostingra leválasztott külön burkot, aminek van saját FTP, SSH, Apache szervere. A MySQL már kint van, és csak a socketet találni meg belőle.
Korábban az is gond volt, hogy csak FTP-kvótát tudtam ésszerűen beállítani. Tehát ha weblapon toltak fel valamit, az kiesett ebből.
Az új rendszerben nem így van már, így nem ütközik a webszerver felhasználója az FTP virtuális felhasználójával (gyakori gond szokott lenni), és nem kell figyelni a file-ok jogosultságára, hogy az FTP-s könyvtár pl. 0777-es jogsival legyen, hogy a webszerver bele tudjon írni.
Az apache ugyanis mod-itk-val minden vhost (vagy vhost csoport) saját nevével fut, az FTP-fiók szintén ezen a felhasználó néven megy, és az SCP, SSH is ezen a néven megy (alapból persze nincs shell kiadva, csak kérésre, és természetesen az FTP hozzáférésnek semmi köze a linux fiókéhoz.
A kvótázást sima filekvóta végzi, ami kellően rugalmas. A felhasználók nem látják egymás könyvtárát (SSH-n belépve), sőt a fontosabb könyvtárak (weblog, apache site config, necces konfigok, melyek ötletet adhatnak), védve vannak, és ha nem akarom nincs ps, top, df, stb. parancs. Viszont van (illetve még csak lesz) symfony, svn, ruby.
Az FTP ráadásul fel van vértezve még ipcountry adatbázissal, ami lehetővé teszi, hogy csak bizonyos országokból, vagy IP-címről fogadjon csatlakozást.
Ja, adós vagyok azzal, hogy mi volt, ami a legjobban megizzasztott…. Egy szó: postgresql. Semmi gond nincs vele, nagyszerű cucc. Azonban úgy adódott, hogy nálunk nincs használva, vagyis van egyetlen-egy darab pici site, ami ezt használja. Csak az ő kedvéért fut (viszont gyors is 😀 – persze amúgy is nehéz egy pgsql-t belassítani).
Elkezdtem átpakolni az adatbázist. Gondoltam menjen fel sima apt-gettel a postgre, leszoktam már az önkínzásról egyébként, korábban (ahogy írtam régebben) a php-t, mysql-t, apache-ot, de még néha a postfixet is magam fordítottam, mert nem tudom miért, na! Szeretem a kihívásokat, és talán az apache icipicivel jobb performanciát adott, de már ebben sem vagyok biztos. Szóval apt-get postgresql… valami. OK, király, fenn van. Importálom az adatbázist, OK, nulla sor megy be. Semmi gond, bénázok. Legalább a usert megcsinálom, OK, rendben. Privilégiumok, OK, szuper. Majd adatbázis ismét import. Nulla. Karakter-készlet ütközés. Pár óra elment guglizással, próbálkozással. Nem megy. Mondom magamnak, ha a fene fenét eszik, akkor is a legújabb, csomagból pakolt postgre lesz fent, még pedig ezzel a sok éves adatbázissal… Nos, a fene nem evett fenét, én meg sok óra után feladtam, és a 7.4-est, ami a másik gépen is vitte az adatbázist, kb. 10 perc alatt lefordítottam, beimportáltam, és azóta full pull. Erről ennyit. 🙂 OK, nem vagyok postgresql admin guru, és nem az ő hibája, hanem a régi adatbázisé (is), meg az enyém, hogy felkészületlenül ért, ám egy site, pár száz rekordjáért többet nem kell tennem szerintem.
Most minden rendben, szépen muzsikál a rendszer.