Installazione di Horde tramite sorgenti in Debian
Installazione
- Valido per Horde 5 e Debian 6
- Prerequisiti
sudo apt-get install apache2 mysql-server postfix phpmyadmin dovecot-imapd
- Configurare postfix e dovecot, perchè l'autenticazione di Horde avviene sulla casella imap.
- Creare una casella imap che sarà usata per l'amministrazione
- Librerire per horde:
sudo apt-get install libapache2-mod-php5 php-pear php5-dev imagemagick aspell-it libmagic-dev make
- Creare l'ambiente pear solo per horde:
sudo mkdir /var/www/horde sudo pear config-create /var/www/horde/ /var/www/horde/pear.conf sudo pear -c /var/www/horde/pear.conf install pear sudo /var/www/horde/pear/pear -c /var/www/horde/pear.conf channel-discover pear.horde.org sudo /var/www/horde/pear/pear -c /var/www/horde/pear.conf install horde/horde_role
- Lanciare script config:
sudo /var/www/horde/pear/pear -c /var/www/horde/pear.conf run-scripts horde/Horde_Role
- Indicare:
/var/www/horde
- Procedere:
sudo /var/www/horde/pear/pear -c /var/www/horde/pear.conf config-set preferred_state alpha
- Scaricare (attendere la partenza anche per 10 minti):
sudo /var/www/horde/pear/pear -c /var/www/horde/pear.conf install -a -B horde/webmail
- Installare il modulo per il cambio password:
sudo /var/www/horde/pear/pear -c /var/www/horde/pear.conf install -a -B horde/passwd
- Inizializzare l'eventuale repository git
cd /var/www/horse sudo git init
- Impostare le esclusioni:
sudoedit .gitignore
pear/cache/ pear/download/ pear/temp/
- Fare commit
sudo git add . sudo git commit -a -m "* Initial import"
- Modificare .htaccess:
sudoedit /var/www/horde/.htaccess
# IMPORTANT: DO NOT EDIT THIS FILE!
# It will be overwritten with any future upgrade.
allow from all
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule .* - [env=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ rampage.php [QSA,L]
</IfModule>
# CUSTOM VALUES
php_value include_path /var/www/horde/pear/php
php_value session.gc_divisor 10000
php_value session.gc_probability 1
SetEnv PHP_PEAR_SYSCONF_DIR /var/www/horde
#php_value memory_limit 256M
- Creare user e db horde con phpmyadmin o a amano:
export HPASS=$(pwgen -1) echo HPASS=$HPASS
cat | mysql --batch -u root -p<<EOFILE CREATE USER horde@localhost IDENTIFIED BY "$HPASS" ; GRANT USAGE ON *.* TO horde@localhost IDENTIFIED BY "$HPASS" WITH MAX_QUERIES_PER_HOUR 0 MAX_CONNECTIONS_PER_HOUR 0 MAX_UPDATES_PER_HOUR 0 MAX_USER_CONNECTIONS 0 ; CREATE DATABASE IF NOT EXISTS horde ; GRANT ALL PRIVILEGES ON horde.* TO horde@localhost ; EOFILE
echo HPASS=$HPASS
echo "SHOW DATABASES;" | mysql --batch -u horde -p$HPASS > /dev/null ;\ if [ $? -eq 0 ]; \ then echo "SUCCESS"; \ else echo "MYSQL PROBLEM"; fi
- Lanciare install script:
sudo PHP_PEAR_SYSCONF_DIR=/var/www/horde php -d include_path=/var/www/horde/pear/php /var/www/horde/pear/webmail-install
What database backend should we use? Type your choice []: mysql Username to connect to the database as* [] horde Password to connect with *** How should we connect to the database? Type your choice [unix]: tcp Database server/host* [] localhost Port the DB is running on, if non-standard [3306] Database name to use* [] horde Internally used charset* [utf-8] Use SSL to connect to the server? Type your choice [0]: Certification Authority to use for SSL connections [] Split reads to a different server? Type your choice [false]: Writing main configuration file... done. Creating and updating database tables... done. Configuring administrator settings Specify an existing mail user who you want to give administrator permissions (optional): XYZ@EXAMPLE.COM Writing main configuration file... done. Thank you for using Horde Groupware Webmail Edition!
- Se non lo si è dichiarato prima, definire l'indirizzo email della casella che avrà accesso al menu di Amministrazione
sudoedit /var/www/horde/config/conf.php
$conf['auth']['admins'] = array('address@example.com');
- Impostare le permission temporaneamente:
sudo chmod -R u=rwX,g=rwX,o=rwX /var/www/horde
- Attivare l'interpretazione del file .htaccess e definire l'alias per activesync:
sudoedit /etc/apache2/conf.d/horde.conf
<Directory /var/www/horde>
AllowOverride all
</Directory>
Alias /Microsoft-Server-ActiveSync /var/www/horde/rpc.php
- Generare i locales per avere le traduzioni
sudo dpkg-reconfigure locales
- Riavviare apache2
sudo invoke-rc.d apache2 reload
- Creare un file di definizione del server imap, che contenga anche la specifica del dominio come spiegato in Configurare un server imap specifico per l'autenticazione in Horde. Se non si specifica questo parametro, e si fa login solo conlo username, il from address non è specificato:
'maildomain' => 'example.com',
- Loggarsi con le credenziali della casella imap definita come administrator e configurare http://servername.example.com/horde
- Una volta salvata la configurazione, risistemare le permission:
sudo chmod -R u=rwX,g=rX,o=rX /var/www/horde sudo chown -R :www-data /var/www/horde/config/ sudo chmod -R u=rwX,g=rwX,o=rX /var/www/horde/config/
Riferimenti
- HOWTO: Virtual Domains with Apache2, MySQL, Dovecot (with Quotas), Horde, Vacation, Passwd, imp4, K | BsnTech | Affordable Website Design | Hosting
- Installing Horde 4 WebMail in Linux | BsnTech | Affordable Website Design | Hosting
Upgrade
- Fare backup files e database
- Lanciare upgrade:
sudo /var/www/horde/pear/pear -c /var/www/horde/pear.conf upgrade -a -B -c horde
- Se non va, disinstallare modulo passwd e poi rilanciare upgrade
sudo /var/www/horde/pear/pear -c /var/www/horde/pear.conf uninstall horde/passwd
- Se upgrade non va a buon fine, forzarlo di nuovo:
sudo /var/www/horde/pear/pear -c /var/www/horde/pear.conf upgrade -f -c horde
- Lanciare script:
sudo /var/www/horde/pear/pear -c /var/www/horde/pear.conf run-scripts horde/Horde_Role
- Risistemare .htaccess
sudoedit webmail/.htaccess
... php_value include_path /var/www/horde/pear/php SetEnv PHP_PEAR_SYSCONF_DIR /var/www/horde ...
- Loggarsi come utente admin, e dalla config,
update all db schema update all configurations
- Se c'è qualche errore, guardare i log di apache per errori e 404 (file mancanti, tipo .js)