Entwicklerhandbuch/Repositorieverwaltung: Unterschied zwischen den Versionen

Aus Delixs
Zur Navigation springen Zur Suche springen
K (→‎Apache: den vHost angegeben)
(Kat)
 
(4 dazwischenliegende Versionen von einem anderen Benutzer werden nicht angezeigt)
Zeile 1: Zeile 1:
__NOTOC__
{{EditStatus|2|ThorstenStrusch}}  
{{Uberarbeiten}}




Zeile 49: Zeile 48:


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'''
=> '''Wollen wir mini-dinstall als root oder als seperater User laufen lassen?'''


<source lang="properties">
<source lang="properties">
Zeile 62: Zeile 59:
use_dnotify = 0
use_dnotify = 0
verify_sigs = 0
verify_sigs = 0
# aktivieren, sobald key erzeugt ist
extra_keyrings = ~/.gnupg/pubring.gpg
#extra_keyrings = ~/.gnupg/pubring.gpg
mail_on_success = 1
mail_on_success = 1
archive_style = simple-subdir
archive_style = simple-subdir
Zeile 72: Zeile 68:
# Releases:
# Releases:
[aramec]
[aramec]
[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.
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 ==


== sftp-chroot ==
Der Benutzer dupload bekommt als loginshell /usr/bin/rssh, über die /etc/rssh.conf ist ihm nur scp erlaubt.
 
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 ==
== incron Setup ==
Zeile 105: Zeile 90:


== 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.
Zwei Möglichkeiten
# wir hinterlegen das Passwort auf der Platte im Klartext
# wir benutzen den gpg-agent, der es eine Weile im Speicher behält
 
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
 
 


== Weblinks ==
== Weblinks ==
Zeile 123: Zeile 100:
<div align="right">[[Entwicklerhandbuch|zurück]] | [[Hauptseite]]</div>
<div align="right">[[Entwicklerhandbuch|zurück]] | [[Hauptseite]]</div>


Thorsten Strusch 2009


Thorsten Strusch 2009
[[Kategorie:Entwicklerhinweise]]

Aktuelle Version vom 17. April 2011, 09:40 Uhr

Diese Seite ist momentan eine Baustelle im Zustand: 2

Wird bearbeitet von: ThorstenStrusch
Hilfe zum Bearbeitungsstatus: Hilfe:Status eines Artikels


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

  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 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] [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



zurück | Hauptseite

Thorsten Strusch 2009