Instalace HHVM a zprovoznění hacklang

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
akadlec
Člen | 1326
+
0
-

Nezkoušel někdo z vás rozchodit hacklang? Nahodil sem si VPSko, na něm mám hozeny nginx, php-fpm…je to rozjete přes ispconfig. Dodělal jsem tam hhvm, to se tváří že jede, ale zaboha nemůžu rozjet hacklang.

jakmile dám otvírací značku <?hh tak server padne na 500ku a logy jak se zdá mlčí :(

HappyFace
Člen | 162
+
+1
-

Cau,

s Isp-eckom nemam moc skusenosti ale viacmenej sa dnes presne chystam riesit nieco podobne. S HHVM nebol v zasade ziaden problem a nabehol na prvy raz, u nette mam pocit ze trebalo nieco nastavit a este stale nemam to podla checkru OK ale to doriesim neskor aktualne sa pokusam este rozbehat na serveru aj PHP-cko

na serveru bezi uz nette s hackom:
checker: http://hhvm.hellosoft.cz/…/checker.php
sandbox: http://hhvm.hellosoft.cz/…sandbox/www/

  • HH ti neprekusne whitechar pred <?hh , tak si to skontroluj, ak je to ok, skus log
  • Moc sa mu nepaci ked miesas html a hh
  • Log najdes v system messages

EDIT: oprava URL

Editoval HappyFace (15. 7. 2014 20:01)

akadlec
Člen | 1326
+
0
-
  • samo to zkouším na čistém file a žáden znak před značkou není
  • je to čistý file
  • logy jsou prázdné
HappyFace
Člen | 162
+
0
-

akadlec napsal(a):

  • samo to zkouším na čistém file a žáden znak před značkou není
  • je to čistý file
  • logy jsou prázdné
  • este ma napada ci ISP smeruje request na spravne miesto
  • hhvm ma dostatocne opravnenie k zrojakom
  • taktiez pozri /var/log/hhvm/error.log

ak je vsetko v pohode, tak uz vazne netusim kdeby mohla byt chyba :/

akadlec
Člen | 1326
+
0
-

Takže dořešeno.....vše sem hodil ze stolu a začal znova.

  1. Nainstalován klasický Debian 7 Wheezy
  2. Instalován a konfigurován server včetě ISPConfigu3 podle howto na nginx atd.
  3. Nahozen hhvm podle dalšího howto tutoriálu
  4. Zkouška zda to funguje…

Výsledek je ten že pro HHVM se vytváří spouštěcí daemony ale nevytovřil se sock pro konkrétní web, takže hledání chyby a zjištění že chyběl memcache modul takže instalace:

apt-get install libmemcached-dev

Tím jsem dosáhnul toho že se sock file vytvářel a úspěšně se spustil na danou doménu HipHop. Jenže pořád byl problém pokud jsem udělal easy soubor jen na test hacklangu:

<?hh
echo phpinfo();

Základní error log pro hhvm mlčel, protože hhvm se ještě konfiguruje zvlášť pro jednotlivé websites, takže editace spouštěcího skriptu websajty a přidání logfile a úprava log levelu.
Výsledek byl ten že hiphopu ještě chyběl jeden soubor a to .hhconfig Když jsem jej vložil (prázdný) tak se hacklang rozjel.

Takže pokud někdo chce hacklang a hiphop na ispconfigu3 tak směle do toho, jede to ;)

Upravený /usr/local/ispconfig/server/conf/hhvm_starter.master:
Výsledek je ten že hhvm loguje své chyby do hhvm.log souboru který je nutné vytvořit v každé website v log adresáři

do_start()
{
	if [ ! -d /var/run/hhvm ]; then
		mkdir -p -m0777 /var/run/hhvm
	else
		chmod 777 /var/run/hhvm
	fi

	if [[ -e "/var/run/hhvm/hhvm_{SYSTEM_USER}.pid" ]] ; then
		kill -0 `cat /var/run/hhvm/hhvm_{SYSTEM_USER}.pid` >/dev/null 2>&1 ;
		case "$?" in
			0)
				return 1
				;;
		esac
	fi

	umask 017
	sudo -u {SYSTEM_USER} touch /var/run/hhvm/hhvm_{SYSTEM_USER}.pid
	/usr/bin/hhvm --mode daemon -vServer.Type=fastcgi --user {SYSTEM_USER} -vServer.FileSocket=/var/run/hhvm/hhvm.{SYSTEM_USER}.sock -vLog.Level=Warning -vLog.UseLogFile=true -vLog.File=/var/www/clients/{SYSTEM_GROUP}/{SYSTEM_USER}/log/hhvm.log -vRepo.Central.Path=/var/run/hhvm/hhvm.{SYSTEM_USER}.hhbc -vPidFile=/var/run/hhvm/hhvm_{SYSTEM_USER}.pid & echo $! > /var/run/hhvm/hhvm_{SYSTEM_USER}.pid
}

Aby se tento master script dobře nastavil pro konkrétní website, je třeba upravit i /usr/local/ispconfig/server/plugins-available/nginx_plugin.inc.php aby se doplňoval {SYSTEM_GROUP} do master starteru:

//.....za řádek 2333 do funkce hhvm_update
$content = str_replace('{SYSTEM_GROUP}', $data['new']['system_group'], $content);