Entwicklerhandbuch/Repositorieverwaltung: Unterschied zwischen den Versionen

Aus Delixs
Zur Navigation springen Zur Suche springen
(Links)
Zeile 1: Zeile 1:
__NOTOC__
{{Uberarbeiten}}
'''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 sftp benutzen. Ein login ist ausschliesslich über einen ssh-key möglich.
Der Benutzer '''dupload''' hat über die sshd_config ein chroot unterhalb von ''$REPOSITORYROOT/mini-dinstall/incoming'' und darf nur sftp 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.
Die Pakete werden daraufhin einsortiert und die Releases signiert.
Die Pakete werden daraufhin einsortiert und die Releases signiert.


= Aufbau des Repositories =
= Aufbau des Repositories =
* URL: deb.delixs.de
* URL: deb.delixs.de
* aramec für den 1. Wurf
* 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
Nachfolgend Vorschläge über die Konfigurationsdateien der beteiligten Dienste
== Apache ==
== Apache ==
<source lang="apache">
<source lang="apache">
deb.delixs.de
deb.delixs.de
</source>
</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'''


Zeile 46: Zeile 63:
[delixs1-testing]
[delixs1-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, der im incoming Verzeichnis von mini-dinstall eingesperrt ist. Für ihn lassen wir ausschliesslich einen Zugang per ssh-key zu.
Um nicht allen Entwicklern einen ssh-login auf dem dev-server geben zu müssen, legen wir den Benutzer dupload ''(debian-upload)'' ein, der im incoming Verzeichnis von mini-dinstall eingesperrt ist. 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.


== sftp-chroot ==
== sftp-chroot ==
Der Benutzer dupload bekommt keine loginshell, er darf nur sftp zum Hoch/runterladen benutzen:
Der Benutzer dupload bekommt keine loginshell, er darf nur sftp zum Hoch/runterladen benutzen:
<source lang="bash">
<source lang="bash">
Subsystem sftp internal-sftp
Subsystem sftp internal-sftp
Zeile 63: Zeile 85:
     ForceCommand internal-sftp
     ForceCommand internal-sftp
</source>
</source>


== incron Setup ==
== incron Setup ==
brauchen wir ein seperates incron-setup oder funktioniert auch der dnotify-Support unter lenny?
brauchen wir ein seperates incron-setup oder funktioniert auch der dnotify-Support unter lenny?


== gpg-key ==
== gpg-key ==
Zwei Möglichkeiten
Zwei Möglichkeiten
# wir hinterlegen das Passwort auf der Platte im Klartext
# wir hinterlegen das Passwort auf der Platte im Klartext
Zeile 74: Zeile 100:
Nachteil bei Möglichkeit 1: unsicher<br>
Nachteil bei Möglichkeit 1: unsicher<br>
Nachteil bei Möglichkeit 2: man muss mind. nach jedem Reboot den agent wieder mit dem PW füttern
Nachteil bei Möglichkeit 2: man muss mind. nach jedem Reboot den agent wieder mit dem PW füttern
== Weblinks ==
* [http://wiki.debianforum.de/EigenesRepository wiki.debianforum.de/EigenesRepository]
----
<div align="right">[[Entwicklerhandbuch|zurück]] | [[Hauptseite]]</div>
Thorsten Strusch 2009

Version vom 18. November 2009, 10:01 Uhr

Uberarbeiten Diese Seite sollte nochmals überarbeitet werden. Eine Begründung befindet sich in der Regel unter Diskussion (oben).


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 sftp 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

<source lang="apache"> deb.delixs.de </source>


mini-dinstall

Pfad wo das Repository auf dem dev-Server liegt: /home/deb.delixs.de

=> Wollen wir mini-dinstall als root oder als seperater User laufen lassen?

<source lang="properties"> $ cat /home/$USER/.mini-dinstall.conf

  1. Adapted Colin's mini-dinstall.conf
  2. Infos unter /usr/share/doc/dput
  3. und http://debiananwenderhandbuch.de/mini-dinstall.html

[DEFAULT] architectures = all, i386 archivedir = /home/deb.delixs.de/delixs/ use_dnotify = 0 verify_sigs = 0

  1. aktivieren, sobald key erzeugt ist
  2. 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

  1. Releases:

[aramec] [delixs1] [delixs1-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, der im incoming Verzeichnis von mini-dinstall eingesperrt ist. 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.


sftp-chroot

Der Benutzer dupload bekommt keine loginshell, er darf nur sftp zum Hoch/runterladen benutzen:

<source lang="bash"> Subsystem sftp internal-sftp Match user dupload

   ChrootDirectory $REPOSITORYROOT/mini-dinstall/incoming
   X11Forwarding no
   AllowTcpForwarding no
   ForceCommand internal-sftp

</source>


incron Setup

brauchen wir ein seperates incron-setup oder funktioniert auch der dnotify-Support unter lenny?


gpg-key

Zwei Möglichkeiten

  1. wir hinterlegen das Passwort auf der Platte im Klartext
  2. wir benutzen den gpg-agent, der es eine Weile im Speicher behält

Nachteil bei Möglichkeit 1: unsicher
Nachteil bei Möglichkeit 2: man muss mind. nach jedem Reboot den agent wieder mit dem PW füttern


Weblinks



zurück | Hauptseite


Thorsten Strusch 2009