Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente | ||
doc:dak:installation_de_dak_sur_ondine [2005/08/03 11:55] lehobey |
doc:dak:installation_de_dak_sur_ondine [2005/08/03 18:06] (Version actuelle) lehobey |
||
---|---|---|---|
Ligne 2: | Ligne 2: | ||
Notes de mon installation de dak sur ondine (d'après plusieurs journaux de telles installations). | Notes de mon installation de dak sur ondine (d'après plusieurs journaux de telles installations). | ||
+ | |||
+ | [[projet:machines:Ondine]] est une machine de test en **sarge**. | ||
Je suis la procédure du [[/usr/share/doc/dak/README.Debian]] dont j'ai aussi fait une [[README.Debian.fr|traduction française]]. | Je suis la procédure du [[/usr/share/doc/dak/README.Debian]] dont j'ai aussi fait une [[README.Debian.fr|traduction française]]. | ||
- | ===== Installation ===== | + | ===== Installations ===== |
==== Installation de dak ==== | ==== Installation de dak ==== | ||
Ligne 29: | Ligne 31: | ||
== Nom de votre archive : == | == Nom de votre archive : == | ||
- | FDL ondine archive | + | archive FDL (ondine) |
== The name of your dak user. == | == The name of your dak user. == | ||
Ligne 41: | Ligne 43: | ||
**NB** : Il ne demande rien sur le groupe //debuser//. | **NB** : Il ne demande rien sur le groupe //debuser//. | ||
- | == Action souhaitée pour katie.conf : == | + | [[sortie aptitude dak|Résultat]]. |
- | Le fichier de configuration /opt/dak/katie/katie.conf présent dans l'ancien paquet et celui dans le nouveau paquet diffèrent. D'autre part, votre version actuelle est aussi différente de celle fournie par l'ancien paquet, ce qui signifie que vous (ou un script) l'avez modifiée. | + | |
- | //Je me demande pourquoi il me pose cette question. Une anomalie ? Une machine mal nettoyée de mes essais précédents ?// | + | ==== Installation de postgresql ==== |
- | Installer la version du responsable du paquet | + | Je suis : |
+ | <file> | ||
+ | 6. Steps to a working dak | ||
+ | ------------------------- | ||
- | Idem pour ... (raté) et Contents.top. | + | a. Have your postgresql up and running. I assume it is on the localhost, |
+ | if not change your config files (katie.conf) for dak. | ||
+ | </file> | ||
+ | |||
+ | # aptitude install postgresql | ||
- | === Résultat === | ||
<code> | <code> | ||
- | Paramétrage de dak (1.0-8) ... | + | Les NOUVEAUX paquets suivants vont être installés : |
- | Domain: localhost.localdomain | + | postgresql postgresql-client |
- | Creating/updating dak user account and group... | + | </code> |
- | Adding group `debadmin' (105)... | + | |
+ | === Réponses aux questions debconf === | ||
+ | |||
+ | == Où créer la base de données de PostgreSQL ? == | ||
+ | /var/lib/postgres/data | ||
+ | |||
+ | == Faut-il supprimer les données à la purge du paquet ? == | ||
+ | Non | ||
+ | |||
+ | == Paramètres régionaux utilisés par le moteur de bases de données : == | ||
+ | fr_FR@euro | ||
+ | |||
+ | == ordre jour/mois des dates == | ||
+ | Européen | ||
+ | |||
+ | [[sortie aptitude postgresql|Résultat]]. | ||
+ | |||
+ | Et le paquet nous informe : | ||
+ | <file> | ||
+ | A new PostgreSQL database structure was installed. | ||
+ | |||
+ | Use /usr/bin/createdb to create a specific database and | ||
+ | /usr/bin/createuser to enable other users to connect to a | ||
+ | PostgreSQL database. | ||
+ | |||
+ | In the first instance, these commands must be run by the | ||
+ | user 'postgres'. | ||
+ | </file> | ||
+ | |||
+ | ===== Configurations ===== | ||
+ | ==== Création de l'utilisateur de la base ==== | ||
+ | <file> | ||
+ | b. run createuser YOURDAKUSERNAME with a user that is allowed to create | ||
+ | databases and allow YOURDAKUSERNAME to create a database. This user | ||
+ | needs to be superuser in the database as it runs COPY from a file later. | ||
+ | </file> | ||
+ | |||
+ | # su - postgres | ||
+ | $ createuser deb-dak | ||
+ | |||
+ | <code> | ||
+ | Shall the new user be allowed to create databases? (y/n) y | ||
+ | Shall the new user be allowed to create more new users? (y/n) y | ||
+ | CREATE USER | ||
+ | </code> | ||
+ | |||
+ | ==== Création des répertoires (par défaut) ==== | ||
+ | <file> | ||
+ | c. su - YOURDAKUSERNAME | ||
+ | d. rose | ||
+ | e. Watch how the directories are created. | ||
+ | </file> | ||
+ | |||
+ | # su - deb-dak | ||
+ | $ rose | ||
+ | |||
+ | [[sortie rose|Résultat]]. | ||
+ | |||
+ | ==== Création de la base de données de dak ==== | ||
+ | Son nom dans les configurations par défaut est //projectb//. | ||
+ | |||
+ | # su - deb-dak | ||
+ | $ createdb projectb | ||
+ | <code> | ||
+ | CREATE DATABASE | ||
+ | $ psql -l | ||
+ | List of databases | ||
+ | Name | Owner | Encoding | ||
+ | -----------+----------+---------- | ||
+ | projectb | deb-dak | LATIN9 | ||
+ | template0 | postgres | LATIN9 | ||
+ | template1 | postgres | LATIN9 | ||
+ | (3 rows) | ||
+ | |||
+ | </code> | ||
+ | |||
+ | ==== Création du groupe ftpmaster ==== | ||
+ | <file> | ||
+ | f. Add a group "ftpmaster" to your postgresql database. | ||
+ | At a psql prompt a CREATE GROUP ftpmaster; should do it. | ||
+ | Add your YOURDAKUSERNAME to this group. | ||
+ | </file> | ||
+ | |||
+ | # su - deb-dak | ||
+ | $ psql projectb | ||
+ | |||
+ | <code> | ||
+ | Welcome to psql 7.4.7, the PostgreSQL interactive terminal. | ||
+ | |||
+ | Type: \copyright for distribution terms | ||
+ | \h for help with SQL commands | ||
+ | \? for help on internal slash commands | ||
+ | \g or terminate with semicolon to execute query | ||
+ | \q to quit | ||
+ | |||
+ | </code> | ||
+ | |||
+ | projectb=# CREATE GROUP ftpmaster ; | ||
+ | |||
+ | CREATE GROUP | ||
+ | |||
+ | projectb=# ALTER GROUP ftpmaster ADD USER "deb-dak" ; | ||
+ | **NB** la présence des guillemets est expliquée dans l'anomalie [[http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=23945]]. | ||
+ | |||
+ | ALTER GROUP | ||
+ | |||
+ | projectb=# \q | ||
+ | |||
+ | ==== Initialisation de la base de données ==== | ||
+ | <file> | ||
+ | g. Change to your DAKDIR/katie and run /usr/share/dak/neve -a and watch | ||
+ | her creating the database. If it ends with some VACUUM and two GRANTs | ||
+ | it worked. | ||
+ | Be careful, neve DROPS your database, so don't run it if you like the | ||
+ | data that is in that database! | ||
+ | </file> | ||
+ | |||
+ | # su - deb-dak | ||
+ | $ cd /usr/share/dak ; neve -a | ||
+ | **NB :** Le //cd// est important ! | ||
+ | |||
+ | [[sortie neve -a|Résultat]]. | ||
+ | |||
+ | ==== Création des utilisateurs ==== | ||
+ | <file> | ||
+ | h. You need to get your maintainers in the database. The Debian Archive | ||
+ | uses a script (emilie) that syncs with its LDAP Server, but you | ||
+ | probably don't want to sync with Debian's LDAP. :) | ||
+ | If you have a setup with an LDAP Server, look at emilie and their | ||
+ | config options. If not, there is a script called uma which helps you | ||
+ | to do this. You basically give it a keyid with the -k parameter and | ||
+ | it will do the rest, after asking you if you like the action. | ||
+ | If you told it to create a system user for the new account it will | ||
+ | run useradd to do the stuff, for that YOURDAKUSERNAME needs sudo | ||
+ | access to useradd, with NOPASSWD set. It will also add new users to | ||
+ | the mail whitelist file, if you have that option enabled (it is per | ||
+ | default). | ||
+ | </file> | ||
+ | |||
+ | === uma et exim4 === | ||
+ | Il est nécessaire, pour que les courriels d'[[uma]] partent, d'avoir ajouté à ///etc/email-addresses// quelque chose qui ressemble à : | ||
+ | <file> | ||
+ | nobody: LEHOBEY@free.fr | ||
+ | </file> | ||
+ | |||
+ | === uma et sudo === | ||
+ | J'ajoute la ligne suivante à la configuration de sudo (///etc/sudoers//), avec //visudo// : | ||
+ | <file> | ||
+ | deb-dak ALL = NOPASSWD: /usr/sbin/useradd | ||
+ | </file> | ||
+ | |||
+ | === Initialisation du trousseau de deb-dak === | ||
+ | <file> | ||
+ | k. You should setup the keyring for katie now. Do a command similar to | ||
+ | the following, but adjust your path: | ||
+ | gpg --no-default-keyring --keyring /opt/dak/keyrings/keyring.gpg | ||
+ | </file> | ||
+ | |||
+ | Que je comprends comme s'appliquant à l'utilisateur //deb-dak//. | ||
+ | |||
+ | # su - deb-dak | ||
+ | $ gpg --no-default-keyring --keyring /opt/dak/keyrings/keyring.gpg --keyserver pgp.mit.edu --recv-keys 2B022951 | ||
+ | <code> | ||
+ | gpg: directory `/var/lib/dak/.gnupg' created | ||
+ | gpg: new configuration file `/var/lib/dak/.gnupg/gpg.conf' created | ||
+ | gpg: WARNING: options in `/var/lib/dak/.gnupg/gpg.conf' are not yet active during this run | ||
+ | gpg: keyring `/var/lib/dak/.gnupg/secring.gpg' created | ||
+ | gpg: keyring `/opt/dak/keyrings/keyring.gpg' created | ||
+ | gpg: requesting key 2B022951 from hkp server pgp.mit.edu | ||
+ | gpg: key 2B022951: duplicated user ID detected - merged | ||
+ | gpg: /var/lib/dak/.gnupg/trustdb.gpg: trustdb created | ||
+ | gpg: key 2B022951: public key "Frederic LEHOBEY <Frederic.Lehobey@free.fr>" imported | ||
+ | gpg: no ultimately trusted keys found | ||
+ | gpg: Total number processed: 1 | ||
+ | gpg: imported: 1 | ||
+ | </code> | ||
+ | |||
+ | === Création du groupe debuser === | ||
+ | Ce groupe est nécessaire au fonctionnement d'[[uma]]. | ||
+ | |||
+ | # addgroup debuser | ||
+ | <code> | ||
+ | Adding group `debuser' (1001)... | ||
Fait. | Fait. | ||
- | Ajout de l'utilisateur système deb-dak... | ||
- | Adding new user `deb-dak' (104) with group `debadmin'. | ||
- | Création du répertoire personnel /var/lib/dak. | ||
- | Not replacing deleted config file /opt/dak/katie/apt.conf | ||
- | Not replacing deleted config file /opt/dak/katie/cron.unchecked | ||
- | Replacing config file /opt/dak/katie/katie.conf with new version | ||
- | Replacing config file /etc/katie/katie.conf with new version | ||
- | Not replacing deleted config file /opt/dak/katie/vars | ||
- | Replacing config file /opt/dak/katie/Contents.top with new version | ||
- | Creating config file /opt/dak/katie/templates/alicia.bug-close with new version | ||
- | Creating config file /opt/dak/katie/templates/amber.advisory with new version | ||
- | Creating config file /opt/dak/katie/templates/jennifer.accepted with new version | ||
- | Creating config file /opt/dak/katie/templates/jennifer.announce with new version | ||
- | Creating config file /opt/dak/katie/templates/jennifer.bug-close with new version | ||
- | Creating config file /opt/dak/katie/templates/jennifer.bug-experimental-fixed with new version | ||
- | Creating config file /opt/dak/katie/templates/jennifer.bug-nmu-fixed with new version | ||
- | Creating config file /opt/dak/katie/templates/jennifer.new with new version | ||
- | Creating config file /opt/dak/katie/templates/jennifer.override-disparity with new version | ||
- | Creating config file /opt/dak/katie/templates/katie.rejected with new version | ||
- | Creating config file /opt/dak/katie/templates/kelly.installed with new version | ||
- | Creating config file /opt/dak/katie/templates/kelly.unaccept with new version | ||
- | Creating config file /opt/dak/katie/templates/lauren.stable-rejected with new version | ||
- | Creating config file /opt/dak/katie/templates/lisa.bxa_notification with new version | ||
- | Creating config file /opt/dak/katie/templates/lisa.prod with new version | ||
- | Creating config file /opt/dak/katie/templates/melanie.bug-close with new version | ||
- | Creating config file /opt/dak/katie/templates/uma.added with new version | ||
</code> | </code> | ||
+ | |||
+ | === Un exemple de création d'utilisateur === | ||
+ | <file> | ||
+ | i. Repeat step h for every user you have. | ||
+ | </file> | ||
+ | |||
+ | # su - deb-dak | ||
+ | $ uma -k 2B022951 -u lehobey | ||
+ | Option //-u// pour choisir l'identifiant de connexion. | ||
+ | <code> | ||
+ | 0x2B022951 -> Frederic LEHOBEY <Frederic.Lehobey@free.fr> -> lehobey -> 6750B3F2BF04A269B5D7D677289EB5222B022951 | ||
+ | Add user lehobey with above data (y/N) ? y | ||
+ | Added: | ||
+ | Uid: lehobey (ID: 1) | ||
+ | Maint: Frederic LEHOBEY | ||
+ | FP: 6750B3F2BF04A269B5D7D677289EB5222B022951 | ||
+ | </code> | ||
+ | |||
+ | ==== Installation des tâches récurrentes ==== | ||
+ | <file> | ||
+ | j. Install the cronjobs you need. Start with cron.unchecked which is | ||
+ | already copied in /YOURDAKPATH/katie/cron.unchecked and asks | ||
+ | jennifer to process new uploads. The Crontab Debian uses can be found | ||
+ | in /usr/share/doc/dak/crontabs as an example. | ||
+ | </file> | ||
+ | |||
+ | Donc à partir de l'exemple dans [[/usr/share/doc/dak/crontabs/katie.crontab]] j'installe dans les tâches récurrentes de //dak-deb// par | ||
+ | $ crontab -e | ||
+ | le fichier suivant : | ||
+ | <file> | ||
+ | SHELL=/bin/sh | ||
+ | |||
+ | ## Archive maintenance | ||
+ | MAILTO=fdl | ||
+ | 2,17,32,47 * * * * sh /opt/dak/katie/cron.unchecked | ||
+ | </file> | ||
+ | |||
+ | Résumé des changements : | ||
+ | * Remplacement de %%/org/ftp.debian.org/%% par /opt/dak/. | ||
+ | * Suppression de toutes les lignes sauf [[/opt/dak/katie/cron.unchecked]]. | ||
+ | * MAILTO changé de cron@yourhost.yourdomain à fdl (qui existe sur ondine). | ||
+ | |||
+ | === Test de cron.unchecked === | ||
+ | C'est essentiellement [[jennifer]] qui est à l'oeuvre. | ||
+ | $ sh -x /opt/dak/katie/cron.unchecked | ||
+ | [[sortie cron.unchecked|Résultat]]. | ||
+ | |||
+ | ==== Une clef pour ziyi ==== | ||
+ | <file> | ||
+ | l. To let ziyi sign the Release files you need a s3kr1t key. | ||
+ | gpg --gen-key and follow the prompts. Then move it from the home of | ||
+ | YOURDAKUSERNAME to the path of "SigningKeyring" from the | ||
+ | config. Both, public and private key. Write your Keyid in the config | ||
+ | value "SigningKeyIds". Remember that the signing works automagically, | ||
+ | so a passphrase on the key doesnt help... | ||
+ | </file> | ||
+ | |||
+ | # su - deb-dak | ||
+ | $ gpg --gen-key | ||
+ | |||
+ | [[sortie gpg --gen-key|Session]]. | ||
+ | |||
+ | $ cp .gnupg/???ring.gpg /opt/dak/s3kr1t/dot-gnupg/ | ||
+ | |||
+ | Puis modification dans /opt/dak/katie/katie.conf de la ligne | ||
+ | <file> | ||
+ | SigningKeyIds "CHANGETHISONEFORziyi"; | ||
+ | </file> | ||
+ | en | ||
+ | <file> | ||
+ | SigningKeyIds "401FAEF5"; | ||
+ | </file> | ||
+ | Avec au passage un ajout : | ||
+ | <file> | ||
+ | // If defined this address gets a bcc of all mails. | ||
+ | // Bcc "archive@localhost.localdomain"; | ||
+ | Bcc "fdl@ondine"; | ||
+ | </file> | ||
+ | pour surveiller ce qui se passe. | ||
+ | |||
+ | ===== Désinstallations ===== | ||
+ | ==== Désinstallation de dak ==== | ||
+ | Avec les ajouts nécessaires pour contourner l'anomalie de dak dans sarge (avec les valeurs de debconf par défaut). | ||
+ | |||
+ | # aptitude purge dak | ||
+ | |||
+ | Pour virer les configurations oubliées par l'anomalie : | ||
+ | # ucf --purge /opt/dak/katie/apt.conf | ||
+ | # ucf --purge /opt/dak/katie/cron.unchecked | ||
+ | # ucf --purge /opt/dak/katie/katie.conf | ||
+ | # ucf --purge /etc/katie/katie.conf | ||
+ | # ucf --purge /opt/dak/katie/vars | ||
+ | # ucf --purge /opt/dak/katie/Contents.top | ||
+ | |||
+ | Pour faire le propre : | ||
+ | # rm -r /etc/katie | ||
+ | (attention, ci-dessous c'est toute l'archive que le mainteneur a fait exprès de laisser) | ||
+ | # rm -r /opt/dak | ||
+ | |||
+ | **Penser à virer le //crontab// de deb-dak** si on a mis quelque chose dedans. | ||
+ | |||
+ | Pour aussi virer les utilisateur et groupe créés. | ||
+ | # deluser deb-dak | ||
+ | # delgroup debadmin | ||
+ | et s'il a été créé : | ||
+ | # delgroup debuser |