HomeApache Geronimo v1.1 > Documentation > Apache Geronimo v1.1 - Instrukcja użytkownika > Instalacja

Ten artykuł omawia szczegóły instalacji Apache Geronimo. Znajdziesz tutaj informacje na temat wymaganego oprogramowania, skąd pobrać Geronimo i jak modyfikować instalację.

Przedstawimy również bliższe informacje na temat instalacji i konfiguracji zgodnej z różnymi architekturami, takimi jak 2 warstwy ze zdalnym serwerem web.

Artykuł jest podzielony na następujące rozdziały:

Wymagane oprogramowanie

Pobieranie Geronimo

Wersje źródłowe i skompilowane są dostępne do pobrania pod adresem
http://geronimo.apache.org/downloads.html

Budowanie ze źródła

Rozpakuj archiwum z kodem źródłowym (.zip or tar.gz) i przejdź w linii komend do katalogu <geronimo_home>.
Rozpocznij budowanie serwera przez wykonanie polecenie:

maven -Dmaven.test.skip=true -Dmaven.itest-skip=true m:rebuild-all

Zmienne przekazane w poleceniu spowodują że Maven pominie testu i odrazu przystąpi do budowy.

Instalowanie Geronimo w wersji skompilowanej

Ściągnij dystrybucję odpowiadającą platformie na której chcesz zainstalować serwer. Wybierz format archiwum odpowiedni dla twojego systemu operacyjnego (zip, tar, gz) kikając na link. Ściągnij i rozpakuj w dnowym katalogu na lokalnym dysku twardym. Cała procedura instalacyjna to rozpakowanie archiwum.
Przejdź w linii poleceń do katalogu <geronimo_home> i uruchom serwer wykonując polecenie

java -jar server.jar

Przetestowane platformy

Oto lista platform na których przetestowano działanie Apache Geronimo v1.1:

OS Platform Java version
Open Suse 10.0 Intel 32bit Sun Java 1.4.2_11
Fedora Core v5 Intel 32bit Sun Java 1.4.2_11
Ubuntu 6.06 Intel 32 bit Sun Java 1.4.2_12
Debian 3.1r2 Intel 32 bit Sun Java 1.4.2_12
Gentoo 2006.0 Intel 32 bit Sun Java 1.4.2_12

Zmiana domyślnych portów

Port HTTP jest standardem sieciowym ktory uzywa serwer Web. Port musi być użyty w każdym HTTP URL który odwołuje się do Web aplikacji działającej na Geronimo. Serwer i startowe moduły konfiguracyjne Geronimo są kontrolowane przez plik config.xml, w którym jest wpisany domyślnie port 8080. Istnieje kilka powodów żeby zmieniać numer porty, There are several reasons for changing the network ports, na przykład żeby umożliwić działanie kilku serwerów Geronimo jednocześnie.

Żeby zmienić konfigurację domyślnego portu, otwórz w edytorze plik <geronimo_home>/var/config/config.xml. Jego treść powinna wyglądać następująco:

config.xml
<?xml version="1.0" encoding="UTF-8"?>

<!-- ======================================================== -->
<!-- Warning - This XML file is re-generated by Geronimo when -->
<!-- changes are made to Geronimo's configuration, therefore  -->
<!-- any comments added to this file will be lost.            -->
<!-- ======================================================== -->

<attributes xmlns="http://geronimo.apache.org/xml/ns/attributes-1.1">
    <module name="geronimo/rmi-naming/1.1-410806/car">
        <gbean name="RMIRegistry">
            <attribute name="port">1099</attribute>
        </gbean>
        <gbean name="NamingProperties">
            <!-- Check whether this really works if host name is 0.0.0.0 -->
            <attribute name="namingProviderUrl">rmi://0.0.0.0:1099</attribute>
        </gbean>
    </module>
    <module name="geronimo/j2ee-server/1.1-410806/car">
    </module>
    <module name="geronimo/j2ee-security/1.1-410806/car">
        <gbean name="JaasLoginServiceRemotingServer">
            <attribute name="host">0.0.0.0</attribute>
            <attribute name="port">4242</attribute>
        </gbean>
        <gbean name="JMXService">
          <attribute name="protocol">rmi</attribute>
          <attribute name="host">0.0.0.0</attribute>
          <attribute name="port">9999</attribute>
          <attribute name="urlPath">/jndi/rmi://0.0.0.0:1099/JMXConnector</attribute>
        </gbean>
    </module>
    <module name="geronimo/axis/1.1-410806/car"/>
    <module name="geronimo/openejb/1.1-410806/car">
        <gbean name="EJBNetworkService">
            <attribute name="host">0.0.0.0</attribute>
            <attribute name="port">4201</attribute>
        </gbean>
    </module>
    <module name="geronimo/j2ee-corba/1.1-410806/car" load="false">
        <gbean name="NameServer">
            <attribute name="dbDir">var/cosnaming.db</attribute>
            <attribute name="port">1050</attribute>
        </gbean>
        <gbean name="Server">
            <attribute name="args">-ORBInitRef, NameService=corbaloc::localhost:1050/NameService</attribute>
        </gbean>
        <gbean name="UnprotectedServer">
            <attribute name="args">-ORBInitRef, NameService=corbaloc::localhost:1050/NameService</attribute>
        </gbean>
    </module>
    <module name="geronimo/system-database/1.1-410806/car">
        <gbean name="DerbyNetwork">
            <attribute name="host">0.0.0.0</attribute>
            <attribute name="port">1527</attribute>
        </gbean>
    </module>
    <module name="geronimo/activemq-broker/1.1-410806/car">
        <gbean name="ActiveMQ.tcp.default">
            <attribute name="host">0.0.0.0</attribute>
            <attribute name="port">61616</attribute>
        </gbean>
    </module>
    <module name="geronimo/activemq/1.1-410806/car"/>
    <module name="geronimo/directory/1.1-410806/car" load="false">
        <gbean name="geronimo.server:name=DirectoryService">
            <attribute name="host">0.0.0.0</attribute>
            <attribute name="port">1389</attribute>
        </gbean>
    </module>
    <module name="geronimo/ldap-realm/1.1-410806/car" load="false"/>
    <module name="geronimo/tomcat/1.1-410806/car">
        <gbean name="TomcatEngine">
            <reference name="TomcatValveChain" />
        </gbean>
        <!-- To enable accesslogging change the load="false" below to load="true" -->
        <gbean name="FirstValve" load="false"></gbean>

        <gbean name="TomcatResources"/>
        <gbean name="TomcatWebConnector">
            <attribute name="host">0.0.0.0</attribute>
            <attribute name="port">8080</attribute>
            <attribute name="redirectPort">8443</attribute>
        </gbean>
        <gbean name="TomcatAJPConnector">
            <attribute name="host">0.0.0.0</attribute>
            <attribute name="port">8009</attribute>
            <attribute name="redirectPort">8443</attribute>
        </gbean>
        <gbean name="TomcatWebSSLConnector">
            <attribute name="host">0.0.0.0</attribute>
            <attribute name="port">8443</attribute>
        </gbean>
    </module>
    <!-- n.b. be sure the gbean deployer is explicitly loaded before j2ee-deployer so that defaultEnvironment
    overrides work properly -->
    <module name="geronimo/geronimo-gbean-deployer/1.1-410806/car"/>
    <module name="geronimo/j2ee-deployer/1.1-410806/car">
        <gbean name="WebBuilder">
            <attribute name="defaultNamespace">http://geronimo.apache.org/xml/ns/j2ee/web/tomcat-1.1</attribute>
        </gbean>
    </module>
    <module name="geronimo/openejb-deployer/1.1-410806/car">
        <gbean name="EJBBuilder">
            <attribute name="listener">?name=TomcatWebContainer</attribute>
        </gbean>
    </module>
    <module name="geronimo/client-deployer/1.1-410806/car"/>
    <module name="geronimo/axis-deployer/1.1-410806/car"/>
    <module name="geronimo/javamail/1.1-410806/car" load="false">
        <gbean name="SMTPTransport">
            <attribute name="host">localhost</attribute>
            <attribute name="port">25</attribute>
        </gbean>
    </module>

    <module name="geronimo/sharedlib/1.1-410806/car">
        <gbean name="SharedLib">
            <attribute name="classesDirs">var/shared/classes</attribute>
            <attribute name="libDirs">var/shared/lib</attribute>
        </gbean>
    </module>

    <module name="geronimo/tomcat-deployer/1.1-410806/car"/>
    <module name="geronimo/welcome-tomcat/1.1-410806/car"/>
    <module name="geronimo/webconsole-tomcat/1.1-410806/car"/>
    <module name="geronimo/uddi-tomcat/1.1-410806/car" load="false"/>
    <module name="geronimo/remote-deploy-tomcat/1.1-410806/car" />
    <module name="geronimo/hot-deployer/1.1-410806/car" />
</attributes>

Żeby zmienić numer portu odszukaj fragment który wygląda podobnie do tego poniżej i zmień numer portu.

Excerpt from config.xml - Tomcat
<gbean
	load="false" name="FirstValve"/>
<gbean name="TomcatResources"/>
    <gbean name="TomcatWebConnector">
      <attribute name="host">0.0.0.0</attribute>
      <attribute name="port">9000</attribute>
      <attribute name="redirectPort">8443</attribute>
    </gbean>
Excerpt from config.xml - Jetty
<module name="geronimo/activemq/1.1/car"/>
<module name="geronimo/jetty/1.1/car">
<gbean name="JettyWebConnector">
<attribute name="host">0.0.0.0</attribute>
<attribute name="port">8080</attribute>
<attribute name="redirectPort">8443</attribute>

Zapisz plik, uruchom Geronimo i otwórz w przeglądarce adres:

http://localhost:9000/console

Zmiana domyślnego użytkownika i hasła

Apache Geronimo instaluje się z domyślnie skonfigurowanym użytkownikiem system który ma nadane hasło manager. Istnieją trzy drogi do zmienienia domyślnego użytkownika i jego hasła.

  1. Edycja pliku .properties.
  2. Poprzez konsolę.
  3. Utworzenie nowej domeny bezpieczeństwa.

Edycja pliku .properties

Otwórz plik <geronimo_home>/var/security/groups.properties do edycji. Dodaj użytkowników i zapisz plik.

admin=user1,user2

Następnie otwórz plik <geronimo_home>/var/security/users.properties. W typ pliku możesz zmienić hasła instniejących użytkowników jak również dodać nowych. Jeśli dodajesz nowego użytkownika to upewnij się że jego nazwa jest taka sama jak ta podana w pliku groups.properties.


user1=password1
user2=password2

W powyższym przykładzie dodaliśmy dwóch użytkowników user1 and user2. Domyślne konto zostało usunięte. Obydwaj użytkownicy są uprawnieni do korzystania z konsoli i narzędzi uruchamianych w linii poleceń.

Poprzez konsolę

Zaloguj się do konsoli i kilknij Console Realm w folderze Security

Zobaczysz ekran Console Realm Users and Groups

Kilknij link Create New User żeby dodać nowego użytkownika, lub link na konkretnym użytkowniku żeby go edytować.
Kilknij link Create New Group żeby dodać nowego użytkownika do grupy.
Po dodaniu nowego użytkownika i nadaniu mu hasła wyloguj się z konsoli. Teraz sprawdź czy możesz się zalogować używając nowoutworzonego użytkownika.

Utworzenie nowej domeny bezpieczeństwa.

Tworzenie własnej domeny bezpieczeństwa jest opisane w zadaniach adminstracyjnych w głównej dokumentacji do wersji 1.1.

Architektury

W dzisiejszym zglobalizowany świecie, współczesne organizacje napotykają każdego dnia wiele możliwości i wyzwań. Wiele z nich kładzie olbrzymi ciężar na infrastrukturę IT, w związku z tym jej konfiguracja jest krytycznym elementem. Serwer Apache Geronimo wspiera dowolne aplikacje enterprise z zakresu od małych do średnich dostarczając silną i sprawdzoną implementację specyfikacji J2EE. W tym rozdziale pokażemy różne możliwości konfiguracji, do zastosowania w środowiskach produkcyjnych.

System złożony z dwóch warstw

Obrazek poniżej pokazuje maszynę klienta który ma dostęp do aplikacji uruchomionej na serwerze Geronimo. Pomimo że obraz pokazuje tylko jednego klienta, wiele maszyn może się łączyć do serwera, a ich użytkownicy mają dostęp do aplikacji poprzez zwykłą przeglądarkę. Aplikacje działające po stronie klienta mogą być bardzo różne, od prostej aplikacji uruchamianej w linii poleceń do skomplikowanej aplikacji używającej skompikowanego inetrfejsu graficznego. Aplikacje tego typu mogą łączyć się z serwerem używając własnych połączeń HTTP. Mogą też korzystać z obiektów biznesowych dzięki kontenerowi aplikacji klienta dostarczonemu razem z Geronimo.
Cechy kontenera aplikacji :

  • Oddzielony od serwera Geronimo
  • Komunikuje się z serwerem geronimo poprzez sieć.
    * Zajmuje się mapowaniem i zarządzaniem zależnościami w aplikacji klienta.

System złożony z trzech warstw

Architektura trzywarstwowa jest lepiej skalowalna niż dwuwarstwowa i przygotowana do obsługi setek użytkowników.

Konfiguracja z Apache HTTPd

Serwer www Apache jest najlepszym i najczęściej wybieranym serwerem HTTP. Użycie w środowisku produkcyjnym serwera www Apache razem z Geronimo jest podyktowane konkretnymi zaletami:
# Klastrowanie & Równoważenie obciążenia
Klastrowanie pozwala serwerowi aplikacji na rozproszone działanie ze zwiększoną odpornością na usterki, współdzielenie danych sesyjnych i rozkładanie obciążenia na działająceinstancje. Równoważenie obciążenia jest osiągalne za pomocą mechanizmów wbudowanych w serwer www Apache.


  1. SSL Encoder
    Zaletą Web server proxy jest to że pozwalają serwerowi pracować poprzez wiadomości zaszyfrowanych SSL, bez specjalnego dodatkowego sprzętu. Przetwarzanie SSL powoduje zwiększenie obciążenia proxy jednak rozłoży się ono na serwerze www Apache. W tym czasie serwer Geronimo spokojnie będzie obsługiwał logikę biznesową apliakcji.

    # Współdzielenie obciązenia
    W wielu systemach serwerowcyh, serwery Apache i Geronimo współpracują przy obsłudze żadań HTTP. Apache obsługuje żądania dotyczące statycznych treści (włączając pliki HTML, JPEG, GIF) podczas gdy Geronimo przetwarza żądania treści dynamicznej (JSP lub servlety) korzystając z pomocy Tomcat/Jetty. Serwer Geronimo jest zdolny do obsługi statycznych treści, jednak zazwyczaj jest konfigurowany do przetwarzania wyłącznie żadań treści dynamicznych.



Podsumowanie

Użycie serwera aplikacji Geronimo pozwala Ci na zbudowanie bezpiecznej infrastruktury zgodnej z najnowszymi standardami in wymaganiami.
Ten artykuł pokazał tylko wstęp do możliwości które daje modyfikacja konfiguracji Geronimo.