Tag Archives for linux

ausnahme fuer rewrite rule

wenn sich die url bzw. domain einer webseite aendern, aber weiterhin auf dem alten webpraesenz etwas z.b. in einem unterordner erreichbar sein soll, muss man diesen unterordner quasi “excluden”. mit der rewrite rule in der .htaccess geht das so:

RewriteEngine on
RewriteCond %{HTTP_HOST} !^www\.domain-alt\.tld$
RewriteCond %{REQUEST_URI} !\/ordner\/.*$    [NC]
RewriteRule ^(.*)$ http://www.domain-neu.tld/$1 [L,R=301]

20150221155525 by sd
shorturl: https://sd.vc/44q
tags: , ,
Leave a comment

linux: altes mainboard, grosse platten, software raid

irgendwie bin ich in sachen hardware nicht mehr up to date. ein nich tmehr ganz neues, schnuckeliges supermicro 1he gehaeuse mit einem brauchbaren dual core xeon stand noch rum. hmm… zwei grosse platten rein und daraus einen backup server gebaut. gesagt getan… aber waere zu schoen, wenn mal alles auf anhieb klappen wuerde.

erstmal musste ich lernen, dass aeltere bios’se mit 4TB platten nicht koennen. knapp 2TB wurden vom bios erkannt. aber nach kurzer recherche war klar, dass man nur die partition zum booten entsprechend klein halten und am anfang platzieren muss. der rest der grossen platte wird dann vom betriebssystem erkannt. (zumindest bei einem linux)

lektion zwei war, dass bei der nutzung von grossen platten, gpt und grub am anfang der platte eine kleine partition vom typ EF02 (BIOS boot partition) vorhanden sein muss. irgendwas soll das mit uefi zu tun haben, was ich aber garnicht habe. verstanden habe ich das alles nicht… aber egal. einfach machen.

die partitionierung bzw das anlegen dieser einen partition musste ich mit einer knoppix cd machen, da auf der debian netinst keine passenden programme drauf sind, um partition auf einer platte mit GPT zu erstellen. (ja, mit sicherheit ist da sowas drauf, aber ich hab nix mir bekanntes gefunden.)
also husch auf beiden platten identische partitionen vom typ EF02 angelegt. dann mit der debian netinst cd die restlichen platten partitioniert, MD devices angelegt, konfiguriert und installiert. und dann geschahen komische dinge…. nach der installation wollte die kiste nicht booten. da kam so ein kauderwelsch:

mdadm: Devices UUID-7a140585:a601a93a:a6265560:0120df65 and
UUID-7a140585:a601a93a:a6265560:0120df65 have the same name: /dev/md/0
mdadm: Duplicate MD device names in conf file were found.
Gave up waiting for root device. Common problems:
- Boot args (cat /proc/cmdline)
- Check rootdelay= (did the system wait long enough?)
- Check root= (did the system wait for the right device?)
- Missing modules (cat /proc/modules; ls /dev)
ALERT! /dev/disk/by-uuid/c5bf7b81-f808-4bf7-b554-f7bc2d6c0479 does not exist
Dropping to shell!

die loesung dazu gabs dann im debianforum. aus der datei /etc/mdadm/mdadm.conf muss man den doppelten eintrag raus loeschen. welcher der richtige ist… keine ahnung. bei mir wars praktischerweise der erste 😉

mit “exit” kommt man dann aus der busybox raus und die kiste startet. damits beim naechsten boot noch klappt, noch das ausfuehren:

update-initramfs -vu

ich hab dann gleich noch den grub auch auf die zweite platte installiert. fuer den fall, dass /dev/sda ausfaellt und man von /dev/sdb booten muss.

dpkg-reconfigure -plow grub-pc

20150112222404 by sd
shorturl: https://sd.vc/44i
tags: ,
Leave a comment

bash: text dateien für windows nutzer aufbereiten

alle modernen betriebssysteme benutzen den “linefeed character (LF)” um einen zeilunumbruch in einer ascii datei zu machen. nur windows nicht. die benutzen einen “carriage return followed by a linefeed (CRLF)”. wenn man nun irgendwelche textfiles auf z.b. einem linux system generiert und auf einem windows rechner anschauen will, muss man nachhelfen. die von windows mitgebrachten anzeigeprogramme hauen sonst alles in eine zeile…

sed -i 's/$/\r/' datei.txt

that’s all.

20150109152139 by sd
shorturl: https://sd.vc/44g
tags: , ,
1 comment

bash: mail mit attachment senden

immer wieder gebraucht und jedesmal auf der suche, wie das geht… nun stehts hier.

auf einem debian system braucht man dazu diese beiden pakete.. falls sie nicht sowieso schon drauf sind:

mailx
sharutils

und so gehts:

(echo "bodytext"; uuencode /tmp/inputdatei.txt \
dateinameindermail.txt) | mail -s "betreff" -a \
"From: absender@domain.tld" "empfaenger@domain.tld"

(das ist eine zeile!)

20150109151745 by sd
shorturl: https://sd.vc/44f
tags: ,
Leave a comment

fuer den wird es zeit

20141225_uptimeundso

… nicht nur wegen der 3,3 jahre uptime, sondern auch weil der server selbst und das betriebssystem in die jahre gekommen ist. ungefaehr acht jahre hat das ding nun bei mir auf dem buckel. und den habe ich damals schon gebraucht erstanden.

~# cat /proc/cpuinfo
processor : 0
vendor_id : GenuineIntel
cpu family : 15
model : 2
model name : Intel(R) Celeron(R) CPU 2.00GHz
stepping : 7
cpu MHz : 1992.796
cache size : 128 KB

damit ist nix mehr zu gewinnen. und mit dem strom kann man heutzutage mit aktueller hardware mehr anstellen 😉

20141225110825 by sd
shorturl: https://sd.vc/43z
tags: ,
Leave a comment

neues vom contao-checker

naja eigentlich nicht vom contao checker, sondern von mir… er wollte seine installation updaten und per ftp dauert das dank mieser internetverbindung immer so lange. also hab ich das ganze mal auf der kommandozeile gemacht. geht wesentlich schneller 😉

und ein kleiner braindump fuer mich fuers naechste mal (damits noch schneller geht!):

# erstmal backup machen
cd /var/www/sites/kundexy
mysqldump -p -h dbserver database > 201412211004.sql
tar -czvf 201412211004.tar.gz verzeichniswebseite/
# dann update laden und installieren
cd verzeichniswebseite
curl -L  -o core-3.2.16.tar.gz https://codeload.github.com/contao/core/tar.gz/3.2.16
tar --strip-components=1 -zxvf core-3.2.16.tar.gz
chown user.group ../verzeichniswebseite/ -R
# und wenn alles danach noch funktioniert, das backup loeschen:
rm core-3.2.16.tar.gz
rm ../201412211004.sql
rm ../201412211004.tar.gz
# feddich!

20141221112110 by sd
shorturl: https://sd.vc/43w
tags: , ,
1 comment

otrs 4 patchlevel update

…so wie es fuer meine installation funktioniert(e). in diesem falle von 4.0.1 auf 4.0.2.

zu hilfe genommen habe ich:

https://otrs.github.io/doc/manual/admin/stable/en/html/upgrading.html
http://otrs.github.io/doc/manual/admin/4.0/de/html/manual-installation-of-otrs.html

eine art braindump fuers naechste update 😉

/etc/init.d/cron stop
/etc/init.d/postfix stop
/etc/init.d/apache2 stop
cd /opt/otrs/
su - otrs
bin/Cron.sh stop
bin/otrs.Scheduler.pl -a stop
logout
mysqldump -uuser -ppasswort -hhost otrs > otrsdbbackup.sql
cd /opt
wget http://ftp.otrs.org/pub/otrs/otrs-4.0.2.tar.gz
mv otrs otrs-4.0.1
tar -xzf otrs-4.0.2.tar.gz
mv otrs-4.0.2 otrs
cp /opt/otrs-4.0.1/Kernel/Config.pm /opt/otrs/Kernel/
cp /opt/otrs-4.0.1/Kernel/Config/GenericAgent.pm /opt/otrs/Kernel/Config/
cp /opt/otrs-4.0.1/Kernel/Config/Files/ZZZAuto.pm /opt/otrs/Kernel/Config/Files/
cd /opt/otrs/var/cron
for foo in *.dist; do cp $foo `basename $foo .dist`; done
cp /opt/otrs-4.0.1/var/cron/postmaster_mailbox /opt/otrs/var/cron/
cd /opt/otrs/
bin/otrs.SetPermissions.pl --web-group=www-data
su - otrs
bin/otrs.RebuildConfig.pl
bin/otrs.DeleteCache.pl
logout
/etc/init.d/apache2 start
/etc/init.d/postfix start
/etc/init.d/cron start
su - otrs
bin/Cron.sh start
bin/otrs.Scheduler.pl -a start
logout

und dann noch im backend unter “admin” -> “paket-verwaltung” die pakete erneut installieren

20141210213347 by sd
shorturl: https://sd.vc/43o
tags: , ,
1 comment

fehler nach owncloud update: “zend_mm_heap corrupted”

nachdem ich heute meine owncloud installation auf 7.0.4 aktualisiert habe, gabs erstmal nur noch “500 Internal Server Error” 🙁

im apache error.log fand ich folgenden eintrag:

zend_mm_heap corrupted

und nach ein wenig googlen habe ich abhilfe gefunden:

after much trial and error, I found that if I increase the output_buffering= value in the php.ini file, this error goes away

hmm… gesagt – getan… funktioniert. nun muss ich nur noch weiter suchen und den hintergrund verstehen 😉

20141210212630 by sd
shorturl: https://sd.vc/43n
tags: , , , ,
Leave a comment

kurz notiert: postfix sslv3 deaktivieren

wieder eine keine notiz fuer mich selbst.. schon ein paar tage her, aber ich brauche es bestimmt nochmal 😉

in der /etc/postfix/main.cf einfuegen bzw. anpassen, wenn schon vorhanden:

smtpd_tls_mandatory_protocols = !SSLv2 !SSLv3
smtp_tls_mandatory_protocols = !SSLv2 !SSLv3
smtp_tls_protocols = !SSLv2, !SSLv3
smtpd_tls_protocols = !SSLv2 !SSLv3

…und pruefen, ob in der master.cf nicht auch noch was von diesen optionen drin steht… ggf. anpassen.

EDIT:

und testen kann man den spass dann damit:

openssl s_client -starttls smtp -crlf -ssl3 -connect mail.domain.tld:25

rauskommen sollte sowas mit “ssl handshake failure”:

CONNECTED(00000003)
140240541128360:error:14094410:SSL routines:SSL3_READ_BYTES:
sslv3 alert handshake failure:s3_pkt.c:1258:SSL alert number 40
140240541128360:error:1409E0E5:SSL routines:SSL3_WRITE_BYTES:
ssl handshake failure:s3_pkt.c:596:
[...]

20141124223105 by sd
shorturl: https://sd.vc/43i
tags: , , , ,
Leave a comment

automx and multiple domain names

in meinem ersten beitrag zu automx hatte ich ganz zum schluss geschrieben, dass es der autodiscover funktion von microsofts outlook noch ein bischen erklaerung bedarf. da die tage auf der automx mailingliste diese frage auftauchte, poste ich meine kurze antwort auch mal hier…

das wesentliche steht in einem technet blog.

autodiscover in seiner urspruenglichen variante fragt einen webserver nach den konfigurationsdaten fuer outlook ab. dabei wird der domainpart (microsoft nennt das “smtpdomain”) der mailadresse genutzt und in dieser reihenfolge nach der konfiguration gesucht:

https://<smtpdomain>/Autodiscover/Autodiscover.xml
https://autodiscover.<smtpdomain>/Autodiscover/Autodiscover.xml
http://autodiscover.<smtpdomain>/Autodiscover/Autodiscover.xml

fuer betreiber mehrerer domains (z.b. hoster) ist das mit dem ssl etwas schwierig, da fuer jede dieser domains ein eigener vhost mit einem eigenen zertifikat eingrichtet werden muesste. die variante ohne ssl verschluesselung will man nicht nutzen, da es um sensible daten geht.

seit outlook 2007 ist ein neues feature zum autodiscover mechanismus dazu gekommen, welches es mittels eines SRV dns eintrages erlaubt, eine weiterleitung zu einem autodiscover server zu machen, der z.b. nicht der “smtpdomain” der emailadresse entspricht. an der urspruenglichen reihenfolge des mechanismuses aendert sich nichts – der SRV record wird zum schluss abgefragt:

https://<smtpdomain>/Autodiscover/Autodiscover.xml
https://autodiscover.<smtpdomain>/Autodiscover/Autodiscover.xml
http://autodiscover.<smtpdomain>/Autodiscover/Autodiscover.xml
SRV record query for _autodiscover._tcp.<smtpdomain>

ein beispiel von der microsoft seite, wie dieser mechanismus greift:

    1. Autodiscover sendet an “https://contoso.com/Autodiscover/Autodiscover.xml”. Hierbei tritt ein Fehler auf.

    2. Autodiscover sendet an “https://autodiscover.contoso.com/Autodiscover/Autodiscover.xml. Hierbei tritt ein Fehler auf.

    3. Autodiscover führt die folgende Überprüfung auf automatische Umleitung durch:
    GET http://autodiscover.contoso.com/Autodiscover/Autodiscover.xml
    Hierbei tritt ein Fehler auf.

    4. Autodiscover verwendet die DNS-SRV-Suche für “_autodiscover._tcp.contoso.com”, und es wird “mail.contoso.com” zurückgegeben.

    5. Der Benutzer wird von Outlook aufgefordert zu bestätigen, dass Autodiscover weiterhin an “https://mail.contoso.com/autodiscover/autodiscover.xml” senden soll.

    6. Die POST-Anforderung von Autodiscover wird erfolgreich an “https://mail.contoso.com/autodiscover/autodiscover.xml” gesendet.

outlook bringt dann aber eine etwas unschoene meldung:

20140823_autodiscover

dazu gibt bei microsoft auch was zu lesen.

was auch unschoen ist: mit allen von mir getesteten outook versionen bekommt man nach dem autodiscover keine auswahl zwischen pop3 und imap (wenn man beides anbietet), sondern es wird der erste eintrag genommen. bei einem mailclient wie z.b. thunderbird kann man zwischen den beiden protokollen auswaehlen, wobei hier das erste in der autoconfig “auslieferung” der default wert ist. wer seinen benutzern imap als default anbieten will und den outlook nutzern pop3, der muss sich zwei instanzen von automx einrichten. dank verschiedener urls fuer outlook und den rest der welt stellt das kein problem dar. und es gibt sehr viele gute gruende, seinen outlook nutzern undbedingt pop3 statt imap vorschreiben zu wollen.

20140824180113 by sd
shorturl: https://sd.vc/41r
tags: , , ,
Leave a comment