yet another useless homepage

We don't cut. We expand.

Artikel sind mit folgenden Tags versehen linux

Jun 24, 12:28 AM
von Stephan
Keine Kommentare

Sendmail und Google Apps unter CentOS 5

Meine E-Mails werden von Google (Apps, nicht das normale Mail) versendet und empfangen, da möchte ich auch meinen neuen vServer so einrichten, dass er E-Mails mit dem SMTP-Server von Google versenden kann.

Nach ein paar Anfangsschwierigkeiten und vielen verschiedenen Anleitungen hat dieser französischer Eintrag letztlich geholfen, sendmail korrekt einzurichten.

Ein minimales CentOS 5.5 mit korrekt gesetzten Hostname (FQDN mit einer per DNS auflösbaren Domain) war die Voraussetzung für die folgenden Schritte:

Zunächst müssen mittels yum ein paar Pakete installiert werden (nicht alle sind für die Einrichtung des Relay notwendig, aber da es sich bei meinem Server um ein Minimalsystem handelt, benötige ich sie sowieso für alle möglichen Gelegenheiten):

-bash-3.2# yum -y install vim-enhanced wget mlocate sudo sendmail sendmail-cf man telnet cyrus-sasl-plain passwd mlocate sudo openssh openssl make gcc cyrus-sasl cyrus-sasl-plain

Der nächste Schritt ist, die notwendigen Zertifikate nach /usr/share/ssl/certs zu kopieren bzw. dort zu erstellen. Die Zertifikate sind zehn Jahre lang gültig, bei Bedarf kann man natürlich auch kleinere Werte als 3650 Tage wählen.

-bash-3.2# mkdir -p /usr/share/ssl/certs
-bash-3.2# cd /usr/share/ssl/certs
-bash-3.2# cp /etc/pki/tls/certs/ca-bundle.crt /usr/share/ssl/certs/
-bash-3.2# openssl req -new -x509 -keyout cakey.pem -out cacert.pem -days 3650
-bash-3.2# openssl req -nodes -new -x509 -keyout sendmail.pem -out sendmail.pem -days 3650

Anschließend werden die Zugangsdaten in der Datei /etc/mail/authinfo angelegt:

-bash-3.2# vi /etc/mail/authinfo

Der Inhalt der Datei sieht dann in etwa so aus (die Platzhalter in müssen durch die tatsächliche E-Mail-Adresse bzw. das Klartext-Passwort ausgetauscht werden:

AuthInfo:smtp.gmail.com "U:root" "I:<appsexample.com>” “P:“ “M:PLAIN”@
AuthInfo:smtp.gmail.com:587 "U:root" "I:<appsexample.com>” “P:“ “M:PLAIN”@

Die Authinfo-Datei wird nunmehr gehasht und die Dateiberechtigung angepasst:

-bash-3.2# makemap hash /etc/mail/authinfo < /etc/mail/authinfo
-bash-3.2# chmod 600 /etc/mail/authinfo

Die Datei /etc/mail/sendmail.mc muss ebenfalls noch angepasst werden. Vor der ersten Zeile, die mit MAILER beginnt, müssen diese Zeilen eingefügt werden:

FEATURE(`authinfo',`hash /etc/mail/authinfo.db')
define(`SMART_HOST',`smtp.gmail.com')dnl
define(`RELAY_MAILER_ARGS', `TCP $h 587')
define(`ESMTP_MAILER_ARGS', `TCP $h 587')
define(`confCACERT_PATH',`/usr/share/ssl/certs')
define(`confCACERT',`/usr/share/ssl/certs/ca-bundle.crt')
define(`confSERVER_CERT',`/usr/share/ssl/certs/sendmail.pem')
define(`confSERVER_KEY',`/usr/share/ssl/certs/sendmail.pem')
define(`confAUTH_MECHANISMS', `EXTERNAL GSSAPI DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')
TRUST_AUTH_MECH(`EXTERNAL DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')
define(`confAUTH_OPTIONS', `A')dnl

Nun noch die Änderungen wirksam werden lassen und sendmail neu starten (bzw. bei jedem Neustart automatisch starten lassen):

-bash-3.2# cd /etc/mail
-bash-3.2# m4 sendmail.mc > sendmail.cf
-bash-3.2# /sbin/service sendmail restart
-bash-3.2# /sbin/chkconfig sendmail on

Das Verschicken einer Testmail dürfte nun funktionieren (als Beispiel wird der Inhalt der Datei /etc/hostname per E-Mail an eine funktionierende Adresse versendet):

-bash-3.2# sendmail -v mailexample.com < /etc/hostname@

Aug 5, 12:35 PM
von Stephan
Keine Kommentare

Quickly change bash environment variables using files

Nachdem ich jetzt tagelang versucht habe mich zu erinnern, wie der nette Oracle-Consultant das Wunder bewerkstelligt hat, unzählige Umgebungsvariablen mit einem simplen Befehl zu setzen, bin ich endlich fündig geworden.

Um Oracle-Systeme zu warten, ist es bisweilen notwendig, zum Beispiel die Umgebungsvariable $ORACLE_SID anzupassen. Oder den Pfad. Oder das Prompt (damit man weiß, welche SID man gerade bearbeitet).
Der findige Oracle-Consultant hat mir dazu ein paar Dateien in der Art env.SID hinterlassen. Deren Inhalt ist im wesentlichen unspektakulär:

env.infra (Es handelt sich um Node 2 eines RAC)

PATH=/usr/kerberos/bin:/usr/local/bin:/bin:/usr/bin:/home/oracle/bin
   export PATH
ORACLE_HOME=/opt/oracle/gridinfra
   export ORACLE_HOME
ORACLE_SID=+ASM2
   export ORACLE_SID
PATH=${ORACLE_HOME}/bin:$PATH
   export PATH
PS1="$LOGNAME@`uname -n| cut -f1 -d.`[INFRA]> "
   export PS1

env.MYSID2

PATH=/usr/kerberos/bin:/usr/local/bin:/bin:/usr/bin:/home/oracle/bin
   export PATH
ORACLE_HOME=/ora/product/rdbms11.2
   export ORACLE_HOME
ORACLE_SID=MYSID2
   export ORACLE_SID
PATH=${ORACLE_HOME}/bin:$PATH
   export PATH
PS1="$LOGNAME@`uname -n| cut -f1 -d.`[$ORACLE_SID]> "
   export PS1

Der Trick besteht nun darin, diese Dateien zu sourcen:

$ . env.infra

Dank dieses Blogeintrags werde ich das hoffentlich nie mehr vergessen. Übrigens ist der Titel in englischer Sprache, da ich in Google keine relevanten Treffer finden konnte, weder in deutsch noch in englisch.

May 4, 10:14 AM
von Stephan
Keine Kommentare

Vergleich von *nix

Unixoide Betriebssysteme erfreuen sich immer größerer Beliebtheit. Während sogar hartgesottene Windows-Anwender über einen Wechsel zu Ubuntu oder anderen Distributionen wechseln, ist der fortgeschrittene Anwender neugieriger.

Die aktuelle Zahl der existierenden freien Betriebssysteme wie Linux-Distibutionen und BSDs ist erschreckend hoch, Gott sei Dank gibt es für den schnellen Überblick Seiten wie Distrowatch.com. Wer aber einen direkten Vergleich zweier Systeme sucht, wird eher bei polishlinux.org fündig. Vergleichen lassen sich jeweils zwei Systeme nebeneinander, zur Verfügung stehen Arch, Aurox, Debian, Fedora, FreeBSD, Freespire, Gentoo, KateOS, NetBSD, OpenBSD, openSUSE, PCLinuxOS, PLD, Slackware, Ubuntu, Xandros, Yoper und Zenwalk.

May 5, 11:42 PM
von Stephan
Keine Kommentare

Wieder im Netz mit dem Asus WL-500g Premium

Die Maler sind weg, ebenso die Wasserflecken an der Decke. Unter der Tapete im Wohnzimmer waren schon größere Schimmelflecke, doch diese sind dank des weißen Überanstrichs und erneuten Tapezierens nicht mehr zu sehen. Das “Heimbüro” ist wieder eingerichtet und der Mac wieder im Netz, diesmal über einen neuen Router.

Bislang bin ich mit einem D-Link DI-524 ins Internet gelangt, doch diese kostenlose Beigabe meines Providers hat mich nicht so recht zufriedenstellen können. Speziell mit dem Arbeits-Laptop von Toshiba habe ich im WLAN mit der WPA2-Verschlüsselung nur Probleme gehabt. Da ich schon länger mit einem Router mit offenem Betriebssystem geliebäugelt habe, und Wiebke als Stimme meiner Vernunft erst morgen wiederkommt, hat mich niemand vom Kauf eines Asus WL-500g Premium abgehalten.

Der Asus WL-500gP ist ein WLAN-Router mit vier LAN- und einer WAN-Buchse. Mit insgesamt 32 MB RAM und 266 MHz Prozessor sieht er so aus, wie einer der leistungsstärkeren Router auf dem Markt. Die beiden USB 2.0-Schnittstellen sehen sehr vielversprechend aus und lassen erahnen, dass die NSLU2 hier Konkurrenz bekommen könnte.

Bislang konnte ich noch nicht viel testen, WAN, LAN und WLAN laufen bislang sehr ordentlich, ein USB-Stick am Router konnte gemountet werden und somit als Speichermedium genutzt werden (die Originalfirmware kann das wohl auch, aber wieso sollte ich das testen, wenn ich gleich auf OpenWrt wechseln kann?). Den Druckerserver und etwaige FTP- oder BitTorrent-Funktionen habe ich noch nicht ausprobiert.

Mit dem WebInterface X-Wrt kommt man ganz bequem um die nvram-Befehle herum. Zugegeben, etwas technisches Verständnis ist unabdingbar, aber so schwierig ist die Umstellung auf eine offene Firmware nun auch nicht.