Coole Sache - Indefero auf uberspace
Indefero ist ein schlankes und schnelles Web-Frontend zur Verwaltung von Softwareprojekten, ganz nach dem Vorbild von google code und github. Darüer hinaus ist es frei und wird aktiv entwickelt! Von Haus biringt es Code-Review Funktionalität und Unterstützung für Git, Mercurial, SVN und Monotone mit. Was will man mehr? Schau dir Indefero's indefero an.
Es folgt eine kurze Installationsanleitung, basierend auf der Projekt Readme:
Per SSH mit deinem uberspace verbindung aufnehmen und Git konfigurieren
git config --global user.name "John Doe"
git config --global user.email johndoe@example.com
Unterverzeichnis außerhalb des Web-Roots anlegen
export TOOLS="/var/www/virtual/${USER}/tools"
mkdir $TOOLS
cd && ln -s $TOOLS
Pluf-Framework installieren
cd $TOOLS
git clone git://projects.ceondo.com/pluf.git
Eventuell die Pakete Mail
und Mail_mime
mittels
pear installieren
Indefero installiern
cd $TOOLS
git clone git://projects.ceondo.com/indefero.git
# letzte stabile Version selektieren
cd indefero && git checkout --track -b local1.2 origin/release-1.2
Indefero konfigurieren
cd $TOOLS/indefero
cp src/IDF/conf/idf.php{-dist,}
# Variablen an Installation anpassen
# nicht benoetigte SCMs vollstaendig auskommentieren
$EDITOR src/IDF/conf/idf.php
cp src/IDF/conf/path.php{-dist,}
# an Installation anpassen, in der Regel keine Anpassung notwendig
$EDITOR src/IDF/conf/path.php
Symlinks ins Web-Root, unter diesem Pfad ist Indefero zu erreichen, nach belieben anpassen
mkdir ~/html/indefero
cd ~/html/indefero
ln -s $TOOLS/indefero/www/index.php
ln -s $TOOLS/indefero/www/media
Datenbank anlegen und initialisieren siehe Anleitung im uberspace.wiki
cd $TOOLS/indefero/src
# um Initialisierung zu testen
php $TOOLS/pluf/src/migrate.php --conf=IDF/conf/idf.php -a -i -d -u
# initialisieren
php $TOOLS/pluf/src/migrate.php --conf=IDF/conf/idf.php -a -i -d
Verzeichnisrechte anpassen
chmod 755 $TOOLS
cd $TOOLS
chmod -R go-rwx pluf
chmod -R go-rwx indefero
cd indefero
chmod 755 www
find www -type f -exec chmod 644 {} \;
find www -type d -exec chmod 755 {} \;
Administrator-Zugang anlegen
# bootstrap.php erzeugen, TOOLS anpassen
<?php
require 'TOOLS/indefero/src/IDF/conf/path.php';
require 'Pluf.php';
Pluf::start('TOOLS/indefero/src/IDF/conf/idf.php');
Pluf_Dispatcher::loadControllers(Pluf::f('idf_views'));
$user = new Pluf_User();
$user->first_name = 'John';
$user->last_name = 'Doe'; // Required!
$user->login = 'doe'; // must be lowercase!
$user->email = 'doe@example.com';
// password wird in db verschluesselt
$user->password = 'yourpassword';
$user->administrator = true;
$user->active = true;
$user->create();
print "Bootstrap ok\n";
Ausführen und löschen
php bootstrap.php && rm bootstrap.php
Updates, Updates, Updates
cd /var/www/virtual/${USER}/tools
# backup
nice tar -cjf bak.tb2 indefero/ pluf/
# suche und kille alle php-cgi Prozesse (ps uxx | grep php-cgi)
rm ~/tmp/Pluf_*
# pluf updaten
cd pluf && git pull
# indefero updaten
cd ../indefero
# Konfiguration commiten oder sichern (src/IDF/conf/*.php)
git remote update, letztes tag suchen (git describe --abbrev=0 --tags)
git checkout -b local<TAG> <TAG> und git cherry-pick <CONFIG-COMMITS...>
# Konfiguration aktualisieren (src/IDF/conf/*.php)
# Datenbank migrieren
cd src
php ../../pluf/src/migrate.php --conf=IDF/conf/idf.php -a -d -u
php ../../pluf/src/migrate.php --conf=IDF/conf/idf.php -a -d
Geschafft. Viel Spass mit uberspace und deinem Indefero!