Skip to content

Git-Server auf CentOS ...

centos Eigentlich ist "Git-Server" etwas hoch gegriffen, da als Server-Komponente SSH zum Einsatz kommt. Nichtsdestowenigertrotz ist das Endergebnis ein Git-Repository-Server, den man sehr bequem nutzen kann.

Für den Server habe ich einen User git (UserID 600) angelegt, mit dem die Repositories verwaltet werden sollen und das Homeverzeichnis soll unter /srv/git liegen:
groupadd -g 600 git
useradd -u 600          \
        -g 600          \
        -d /srv/git     \
        -m -s /bin/bash \
        git


Eine Besonderheit unter CentOS ist, dass dort SELinux läuft und wir dem System bekanntgeben müssen, dass es sich bei /srv/git um ein Homeverzeichnis handelt. Die einfachste Methode ist, den Kontext eines bestehenden Homeverzeichnisses auf das neue Verzeichnis zu übertragen.
semanage fcontext -a -e /home/dirk /srv/git
restorecon -R -v /srv/
ls -Zd /srv/git

Zu SELinux gibt es reichlich Dokumentation, ich verweise hier einmal auf den SELinux User's and Administrator's Guide bei RedHat. SELinux kann man auch abschalten, wenn einem der Aufwand zu hoch ist.

Der Rest ist relativ einfach und geht strikt nach der gitolite-Anleitung.

Den eigenen Public-Key (wird benötigt, um gitolite zu verwalten) in das Verzeichnis /srv/git kopieren, für mich hat sich dafür das Format user-host.pub bewährt (ich habe auf jedem Host einen separaten SSH-Key und nutze nicht überall den gleichen).
git clone git://github.com/sitaramc/gitolite
mkdir -p ${HOME}/bin
gitolite/install -to ${HOME}/bin
export PATH=${HOME}/bin:${PATH}
echo 'PATH=${HOME}/bin:${PATH}' >> ${HOME}/.bashrc
gitolite setup -pk user-host.pub


Fertig!

Die restliche Konfiguration läuft über das admin-Repository, das man auschecken muss und dann bearbeitet. Die neue Konfiguration ist direkt nach einem git push aktiv.
git clone git@host:gitolite-admin.git gitolite-admin-host.git


Dort finden sich im keydir-Verzeichnis alle Public Keys von Usern, die Zugriff auf irgendeines der Repositories haben sollen und im Verzeichnis conf liegt die gitolite.conf mit einem Beispiel-Repository.

Viel Spass!

Taskserver auf CentOS 7 ...

centos Im Rahmen meines privaten Migrationsprojektes habe ich natürlich mit Hürden gerechnet, manchmal tauchen die Herausforderungen allerdings an unerwarteten Stellen auf.

Taskserver lässt sich nach Dokumentation relativ leicht installieren. Allerdings läuft bei CentOS 7 ein firewalld mit, der eingehende Verbindungen blockt, was meiner Meinung nach sinnfrei ist, wenn es nur ein Netzwerkinterface hat, aber gut.

Mittels
firewall-cmd --zone=public --add-port=53589/tcp

lässt sich der firewalld überzeugen, eingehende Taskserver-Verbindungen zu akzeptieren.

Serendipity 2.0 RC2 ...

serendipity Tja, aus diesem Grund macht man Releasekandidaten, um möglichst schnell feststellen zu können, ob es noch Probleme gibt, die behoben werden müssen.

Wenn Ihr den RC1 installiert habt, installiert bitte ohne Umweg und ohne über Los zu gehen, den RC2, es ist ein kritischer Fehler gemeldet worden.

Serendipity 2.0-rc2 released

Es ist nur eine Datei betroffen, es ist ausreichend, wenn die ausgetauscht wird:
templates/2k11/admin/overview.inc.tpl

Serendipity 2.0 RC1 ...

serendipity Der erste Release-Kandidat der "besten Blogengine der Welt" wurde am vergangenen Samstag veröffentlicht und steht für eine breitere Masse an Menschen, auch für Dich, zum Test bereit. Ich bitte zu beachten, dass das noch nicht die finale Version ist, aber, da ich die 2.0 seit der Alpha-Version einsetze, vermute ich, dass das Risiko bei einem Wechsel überschaubar ist.

Malte fasst sehr gut die Änderungen in einem Blogartikel zusammen und Matthias schreibt noch ein paar Dinge zum Hintergrund.

Wer mitverfolgt hat, wie sparsam die Versionsnummern bisher aktualisiert wurden, sieht, dass die neue Version ein Riesenschritt beinhaltet. Serendipity ist im Backend deutlich moderner geworden und sieht grossartig aus. Meiner Meinung nach hat sich die Funktionalität durch die Änderungen auch deutlich erhöht.

Ich freue mich riesig darüber, dass sich so viel getan hat. Serendipity hat vielleicht nicht die Verbreitung wie Wordpress, dafür aber eine sehr nette Community, die immer offen für Änderungen und Anpassungen war und ist.

In dem Zusammenhang ist vielleicht zu Erwähnen, dass für 2015 ein Serendipity-Wochenende im Linuxhotel geplant ist. Informationen dazu finden sich im Forum.

Kein guter Start ...

fedora Wie schon vor längerer Zeit angekündigt, wollte ich meinen Hauptrechner auf Fedora umstellen. Interessanterweise hat weder bei der Installation noch danach das Kabel gebundene Netzwerk funktioniert. Das hatte ich bei Linux unabhängig von der Distribution tatsächlich noch nie.

Allerdings war schon spannend, dass ich das WLAN nach der Installation nutzen konnte. Nachdem die Updates eingespielt waren, funktionierte auch Netz über Kabel. Verrückt!

Es wäre klasse, wenn die Installationsmedien entsprechend angepasst würden.

Nachtrag: In den Common F21 bugs, habe ich den Eintrag IP address discovery via DHCP does not work gefunden.

PHP Fortgeschrittene ...

In der letzten Woche durfte ich die Schulung PHP Fortgeschrittene im Linuxhotel besuchen. Gehalten wurde die Schulung von Martin "Joey" Schulze.

Das war mein vierter Aufenthalt im Linuxhotel, aber das erste Mal, dass ich dort eine Schulung besucht habe. Und, ich muss sagen, dass die Schulung grossartig war. Danke Joey! (Lasst Euch von seiner Webseite nicht blenden, er hat wirklich etwas drauf).

Erschreckenderweise - als alter Perl-Liebhaber - muss ich gestehen, dass ich auch von den Möglichkeiten von PHP sehr angetan bin. Da kann man mit relativ wenig Aufwand sehr gute objektorientierte Programme schreiben.

Ich habe viel gelernt!

BTW: PHP muss ich lernen, weil ich in der Firma ein in objektorientiertem PHP geschriebenes System übernehme und erweitern soll. Meine Einarbeitung in PHP - also das Basiswissen - habe ich mir mit diesem Buch angeeignet.

Vielleicht ergibt sich darüber auch die Möglichkeit, "die beste Blogsoftware der Welt" in der Programmierung zu unterstützen.

Der Aufenthalt im Linuxhotel war nett und ich habe es sehr genossen, abends meine Eltern besuchen zu können, so häufig kommt das ja leider nicht mehr vor.

Poodle ...

Es gibt nicht weniger Sicherheitslücken als früher, sie erreichen nur einen grösseren Anwenderkreis.

Die neueste Lücke betrifft die Version 3 von SSL und nennt sich Poodle. Ich zitiere einmal aus dem verlinkten Wikipedia-Artikel:

Mozilla Firefox deaktiviert ab Version 34 SSL 3. In älteren Versionen muss unter about:config der Wert security.tls.version.min auf 1 gesetzt werden.

In Google Chrome und Chromium wird SSL 3 manuell auf der Kommandozeile mit dem Parameter -ssl-version-min=tls1 abgeschaltet.

Im Internet Explorer muss unter "Internetoptionen" > "Erweitert" > "Sicherheit" der Haken bei "SSL 3 verwenden" entfernt werden. Lediglich der ursprünglich mit Windows XP ausgelieferte Browser Internet Explorer 6 unterstützt das nachfolgende TLS 1.0 noch nicht.


Meiner Erinnerung nach war das schon länger bekannt, es kocht gerade nur wieder einmal hoch.

Bloonix wird Open-Source-Software ...

Der Monitoring-Dienst Bloonix von Jonny Schulz wird Open-Source-Software. Über den Dienst habe ich hier im Blog schon einmal berichtet.

Ich freue mich sehr darüber, da ich das für eine ausgereifte Lösung halte, die von Jonny mit viel Liebe gepflegt wird. Ausserdem ist es an der Zeit, dass es eine weitere Alternative zu den derzeitigen Platzhirschen gibt.

Well done!

In dem Zusammenhang: Mein privater Server wird von Bloonix überwacht.

Taskwarrior 2.4.0 beta1 ...

taskwarrior Gestern Abend hat die erste Beta von Taskwarrior 2.4.0 das Licht der Welt erblickt.

Es ändert sich eine Menge. Leider fallen mit Version 2.4.0 die alten "Synchronisations"-Mechanismen, die auf Curl aufsetzen weg. Mit Taskserver gibt es eine neue Möglichkeit, die Aufgaben zu synchronisieren.

Dafür gibt es eine Reihe neuer Features, die drei, die für mich herausragen sind:
  • Calc command task calc '1 + 1' Hint: it's '2', but it's a beta, so who knows? And yes, it can do more than that. Enhanced DOM support task add due:123.due Date math task add ... due:eom wait:'due - 1week'


Es gibt aber deutlich mehr Änderungen, die im News-Artikel erwähnt sind und noch weitere, die im Changelog zu finden sind.

Testet bitte reichlich und gebt uns Rückmeldungen.

Was eine Community braucht ...

perl Als Nachschlag zu diesem Artikel kamen in der gleichen Keynote noch ein paar Bemerkungen, zu dem, was eine (Perl-)Community braucht.

Das lässt sich eins-zu-eins auch auf andere Communities beziehen, deswegen schreibe ich das hier im Blog.

Eine Community braucht:
  • producers
  • consumers
  • critics
  • curators


Ich würde lieber "creators" statt "producers" schreiben, dann fängt alles wenigstens mit "c" an.

Jede Community braucht also Erzeuger (oder Gestalter oder Produzenten) von Inhalten und Programmen und was die Community auch immer ausmacht. Es werden Konsumenten benötigt, die die Erzeugnisse auch benutzen. Konstruktive (!) Kritik ist wichtig, nicht nur "Verneiner" oder Menschen, die das Schild "Dagegen" hochhalten. Und zusätzlich werden Menschen gebraucht, die die Inhalte verwalten, weiterpflegen und auch Werbung dafür machen.

Wenn man sich das anschaut, so gilt das für jede Community und auch jeden Verein.

Brian d foy fasst das drumherum in einem weiteren Blog-Artikel bezogen auf die Perl-Community zusammen:

[...]
The Perl projects that survive and do well are the ones that have constant human input and have someone who pays attention to them everyday. It's not enough to have a webpage or a Twitter account, or to upload some code.
[...]
It's not something that we can optimize or automate away. We've seen what happens when we do that: no one sticks around. If you want to build community, you need dedicated organizers and agitators who personally interact with people to find out what they think and want. You can't get that from surveys. Someone needs their finger on the zeitgeist.
[...]


Also übersetzt und kurz zusammengefasst. Es überleben nur die Projekte, die aktiv sind und regelmässig (täglich) gepflegt werden. Definitiv nicht ausreichend ist es, nur eine Webseite oder einen Twitteraccount zu erstellen und etwas Inhalt hinzuzufügen. Das kann nicht automatisiert werden, es muss Leute geben, die persönlich mit Menschen interagieren, um herauszufinden, was gewünscht wird. Das bekommt man nicht durch Umfragen heraus, jemand muss den Zeitgeist spüren.

Vielleicht ist das auch der Grund, weshalb wir mit DeimHart einen solchen Erfolg haben oder weshalb die deutsch sprachige Ubuntu-Community in Summe ein Erfolgsmodell ist.

Die Abkürzung "JFDI" sieht auch wie "Jedi", deswegen mag ich sie. Sie steht für "Just fucking do it". Wenn Ihr Euch irgendwo beteiligen könnt, macht es einfach.

Roman wird vermisst

deimhart Da mein Blog eine andere Leserschaft hat als DeimHart erwähne ich das hier noch einmal.

Roman Hanhart wird vermisst!

Die offizielle Meldung und hier der Artikel bei DeimHart.

Bitte teilt die Links reichlich und meldet Euch bitte bei der Kantonspolizei in Bülach, wenn Ihr etwas wisst.

Danke!

Die eigene Wolke ...

Ich habe das Folgende ja für wirklich gut gehalten bis ich gesehen habe, dass Dropbox für 1 TB nur noch 10 Euro monatlich nimmt, den Artikel möchte ich trotzdem veröffentlichen, weil mich Euer Feedback interessiert.

Ich habe hin und her gerechnet und spiele mit dem Gedanken "Cloud-Storage" mit ownCloud zur Verfügung zu stellen bzw. anzubieten. "Cloud-Storage" steht aus zweierlei Gründen in Anführungszeichen. Zum Einen gibt es den Speicherplatz nur auf einem Server mit Hardware-RAID-Controller und nicht auf mehreren Servern. Zum Anderen gibt es kein Backup der Daten. Dafür ist das Angebot aber günstig, sehr günstig, wie ich finde.

Ausser ownCloud wird auf dem Server kein weiterer Dienst angeboten, ich kann mir maximal noch ein Forum für Absprachen und eventuell ein Wiki vorstellen, aber mehr sicherlich nicht.

500 GB gibt es für 10 Euro im Monat und einmalig 10 Euro für das Setup (Die Setup-Gebühr wird, sobald Gewinn erwirtschaftet wird, wieder rückerstattet).

Da die Verschlüsselung von ownCloud nur serverseitig läuft, wird sie nicht benutzt. Es wäre Augenwischerei zu glauben, dass die Daten sicher sind und "security by obscurity" liegt mir nicht. Die Daten sollten clientseitig verschlüsselt werden.

Es werden Leute gebraucht, die 34 Pakete á 500 GB bezahlen, um dieses Projekt auf plus-minus-null zu finanzieren. Mehrere Pakete pro Person sind natürlich möglich.

Im Server kommen zwei gespiegelte Systemfestplatten und ein Hardware-RAID6-System mit 13 Festplatten zum Einsatz, zwei davon fungieren als "Hot-Spare-Devices", die im Fall eines Ausfalls eine defekte Platte "on the fly" ersetzen können.

Wenn drei oder mehr Daten-Festplatten gleichzeitig ausfallen, werden Daten verloren gehen.

Es gibt keine Garantie für die Verfügbarkeit, es gibt keine Garantie gegen Datenverlust. Das ist eine rein private Initiative. Die Abrechnung erfolgt zu 100% transparent. Erwirtschaftete Gewinne werden zurückgelegt, um eventuell weitere Server zu mieten oder Zahlungsausfälle zu verkraften. Weitere Server würden es erlauben, zwischen verschiedenen ownCloud-Instanzen zu spiegeln.

Rechengrundlage ist der grösste Server aus der Storage-Reihe von Hetzner, ein SX290, als Betriebssystem wird CentOS zum Einsatz kommen. Das vorgeschlagene RAID-Layout ist möglich, der Support stimmt zu, hier ist Doku des RAID-Controllers.

Hetzner berechnet nur ausgehenden Traffic, habe ich ebenfalls durch den Support bestätigen lassen. Bei einer Anbindung von 200 Mbit/s können rein theoretisch 67 TB übertragen werden, 50 TB Traffic sind inklusive, das heisst hier kann es maximal zu Traffic-Mehrkosten von 34 Euro kommen.

15 Festplatten á 4 TB sind eingebaut. Zwei für das System, zwei für die RAID6-Paritätsinformationen und zwei als Hot-Spare-Disks, damit bleiben neun mal vier Terrabytes netto-Kapazität übrig, oder 36 TB insgesamt.

Hier die Berechnungen (falls Ihr Fehler findet oder Fragen habt, bin ich für Rückmeldungen dankbar):

































































































































































  SX 60 SX130 SX290 Einheiten
Kosten einmalig 69.00 139.00 299.00 Euro
Kosten monatlich 69.00 139.00 299.00 Euro
Anzahl Festplatten 4 7 15 á 4 TB
Raid-Typ Soft-RAID5 Soft-RAID5 Hard-RAID6  
Parity Disks 1 1 2  
System-Festplatten 0 2 2  
Hot Spare 0 1 2  
Nutzdaten 12 12 36 TB
ohne OS 11 12 36 TB
Anbindung 200 200 200 Mbit/s
Freivolumen 20 30 50 TB
Maximal bei Vollauslastung (nur ausgehend laut Support) 66.96 66.96 66.96 TB
Maximale Kosten Zusatztraffic 93.45 73.55 33.75 Euro
         
Maximale Gesamtkosten pro Monat 162.45 212.55 332.75 Euro
         
Nutzdaten ohne OS 11000 12000 36000 MB
Pakete a 500 GB 22 24 72  
Kosten pro Paket (bei Maximalkosten und Maximalauslastung) 7.38 8.86 4.62 Euro
         
Preise bei Vollauslastung        
50 GB 1.50 1.00 0.75 Euro
250 GB 6.00 4.00 3.00 Euro
500 GB 10.00 7.50 5.00 Euro
         
Preise bei Halbauslastung        
50 GB 5.00 3.00 2.00 Euro
250 GB 20.00 12.00 7.00 Euro
500 GB 30.00 20.00 10.00 Euro


Leute, die Interesse haben, schicken mir bitte eine E-Mail an dirk@deimeke.net mit ihrer postalischen Adresse. Ich werde eine Postkarte senden, um die Identität zu prüfen, die Karte soll abfotografiert und wieder mir zugesendet werden.