tipps_und_tricks

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen Revision Vorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
Nächste Überarbeitung Beide Seiten der Revision
tipps_und_tricks [2009/08/29 12:08]
flacco
tipps_und_tricks [2014/12/09 17:36]
flacco [VM einrichten]
Zeile 7: Zeile 7:
 [[:​tipps_und_tricks:​virtualbox| Tipps und Tricks zu VirtualBox]] [[:​tipps_und_tricks:​virtualbox| Tipps und Tricks zu VirtualBox]]
  
-===== Group-e Samba Dateimanager auch unter openSUSE ===== 
-Out of the Box lässt sich der Samba Dateimanager von Group-e unter openSUSE nicht nutzen. 
  
-Das hat zwei Gründe: 
  
-  - Die smbclient-Methode funktioniert nicht, weil der PTY-Support in PHP seit einiger Zeit nicht mehr aktiviert ist. Dies zu lösen würde bedeuten PHP selbst neu zu übersetzen. Das wurde im Group-e Forum schon mehrfach diskutiert und stellt definitiv keine Lösung dar!!!! 
-  - Die smbmount-Methode funktioniert nicht, da //​**smbmount**//​ schlicht in openSUSE nicht mehr enthalten ist. (Dürfte bei anderen Distris möglicherweise auch schon so sein) //​**smbmount**//​ bzw. smbfs wird nicht mehr wirklich gepflegt. Als Ersatz ist das Paket cifs-mount mit den Kommandos //​**mount.cifs**//​ und //​**umount.cifs**//​ enthalten. 
  
-Im Gegensatz zu den alten Kommandos //​**smbmount**//​ und //​**smbumount**//​ ist bei den neuen aus Sicherheitsgründen das SUID-Bit nicht gesetzt. 
  
-Um diese Kommandos für group-e nutzbar zu machen muss zunächst allen Sicherheitsbedenken zum Trotz das SUID-Bit für beide Kommandos gesetzt werden: 
  
-<​code>​chmod u+s /​sbin/​mount.cifs +===== Zarafa License-Daemon im Eigenbau =====
-chmod u+s /​sbin/​umount.cifs</​code>​+
  
-Da Group-e leider immer noch die alten Kommandos voraussetzt und vermutlich niemand bei jeder neuen Version ​den Quellcode anfassen möchtemüssen ​noch zwei symbolische Links angelegt werden:+Offiziell wird openSUSE als Basis einer Zarafa-Version ​nicht unterstütztwas unter anderem dazu führt, dass weder Zarafa-Backup ​noch der License-Daemon dafür zur Verfügung stehen. Beide Tools enthalten Closed-Source-Komponenten und sind damit nicht Bestandteil der Open-Source-Pakete die wir in unserem Build-Service-Repository vorhalten.
  
-<​code>​ln ​-s /sbin/mount.cifs /​usr/​bin/​smbmount +Sie sind aber Bestandteil der Free-Edition und können somit kostenlos genutzt werden, allerdings nur auf unterstützten Plattformen,​ wie etwa Ubuntu LTS.
-ln -s /​sbin/​umount.cifs /​usr/​bin/​smbumount</​code>​+
  
-Das warsdanach funktioniert der Samba-Dateimanager auch unter openSUSE, wenn auch mit ein paar Abstrichen in Sachen Sicherheit+Problematisch ist grundsätzlichdass Zarafa seine eigene Software meist statisch gegen vorhandene System-Libraries linkt. Da sich diese von Distribution zu Distribution in Ihren Versionen unterscheiden,​ ist es nicht möglich SLES oder RedHat-Pakete einfach ​unter openSUSE ​zu nutzen.
  
-**Ergänzung:​**+Möglich ist aber den License-Daemon in einer Art Sandbox laufen zu lassen, in der er alle Libraries hat, die er benötigt. Die folgende Beschreibung erläutert den Aufbau der Sandbox auf einem Ubuntu-LTS System
  
-Wenn es nicht funktioniert bitte die /etc/hosts kontrollierenWenn dort eine wie im folgenden Beispiel gezeigte Zeile zu finden ist, ist diese entweder zu löschen oder die 127.0.0.2 gegen die tatsächliche IP-Adresse zu tauschen.+==== VM einrichten ==== 
 +Zunächst muss dafür ein Ubuntu-LTS System installiert werden, hier empfiehlt sich die Arbeit mit VirtualboxEntgegen der Angaben ​im Zarafa-Wiki spielt ​die Architektur der Sandbox sehr wohl eine RolleDa wir unsere invis-Server immer als 64Bit Systeme installieren,​ nutzen wir entsprechend auch ein 64Bit Ubuntu als Basis.
  
-<​code>​127.0.0.2 ​     invis65.invis-net.loc ​    ​invis65</​code>​+Zusätzlich zur einfachen Standard-Installation wird das Software-Paket **mklibs** benötigt:
  
-(Bitte nicht mit der 127.0.0.1 verwechseln.).+<​code>​ 
 +heinz@ubuntu:​~$ sudo apt-get install mklibs 
 +</​code>​
  
-Es sollte ein korrekter Eintrag direkt ​unter "127.0.0.1 localhost"​ stehen:+Wenn Sie Ihre Sandbox ​unter SLES bauen möchten, werden Sie feststellen,​ dass es für SUSE-Linuxe das Paket **mklibs** nicht gibtAbhilfe schaft ein gleichnamiges Shellscript[[https://​github.com/​blunderer/​mklibs]] 
 +==== Zarafa-Pakete herunterladen und entpacken ====
  
-<​code>​127.0.0.1            localhost +Benötigt wird die zur installierten VM passende Zarafa Free-Edition,​ zu finden auf dem Zarafa-Download-Server:​ http://​download.zarafa.com/community
-192.168.200.10 ​      ​invis65.invis-net.loc     ​invis65<​/code>+
  
-**Erläuterung:**+<​code>​ 
 +heinz@ubuntu:~$ wget http://​download.zarafa.com/​community/​final/​7.0/​7.0.8-35178/​zcp-7.0.8-35178-ubuntu-10.04-x86_64-free.tar.gz 
 +.... 
 +heinz@ubuntu:​~$ tar -xzvf zcp-7.0.8-35178-ubuntu-10.04-x86_64-free.tar.gz 
 +</​code>​
  
-**//​smbmount//​** fragt die /etc/hosts nach der IP des Servers ab und gibt sich mit der ersten zutreffenden Antwort zufrieden. Wenn dies mit 127.0.0.2 beantwortet wird und Samba mit der Option "bind interfaces only" an bestimmte IPs gebunden ist, verweigert es einfach den Mount-Versuch.+==== Zarafa-Pakete installieren ====
  
-Gibt man in der Freigaben-Konfiguration ​von Group-e statt des Hostnamens ​die IP-des Samba-Servers einfunktioniert ​es immer+In diesem Schritt müssen vorbereitend einige Zarafa-Pakete installiert werden. Benötigt werden:  
 + 
 +  * zarafa-licensed 
 +  * zarafa-common 
 +  * zarafa-client 
 +  * zarafa-server 
 + 
 +<​code>​ 
 +heinz@ubuntu:​~$ cd zcp-7.0.8-35178-ubuntu-10.04-x86_64/​ 
 +heinz@ubuntu:​~/​zcp-7.0.8-35178-ubuntu-10.04-x86_64$ sudo dpkg -i zarafa-licensed_7.0.8-35178_amd64.deb zarafa-common_7.0.8-35178_amd64.deb zarafa-client_7.0.8-35178_amd64.deb zarafa-server_7.0.8-35178_amd64.deb 
 +</​code>​ 
 + 
 +Es ist nicht notwendig vorherige Versionen zu deinstallieren,​ das erledigt //​**dpkg**//​ automatisch. 
 + 
 +==== Sandbox aufbauen ==== 
 + 
 +Vor dem Bau einer neuen Sandbox sollte die Ubuntu (oder was auch immer) Version aktualisiert werden: 
 + 
 +<​code>​ 
 +heinz@ubuntu:​~$ sudo apt-get update 
 +heinz@ubuntu:​~$ sudo apt-get upgrade 
 +</​code>​ 
 + 
 +Jetzt muss eine entsprechende Verzeichnisstruktur erzeugt werden. Eingerichtet wird diese (weitgehend FHS-konform) unter "/​opt":​ 
 + 
 +<​code>​ 
 +heinz@ubuntu:​~$ sudo mkdir -p /​opt/​zarafa-licensed-7.0.8/​lib 
 +heinz@ubuntu:​~$ sudo mkdir -p /​opt/​zarafa-licensed-7.0.8/​bin 
 +</​code>​ 
 + 
 +Anschließend werden die benötigten Zarafa-Komponenten in diese Verzeichnisse kopiert: 
 + 
 +<​code>​ 
 +heinz@ubuntu:​~$ sudo cp -p /​usr/​bin/​zarafa-licensed /​opt/​zarafa-licensed-7.0.8/​bin/​ 
 +heinz@ubuntu:​~$ sudo cp -p /​usr/​bin/​zarafa-report /​opt/​zarafa-licensed-7.0.8/​bin/​ 
 +heinz@ubuntu:​~$ sudo cp -p /​usr/​bin/​zarafa-ssm /​opt/​zarafa-licensed-7.0.8/​bin/​ 
 +heinz@ubuntu:​~$ sudo cp -p /​usr/​lib/​libzarafaclient.so /​opt/​zarafa-licensed-7.0.8/​lib 
 +</​code>​ 
 + 
 +Abschließend müssen alle von "​zarafa-licensed"​ benötigten System-Libraries ​in der Sandbox installiert werden: 
 + 
 +<​code>​ 
 +sudo mklibs-copy -d /​opt/​zarafa-licensed-7.0.8/​lib/​ /​opt/​zarafa-licensed-7.0.8/​bin/​* 
 +</​code>​ 
 + 
 +Ist dies abgeschlossen,​ kann die Verzeichnisstruktur in ein tar.gz-Archiv gepackt und auf den Zielserver verfrachtet werden. Empfehlenswert ist es natürlich sich für openSUSE ein init-Script zum Start des Dienstes zu erzeugen und auch die Konfigurationsdatei <​file>/​etc/​zarafa/​licensed.cfg</​file>​ auf den Zielserver zu kopieren. 
 + 
 +Auf dem Zielserver muss noch das Verzeichnis <​file>/​etc/​zarafa/​license</​file>​ angelegt werden. Hierin werden erworbene Lizenzschlüssel geschrieben. Ohne Lizenzschlüssel können mit laufendem License-Daemon aber immerhin 3 Outlook-Clients angebunden werden, was somit der Free-Edition entspricht. 
 + 
 +//​**Hinweis:​** Fertige Pakete (zld4invis) für den License-Daemon auf invis-Servern stehen unter **[[http://​invis.invis-server.org/​index.php?​page=invis-7-2]]** zum Download bereit. Sie enthalten bereits alle notwendigen Komponenten inkl. init-Script.//​ 
 +===== Linux-Clients und NFS-Fileserver ===== 
 +Die Gruppen-basierte Zusammenarbeit auf einem Linux-Fileserver gestaltet sich schwierig, wenn diese per NFS auf den Fileserver zugreifen. Zwar lassen sich mit gesetztem SGID-Bit auf den Freigabe-Verzeichnissen Gruppen-Besitzrechte auf alle Objekte im Ordner vererben, nicht aber die Zugriffsrechte. Letztere sind von der "​umask"​ abhängig. 
 + 
 +Auf openSUSE-Systemen ist die vorgegebene umask "​022",​ was bedeutet, das neu angelegte Dateien und Verzeichnisse für die besitzende Gruppe kein Schreibrecht gewähren:​ 
 + 
 +<​code>​ 
 +Verzeichnis 
 +         | u | g | o | 
 +---------------------- 
 +Default ​ | 7 | 7 | 7 | 
 +umask    | 0 | 2 | 2 | 
 +---------------------- 
 +Ergebnis | 7 | 5 | 5 | = rwx,​r-x,​r-x 
 + 
 +Datei 
 +Default ​ | 6 | 6 | 6 | 
 +umask    | 0 | 2 | 2 | 
 +---------------------- 
 +Ergebnis | 6 | 4 | 4 | = rw-,​r--,​r-- 
 +</​code>​ 
 + 
 +Um pauschal auch für die besitzende Gruppe Schreibrecht zu gewähren muss die umask auf den Wert "​002"​ geändert werden: 
 + 
 +<​code>​ 
 +Verzeichnis 
 +         | u | g | o | 
 +---------------------- 
 +Default ​ | 7 | 7 | 7 | 
 +umask    | 0 | 0 | 2 | 
 +---------------------- 
 +Ergebnis | 7 | 7 | 5 | = rwx,​rwx,​r-x 
 + 
 +Datei 
 +Default ​ | 6 | 6 | 6 | 
 +umask    | 0 | 0 | 2 | 
 +---------------------- 
 +Ergebnis | 6 | 6 | 4 | = rw-,​rw-,​r-- 
 +</​code>​ 
 + 
 +Die umask ist prinzipiell Benutzer-bezogen. Sie kann an mehreren Stellen im System geändert werden. Wichtig dabei ist, dass die Änderung auf dem Fileserver-Client wirksam ist. Eine Änderung auf dem Server selbst, etwa in /​etc/​profile o.ä. bleibt wirkungslos. 
 + 
 +Da openSUSE mit dem "​pam_umask"​ Modul arbeitet, kann die umask auch in den Einstellungen der einzelnen Benutzerkonten vorgenommen werden. Eingetragen wird eine persönliche umask in das "​Gecos-Feld"​. Hier ein Auszug aus einer entsprechend angepassten passwd-Datei:​ 
 + 
 +<​code>​ 
 +... 
 +stefan:​x:​10000:​100:​Stefan Schäfer,​umask=002:/​local/​home/​stefan:/​bin/​bash 
 +... 
 +</​code>​ 
 + 
 +Da invis Server eine LDAP-basierte zentrale Benutzerverwaltung anbieten, **muss** die gezeigte Anpassung selbstverständlich im LDAP-Verzeichniseintrag der einzelnen Benutzer vorgenommen werden. 
 + 
 +Melden Sie sich dazu über den Link "​Verzeichnisdienst"​ auf der Administrationsseite ​des Portals am LDAP-Verzeichnis an und ändern Sie das Feld "​gecos"​ betroffenen Benutzereinträge wie folgt ab: 
 + 
 +DN: uid=**username**,​ou=Users,​ou=Benutzerverwaltung,​dc=**invis-net**,​dc=loc 
 + 
 +Von: "​System User" zu "​System User,​umask=002"​ 
 + 
 +Ab invis Version 6.7-R3 entspricht dies der Vorgabe, wenn Benutzer über das invis-Portal angelegt werden. Die Vorgabe kann in der Datei "/​srv/​www/​htdocs/​portal/​config.php"​ an die eigenen Wünsche angepasst werden. 
 + 
 +===== Speicherüberlauf Cyrus Index-DB ===== 
 + 
 +Cyrus IMAP speichert die den Mailboxen zugehörigen Index-Datenbanken unter /​var/​lib/​imap im Berkeley-DB (sleepycat) Format ab. Die für dieses Format übliche Konfigurationsdatei "​DB_CONFIG"​ fehlt im Verzeichnis /​var/​lib/​imap/​db. Das bedeutet, dass die Datenbank mit Standardwerten betrieben wird. Es kann vorkommen, das der per Default vorgegebene für die Datenbanken zur Verfügung stehende maximale Speicherplatz überschritten wird. Die Folge ist, dass Cyrus die weitere Annahme in die von ihm verwalteten Postfächer verweigert. 
 + 
 +Dieser Fehler äußert sich in /​var/​log/​messages mit folgenden Zeilen: 
 + 
 +<​code>​ 
 +Feb 21 11:01:47 invis5bio lmtpunix[1802]:​ DBERROR db4: Logging region out of memory; you may need to increase its size 
 +Feb 21 11:01:47 invis5bio lmtpunix[1802]:​ DBERROR: opening /​var/​lib/​imap/​deliver.db:​ Cannot allocate memory 
 +Feb 21 11:01:47 invis5bio lmtpunix[1802]:​ DBERROR: opening /​var/​lib/​imap/​deliver.db:​ cyrusdb error 
 +Feb 21 11:01:47 invis5bio lmtpunix[1802]:​ FATAL: lmtpd: unable to init duplicate delivery database 
 +Feb 21 11:01:47 invis5bio master[17315]:​ service lmtpunix pid 1802 in READY state: terminated abnormally 
 +</​code>​ 
 + 
 +Behoben werden kann dieser Fehler durch erzeugen einer Konfigurationsdatei für die Berkeley-DB unter dem Namen "​DB_CONFIG"​ in /​var/​lib/​imap/​db:​ 
 + 
 +<​code>​ 
 +set_cachesize 0 2097152 1 
 + 
 +# Data Directory 
 +#​set_data_dir db 
 + 
 +# Transaction Log settings 
 +set_lg_regionmax 2097152 
 +set_lg_bsize 2097152 
 +set_lg_max 4194304 
 +set_tx_max 200 
 +set_tas_spins 1 
 +#set_lg_dir logs 
 +</​code>​ 
 + 
 +Daran anschließend ist Cyrus neuzustarten:​ 
 + 
 +<​code>​ 
 +linux:~ #/​etc/​init.d/​cyrus restart 
 +</​code>​ 
 + 
 +===== Group-e -- Passwwort ​des Benutzers "​config"​ zurück setzen ===== 
 + 
 +Das Passwort des Benutzers "​config"​ wird unabhängig von der generellen Benutzerverwaltung in Group-e immer in der MySQL-Datenbank verwaltet. Um es zurückzusetzen muss eine SQL-Anweisung über das MySQL-Komandozeilen Frontend abgesetzt werden: 
 + 
 +<​code>​ 
 +linux:~ # mysql -u root -p 
 + 
 +... 
 + 
 +mysql> use groupe; 
 +Database changed 
 +mysql> UPDATE `ModulCfg` SET `CfgVal`=MD5( '​config'​ ) WHERE `ModulCfg`.`FKModul`='​global'​ AND `ModulCfg`.`FKCfgKey`='​cfg/​pwd'​ AND `ModulCfg`.`FKObjID`=0;​ 
 +Query OK1 row affected (0.01 sec) 
 +Rows matched: 1  Changed: 1  Warnings: 0 
 + 
 +mysql> quit 
 +Bye 
 +linux:~ #  
 +</​code>​ 
 + 
 +Danach kann man sich wieder als Benutzer "​config"​ mit dem Passwort "​config"​ anmelden. 
 + 
 +===== OpenVPN ===== 
 + 
 +Damit openVPN genutzt werden kann, wird eine CRL (Certificate Revocation List) benötigt. Auf älteren Installationen wird diese Datei nicht automatisch angelegt (Seit invis Version 9.2) ist dies der Fall), auch findet sich in den easy-RSA Tools kein Script um eine solche CRL zu erzeugen. Sie muss also manuell mittels //​**openssl**//​ erzeugt werden. 
 + 
 +Zunächst muss die auf dem System vorhandene OpenSSL-Version ermittelt werden. Für diesen Zweck gibt es ein vorgefertigtes Script: 
 + 
 +<​code>​ 
 +invis:/​etc/​openvpn/​invis-server.loc # ./​whichopensslcnf  
 +/​openssl-1.0.0.cnf 
 +************************************************************** 
 +  No /​openssl-1.0.0.cnf file could be found 
 +  Further invocations will fail 
 +************************************************************** 
 +</​code>​ 
 + 
 +Auch wenn die ausgegebene Meldung auf einen Fehler hindeutet, so liegt nahe, dass hier openSSL in Version 1.0.0 installiert ist und auf die in der Ausgabe genannte Konfigurationsdatei zurückgegriffen werden muss. Das Erstellen der CRL sieht dann wie folgt aus: 
 + 
 +<​code>​ 
 +invis:/​etc/​openvpn/​invis-server.loc # openssl ca -config ./​openssl-1.0.0.cnf -gencrl -keyfile ./​keys/​ca.key -cert ./​keys/​ca.crt -out ./keys/crl.pem 
 +</​code>​
  
 +Danach ist im Unterverzeichnis "​keys"​ die Datei "​crl.pem"​ zu finden, auf die in der OpenVPN Konfiguration bezug genommen wird.
 ===== Nein Danke Zensursula ===== ===== Nein Danke Zensursula =====
 **Achtung, der folgende Text ist nicht ganz neutral. Er enthält persönliche Meinugsäußerungen. Ich bitte dies zu entschuldigen.** **Achtung, der folgende Text ist nicht ganz neutral. Er enthält persönliche Meinugsäußerungen. Ich bitte dies zu entschuldigen.**
Zeile 99: Zeile 285:
 Das Beispiel zeigt den Deeplink-Schutz für das Verzeichnis von phpMyAdmin. Sie müssen lediglich die Domain-Namen an Ihre Gegebenheiten anpassen und den Apache neustarten. Danach sind die geschützten Applikationen nur noch über das invis-Portal erreichbar. Das Beispiel zeigt den Deeplink-Schutz für das Verzeichnis von phpMyAdmin. Sie müssen lediglich die Domain-Namen an Ihre Gegebenheiten anpassen und den Apache neustarten. Danach sind die geschützten Applikationen nur noch über das invis-Portal erreichbar.
  
-Die gezeigten Einträge ​werden ​ab invis Release 6.6-R4 generell für alle Applikationen Standard ​sein.+ 
 +Die gezeigten Einträge ​sind ab invis Release 6.6-R4 generell für alle Applikationen Standard. 
 + 
 +===== Faxgate-Client unter Linux nutzen ===== 
 + 
 +Um den Faxgate-Client unter Linux nutzen zu können sind ein paar Kleinigkeiten zu beachen: 
 + 
 +  - Die Firewall des Linux-Clients muss Port 50000/TCP geöffnet haben. 
 +  - Die "​.jar"​ Datei ist mittels der Befehlszeile "java -jar FaxgateClient.jar"​ zu starten. Das lässt sich ja unter KDE oder Gnome als fertiges Icon auf den Desktop legen. 
 +  - In der hosts-Datei von Client und Server sollten trotz funktionierendem DNS in Einträgen mit der IP "​127.0.0.2"​ stattdessen die realen IP-Adressen verwendet werden. 
 +  - Da unter Linux nicht unter fremder Benutzerkennung gedruckt werden kann, muss für jeden Fax-Benutzer Serverseitig eine Fax-Konfiguration via YaST erzeugt werden. Wird dort die MSN für eingehende Faxe nicht eingetragen,​ kann dieser Eintrag nur für den Faxversand genutzt werden. Der Faxempfang kann so weiterhin über die Benutzerkennung "​fax"​ erfolgen. D.h. alle Faxe landen im speziellen Faxpostfach und sind für alle Nutzer lesbar. 
 + 
  
  • tipps_und_tricks.txt
  • Zuletzt geändert: 2018/12/15 14:05
  • von flacco