Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
sysadmin:install_roundcube [2009/12/05 10:24]
james typo
sysadmin:install_roundcube [2014/10/30 11:10] (Version actuelle)
james modif tags
Ligne 1: Ligne 1:
 +{{tag>​mail webmail roundcube installation apache}}
 ====== Installation du webmail roundcube ====== ====== Installation du webmail roundcube ======
 [[http://​roundcube.net| Rouncube]] est un webmail en ajax qui a une p'tite bouille fort sympatique comme vous pouvez le voir sur ces [[http://​roundcube.net/​screens|screenhots]]. [[http://​roundcube.net| Rouncube]] est un webmail en ajax qui a une p'tite bouille fort sympatique comme vous pouvez le voir sur ces [[http://​roundcube.net/​screens|screenhots]].
Ligne 4: Ligne 5:
 ===== Prérequis ===== ===== Prérequis =====
  
-L'​installation sera effectuée sur une [[http://​www.debian.org]] ​debian ​stable (lenny a l'​heure ou ce tutorial est écrit) disposant d'un serveur web [[http://​www.apache.org|apache2]] gérant le [[http://​php.net|php]] et assumant que vous avez un serveur [[http://​www.mysql.fr|mysql]].+L'​installation sera effectuée sur une [[http://​www.debian.org|debian]] stable (lenny a l'​heure ou ce tutorial est écrit) disposant d'un serveur web [[http://​www.apache.org|apache2]] gérant le [[http://​php.net|php]] et assumant que vous avez un serveur [[http://​www.mysql.fr|mysql]] ​installé et fonctionnel.
  
-  * Téléchargement de roundcube ​la derniere version peut etre trouvée ici : http://​roundcube.net/​download,​ prendre la version "GPL (dependent)"​ car nous allons installer les dependances nous meme. +==== Téléchargement de roundcube ​==== 
- +la derniere version peut etre trouvée ici : http://​roundcube.net/​download,​ prendre la version "GPL (dependent)"​ car nous allons installer les dependances nous meme. 
-  * Installation des logiciels requis ​:<​code>​ +==== Installation des logiciels requis ​==== 
-apt-get install openssl aspell-fr php5-gd php5-mcrypt php5-mcrypt php5-dev libmagic-dev+<note important>​Cette section est obsolète en debian squeeze, regardez en bas de cette page</​note>​ 
 +<​code>​ 
 +apt-get install openssl aspell-fr php5-gd php5-mcrypt php5-mcrypt php5-dev libmagic-dev ​php5-mysql
 # et les librairies PHP PEAR (disponibles sous forme de paquets debian) : # et les librairies PHP PEAR (disponibles sous forme de paquets debian) :
 apt-get install php-auth php-net-smtp php-net-socket php-mail-mime libmagic1 php5-pspell libjs-jquery apt-get install php-auth php-net-smtp php-net-socket php-mail-mime libmagic1 php5-pspell libjs-jquery
Ligne 15: Ligne 18:
 pecl install Fileinfo pecl install Fileinfo
 </​code>​ </​code>​
 +Certaines librairies PEAR ne sont pas disponible dans les depots debian officiels, mais ils le sont dans les depots [[http://​www.backports.org|backports]] : nous allons donc utiliser ces versions :<​code>​
 +cd /tmp
 +wget http://​www.backports.org/​debian/​pool/​main/​p/​php-mdb2/​php-mdb2_2.5.0b2-1~bpo50+1_all.deb
 +wget http://​www.backports.org/​debian/​pool/​main/​p/​php-mdb2-driver-mysql/​php-mdb2-driver-mysql_1.5.0b2-1~bpo50+1_all.deb
 +dpkg -i php-mdb2_2.5.0b2-1~bpo50+1_all.deb
 +dpkg -i php-mdb2-driver-mysql_1.5.0b2-1~bpo50+1_all.deb
 +</​code>​
 +Ajouter dans les fichiers /​etc/​php5/​cli/​php.ini et /​etc/​php5/​apache2/​php.ini : <​code>​extension=fileinfo.so</​code>​
  
-  * Configuration ​+Un (re)démarrage de apache est nécessaire pour prendre ces changements en compte ​:<​code>​ 
-    * ajouter dans les fichiers ​/etc/php5/​cli/​php.ini et /etc/php5/apache2/php.ini : <​code>​extension=fileinfo.so</​code> ​dans les fichiers /​etc/​php5/​cli/​php.ini et /​etc/​php5/​apache2/​php.ini +/etc/init.d/​apache2 ​restart 
-    * +</​code>​
  
  
-====== Installation ​======+===== Installation =====
  
 ==== decompression de l'​archive ==== ==== decompression de l'​archive ====
Ligne 32: Ligne 43:
  
 ==== configuration du vhost apache ​ ==== ==== configuration du vhost apache ​ ====
-Créer un fichier /​etc/​apache2/​sites-available/​webmail.mondomaine.comcontenant :<​code>​+Créer un fichier /​etc/​apache2/​sites-available/​webmail.mondomaine.com contenant :<​code>​
 #######################################​ #######################################​
 #   ​VirtualHost pour le webmail ​      # #   ​VirtualHost pour le webmail ​      #
Ligne 62: Ligne 73:
                 php_value memory_limit "​25M"​                 php_value memory_limit "​25M"​
                 php_value file_uploads "​10M"​                 php_value file_uploads "​10M"​
 +                php_value date.timezone "​Europe/​Paris"​
         </​Directory>​         </​Directory>​
  
Ligne 89: Ligne 101:
 </​Virtualhost>​ </​Virtualhost>​
 </​code>​ </​code>​
 +
 ==== Paramétrage ==== ==== Paramétrage ====
   * Nous allons paramétrer roundcube en utilisant les standards debian : la configuration se fait dans /​etc/​roundcube.<​code>​   * Nous allons paramétrer roundcube en utilisant les standards debian : la configuration se fait dans /​etc/​roundcube.<​code>​
Ligne 126: Ligne 139:
 mysql -u roundcube -p roundcubemail < /​var/​www/​webmail.mondomaine.com/​SQL/​mysql.initial.sql mysql -u roundcube -p roundcubemail < /​var/​www/​webmail.mondomaine.com/​SQL/​mysql.initial.sql
 </​code>​ </​code>​
 +==== Finalisation de l'​installation ====
 +  * activer le site :<​code>​
 +a2ensite webmail.mondomaine.com
 +/​etc/​init.d/​apache2 restart
 +</​code>​
 +  * Aller sur [[https://​webmail.mondomaine.com/​installer/​]] \\ Il ne devrait pas y avoir de "NOT OK" vous empechant d'​accéder a l'​etape 2 qui va créer effectivement la configuration.
 +  * Vous pouvez ensuite vérfifier a l'​étape 3 que vous pouvez :
 +    * envoyer un email depuis roundcube
 +    * vous connecter sur votre serveur imap
 +<note important>​IL faut maintenant empecher tout acces a l'​instalateur :
 +  * editer le fichier /​etc/​roundcube/​main.inc.php pour remettre<​code>​$rcmail_config['​enable_installer'​] = false;</​code>​
 +  * exécutez la commande suivante pour interdi l'​acces aux répertoires :<​code>​chmod go-rwx /​var/​www/​webmail.mondomaine.com/​installer/</​code>​
 +</​note>​
 +  * Editer le fichier /​etc/​roundcube/​main.inc.php pour déclarer votre serveur IMAP, dans notre cas localhost :<​code>​
 +$rcmail_config['​default_host'​] = '​localhost';</​code>​
 +
 +===== Enjoy =====
 +Et voila : maintenant vous devriez avoir un superbe webmail accessible via [[https://​webmail.mondomaine.com]] :-)
 +
 +====== Mise à jour du webmail roundcube ======
 +
 +Pas mal de temps a passé depuis cette installation initiale, et la version 0.5.1 de roundcube est maintenant disponible.
 +Entre temps la version stable de debian est passée de lenny a squeeze, le serveur ayant été mis a jour en squeeze, cette mise a jour de roundcube va être effectuée sur cette version
 +
 +Les notes de mises a jour sont disponibles [[http://​trac.roundcube.net/​wiki/​Howto_Upgrade|ici]],​ voici les commandes que j'ai utilisé :
 +
 +===== Recupération et décompression de l'​archive =====
 +  * récupérer les sources (la encore les dépendances seront installées/​mises a jour à la main : on choisit donc la version téléchargeable sans dépendances)
 +<​code>​
 +cd /var/www/
 +wget http://​sourceforge.net/​projects/​roundcubemail/​files/​roundcubemail-dependent/​0.5.1/​roundcubemail-0.5.1-dep.tar.gz/​download -O roundcubemail-0.5.1-dep.tar.gz
 +tar xvzf roundcubemail-0.5.1-dep.tar.gz
 +</​code>​
 +  * réparer les permissions (ou www-data est le groupe de l'​utilisateur faisant tourner votre serveur web)
 +<​code>​
 +chown root:root -R roundcubemail-0.5.1-dep
 +cd roundcubemail-0.5.1-dep
 +chgrp www-data logs/ temp/ && chmod g+w logs/ temp/
 +</​code>​
 +
 +===== Installation des nouvelles dépendances =====
 +Il est conseillé d'​installer cette dépendance pour l'​internationalisation :<​code>​
 +apt-get install php5-intl</​code>​
 +Il faut ensuite recharger la configuration d'​apache :<​code>​
 +/​etc/​init.d/​apache2 reload</​code>​
 +
 +===== Configuration =====
 +<​code>​
 +cd /​var/​www/​roundcubemail-0.5.1-dep
 +mv config/ config.ORIG
 +ln -s /​etc/​roundcube config
 +</​code>​
 +
 +Reporter les nouvelles options de configuration dans les anciens fichiers entre les versions 0.3.1 et la 0.5.1 
 +  * ces lignes ont été ajoutées dans le fichier db.inc.php :<​code>​
 +$rcmail_config['​db_table_contactgroups'​] = '​contactgroups';​
 +$rcmail_config['​db_table_contactgroupmembers'​] = '​contactgroupmembers';</​code>​
 +  * pour le fichier main.inc.php vimdiff est votre ami (trop de modifications pour tout reporter ici ;p)
 +  * ces lignes ont été ajoutées dans le fichier mimetypes.php :<​code>​
 +    '​pdf'​ => '​application/​pdf',​
 +    '​ics'​ => '​text/​calendar',​
 +</​code>​
 +
 +===== Upgrade de la base de donnée =====
 +  * Ouvrir un shell mysql sur la base roundcube.
 +  * Lancer les requetes contenues dans le fichier /​var/​www/​roundcubemail-0.5.1-dep/​SQL/​mysql.update.sql correspondantes a l'​upgrade en cours. Il faut donc ici (mise a jour 0.3.1 -> 0.5.1)
 + ​lancer les commandes situées apres la balise :<​code>​
 +-- Updates from version 0.3.1</​code>​
 +Voici la liste complete :<​code>​
 +SET FOREIGN_KEY_CHECKS=0;​
 +ALTER TABLE `messages` DROP FOREIGN KEY `user_id_fk_messages`;​
 +ALTER TABLE `cache` DROP FOREIGN KEY `user_id_fk_cache`;​
 +ALTER TABLE `contacts` DROP FOREIGN KEY `user_id_fk_contacts`;​
 +ALTER TABLE `identities` DROP FOREIGN KEY `user_id_fk_identities`;​
 +
 +ALTER TABLE `messages` ADD CONSTRAINT `user_id_fk_messages` FOREIGN KEY (`user_id`)
 + ​REFERENCES `users`(`user_id`) ON DELETE CASCADE ON UPDATE CASCADE;
 +ALTER TABLE `cache` ADD CONSTRAINT `user_id_fk_cache` FOREIGN KEY (`user_id`)
 + ​REFERENCES `users`(`user_id`) ON DELETE CASCADE ON UPDATE CASCADE;
 +ALTER TABLE `contacts` ADD CONSTRAINT `user_id_fk_contacts` FOREIGN KEY (`user_id`)
 + ​REFERENCES `users`(`user_id`) ON DELETE CASCADE ON UPDATE CASCADE;
 +ALTER TABLE `identities` ADD CONSTRAINT `user_id_fk_identities` FOREIGN KEY (`user_id`)
 + ​REFERENCES `users`(`user_id`) ON DELETE CASCADE ON UPDATE CASCADE;
 +
 +ALTER TABLE `contacts` ALTER `name` SET DEFAULT '';​
 +ALTER TABLE `contacts` ALTER `firstname` SET DEFAULT '';​
 +ALTER TABLE `contacts` ALTER `surname` SET DEFAULT '';​
 +
 +ALTER TABLE `identities` ADD INDEX `user_identities_index` (`user_id`, `del`);
 +ALTER TABLE `identities` ADD `changed` datetime NOT NULL DEFAULT '​1000-01-01 00:​00:​00'​ AFTER `user_id`;
 +
 +CREATE TABLE `contactgroups` (
 +  `contactgroup_id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT,​
 +  `user_id` int(10) UNSIGNED NOT NULL DEFAULT '​0',​
 +  `changed` datetime NOT NULL DEFAULT '​1000-01-01 00:​00:​00',​
 +  `del` tinyint(1) NOT NULL DEFAULT '​0',​
 +  `name` varchar(128) NOT NULL DEFAULT '',​
 +  PRIMARY KEY(`contactgroup_id`),​
 +  CONSTRAINT `user_id_fk_contactgroups` FOREIGN KEY (`user_id`)
 +    REFERENCES `users`(`user_id`) ON DELETE CASCADE ON UPDATE CASCADE,
 +  INDEX `contactgroups_user_index` (`user_id`,​`del`)
 +) /*!40000 ENGINE=INNODB */ /*!40101 CHARACTER SET utf8 COLLATE utf8_general_ci */;
 +
 +CREATE TABLE `contactgroupmembers` (
 +  `contactgroup_id` int(10) UNSIGNED NOT NULL,
 +  `contact_id` int(10) UNSIGNED NOT NULL DEFAULT '​0',​
 +  `created` datetime NOT NULL DEFAULT '​1000-01-01 00:​00:​00',​
 +  PRIMARY KEY (`contactgroup_id`,​ `contact_id`),​
 +  CONSTRAINT `contactgroup_id_fk_contactgroups` FOREIGN KEY (`contactgroup_id`)
 +    REFERENCES `contactgroups`(`contactgroup_id`) ON DELETE CASCADE ON UPDATE CASCADE,
 +  CONSTRAINT `contact_id_fk_contacts` FOREIGN KEY (`contact_id`)
 +    REFERENCES `contacts`(`contact_id`) ON DELETE CASCADE ON UPDATE CASCADE
 +) /*!40000 ENGINE=INNODB */;
 +
 +SET FOREIGN_KEY_CHECKS=1 ;
 +
 +ALTER TABLE `users` CHANGE `last_login` `last_login` datetime DEFAULT NULL;
 +UPDATE `users` SET `last_login` = NULL WHERE `last_login` = '​1000-01-01 00:​00:​00';​
 +
 +ALTER TABLE `users` DROP INDEX `username_index`;​
 +ALTER TABLE `users` ADD UNIQUE `username` (`username`,​ `mail_host`);​
 +
 +ALTER TABLE `contacts` MODIFY `email` varchar(255) NOT NULL;
 +
 +TRUNCATE TABLE `messages`;
 +</​code>​
 +
 +
 +====== Installation des logiciels requis sous debian squeeze ======
 +installation des dépendances :<​code>#​ apt-get install php5-gd php5-intl php5-mcrypt php5-pspell libmagic1</​code>​
 +installation des modules PEAR nécessaires :<​code>#​ apt-get install php-auth php-mdb2 php-mdb2-driver-mysql php-mail-mime php-net-smtp php-net-socket</​code>​
  
sysadmin/install_roundcube.1260005070.txt.gz · Dernière modification: 2009/12/05 10:24 par james
Driven by DokuWiki Recent changes RSS feed Valid CSS Valid XHTML 1.0