hi
also ich hab nach langem hin und her endlich horde mit imp zum laufen gebracht.
also ich geb dir mal einen kleinen überblick wie ich das gemacht hab.
ich hab diesbezüglich auch nichts gescheitetes gefunden.
als erstes hab ich mit SSL angefangen, weil imp auf meinen firmen servern
läuft und meine mitarbeiter sich dadurch etwas sicherer fühlen.
SSL
./config
make
make test
make install
MOD_SSL
./configure --with-apache=../pfad_zu_den_apache_sourcen
PERL
perl Makefile.PL EVERYTHING=1
APACHE_SRC=../pfad_zu_den_apache_sourcen/src
USE_APACI=1
PREP_HTTPD=1
DO_HTTPD=1
make
make install
APACHE im DSO Modus
SSL_BASE=../pfad_zu_openssl ./configure
--enable-module=ssl
--prefix=/usr/local/httpd
--enable-rule=SHARED_CORE
--enable-module=so
--enable-shared=ssl
--activate-module=src/modules/perl/libperl.a
--enable-module=perl
make
make certificate TYPE= dummy ODER test
make install
dann PHP 4
./configure --with-apxs=/usr/local/httpd/bin/apxs
--with-xml --> für imp/horde erforderlich
--with-imap --> für imp/horde erforderlich
--enable-versioning
--enable-ftp
--with-ldap --> bei verwendung ldap 1.xx inst.
--with-gettetext --> für imp/horde erforderlich bei suse in der serie N
--enable-trans-sid
--with-mcrypt=/usr/local --> für imp/horde erforderlich bei suse in der serie N
--with-imap --> für imp/horde erforderlich bei suse in der serie N
--with-imap-ssl=/usr/local/ssl --> für imp/horde erforderlich ohne gibt es eine fehlermeldung
--with-ssl --> für ssl erforderlich sonst läuft apache nicht
--with-snmp --> für imap brauchbar
--enable-track-vars=yes
--enable-memory-limit=yes -->optional
make
make install
dann muss noch die httpd.conf von apache geändert werden:
für cgi, php4 und perl
1. erhöht etwas die sicherheit
Code:
#
# DocumentRoot: The directory out of which you will serve your
# documents. By default, all requests are taken from this directory, but
# symbolic links and aliases may be used to point to other locations.
#
DocumentRoot "/usr/local/httpd/htdocs"
#
# Each directory to which Apache has access, can be configured with respect
# to which services and features are allowed and/or disabled in that
# directory (and its subdirectories).
#
# First, we configure the "default" to be a very restrictive set of
# permissions.
#
Directory /
Options -FollowSymLinks +Multiviews
AllowOverride None
/Directory
2. zum ausführen von perl/cgi und php4
Code:
#
# This may also be "None", "All", or any combination of "Indexes",
# "Includes", "FollowSymLinks", "ExecCGI", or "MultiViews".
#
# Note that "MultiViews" must be named *explicitly* --- "Options All"
# doesn't give it to you.
#
Options Indexes -FollowSymLinks +Includes MultiViews +ExecCGI
3. damit auch index.php usw angezeigt wird
Code:
#
# DirectoryIndex: Name of the file or files to use as a pre-written HTML
# directory index. Separate multiple entries with spaces.
#
IfModule mod_dir.c
DirectoryIndex index.html index.php index.htm index.php3
/IfModule
4. kleine sicherheitslücke vermeiden
Code:
#Alias /manual/ "/usr/local/httpd/htdocs/manual/"
#Directory "/usr/local/httpd/htdocs/manual"
# Options Indexes FollowSymlinks MultiViews
# AllowOverride None
# Order allow,deny
# Allow from all
#/Directory
5. sonst wird cgi/perl nur unter dem apache cgi-bin aufgeführt
Code:
#ScriptAlias /cgi-bin/ "/usr/local/httpd/cgi-bin/"
#
# "/usr/local/httpd/cgi-bin" should be changed to whatever your ScriptAliased
# CGI directory exists, if you have that configured.
#
#Directory "/usr/local/httpd/cgi-bin"
# AllowOverride None
# Options None
# Order allow,deny
# Allow from all
#/Directory
6. damit apache auch php und perl überhaupt startet
Code:
Location /cgi-bin
AllowOverride None
Options +ExecCGI -Includes
SetHandler cgi-script
IfDefine PERL
AddHandler perl-script .pl
PerlHandler Apache::Registry
PerlSendHeader On
/IfDefine
/Location
7. damit apache weiß wie er mit php endungen umzugehen hat
Code:
AddType application/x-httpd-php .php .php2 .php3 .php4
AddType Application/x-httpd-php-source .phps
8. damit apache weiß welche endungen zu perl/cgi gehören
Code:
AddHandler cgi-script .cgi
AddHandler cgi-script .pl
9. die sektionen "server-satus" und "server-info" ausser betrieb nehmen --> wegen der sicherheit.
das solltes es gewesen sein.
jetzt nach /inst_pfad_für_apache wechseln und apache starten
für apache mit ssl --> ./apachectl startssl
für apache ohne ssl --> ./apachectl start
wenn du apache mit SSL und php4 übersetzt hast kann es vorkommen das apache die fehlermeldung
Code:
[Sat May 11 19:22:01 2002] [warn]
Loaded DSO libexec/libphp4.so uses plain Apache 1.3 API,
this module might crash under EAPI! (please recompile it with -DEAPI)
/usr/local/httpd/bin/apachectl startssl: httpd started
auswirft.
keine sorge er läuft trotzdem einwandfrei.
das hat so weit ich weiß mit perl zu tun, ich bin noch dabei das zu testen.
bin aber nocht nicht dazu gekommen, ich war froh das ich imp/horde zum laufen bekommen hab.
dann von Horde
einmal Horde 2.0
und IMP 3.0 holen.
im apache docroot einen ordner erstellen der horde heist
und horde 2.0 reinkopieren.
dann im ordner horde einen ordner imp erstellen und imp 3.0 reinkopieren.
dann auf der konsole
mysqladmin create horde
dann nach /horde/scripts/db wechseln
mit einem editior die datei mysql_create.sql öffnen
und die zeile:
Code:
CREATE DATABASE horde;
auskommentieren. sonst schmeist sql eine fehlermeldung beim einlesen der datei aus.
dann auf der konsole
mysql horde < mysql_create.sql
eigentlich sollte keine fehlermeldung erscheinen.
jetzt mysql neustarten.
jetzt in den ordner /horde/config wechseln
alle dateien die ...php.dist heissen ohne "dist" kopieren, oder umbenenen.
das gleich unter /horde/imp/config
jetzt die datei horde.php mit einem editor öffnen und unter "Horde Authentication"
nach dem BACKEND suchen
Code:
// What backend should we use for authenticating users to Horde? Valid
// options are currently 'imap', 'ldap', 'mcal', 'sql', and 'ftp'.
$conf['auth']['driver'] = 'sql';
wenn du sql ldap oder imap verwendest musst du einen entsprechenden user mit passwort haben, sonst kommst du nicht rein.
jetzt den punkt "Preference System Settings" suchen.
unter
Code:
/* This is an example configuration for a MySQL preference backend.
* Be sure to set the prefs driver to 'sql' above if you use this
* configuration.
*/
$conf['prefs']['params']['phptype'] = 'mysql';
$conf['prefs']['params']['hostspec'] = 'localhost';
$conf['prefs']['params']['username'] = 'horde';
$conf['prefs']['params']['password'] = '';
$conf['prefs']['params']['database'] = 'horde';
$conf['prefs']['params']['table'] = 'horde_prefs';
kannst die daten für den zugriff auf die horde sql datenbank einstellen.
ich hab mir dafür einen eigenen user angelegt der "horde" heißt.
das passwort hab ich mal weggelassen weill ich im moment am testen bin.
in der Datei /horde/config/registry.php kannst du noch andere services von horde akivieren, z.B. turba, kronolith.
einfach die // entfernen.
jetzt kannst du mit dem per browser versuche horde zu starten.
sollten fehler auftreten solltest du die zugriffsrechte überprüfen.
die ordner sollten 777 haben die conf dateien 444 haben. alles andere kanst du mit 666 einstellen.
Cu
Lesezeichen