Sascha's Wiki

Glassfish 4 auf Raspberry Pi (Raspbian) installieren

Es empfiehlt sich für einen Glassfish-Server den Raspberry Pi 2 zu verwenden

Raspbian in Betrieb nehmen

Raspbian installation

Wenn der Raspberry Pi an einem aktiven Netzwerk angeschlossen ist, verbindet man sich am besten mit SSH mit dem Raspberry Pi.Anschließend deaktiviert man den X-Server des Raspberry Pi (nur für Debian Jessie).

#Konfigurationsassistent aufrufen
sudo raspi-config

Anschließend öffnet sich die Raspberry Pi Konfigurationsseite. Hier wählt man Boot Options aus.

Nun kann man mit B1 den Autostart der GUI deaktivieren und auf Konsolen Login umstellen.

#Grafische Oberfläche beenden
sudo systemctl disable lightdm.service

#Auf Konsolenstart einstellen
sudo systemctl set-default multi-user.target

Nun konfiguriert man den Raspberry Pi (Sprache, Tastaturlayout, Memory Split)

#Konfigurationsassistent aufrufen
sudo raspi-config
Anschließend öffnet sich die Raspberry Pi Konfigurationsseite. Nun erweitern wir mit Expand Filesystem den Speicherplatz des Betriebssystems auf die komplette SD Karte.

In den Intarnationalisatioin Options wird das Tastaturlayout, die Zeitzone und die Systemsprache eingestellt.

Zuerst die Systemsprache (Change Locale)

Für deutsch wählt man de_DE.UTF-8 UTF-8 aus dies kann man Leertaste tun und mit Enter bestätigen.

Anschließende kann man als Standard ebenfalls de_DE.UTF-8 einstellen.

Als nächstes wird die Zeitzone selektiert. Change Timezone

Für Deutsche Zeit: (Europe)

Berlin

Der nächste Schritt ist das Tastaturlayout von QWERTY (US) zu QWERTZ (DE) umzustellen Change Keyboard Layout. Nun wird automatisch das Layout anhand der gesetzten Locale eingestellt.

(OPTIONAL) Für mehr Leistung kann der Raspberry Pi Model 2. Hierzu wählt man Overclock, bestätigt die Warnung und setzt die Voreinstellung auf Pi2.

Nun geht man in die Advanced Options

(OPTIONAL) Für besseres auffinden im Netzwerk und unterscheiden einzelner Geräte, kann man den Hostnamen setzen. Hierbei ist zu beachten, dass der Hostname nur Buchstaben und Zahlen enthalten darf. In diesem Beispiel setzen wir den Hostnamen auf glassfish

Als nächstes wird der Memory Split verändert. Dieser legt fest wieviel der 1024MB Arbeitsspeicher der CPU und wieviel der GPU zugewiesen werden soll.

Da dieser Raspberry Pi nur im Konsolenbetrieb laufen wird, wird der GPU 16MB zugewiesen. Hierzu einfach den Wert 16 eingeben.

Nachdem die Konfiguration abgeschlossen ist, beendet man den Assistenten mit <Finish>

Zuletzt wird der Raspberry Pi neu gestartet. Hierzu wird Ja ausgewählt.

Glassfish installation

#Verzeichnis für den Glassfish anlegen
sudo mkdir -p /opt/glassfish

#Zugriffsrechte für neues Verzeichnis setzen
sudo chown pi:pi /opt/glassfish -R

#ins eben erstellte Verzeichnis wechseln
cd /opt/glassfish

mit Internetverbindung am Pi

Glassfish Server herunterladen. Je nach Anwendung kann hier das Web-Profile oder die Full-Platform verwendet werden. Hierzu kopiert man einfach die jeweilige Download URL kopieren.

#Download der Full Version
wget http://download.java.net/glassfish/4.1/release/glassfish-4.1.zip

#glassfish entpacken / aus dem verzeichnis /opt/glassfish
unzip glassfish*

ohne Internetverbindung am Pi

Glassfish Server herunterladen. Je nach Anwendung kann hier das Web-Profile oder die Full-Platform heruntergeladen werden. Nun kann mit Hilfe von einem FTP Programm wie Filezilla die installationsdatei auf den Raspberry Pi geladen werden.

Für die Verbindung mit Filezilla nachfolgendes verwendet werden:

Server:       sftp://[ip des raspberry pi]
Benutzername: pi
Passwort:     raspberry
Port:         22

#Nach einem Klick auf Verbinden muss das Zertifikat akzeptiert werden
#Danach wird die Verbindung aufgebaut

Nach erfolgreicher Verbindung kann die glassfish.zip in das erzeugte Verzeichnis /opt/glassfish kopiert werden.

#glassfish entpacken / aus dem verzeichnis /opt/glassfish
unzip glassfish*

Glassfish Konfiguration

#ins bin Verzeichnis von glassfish wechseln
cd /opt/glassfish/glassfish4/bin

#Passwort für glassfish admin setzen 
#admin Passwort standardmäßig leeres Passwort
./asadmin change-admin-password --user admin

#Standard-Domain starten
./asadmin start-domain

#remote Login aktivieren
./asadmin enable-secure-admin

Enter admin user name>  admin          #user admin
Enter admin password for user "admin"> #eben vergebenes Passwort für admin 
You must restart all running servers for the change in secure admin to take effect.
Command enable-secure-admin executed successfully.

#Standard-Domain neu starten
./asadmin stop-domain
./asadmin start-domain

Nun kann die Admin-Konsole über [ip des raspberryPi]:4848 aufgerufen werden.

Autostart Glassfish

sudo nano /etc/init.d/glassfish

#!/bin/bash
### BEGIN INIT INFO
# Provides:      glassfish
# Required-Start:   $local_fs $syslog $network
# Required-Stop:   $local_fs $syslog $network
# Default-Start:   2 3 4 5
# Default-Stop:      1
# Short-Description:   Glassfish
### END INIT INFO

sleep 5
USER=root    #für Zugriff auf die GPIO Ports muss user root verwendet werden
GLASSFISH=/opt/glassfish/glassfish4 #Verzeichnis des Glassfish
su -c "$GLASSFISH/glassfish/bin/asadmin $1-domain" - $USER

#Strg + O zum speichern und Strg + X zum Schließen von nano
 
sudo chmod +x /etc/init.d/glassfish
 
#Script bei Systemstart ausführen
sudo update-rc.d glassfish defaults

Glassfish Manuelles Deployment

Bei dem Raspberry Pi kann es zu Problemen mit dem Automatischen Deployment aus der IDE kommen. Deshalb kann man auch manuell deployen. Hierfür verwendet man Filezilla:

Server:       sftp://[ip des raspberry pi]
Benutzername: pi
Passwort:     raspberry
Port:         22

#Nach einem Klick auf Verbinden muss das Zertifikat akzeptiert werden
#Danach wird die Verbindung aufgebaut

#Nach erfolgreicher Verbindung navigiert man zu
/opt/glassfish/glassfish4/glassfish/domains/domain1/autodeploy
hierher kopiert man die aus der IDE erzeugte WAR-Datei. Nun sollte die Applikation unter [raspberry pi ip]:8080/[Name der WAR-Datei] erreichbar sein.

raspberry/allgemeines/installationglassfish4.txt · Zuletzt geändert: 2016/04/21 09:15 (Externe Bearbeitung)