IT-Service GmbH 


spica.vach.go-itservice.de

silentthunder Standard mit Debian 8.0 Jessie

Der PC wurde bei www.stromspar-pc-shop.de als speziell konfiguriertes Modell ECO Core 7 erworben.

Hardware:

Board:Asrock H81M
CPUCPU INTEL i7 4770T 4x2.5 GHz
Speicher16 GB DDR3 (2x8)
Grakaon Board: Intel HD Graphics 4400/4600
Netzwerkon Board: 1GBit Atheros AR8171
Soundon Board: Realtec ALC892
PlatteSSD Samsung 840 PRO 256GB
CDROMSamsung CDDVDW SH-224
CardreaderEinbaucardreader Delock 91628
NetzteilFortron FSP350-60EGN

Linux installieren

Mit Debian Jessie 8.0 CD booten, da es nur eine netinstall-CD ist, Netzwerk eingesteckt lassen. Bei der Prüfung des DHCP-Servers am besten abbrechen und die Adresse ec manuell eingeben
	Language:	German<enter>
		...	
	IP:		192.168.40.29
	Netmask:	255.255.255.0
	Gateway:	192.168.40.10
	DNS:		192.168.40.10
	Rechnername:	spica
	Domain:		vach.go-itservice.de
Passwort root ..., User: dummy, Kein echter User nötig, diese werden von dem alten Rechner übernommen. Partitionieren:
	Festplatte:	manuell	Mountpoint
	 80,0 GB	sda1	ext4	/	(formatieren, bootflag)
	 16,0 GB	sda2	swap
	160,0 GB	sda3	ext4	/local	(formatieren, als /local einbinden)
geklonte Kopien dieser Workstation auf 128GB SSDs habe ich abweichend mit sda1:64GB, sda2:16GB und sda3:48GB partitioniert. Den swap auf sda2 darf man nicht unter die Grösse des Arbeitsspeichers verkleinern, sonst funktioniert "Suspend to Disk" nicht.
Grundsystem wird installiert ...
	Spiegel:	ja
	Server:		ftp.uni-erlangen.de
	Proxy:		http://192.168.40.10:3128 (oder <leer>)
Bei Debian Software Auswahl folgende Aufgaben angeben:
    Umgebungen: Desktop, Laptop, Standard
Die Installation der ca 1540 Pakete dauerte über DSL ca 60 Minuten, Damit ist baseconfig beendet und X11 startet nach dem booten. Bei wheezy wurde das neue GNOME 3 Desktop mitgeliefert, mit dem ich nicht klarkomme. Bei jessie ist XFCE 4 Standard, den ich unter wheezy schon verwendete
Damit der neue Rechner sich wie der alte verhät, werden die Hostkeys und das root-Verzeichnis vom alten Rechner spica geholt.
/root/.ssh
/root/
/etc/ssh/ssh_host_dsa_key
/etc/ssh/ssh_host_dsa_key.pub
/etc/ssh/ssh_host_rsa_key
/etc/ssh/ssh_host_rsa_key.pub
Nach der Installation Dateien anpassen, passwd,shadow und group am besten so:
# cp passwd passwd.ORG
# cat /OLD/etc/passwd >> passwd
Alte Einträge ausser den echten Usern löschen.
/etc/passwd
/etc/shadow
/etc/group
/etc/profile	(nur wegen export EDITOR=vi)
/etc/init.d/obi1	(inclusive cd /etc/init.d; update-rc.d obi1 defaults)
/usr/local/bin
/etc/sudoers	(kopieren)
damit Perlprogramme mit goit.pm arbeiten können, muss noch ein Link angelegt werden. Da das /usr/local/lib/site_perl bei mir nicht existierte, vorher anlegen, sonst entfällt die erste Zeile:
# mkdir /usr/local/lib/site_perl
# cd /usr/local/lib/site_perl
# ln -s /usr/local/bin/goit.pm .
Verzeichnisse anlegen:
# mkdir /backupNorm1
# mkdir /backupNorm2
# mkdir /backupMonthly1
# mkdir /backupMonthly2
# mkdir /backupYearly
Datei /etc/apt/sources.list erweitern und an jessie Zeilen contrib non-free anhängen, ebenso weitere Quellen (für Virtual Box) so daß die Datei schliesslich so ausschaut:
deb http://ftp.uni-erlangen.de/debian/ jessie main contrib non-free
deb-src http://ftp.uni-erlangen.de/debian/ jessie main contrib non-free

deb http://security.debian.org/ jessie/updates main contrib non-free
deb-src http://security.debian.org/ jessie/updates main contrib non-free

# jessie-updates, former volatile
deb http://ftp.uni-erlangen.de/debian jessie-updates main contrib non-free
deb-src http://ftp.uni-erlangen.de/debian jessie-updates main contrib non-free

# jessie-backports
deb http://ftp.uni-erlangen.de/debian jessie-backports main contrib non-free
deb-src http://ftp.uni-erlangen.de/debian jessie-backports main contrib non-free
Bei jessie steht in der Datei /etc/X11/default-display-manager bereits /usr/sbin/lightdm, so das nichts geändert werden muss. Sonst wird der Eintrag von gdm3 ersetzt durch:
/usr/sbin/lightdm
Dies macht man vor der Installation der weiteren Pakete und des lightdm, dann fragt das Installationsskript auch nach dem default.
Oder später mit
# dpkg-reconfigure lightdm
Dann mit aptitude folgende zusätzliche Pakete und die unter Jessie für php und perl angegebenen mit aptitude auswählen:
	abcde
	apache2
	acl (default)
	bind9
	catdoc (wegen xls2csv)
	cryptsetup
	cups
	debconf-utils
	dos2unix
	eclipse
	ekiga
	enigmail
	eyed3
	florence	(für Tablet)
	font-manager
	ghostscript
	gpgv2
	gtumb
	hdparm (default)
	icedove
	id3
	id3v2
	imagemagick
	iptables (default)
	jmtpfs
	kaffein
	lame
	laptop-mode-tools
	libapache2-mod-php5
	lightdm (default)
	ldap-utils
	lynx
	mcrypt	
	mencoder (FEHLT)
	mplayer (FEHLT)
	mplayer2
	multimedia-video
	mysql-client (= mysql-client-5.5 + mysql-common)
	mysql-server  (= mysql-server-5.5 + mysql-common)
	nfs-kernel-server	
	nfs4-acl-tools
	ntpdate
	okular
	openssh-server
	pluma	(statt gedit)
	php5
	+ perlmodule  (unter nicht-installiert -> perl, siehe Allgemeines zu "Jessie")
	+ php5 (inclusive diverser Module siehe Allgemeines zu "Jessie")
	phpldapadmin (FEHLT)
	phpmyadmin
	rsh-redone-client
	rsync
	samba
	sane
	slapd
	squid3
	squidguard
	ssh
	sudo
	totem
	ttf-mscorefonts-installer (für verdana ec)
	uswsusp			(für s2ram)
	virtualbox
	vlc (default)
	xcftools
	xfce4 (default)
	xsane (default)
Ich habe alle Pakete, die irgendeiner der Rechner antares, sgrx1 und rigel verwendet, aufgenommen, um die weiter benötigten Rechner via Plattenkopie schnell aufsetzen zu könen. Nach der Installation Passwörter für mysql, ldap ec. eingeben.

Default X-Windowsmanager ändern

bei jessie war bei mir nur xfce4 installiert (kein Gnome3) so dass dieser Punkt wieder entfällt. Falls Gnome3 doch installiert ist, muss man den Default X-Session / X-Windowmanager auf xfce4 zu ändern. Diesen im Auswahlmenü eintragen:
# update-alternatives --config x-session-manager
Ab Xfce 4.10 ist die Benutzerumschaltung automatisch unterstützt. Um das mit LightDM zu verwenden, muss ein Symlink angelegt werden:
# ln -s /usr/lib/lightdm/lightdm/gdmflexiserver /usr/local/bin/gdmflexiserver
das Umschalten der Desktops geht noch nicht:
Workarround:
anmelden auf der Kommandozeile als user go, dann startx -- :1
Anschliessend kann man wie gewohnt mit <CRTL><ALT><F7> bzw F8/F9 zwischen den Desktops umschalten

was nicht geht:

/etc/lightdm/lightDM.conf
[LightDM]
seats=Seat:0, Seat:1

[Seat:0]

[Seat:1]

2560x1440 über DVI single Link an Intel HD2500

Die Intel HD2500 Graphik unterstützt kein Dual Link DVI, so dass normalerweise bei der 1920x1200 Auflösung Schluss ist. Mit Trick kann man aber 2560x1600 oder 2560x1440 (was bei meinem Fujitsu P27T-6 paßt) mit 30 oder 55Hz Bildfrequenz verwenden, dies ist für Büroanwendungen ausreichend.
Mit 55 Hz am Fujitsu P27T-6 , Parameter und Idee von http://www.notebookcheck.net/2560x1440-or-2560x1600-via-HDMI.92840.0.html unter XFCE4. (Achtung, das Ergebnis von cvt 2560 1440 55 passt NICHT!)
Wenn das 3.Kommando im xterm ausgeführt wird, wird auf die 2560x1440 Bildschirmauflösung ohne weitere Klicks umgeschaltet.
# xrandr --newmode "2560x1440" 220.812 2560 2608 2640 2720 1440 1443 1448 1478 -hsync -vsync
# xrandr --addmode HDMI1 "2560x1440"
# xrandr --output HDMI1 --mode 2560x1440
für 30Hz sollte passen, was auch mit cvt 2560 1440 30 erzeugt wird, nämlich.
# xrandr --newmode "2560x1440_30.00" 146.25 2560 2680 2944 3328 1440 1443 1448 1468 -hsync +vsync
# xrandr --addmode HDMI1 "2560x1440_30.00"
statt HDMI1 muss es ev HDMI2 lauten, das sieht man aber an der Anzeige unter -> Menue -> Einstellungen -> Anzeige
Wenn man das automatisch bei jeder Anmeldung an der Workstation machen will, legt man eine Datei (Rechte 640, Owner root:root) unter /etc/X11/Xsession.d an, bei mir lautet deren Name 99-obi. Die "99" ist wichtig! Vielleicht gehen andere Positionen früher in der Initabfolge auch, aber mit 36-obi gings nicht.
xrandr --newmode "2560x1440" 220.812 2560 2608 2640 2720 1440 1443 1448 1478 -hsync -vsync
xrandr --addmode HDMI1 "2560x1440"
xrandr --output HDMI1 --mode 2560x1440

ALT: Desktop über zwei Monitore

Für Eclipse zur PHP Entwicklung ist selbst 1920 Pixel Breite knapp, also habe ich zwei ältere Samsung SyncMaster 204B mit je 1600x1200 Pixeln angeschlossen. Allerdings zeigen beide per Default das selbe Bild, was sich in der Konfigurationsoberfläche derzeit (30.04.2014, jessie ist noch Testing) nicht einstellen lässt. In der /etc/X11/xinit/xserverrc
xrandr --output DVI-0 -s 3200x1200
xrandr --output DVI-0 --mode 1600x1200
xrandr --output DVI-1 --mode 1600x1200
xrandr --output DVI-1 --left-of DVI-0
einfügen. Dummerweise löscht jede Änderung über Menue -> Einstellungen -> Anzeige ec diese Datei wieder, ist also nur eine temporäre Lösung

Farbprofile erstellen und installieren

Beim Bearbeiten der eingescanten alten Fotos nervt mich die unterschiedlichen Farben bei der Darstellung auf dem Laptop und meinen verschiedenen Workstations. Gerade weil eines der Hauptprobleme dabei die Beseitigung des Farbstich bei alten Farbfotos ist. Zur Kalibrierung der Monitore unter Linux habe ich bei www.hughski.com ein colorHUG Colorimeter erstanden. Unter jessie sind alle für die Kalibrierung nötigen Programme in ausreichend neuen Versionen im Repository. Da colord, libgusb2 und argyll automatisch installiert sind, muß nur der colorhug-client und die Oberfläche dispcalGUI installiert werden. Mit letzterer wird, bei eingestecktem und auf den Monitor geschnalltem colorHUG die Messgeräte-Erkennung gestartet und anschliessend mit <Kalibrieren u Profilieren> ein Farbprofil des Monitors erstellt. Dieses Farbprofil kann dann z.B. bei gimp unter Eigenschaften -> Farbverwaltung als Bildschirmprofil eingestellt werden. Nachdem ich Laptop und den SyncMaster 204B mit ihren Farbprofilen kalibrierte, waren die Farben zwar nicht ganz identisch aber sehr ähnlich. Meine beiden derzeit angeschlossenen SyncMaster 204B sind von der Farbdarstellung nicht unterscheidbar.

Startdatei in rc.n

bereits in squeeze wurde die Reihenfolge der Bootskripte auf abhänigkeitsgesteuerte Bootskripte geändert. Diese sind komplizierter aufgebaut und müssen ihre Abhänigkeiten und "start","stop" Zweige enthalten. Der Start Teil in meinem Beispiel (komplette Datei hier im Anhang)
mount 192.168.40.10:/home /home
mount -o remount -t nfs4 192.168.40.10:/home /home
mount /dev/sda3 /local
df -k
ifconfig eth0:1 10.0.0.1 netmask 255.255.255.0
ifconfig eth0:2 10.0.2.1 netmask 255.255.255.0
echo "ok"
Ist das Startskript fertig, wird es in den Bootablauf eingebunden. Hierzu wird im Verzeichnis /etc/init.d folgendes Kommando ausgeführt:
# update-rc.d obi1 defaults

Verbindung zu nfs4 Server unter jessie (und wheezy)

Während die Verbindung zu einem nfs4 Server unter squeeze problemlos funktioniert, werden die exports von einem nfs4 Server unter jessie und wheezy nicht als der User sondern als nobody angezeigt (UID=-2). Der Fehler ist im Internet dokumentiert und hängt mit dem idmapd zusammen. Auf Client und Server muss die /etc/idmapd.conf um Domain und Method angepasst werden:
[General]
Domain = vach.go-itservice.de
...
[Mapping]
Method=nsswitch
Da am client aber der idmapd unter Squeeze nicht per default läuft, muß dieser in der /etc/default/nfs-common aktiviert werden mit:
NEED_IDMAPD=yes
Anschliessend wird der idmapd auf dem Server neu gestartet:
# start-stop-daemon --stop --oknodo --name rpc.idmapd
# start-stop-daemon --start --oknodo --exec /usr/sbin/rpc.idmapd
Und der nfs-common auf dem Client:
# /etc/init.d/nfs-common restart
Das Problem tritt auch auf, wenn man die Domain des Servers vorher geändert hat und diese dann von der in der /etc/idmapd.conf abweicht!

Stromsparen

PC geht nach Einsatz von powertop von selbst in den standby-Modus. alle Modi auf "gut", ausser Maus und USB, da sonst dauernd die Maus hängt.
Aus dem S3 Schlafmodus (standby suspend, suspend to RAM) ist der Rechner in 2 Sekunden da und der Verbrauch während des Standbys beträgt ca 2 Watt! Aus dem S4 Ruhezustand (hibernate, suspend to disk) muss der Rechner booten und das dauert trotz der SSD ca 8 Sekunden, der Verbrauch hierbei ist mit meinen Mitteln nicht mehr messbar. Wegen der schnelleren Bereitschaft habe ich in der "Energieverwaltung - bei Netzbetrieb"
Computer schlafen legen nach:	15 Minuten
und unter "Energieverwaltung - Erweitert"
Schlafmodus für Computer: 	Standby (also S3)
Schlafmodus für Monitor: 	Standby
Bildschirm sperren bei Ruhe:	JA
ausgewählt.

Eclipse

Eclipse ist installiert, auch die JVM paßt in 3.8. Da ich das home-Verzeichnis von meinem Laptop sirius (ebenfalls jessie) herüberkopierte, funktionierte eclipse mit phpeclipse und den angelegten Projekten sofort.
Sonst muss nur noch der Workspace auf /home/go/httpd umgestellt werden. Aus irgendeinem Grund funktionierte bei sirius der Zugriff auf den Workspace einer 3.2er Version (von squeeze) nicht, so dass ich ein anderes httpd Verzeichnis verwendete und die benötigten Projekte dorthin linkte. PHPEclipse muss noch installiert werden:
Menü: Help -> Install new Software -> Add
Location: 	http://phpeclipse.sourceforge.net/update/stable/1.2.x
Name:		phpeclipse 1.2.x
<Finish>, in der Liste PHPEclipse auswählen <Next>, Anweisungen befolgen (Lizenz akzeptieren ec) <Finish>

Apache 2

das ganze Verzeichnis /etc/apache2/ vom alten Rechner holen.
Achtung, in jessie wurde die /etc/apache2.conf aus Sicherheitsgründen geändert. Damit die Seiten unter /home/go/httpd wieder funktionieren, muss dieses Verzeichnis in der /etc/apache2/apache2.conf freigegeben werden:
<Directory /home/go/httpd>
	Options Indexes FollowSymLinks
	AllowOverride None
	Require all granted
</Directory>
Link der Default Seite in /etc/apache2/sites-enabled löschen (Eintrag mit 000-default.conf). Eigene Links in /etc/apache2/sites-enabled mit der Endung .conf erzeugen in der Art
# ln -s ../sites-available/sece-it-dev.local 001-sece-it-dev.local.conf
Die mandatorische Endung ist auch neu in jessie, dies kann in der /etc/apache2/ aber angepasst werden. /etc/hosts anpassen, damit die Entwicklungsseiten auf spica nicht im Internet gesucht werden:
127.0.0.1	sece-it-dev.local
In den Proxy-Einstellungen des Browsers muss die verwendete Domain ".local" vom Proxys ausgenommen werden
Ich habe die Aliase in den einzelnen sites-available so gestaltet, dass diese auf allen wichtigen Rechnern ohne weitere Veränderung passen sollten. Aussehen der Datei im Anhang
In /etc/php5/apache2/php.ini muß noch
error_reporting  =  E_ALL & ~E_NOTICE & ~E_STRICT
sonst gibt es mit vtiger und meinen Entwicklungsprojekten unter PHP5.5 Ärger.

Datenbanken

Prinzipiell werden die SQL-Dateien auf den neuen Rechner kopiert, die Datenbanken erzeugt, Grants eingerichtet und dann die SQL-Dateien eingespielt:
# mysql -uroot -pPASSWD -e "CREATE DATABASE DBNAME DEFAULT CHARACTER SET latin1 COLLATE latin1_german1_ci;"
# mysql -uroot -pPASSWD -e "GRANT ALL PRIVILEGES on DBNAME.* TO USER@localhost identified by 'PASSWD';"
# mysql -uUSER -pPASSWD DBNAME < /tmp/DBNAME.sql 
Ich habe das ganze in einem Skript namens restoreDB verpackt, das alle nötigen Datenbanken des jeweiligen Rechners erzeugt und befüllt.

Vtiger installieren

Da einer meiner Kunden seinen Vertrieb neu organisierte und ein Customer Relationship Management Tool suchte, beschäftigte ich mich damit und bin auf ein mächtiges Programm namens vtiger gestossen.
Unter jessie habe ich /var/www/vtigercrm von der squeeze Installation kopiert und die Datenbank angelegt. Anschliessend wieder "install.php" im Browser gestartet. Sonst:.
Voraussetzungen installieren und vtiger 5.4.0 selbst auspacken. Das habe ich unter squeeze durchgeführt und das funktioniert unter wheezy und jessie prinzipiell genauso. Mit dem Unterschied, dass das bei wheezy installierte PHP 5.4 die Direktive allow_call_time_pass_reference = On in der php.ini nicht mehr unterstützt und deshalb immer ein Fehler entsteht, der aber durch die Direktive error_reporting unterdrückt wird. siehe Apache 2
# aptitude install apache2 mysql-server php5 php5-gd libapache2-mod-auth-mysql php5-mysql
# /etc/init.d/apache2 restart
# tar xzvf vtiger*.tar.gz -C /var/www
Nun müssen einige Rechte angepasst werden, die Installationsseite unter http://antares.ulm.go-itservice.de/vtigercrm zeigt alle noch fehlenden Rechte und fehlende Einstellungen in der /etc/php5/apache/php.ini aber an, so eigentlich nichts schiefgehen kann. Ich hatte vorher alle chmods in ein shellskript installvtiger.sh gepackt.
Einstellungen in der php.ini anpassen:
Directive 	Recommended PHP.ini value
display_errors 	On
max_execution_time 	600
error_reporting 	E_WARNING & ~E_NOTICE & ~E_DEPRECATED		# unter jessie siehe siehe Apache 2 
allow_call_time_pass_reference 	On                              # unter jessie egal, siehe siehe Apache 2 
log_errors 	Off
Datenbank anlegen, entweder via phpmyadmin oder auf der Kommandozeile:
> CREATE DATABASE `vtiger` DEFAULT CHARACTER SET utf8 COLLATE utf8_bin;
> GRANT ALL PRIVILEGES ON vtiger.* TO vtiger@localhost IDENTIFIED BY 'DBPASSWD';
Vor der Konfiguration müssen beim derzeit aktuellen vtiger 5.4.0 einige Codezeilen geändert werden, was ich im Internet herausfand. Das ist natürlich auch nötig, wenn vtiger von einem anderen Rechner kopiert wurde.
1. die Datei installdir/include/utils/CommonUtils.php
alle Vorkommnisse der Variablen $_FILE. Diese einfach durch $FILE ersetzen.
2. die Datei installdir/modules/Users/Authenticate.php
ab ca Zeile 70 folgendes ersetzen
//Security related entries end
session_unregister('login_password');
session_unregister('login_error');
session_unregister('login_user_name');
durch:
//Security related entries end
session_unset($_SESSION['login_password']);
session_unset($_SESSION['login_error']);
session_unset($_SESSION['login_user_name']);
Erstaunlicherweise scheinen das die einzigen kritischen Stellen zu sein!
CRM Configuration im Browser starten (falls nicht kopiert), analog hierzu:
http://antares.ulm.go-itservice.de/vtigercrm
Im Browser:
Currency Name: EURO	
DB:		127.0.0.1	hier bin ich nicht ganz sicher
user:		vtiger
pass:		DBPASSWD
name:		vtiger
User Configuration
Username:	admin
Password: 	ADMINPASSWD
Email: 		admin@domain.de
Installieren: Language Packs ausser GERMAN abwählen
So, Basiskonfiguration steht, im Admin Interface admin - Konfiguration den Mail Server einrichten.
in der Shell mit crontab -e einen cron-Job fuer vtigercron.sh einrichten
0,15,30,45 * * * * sh /var/www/vtigercrm/cron/vtigercron.sh
Aus Sicherheitsgründen sollten die install-Dateien umbenannt werden und der Zugriff via .htaccess eingeschränkt werden
# cd /var/www/vtigercrm
# mv install.php installVT540if.php
# mv install installVT540if
# cp htaccess.txt .htaccess
in der apache Konfiguration für die Domain oder das Unterverzeichnis von vtiger muss "AllowOverride All" gesetzt sein, damit die .htaccess berücksichtigt wird notfalls Options -Indexes in der Apache-Konfiguration setzten, das verhindert das Schlimmste.
So, jetzt wirds harzig. Im Releasepaket von vtiger 5.4.0 fehlten die deutschen Sprachdateien, diese habe ich aus dem älteren Release Candidate herauskopiert und anschliessend in meine Installation eingefügt. Hoffentlich ist das Problem inzwischen wieder behoben! Das Vorgehen kann ich nicht genau beschreiben, hat eine Weile gedauert. Wer es selber nicht hinbekommt, mail an mich!
Dann in der Weboberfläche: User anlegen
Organisationen, Personen anlegen
Ich baute eine Importseite für die alte Exceldatei des Kunden, um mehrere Standorte und Ansprechpartner unter einer Organisation zu abbilden zu können und ein Modul zur Übergabe von Org-Einheiten nebst Unterobjekten an einen anderen Mitarbeiter.
Inzwischen erweiterte ich das Modul so, das der admin Kommentare aus vTiger löschen kann.
Doku, Anleitungen: https://wiki.vtiger.com/
Doku, Tips: https://help.vtiger.com
Videodukus: http://youtube.com/vtigercrm

Falls man das Passwort vom vtiger admin vergessen hat: Via mysql oder phpmyadmin auf die vtiger-Datenbank verbinden, dort folgendes SQL-Statement absetzen:
SQL> UPDATE vtiger_users SET user_hash=NULL,confirm_password=NULL,crypt_type='',accesskey=NULL,user_password='adpexzg3FUZAk' WHERE id=1;
Nun kann man sich als admin mit Passwort "admin" wieder anmelden. Der Tip stammt in abgewandelter Form aus dem vtiger-Forum und funktioniert auch bei 5.4.0 noch.

TrueType Fonts (.ttf) installierern

Die Fontdateien nach usr/share/fonts/truetype/ kopieren und dann mit dem font-manager (unter X11) bekanntmachen. Das alte System mit defoma-hints,defoma-font und defoma-reconfigure gibt es nicht mehr.
Zur Verwendung unter X11 müssen die Fonts nicht unter /usr/share/fonts/truetype/ liegen, für apache-FOP schon, sonst gibts eine Exception!

Daten von/zu Android Handy übertragen

nachdem die MTP-Filesystemerweitrung (jmtpfs) installiert ist (und neu gebootet wurde), kann das Android Smartphone auch mit Android >3.0 über USB am Rechner eingesteckt werden und über den Dateimanager direkt darauf zugegriffen werden. Der Zugriff muß aber am Smartphone je nach Einstellung nach dem Verbinden erlaubt werden.

Virtual Box installieren

mit VirtualBox (Download) kann man unter Linux andere OSS in virtuellen Umgebungen laufen lassen, als Gastsysteme kommen dabei z.B Linux, Windows, OS/2 oder BSD in Frage. Auf Arbeitsstationssrechnern kann man damit unter anderem Windowsspiele installieren oder Anwendungen, denen man nicht vertraut, in einer Art Sandbox verwenden. Unter jessie ist die Virtual Box direkt aus dem Repository verfügbar, es muss keine extra Quelle in der /etc/apt/sources.list angegeben werden. Zumindest glaube ich das, mit der obigen /etc/apt/sources.list gehts jedenfalls.
Die virtuellen Maschinen werden aus dem Userverzeichnis nach /local kopiert, da ich sie auf den bisherigen Rechern wie antares schon verwendete. Aufpassen muss man nur, wenn der neue Rechner wie spica in einem anderen Netzwerk verwendet werden soll. Die Virtualbox selber ist über das 10.0.2.0 Netz angebunden und kein Problem, aber der Browser innerhalb der Box hat 192.168.80.1 als Proxy eingetragen, das muss für Vachendorf auf 192.168.40.10 geändert werden.
# cp /home/go/.VirtualBox/*.vdi /local
# cd /local; chmod 660 *.vdi; chown go:common *.vdi
Damit der Linux-User virtualBox benutzen kann, muss er Mitglied in der Gruppe vboxusers sein. Also folgenden Eintrag, im Beispiel heissen die User go und uw in die Datei /etc/group einfügen bzw anpassen:
vboxusers:x:116:go,uw

Windows XP unter virtualBox installieren
Nun kann man nach einer Neuanmeldung virtualBox vom Startmenue "Anwendungen - Systemwerkzeuge" aus starten. In der Oberfläche legt man eine neue Virtuelle Maschine an, benennt diese, wählt als Gastsystem Windows XP aus. Anschliessend stellt man den Arbeitsspeicher der virtuellen Maschine auf mindestens 256 MB ein und wählt einen Ort für die Virtuelle Platte des Gastsystems. Bei Auswahl einer festen Systemgrösse dauert der Anlegevorgang etwas!
Man kann jeder virtuellen Maschine vier Netzwerkkarten zuweisen, normalerweise wird eine erzeugt. Im Host-Bereich des Rechners wird von Virtualbox automatisch ein DHCP Server erzeugt, der den virtuellen Gastsystemen IP-Adressen und DNS-Server zuweist. Verwendet man den Adapter im Modus "NAT", wird auch eine Art Router erzeugt, der sich um das Routing der IP-Pakete vom Gastsystem in das Netzwerk des Hostsystems kümmert.
Der DHCP Server weisst z.B. der ersten Netzwerkkarte des Clientsystems eine IP aus dem Netz 10.0.2.0 (also z.B. 10.0.2.15) zu, dem Host 10.0.2.2. Beim Installieren des XP-Hosts stellt man dessen automatisch erkannte Netzwerkkarte dann auf IP: "automatisch beziehen" und DNS-Server: "automatisch beziehen" ein. Dann koennen Browser und SMB Clients vom Gastsystem aus auf Lokales Netzwerk und Internet zugreifen. Achtung: der virtuelle Router routet keine ICMP Pakete, ping funktioniert vom Gastsystem aus also nicht!

virtuelle Maschinen kopieren
Die Metainformation zu Virtualbox steckt (voreingestellt) in den Dateien $HOME/.VirtualBox/VirtualBox.xml und $HOME/.VirtualBox/Machines/$MACHINENAME/$MACHINENAME.xml. Da das Anlegen der virtuellen Maschine mit der GUI von VirtualBox schnell geht, habe ich dort eine weitere Instanz #namens XPoffice angelegt. Flugs die bereits mit XP installierte Maschine in eine zweite Datei namens XPoffice.vdi kopiert und die Einstellungen in der VirtualBox.xml und XPoffice.xml angepasst. In der XPoffice.xml habe ich die Zeile von der vorhandenen XPtest.xml kopiert, damit die Harddisk-ID stimmt.
     <HardDiskAttachment bus="ide0" device="master" hardDisk="{6b64da54-d42f-4157-9c86-3aeaa036bc45}"/>
Beim Start - o Graus - eine Fehlermeldung wegen doppelter HDID - Mist, zu einfach. Suchmaschine angeschmissen, nach einigen Tips mit Hexedit in die XPoffice.vdi rein. Dort habe ich einfach nach bc45 gesucht und bin ca bei Position (hex!) x190 fündig geworden. Ich habe einfach das letzte Byte von 45 auf 46 geändert und dies in der XPoffice.xml nachgezogen, also:
     <HardDiskAttachment bus="ide0" device="master" hardDisk="{6b64da54-d42f-4157-9c86-3aeaa036bc46}"/>
Analog auch in der VirtualBox.xml:
        <HardDisk type="normal" uuid="{6b64da54-d42f-4157-9c86-3aeaa036bc46}">
          <VirtualDiskImage filePath="/local/VirtualBox/XPoffice.vdi"/>
        </HardDisk>
Die VirtualDiskImage Zeile hatte ich schon vorher angepaßt, um die umfangreichen VDI-Dateien vom Netzlaufwerk auf ein lokales zu verschieben. Dies funktioniert bei korrekten Verzeichnissrechten problemlos.

User go auf der virtuellen Maschine einrichten, am besten das selbes Passwort wie auf dem smbserver (sgrx1, wega) verwenden.
mit dem "Windows Explorer - Extras - Netzwerklaufwerk verbinden"
Laufwerk:          Z:
Ordner:	           \\smb\smbexport
Wiederherstellen:  JA
Der DNS Name smb wird vom jeweiligen DNS Server auf den richtigen smbserver (sgrx1, wega) aufgelöst.

Windows 7 intallieren
ich verwendete eine alte 60 GB SSD, die vom Windows-Installer neu partitioniert und mit NTFS formatiert wurde. Die Neuinstallation war nötig, weil ich eine spezielle Fotobuchsoftware in der Virtual Box mit Windows XP und dem aktuellen Adobe AIR nicht zum Laufen bekam. Nach der Grundinstallation von Windows und Reboot:
- Teiber für Graphik und Netzwerk installieren (von Asrock für das H81M)
- klassische Ansicht für Desktop einstellen
- Bildschirmauflösung auf 1280x1024
- IP-Adresse anpassen
- Netzwerklaufwerk zum Server einrichten
- Adobe AIR V22 installieren
- Fotobuchsoftware installieren
Dann muß der automatische Upgrade auf Windows 10 verhindert werden. Dazu wird der regedit gestartet und zu "HKEY_Local_Machine/Software/Policies/Microsoft/Windows" gewechselt. Dort, falls nicht vorhanden den Ordner "WindowsUpdate" neu anlegen. In diesem Ordner den Key "DisableOSUpgrade" als DWORD-Eintrag erzeugen, doppelklicken und den Wert 1 eintragen.
Nach einem Funktionstest der Software kann die Platte so verwendet werden. Oder:

Windows 7 Platte in ein Image für VirtualBox konvertieren
Mit dem bei Microsofts Sysinternals kostenlos verfügbaren Programm Disk2VHD kann ein Image erzeugt werden, das direkt in der Virtual Box unter Jessie verwendet werden kann, sogar die Netzwerklaufwerke und der Internetzugriff der Fotobuchsoftware funktionieren ohne Anpassung. Das Programm wird direkt im laufenden Betrieb gestartet und schreibt das Image. Wichtig, den Haken (zumindest bei der von mir verwendeten Version 2.01 von Disk2VHD) für das VHDX Format abwählen, damit kann die VirtualBox nicht umgehen. Das gespeicherte VHD Image wird in der VirtualBox bei "Neu"-"vorhandenes Image" auswählen angegeben. Das Image (14.7 GB) sollte wegen der Performance am Besten lokal auf der System-SSD liegen.

Printserver und Drucker installieren

Damit von jedem Rechner problemlos auf jeden Drucker gedruckt werden kann, werden Parallel-Printserver verwendet (HP JetDirect 500x, HP JetDirect 300x). Am 500x können 3 Drucker angeschlossen werden, mir ist es auf die Schnelle aber nicht gelungen, den Printer an Port 2 oder 3 zu erreichen.
Die Printserver werden durch Einschalten bei gedückter "Test"-Taste auf die Fabrikeinstellungen (kein Admin Passwort, DHCP) zurückgesetzt und dann neu konfiguriert. Ich benutzte dazu früher die Konfigurationssoftware von einer Windows Partition aus, da die Admin-Webseite der Printerserver nicht funktionierte (nur leere Seite). Inzwischen habe ich aber keine echte Windows Installation mehr sondern konfigurierte den Server via telnet.
Die aktuellen Einstellungen des JetDirekt bekommt man nach dem Einstecken des Netzwerkkabels und eine Druckers durch Drüchen der Taste <TEST> am Printserver. Mit arp -l bekommt man die via DHCP zugewiesene IP Adresse des Printservers heraus, wenn man vorher im Netz einen Broadcast absetzt. Dann telnet IPADRESSE und
> ip:192.168.40.15
> default-gw:192.168.40.10
> syslog-svr:192.168.40.10
> host-name:PRINTER1
> dhcp-config:0
> banner:0
> passwd
 Enter Password[16 character max.; 0 to disable]: > PASSWD
Password set to : PASSWD
> quit
Anschliessend den Drucker mit den Druckereinstellungen aufnehmen: "Einstellungen -> Druckereinstellungen -> + Hinzufügen" Entweder:
Netzwerkdrucker
AppSocket/HP JetDirect
  Host:			printer1
  Port:			9100
oder direkt als Uri
Adresse eingeben
  Geräte URI:		socket://printer1:9100
In beiden Fällen weiter mit
Drucker aus Datenbank auswählen
  Hersteller:		HP
  Modell:		Laserjet 6L
  Treiber:		HP Laserjet 6L+Gutenprint v5.2.9
Drucker beschreiben
  Kurzname:		HPLJ6
  Beschreibung:		Laserjet 6L am JD printer1
  Ort:			LEER    
Installation durch <Anwenden> abschliessen. Nun kann der Drucker aus allen Applikationen benutzt werden. Laut Kommentaren im Internet arbeiten die genannten HP-Printserver alternativ auch mit dem IPP Protokoll.
Soll z.B. ein Samsung CX480 via USB angeschlossen werden, muß vorher die Treibersoftware von Samsung heruntergeladen werden, unter jessie ist dieser Drucker bei den voreingestellten nicht enthalten.
Als Printerdevice dient dabei
  Gerät:		usb://Samsung/C48x%20Series?serial=08GEB8KG7B00LLA&interface=1
oder URI:
  Geräte URI:		ipp:/localhost/devices/pci0000:00/0000:00:1d.0/usb1/1-1/1-1.2

HP LaserJet P2055DN der 2055DN ist mit Duplexeinheit und Netzwerkanschluss versehen. Der Drucker ist sehr schnell und druckt sauber, als Gebrauchtgerät ist er mit 30000 gedruckten Seiten für etwa 100 Euro günstig zu haben.
Konfiguration: Die eingestellte IP Adresse sieht man auf der ausgedruckten Konfigurationsseite. Unter dieser ist der integrierte Webserver erreichbar.
Über das Bedienfeld am Drucker kann die Netzwerkkonfiguration ebenfalls eingestellt werden. <OK>
Netzwerkkonfig auswählen <OK>
CFG TCP/IP <OK>
BOOTP: nein <OK>
DHCP: nein <OK>
IP Byte1 <OK>
mit Pfeiltasten Wert einstellen: 192 <OK>
IP Byte2,3,4 analog auf 168, 40, 15 <OK>
Netmask SM Byte1,2,3,4 255, 255, 255, 0 <OK>
Gateway GW Byte1,2,3,4 192, 168, 40, 15 <OK>
als Gateway nehme ich den Drucker selbst, ich will ein möglichst kleines Risiko eingehen, dass er "nach Hause telefoniert"

User und Rechte

Benutzer und Gruppen so anlegen, dass für jeden User eine Gruppe mit GID=UID existiert. Zugriff auf gemeinsame Resourcen kann dann einfach mittels Gruppenzugehörigkeiten geregelt werden:
/etc/passwd
go:x:801:801:Guenther Obermaier:/home/go:/bin/bash
USER:x:899:899:USER:/home/USER:/bin/bash
common:x:890:890:Common User:/home/common:/bin/false
/etc/group
go:x:801:go,www-data
USER:x:899:USER,www-data
common:x:890:common,www-data,USER,go
User www-data ist in jeder Usergruppe, deren korrespondierender User httpd-Unterverzeichnisse besitzt die via Webbrowser erreichbar sein sollen.

Workstation klonen

nachdem ich in Augsburg und Vachendorf ebenfalls eine Workstation stehen habe, erzeugte ich nach der Installation mehrere Kopien derselben. Das Klonen des Systems im Betrieb ist bei der Dokumentation zu jessie beschrieben. Nach der Anpassung der UUID ec müssen die selben Anpassungen wie bei der Rechner umbenennen oder IP Adresse änderndurchgeführt werden. Weiterhin werden die Drucker je nach Standort neu installiert, wie hier. So entstand:
  • antares.ulm.go-itservice.de
  • pollux.ulm.go-itservice.de
  • canopus.ulm.go-itservice.de
  • capella.aug.go-itservice.de
  • prokyon.*.go-itservice.de
  • letzterer ist ein Lenovo X201 Laptop, der trotz komplett abweichender Hardware problemlos funktionierte. Dort nahm ich wegen dem mobilen Einsatz Abweichungen ähnlich sirius mit verschüsselter /home Partition und Daten auf der herausnehmbaren, ebenfalls verschlüsselten SDHC Karte vor.

    Plattenplatz freimachen

    Um einen Klon der Workstation auf der 13,5GB grossen Rootpartition einer 16GB Platte unterzubringen, muß ich die 6 Monate in Betrieb befindliche Installation bereinigen, sie war inzwischen auf 17,2 GB angewachsen, wobei allerdings 7,7 GB auf die MYSQL-Datenbank entfielen.
    Alte Kernel und Header löschen, der Einzeiler stammt von Christoph Langner und brachte 0,5 GB:
    # dpkg -l 'linux-*' | sed '/^ii/!d;/'"$(uname -r | sed "s/\(.*\)-\([^0-9]\+\)/\1/")"'/d;s/^[^ ]* [^ ]* \([^ ]*\).*/\1/;/[0-9]/!d' | xargs sudo apt-get -y purge
    
    Das selbe Resultat bringt apt-get autoremove, was ich auf wega testete.
    nicht mehr benötigte Pakete löschen brachte 0,01 GB:
    # aptitude purge ~o
    
    Paket cache läschen, das brachte 4,0 GB:
    # apt-get clean
    
    Letzteres war deshalb so erfolgreich, da bei jessie im Testing Status jede Menge Updates angefallen sind. Bei wheezy/stable hätte das viel weniger gebracht.

    CDs rippen und in MP3s wandeln

    mit aptitude lame, abcde installieren. Unter jessie ist lame verfügbar, es muß nichts geändert werden. Bei Benutzung von abcde und Proxy: export HTTP_PROXY="proxy.xxx.de:3128"
    Die Datei /etc/abcde.conf sieht z.B. so aus:
    OUTPUTDIR="$HOME/mp3"
    OUTPUTFORMAT='${ARTISTFILE}/${ALBUMFILE}/${TRACKNUM} ${TRACKFILE}'
    VAOUTPUTFORMAT='${ALBUMFILE}/${ARTISTFILE}-${ALBUMFILE}-${TRACKNUM}-${TRACKFILE}'
    # ergibt variable Bitrate:
    LAMEOPTS='--preset standard'	
    PADTRACKS=y
    
    Auslesen, encodieren ec. der CD mit:
    $ abcde -N -g -d /dev/cdrom -a read,encode,tag,move,playlist,clean -o mp3  -x
    

    PDF aus mehreren JPGs/PNGs erzeugen

    Einzeiler unter Linux, ghostscript und imagemagick müssen installiert sein. Die erste Zeile verwendete ich zum Optimieren des Kontrasts und zur Reduktion der Bildgrösse
    $ mogrify -brightness-contrast 5x5 -scale 1824x1824 -monochrome -quality 90 *.jpg 
    $ convert *.jpg outputfile.pdf
    

    ElsterOnline benutzen

    Die Elster Online JAVA Version funktioniert mit Iceweasle 24 und der auf spica installierten OpenJava Version nicht ohne Tricks. Da ich keine Lust auf Registrierung bei Oracle hatte, testet ich die JAVA freie Version von Elster Online. Und Voila - UST-Voranmeldung geht auch ohne! Also verzichtete ich auf den ganzen unsicheren Kram und verwende ab sofort die reine Javascript online Version!

    ID3 Tags auslesen und setzen

    mit dem Kommandozeilentool id3v2 kann man die ID3 Tags von MP3 Dateien einfach auslesen und setzen. Hier die wichtigsten Optionen:
       -l   Anzeige der gesetzten Tags
       -a   Artist: Name des Künstlers
       -A   Album: Name des Albums
       -t   Titel: Song-Titel
       -T   Track: Track-Nummer
    Das kann man wunderbar mit einer Schleife in der shell koppeln, z.B. um den Titel aller Tracks im Verzeichnis durchzunummerieren, was die erste Zeile macht, während die zweite Zeile alle Tags aller MP3s im Verzeichnis ausgibt.
    $ let a=0; for i in *.mp3; do let a=a+1; b=`printf Track_%03d $a`; id3v2 -t $b $i; done
    $ id3v2 -t *.mp3
    

    Musik CDs kopieren

    # cdrdao read-cd --device /dev/cdrom cdtoc
    # cdrdao write --device /dev/cdrom --speed 8 cdtoc
    
    nach dem ersten Kommando Schublade öffnen und leeren Rohling einlegen. Beide Kommandos müssen im selben Verzeichnis gestartet werden (sie arbeiten nämlich mit einer Imagedatei data.bin in diesem Verzeichnis.

    Einen entfernten Desktop administrieren

    zur Unterstützung von Usern, die sich mit Linux nicht auskennen, ist die direkte Sicht auf deren Desktop sehr hilfreich. Dies ist mittels VNC leicht zu bewerkstelligen und funktioniert auch Betriebsystemübergreifend.
    Zwei Heimnetze sind beide mit dem Internet verbunden, es liegt also folgende Topologie vor:
    ANTARES (192.168.80.24) -- NAT Router A  --  internet  -- NAT Router B  --  DENEB (192.168.60.13)
                              (A.dyndns.org)                 (B.dyndns.org) \ CAPELLA (192.168.60.26)
    
    Auf capella ist Vino installiert (ist Standard unter lenny)
    vino wird für die Administration freigeschaltet mit (deutsch):
    -> System -> Einstellungen -> entfernter Desktop
    anderen Benutzern erlauben ihren Desktop anzuzeigen (JA)
    anderen Benutzern erlauben ihren Desktop zu steuern (JA)
    bei ihnen nachfragen (NEIN)
    Passwort nötig (JA)
    
    Dies kann auch remote auf der Shell durchgeführt werden, wenn am Zielrechner gconf2 installiert ist. Die Kommandos müssen als der Benutzer durchgeführt werden, dessen Desktop kontaktiert werden soll!
    $ gconftool-2 -s -t bool /desktop/gnome/remote_access/promt_enabled false
    $ gconftool-2 -s -t bool /desktop/gnome/remote_access/enabled true
    $ -a /desktop/gnome/remote_access 
    
    Die letzte Zeile zeigt die eingetragenen Werte. Egal mit welcher der beiden Methoden der Desktop freigegebe wurde, kann nun der Tunnel über ssh von antares aus aufgebaut werden. Statt Port 22 verwende ich für die Portweiterleitung an NAT Router B direkt auf deneb den Port 7922, auf capella den Port 8022. Falls Port 22 direkt zu deneb oder capella weitergeleitet werden würde, könnte ich auf -p 7922 bzw -p 8022 verzichten. Als root starte ich auf antares:
    # ssh -C -L 5900:192.168.60.26:5900 -p 8022 B.dyndns.org
    
    Auf antares kann jetzt der VNC-Viewer gestartet werden, z.B. remmina über
    -> Anwendungen -> Internet -> Betrachter für entfernte Desktops
    Dort Verbinden zu dem antares-seitigen Ende des Tunnels:
    Typ:     VNC
    Host:    127.0.0.1:5900
    User:    go
    Pass:    VNC Passwort am Zielrechner capella
    
    Der Client fragt das auf capella eingestellte VNC-Passwort ab und baut dann den entfernten Desktop auf, viel schneller als unter lenny! Das ganze funktioniert aber nur, wenn der Benutzer, der den VNC Desktop freigegeben hat, auf capella schon angemeldet ist! Eine sehr gute Anleitung findet sich unter mikiwiki.org/wiki/Fernwartung

    GPG verwenden

    Zuerst via aptitude gpg (für Kommandozeile) und enigmail (für Thunderbird) installieren. Einige wichtige gpg Kommandos:
    Neues Schlüsselpaar erzeugen:
    $ gpg --gen-key
    Schlüsselliste public auflisten:
    $ gpg -k
    Schlüsselliste privat auflisten:
    $ gpg -K
    Schlüssel als Benutzer exportieren:
    $ gpg --export-ownertrust > /tmp/ownertrust.txt
    $ gpg --export --output /tmp/keys.pub [KEYID]
    Schlüssel in den keyring für www-data, damit von Webserver mit php via gpg veschlüsselte Mails versendet werden können:
    als root:
    # mkdir /var/www/.gnupg
    # chown www-data:www-data /var/www/.gnupg
    # chown chmod 700 /var/www/.gnupg
    # su www-data
    $ gpg -k
    $ gpg --import /tmp/keys.pub
    Damit der Schlüssel verwendet werden kann, muss ihm vertraut werden, also den Trust herstellen:
    $ gpg --import-ownertrust < /tmp/ownertrust.txt
    oder mit
    $ gpg --edit-key [KEYID]
    	> trust
    	... 5
    	> save

    ekgia Videokonferenzsystem konfigurieren

    Der Start von ekgia bewirkt beim ersten Aufruf den Start des Konfigurationsassistenten.
    Name:           USERNAME
    Konto anlegen:  ekiga.net
    User:           USER
    pass:           PASS
    PC2Tel: nicht anmelden
    Verbindung:     DSL/128kBit
    Audiogeraete:
    Klingel:        default
    Audio:          default
    Aufnahme:       default
    Video:          VIDEODEVICE
    
    VIDEODEVICE ist die webcam, bei sirius z.B. SC13HDL11624.
    Weitere Infos unter wiki.ekiga.org/index.php/Manual

    Anhang Dateien

    /etc/init.d/obi1

    ### BEGIN INIT INFO
    # Provides:          obi
    # damit der NFS mount klappt muessen die demons schon laufen, deshalb hier "$named"
    # Required-Start:    $syslog $time $remote_fs $named
    # Required-Stop:     $syslog $time $remote_fs $named
    # Default-Start:     2 3 4 5
    # Default-Stop:      0 1 6
    # Short-Description: Deferred execution scheduler
    # Description:       Debian init script 
    ### END INIT INFO
    #
    #
    
    PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
    # DAEMON=/usr/sbin/atd
    # PIDFILE=/var/run/atd.pid
    # test -x $DAEMON || exit 0
    # . /lib/lsb/init-functions
    
    case "$1" in
      start)
    	echo -n "obi1 start ... "
    	ntpdate ntp.vach.go-itservice.de
    	date
    	mount 192.168.40.10:/home /home
    	mount -o remount -t nfs4 192.168.40.10:/home /home
    	mount /dev/sda3 /local
    	df -k
    	ifconfig eth0:1 10.0.0.1 netmask 255.255.255.0
    	ifconfig eth0:2 10.0.2.1 netmask 255.255.255.0
    	echo "ok"
        ;;
      stop)
    	# log_daemon_msg "obi start script" "obi"
    	# killproc -p $PIDFILE $DAEMON
    	# log_end_msg $?
        ;;
      force-reload|restart)
        # $0 stop
        # $0 start
        ;;
      status)
        # status_of_proc -p $PIDFILE $DAEMON atd && exit 0 || exit $?
        ;;
      *)
        echo "Usage: $0 {start|stop|restart|force-reload|status}"
        exit 1
        ;;
    esac
    
    exit 0
    

    /etc/apache2/sites-available/myuml.local

    und als Link darauf /etc/apache2/sites-enabled/010-myuml.local.conf
    <VirtualHost *>
            SetEnv XXURL  /myulm.local
            ServerName     myulm.local
            ServerAlias    myulm.antares.ulm.go-itservice.de
            ServerAlias    myulm.spica.vach.go-itservice.de
            ServerAlias    myulm.capella.aug.go-itservice.de
            ServerAlias    myulm.sirius.vach.go-itservice.de
            ServerAlias    myulm.sirius.aug.go-itservice.de
            ServerAlias    myulm.sirius.ulm.go-itservice.de
    	DocumentRoot    /home/go/httpd/myulm.go-itservice.com/htdocs
            DirectoryIndex  index.php index.html index.htm
            <Directory /home/go/httpd/myulm.go-itservice.com/data/cgi>
                    Options ExecCGI FollowSymLinks
                    AllowOverride none
    
                    order allow,deny
                    allow from all
            </Directory>
            <Directory /home/go/httpd/myulm.go-itservice.com/htdocs/mydba>
                    AllowOverride AuthConfig
            </Directory>
    </VirtualHost>
    

    /etc/X11/xinit/xserverrc

    #!/bin/bash
    LOGFILE=/var/log/xserverrc.log
    echo -n $0 starts > $LOGFILE
    date >> $LOGFILE
    xrandr --output DVI-0 -s 3200x1200
    xrandr --output DVI-0 --mode 1600x1200
    xrandr --output DVI-1 --mode 1600x1200
    xrandr --output DVI-1 --left-of DVI-0
    OK=0
    MAXROUNDS=30
    while [ $OK -eq 0 ] && [[ $ROUND -lt $MAXROUNDS ]]
    do
      if [ -f /home/isServer.txt ] ; then
        OK=1
      fi
      ROUND=`expr $ROUND + 1`
      sleep 1
    done
    echo -n $0 ended >> $LOGFILE
    date >> $LOGFILE
    
    exec /usr/bin/X -nolisten tcp "$@"