Tag Archives for linux

otrs5 patchlevel update

da sich seit dem upgrade von 4 auf 5 ein paar kleinigkeiten geaendert haben… hier nochmal mein braindump fuer das patchlevel update von z.b. 5.0.1 auf 5.0.2

apt-get install -y libmime-base64-urlsafe-perl libauthen-sasl-perl libxml-libxml-perl libxml-libxslt-perl
cd /opt
wget http://ftp.otrs.org/pub/otrs/otrs-5.0.2.tar.gz
/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.Daemon.pl stop
logout
mysqldump -p otrs > otrsdbbackup.sql
cd /opt
mv otrs otrs-old
tar -xzf otrs-5.0.2.tar.gz 
mv otrs-5.0.2 otrs
cp /opt/otrs-old/Kernel/Config.pm /opt/otrs/Kernel/
cp /opt/otrs-old/Kernel/Config/GenericAgent.pm /opt/otrs/Kernel/Config/
cp /opt/otrs-old/Kernel/Config/Files/ZZZAuto.pm /opt/otrs/Kernel/Config/Files/
cp /opt/otrs-old/var/log/TicketCounter.log /opt/otrs/var/log/
cd /opt/otrs/var/cron
for foo in *.dist; do cp $foo `basename $foo .dist`; done
cd /opt/otrs/
bin/otrs.SetPermissions.pl --web-group=www-data
su - otrs
bin/otrs.Console.pl Maint::Database::Check
bin/otrs.Console.pl Maint::Config::Rebuild
bin/otrs.Console.pl Maint::Cache::Delete
logout
/etc/init.d/apache2 start
/etc/init.d/postfix start
/etc/init.d/cron start
su - otrs
bin/otrs.Daemon.pl start
bin/Cron.sh start
logout

und dann noch im backend unter “admin” -> “paket-verwaltung” die installierten pakete in einer neuen bzw kompatiblen version installieren.

20151105220727 by sd
shorturl: https://sd.vc/48m
tags: , ,
Leave a comment

upgrading OTRS from 4 to 5

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

zu hilfe genommen habe ich:

http://otrs.github.io/doc/manual/admin/5.0/en/html/upgrading.html
https://ww.sd.vc/wp/2014/12/10/otrs-4-patchlevel-update/

eine art braindump fuers naechste update 😉

apt-get install -y libmime-base64-urlsafe-perl libauthen-sasl-perl libxml-libxml-perl libxml-libxslt-perl
cd /opt
wget http://ftp.otrs.org/pub/otrs/otrs-5.0.1.tar.gz
/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 -p otrs > otrsdbbackup.sql
cd /opt
mv otrs otrs-old
tar -xzf otrs-5.0.1.tar.gz 
mv otrs-5.0.1 otrs
cp /opt/otrs-old/Kernel/Config.pm /opt/otrs/Kernel/
cp /opt/otrs-old/Kernel/Config/GenericAgent.pm /opt/otrs/Kernel/Config/
cp /opt/otrs-old/Kernel/Config/Files/ZZZAuto.pm /opt/otrs/Kernel/Config/Files/
cp /opt/otrs-old/var/log/TicketCounter.log /opt/otrs/var/log/
cd /opt/otrs/var/cron
for foo in *.dist; do cp $foo `basename $foo .dist`; done
cd /opt/otrs/
bin/otrs.SetPermissions.pl --web-group=www-data
/opt/otrs/bin/otrs.CheckModules.pl
cat scripts/DBUpdate-to-5.mysql.sql | mysql -p -f -u root otrs
su - otrs
bin/otrs.Console.pl Maint::Database::Check
scripts/DBUpdate-to-5.pl
cd /opt/otrs/
bin/otrs.Console.pl Maint::Config::Rebuild
bin/otrs.Console.pl Maint::Cache::Delete
logout
/etc/init.d/apache2 start
/etc/init.d/postfix start
/etc/init.d/cron start
su - otrs
/opt/otrs/bin/otrs.Daemon.pl start
/opt/otrs/bin/Cron.sh start
logout

und dann noch im backend unter “admin” -> “paket-verwaltung” die installierten pakete in einer neuen bzw kompatiblen version installieren.

20151021205202 by sd
shorturl: https://sd.vc/489
tags: ,
1 comment

logical volume verkleinern

notiz fuer mich selbst… ultrakurzanleitung. bitte nicht verwenden, wenn man sich nicht sicher ist, was man da macht. datenverlust droht!

fsck -f /dev/vg0/hostname-disk
resize2fs /dev/vg0/hostname-disk 8G
lvreduce --size 8G /dev/vg0/hostname-disk

20150610224942 by sd
shorturl: https://sd.vc/46b
tags:
Leave a comment

postfix – mal schnell was debuggen

wenn man auf bei einem gut frequentierten postfix “mal schnell was debuggen” muss, dann will man nicht laenger als noetig das debugging angeschaltet haben. das logfilze explodiert sonst sprichwoertlich.

sondern… mal will vielleicht nur die kommunikation mit einem bestimmten client/server debuggen. dann macht man das so:

postconf -e "debug_peer_list = ip.ip.ip.ip" && postfix reload

…dann verschickt man seine testmail und schaltet das anschliessend wieder ab:

postconf -e "debug_peer_list =" && postfix reload

20150522060145 by sd
shorturl: https://sd.vc/464
tags: , ,
Leave a comment

postfix: hostname des mailservers als absender- oder empfaengerdomain

mir kam schon ein paar mal ein postfix unter, der komische sachen mit email headern gemacht hat. da stand z.b. sowas drin:

To: “irgendwas@domain.tld”@mein.mailserver.tld

das kann z.b. auftreten, wenn man amavis als contentfilter in der master.cf eingebunden hat. dann sollte man in der master.cf beim eintrag des smtp-servers von amavis folgende option mitgeben:

-o local_header_rewrite_clients=

ursache dafuer ist der standardwert “local_header_rewrite_clients=permit_inet_interfaces”, der zutrifft, wenn die mails von amavis auf localhost:10025 wieder rein kommen.

20150418092747 by sd
shorturl: https://sd.vc/45m
tags: , ,
Leave a comment

openfire, java und ssl/tls

ohne gross darauf einzugehen warum, weshalb… einfach als gedaechtnisstuerze fuer mich.

wenn man unter debian wheezy diese beiden pakete installiert hat:

openjdk-6-jdk
openjdk-7-jre

…dann ist standardmaessig java 6 die default version. ich weiss nicht, wie man das normalerweise und richtig macht. hier musste es schnell gehen und mir ist nur eingefallen:

update-alternatives --install /usr/bin/java java /usr/lib/jvm/java-7-openjdk-amd64/bin/java 1100

und so siehts dann aus, wenn man “update-alternatives –config java” aufruft:

20150220_wheezy_java

weiter gehts mit den ciphers, die java standardmaessig zur verfuegung stellt. manche sachen wie z.b. SSLv2, SSLv3, RC4 und irgendwelche “weak ciphers” will man ja nicht haben. um das abzustellen, fuegt man diese zeile (eine zeile!) in die datei /etc/java-7-openjdk/security/java.security ein bzw editiert diese, sofern schon vorhanden:

jdk.tls.disabledAlgorithms=SSL_DH_anon_EXPORT_WITH_DES40_CBC_SHA, SSL_DH_anon_EXPORT_WITH_RC4_40_MD5, SSL_DH_anon_WITH_3DES_EDE_CBC_SHA, SSL_DH_anon_WITH_DES_CBC_SHA, SSL_DH_anon_WITH_RC4_128_MD5, SSL_DH_DSS_EXPORT_WITH_DES40_CBC_SHA, SSL_DH_DSS_WITH_3DES_EDE_CBC_SHA, SSL_DH_DSS_WITH_DES_CBC_SHA, SSL_DH_RSA_EXPORT_WITH_DES40_CBC_SHA, SSL_DH_RSA_WITH_3DES_EDE_CBC_SHA, SSL_DH_RSA_WITH_DES_CBC_SHA, SSL_DHE_DSS_EXPORT_WITH_DES40_CBC_SHA, SSL_DHE_DSS_EXPORT1024_WITH_DES_CBC_SHA, SSL_DHE_DSS_EXPORT1024_WITH_RC4_56_SHA, SSL_DHE_DSS_WITH_3DES_EDE_CBC_SHA, SSL_DHE_DSS_WITH_DES_CBC_SHA, SSL_DHE_DSS_WITH_RC4_128_SHA, SSL_DHE_RSA_EXPORT_WITH_DES40_CBC_SHA, SSL_DHE_RSA_WITH_3DES_EDE_CBC_SHA, SSL_DHE_RSA_WITH_DES_CBC_SHA, SSL_FORTEZZA_DMS_WITH_FORTEZZA_CBC_SHA, SSL_FORTEZZA_DMS_WITH_NULL_SHA, SSL_RSA_EXPORT_WITH_DES40_CBC_SHA, SSL_RSA_EXPORT_WITH_RC2_CBC_40_MD5, SSL_RSA_EXPORT_WITH_RC4_40_MD5, SSL_RSA_EXPORT1024_WITH_DES_CBC_SHA, SSL_RSA_EXPORT1024_WITH_RC4_56_SHA, SSL_RSA_FIPS_WITH_3DES_EDE_CBC_SHA, SSL_RSA_FIPS_WITH_DES_CBC_SHA, SSL_RSA_WITH_3DES_EDE_CBC_SHA, SSL_RSA_WITH_DES_CBC_SHA, SSL_RSA_WITH_IDEA_CBC_SHA, SSL_RSA_WITH_NULL_MD5, SSL_RSA_WITH_NULL_SHA, SSL_RSA_WITH_RC4_128_MD5, SSL_RSA_WITH_RC4_128_SHA, SSL_DH_anon_EXPORT_WITH_RC4_40_MD5, SSL_DH_anon_WITH_RC4_128_MD5, SSL_DHE_DSS_EXPORT1024_WITH_RC4_56_SHA, SSL_DHE_DSS_WITH_RC4_128_SHA, TLS_DHE_PSK_WITH_RC4_128_SHA, TLS_ECDH_anon_WITH_RC4_128_SHA, TLS_ECDH_ECDSA_WITH_RC4_128_SHA, TLS_ECDH_RSA_WITH_RC4_128_SHA, TLS_ECDHE_ECDSA_WITH_RC4_128_SHA, TLS_ECDHE_PSK_WITH_RC4_128_SHA, TLS_ECDHE_RSA_WITH_RC4_128_SHA, TLS_KRB5_EXPORT_WITH_RC4_40_MD5, TLS_KRB5_EXPORT_WITH_RC4_40_SHA, TLS_KRB5_WITH_RC4_128_MD5, TLS_KRB5_WITH_RC4_128_SHA, TLS_PSK_WITH_RC4_128_SHA, SSL_RSA_EXPORT_WITH_RC4_40_MD5, SSL_RSA_EXPORT1024_WITH_RC4_56_SHA, TLS_RSA_PSK_WITH_RC4_128_SHA, SSL_RSA_WITH_RC4_128_MD5, SSL_RSA_WITH_RC4_128_SHA, TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA

und da man auch keine schluessel kleiner 1024 akzeptieren will, auch noch diese zeile:

jdk.certpath.disabledAlgorithms=MD2, RSA keySize < 1024

openjdk hats irgendwie auch nicht so mit der validierung von remote zertifikaten, weshalb das mit dem TLS dialback nicht funktioniert. deshalb muss man in der datei /usr/lib/jvm/java-7-openjdk-amd64/jre/lib/security/java.security auch noch diese zeile auskommentieren: (mit einem # anfang versehen)

security.provider.10=sun.security.pkcs11.SunPKCS11 ${java.home}/lib/security/nss.cfg

und dann noch die sache mit dem importieren eines von einer CA signierten zertifikates… dazu brauchts:

– das zertifikat selbst (jabber-signed.pem)
– den key (jabber-private.pem)
– die “certificate chain” der CA auch im PEM format (hier chain1.pem und chain2.pem)
– ImportKey.java von agentbob

los gehts…

in der datei “ImportKey.java” von agentbob diese zeilen den eigenen gegebenheiten anpassen:

[..]
String keypass = "changeit";
[..]
String defaultalias = "private-key";
[..]
String keystorename = "keystore";

und dann die ImportKey.java mit diesem befehl kompilieren:

javac ImportKey.java

und so fortfahren:

/etc/init.d/openfire stop
cd /etc/openfire/security
cp truststore truststore.org
cp keystore keystore.org
keytool -importcert -alias chain1 -keystore truststore -file chain1.pem
keytool -importcert -alias chain2 -keystore truststore -file chain2.pem
openssl pkcs8 -topk8 -nocrypt -in jabber-private.pem -inform PEM -out jabber-private.der -outform DER
openssl x509 -in jabber-signed.pem -inform PEM -out jabber-signed.der -outform DER
java ImportKey jabber-private.der jabber-signed.der
/etc/init.d/openfire start

in der admin webgui steht bei dem key nun “pending verification”… stimmt garnicht. hab ich einfach ignoriert. genauso wird angezeigt.. “One or more certificates are missing. Click here to generate self-signed certificates” ..stimmt auch nicht. hab ich auch einfach ignoriert.

ich denke, das wars. mit dem “IM Observatory” auf xmpp.net kann man anschliessend testen, ob nun alles so ist, wie man sich das erhofft… voila:

20150220_protocols

20150220_ciphers

20150221160013 by sd
shorturl: https://sd.vc/44r
tags: , ,
Leave a comment

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