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
centos:mail_c7:horde_2 [11.09.2014 14:18. ] – [Hauptkonfigurationsdatei /usr/share/horde/config/conf.php] djangocentos:mail_c7:horde_2 [22.07.2019 15:07. ] (aktuell) – Externe Bearbeitung 127.0.0.1
Zeile 1: Zeile 1:
 ====== Basiskonfiguration des Frameworks Horde 5 unter CentOS 7.x ====== ====== Basiskonfiguration des Frameworks Horde 5 unter CentOS 7.x ======
-Nach der erfolgreichen [[centos:mail_c7:horde_1|Installation]] von Horde machen wir uns nun an die Konfiguration unserer Installation. +Nach der erfolgreichen [[centos:mail_c7:horde_1|Installation]] von Horde machen wir uns nun an die Basiskonfiguration des Frameworks Horde 5 unter CentOS 7.x.
- +
-===== Apache vHost ===== +
-==== vHost Definition ==== +
-Für unsere WEB-Applikation richten wir uns nun einen geeigneten **[[centos:web_c7:apache_2|SSL-Name Based Virtual Host]]** ein.  +
-Im Konfigurationsverzeichnis unseres [[centos:web_c7:apache_1|Apache-Webservers 2.4]] legen wir uns eine neue vHOST-Konfigurationsdatei an. +
-   # vim /etc/httpd/conf.d/vhost_443_horde.conf +
- +
-<file apache /etc/httpd/conf.d/vhost_443_horde.conf># +
-# horde.sec-mail.guru (Horde Groupware Version 5+
-+
-<VirtualHost *:80> +
-        ServerAdmin webmaster@nausch.org +
-        ServerName horde.sec-mail.guru +
- ServerAlias xn--bro-hoa.sec-mail.guru +
-        ServerPath / +
- +
-        <Location /> +
-                Options -Indexes +FollowSymLinks +
- Require all granted +
-        </Location> +
- +
-        RewriteEngine on +
-        RewriteCond %{HTTPS} off +
-        RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} +
- +
-        DirectoryIndex index.php +
- +
-        ErrorLog logs/horde_error.log +
-        CustomLog logs/horde_access.log combined +
-</VirtualHost> +
-<VirtualHost *:443> +
-        ServerAdmin webmaster@nausch.org +
-        ServerName horde.sec-mail.guru +
-        ServerAlias xn--bro-hoa.sec-mail.guru  +
-        ServerPath / +
-        DocumentRoot "/usr/share/horde" +
- +
-        AddType application/x-httpd-php .php +
- +
- # Link to system Javascript Libraries +
- Alias /horde/js/scriptaculous     /usr/share/scriptaculous +
- Alias /horde/js/prototype.js      /usr/share/prototype/prototype.js +
- Alias /horde/js/syntaxhighlighter /usr/share/syntaxhighlighter +
- +
-        # Link to Micro$oft stuff +
-        Alias /Microsoft-Server-ActiveSync /usr/share/horde/rpc.php +
-        Alias /autodiscover/autodiscover.xml /usr/share/horde/rpc.php +
- +
-        # Django +
-        # Required, because there is a host with same ServerName and +
-        # ServerAlias LISTENING ON PORT 80, - and if these lines are +
-        # not present, and .htaccess-Files or LDAP-Access is enabled +
-        # for one or more Directory the host on PORT 443 and PORT 80 +
-        # will ASK for .htaccess ord LDAP-Access, so please remember +
-        # ---------------------------------------------------------- +
-        # -- DO NOT DELETE THE FOLLOWING LINES, STARTING WITH SSL -- +
-        # --         WHEN USING .htaccess or LDAP-Access!         -- +
-        # ---------------------------------------------------------- +
-        SSLEngine on +
- SSLProtocol -ALL +SSLv3 +TLSv1 +
- SSLCipherSuite EECDH+AES256:DHE+AES256:EECDH+AES:EDH+AES:-SHA1:EECDH+RC4:EDH+RC4:RC4-SHA:AES256-SHA:!aNULL:!eNULL:!EXP:!LOW:!MD5 +
- SSLHonorCipherOrder on +
-        SSLCertificateFile /etc/pki/tls/private/CAcert-class3-wildcard.crt +
-        SSLCertificateKeyFile /etc/pki/tls/private/ca.key +
-        SSLCertificateChainFile /etc/pki/tls/private/CAcert_chain.crt +
- +
- <Directory /usr/share/horde/> +
-                <IfModule mod_authz_core.c> +
-                        # Access-stuff (Zugriff von überall erlauben.) +
-                #Require all granted +
-                        # Access-stuff (Zugriff nur vom Admin-Netz aus!) +
- Require host nausch.org +
-                </IfModule> +
-                Options All +
- AllowOverride All +
- +
-                # Rewrite the requestet URI, when it is with german "Umlaute"+
-                RewriteEngine On +
-                RewriteCond %{REQUEST_URI} ^/$ +
-                RewriteCond %{HTTP_HOST} ^xn--bro-hoa.sec-mail.guru$ [NC] +
-                RewriteRule ^$ https://horde.sec-mail.guru [L,R=301] +
- +
-                # Exclude file from password protection +
-                SetEnvIf Request_URI "(rpc.php)$"  allow +
-                SetEnvIf Request_URI "(rpc.php/turba/mailsystem/)$"  allow +
-                SetEnvIf Request_URI "(rpc.php/nag/mailsystem/)$" allow +
-                SetEnvIf Request_URI "(sapi/profile/client)$"  allow +
-                SetEnvIf Request_URI "(devinfo)$"  allow +
-                SetEnvIf Request_URI "(Microsoft-Server-ActiveSync)$"  allow +
- +
-                # ActiveSync +
-                RewriteEngine On +
-                RewriteRule ^/Microsoft-Server-ActiveSync /rpc.php [PT,L,QSA] +
-                RewriteRule .* - [E=HTTP_MS_ASPROTOCOLVERSION:%{HTTP:Ms-Asprotocolversion}] +
-                RewriteRule .* - [E=HTTP_X_MS_POLICYKEY:%{HTTP:X-Ms-Policykey}] +
-                RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}] +
- </Directory> +
- +
-        # Deny access to the test.php files except from localhost +
-        <LocationMatch "^/horde/(.*/)?test.php"> +
- Require local +
-        </LocationMatch> +
- +
-        # Deny access to directories that are not served directly by the webserver +
-        <DirectoryMatch "^var/www/horde/(.*/)?(config|lib|locale|po|scripts|templates)/(.*)?"> +
-                Require all denied +
-        </DirectoryMatch> +
- +
- <Directory /usr/share/horde/rpc> +
- <IfModule mod_rewrite.c> +
- RewriteEngine On +
- RewriteCond   %{REQUEST_FILENAME}  !-d +
- RewriteCond   %{REQUEST_FILENAME}  !-f +
- RewriteRule   ^(.*)$ index.php/$1 [QSA,L] +
-  </IfModule> +
- </Directory> +
- +
-        DirectoryIndex index.php +
-        ErrorLog logs/horde_error.log +
-        CustomLog logs/horde_access.log combined +
-</VirtualHost> +
-</file> +
- +
-<WRAP round important>**Wichtig:** +
- +
-Solange wir unseren vHost noch nicht in der Produktionsumgebung steht und fertig konfiguriert wurde, beschränken wir den Zugriff auf den vHost noch. Hierzu tragen wir in der **Directive //Directory//** folgendes ein: +
-<code apache>... +
-                <IfModule mod_authz_core.c> +
-                        # Access-stuff (Zugriff von überall erlauben.) +
-                #Require all granted +
-                        # Access-stuff (Zugriff nur vom Admin-Netz aus!) +
- Require host nausch.org +
-                </IfModule> +
-... +
-</code> +
-Nach erfolgter Konfiguration, geben wir dann den Zugriff für alle frei. +
-<code apache>... +
-                <IfModule mod_authz_core.c> +
-                        # Access-stuff (Zugriff von überall erlauben.) +
-                Require all granted +
-                        # Access-stuff (Zugriff nur vom Admin-Netz aus!) +
- #Require host nausch.org +
-                </IfModule> +
-... +
-</code> +
-</WRAP> +
- +
-==== Konfiguration aktivieren ==== +
-Bevor unseren Webserver starten, damit der neue vHost auch bedient werden kann, überprüfen wir die Konfiguration noch auf syntaktische Fehler. +
-   # apachectl -t +
- +
-   Syntax OK +
- +
-Abschließend führen wir einen Reload sdes Daemon durch. +
-   # systemctl reload httpd.service +
- +
-Bei Bedarf können wir auch den Status des Apche Webservers abfragen. +
-   # systemctl status httpd.service +
- +
-<code>httpd.service - The Apache HTTP Server +
-   Loaded: loaded (/usr/lib/systemd/system/httpd.service; disabled) +
-   Active: active (running) since Tue 2014-09-09 18:26:47 CEST; 1 day 15h ago +
-  Process: 20019 ExecStop=/bin/kill -WINCH ${MAINPID} (code=exited, status=0/SUCCESS) +
-  Process: 22718 ExecReload=/usr/sbin/httpd $OPTIONS -k graceful (code=exited, status=0/SUCCESS) +
- Main PID: 20024 (httpd) +
-   Status: "Total requests: 0; Current requests/sec: 0; Current traffic:   0 B/sec" +
-   CGroup: /system.slice/httpd.service +
-           ├─20024 /usr/sbin/httpd -DFOREGROUND +
-           ├─22721 /usr/sbin/httpd -DFOREGROUND +
-           ├─22722 /usr/sbin/httpd -DFOREGROUND +
-           ├─22723 /usr/sbin/httpd -DFOREGROUND +
-           ├─22724 /usr/sbin/httpd -DFOREGROUND +
-           └─22725 /usr/sbin/httpd -DFOREGROUND +
- +
-Sep 10 19:45:20 vml000097.dmz.nausch.org systemd[1]: Reloading The Apache HTTP Server. +
-Sep 10 19:45:21 vml000097.dmz.nausch.org systemd[1]: Reloaded The Apache HTTP Server. +
-</code> +
- +
-===== mySQL Datenbank ===== +
-Ein Großteil der Benutzer-Konfigurationsdaten werden in einer **[[centos:mysql|mySQL-Datenbank]]** /* FIXME */ gespeichert und vorgehalten.  +
- +
-==== Datenbank anlegen ==== +
-Diese **[[centos:mysql|mySQL-Datenbank]]** /* FIXME */ und der zugehörige Datenbankuser werden wird nun im ersten Schritt anlegen. +
- +
-Wir melden uns also als berechtigter Datenbankuser an der mySQL-Datenbank an. +
-    # mysql -h mysql.dmz.nausch.org -u root -p +
- +
-<code>Enter password:  +
-Welcome to the MySQL monitor.  Commands end with ; or \g. +
-Your MySQL connection id is 217075 +
-Server version: 5.1.73 Source distribution +
- +
-Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved. +
- +
-Oracle is a registered trademark of Oracle Corporation and/or its +
-affiliates. Other names may be trademarks of their respective +
-owners. +
- +
-Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. +
- +
-mysql> +
-</code> +
-Dort legen wir als aller erst einmal eine Datenbank mit dem Namen **horde** an. +
-   mysql> create database horde5; +
- +
-   Query OK, 1 row affected (0.00 sec) +
- +
-==== Datenbankuser anlegen ==== +
-Anschließend legen wir uns einen Datenbankuser an, denen wir entsprechende Rechte an der, gerade angelegten Datenbank **horde** einräumen. Als Namen nehme wir einfach **hode_admin_user**. +
- +
-   mysql> CREATE USER 'horde_admin_user'@'10.0.0.97' IDENTIFIED BY 'rbgsDK39DeM2b2btx9iMHfzd'; +
- +
-   Query OK, 0 rows affected (0.00 sec) +
- +
-und +
-   mysql> CREATE USER 'horde_admin_user'@'vml000097.dmz.nausch.org' IDENTIFIED BY 'rbgsDK39DeM2b2btx9iMHfzd'; +
- +
-   Query OK, 0 rows affected (0.00 sec) +
- +
-==== Nutzerberechtigungen setzen ==== +
-Dem gerade angelebtem Datenbankuser für **[[http://horde.org|Horde]]** gewähren wir nun die nötigen Rechte, damit dieser vom Webserver aus, Tabellen anlegen, befüllen und verändern darf. +
-   mysql> GRANT ALL PRIVILEGES ON horde5.* TO 'horde_admin_user'@'10.0.0.97' IDENTIFIED BY 'rbgsDKMS39DeM2b2btx9iMHfzd' WITH GRANT OPTION MAX_QUERIES_PER_HOUR 0 MAX_CONNECTIONS_PER_HOUR 0 MAX_UPDATES_PER_HOUR 0 MAX_USER_CONNECTIONS 0; +
- +
- +
-   Query OK, 0 rows affected (0.00 sec) +
- +
-und +
-   mysql> GRANT ALL PRIVILEGES ON horde5.* TO 'horde_admin_user'@'vml000097.dmz.nausch.org' IDENTIFIED BY 'rbgsDKMS39DeM2b2btx9iMHfzd' WITH GRANT OPTION MAX_QUERIES_PER_HOUR 0 MAX_CONNECTIONS_PER_HOUR 0 MAX_UPDATES_PER_HOUR 0 MAX_USER_CONNECTIONS 0; +
- +
-   Query OK, 0 rows affected (0.00 sec)  +
- +
-==== Nutzerberechtigungen zuweisen ==== +
-Zum Ende unserer mySQL-Userkonfiguration weisen wir unserem Nutzer die Berechtigungen zu. +
-   mysql> FLUSH PRIVILEGES; +
- +
-   Query OK, 0 rows affected (0.00 sec) +
- +
-Wir können uns nun vom Datenbank-Server wieder abmelden. +
-   mysql> quit +
- +
-   Bye +
- +
-==== Zugriff testen ==== +
-Als nächstes überprüfen wir, ob der zuvor angelegt User/Zugang vom WEB-Server aus auch funktioniert.  +
-     # mysql -D horde5 -h mysql.dmz.nausch.org -u horde_admin_user -p +
-<code>Enter password:  +
-Welcome to the MariaDB monitor.  Commands end with ; or \g. +
-Your MySQL connection id is 217265 +
-Server version: 5.1.73 Source distribution +
- +
-Copyright (c) 2000, 2014, Oracle, Monty Program Ab and others. +
- +
-Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. +
- +
-MySQL [horde5]> +
-</code> +
-Die Verbindung klappt schon mal, daher lassen wir uns mal ansehen, welche Datenbanken der administrative Horde-User sehen kann. +
- +
-    +
-MySQL [horde5]> show databases; +
-<code>+--------------------+ +
-| Database           | +
-+--------------------+ +
-| information_schema | +
-| horde5             | +
-+--------------------+ +
-2 rows in set (0.01 sec) +
- +
-MySQL [horde5]> +
-</code> +
-Auch dieser Test fiel positiv aus, wir können uns daher die Verbindung zum Datenbank-Server beenden und uns der weiteren konfiguration widmen. +
-   MySQL [horde5]> quit +
- +
-   Bye +
- +
- +
-===== vorbereitende Konfiguration ===== +
-Die Konfiguration von Horde, wie auch den nachfolgenden Module/Projects, erfolgt über die GUI des Horde-Framworks. Bevor wir uns daran machen können, benötigen wir noch eine entsprechende (//leere//) Backupdatei für die mitgelieferte Vorgabekonfigurationsdatei. Ferner müssen wir dafür sorgen, dass unser Apache-Webserver die Änderungen im Konfigurationsverzeichnis ablegen kann. +
- +
-Zunächst legen wir uns die besagte Backup-Datei für die Konfiguration an. +
-   # touch /usr/share/horde/config/conf.php.bak +
- +
-Dann weisen wir noch die Datei und Besitzrechte für die Konfigurationsdatei- und dessen Verzeichnis zu. +
-   # chown -R root:apache /usr/share/horde/config +
- +
-   # chmod g+w -R /usr/share/horde/config +
  
 ===== Konfiguration über die WEB-GUI ===== ===== Konfiguration über die WEB-GUI =====
Zeile 903: Zeile 616:
  
 <WRAP center round tip> <WRAP center round tip>
-Damit das Horde-Framework die caching-Daten in das Verzeichnis //**/usr/share/horde/static/**// schreiben kann, passen wir dessen Verzeichnisrechte an!+Damit das Horde-Framework die caching-Daten in das Verzeichnis //**/usr/share/horde/static/**// schreiben kann, passen wir dessen Verzeichnisrechte und -berechtigungen an!
    # chown root.apache /usr/share/horde/static/    # chown root.apache /usr/share/horde/static/
 +
 +   # chmod 775 /usr/share/horde/static/
 </WRAP> </WRAP>
  
Zeile 1293: Zeile 1008:
 </file> </file>
 ====== Links ====== ====== Links ======
-  * **⇐ [[centos:mail_c7:horde_1|Zurück zum Kapitel "Grundinstallation - und Konfiguration von Horde"]]** +  * **⇐ [[centos:mail_c7:horde_1|Zurück zum Kapitel "Horde Framework 5 unter CentOS 7.x Grundinstallation und Konfiguration"]]** 
-  * **⇒ [[centos:mail_c7:horde_3|Weiter zum Kapitel "Horde Applikation Imp (Webmail) konfigurieren"]]**+  * **⇒ [[centos:mail_c7:horde_3|Weiter zum Kapitel "Horde 5 WebMail Applikation: IMP unter CentOS 7.x"]]**
   * **[[centos:mail_c7:start|Zurück zum Kapitel >>Mailserverinstallation unter CentOS 7<<]]**   * **[[centos:mail_c7:start|Zurück zum Kapitel >>Mailserverinstallation unter CentOS 7<<]]**
   * **[[wiki:start|Zurück zu >>Projekte und Themenkapitel<<]]**   * **[[wiki:start|Zurück zu >>Projekte und Themenkapitel<<]]**
   * **[[http://dokuwiki.nausch.org/doku.php/|Zurück zur Startseite]]**   * **[[http://dokuwiki.nausch.org/doku.php/|Zurück zur Startseite]]**
  
-~~DISCUSSION~~ 
  
  • centos/mail_c7/horde_2.1410445137.txt.gz
  • Zuletzt geändert: 11.09.2014 14:18.
  • von django