Freebsd 9.x OpenFire in einer Jail Installieren
- Eine Jail Erstellen (Beispiel EZJail)
- Grund Vorbereitungen der Jail Installieren von PKG und Portupgrade
- Installieren von OpenJDK6
- Installieren von MySQL und MySQL Connector for Java
- Installieren von OpenFire
- Datenbank Erstellen für OpenFire.
- Firewall Configurieren hier verwende ich die PF Firewall
- OpenFire Setup Ausfüren
- Weitere OpenFire Einstellungen.
Eine Jail Erstellen (Beispiel EZJail)
hier gibt es mehrere möglichkeiten ich selber benutze EZJail da es recht einfach ist und leicht zu verwallten.
Grund Vorbereitungen der Jail Installieren von PKG und Portupgrade
installieren von PKG
root@openfire:/ # cd /usr/ports/ports-mgmt/pkg &&
make install clean
echo 'WITH_PKGNG=yes'>> /etc/make.conf
root@openfire:/ # pkg2ng
installieren von Portupgrade
root@openfire:/ # cd /usr/ports/ports-mgmt/portupgrade
&&
make install clean
Installieren von OpenJDK6
OpenFire leuft auf Bases von Java und darum müssen wir es zuvor installieren, WICHTIG: da es probleme gibt OpenFire Direkt zu installieren mit der installation von OpenJDK installieren wir es Manuel.
root@openfire:/ # cd /usr/ports/java/openjdk6
&&
make install clean
wenn die Installation fertig ist haben wir das grund System für OpenFire soweit vorbereitet und können mit der Installation von OpenFire fortsetzen, aber zuvor schauen wir noch ob die installation von Java erfolgreich war.
root@jabber:/ # java -version
openjdk version "1.6.0_32"
OpenJDK Runtime Environment (build 1.6.0_32-b31)
OpenJDK 64-Bit Server VM (build 23.25-b01, mixed mode)
Installieren von MySQL und MySQL Connector for Java
Wir benötigen eine Datenbank für OpenFire hier benutzen wir einfach die MySQL Datenbank hier können aber auch andere Datenbanken benutzt werden wie, DB2, HSQLDB, ORACLE, POSTGRESQL, MSSQL, SYBASE, hier Müsst ihr einfach wählen was ihr benutzen wollt, bei mir habe ich MySQL gewählt weiel ich die MySQL DB auch so schon in einer Extra Jail laufen habe.
Als erstes installieren wir den Java DB Connector. für MySQL, alternative DB einfach mal googlen..
root@jabber:/ #
cd /usr/ports/databases/mysql-connector-java && make install clean
solltet ihr keine Datenbank haben in eurer Base oder in einer Anderen Jail installiert hier die MySQL Datenbank oder erstellt euch eine neue Jail wo nur die Datenbank drin ausgefürt wird was vieleicht etwas sicherer wäre für eure Jail Struktur: bei mir habe ich jedes Protokoll Extra in einer Jail, Apache, MySQL, Mailserver, Jabber, Proxy und so weiter.
cd /usr/ports/databases/mysql55-server && make install cleanroot@jabber:/ #
echo 'mysql_enable="YES">>/etc/rc.confroot@jabber:/ #
/usr/local/etc/rc.d/mysql-server startroot@jabber:/ #
solltet ihr euch für eine Extra Jail für die Datenbank entschiden haben könnt ihr auf die Jabber Jail auch noch den Datenbank Client installieren ist aber nicht zwingent notwedig, ich habe es einfach mit installiert damit ich von der jail aus meine MySQL Datenbank verwallten kann.
cd /usr/ports/databases/mysql55-client && make install cleanroot@jabber:/ #
Installieren von OpenFire
root@jabber:/ # cd /usr/ports/net-im/openfire
&&
make install clean
root@jabber:/usr/ports/net-im/openfire # echo 'openfire_enable="YES"'>>/etc/rc.conf
root@jabber:/usr/ports/net-im/openfire # cp /usr/local/etc/openfire/openfire.xml.sample /usr/local/etc/openfire/openfire.xml
root@jabber:/usr/ports/net-im/openfire # cp /usr/local/etc/openfire/keystore.sample /usr/local/etc/openfire/keystore
root@jabber:/usr/ports/net-im/openfire # cp /usr/local/etc/openfire/truststore.sample /usr/local/etc/openfire/truststore
root@jabber:/usr/ports/net-im/openfire #
echo 'openfire_enable="YES"'>>/etc/rc.conf
root@jabber:/usr/ports/net-im/openfire #
/usr/local/etc/rc.d/openfire start
Datenbank Erstellen für OpenFire.
mysql -u root
GRANT ALL ON *.* TO 'root'@'localhost' IDENTIFIED BY 'mynewrootpassword';
CREATE DATABASE openfire;
USE openfire;
GRANT ALL ON openfire.* to 'username'@'localhost' IDENTIFIED BY 'password';
quit
mysql -u root -p openfire
Firewall Configurieren hier verwende ich die PF Firewall
hier will ich jetzt nicht direkt auf die Firewall eingehen da jeder das etwas anders macht..
Meine Regeln:
### MAKROS
rdr on $ext_if inet proto tcp from any to $ext_ip port 5223 -> $jail_openfire_ipv4_lo0
rdr on $ext_if inet proto tcp from any to $ext_ip port 5269 -> $jail_openfire_ipv4_lo0
rdr on $ext_if inet proto tcp from any to $ext_ip port 7070 -> $jail_openfire_ipv4_lo0
pass in on $ext_if proto tcp from any to $jail_openfire_ipv4_lo0 port 5223
pass in on $ext_if proto tcp from any to $jail_openfire_ipv4_lo0 port 5269
pass in on $ext_if proto tcp from any to $jail_openfire_ipv4_lo0 port 7070