Fix Ubuntu 11.10 Oneiric Ocelot dbus Problem
Nach dem Update zu Ubuntu 11.10 Oneiric Ocelot bekam ich folgende Meldung wärend des Systemstarts:
Waiting for network configuration
Es dauerte eine Weile und führte zu einem schwarzen Bildschirm.
Außerdem bekommt man manchmal folgende Meldung:
Unable to connect to the system bus: Failed to connect to socket /var/run/dbus/system_bus_socket: Connection refused
Die schnelle Lösung war die dbus-Dateien im Verzeichnis “/var/run/dbus/” zu löschen:
rm /var/run/dbus/*
und anschließend das System neu zu starten.
Allerdings wird man das selbe Problem nach dem nächsten Neustart wieder haben.
Eine stabile Lösung ist es die Verzeichnisse “/var/run” und “/var/lock” zu verschieben.
Dazu verschiebt man zuerst die Inhalte von “/var/run” nach “/run” und die Inhalte von “/var/lock” nach “/run/lock”:
mv /var/run/* /run/ mv /var/lock/* /run/lock/
Falls man VMWare installiert haben sollte (z.B. den VMWare Player) muss man zuerst “vmblock-fuse” unmounten, bevor man den Inhalt verschieben kann.
umount /var/run/vmblock-fuse
Nun das Verzeichnis “/var/run” und “/var/lock” löschen
rmdir /var/run rmdir /var/lock
und anschließend durch Symlinks ersetzen:
ln -s /run /var/run ln -s /run/lock /var/lock
danach das System neu starten.
Links:
* https://bugs.launchpad.net/ubuntu/+source/dbus/+bug/811441
* https://bugs.launchpad.net/ubuntu/+source/lightdm/+bug/856810
* http://forum.ubuntuusers.de/topic/nach-upgrade-problem-mit-dem-networkmanager/#post-3473007
Comments: 14 | Read Comments | Write a Comment |Convert PDF to Image
Mit “convert” von “imagemagick” kann man PDFs einfach in Bilder umwandeln.
Beispiel:
convert -geometry 1024x768 -density 200 -colorspace RGB input.pdf output.jpg
Oder man verwendet eine andere Qualität, Auflösung und Graustufen:
convert -geometry 2048x1536 -density 400 -colorspace gray input.pdf output.jpg
Links:
* http://www.imagemagick.org/script/convert.php
Comments: 0 | Read Comments | Write a Comment |System Administrator Appreciation Day – 2011
To all other system adminstrators “HAPPY SYSADMIN DAY !”

and, of course

Sources:
http://www.userfriendly.org
http://xkcd.org
Install Sun Java with Puppet on Ubuntu
Bei der Installation von Softwarepaketen (JRE oder JDK) von Sun muss man den Lizenzbestimmungen zustimmen. Für eine automatische Installation benötigt man daher eine Preseed-Datei.
Den Inhalt dieser Datei bekommt man mit “debconf-get-selections | grep sun-” auf einem System auf dem man bereits die Installation durchgeführt hat.
Nun legt man eine Datei “/etc/puppet/files/sun-java6.preseed” mit dem folgenden Beispielinhalt an:
sun-java6-bin shared/accepted-sun-dlj-v1-1 boolean true sun-java6-jdk shared/accepted-sun-dlj-v1-1 boolean true sun-java6-jre shared/accepted-sun-dlj-v1-1 boolean true sun-java6-jre sun-java6-jre/stopthread boolean true sun-java6-jre sun-java6-jre/jcepolicy note sun-java6-bin shared/error-sun-dlj-v1-1 error sun-java6-jdk shared/error-sun-dlj-v1-1 error sun-java6-jre shared/error-sun-dlj-v1-1 error sun-java6-bin shared/present-sun-dlj-v1-1 note sun-java6-jdk shared/present-sun-dlj-v1-1 note sun-java6-jre shared/present-sun-dlj-v1-1 note
Ich habe dieses APT-Modul verwendet, um das Ubuntu Partner Repository zu installieren. Dieses wird für die Sun-Pakete benötigt.
apt::source { "partner":
location => "http://archive.canonical.com/ubuntu",
release => "${lsbdistcodename}",
repos => "partner",
include_src => false,
}
Nun kann man die Pakete installieren:
file { "/var/cache/debconf/sun-java6.preseed":
source => "puppet://$server/filesserver/sun-java6.preseed",
ensure => present
}
package { "sun-java6-jdk":
ensure => installed,
responsefile => "/var/cache/debconf/sun-java6.preseed",
require => [ Apt::Source["partner"], File["/var/cache/debconf/sun-java6.preseed"] ],
}
Bemerkung: Ich habe hier sun-java6-jdk installiert. sun-java5-jre lässt sich jedoch ebenso installieren.
Comments: 4 | Read Comments | Write a Comment |Install latest Broadcom bnx2 linux driver
Installation eines neuen Broadcom Treibers unter Ubuntu oder Debian:
1. Herrunterladen des Linuxtreibers
http://www.broadcom.com/support/ethernet_nic/downloaddrivers.php
2. Entpacken
unzip linux-6.2.23.zip cd Server/Linux/Driver tar vfx netxtreme2-6.2.23.tar.gz cd netxtreme2-6.2.23
3. Installation der build tools und des Treibers
sudo aptitude install build-essential linux-headers make sudo make install
4. Testen
Vor der Installation:
$ ethtool -i eth0 driver: bnx2 version: 2.0.2 firmware-version: 4.6.1 ipms 1.6.0 bus-info: 0000:05:00.0
Nach der Installation:
$ ethtool -i eth0 driver: bnx2 version: 2.0.23b firmware-version: bc 4.6.1 ipms 1.6.0 bus-info: 0000:05:00.0Comments: 0 | Read Comments | Write a Comment |
Install VMware Tools on Debian Squeeze
1. Installation der benötigten Pakete
aptitude install autoconf automake binutils cpp gcc linux-headers-$(uname -r) make psmisc
2. VMware Tools einbinden
mkdir /tmp/vmtools mount /dev/cdrom /tmp/vmtools
3. Tools entpacken
tar -C /tmp -vfx /tmp/vmtools/VMwareTools*.tar.gz
4. Installationsscript starten
cd /tmp/vmware-tools-distrib ./vmware-install.pl
Bemerkung: Man kann als Alternative zu den VMware Tools auch die “open-vm-tools” installieren.
aptitude install open-vm-tools
Dazu wird “contrib” in der sources.list benötigt !
Comments: 0 | Read Comments | Write a Comment |Nginx as reverse proxy cache for wordpress and apache
1. Nginx installieren
* PPA Installation
* Installation mit selbstgebauten Paket
2. Allgemeine Nginx Einstellungen
Folgende Einstellungen in der Datei “/etc/nginx/nginx.conf” vornehmen:
[...]
http {
[...]
# Gzip Settings
gzip on;
gzip_disable "msie6";
gzip_buffers 32 8k;
gzip_comp_level 6;
gzip_http_version 1.0;
gzip_min_length 0;
gzip_types text/html text/css image/x-icon application/x-javascript application/javascript text/javascript application/atom+xml application/xml ;
# Proxy Settings
proxy_temp_path /var/lib/nginx/proxy;
proxy_connect_timeout 30;
proxy_read_timeout 120;
proxy_send_timeout 120;
proxy_cache_key "$scheme://$host$request_uri";
[...]
}
[...]
3. Site anlegen
Anlegen der Datei “/etc/nginx/sites-available/www.mogilowski.net” mit folgenden Inhalt:
Bemerkung: Ersetze “www.mogilowski.net” mit der Domain deiner Seite und ersetze “mogfilecache” mit einen eindeutigen Namen für den Filecache der Seite.
proxy_cache_path /var/lib/nginx/cache levels=1:2 keys_zone=mogfilecache:180m max_size=500m;
server {
proxy_cache_valid 200 3h;
listen 80;
server_name www.mogilowski.net;
access_log /var/log/nginx/mogilowski.proxied.log;
error_log /var/log/nginx/mogilowski.proxied.log crit;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
location / {
# If logged in, don't cache.
if ($http_cookie ~* "comment_author_|wordpress_(?!test_cookie)|wp-postpass_" ) {
set $do_not_cache 1;
}
proxy_cache_key "$scheme://$host$request_uri $do_not_cache";
proxy_cache mogfilecache;
proxy_pass http://127.0.0.1:81;
}
location ~* wp\-.*\.php|wp\-admin {
proxy_pass http://127.0.0.1:81;
}
location ~* \.(jpg|png|gif|jpeg|css|js|mp3|wav|swf|mov|doc|pdf|xls|ppt|docx|pptx|xlsx)$ {
proxy_cache_valid 200 6h;
expires max;
proxy_cache mogfilecache;
proxy_pass http://127.0.0.1:81;
}
location ~* \/[^\/]+\/(feed|\.xml)\/? {
if ($http_cookie ~* "comment_author_|wordpress_(?!test_cookie)|wp-postpass_" ) {
set $do_not_cache 1;
}
proxy_cache_key "$scheme://$host$request_uri $do_not_cache";
proxy_cache_valid 200 1h;
proxy_cache mogfilecache;
proxy_pass http://127.0.0.1:81;
}
# No access to .htaccess files.
location ~ /\.ht {
deny all;
}
}
Bemerkung: In dieser Beispielkonfiguration läuft der Apache Webserver auf Port 81 auf dem selben Server (localhost). Es könnte aber ebenso ein anderer Server sein, dazu einfach “http://YOUR_APACHE_SERVER:80″ verwenden.
4. Site aktivieren
ln -s /etc/nginx/sites-available/www.mogilowski.net /etc/nginx/sites-enabled/www.mogilowski.net
Bemerkung: Bitte die default Site entfernen!
5. Purge Cache
Falls man sein eigenes Nginx Paket mit dem “proxy_cache_purge” Modul gebaut hat, kann man dies noch zu seiner Konfiguration hinzufügen: (http://labs.frickle.com/nginx_ngx_cache_purge/)
server {
[...]
location ~ /purge(/.*) {
allow 127.0.0.1;
deny all;
proxy_cache_purge mogfilecache "$scheme://$host$request_uri";
}
[...]
}
Dies kann man prima zusammen mit diesem Plugin verwenden: http://wordpress.org/extend/plugins/nginx-proxy-cache-purge
6. Links
* http://wp-performance.com/2010/10/nginx-reverse-proxy-cache-wordpress-apache/
* http://wiki.nginx.org/Wordpress
* http://wordpress.org/extend/plugins/nginx-proxy-cache-integrator/
* http://www.djm.org.uk/wordpress-nginx-reverse-proxy-caching-setup/
* http://zachbrowne.com/2011/how-to-build-the-fastest-wordpress-website-with-apache-ngnix-reverse-proxy-php-cgi-google-pagespeed/
Install nginx on debian squeeze from PPA
Aktuell findet man die Version 0.7.67-3 von Nginx in Debian Squeeze. Wenn man eine neuere Version haben möchte, kann man sich seine eigenen Pakete bauen, oder man verwendet welche aus den Ubuntu PPA-Quellen.
Dies installiert die neuste (stable) Version von Nginx (aktuell 1.0.1) auf Debian Squeeze.
echo "deb http://ppa.launchpad.net/nginx/stable/ubuntu lucid main" > /etc/apt/sources.list.d/nginx-stable-lucid.list apt-key adv --keyserver keyserver.ubuntu.com --recv-keys C300EE8C aptitude update aptitude install nginx
Aber wenn man Third Party Module benötigt, muss man seine eigenen Pakete bauen.
Comments: 1 | Read Comments | Write a Comment |Building a nginx debian package with third party modules
Ich habe diese Anleitung mit Debian Squeeze (amd64) und der neusten Version von Nginx (stable) mit einem Third Party Module als Beispiel erstellt. Bitte beachtet, das ihr ggf. die Versionsnummern in dieser Anleitung anpassen müsst, wenn ihr neuere Versionen von Nginx oder des Moduls verwendet.
1. Installation Debian Build-Tools und abhängigen Paketen
aptitude install build-essential dpkg-dev debhelper autotools-dev libgeoip-dev libssl-dev libpcre3-dev zlib1g-dev
2. Herrunterladen und entpacken des neusten Nginx
wget http://nginx.org/download/nginx-1.0.2.tar.gz tar xvzf nginx-1.0.2.tar.gz
3. Weitere Module herrunterladen
In diesem Beispiel verwende ich das Nginx Proxy Purge Modul. Herrunterladen
wget http://labs.frickle.com/files/ngx_cache_purge-1.3.tar.gz
und anschließend ein Verzeichnis “module” erstellen (sollte dieses nicht bereits existieren). Das Modul wird dann in dieses Verzeichnis entpackt:
mkdir nginx-1.0.2/modules tar vfx ngx_cache_purge-1.3.tar.gz -C nginx-1.0.2/modules/
4. Herrunterladen des neuesten Debian Pakets
apt-get source nginx
Man bekommt einen Ordner mit den letzten Debian Sources angelegt (nginx-0.7.67) von diesen wird jedoch nur der Ordner “debian” benötigt.
5. Kopieren des Debian-Ordners in den neuen Nginx-Ordner
cp -r nginx-0.7.67/debian/ nginx-1.0.2 rm nginx-1.0.2/debian/patches/*
Nicht vergessen die alten Patches zu entfernen! Diese werden nicht mehr benötigt.
Edit “nginx-1.0.2/debian/changelog” and prepend:
nginx (1.0.2-1) unstable; urgency=low * added purge proxy module -- Sebastian Mogilowski Sat, 14 May 2011 13:00:00 +0100
Bemerkung: Am besten ersetzt man dabei meinen Namen durch seinen eigenen
Nun fügt man das Modul zu den Build-Rules hinzu. Dazu editiert man die Datei “nginx-1.0.2/debian/rules” und fügt
--add-module=$(CURDIR)/modules/ngx_cache_purge-1.3 \
zu den “./configure” Einstellungen.
Beispiel:
./configure --conf-path=/etc/nginx/nginx.conf \
--error-log-path=/var/log/nginx/error.log \
--http-client-body-temp-path=/var/lib/nginx/body \
--http-fastcgi-temp-path=/var/lib/nginx/fastcgi \
--http-log-path=/var/log/nginx/access.log \
--http-proxy-temp-path=/var/lib/nginx/proxy \
--lock-path=/var/lock/nginx.lock \
--pid-path=/var/run/nginx.pid \
--with-debug \
--with-http_dav_module \
--with-http_flv_module \
--with-http_geoip_module \
--with-http_gzip_static_module \
--with-http_realip_module \
--with-http_stub_status_module \
--with-http_ssl_module \
--with-http_sub_module \
--with-ipv6 \
--with-mail \
--with-mail_ssl_module \
--add-module=$(CURDIR)/modules/ngx_cache_purge-1.3 \
$(CONFIGURE_OPTS)
6. Erstellen des Pakets
cd nginx-1.0.2 dpkg-buildpackage -b
7. Installation
dpkg -i nginx_1.0.2-1_amd64.debComments: 3 | Read Comments | Write a Comment |
Nagios 3 with Nginx on Ubuntu Server

1. Installation von Nagios 3
aptitude install nagios3
2. Testen der Nagios Installation
Öffne “http://SERVER/nagios3″ in einem Browser. Anmeldung mit “nagiosadmin” und dem Passwort, dass während der Installation festgelegt wurde.
3. Wechseln von Apache zu Nginx
Mit der Nagios Installation wurde Apache automatisch mit installiert. Nun wird er durch Nginx ersetzt.
3.1 Installation von Nginx und libfcgi (Perl)
aptitude install nginx libfcgi-perl
3.2 Fastcgi konfigurieren
Herrunterladen des fastcgi-wrapper und init Skripts: perl-fastcgi (1.64 kB)
wget http://www.mogilowski.net/wp-content/uploads/perl-fastcgi.tar.gz tar vfx perl-fastcgi.tar.gz mv fcgi/fastcgi-wrapper /usr/bin/fastcgi-wrapper.pl mv fcgi/perl-fastcgi /etc/init.d/perl-fastcgi rmdir fcgi chmod +x /usr/bin/fastcgi-wrapper.pl chmod +x /etc/init.d/perl-fastcgi update-rc.d perl-fastcgi defaults /etc/init.d/perl-fastcgi start
3.3 Nginx konfigurieren
vim /etc/nginx/sites-available/nagios
server {
listen 80;
server_name servername.com;
access_log /var/log/nginx/access.log;
auth_basic "Restricted Nagios Area!";
auth_basic_user_file /etc/nagios3/htpasswd.users;
location / {
root /usr/share/nagios3/htdocs;
index index.html;
rewrite ^/nagios3/(.*)$ /$1 break;
}
location /nagios3/stylesheets {
alias /etc/nagios3/stylesheets;
}
location ~ \.cgi$ {
root /usr/lib/cgi-bin/nagios3;
include /etc/nginx/fastcgi_params;
rewrite ^/cgi-bin/nagios3/(.*)$ /$1;
fastcgi_pass 127.0.0.1:8999;
fastcgi_param SCRIPT_FILENAME /usr/lib/cgi-bin/nagios3$fastcgi_script_name;
fastcgi_param AUTH_USER $remote_user;
fastcgi_param REMOTE_USER $remote_user;
}
}
ln -s /etc/nginx/sites-available/nagios /etc/nginx/sites-enabled/nagios /etc/init.d/nginx restart
3.4 Apache entfernen
Nun kann man alle Apache Pakete entfernen mit Ausnahme von “apache2-utils” welches von Nagios benötigt wird.
4. Testen mit Nginx
Öffne “http://SERVER/nagios3″ in einem Browser. Anmeldung mit “nagiosadmin” und dem Passwort, dass während der Installation festgelegt wurde.
5. Links
* http://inode.co.nz/running-nagios3-under-nginx-fastcgi
* http://library.linode.com/web-servers/nginx/perl-fastcgi/ubuntu-10.04-lucid
* http://wiki.linuxwall.info/doku.php/fr:ressources:dossiers:supervision:nagios3
Comments: 0 | Read Comments | Write a Comment |
