|
|
|
|
Horde/IMP Howto d'installazione |
: : howto di Daniele Albisetti e Giovanni Piffaretti ©2005 Elektro-Material AG |
|
|
in rosso: passaggi che riguardano unicamente Ubuntu e Debian
Il seguente Howto spiega come configurare un Linuxserver compresa la compilazione di Apache, PHP e MySQL con tutte le estensioni, i moduli e i programmi necessari all'ottimale installazione di Horde e delle applicazioni elencate qui sotto. Si presuppone che una versione di Linux sia installata e che siano pure installati i pacchetti necessari alla compilazione dei source.
L'Howto comprende le seguenti applicazioni:
- Horde 3.0.5
- IMP H3 (4.0.3)
- Ingo H3 (1.0.1)
- Kronolith H3 (2.0.3)
- Mnemo H3 (2.0.1)
- Nag H3 (2.0.2)
- Turba H3 (2.0.3)
- Chora H3 (2.0)
INSTALLAZIONE DI BASE
1. installare Linux Fedora Core o Ubuntu Linux (custom installation con develepment tools)
2. installare apt-get e se necessario configurare il proxy in /etc/apt/apt.conf
3. installare lynx e se necessario inserire il proxy in /etc/lynx.cfg
installare il nuovo Kernel (dpkg -i kernel-"versione".i386.deb) e riavviare il server
apt-get install fortunes
apt-get install automake1.9
apt-get install libmagic-dev
4. scaricare le seguenti applicazioni:
apache_1.3.33.tar.gz
apt-0.5.15cnc6-1.1.fc3.fr.i386.rpm
aspell-0.60.3.tar.gz
aspell6-de-20030222-1.tar.bz2
aspell6-en-6.0-0.tar.bz2
aspell6-it-2.2_20050523-0.tar.bz2
aspell-fr-0.50-3.tar.bz2
fortune-1.0-35.1.fc3.rf.i386.rpm
gettext-0.14.5.tar.gz
imap-2004e.tar.Z
jpegsrc.v6b.tar.gz
libiconv-1.9.1.tar.gz
libmcrypt-2.5.7.tar.gz
libpng-1.2.8.tar.gz
libxml2-2.5.11.tar.gz
lynx-2.8.5-18.i386.rpm
mod_ssl-2.8.22-1.3.33.tar.gz
mysql-standard-4.1.12-pc-linux-gnu-i686.tar.gz
openssl-0.9.7g.tar.gz
php-4.3.11.tar.gz
ssmtp_2.48.tar.gz
installare il programma which (non è presente in FC3; necessario per aspell)
zlib-1.2.2.tar.gz
5. installare zlib:
cd /usr/local; tar -zxvf zlib-1.2.2.tar.gz; ln -s zlib-1.2.2 zlib; rm zlib-1.2.2.tar.gz
cd zlib; make clean; ./configure -s; make; make install
6. installare openssl:
cd /usr/local; tar -zxvf openssl-0.9.7g.tar.gz; ln -s openssl-0.9.7g openssl; rm openssl-0.9.7g.tar.gz
cd openssl; ./Configure -prefix=/usr/local zlib; make; make test; make install
7. installare imap:
cd /usr/local; tar -zxvf imap-2004e.tar.Z; mv imap-2004e imap; rm imap-2004e.tar.Z
cd imap; make lrh (con ldb = linux debian)
mkdir /usr/local/imap-2004e; mkdir /usr/local/imap-2004e/lib; mkdir /usr/local/imap-2004e/module
cp /usr/local/imap/c-client/*.h /usr/local/imap-2004e/include
cp /usr/local/imap/c-client/*.c cp /usr/local/imap-2004e/lib
cp /usr/local/imap/c-client/c-client.a /usr/local/imap-2004e/lib/libc-client.a
8. installare libiconv:
cd /usr/local; tar -zxvf libiconv-1.9.1.tar.gz; ln -s libiconv-1.9.1 libiconv; rm libiconv-1.9.1.tar.gz
cd libiconv; ./configure; make ; make check; make install
9. installare gettext:
cd /usr/local; tar -zxvf gettext-0.14.5.tar.gz; ln -s gettext-0.14.5 gettext; rm gettext-0.14.5.tar.gz
cd gettext; ./configure -with-libiconv-prefix=/usr/local; make; make check; make install
apt-get install gettext
apt-get install gettext-base
dpkg-reconfigure locales (inserire de_DE ISO-8859-1, fr_FR ISO-8859-1, it_IT ISO-8859-1,
de_DE.UTF-8 UTF-8, fr_FR.UTF-8 UTF-8, it_IT.UTF-8 UTF-8
en_US ISO-8859-1, en_US.UTF-8 UTF-8)
10. installare libmcrypt:
cd /usr/local; tar -zxvf libmcrypt-2.5.7.tar.gz; ln -s libmcrypt-2.5.7 libmcrypt; rm libmcrypt-2.5.7.tar.gz
cd libmcrypt; ./configure; make; make check; make install
11. installare libpng:
cd /usr/local; tar -zxvf libpng-1.2.8.tar.gz; ln -s libpng-1.2.8 libpng; rm libpng-1.2.8.tar.gz
cd libpng; cp scripts/makefile.std makefile
make; make test; make install
12. installare mysql:
cd /usr/local; tar -zxvf mysql-standard-4.1.12-pc-linux-gnu-i686.tar.gz
ln -s mysql-standard-4.1.12-pc-linux-gnu-i686.tar.gz mysql
rm mysql-standard-4.1.12-pc-linux-gnu-i686.tar.gz
cd mysql
groupadd mysql
useradd -g mysql mysql
scripts/mysql_install_db --user=mysql
chown -R root
hown -R mysql data
chgrp -R mysql
vi /etc/rc.d/rc.local, aggiungere: "cd /usr/local/mysql; ./bin/mysqld_safe --user=mysql --password="
vi /etc/init.d/local inserire la linea appena mensionata
update-rc.d local default 99
chmod 755 local
cd /usr/local/bin; cp -s /usr/local/mysql/bin/mysql mysql
cd /usr/local/bin; cp -s /usr/local/mysql/bin/mysqladmin
cd /urs/local/bin; cp -s /usr/local/mysql/bin/mysqldump
mysqladmin -u root password '*******'
13. installare aspell:
cd /usr/local; tar-zxvf aspell-0.60.3.tar.gz; ln -s aspell-0.60.3 aspell; rm aspell-0.60.3.tar.gz
cd aspell
./configure; make; make install
14. installare dizionario aspell inglese:
cd /usr/local; bunzip2 aspell6-en-6.0-0.tar.bz2; tar -xvf aspell6-en-6.0-0.tar; rm aspell6-en-6.0-0.tar
./configure; make; make install
15. installare dizionario aspell tedesco:
cd /usr/local; bunzip2 aspell6-de-20030222-1.tar.bz2; tar -xvf aspell6-de-20030222-1.tar;
rm aspell6-de-20030222-1.tar
./configure; make; make install
16. installare dizionario aspell francese:
cd /usr/local; bunzip2 aspell-fr-0.50-3.tar.bz2; tar -xvf aspell-fr-0.50-3.tar; rm aspell-fr-0.50-3.tar
./configure; make; make install
17. installare dizionario aspell italiano:
cd /usr/local; bunzip2 aspell6-it-2.2_20050523-0.tar.bz2; tar -xvf aspell6-it-2.2_20050523-0.tar;
rm aspell6-it-2.2_20050523-0.tar
./configure; make; make install
18. installare jpegsrc:
cd /usr/local; tar -zxvf jpegsrc.v6b.tar.gz; ln -s jpegsrc.v6b.tar jpegsrc; rm jpegsrc.v6b.tar.gz
./configure; make; make test; make install; make install-lib
19. cd /usr/local/apache; ./configure
20. cd /usr/local; tar -zvf php-4.3.11.tar.gz; ln -s php-4.3.11 php; rm php-4.3.11.tar.gz; cd php;
./configure --with-apache --with-openssl=/usr/local --with-mcrypt=/usr/local
--with-gettext=/usr/local --with-imap=/usr/local/imap-2004e --with-psspell=/usr/local
--with-pear --with-mysql=/usr/local/mysql --with-dom=/usr/local --with-zlib
--with-zlib-dir=/usr/local/zlib --with-iconv=/usr/local --enable-mbstring=all
--enable-mbregex --with-gd --with-png-dir=/usr/local --with-jpeg-dir=/usr/local --enable-ftp
--with-ldap
make; make install
cp php.ini-dist /usr/local/lib/php.ini
vi /usr/local/lib/php.ini und das folgende einfügen / anpassen:
include_path = ".:/usr/local/lib/php"
extension_dir = "/usr/local/lib/php/extensions"
extension = fileinfo.so
extension = sqlite.so
extension = gettext.so
21. pear config-set http_proxy "http://root:******@servername:port/" (se necessario)
pear config-set preferred_state beta
pear install Auth Auth_SASL Cache DB Date File HTTP HTTP_Request Log Mail Mail_Mime
Net_SMTP Net_Socket Net_URL Net_UserAgent_Detect PEAR PHPUnit SOAP SQLite
XML_Parser XML_Serializer XML_Util Services_Weather
pear upgrade all
pear install Fileinfo
cp /usr/lib/perl5/auto/Locale/gettext/gettext.so /usr/local/lib/php/extensions/.
cd /usr/local/lib/php/extensions; cp -s /usr/local/lib/php/extensions/"no-debug-..."/fileinfo.so .
cd /usr/local/lib/php/extensions; cp -s /usr/local/lib/php/extensions/"no-debug-..."/sqlite.so .
22. cd /usr/local; tar -zcvf mod_ssl-2.8.22-1.3.33.tar.gr; ln -s mod_ssl-2.8.22-1.3.33 mod_ssl rm mod_ssl-2.8.22-1.3.33.tar.gz
./configure --with-apache=/usr/local/apache --with-ssl=/usr/local/openssl
--prefix=/usr/local/apache --activate-module=src/modules/php4/libphp4.a
23. cd /usr/local/apache; make; make install
24. vi /etc/rc.d/rc.local und "/usr/local/apache/bin/apachectl stratssl" einfügen
vi /etc/init.d/local e aggiungere "/usr/local/apache/bin/apachectl stratssl"
25. cp "/usr/local/apache/bin/apachectl /etc/init.d/httpd
26. /usr/local/apache/conf/httpd.conf anpassen:
ServerAdmin root@ (2 Mal für Ports 80 und 443)
ServerName (2 volte per le porte 80 e 443)
DocumentRoot "/var/www/html" (2 volte per le porte 80 e 443)
DirectoryIndex index.html index.php
AddType application/x-httpd-php .php
SSLCACertificateFile /usr/local/apache/conf/ssl.crt/ca.crt
27. mkdir /var/www; mkdir /var/www/html
chown -R root.nogroup /var/www/html; chmod -R 775 /var/www/html
chown -R root.nogroup /var/www/html; chmod -R 775 /var/www/html
28. installare i certificati (vedi documentazione separata per la preparazione dei certificati)
cp /root/certificates/ca.crt /usr/local/apache/conf/ssl.crt/.
cp /root/certificates/server.crt /usr/local/apache/conf/ssl.crt/.
cp /root/certificates/server.csr /usr/local/apache/conf/ssl.csr/.
cp /root/certificates/ca.key /usr/local/apache/conf/ssl.key/.
cp /root/certificates/server.key /usr/local/apache/conf/ssl.key/.
29. service httpd startssl
30. vi /var/www/html/index.html (test con un file HTML)
Aprire index.html con un browser: http://"indirizzo IP" und https://"indirizzo IP"
31. cd /var/www/html; tar -zxvf horde_DocRoot.tar.gz; rm horde_DocRoot.tar.gz
32. vi /var/www/html/horde/imp/config/motd.php anpassen:
$SERVER_SSL_URL = 'https://"indirizzo IP"/horde';
$SERVER_HTTP_URL = 'http://"indirizzo IP"/horde';
33. in /var/www/html/horde/scripts/sql/create.mysql.sql cambiare la password dello user MySQL
34. aprire tabella MySQL Horde:
mysql --user=root --password='*******' < create.mysql.sql
mysqladmin reload --user=root -p
35. modificare /var/www/html/horde/config/conf.php, aggiungere
$conf['sql']['password'] = '"MySQL horde password"';
36. aprire tabella MySQL Turba:
mysql --user=root --password='*******' horde < turba_objects.mysql.sql
mysql --user=root --password='*******' horde < turba_objects.mysql_public.sql
37. aprire tabella MySQL Kronolith Tables eröffnen:
mysql --user=root --password='*******' horde < kronolith.mysql.sql
38. aprire tabella MySQL Mnemo:
mysql --user=root --password='*******' horde < mnemo.sql
39. aprire tabelle Nag:
mysql --user=root --password='*******' horde < nag.sql
40. aggiunta in /etc/crontab per controllo dei Reminders:
*/1 * * * * apache /usr/local/bin/php -f /var/www/html/horde/kronolith/scripts/reminders.php
*/1 * * * * nogroup /usr/local/bin/php -f /var/www/html/horde/kronolith/scripts/reminders.php
41. installare ssmtp (SMTP mail relay):
cd /usr/local; tar -zxvf ssmtp_2.48. tar.gz; ln -s ssmtp_2.48 ssmtp; rm ssmtp_2.48. tar.gz
./configure; make; make install; make install-sendmail
vi /usr/local/etc/ssmtp/ssmtp.conf e inserire mailhub="ip mailserver"
42. installare fortune:
rpm -Uvh fortune-1.0-35.1.fc3.rf.i386.rpm
43. vi /etc/resolv.conf e fare le seguenti aggiunte (non è necessario con indirizzo IP dinamico, DHCP):
domain "your domain"
nameserver 127.0.0.1
nameserver "your first DNS server"
nameserver "your second DNS server"
Per un utilizzo completo di Horde è necessario installare nella LAN o localmente sullo stesso server un Mailserver (Postfix, Sendmail, ...) e un IMAP/POP Server (UW IMAP, Cyrus, ...).
MESSA IN SICUREZZA
(leggere documentazione e man pages di apache,):
1. rendere inaccessibile test.php di Horde e delle altre applicazioni:
chmod 400 /var/www/html/horde/test.php
chmod 400 /var/www/html/horde/imp/test.php
2. cambiare le autorizzazioni della directory config di Horde e delle altre applicazioni:
chmod 640 /var/www/html/horde/config/*
chmod 640 /var/www/html/horde/imp/config/*
3. in /etc/inetd.conf commentare le linee che iniziano con discard:
#discard stream tcp nowait root internal
#discard dgram udp wait root internal
/etc/init.d/inetd restart oder killall -hup inetd
4. in /usr/local/apache/conf/http.conf aggiungere la seguente opzione:
ServerTokens Prod
5. apt-get install libgdbm-dev
6. ricompilare apache con l'opzione -enable-module=rewrite:
./configure "--with-layout=apache"
"--prefix=/usr/local/apache" "--activate-module=src/modules/php4/libphp4.a"
"--enable-module=ssl" --enable-module=rewrite
make
make install
/etc/init.d/httpd restart
7. aggiungere le seguenti linee di comando per ogni VirtualHost:
RewriteEngine on
RewriteCond %{REQUEST_METHOD} ^(TRACE|TRACK)
RewriteRule
8. /etc/init.d/httpd restart
9. consigliamo l'installazione di un firewall locale sul server (vedi sotto)
FIREWALL LOCALE
(oltre al Firewall centrale consigliamo l'installazione d'un firewall locale sul server Horde; seguono due semplici esempi)
1. Standalone server (Apache, Horde, PHP, MySQL, IMAP, Postfix sono sullo stesso server):
Firewall (myfirewall) per Horde standalone
2. Configurazione per più server (Apache, Horde, PHP, MySQL sono locali, Postfix e IMAP sono su server remoti nella LAN):
Firewall (myfirewall) per Horde con più server
UPDATE
(per esempio upgrade mod_ssl)
1. fare una copia delle directory /usr/local/apache/conf/ssl.*
cp /usr/local/apache/conf/ssl.* /root/.
2. cd /usr/local
3. tar -zxvf mod_ssl-"versione".tar.gz
4. rm mod_ssl
5. ln -s mod_ssl-"version".tar.gz mod_ssl
6. ./configure --with-apache=/usr/local/apache --with-ssl=/usr/local/openssl --prefix=/usr/local/apache --activate-module=src/modules/php4/libphp4.a --enable-module=ssl
--enable-module=rewrite
7. cd /usr/local/apache
8. make
9. cp -r /root/ssl.* /usr/local/apache/conf/.
10. /etc/init.d/httpd restart
|
|
|
: : ©2003-2025 bequiet.ch |
|