ugrás a tartalomhoz

Drupal / Tomcat együttélés

dvc1201 · 2008. Szep. 10. (Sze), 11.20
Sziasztok!
Egy Drupal / Tomcat együttélési probléma megoldására keresek megfejtést.

Adott egy gép (szerver hotelben, Linux oprendszer, fix ip cím, minden jog
van hozzá)
van egy bejegyzett valami.hu név (nem annál a szolgáltatónál, akinél a
szerver van)
Amit el szeretnénk érni:
1.) a www.valami.hu címre egy a gépen istallált Drupal-nak kellene
jelentkezni

2.) az xxx.valami.hu címen egy a Tomcat-ben értelmezett web alkalmazás
legyen elérhető
context alapú, a config fáj a conf/catalina/localhost könyvtárban

3.) az yyy.valami.hu címen egy a Tomcat-ben értelmezett másik web
alkalmazás legyen elérhető
context alapú, a config fáj a conf/catalina/localhost könyvtárban

A megoldás üzleti alapon (pl. szakértői megbízás) is elképzelhető ha valaki tudja a megfejtést.

Előre is kösz a segítséget!
 
1

mod_jk?

janoszen · 2008. Szep. 10. (Sze), 11.57
Két megoldás van. Vagy beproxyzod a xxx.valami.hu vhostra beállítod, hogy minden kérést proxyzzon tovább (mod_proxy) vagy föltelepíted a mod_jk-t ami megcsinál valami hasonlót. Keress rá a google-ban az "apache tomcat howto" kifejezésre.
2

Quercus

tolmi · 2008. Szep. 10. (Sze), 12.27
Vagy megpróbálkozol a Caucho Quercus-ával és Tomcat-ben futtatod a Drupal-t :) 4x gyorsabb lesz mint normál PHP-val, valamint nem kell még apache-ot is reszelgetni.

Ha meg szükség van apache-ra, akkor a mod_proxy jobb megoldás lehet, mert meg tudod valósítani azt hogy statikus tartalmakat(pl. js, képek, css) cache-elje az apache és sose üsse meg a tomcat-et az ilyenek elkéréséért. Cserébe a mod_jk kicsit gyorsabb.

Én hasonló helyzetben úgy csináltam mondjuk hogy quercus-szal futtattam Drupal-t és volt külön a lighty-s static szerver.
3

Static...

janoszen · 2008. Szep. 10. (Sze), 12.37
Staticra lehet külön vhostos csinálni, utóbbi időben én szokok is, static.valami.hu, szóval azzal sem kell a tomcatet terhelni.
4

Pelda

zmb · 2008. Szep. 10. (Sze), 14.22
Nalami valahogy igy nez ki a dolog, mod_jk-t hasznalva.
Van egy js.bl vhost:

<VirtualHost *>
	ServerAdmin webmaster@localhost
	ServerName js.bl
	
	DocumentRoot ...
</VirtualHost>
Van egy mybookline.hu vhost:

<VirtualHost *>
	ServerName mybookline.hu
	JkMount /*.action ajp13
</VirtualHost>
Itt a trukk a JkMountban van, *.action-t tolja tovabb (ez esetben egy jbossba)

Ehhez a vhosthoz meg dukal egy worker.properties is:

worker.list=ajp13

worker.ajp13.port=8009
worker.ajp13.host=localhost
worker.ajp13.type=ajp13
worker.ajp13.lbfactor=1
Tomcat, server.xml-be meg:

<Host name="bookline" autoDeploy="false" deployOnStartup="false" deployXML="false">
        <Alias>mybookline.hu</Alias>
        <Alias>mybookline.sk</Alias>
        <Alias>mybookline.ro</Alias>
Ezen kivul meg engedejezni kell (ha nincs) az ajp connectort:

<Connector port="8009" address="${jboss.bind.address}" protocol="AJP/1.3"
         emptySessionPath="true" enableLookups="false" redirectPort="8443" />
Lehet, h kell meg rajta butykolni, mert egyreszt az apache tol warningokat a vhostok miatt, masreszt a tomcatom jbossban fut, es egy kicsit mashogy kell configolni, ha egyedul van (tomcat oldalan van vhost tutorial)
5

Kösz a segítséget

dvc1201 · 2008. Szep. 11. (Cs), 16.25
Mindenkinek köszönöm az ötleteket. Van-e esetleg valaki, aki akár meg is csinálná az általa vázolt megoldást a mi gépünkön? Ha igen, akkor egy kb. ár megjelöléssel szóljon. Kösz!
6

Rendszergazda?

janoszen · 2008. Szep. 11. (Cs), 16.34
Őőőő nem lehet hogy elkellene nektek egy rendszergazda? Milyen rendszer? Fönt van-e már a Tomcat, Apache?
7

Cipőt a cipőboltból

dvc1201 · 2008. Szep. 11. (Cs), 16.51
Tomcat és Apache kollégák már évek óta a szerveren laknak. Drupal kolléga az új beköltöző, aki miatt kisebb átrendezésekre kényszerülünk. Rendszergazda van, de mivel ezt azért nem egészen szokásos architektúrának éreztük, gondoltam felesleges csőbe lyukat felfedezni, hátha van valaki aki kapásból fújja a megfejtést. Ez a része rendben is van, csak nem egy, hanem több megoldási javaslatot kaptunk. Ennek részben örülök, most majd elgondolkodunk rajta melyik lenne hosszú távon a legjobb. Szóval inkább azért keresünk valakit aki már végigjárta a javasolt utat, hátha nem kell befáradnunk az összes közben esetleg felmerülő zsákutcába.
8

Sajnos...

janoszen · 2008. Szep. 11. (Cs), 21.34
Ez teljesen jogos. Sajnos én a Tomcattel való ismerkedésemmel odáig jutottam, hogy fölhúztam az apacs mögé és konstatáltam, hogy működik. Ezen a ponton elhagyott a lelkesedésem és még inkább a témára szánható időm, úgyhogy megrekedtem. A Drupal nem egy nagy kihívás. Ha működik a Tomcat az apacs mögött, akkor viszonylag triviális átkonfigurálni egy új vhostot a Drupalnak.

Egyedül annyi szívás lehet (szerintem), hogy a Drupalnak FastCGI alatt a RewriteBase-t be kell kapcsolni, de minek is használnátok FastCGI-t.

Akár keressetek meg magánban, szívesen segítek. Nem fizetős meló gyanánt mert annyit nem foglalkoztam a Tomcattel, hanem amit tapasztaltam, azt segítek. Persze ha van kollega, aki jobban ért hozzá, akkor valszeg jobban jártok. (Apropó, a HuPon is dobjátok föl, ott több Linux mágus császkál.)
9

RewriteBase

tolmi · 2008. Szep. 12. (P), 11.04
Ezt amúgyis ajánlott minden Drupal installációban beállítani. Sok fejfájástól kímélhet meg.
10

Ez lett a megfejtés

dvc1201 · 2008. Szep. 18. (Cs), 12.10
Mindenkinek köszönöm a segítséget. Végül az alábbi megfejtést választottuk

11. VirtualHost - Tomcat konfiguráció - xxx.valami.hu

A /etc/httpd/conf/httpd.conf file-ban lehet vezérelni a VirtualHost működést.

11.1. VirtualHost bekapcsolása

NameVirtualHost *:80

11.2. Jakarta connector

LoadModule jk_module modules/mod_jk.so
JkWorkersFile /etc/httpd/conf.d/workers.properties
JkLogFile /etc/httpd/logs/mod_jk.log
JkLogLevel info
JkLogStampFormat "[%a %b %d %H:%M:%S %Y]"
JkOptions +ForwardKeySize +ForwardURICompat +ForwardDirectories
JkRequestLogFormat "%w %V %T"

(A működéshez a /etc/httpd/conf.d/ könyvtárba kellett egy workers.properties file, megfelelően konfigurálva, de ahhoz nem kell nyúlni többet.)

11.3. VirtualHost a fő webszerverre (valami.hu)

<VirtualHost *:80>
ServerName valami.hu
ServerAlias www.valami.hu
ErrorLog logs/www.valami.hu-error_log
CustomLog logs/www.valami.hu-access_log common
</VirtualHost>

11.4. Harmadik szintű domain-ek kezelése

<VirtualHost *:80>
ServerName xzy.valami.hu
ErrorLog logs/xzy.valami.hu-error_log
CustomLog logs/xzy.valami.hu-access_log common

RewriteEngine on
RewriteRule ^/$ /app1/ [R]

JkMount /* ajp13
</VirtualHost>

Tehát ezek után új harmadik szintű domain esetén mindössze annyi a teendő, hogy ebben kell átírogatni az "xyz" és a "/app1/" stringeket.