Entwicklerhandbuch/Repositorieverwaltung: Unterschied zwischen den Versionen
(→mini-dinstall: Vorschlag zum Aufbau des Repositories) |
(Kat) |
||
(11 dazwischenliegende Versionen von 2 Benutzern werden nicht angezeigt) | |||
Zeile 1: | Zeile 1: | ||
{{EditStatus|2|ThorstenStrusch}} | |||
'''Auf dieser Seite wird das Setup des dev-servers beschrieben. Möglicherweise gehört diese Seite ins trac!''' | '''Auf dieser Seite wird das Setup des dev-servers beschrieben. Möglicherweise gehört diese Seite ins trac!''' | ||
= Funktionsweise = | = Funktionsweise = | ||
Der Benutzer '''dupload''' hat über die sshd_config ein chroot unterhalb von ''$REPOSITORYROOT/mini-dinstall/incoming'' und darf nur | |||
Der Benutzer '''dupload''' hat über die sshd_config ein chroot unterhalb von ''$REPOSITORYROOT/mini-dinstall/incoming'' und darf nur scp benutzen. Ein login ist ausschliesslich über einen ssh-key möglich. | |||
incron überwacht das Repository auf eine .changes-Datei und stößt nach einem ''"IN_MODIFY,IN_CREATE"'' das Script mini-dinstall --batch aus. | incron überwacht das Repository auf eine .changes-Datei und stößt nach einem ''"IN_MODIFY,IN_CREATE"'' das Script mini-dinstall --batch aus. | ||
Zeile 7: | Zeile 13: | ||
= Aufbau des Repositories = | = Aufbau des Repositories = | ||
* URL: deb.delixs.de | * URL: deb.delixs.de | ||
* aramec für den 1. Wurf | |||
* delixs1 für lenny als Unterbau | * delixs1 für lenny als Unterbau | ||
* delixs2 für squeezy als Unterbau | * delixs2 für squeezy als Unterbau | ||
= Konfigurationen = | = Konfigurationen = | ||
Nachfolgend Vorschläge über die Konfigurationsdateien der beteiligten Dienste | |||
== Apache == | == Apache == | ||
die Datei /etc/apache2/sites-available/deb.delixs.de | |||
<source lang="apache"> | |||
<VirtualHost *:80> | |||
ServerAdmin webmaster@delixs.de | |||
ServerName deb.delixs.de | |||
DocumentRoot /home/deb.delixs.de/ | |||
ErrorLog /var/log/apache2/error.log | |||
# Possible values include: debug, info, notice, warn, error, crit, | |||
# alert, emerg. | |||
LogLevel warn | |||
CustomLog /var/log/apache2/access.log combined | |||
ServerSignature On | |||
</VirtualHost> | |||
</source> | |||
== mini-dinstall == | == mini-dinstall == | ||
Pfad wo das Repository auf dem dev-Server liegt: '''/home/deb.delixs.de''' | Pfad wo das Repository auf dem dev-Server liegt: '''/home/deb.delixs.de''' | ||
<source lang="properties"> | <source lang="properties"> | ||
Zeile 30: | Zeile 59: | ||
use_dnotify = 0 | use_dnotify = 0 | ||
verify_sigs = 0 | verify_sigs = 0 | ||
extra_keyrings = ~/.gnupg/pubring.gpg | |||
mail_on_success = 1 | mail_on_success = 1 | ||
archive_style = simple-subdir | archive_style = simple-subdir | ||
Zeile 40: | Zeile 68: | ||
# Releases: | # Releases: | ||
[aramec] | [aramec] | ||
[ | [testing] | ||
</source> | </source> | ||
== Benutzer dupload == | == Benutzer dupload == | ||
Um nicht allen Entwicklern einen ssh-login auf dem dev-server geben zu müssen, legen wir den Benutzer dupload ''(debian-upload)'' ein | |||
Um nicht allen Entwicklern einen ssh-login auf dem dev-server geben zu müssen, legen wir den Benutzer dupload ''(debian-upload)'' ein. | |||
In seinem Heimverzeichnis ist der Ordner incoming, auf den ein links von mini-dinstall/ioncoming zeigt. | |||
Für ihn lassen wir ausschliesslich einen Zugang per ssh-key zu. | |||
Sollte einmal der private-Teil verloren gehen, muss er bei allen Entwicklern ausgetauscht werden. | Sollte einmal der private-Teil verloren gehen, muss er bei allen Entwicklern ausgetauscht werden. | ||
== | == scp-chroot == | ||
Der Benutzer dupload bekommt | |||
Der Benutzer dupload bekommt als loginshell /usr/bin/rssh, über die /etc/rssh.conf ist ihm nur scp erlaubt. | |||
== incron Setup == | == incron Setup == | ||
brauchen wir ein seperates incron-setup oder funktioniert auch der dnotify-Support unter lenny? | |||
== gpg-key == | == gpg-key == | ||
Jeder User benötigt einen eigenen gpg-key. Der öffentliche key muss in der ML bekannt gegeben werden, damit er auf dem Server in das Schlüsselbund eingefügt werden kann. | |||
== Weblinks == | |||
* [http://wiki.debianforum.de/EigenesRepository wiki.debianforum.de/EigenesRepository] | |||
---- | |||
<div align="right">[[Entwicklerhandbuch|zurück]] | [[Hauptseite]]</div> | |||
Thorsten Strusch 2009 | |||
[[Kategorie:Entwicklerhinweise]] | |||
Aktuelle Version vom 17. April 2011, 09:40 Uhr
Diese Seite ist momentan eine Baustelle im Zustand: 2
-
0
-
1
-
2
-
3
-
4
Auf dieser Seite wird das Setup des dev-servers beschrieben. Möglicherweise gehört diese Seite ins trac!
Funktionsweise
Der Benutzer dupload hat über die sshd_config ein chroot unterhalb von $REPOSITORYROOT/mini-dinstall/incoming und darf nur scp benutzen. Ein login ist ausschliesslich über einen ssh-key möglich.
incron überwacht das Repository auf eine .changes-Datei und stößt nach einem "IN_MODIFY,IN_CREATE" das Script mini-dinstall --batch aus. Die Pakete werden daraufhin einsortiert und die Releases signiert.
Aufbau des Repositories
- URL: deb.delixs.de
- aramec für den 1. Wurf
- delixs1 für lenny als Unterbau
- delixs2 für squeezy als Unterbau
Konfigurationen
Nachfolgend Vorschläge über die Konfigurationsdateien der beteiligten Dienste
Apache
die Datei /etc/apache2/sites-available/deb.delixs.de <source lang="apache"> <VirtualHost *:80>
ServerAdmin webmaster@delixs.de ServerName deb.delixs.de DocumentRoot /home/deb.delixs.de/
ErrorLog /var/log/apache2/error.log
# Possible values include: debug, info, notice, warn, error, crit, # alert, emerg. LogLevel warn
CustomLog /var/log/apache2/access.log combined ServerSignature On
</VirtualHost> </source>
mini-dinstall
Pfad wo das Repository auf dem dev-Server liegt: /home/deb.delixs.de
<source lang="properties"> $ cat /home/$USER/.mini-dinstall.conf
- Adapted Colin's mini-dinstall.conf
- Infos unter /usr/share/doc/dput
- und http://debiananwenderhandbuch.de/mini-dinstall.html
[DEFAULT] architectures = all, i386 archivedir = /home/deb.delixs.de/delixs/ use_dnotify = 0 verify_sigs = 0 extra_keyrings = ~/.gnupg/pubring.gpg mail_on_success = 1 archive_style = simple-subdir poll_time = 10 mail_log_level = NONE generate_release = 1 release_description = delixs Packages
- Releases:
[aramec] [testing] </source>
Benutzer dupload
Um nicht allen Entwicklern einen ssh-login auf dem dev-server geben zu müssen, legen wir den Benutzer dupload (debian-upload) ein. In seinem Heimverzeichnis ist der Ordner incoming, auf den ein links von mini-dinstall/ioncoming zeigt. Für ihn lassen wir ausschliesslich einen Zugang per ssh-key zu.
Sollte einmal der private-Teil verloren gehen, muss er bei allen Entwicklern ausgetauscht werden.
scp-chroot
Der Benutzer dupload bekommt als loginshell /usr/bin/rssh, über die /etc/rssh.conf ist ihm nur scp erlaubt.
incron Setup
brauchen wir ein seperates incron-setup oder funktioniert auch der dnotify-Support unter lenny?
gpg-key
Jeder User benötigt einen eigenen gpg-key. Der öffentliche key muss in der ML bekannt gegeben werden, damit er auf dem Server in das Schlüsselbund eingefügt werden kann.
Weblinks
Thorsten Strusch 2009