source: install/scripts/mysql.sql @ 264

Revision 264, 13.0 KB checked in by anarcat, 7 years ago (diff)

[project @ alternc: changeset 2004-05-24 14:55:38 by anonymous]

  • suppression de la table mime
  • ajout du drop table mime dans l'upgrade

Original author: anonymous
Date: 2004-05-24 14:55:38

Line 
1#
2# $Id: mysql.sql,v 1.17 2004/05/24 14:55:38 anonymous Exp $
3# ----------------------------------------------------------------------
4# AlternC - Web Hosting System
5# Copyright (C) 2002 by the AlternC Development Team.
6# http://alternc.org/
7# ----------------------------------------------------------------------
8# Based on:
9# Valentin Lacambre's web hosting softwares: http://altern.org/
10# ----------------------------------------------------------------------
11# LICENSE
12#
13# This program is free software; you can redistribute it and/or
14# modify it under the terms of the GNU General Public License (GPL)
15# as published by the Free Software Foundation; either version 2
16# of the License, or (at your option) any later version.
17#
18# This program is distributed in the hope that it will be useful,
19# but WITHOUT ANY WARRANTY; without even the implied warranty of
20# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
21# GNU General Public License for more details.
22#
23# To read the license please visit http://www.gnu.org/copyleft/gpl.html
24# ----------------------------------------------------------------------
25# Original Author of file: Benjamin Sonntag
26# Purpose of file: Create the basic structure for the mysql system db
27# ----------------------------------------------------------------------
28#
29
30######################################################################
31# STRUCTURE DES TABLES D'ALTERNC
32#
33# IMPORTANT: lorsque la structure de ces tables est modifiée, le
34# fichier upgrade/<version>.sql doit être modifié pour que les
35# installations courantes soient mises à jour
36#
37# Aussi, il n'y a aucun tel fichier pour l'instant et ils ne sont pas
38# lus à l'upgrade, à régler dans mysql.sh
39######################################################################
40
41#
42# Structure de la table `browser`
43#
44# Cette table contient les préférences des utilisateurs dans le gestionnaire de fichiers
45
46
47CREATE TABLE IF NOT EXISTS browser (
48  uid int(10) unsigned NOT NULL default '0',            # Numéro de l'utilisateur
49  editsizex int(10) unsigned NOT NULL default '0',      # Largeur de la zone d'edition du brouteur
50  editsizey int(10) unsigned NOT NULL default '0',      # Hauteur de la zone d'edition du brouteur
51  listmode tinyint(3) unsigned NOT NULL default '0',    # Mode de listing (1 colonne, 2 colonne, 3 colonne)
52  showicons tinyint(4) NOT NULL default '0',            # Faut-il afficher les icones (1/0)
53  downfmt tinyint(4) NOT NULL default '0',              # Format de téléchargement (zip/bz2/tgz/tar.Z)
54  createfile tinyint(4) NOT NULL default '0',           # Que fait-on après création d'un fichier (1/0)
55  showtype tinyint(4) NOT NULL default '0',             # Affiche-t-on le type mime ?
56  editor_font varchar(64) NOT NULL default '',          # Nom de la police dans l'éditeur de fichiers
57  editor_size varchar(8) NOT NULL default '',           # Taille de la police dans l'éditeur de fichiers
58  crff tinyint(4) NOT NULL default '0',                 # mémorise le dernier fichier/dossier créé (pour le bouton radio)
59  golastdir tinyint(4) NOT NULL default '0',            # Faut-il aller au dernier dossier ou au dossier racine dans le brouteur ?
60  lastdir varchar(255) NOT NULL default '',             # Dernier dossier visité.
61  PRIMARY KEY  (uid)
62) TYPE=MyISAM COMMENT='Préférences du gestionnaire de fichiers';
63
64
65#
66# Structure de la table `chgmail`
67#
68# Cette table contient les demandes de changements de mail pour les membres
69
70CREATE TABLE IF NOT EXISTS chgmail (
71  uid int(10) unsigned NOT NULL default '0',            # Numéro de l'utilisateur
72  cookie varchar(20) NOT NULL default '',               # Cookie du mail
73  ckey varchar(6) NOT NULL default '',                  # Clé de vérif
74  mail varchar(128) NOT NULL default '',                # Nouvel Email
75  ts bigint(20) unsigned NOT NULL default '0',          # Timestamp de la demande
76  PRIMARY KEY  (uid)
77) TYPE=MyISAM COMMENT='Demandes de changements de mail en cours';
78
79#
80# Structure de la table `db`
81#
82# Contient les bases mysql des membres, + login / pass en clair
83
84CREATE TABLE IF NOT EXISTS db (
85  uid int(10) unsigned NOT NULL default '0',            # Numéro de l'utilisateur
86  login varchar(16) NOT NULL default '',                # Nom d'utilisateur mysql
87  pass varchar(16) NOT NULL default '',                 # Mot de passe mysql
88  db varchar(64) NOT NULL default '',                   # Base de données concernée
89  bck_mode tinyint(3) unsigned NOT NULL default '0',    # Mode de backup (0/non 1/Daily 2/Weekly)
90  bck_history tinyint(3) unsigned NOT NULL default '0', # Nombre de backup à conserver ?
91  bck_gzip tinyint(3) unsigned NOT NULL default '0',    # Faut-il compresser les backups ?
92  bck_dir varchar(255) NOT NULL default '',             # Où stocke-t-on les backups sql ?
93  KEY uid (uid)
94) TYPE=MyISAM COMMENT='Bases MySQL des membres';
95
96#
97# Structure de la table `domaines`
98#
99# Liste des domaines hébergés
100
101CREATE TABLE IF NOT EXISTS domaines (
102  compte int(10) unsigned NOT NULL default '0',
103  domaine varchar(64) NOT NULL default '',
104  mx varchar(64) default NULL,
105  gesdns int(1) NOT NULL default '1',
106  gesmx int(1) NOT NULL default '1',
107  noerase tinyint(4) NOT NULL default '0',
108  PRIMARY KEY  (compte,domaine)
109) TYPE=MyISAM;
110
111#
112# Structure de la table `domaines_standby`
113#
114# Liste temporaire utilisée par le cron des domaines
115
116CREATE TABLE IF NOT EXISTS domaines_standby (
117  compte int(10) unsigned NOT NULL default '0',
118  domaine varchar(64) NOT NULL default '',
119  mx varchar(64) default NULL,
120  gesdns int(1) NOT NULL default '1',
121  gesmx int(1) NOT NULL default '1',
122  action int(1) NOT NULL default '0',
123  PRIMARY KEY  (compte,domaine,action)
124) TYPE=MyISAM;
125
126#
127# Structure de la table `ftpusers`
128#
129# Comptes ftp des membres
130
131CREATE TABLE IF NOT EXISTS ftpusers (
132  id int(10) unsigned NOT NULL auto_increment,
133  name varchar(64) NOT NULL default '',
134  password varchar(32) NOT NULL default '',
135  homedir varchar(128) NOT NULL default '',
136  uid int(10) unsigned NOT NULL default '0',
137  PRIMARY KEY  (id),
138  UNIQUE KEY name (name),
139  KEY homedir (homedir),
140  KEY mid (uid)
141) TYPE=MyISAM;
142
143#
144# Structure de la table `local`
145#
146# Champs utilisables par l'hébergeur pour associer des données locales aux membres.
147
148CREATE TABLE IF NOT EXISTS local (
149  uid int(10) unsigned NOT NULL default '0',
150  nom varchar(128) NOT NULL default '',
151  prenom varchar(128) NOT NULL default '',
152  PRIMARY KEY  (uid)
153) TYPE=MyISAM COMMENT='Parametres Locaux des membres';
154
155#
156# Structure de la table `membres`
157#
158# Liste des membres
159
160CREATE TABLE IF NOT EXISTS membres (
161  uid int(10) unsigned NOT NULL auto_increment,         # Numéro du membre (GID)
162  login varchar(128) NOT NULL default '',               # Nom d'utilisateur
163  pass varchar(64) NOT NULL default '',                 # Mot de passe
164  enabled set('y','n') NOT NULL default 'y',            # Le compte est-il actif ?
165  su tinyint(4) NOT NULL default '0',                   # Le compte est-il super-admin ?
166  mail varchar(128) NOT NULL default '',                # Adresse email du possesseur
167  lastaskpass bigint(20) unsigned default '0',          # Date de dernière demande du pass par mail
168  show_help tinyint(4) NOT NULL default '1',            # Faut-il afficher l'aide dans le bureau
169  lastlogin datetime NOT NULL default '0000-00-00 00:00:00',    # Date du dernier login
170  lastfail tinyint(4) NOT NULL default '0',             # Nombre d'échecs depuis le dernier login
171  lastip varchar(255) NOT NULL default '',              # Nom DNS du client au dernier login
172  creator int(10) unsigned default '0',                 # Qui a créé le compte (quel uid admin)
173  canpass tinyint(4) default '1',                       # L'utilisateur peut-il changer son pass.
174  warnlogin tinyint(4) default '0',                     # TODO L'utilisateur veut-il recevoir un mail quand on se loggue sur son compte ?
175  warnfailed tinyint(4) default '0',                    # TODO L'utilisateur veut-il recevoir un mail quand on tente de se logguer sur son compte ?
176  admlist tinyint(4) default '0',                       # Mode d'affichage de la liste des membres pour les super admins
177  PRIMARY KEY  (uid),
178  UNIQUE KEY k_login (login)
179) TYPE=MyISAM COMMENT='Liste des membres du serveur';
180
181#
182# Structure de la table `quotas`
183#
184# Listes des quotas des membres
185
186CREATE TABLE IF NOT EXISTS quotas (
187  uid int(10) unsigned NOT NULL default '0',            # Numéro GID du membre concerné
188  name varchar(64) NOT NULL default '',                 # Nom du quota
189  total int(11) NOT NULL default '0',                   # Quota total (maximum autorisé)
190  used int(11) NOT NULL default '0',                    # Quota utilisé
191  PRIMARY KEY  (uid,name)
192) TYPE=MyISAM COMMENT='Quotas des Membres';
193
194#
195# Structure de la table `sessions`
196#
197# Sessions actives sur le bureau
198
199CREATE TABLE IF NOT EXISTS sessions (
200  sid varchar(32) NOT NULL default '',                  # Cookie de session (md5)
201  uid int(10) unsigned NOT NULL default '0',            # UID du membre concerné
202  ip int(10) unsigned NOT NULL default '0'              # Adresse IP de la connexion
203) TYPE=MyISAM COMMENT='Session actives sur le bureau';
204
205#
206# Structure de la table `stats`
207#
208# Jeux de statistiques des membres
209
210CREATE TABLE IF NOT EXISTS stats (
211  id int(10) unsigned NOT NULL auto_increment,          # Numéro du jeu de statistiques
212  uid int(10) unsigned NOT NULL default '0',            # Numéro GID du membre concerné
213  hostname varchar(255) NOT NULL default '',            # Nom fqdn dont on sort les statistiques
214  dir varchar(255) NOT NULL default '',                 # Répertoire dans lequel on stocke les statistiques
215  lang enum('FR','EN') NOT NULL default 'FR',           # Langue de sortie des statistiques
216  PRIMARY KEY  (id)
217) TYPE=MyISAM COMMENT='Statistiques web par Webalizer';
218
219#
220# Structure de la table `sub_domaines`
221#
222# Sous-domaines des membres
223
224CREATE TABLE IF NOT EXISTS sub_domaines (
225  compte int(10) unsigned NOT NULL default '0',
226  domaine varchar(64) NOT NULL default '',
227  sub varchar(100) NOT NULL default '',
228  valeur varchar(255) default NULL,
229  type int(1) NOT NULL default '0',
230  PRIMARY KEY  (compte,domaine,sub)
231) TYPE=MyISAM;
232
233#
234# Structure de la table `sub_domaines_standby`
235#
236# Table temporaire des sous-domaines des membres utilisée par le cron
237
238CREATE TABLE IF NOT EXISTS sub_domaines_standby (
239  compte int(10) unsigned NOT NULL default '0',
240  domaine varchar(64) NOT NULL default '',
241  sub varchar(100) NOT NULL default '',
242  valeur varchar(255) default NULL,
243  type int(1) NOT NULL default '0',
244  action int(1) NOT NULL default '0',
245  PRIMARY KEY  (compte,domaine,sub,action)
246) TYPE=MyISAM;
247
248#
249# Structure de la table `stats2`
250#
251# Liste des jeux de stat brutes demandées sur le serveur
252
253CREATE TABLE IF NOT EXISTS stats2 (
254  id int(10) unsigned NOT NULL auto_increment,  # Numéro du jeu de stat brut
255  mid int(10) unsigned NOT NULL default '0',    # Numéro de l'utilisateur
256  hostname varchar(255) NOT NULL default '',    # Domaine concerné
257  folder varchar(255) NOT NULL default '',      # Dossier de stockage des logs
258  PRIMARY KEY  (id),
259  KEY mid (mid)
260) TYPE=MyISAM COMMENT='Statistiques apaches brutes';
261
262
263#
264# Structure de la table `defquotas`
265#
266# Quotas par défaut pour les services
267
268CREATE TABLE IF NOT EXISTS defquotas (
269  quota varchar(128),                           # Nom du quota
270  value bigint(20) unsigned default '0'         # Valeur du quota
271) TYPE=MyISAM;
272
273#
274# Structure de la table `forbidden_domains`
275#
276# Liste des domaines explicitement interdits sur le serveur :
277
278CREATE TABLE IF NOT EXISTS forbidden_domains (
279  domain varchar(255) NOT NULL default '',
280  PRIMARY KEY  (domain)
281) TYPE=MyISAM COMMENT='forbidden domains to install';
282
283#
284# Contenu de la table `forbidden_domains`
285#
286
287# Registries :
288INSERT IGNORE INTO forbidden_domains VALUES ('afilias.net');
289INSERT IGNORE INTO forbidden_domains VALUES ('afnic.fr');
290INSERT IGNORE INTO forbidden_domains VALUES ('dns.be');
291INSERT IGNORE INTO forbidden_domains VALUES ('internic.net');
292INSERT IGNORE INTO forbidden_domains VALUES ('netsol.com');
293INSERT IGNORE INTO forbidden_domains VALUES ('nic.biz');
294INSERT IGNORE INTO forbidden_domains VALUES ('nic.cx');
295INSERT IGNORE INTO forbidden_domains VALUES ('nic.fr');
296INSERT IGNORE INTO forbidden_domains VALUES ('verisign.com');
297INSERT IGNORE INTO forbidden_domains VALUES ('octopuce.com');
298INSERT IGNORE INTO forbidden_domains VALUES ('pir.org');
299INSERT IGNORE INTO forbidden_domains VALUES ('cira.ca');
300# big isp :
301INSERT IGNORE INTO forbidden_domains VALUES ('aol.com');
302INSERT IGNORE INTO forbidden_domains VALUES ('hotmail.com');
303INSERT IGNORE INTO forbidden_domains VALUES ('microsoft.com');
304INSERT IGNORE INTO forbidden_domains VALUES ('sympatico.ca');
305INSERT IGNORE INTO forbidden_domains VALUES ('tiscali.fr');
306INSERT IGNORE INTO forbidden_domains VALUES ('voila.fr');
307INSERT IGNORE INTO forbidden_domains VALUES ('wanadoo.fr');
308INSERT IGNORE INTO forbidden_domains VALUES ('yahoo.com');
309INSERT IGNORE INTO forbidden_domains VALUES ('yahoo.fr');
310
311#
312# Structure de la table `tld`
313#
314# Liste des tld autorisés sur ce serveur :
315
316CREATE TABLE IF NOT EXISTS tld (
317  tld varchar(128) NOT NULL default '',         # lettres du tld (sans le .)
318  mode tinyint(4) NOT NULL default '0',         # Comment est-il autorisé ?
319  PRIMARY KEY  (tld),
320  KEY mode (mode)
321) TYPE=MyISAM COMMENT='TLD autorisés et comment sont-ils autorisés ? ';
322
323#
324# Contenu de la table `tld`
325#
326
327INSERT IGNORE INTO tld VALUES ('fr', 4);
328INSERT IGNORE INTO tld VALUES ('com', 1);
329INSERT IGNORE INTO tld VALUES ('org', 1);
330INSERT IGNORE INTO tld VALUES ('net', 1);
331INSERT IGNORE INTO tld VALUES ('biz', 1);
332INSERT IGNORE INTO tld VALUES ('info', 1);
333INSERT IGNORE INTO tld VALUES ('name', 1);
334INSERT IGNORE INTO tld VALUES ('ca', 1);
335INSERT IGNORE INTO tld VALUES ('be', 1);
336INSERT IGNORE INTO tld VALUES ('eu.org', 4);
337INSERT IGNORE INTO tld VALUES ('cjb.net', 4);
338INSERT IGNORE INTO tld VALUES ('asso.fr', 4);
339
Note: See TracBrowser for help on using the repository browser.