h1. Installasjon av Kompetansesøk applikasjonen i produksjonsmiljø
Installer GlassFish V2 UR2 b04 (følg instruksjonene på siden).
Sett opp OS slik at GlassFish starter automatisk når OS rebootes.
Installer MySQL 5.1 (følg instruksjonene på siden)
Sett opp OS slik at MySQL starter automatisk når OS rebootes.
mysqladmin create kompetansesok -uroot
Applikasjonen bruker Sphinx i tillegg til relasjonsdatabase
for å muliggjøre hurtige søk.
Sphinx må installeres på serveren og OS må kofigureres slik at searchd starter når OS rebootes.
Vent med å konfigurere oppstart av Sphinx til etter at appplikasjonen er deployet 1. gang.
Konfigurasjonen til Sphinx ligger nemlig i applikasjonen. Se nedenfor.
Det finnes ikke debian/ubuntu pakker for Sphinx. Bygg fra scratch på serveren:
Detaljer her: http://sphinxsearch.com/docs/current.html#installing
Kopier Sphinx config fila fra utviklingsmaskin til produksjonsmaskin:
./script/upload_sphinx_production_conf_debianStart Sphinx
- TODO: Sett opp i /etc/init.d/searchd
- http://www.sphinxsearch.com/forum/view.html?id=367
sudo searchd
- TODO
TODO: Scripte med capistrano
http://weblog.brightlight-ict.nl/2008/08/capistrano-and-glassfish/
http://www.rubytutorials.net/2008/12/04/deploying-a-merb-app-on-glassfish-with-capistrano/
Dette steget kan hoppes over hvis du allerede har en war fil.
jruby -S gem install aslakhellesoy-warbler (Har noen småfikser som ikke er i offisiell gem) Ignorer “File not found: Manifest.txt” dersom det skjer rake war:productionDette kan gjøres fra en hvilken som helst maskin på lokalt nett.
scp kompetansesok_production.war [email protected]:/tmp/kompetansesok_production.war ssh [email protected] /usr/share/glassfish/bin/asadmin deploy —user admin —contextroot / /tmp/kompetansesok_production.warDu blir spurt om Glassfish passord, skriv det inn.
Hvis du får problemer med PermGenSpace – se her:
http://www.nabble.com/Caused-by:-java.lang.OutOfMemoryError:-PermGen-space-td17664141.html
Restart glassfish:
ssh [email protected] sudo /usr/share/glassfish/bin/asadmin stop-domain domain1 ssh [email protected] sudo /usr/share/glassfish/bin/asadmin start-domain domain1Nå skal vi kjøre flere kommandoer, så det er best å logge inn på serveren:
ssh [email protected] export RAILS_ENV=production export GEM_PATH=/usr/share/glassfish/domains/domain1/applications/j2ee-modules/kompetansesok_production/WEB-INF/gems cd /usr/share/glassfish/domains/domain1/applications/j2ee-modules/kompetansesok_production/WEB-INF sudo cp config/ultrasphinx/production_debian.conf config/ultrasphinx/production.conf- TODO – funker med “rake db:migrate” (MRI), men ikke med jruby :-/
sudo java -jar lib/jruby-complete.jar -S rake db:migrate —trace
- TODO: Gjøre om til Rake task og fjerne script filene (og ref i warbler config)
java -Xmx128M -jar lib/jruby-complete.jar script/import/import_til_fil /tmp/kompetansesok
java -Xmx128M -jar lib/jruby-complete.jar script/import/import_til_db /tmp/kompetansesok
- Indeksere: TODO – gjør neste h3 seksjon alt dette????
- sudo indexer —config /usr/local/etc/sphinx.conf —all
sudo RAILS_ENV=production GEM_PATH=/usr/share/glassfish/domains/domain1/applications/j2ee-modules/kompetansesok_production/WEB-INF/gems java -jar lib/jruby-complete.jar -S rake ultrasphinx:index
Kjøre kommandoer fra eksplodert war
Itillegg til kommandoen under trenger du å legge til loadpathen for ruby, ukjent hvordan
Fra ekstern maskin
ruby script/console require ‘riddle’ client = Riddle::Client.new ‘10.0.100.233’, 3313 client.query ‘engelsk’Pga. minnelekkasje feil i Glassfish må applikasjon server startes på nytt etter deployment
ssh [email protected] sudo /usr/share/glassfish/bin/asadmin stop-domain domain1 ssh [email protected] sudo /usr/share/glassfish/bin/asadmin start-domain domain1