Skip to content
  • Projects
  • Groups
  • Snippets
  • Help

Codecrew / Moya

  • This project
    • Loading...
  • Sign in
Go to a project
  • Project
  • Repository
  • Issues 30
  • Merge Requests 2
  • Wiki
  • Snippets
  • Settings
  • Activity
  • Graph
  • Charts
  • Create a new issue
  • Commits
  • Issue Boards
Asennusohjeet

Asennusohjeet

Last edited by Tuomas Riihimäki Mar 27, 2018
Page history

Järjestelmän asennusohjeet

Eclipsen asennus

Tässä ohjeessa oletetaan että järjestelmässä on Java 1.8 ( eclipse Luna ja uudemmat vaativat 1.8 että glassfish adapter toimii)

  • Lataa ja asenna Eclipse IDE for Java EE Developers http://www.eclipse.org/downloads/. Kyllä, ihan oikeasti se EE versio :) Vältät monta ongelmaa valitsemalla oikean version!
  • Asenna Oracle GlassFish Server Tools (Servers tab -> right-click -> New -> Download additional server adapters)
  • Määrittele Glassfish serveri: ( Servers tab -> right-click -> New -> Glassfish 4.0 ( tai uudempi ) -> Valitse asennushakemisto -> Install server )
    • Käy läpi Glassfishin asennusogheen kaikki kohdat (alla).
    • Tuo projektit eclipseen: File -> Import -> Existing Maven Projects -> valitse moya/code kaikki -> Finish
    • Lisää Ear-projekti glassfishiin ( Servers tab -> Valitse palvelin -> Valitse haluttu/halutut projektit -> Finish
    • Valmis

Glassfishin asennus

HUOM! Jos olet asentamassa glassfishia kehitysympäristöön, on helpoin antaa eclipsen glassfish-connectorin hoitaa glassfishin asennus.

Käytetään uusinta 4 versiota. Tällä hetkellä uusimman version voi ladata osoitteesta: http://dlc.sun.com.edgesuite.net/glassfish/4.1/release/glassfish-4.1.zip

SQL connectorin asennus

Glassfishin mukana tulee muutamiin tietokantoihin tarpeelliset luokat, mutta esimerkiksi PostgreSQL:n JDBC-ajuri täytyy ladata erikseen.

  • Lataa JDBC4 PostgreSQL Driver http://jdbc.postgresql.org/download.html#current
  • Kopioi postgresql-X.X-.jdbc4.jar kirjasto asennushakemiston **glassfish/lib/* hakemistoon, esim: cp ~/Downloads/postgresql-9.3-1002.jdbc41.jar /Users/tuomari/javajutut/glassfish4/glassfish/lib/

Asadmin

Suositellaan käytettäväksi asadmin-työkalua. Kaikki samat jutut onnistuvat myös wepikälistä, mutta esim 3G:n tai muun vastaavan yli asadmin ei räjäytä juttuja jos yhteys katkeaa kesken redeploy:n

Malbolgelta asadmin löytyy hakemistosta: /usr/local/share/glassfish4/bin

# ./asadmin start-domain codecrew-production`
# ./asadmin restart-domain codecrew-production`
# ./asadmin redeploy --name Moya ~/Moya.ear -p 8148`
# ./asadmin deploy ~/Moya.ear -p 8148`
## Asetetaan järjestelmä **Production** tai **Development** (default) tilaan:
# ./asadmin create-custom-resource --restype java.lang.String --factoryclass com.sun.faces.application.ProjectStageJndiFactory --property stage=Production javax.faces.PROJECT_STAGE`

Moya-ympäristön asennus

Oletetaan, että:

  • git repository on checkoutattu hakemistoksi moya/
  • Glassfish on hakemistossa glassfish4/
  • asadmin on ./glassfish4/bin/asadmin
  • windowsin käyttäjä ajaa git bashiä, ei powershelliä

Autentikaatiomokkula

Kopioi autentikaatiomoduli paikalleen:

# cp moya/MoyaAuthModulev4.jar glassfish4/glassfish/domains/domain1/lib/

Lisää glassfish/glassfish/domains/domain1/config/login.conf -tiedostoon:

  moyaRealm {
     fi.codecrew.moya.MoyaLoginModule required;
  };

Uudelleenkäynnistä glassfish (Stop + Start. Republish ei riitä)

Rekisteröi autentikaatiomoduli glassfishiin:

# asadmin create-auth-realm --classname fi.codecrew.moya.MoyaRealm --property jaas-context=moyaRealm moyaRealm

Tietokanta

Asenna postgresql ja luo paikallinen käyttäjä, sekä tietokanta:

# createuser -P moya
# createdb -O moya moya

Lisää PostgreSQL-serverin asetuksiin rivi

max_prepared_transactions = 1000

Lataa http://jdbc.postgresql.org/download.html#current ja lisää se glassfish4/glassfish/lib/ hakemistoon:

# cp postgresql-9.3-1011.jdbc4.jar glassfish4/glassfish/lib/

Luo Connection Pool glassfishiin:

# asadmin create-jdbc-connection-pool --datasourceclassname org.postgresql.xa.PGXADataSource --restype javax.sql.XADataSource --ping true --property URL=jdbc\\:postgresql\\:moya:DatabaseName=moya:Password=Ahdoeshoish7auF:User=moya MoyaPool

Luo JDBC-resurssi glassfishiin:

# asadmin create-jdbc-resource --connectionpoolid MoyaPool jdbc/moyaDb

Sähköposti

Lisää meiliyhteys glassfishiin:

# asadmin --interactive=false create-javamail-resource --mailhost=dummyhost --mailuser=bortalmail --fromaddress=bortalmail@codecrew.fi --enabled=true --description="Bortal" --storeprotocol=imap --storeprotocolclass=com.sun.mail.imap.IMAPStore --transprotocol smtp --transprotocolclass com.sun.mail.smtp.SMTPTransport --property mail.smtp.port=587 mail/moya

Lisää JMS connection factory ja Destination resource glassfishiin:

# asadmin create-jms-resource --restype javax.jms.QueueConnectionFactory jms/moyaMailQueueFactory
# asadmin create-jms-resource --restype javax.jms.Queue --property Name=MoyaMailQueue jms/moyaMailQueue

Aseta Glassfish Default Principal to Role Mapping (HUOM! 403 asioista, ellei tätä ole ruksittu):

# asadmin set server-config.security-service.activate-default-principal-to-role-mapping=true

(Configurations -> server-config -> Security -> Default Principal To Role Mapping -> Enabled)

Muut

Jos haluat JK-connectorin käyttöön apachen kanssa:

  • Configurations -> Server-config -> Network Config -> http-listner1 -> JK Listener ON

Debug-tulosteet fi namespacesta saa näkyviin seuraavasti:

# echo fi.level=FINEST >> glassfish4/glassfish/domains/domain1/config/logging.properties

Linuxissa pitää ehkä määrittää java.awt.headless:

# asadmin create-jvm-options -Djava.awt.headless=true

Käynnistä glassfish uudelleen että kaikki asetukset tulevat voimaan.

Jos haluat luoda uuden käyttäjän tyhjään kantaan onnistuu se näin (admin/admin):

    insert into users (password, created, gender, login, superadmin, active) values ('{SSHA}gl1Uyul2Eoog/8pjG7Iu92v6YbO3SYT8', now(), 'UNDEFINED', 'admin', true, true);

Tuotannossa pitää asettaa "project stage" vipu Production asentoon. Pysyvästi sen voi asettaa komennolla

# ./asadmin create-custom-resource --restype java.lang.String --factoryclass com.sun.faces.application.ProjectStageJndiFactory --property stage=Production javax.faces.PROJECT_STAGE

Jos käytetään Nginx:ä proxynä, pitää asettaa headeri josta tarkistetaan käytetäänkö SSL-yhteyttä:

# ./asadmin set server.network-config.protocols.protocol.http-listener-1.http.scheme-mapping=X-Forwarded-Proto

Tietokantadumppi

Jos käytät kuvatonta tietokantaa luo puuttuvat taulut:

CREATE TABLE user_images (id SERIAL NOT NULL, description TEXT, image_data BYTEA, meta json, mime_type TEXT, name TEXT, uploaded TIMESTAMPTZ NOT NULL, user_id INTEGER, PRIMARY KEY (id));
ALTER TABLE user_images ADD CONSTRAINT FK_user_images_user_id FOREIGN KEY (user_id) REFERENCES users (id);
UPDATE users SET current_image_id = NULL;
ALTER TABLE users ADD CONSTRAINT FK_users_current_image_id FOREIGN KEY (current_image_id) REFERENCES user_images (id);

CREATE TABLE compo_entry_files (id SERIAL NOT NULL, description TEXT, file_data BYTEA, file_name TEXT, hash TEXT, meta json, mime_type TEXT, uploaded TIMESTAMPTZ NOT NULL, entry_id INTEGER NOT NULL, PRIMARY KEY (id));
ALTER TABLE compo_entry_files ADD CONSTRAINT FK_compo_entry_files_entry_id FOREIGN KEY (entry_id) REFERENCES compo_entries (id);
UPDATE compo_entries SET current_file_id = NULL;
ALTER TABLE compo_entries ADD CONSTRAINT FK_compo_entries_current_file_id FOREIGN KEY (current_file_id) REFERENCES compo_entry_files (id);
  Clone repository
  • Api
  • Asennusohjeet
  • Caching
  • Eclipse connector
  • Lokitus
  • Mobiili ideoita
  • Syksy 2014 todo
  • Talyn speksi 2015 05 07
  • Coding practices
  • Drd maskotti
  • Home
  • Mootte 2015 10 22
  • Turnaukset
  • Ulkoasujuttuja
  • Workflow
More Pages
×

New Wiki Page

Tip: You can specify the full path for the new file. We will automatically create any missing directories.