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 ÜberarbeitungBeide Seiten der Revision
centos:mail_c7:horde_2 [11.09.2014 14:17. ] – [Hauptkonfigurationsdatei /usr/share/horde/config/conf.php] djangocentos:mail_c7:horde_2 [20.09.2014 21:44. ] – [Links] django
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 
  
  
Zeile 903: Zeile 620:
  
 <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 1292: Zeile 1011:
 /* CONFIG END. DO NOT CHANGE ANYTHING IN OR BEFORE THIS LINE. */ /* CONFIG END. DO NOT CHANGE ANYTHING IN OR BEFORE THIS LINE. */
 </file> </file>
 +====== Links ======
 +  * **⇐ [[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 5 WebMail Applikation: IMP unter CentOS 7.x"]]**
 +  * **[[centos:mail_c7:start|Zurück zum Kapitel >>Mailserverinstallation unter CentOS 7<<]]**
 +  * **[[wiki:start|Zurück zu >>Projekte und Themenkapitel<<]]**
 +  * **[[http://dokuwiki.nausch.org/doku.php/|Zurück zur Startseite]]**
 +
 +~~DISCUSSION~~
 +
  • centos/mail_c7/horde_2.txt
  • Zuletzt geändert: 22.07.2019 15:07.
  • von 127.0.0.1