Telepítés és beállítás ingyenes szolgáltatóknál

A Drupal magyar nyelvű népszerűségének növekedésével jogosan merült fel a kérdés, hogy miként telepíthető a különböző ingyenes szolgálatatók szervereire. Ezeken a kiszolgálókon általában különböző védelmeket építenek be, melyek korlátozzák a felhasználó mozgásterét, egyrészt a felhasználók egymástól való megvédése érdekében, másrészt a szerver egészségének megtartása végett. Ezek azonban nem minden esetben jönnek jól annak, aki Drupal rendszert szeretne telepíteni.

Eddig a következő tapasztalatokat sikerült összegyűjteni a különböző rendszereken:

UltraWeb

Két alapproblémával kell megküzdeni a telepítéshez. Először is az UltraWeb valamiért egy belső átirányítást használ arra, hogy az index.php fájlnevet nem tartalmazó kéréseket az index.php-re irányítsa, ezért a webcímben átadott paramétereket nem kapja meg. Így a telepítés után bármilyen linkre kattintva továbbra is a honlapot kapjuk. Annak érdekében, hogy az index.php bekerüljön a linkekbe, a következőt keressük meg a common.inc fájlban az url() függvényben:

Cseréljük le a következőre:

Azaz minden esetben legyen benne az index.php a kérés címében.

Ettől kezdve a linkekre kattintva be tudjuk regisztrálni első felhasználónkat és elkezdhetjük beállítani a rendszert. Sajnos a második hiba, amivel találkozni fogunk, az valóban a Drupal hibája. A fordítási állomány feltöltésekor open_basedir hibát kapunk, mert a Drupal a PHP feltöltési könyvtárában próbálja megnyitni a fájlt, amit az UltraWeb beállítása nem enged meg. Amíg ezt a Drupalban nem javítják ki, addig a következőt ajánljuk. Vegyük fel a Magyar nyelvet az add language oldal lenyíló menüjéből, majd kapcsoljuk be (enabled) és állítsuk be azt alapértelmezettnek (default). Ezután töltsük fel a hu.po állományt, és a következő szkriptet az UltraWebes FTP gyökérkönyvtárunkba, és a szkriptet a böngészőből meghívva telepítsük a magyar fordítást:

include_once 'includes/common.inc';
include_once 'includes/locale.inc';
if (file_exists('hu.po')) {
// Drupal 4.5.0 esetén
// $file = 'hu.po';
// Drupal 4.5.1 vagy újabb verzió esetén
$file = (object) array('filepath' => 'hu.po');
_locale_import_po($file, 'hu', 'overwrite');
header('Location: index.php');
exit();
}
echo 'A hu.po nem található!';
?>

Ha minden jól megy, akkor automatikusan visszakerülünk a Drupal rendszerünk kezdőlapjára, ahol a beköszönő oldal már magyarul fog minket üdvözölni. Sajnos a menü továbbra is angol, mert a rendszer nem észlelte az új fordítás feltöltését, és a menü gyorsítótárat nem törölte. A modulok listáján a beállítások mentésével elérhetjük, hogy a menü gyorsítótár törlődjön, és a menüt is magyarul kapjuk meg. A továbbiakban a kiegészítő modulok fordításait hasonlóképpen tudjuk feltölteni, a modul csomagjában kapott hu.po importálásával.

Azt mindenképpen tartsuk észben, hogy mivel a .htaccess állományt nem engedi feltölteni az UltraWeb, a különböző speciális kiterjesztésű (.theme, .module, stb) állományaink nem védettek, azok a webről olvashatóak lesznek.

A cron.php időzített futtatását az Ultraweb adminisztrációs oldalán állíthatjuk be. A szolgáltató 3 időzítést engedélyez, így naponta 3x lehetséges az adatbázis leindexelése.

Rövid webcímek használatára nincs lehetőségünk.

FreeWeb

A FreeWeb rendszerével kapcsolatban sajnos az a tapasztalatunk, hogy olyan mértékben korlátozzák a PHP beállításait, hogy ez nem teszi lehetővé a Drupal életképes futását. A fájl feltöltési méret limit 10k-ra van állítva, azaz a több mint 400k méretű fordítási állomány nem tölthető fel. Ez azt is jelenti, hogy később egy képet vagy PDF állományt sem tudunk majd valamely tartalmunkhoz fűzni, tehát a kilátások nem túl jók. Mégis megpróbálhatjuk a fenti módszert a hu.po feltöltésére és külön szkripttel történő importálására. Akkor azt fogjuk tapasztalni, hogy a FreeWeb rendszeren maximum öt másodpercig futhatnak a PHP szkriptek, ami a fordítás importáláshoz nem elegendő. Ezt a futási limitet programból nem tudjuk állítani.

TVN.hu

Ennél a szolgáltatónál annyira kevés a PHP szkriptek számára megengedett memória használat, hogy ez egy funkcionális Drupal webhely számára nem tűnik elegendőnek.

Ezt az oldalt tervezzük a jövőben bővíteni további tapasztalatokkal, amennyiben azok rendelkezésre állnak. A telepítési problémákat továbbra is a fórumban szerencsés megvitatni, itt az eredmények summás megfogalmazása kaphat helyet.

Drupal 4.7 telepítés a FreeWeb-en

Az alábbi leírás Drupal 4.7.x-re vonatkozik, ne alkalmazzuk Drupal 5.x telepítésére!

A FreeWeb az egyik legrégebbi ingyenes tárhely szolgáltató Magyarországon, sajnos azonban csak korlátozott formában engedi futtatni a Drupal rendszert. Az érdeklődésre való tekintettel egy tesztrendszer beállításával megvizsgáltam az alap lehetőségeket. Lássuk hogyan telepíthetünk Drupal rendszert a Freeweben és mik a buktatók.

  1. Regisztráljunk a FreeWeb (FW) felületén. Emailben kapunk egy aktiváló webcímet, ezt látogassuk meg, majd az ezt követő email visszaigazolás után a regisztrációnál megadott név/jelszó párossal lépjünk be a webes felületen.
  2. A MySQL menüpontban hozzuk létre az adatbázist, jegyezzük fel a kapott jelszót, és kattintsunk a phpMyAdmin felületre vezető linkre. Itt a felugró ablakban adjuk meg a felhasználói nevünket és a megjegyzett jelszót. A sikeres belépés után válasszuk ki az egyetlen adatbázisunkat a jobb oldalon, majd kattintsunk az SQL fülre a felső menüben. A szövegfájl feltöltése részben válasszuk ki a saját számítógépünkön kitömörített Drupal database mappájában található database.4.1.mysql nevű fájlt, és nyomjuk le a végrehajtás gombot. Ezzel létrejön az adatbázisunk, bezárhatjuk ezt az ablakot.
  3. Az FW által adott MySQL hoszt, felhasználó név, adatbázis név és az előbb megjegyzett jelszó adatokat alapul véve szerkesszük a sites/default/settings.php fájlt a számítógépünkön. Ugyanebben a fájlban vegyük ki a kettőskeresztet a $base_url beállítása elől, és adjuk meg záró perjel nélkül a webhelyünk címét. A file.inc-ben található chmod() hívásokat tegyük megjegyzésbe. Az email küldés működéséhez a FreeWeb PHP/CGI levélküldés oldalán generáljunk magunknak azonosítót, majd a user.module fájlban a user_mail() függvény végére a saját azonosítónkkal kitöltve a return előtt szúrjuk be a következő sort: $header .= "\nX-FW-MailID: ide-ird-az-azonositot"; Ezzel a forráskód előkészítésével készen vagyunk.
  4. Az FW által biztosított FTP adatokat használva vegyük elő FTP programunkat, és másoljuk fel a Drupal csomag fentiek szerint szerkesztett tartalmát. A gyökérben található szöveges fájlok és a scripts mappa felmásolása szükségtelen, ezeket a rendszer semmire nem használja. A .htaccess fájl feltöltését a FreeWeb nem engedélyezi.
  5. Látogassuk meg a FreeWeb oldalunk címét, mely egy angol nyelvű üdvözlő lapot jelenít meg. Az első pontban található linkre kattintva hozzuk létre az adminisztrátor felhasználót. Mivel ennek jelszavát csak kiírja a rendszer, de nem küldi el emailben, érdemes valami megjegyezhetőre változtatni a jelszót.
  6. Az administer » settings menüpontra kattintva a rendszer jelzi, hogy a tiltott mkdir() miatt nem tudja létrehozni a files és uploads mappákat. Az FTP programunkban hozzunk létre egy files és az alatt egy uploads nevű mappát a weblapunk gyökerében. Mindkettőre adjunk írási jogot az egyéb csoport felhasználóinak (ennek módja FTP programtól függ). Térjünk vissza a Drupal felületére és adjuk meg a files és files/uploads karaktersorozatokat a fájlok és ideiglenes feltöltések mappájaként értelemszerűen. A Drupal létre fog hozni egy .htaccess állományt a files mappában.
  7. Mivel a FreeWeb 5 másodperces futási limitet ad a szkripteknek, a fordítás egy menetben történő importálása nem lehetséges. Használható (nem túl bonyolult) megoldásokat várunk.
  8. Az administer » modules oldalon kapcsoljuk be az upload modult. A create content menüpontban tudunk új tartalmat felvinni, és ellenőrizni, hogy a fájl feltöltés is helyesen működik.

A Drupal FreeWeb-en történő telepítését és beállítását illetően a fentieken túl az átalános tanácsokat vehetjük figyelembe. A modulok beállítása, új sminkek felvétele stb. ugyanúgy működik mint bármely más kiszolgálón.

Érdemes megjegyezni, hogy mitől esünk el, ha a FreeWeb-et választjuk Drupal webhelyünk futtatására.

  1. Nem használhatunk rövid webcímeket
  2. Mivel a .htaccess nem tölthető fel, a .inc, .theme, .module és hasonló speciális kiterjesztésű fájljaink nem védettek a kíváncsi szemek előtt, ezek forráskódját tudják olvasni, meglétét tudják ellenőrizni.
  3. A .htaccess feltölthetetlensége és bizonyos beállítások átállításának tiltása miatt egyes PHP beállítások sem úgy állnak rendelkezésre, ahogyan a Drupal számára ideális lenne. Szerencsére az olyan esetek, mint a magic_quotes_gpc bekapcsolt állapota speciálisan kezeltek a kódban, ezért működik az ideálisan elvárt beállítások hiányában is a Drupal.
  4. Mivel a files és az ez alatt található uploads mappa is a weben olvasható könyvtárban található (nem is tudjuk máshova tenni), csak azonosítással elérhető letöltések létrehozása nem lehetséges, hiába is próbáljuk bekapcsolni ezt az opciót a beállításoknál.

Amennyiben részletesebben érdeklődünk a PHP beállításait illetően, a FreeWeb ugyan letiltja a phpinfo() használatát, de az ini_get() segítségével egyes PHP beállítások lekérdezhetőek, így ezzel a számunkra érdekes beállítások neveit ismerve felmérhetjük a környezet korlátait.

Ehhez a dokumentációhoz csak az ezt bővítő, pontosító, javító hozzászólásokat várunk, más (FreeWeb-hez kapcsolódó) problémák számára hoszting fórumunk ad megfelelő teret.

Drupal 5.1 telepítése FreeWeb-en

Ma gondoltam egyet és felraktam egy 5.1-es drupal-t a régi freeweb-es tárhelyemre. Mivel láttam, hogy a kézikönyvben még csak a 4.7-es verzióhoz való leírás szerepelt, így gondoltam megosztom a tapasztalataimat.

Nagyjából a következő lépésekből áll a telepítés:

  1. FreeWebes regisztráció
  2. Bejelentkezünk az FW webes felületén és előkészítjük az adatbázist (MySQL menüpont): ehhez phpMyAdmin áll a rendelkezésünkre. Arra vigyázzunk csak, hogy amikor a phpMyAdmin felületre akarunk bejelentkezni akkor a felhaználói név az FW-s regisztrációnál megadott név, de a jelszó az FW által generált jelszó, de ez szerepel is a megfelelő leírásban
  3. Csomagoljuk ki a saját gépünkön a letöltött drupal rendszert és a magyarítást
  4. A sites/defaules/settings.php állománnyal van még egy kis dolgunk: nyissuk meg egy szövegszerkesztővel és a
    # $base_url = 'http://www.example.com';
    sort elől vegyük ki a #-t és írjuk át a saját oldalunknak megfelelően, például:
    $base_url = 'http://www.freeweb.hu/mycroft';
    Fontos:Csak ez a FreeWeb-es hivatkozás jó, tehát például hiába írjuk be http://mycroft.fw.hu formában a címet, nem fog működni! Fontos továbbá a www használata is, enélkül szintén nem működik!
  5. Másoljuk fel a drupalt egy FTP program segítségével az FW-es tárhelyre
  6. Ideiglenesen állítsuk be a sites/default/settings.php állomány jogosultságát 666-ra, azaz bárki számára írhatóvá kell tennünk. De a telepítés végeztével mindenképp állítsuk vissza az eredeti - 644 - jogosultságot!.
    Megjegyzés: TotalCommander használók a fenti beállítást a Fájl -> Attribútum módosítása menüpont alatt végezhetik el.
  7. Egy böngészőbe beírva a frissen regisztrált oldalunk címét, máris a telepítő fogad bennünket.
  8. Válasszuk a Drupal localized opciót, majd a következő oldalon választhatjuk ki a nyelvet.
    Sajnos hiába válasszuk a magyart, továbbra is angol nyelven folyik tovább a telepítés! (Sőt, később sem sikerült rávenni a rendszert, hogy használja a magyar nyelvi fáljokat,ezzel kapcsolatban várom a tanácsokat.
  9. Az adatbázis beállításoknál a 'Database name' mezőbe az általunk létrehozott adatbázis nevét kell beírni, felhasználó név az FW-s nevünk, de a jelszó az FW által generált jelszó!
    Fontos még, hogy az Advanced részben a 'Database host' mezőbe a localhost helyett írjunk sql-t.
  10. Ezzel elvileg készen is vagyunk, de:
    Lehet hogy csak én bénáztam el valamit, de a beállítások mentése után engem újra az install képernyő fogadott. Miután újra kiválasztottam a telepítés módját (Drupal localized) és a nyelvet (Magyar) már tényleg az 'Installation complete' /üzenet fogad minket, természetesen angolul :/, de ezzel már majdnem készen is vagyunk!
  11. Hozzuk létre az admin felhasználónkat
  12. Nézzük meg a status report-ot, láthatjuk, hogy pár feladatunk még van: állítsuk vissza a settings.php fájl jogosultságát 644-re, majd futassunk egy cron-t. Ezután újra az FTP programra lesz szükségünk, hozzuk létre a drupal gyökérkönyvtárában a files könyvtárat, illetve azon belül egy tmp könyvtárat és mindkettőre állítsunk be 777-es jogosultságot.
  13. Valószínűleg kapni fogunk pár warning-ot miszerint nem tudja futtatni a chmod parancsot, különösebben nem baj, kézzel megcsináltunk mindent
  14. Lesz még egy warnint a status reportnál, miszerint nem tudja meghatározni az Apache verziószámát, így lehet, hogy a rendszer nem fog tökéletesen működni...

A "régi" leírásban szereplő hiányosságok továbbra is érvényesek (pl. .htacces tiltása, rövid webcímek hiánya stb.)

Hirtelenjében ennyi tapasztalatom akadt, ahogy elkezdem használni a rendszert, még lehet hogy előjön valami, azt természetesen jelzem.

Ha valami hülyeséget írtam, szóljatok! :)

Drupal telepítés az Ultraweb-en

Az alábbi leírás Drupal 4.7.x-re vonatkozik, ne alkalmazzuk Drupal 5.0 telepítésére!

Az Ultraweb (UW) ingyenes szolgáltató PHP és MySQL rendszert biztosít, melyeken a Drupal működtethető (bár nem ideális konfigurációban). Mivel folyamatosan nagy az érdeklődés az UW-n való telepítést illetően, és sok a félreértés, az imént próbaképpen végrehajtottam egy teljes Drupal 4.7.2 telepítést, melynek lépéseit és tapasztalatait az alábbiakban igyekeztem összefoglalni.

A Drupal beállításához tehát tegyük a következőket:

  1. Regisztráljunk az Ultwaweben, az emailben kapott aktiváló webcímet látogassuk meg, majd a kapott jelszóval lépjünk be a rendszerbe. A weblap jobb oldalán egy adminisztrációs konzolt fogunk kapni.
  2. A MySQL menüpontban hozzuk létre az adatbázisunkat az ott található gombbal. A phpMyAdmin felületre mutató link segítségével látogassuk meg az adatbázis adminisztrációs felületet. Válasszuk ki az egyetlen adatbázisunkat a jobb oldalon, majd kattintsunk az SQL fülre a felső menüben. A szövegfájl feltöltése részben válasszuk ki a saját számítógépünkön kitömörített Drupal database mappájában található database.4.1.mysql nevű fájlt, és nyomjuk le a végrehajtás gombot. Ezzel létrejön az adatbázisunk, bezárhatjuk ezt az ablakot.
  3. Az UW adatbázis lapján található MySQL hoszt, felhasználó név, jelszó, adatbázis név adatokat alapul véve szerkesszük a sites/default/settings.php fájlt a számítógépünkön. Az ugyanebben a fájlban található ini_set() hívásokat tegyük megjegyzésbe, a file.inc-ben található chmod() és realpath() hívásokat tegyük megjegyzésbe. Keressük meg a common.inc fájlban az url() függvény kódját és a $script = (strpos... sort teljes egészében cseréljük le annyira, hogy $script = 'index.php';. Ezzel a forráskód előkészítésével készen vagyunk.
  4. Mivel a webes FTP feltöltés fájlonként eléggé kényelmetlen, a hagyományos FTP-t kell alkalmaznunk. Az Ultraweb tárhely adminisztrációs felületen állítsuk a könyvtár indexet index.php-re. Jegyezzük meg a weben olvasható belépési adatokat, váltsunk át egy FTP progamra, és másoljuk fel a Drupal csomag fentiek szerint szerkesztett tartalmát. A gyökérben található szöveges fájlok és a scripts mappa felmásolása szükségtelen, ezeket a rendszer semmire nem használja. A .htaccess fájl feltöltését az Ultraweb nem engedélyezi.
  5. Látogassuk meg az Ultraweb oldalunk címét, mely egy angol nyelvű üdvözlő lapot jelenít meg. Az első pontban található linkre kattintva hozzunk létre az adminisztrátor felhasználót. Mivel ennek jelszavát csak kiírja a rendszer, de nem küldi el emailben, érdemes valami megjegyezhetőre változtatni a jelszót.
  6. Az administer » settings menüpontra kattintva a rendszer létrehozza a files mappát és az abban található .htaccess állományt. Hibát ad viszont a feltöltésre használt mappát illetően, amit kézzel kell létrehoznunk (a files mappán belül célszerű uploads néven), és ennek megfelelően beállítani a Drupal által hibásnak jelölt értéket.
  7. Az administer » modules oldalon kapcsoljuk be a locale és az upload modulokat. Az administer » localisation » import menüpontban a Drupal alapcsomag fordítását töltsük fel, célpontként kiválasztva a magyar nyelvet. Ezen dokumentum készítésekor ez a lépés tökéletesen beimportálta ugyan a fordítást, de egy Ultraweb hiba oldalra vezetett. Ezesetben a saját Drupal címlapunkra visszatérve folytathatjuk a következő lépéssel.
  8. Térjünk vissza az administer » localisation menüponthoz, és kapcsoljuk be, valamint válasszuk a magyar nyelvet alapértelmezésnek. Az angolt ki is kapcsolhatjuk, ha nem kívánjuk megadni a választást látogatóinknak.
  9. Az Ultraweb beállításoknál az időzített feladatok között felvehetjük a cron.php rendszeres futtatását. Ez nagyon ajánlott, ha például a kereső modul szolgáltatásait igénybe szeretnénk venni, vagy a gyorsítótár régebbi bejegyzéseit törölni szeretnénk időről-időre. Leggyakrabban naponta futtathatjuk a szkriptet, megválasztva az időpontot, amikor végre kell hajtani. Később a Drupal eseménynaplóban tekinthetjük vissza, hogy sikeres volt-e a futtatás.
  10. Próbáljuk ki a telepített rendszert, hozzunk létre tartalmat, töltsünk fel mellé fájlt. Ha mindez működik, akkor elértük célunkat.

A Drupal Ultraweb-en történő telepítését és beállítását illetően a fentieken túl az átalános tanácsokat vehetjük figyelembe. A modulok beállítása, új sminkek felvétele stb. ugyanúgy működik mint bármely más kiszolgálón.

Érdemes megjegyezni, hogy mitől esünk el, ha az Ultrawebet választjuk Drupal webhelyünk futtatására.

  1. Nem használhatunk rövid webcímeket
  2. Mivel a .htaccess nem tölthető fel, a .inc, .theme, .module és hasonló speciális kiterjesztésű fájljaink nem védettek a kíváncsi szemek előtt, ezek forráskódját tudják olvasni, meglétét tudják ellenőrizni.
  3. Az ini_set() tiltása és a .htaccess feltölthetetlensége miatt bizonyos PHP beállítások sem úgy állnak rendelkezésre, ahogyan a Drupal számára ideális lenne. Szerencsére az olyan esetek, mint a magic_quotes_gpc bekapcsolt állapota speciálisan kezeltek a kódban, ezért működik az ideálisan elvárt beállítások hiányában is a Drupal.
  4. Mivel a files és az alatta található uploads mappa is a weben olvasható könyvtárban található (nem is tudjuk máshova tenni), csak azonosítással elérhető letöltések létrehozása nem lehetséges, hiába is próbáljuk bekapcsolni ezt az opciót a beállításoknál.

Amennyiben részletesebben érdeklődünk a PHP beállításait illetően, az UW nem tiltja a phpinfo() használatát, így egy ezt meghívó egyszerű szkript létrehozásával áttekinthetjük a futtatókörnyezet képességeit.

Ehhez a dokumentációhoz csak az ezt bővítő, pontosító, javító hozzászólásokat várunk, más (ultrawebes) problémák számára hoszting fórumunk ad megfelelő teret.