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édentesRévision précédente
Prochaine révision
Révision précédente
Prochaine révisionLes deux révisions suivantes
200messagerie:030postfix3:010_cyradm [le 01/01/2017 à 17:20] – [Web-Cyradm] prof200messagerie:030postfix3:010_cyradm [le 01/01/2017 à 19:07] – [Accès à la base] prof
Ligne 47: Ligne 47:
 Nous sommes restés très imaginatifs, la base et l'utilisateur s'appellent ''mail'', avec un mot de passe désormais classique : ''epikoi''. Nous sommes restés très imaginatifs, la base et l'utilisateur s'appellent ''mail'', avec un mot de passe désormais classique : ''epikoi''.
  
-''create_mysql.sql'' va construire les tables de la base et y mettre quelques informations vitales (rendrez-vous à la fin du script) :+''create_mysql.sql'' va construire les tables de la base et y mettre quelques informations vitales (rendrez-vous à la fin du script). Malheureusement, il est lui aussi hors d'âge et ne sera pas compris tel quel par les moteurs aussi bien MySQL que MariaDB de la Jessie. Aussi faudra-t-il lui appliquer le «patch» suivant : 
 <html><pre class="code"> <html><pre class="code">
-# phpMyAdmin MySQL-Dump +@@ -1,12 +1,12 @@ 
-# version 2.2.6 + # phpMyAdmin MySQL-Dump 
-# http://phpwizard.net/phpMyAdmin/ + # version 2.2.6 
-# http://www.phpmyadmin.net/ (download page) ++# patched for MariaDB 10.0.28 
-+ # http://phpwizard.net/phpMyAdmin/ 
-# Host: localhost + # http://www.phpmyadmin.net/ (download page) 
-# Generation Time: Nov 04, 2002 at 01:44 AM + # 
-# Server version: 3.23.52 + # Host: localhost 
-# PHP Version: 4.2.3 + # Generation Time: Nov 04, 2002 at 01:44 AM 
-# Database : `mail` +-# Server version: 3.23.52 
-# --------------------------------------------------------+-# PHP Version: 4.2.3 
 ++# Modified: Jan 01, 2017 at 04:36 PM UTC 
 + # Database : `mail` 
 + # -------------------------------------------------------- 
 +  
 +@@ -24,7 +24,7 @@ 
 +   sieve int(10) NOT NULL default '1', 
 +   smtpauth int(10) NOT NULL default '1', 
 +   UNIQUE KEY username (username) 
 +-) TYPE=MyISAM; 
 ++) ENGINE XtraDB; 
 + # -------------------------------------------------------- 
 +  
 + # 
 +@@ -38,7 +38,7 @@ 
 +   SID varchar(255) NOT NULL default '', 
 +   home varchar(255) NOT NULL default '', 
 +   PRIMARY KEY  (username) 
 +-) TYPE=MyISAM; 
 ++) ENGINE XtraDB; 
 + # -------------------------------------------------------- 
 +  
 + # 
 +@@ -51,7 +51,7 @@ 
 +   `maxdisplay` int(4) NOT NULL default '15', 
 +   `warnlevel` int(3) NOT NULL default '90', 
 +   PRIMARY KEY  (username) 
 +-) TYPE=MyISAM; 
 ++) ENGINE XtraDB; 
 + # -------------------------------------------------------- 
 +  
 + # 
 +@@ -64,7 +64,7 @@ 
 +   username varchar(50) NOT NULL default '', 
 +   status int(11) NOT NULL default '1', 
 +   PRIMARY KEY  (alias) 
 +-) TYPE=MyISAM; 
 ++) ENGINE XtraDB; 
 + # -------------------------------------------------------- 
 +  
 + # 
 +@@ -83,7 +83,7 @@ 
 +   folders varchar(255) NOT NULL default '', 
 +   PRIMARY KEY  (domain_name), 
 +   UNIQUE KEY prefix (prefix) 
 +-) TYPE=MyISAM; 
 ++) ENGINE XtraDB; 
 + # -------------------------------------------------------- 
 +  
 + # 
 +@@ -93,7 +93,7 @@ 
 + CREATE TABLE domainadmin ( 
 +   domain_name varchar(255) NOT NULL default '', 
 +   adminuser varchar(255) NOT NULL default '' 
 +-) TYPE=MyISAM; 
 ++) ENGINE XtraDB; 
 + # -------------------------------------------------------- 
 +  
 + # 
 +@@ -104,10 +104,10 @@ 
 +   search_id varchar(255) NOT NULL default '', 
 +   search_sql text NOT NULL, 
 +   perpage int(11) NOT NULL default '0', 
 +-  timestamp timestamp(14) NOT NULL, 
 ++  timestamp timestamp(6) NOT NULL, 
 +   PRIMARY KEY  (search_id), 
 +   KEY search_id (search_id) 
 +-) TYPE=MyISAM; 
 ++) ENGINE XtraDB; 
 + # -------------------------------------------------------- 
 +  
 + # 
 +@@ -120,7 +120,7 @@ 
 +   username varchar(50) NOT NULL default '', 
 +   status int(11) NOT NULL default '1', 
 +   KEY alias (alias) 
 +-) TYPE=MyISAM; 
 ++) ENGINE XtraDB; 
 +  
 + CREATE TABLE log ( 
 +   id int(11) NOT NULL auto_increment, 
 +@@ -130,11 +130,11 @@ 
 +   time datetime NOT NULL default '2000-00-00 00:00:00', 
 +   pid varchar(255) NOT NULL default '', 
 +   PRIMARY KEY  (id) 
 +-) TYPE=MyISAM; 
 ++) ENGINE XtraDB; 
 +  
 +-INSERT INTO adminuser (username, password) VALUES ('admin', ENCRYPT('test')); 
 ++INSERT INTO adminuser (username, password) VALUES ('admin', ENCRYPT('epikoi')); 
 + INSERT INTO domainadmin (domain_name,adminuser) VALUES ('*','admin'); 
 +-INSERT INTO accountuser (username, password) VALUES ('cyrus', ENCRYPT('secret')); 
 ++INSERT INTO accountuser (username, password) VALUES ('cyrus', ENCRYPT('epikoi')); 
 + INSERT INTO `settings` ( `username` , `style` , `maxdisplay` , `warnlevel` ) VALUES ( 'admin', 'default', '15', '90'); 
 +  
 + ALTER TABLE `log` ADD INDEX `idx_log_user` ( `user` ); 
  
-# 
-# Table structure for table `accountuser` 
-# 
- 
-CREATE TABLE accountuser ( 
-  username varchar(255) binary NOT NULL default '', 
-  password varchar(50) binary NOT NULL default '', 
-  prefix varchar(50) NOT NULL default '', 
-  domain_name varchar(255) NOT NULL default '', 
-  imap int(10) NOT NULL default '1', 
-  pop int(10) NOT NULL default '1', 
-  sieve int(10) NOT NULL default '1', 
-  smtpauth int(10) NOT NULL default '1', 
-  UNIQUE KEY username (username) 
-) TYPE=MyISAM; 
-# -------------------------------------------------------- 
- 
-# 
-# Table structure for table `adminuser` 
-# 
- 
-CREATE TABLE adminuser ( 
-  username varchar(50) binary NOT NULL default '', 
-  password varchar(50) binary NOT NULL default '', 
-  type int(11) NOT NULL default '0', 
-  SID varchar(255) NOT NULL default '', 
-  home varchar(255) NOT NULL default '', 
-  PRIMARY KEY  (username) 
-) TYPE=MyISAM; 
-# -------------------------------------------------------- 
- 
-# 
-# Table structure for table `settings` 
-# 
- 
-CREATE TABLE settings ( 
-  `username` varchar(50) binary NOT NULL default '', 
-  `style` varchar(50) NOT NULL default 'default', 
-  `maxdisplay` int(4) NOT NULL default '15', 
-  `warnlevel` int(3) NOT NULL default '90', 
-  PRIMARY KEY  (username) 
-) TYPE=MyISAM; 
-# -------------------------------------------------------- 
- 
-# 
-# Table structure for table `alias` 
-# 
- 
-CREATE TABLE alias ( 
-  alias varchar(255) NOT NULL default '', 
-  dest longtext, 
-  username varchar(50) NOT NULL default '', 
-  status int(11) NOT NULL default '1', 
-  PRIMARY KEY  (alias) 
-) TYPE=MyISAM; 
-# -------------------------------------------------------- 
- 
-# 
-# Table structure for table `domain` 
-# 
- 
-CREATE TABLE domain ( 
-  domain_name varchar(255) NOT NULL default '', 
-  prefix varchar(50) NOT NULL default '', 
-  maxaccounts int(11) NOT NULL default '20', 
-  quota int(10) NOT NULL default '20000', 
-  domainquota int(10) NOT NULL default '0', 
- 
- 
- 
- 
- 
- 
- 
-  transport varchar(255) NOT NULL default 'cyrus', 
-  freenames enum('YES','NO') NOT NULL default 'NO', 
-  freeaddress enum('YES','NO') NOT NULL default 'NO', 
-  folders varchar(255) NOT NULL default '', 
-  PRIMARY KEY  (domain_name), 
-  UNIQUE KEY prefix (prefix) 
-) TYPE=MyISAM; 
-# -------------------------------------------------------- 
- 
-# 
-# Table structure for table `domainadmin` 
-# 
- 
-CREATE TABLE domainadmin ( 
-  domain_name varchar(255) NOT NULL default '', 
-  adminuser varchar(255) NOT NULL default '' 
-) TYPE=MyISAM; 
-# -------------------------------------------------------- 
- 
-# 
-# Table structure for table `search` 
-# 
- 
-CREATE TABLE search ( 
-  search_id varchar(255) NOT NULL default '', 
-  search_sql text NOT NULL, 
-  perpage int(11) NOT NULL default '0', 
-  timestamp timestamp(14) NOT NULL, 
-  PRIMARY KEY  (search_id), 
-  KEY search_id (search_id) 
-) TYPE=MyISAM; 
-# -------------------------------------------------------- 
- 
-# 
-# Table structure for table `virtual` 
-# 
- 
-CREATE TABLE virtual ( 
-  alias varchar(255) NOT NULL default '', 
-  dest longtext, 
-  username varchar(50) NOT NULL default '', 
-  status int(11) NOT NULL default '1', 
-  KEY alias (alias) 
-) TYPE=MyISAM; 
- 
-CREATE TABLE log ( 
-  id int(11) NOT NULL auto_increment, 
-  msg text NOT NULL, 
-  user varchar(255) NOT NULL default '', 
-  host varchar(255) NOT NULL default '', 
-  time datetime NOT NULL default '2000-00-00 00:00:00', 
-  pid varchar(255) NOT NULL default '', 
-  PRIMARY KEY  (id) 
-) TYPE=MyISAM; 
- 
-<span class="hly">INSERT INTO adminuser (username, password) VALUES ('admin', ENCRYPT('epikoi')); 
-INSERT INTO domainadmin (domain_name,adminuser) VALUES ('*','admin'); 
-INSERT INTO accountuser (username, password) VALUES ('cyrus', ENCRYPT('epikoi')); 
-INSERT INTO `settings` ( `username` , `style` , `maxdisplay` , `warnlevel` ) VALUES ( 'admin', 'default', '15', '90');</span> 
- 
-ALTER TABLE `log` ADD INDEX `idx_log_user` ( `user` );  
 </pre></html> </pre></html>
 +Quelques corrections de langage d'une part, et une configuration personnalisée pour l'administrateur ''admin'' qui gérera le système.
  
-Dans ''adminuser'' nous plaçons ce qu'il faut pour pouvoir par la suite ouvrir une session sur web-cyradm. Le couple ''admin/epikoi'' n'a aucun rapport avec un quelconque utilisateur de la messagerie, c'est juste un « loggin » qui permet d'utiliser web-cyradm. +En ce qui concerne ''cyrus/epikoi'', ce loggin va permettre l'administration de cyrus. Il sera configuré de la même manière dans cyrus-imap et permettra d'utiliser l'outil ''cyradm''.
- +
-Dans ''accountuser'' nous créons ''cyrus/epikoi''. Ce loggin va permettre l'administration de cyrus. Il est en principe inconnu de tous, c'est une affaire entre web-cyradm et cyrus.+
  
-Bien entendu, ces loggins sont à personnaliser avant de créer la base.+Bien entendu, ces loggins sont à personnaliser à votre goût avant de créer la base.
  
 Il suffit maintenant de faire :  Il suffit maintenant de faire : 
Ligne 213: Ligne 173:
 web-cyradm pouvant utiliser aussi bien MySQL que PostgreSQL, le concepteur a utilisé une couche d'abstraction (hélas obsolète aujourd'hui), mais qui est pour l'instant encore disponible, il s'agit de Pear::DB. Un : web-cyradm pouvant utiliser aussi bien MySQL que PostgreSQL, le concepteur a utilisé une couche d'abstraction (hélas obsolète aujourd'hui), mais qui est pour l'instant encore disponible, il s'agit de Pear::DB. Un :
   aptitude install php-pear   aptitude install php-pear
 +  pear install PEAR
   pear install DB   pear install DB
 Résoudra le problème (avec le « warning » qui va bien), si vous avez bien entendu installé ce qu'il faut pour utiliser Pear. Résoudra le problème (avec le « warning » qui va bien), si vous avez bien entendu installé ce qu'il faut pour utiliser Pear.