|
spica.ulm.go-itservice.de
stormrunner Standard mit Debian 7.1 Wheezy
Hardware:
Board: | ASUS N4L-VM DH, i945GM |
CPU | CPU INTEL Core2Duo T7200 2,0 GHz |
Speicher | 2048 MB DDR2/PC 667 |
Graka | on Board |
Netz | 1GBit Intel on Board |
Sound | on Board |
Platte | SSD Samsung 840 PRO 128GB |
CDROM | LG DVD-RW |
Cardreader | Einbaucardreader Delock 91628 |
Netzteil | Be Quiet E5 350W |
Linux installieren
Mit Debian Wheezy 7.1 CD booten, da es nur eine netinstall-CD ist, Netzwerk eingesteckt lassen. Bei der Pruüfung des
DHCP-Servers am besten abbrechen und die Adresse ec manuell eingeben
Language: German<enter>
...
IP: 192.168.80.29
Netmask: 255.255.255.0
Gateway: 192.168.80.2
DNS: 192.168.80.29
Rechnername: spica
Domain: ulm.go-itservice.de
Passwort root ..., User: dummy, Kein echter User nötig, diese werden von dem alten Rechner
übernommen. Partitionieren:
Festplatte: manuell Mountpoint
50,0 GB sda1 ext4 / (formatieren, bootflag)
4,0 GB sda2 swap
74,0 GB sda3 ext4 /local (formatieren, als /local einbinden)
Grundsystem wird installiert ...
Spiegel: ja
Server: ftp.uni-erlangen.de
Proxy: http://192.168.80.1: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 wird das neue
GNOME 3 Desktop mitgeliefert, mit dem ich nicht klarkomme. Ich werde später
XFCE 4 nehmen oder auf MATE ec. umstellen
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 wheezy 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/ wheezy main contrib non-free
deb-src http://ftp.uni-erlangen.de/debian/ wheezy main contrib non-free
deb http://security.debian.org/ wheezy/updates main contrib non-free
deb-src http://security.debian.org/ wheezy/updates main contrib non-free
# wheezy-updates, former volatile
deb http://ftp.uni-erlangen.de/debian wheezy-updates main contrib non-free
deb-src http://ftp.uni-erlangen.de/debian wheezy-updates main contrib non-free
# Virtualbox
deb http://download.virtualbox.org/virtualbox/debian wheezy contrib non-free
In der Datei /etc/X11/default-display-manager 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äzliche
Pakete und die unter Wheezy für php und perl angegebenen mit aptitude auswählen:
apache2
acl
bind9
catdoc (wegen xls2csv)
cryptsetup
debconf-utils
dos2unix
eclipse
hdparm
imagemagix
iptables
lame
laptop-mode-tools
libapache2-mod-php5
lightdm
ldap-utils
lynx
mcrypt
mencoder
mplayer
mysql-client (= mysql-client-5.5 + mysql-common)
mysql-server (= mysql-server-5.5 + mysql-common)
nfs-kernel-server
nfs4-acl-tools
ntpdate
open-ssh-server
php5
+ perlmodule (unter nicht-installiert -> perl, siehe Allgemeines zu "Wheezy")
+ php5 (inclusive diverser Module siehe Allgemeines zu "Wheezy")
phpldapadmin
phpmyadmin
rsh-redone-client
rsync
samba
sane
slapd
squid
squidguard
ssh
sudo
vlc
xfce4
xsane
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
um den Default X-Session / X-Windowmanager auf xfce4 zu ändern, diesen im Auswahlmenü eintragen:
# update-alternatives --config x-session-manager
ist das noetig???: User Umschalten Xfce 4
Ab Xfce 4.10 ist die Benutzerumschaltung automatisch unterstuetzt. Um da mit LightDM zu verwenden, muss ein
Symlink angelegt werden:
# ln -s /usr/lib/lightdm/lightdm/gdmflexiserver /usr/local/bin/gdmflexiserver
Startdatei in rc.n
bereits in squeeze wurde die Reihenfolge der Bootskripte auf abhänigkeitsgesteuerte Bootskripte geändert.
Diese sind komplizierter aufgebaut und nüssen ihre Abhänigkeiten und "start","stop"
Zweige enthalten. Der Start Teil in meinem Beispiel (komplette Datei hier im Anhang)
mount 192.168.80.11:/home /home
mount -o remount -t nfs4 192.168.80.11:/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
Eclipse
Eclipse ist installiert, auch die JVM paßt in 3.8, so dass nur noch der Workspace auf
/home/go/httpd umgestellt werden müsste.
Aus irgendeinem Grund funktionierte 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://update.phpeclipse.com/update/stable/1.2.x
Name: phpeclipse 1.2.x
<Finish>, in der Liste PHPEclipse auswählen <Next>, Anweisungen befolgen (Lizenz akzeptieren ec) <Finish>
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.
Voraussetzungen installieren und vtiger 5.4.0 selbst auspacken habe ich unter squeeze durchgeführt
und das funktioniert unter wheezy 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.
# 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
allow_call_time_pass_reference On
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.
Doku, Anleitungen: https://wiki.vtiger.com/
Doku, Tips: https://help.vtiger.com
Videodukus: http://youtube.com/vtigercrm
CDs rippen und in MP3s wandeln
mit aptitude lame, abcde installieren. Unter squeeze ist lame verfügbar, es muß nichts
geändert werden.
Bei Benutzung von abcde und Proxy: export HTTP_PROXY="proxy.xxx.de:3128"
/etc/abcde.conf
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
------- STAND -------
Apache 2
das ganze Verzeichnis /etc/apache2/ vom alten Rechner holen.
Links in /etc/apache2/sites-enabled erzeugen in der Art
# ln -s ../sites-available/seceit.go-itservice.com 001-seceit.go-itservice.com
/etc/hosts anpassen, damit die Entwicklungsseite auf antares nicht im Internet gesucht werden.
TrueType Fonts (.ttf) installierern
Die Fontdateien nach usr/share/fonts/truetype/ kopieren und dann mit dem Debian Font Manager bekanntmachen:
# defoma-hints -c --no-question truetype /usr/share/fonts/truetype/*.ttf > /etc/defoma/hints/ownfonts.hints
# defoma-font register-all /etc/defoma/hints/ownfonts.hints
# defoma-reconfigure
Zur Verwendung unter X11 müssen die Fonts nicht unter /usr/share/fonts/truetype/ liegen, für apache-FOP schon, sonst
gibts eine Exception!
ElsterOnline benutzen
Elster Online funktioniert mit Firefox 3.5 und der auf antares installierten JAVA Version nicht
nicht ohne folgenden Trick und die Fehlermeldung von wegen Cookies führt in die falsche Richtung
# apt-get install sun-java6-jre
# apt-get install sun-java6-plugin
Das Plugin ist /usr/lib/jvm/java-6-sun-1.6.0.26/jre/lib/i386/libnpjp2.so und
wird via Symlink ins Mozilla-Pluginverzeichnis gelinkt:
# cd /home/USERNAME/.mozilla/plugins
# ln -s /usr/lib/jvm/java-6-sun-1.6.0.26/jre/lib/i386/libnpjp2.so
Das plugins -Verzeichnis existiert möglicherweise nicht und muß dann vorher mit Userrechten
angelegt werden. Firefox schliessen und wieder öffnen, funktioniert!
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 die
Konfigurationssoftware von einer Windows Partition aus, da die Admin-Webseite der Printerserver nicht
funktionierte (nur leere Seite).
Auf antares (unter gnome) im Menue System -> Systemverwaltung -> Drucker
einen neuen Drucker anlegen und einen Netzwerkdrucker mit Protokoll
HP JetDirect einstellen. Laut Kommentaren im Internet arbeiten die genannten HP-Printserver
aber alternativ auch mit dem IPP Protokoll. Dann den Printserver und den zum Drucker passenden
Druckertreiber auswählen, als Beispiel einen HP Officejet G85.
Rechner: 192.168.80.17
Port: 9100
Treiber: Officejet G85 (HPLIP 1.6.10 recomended)
Einen der installierten Drucker als Voreinstellung auswählen.
Mit dem besagten HP-Officejet hatte ich immer wieder das Problem, daß nach 1-2 Monaten Nichtbenutzung
die Patronen eintrockneten. Druckkopfunterseite ca 15 Minuten in Waschbenzin einlegen löst das
Problem, mit Alkohol ging nichts.
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.
Die nötige zeile steht schon in der /etc/apt/sources.list
# wget -q http://download.virtualbox.org/virtualbox/debian/oracle_vbox.asc -O- | sudo apt-key add -
# apt-get install virtual-box-4.1
Die Virtuellen Maschinen werden aus dem Userverzeichnis nach /local kopiert, da ich sie auf dem alten antares
schon verwendete.
# cp /home/go/.VirtualBox/*.vdi /local
# cd /local; chmod 660 *.vdi; chown go:common *.vdi
Für USB Support in Virtual Box muss
http://download.virtualbox.org/virtualbox/4.1.8/Oracle_VM_VirtualBox_Extension_Pack-4.1.8-75467.vbox-extpack
heruntergeladen werden. In der VirtualBox Oberfäche unter
Datei -> globale Einstellungen -> Zusatzpakete -> hinzufuegen wird es installiert.
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 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.
Damit das Verzeichnis /home/common von allen Mitgliedern der Gruppe common so genutzt
werden kann, dass jeder User der Gruppe darunter abgelegte Dateien lesen UND schreiben kann, muss root folgendes
eingeben:
# cd /home/common
# umask 0007
das bedeutet, dass jede Datei mit den Rechten 660 und jedes Verzeichniss mit den Rechten 770 angelegt wird. Die
Voreinstellung ist umask 0022 (also für Dateien 644 und Verzeichnisse 755). Zusätzlich muss eine Default
ACL für das Verzeichnis /home/common und die Gruppe common am Server
sgrx1 eingerichtet werden.
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
Anhang Dateien
/etc/init.d/obi1
### BEGIN INIT INFO
# Provides: obi
# Required-Start: $syslog $time $remote_fs
# Required-Stop: $syslog $time $remote_fs
# 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.ulm.go-itservice.de
date
mount 192.168.80.11:/home /home
mount -o remount -t nfs4 192.168.80.11:/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
|