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:
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.
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.
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.
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.
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.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.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.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. 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.
.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..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.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.
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:
# $base_url = 'http://www.example.com';
$base_url = 'http://www.freeweb.hu/mycroft';
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! :)
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:
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.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.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.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.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.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.
.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.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.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.