Skip to content

Latest commit

 

History

History
143 lines (85 loc) · 5.18 KB

INSTALL.textile

File metadata and controls

143 lines (85 loc) · 5.18 KB

h1. Installasjon av Kompetansesøk applikasjonen i produksjonsmiljø

Installer GlassFish

Installer GlassFish V2 UR2 b04 (følg instruksjonene på siden).

Sett opp OS slik at GlassFish starter automatisk når OS rebootes.

Installer MySQL

Installer MySQL 5.1 (følg instruksjonene på siden)

Sett opp OS slik at MySQL starter automatisk når OS rebootes.

Opprett database

mysqladmin create kompetansesok -uroot

Installer Sphinx

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.

Debian/Ubuntu

Det finnes ikke debian/ubuntu pakker for Sphinx. Bygg fra scratch på serveren:
Detaljer her: http://sphinxsearch.com/docs/current.html#installing

cd tmp wget http://sphinxsearch.com/downloads/sphinx-0.9.8.1.tar.gz tar xzf sphinx-0.9.8.1.tar.gz cd sphinx-0.9.8.1 ./configure make sudo make install

Kopier Sphinx config fila fra utviklingsmaskin til produksjonsmaskin:

./script/upload_sphinx_production_conf_debian

Start Sphinx

  1. TODO: Sett opp i /etc/init.d/searchd
  2. http://www.sphinxsearch.com/forum/view.html?id=367
    sudo searchd

Windows

  • TODO

Installere applikasjon på GlassFish

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/

Bygg war

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:production

Deploy war

Dette 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.war

Du 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 domain1

Opprett tabeller og importere data

Nå 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
  1. TODO – funker med “rake db:migrate” (MRI), men ikke med jruby :-/
    sudo java -jar lib/jruby-complete.jar -S rake db:migrate —trace
  1. 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
  1. Indeksere: TODO – gjør neste h3 seksjon alt dette????
  2. 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
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:daemon:start

Kjøre kommandoer fra eksplodert war
Itillegg til kommandoen under trenger du å legge til loadpathen for ruby, ukjent hvordan

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 -R lib/tasks/ import:scheduled_import -t

Sjekke at Sphinx er oppe og har indeksert data

Fra ekstern maskin

ruby script/console require ‘riddle’ client = Riddle::Client.new ‘10.0.100.233’, 3313 client.query ‘engelsk’

Restarte Glassfish

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

Opprette regelmessig jobb for import fra GREP (på Windows)
lag “sceduled task” (control panel – scheduled tasks)
– Ved valg av applikasjon: \script\import\Windows-import_fra_grep.bat
– sett navn og hvor ofte jobben skal kjøres