Tag Archives: exported

Bei MySQL Umlaut Problemen


title: “Bei MySQL Umlaut Problemen”
date: 2014-09-09T19:57:20
slug: bei-mysql-umlaut-problemen


Folgender Eintrag in die my.cnf:

init-connect='SET NAMES utf8'
skip-character-set-client-handshake
character-set-server = utf8
collation-server = utf8\_unicode\_ci

Open Firewall Port on Hyper-V Core Server for RDP


title: “Open Firewall Port on Hyper-V Core Server for RDP”
date: 2014-08-13T09:59:09
slug: open-firewall-port-on-hyper-v-core-server-for-rdp


Execute the following command in a shell:

netsh advfirewall firewall set rule group="Remote Desktop" new enable=yes

To enable File and Printer Sharing in command prompt you must type:

netsh advfirewall firewall set rule group=”File and Printer Sharing” new enable=Yes

OpenVPN-Server auf Debian einrichten


title: “OpenVPN-Server auf Debian einrichten”
date: 2014-08-11T11:39:44
slug: openvpn-server-auf-debian-einrichten


  1. Installieren von “openvpn” und “udev”
apt-get install openvpn udev
  1. Kopieren der Beispieldateien in den Konfigurationsordner von OpenVPN
cp -R /usr/share/doc/openvpn/examples/easy-rsa/ /etc/openvpn/

3 Konfiguration der Zertifikatsgenerierung

vi /etc/openvpn/easy-rsa/2.0/vars

# These are the default values for fields
# which will be placed in the certificate.
# Don't leave any of these fields blank.
export KEY\_COUNTRY="DE"
export KEY\_PROVINCE="BY"
export KEY\_CITY="muenchen"
export KEY\_ORG="Firemname"
export KEY\_EMAIL="emailadresse"
  1. Serverzertifikat erstellen
cd /etc/openvpn/easy-rsa/2.0/
. /etc/openvpn/easy-rsa/2.0/vars
. /etc/openvpn/easy-rsa/2.0/clean-all
. /etc/openvpn/easy-rsa/2.0/build-ca

Die folgenden Fragen mit Enter bestätigen.

  1. Private Key für den Server erstellen
. /etc/openvpn/easy-rsa/2.0/build-key-server server

Die folgenden Fragen mit Enter und ‘y’ bestätigen.

  1. Zertifikat für den Client erstellen, dieser Schritt kann beliebig oft für jeden Client wiederholt werden.
    ”NameDesClients” sollte mit einem Aussagekräftigen Namen ersetzt werden, z.B. AndroidPhone, HomePC, Tablet,……
. /etc/openvpn/easy-rsa/2.0/build-key NameDesClients

Die folgenden Fragen mit Enter und ‘y’ bestätigen. Es wurden nun 3 Dateien erzeugt:

NameDesClients.crt
NameDesClients.csr
NameDesClients.key
  1. Konfigurationspaket für Client erstellen:
    Für Android (OpenVPN Client):
cd /usr/share/doc/openvpn/examples/sample-config-files
gunzip -d server.conf.gz
cp client.conf ~/android.ovpn

In der Datei android.ovpn müssen noch die IP Adresse des Servers und die Namen der Zertifikate angepasst werden. Dies geschieht hier:

remote my-server-1 1194

my-server-1 muss mit der IP Adresse ersetzt werden

cert client.crt
key client.key

client.crt und client.key muss mit NameDesClients.crt und NameDesClients.key ersetzt werden

Folgende Dateien auf das Android System kopieren (über verschlüsselte Verbindung) und

NameDesClients.crt
NameDesClients.key
ca.crt
android.ovpn

Mit der App openVPN kann das Profil nun importiert werden (Import Profile from SD Card)

  1. Diffie-Hellman-Parameter generieren und Zertifikat, private Key und Diffie-Hellman-Parameter nach /etc/openvpn kopieren
. /etc/openvpn/easy-rsa/2.0/build-dh
cd /etc/openvpn/easy-rsa/2.0/keys
cp ca.crt ca.key dh1024.pem server.crt server.key /etc/openvpn
  1. server.conf erstellen und anpassen
cd /usr/share/doc/openvpn/examples/sample-config-files
cp server.conf /etc/openvpn/server.conf
vi /etc/openvpn/

Folgende Zeilen einkommentieren (Die IP Adressen der Nameserver können entsprechend angepasst werden):

push "redirect-gateway def1 bypass-dhcp"
push "dhcp-option DNS 85.214.20.141"
push "dhcp-option DNS 213.73.91.35"
  1. IP Forwarding aktivieren damit der Client auf das Internet zugreifen kann.
vi /etc/sysctl.conf

Folgende Zeile einkommentieren:
“net.ipv4.ip_forward=1″

Um das Forwarding sofort zu aktivieren folgenden Befehl ausführen (passiert sonst erst beim nächsten Systemstart)

echo 1 > /proc/sys/net/ipv4/ip\_forward
  1. IP Tables Konfigurieren damit die Pakete des Cleints maskiert werden.
    Hier muss evtl. der Name des Interfaces und die IP Adresse des Servers angepasst werden.
iptables -A FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A FORWARD -s 10.8.0.0/24 -j ACCEPT
iptables -A FORWARD -j REJECT
iptables -t nat -A POSTROUTING -o eth0 -j SNAT --to SERVERIP

Diese 4 Zeilen können in die Datei /etc/rc.local geschrieben werden damit diese bei jedem Systemstart ausgeführt werden.

  1. OpenVPN restarten
/etc/init.d/openvpn restart

Falles es zu Problemen kommt, kann in der Datei /var/log/syslog nachgesehen werden woran es scheitert.
Wenn das VPN correct gestartet wurde, ist ein weiteres Interface gelistet, dies kann so überprüft werden:

ifconfig tun0
tun0 Link encap:UNSPEC HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00
 inet addr:10.8.0.1 P-t-P:10.8.0.2 Mask:255.255.255.255
 UP POINTOPOINT RUNNING NOARP MULTICAST MTU:1500 Metric:1
 RX packets:0 errors:0 dropped:0 overruns:0 frame:0
 TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
 collisions:0 txqueuelen:100
 RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)

Moving a MySQL Database to a new Host via Master/Slave Replication


title: “Moving a MySQL Database to a new Host via Master/Slave Replication”
date: 2014-08-05T12:30:53
slug: moving-a-mysql-database-to-a-new-host-via-masterslave-replication


Diese Methode eignet sich sehr gut um sehr große Datenbanken umzuziehen.
Während des Dumps können auch noch neue Daten geschrieben werden die mit Transferiert werden.

  1. Auf der alten Datenbank die Transaction Logs einschalten und einen Replication User anlegen:

vi my.cnf

server-id = 1
replicate-same-server-id = 0
auto-increment-increment = 2
auto-increment-offset = 2
log-bin= /var/log/mysql/mysql-bin.log

mysql -uroot -p

GRANT REPLICATION SLAVE ON \*.\* TO 'replication'@'%' IDENTIFIED BY 'PASSWORD';
FLUSH PRIVILEGES;
  1. Auf der neuen Datenbank den Master Server konfigurieren:
    mysql -uroot -p
CHANGE MASTER TO MASTER\_HOST='server1', MASTER\_USER='replication', MASTER\_PASSWORD='PASSWORD';
  1. Einen Datendump erzeugen der auch die Position des Log Files enthält:
mysqldump -uroot dbname --master-data > dbname.db

Der Dump enthält eine nachfolgende Zeile die dem Slave mitteilt ab welcher Stelle es bei den Transaction Logs weiter geht: CHANGE MASTER TO MASTER_LOG_FILE=’mysql-bin.001359′, MASTER_LOG_POS=76101;

  1. Auf dem Slave (neuer Server) den Datendump einlesen
    mysql -uroot -p
source dbname.db
  1. Den Slave starten, jetzt beginnt der Transfer der Daten aus den Transaction Logs vom alten Server
start slave;
  1. Der Transfer kann mit folgerndem Befehl überwacht werden:
show slave status\G

multiple timeslots


title: “multiple timeslots”
date: 2014-07-11T08:10:15
slug: multiple-timeslots


vi /usr/local/nagios/etc/objects/timeperiod.cfg
define timeperiod{
 timeperiod\_name multiple-time-slots
 alias Multiple Time Slots
 sunday 00:00-18:00,20:00-24:00
 monday 00:00-18:00,20:00-21:00,23:00-24:00
 tuesday 00:00-24:00
 wednesday 00:00-24:00
 thursday 00:00-24:00
 friday 00:00-20:00,22:00-24:00
 saturday 00:00-23:00
}

install Imagick extension for PHP 5.4


title: “install Imagick extension for PHP 5.4”
date: 2014-07-04T09:20:30
slug: install-imagick-extension-for-php-5-4


mkdir temp
wget http://mirror.checkdomain.de/imagemagick/ImageMagick-6.8.9-0.tar.gz
tar -xzvf ImageMagick-6.8.9-0.tar.gz
cd ImageMagick-6.8.9-0
./configure
make
make install

wget http://pecl.php.net/get/imagick-3.1.2.tgz
tar xzvf imagick-3.1.2.tgz
cd imagick-3.1.2
phpize54
./configure --with-php-config=/usr/local/bin/php54-config
make
cp modules/imagick.so /var/lib/php54
extension\_dir = /var/lib/php54
extension = imagick.so

dhtml Grid serverseitig erstellen mit MySQL Datenquelle


title: “dhtml Grid serverseitig erstellen mit MySQL Datenquelle”
date: 2014-05-25T08:26:38
slug: dhtml-grid-serverseitig-erstellen-mit-mysql-datenquelle


HTML Code für das Grid:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
 <script src="codebase/dhtmlxcommon.js"></script>
 <script src="codebase/dhtmlxgrid.js"></script>
 <script src="codebase/connector.js"></script>
 <link rel="STYLESHEET" type="text/css" href="codebase/dhtmlxgrid.css">
 <link rel="stylesheet" type="text/css" href="codebase/skins/dhtmlxgrid\_dhx\_black.css">

 <script type="text/javascript">

 function doOnLoad(){
 var mygrid = new dhtmlXGridObject('gridbox');
 mygrid.setImagePath("codebase/imgs/");
 mygrid.setSkin("dhx\_skyblue");
 mygrid.load("ajax.php?action=loadData");
 }
 </script>
</head>
<body onload="doOnLoad()">
 <div id="gridbox" style="width:350px;height:250px;border:1px solid #A4BED4;"></div>
</body>
</html>

griddata.php

<?php
require\_once("../codebase/connector/grid\_config.php");
require\_once("../codebase/connector/grid\_connector.php");

$res=mysql\_connect("localhost","root","");
mysql\_select\_db("tasks");
$conn = new GridConnector($res);
 $config = new GridConfiguration();

 $config->setHeader("Item Name,Item CD");
 $config->attachHeader("Item Name Test,#rspan");
 $config->attachFooter("Item Name,Item CD", Array("background: #ff0000;", "background: #00ff00;"));
 $config->attachFooter("Item Name Test,#rspan", "background: #0000ff;color:white;");
 $config->setColIds("col1,col2");
 $config->setInitWidths('120,\*');
 $config->setColSorting("connector,connector");
 $config->setColColor("null,#dddddd");
 $config->setColHidden("false,false");
 $config->setColTypes("ro,ed");
 $config->setColAlign('center,center');

$conn->set\_config($config);
$conn->render\_table("grid50000","id","item\_nm,item\_cd");

?>

Spamassassin support


title: “Spamassassin support”
date: 2014-05-23T11:17:47
slug: spamassassin-support


Spamassassin mit spamc instalfffffflieren:

apt-get install spamassassin spamc

In /etc/postfix/master.cf folgende Zeile editieren
(“-o content_filter=spamassassin” hinzufügen, das “-v” kann nach erfolgreicher Installation entfernt werden):

smtp inet n - - - - smtpd -v
 -o content\_filter=spamassassin

Und am Ende einfügen:

spamassassin unix - n n - - pipe
 user=debian-spamd argv=/usr/bin/spamc -f -e /usr/sbin/sendmail -oi -f ${sender} ${recipient}

Dann Postfix neu starten

/etc/init.d/postfix restart

Spamd in /etc/default/spamassassin folgendes einfügen

ENABLED=1
SAHOME="/var/lib/spamassassin/"
OPTIONS="--create-prefs --max-children 5 --username debian-spamd --helper-home-dir ${SAHOME} -s /var/lib/spamassassin/spamd.log"
PIDFILE="${SAHOME}spamd.pid"

Spamassassin neu starten

/etc/init.d/spamassassin restart

Testen ob spamd läuft

ps aux | grep spamd
root 22759 1.3 0.3 125344 55520 ? Ss 13:26 0:01 /usr/sbin/spamd --create-prefs --max-children 5 --helper-home-dir -d --pidfile=/var/run/spamd.pid

Die user_prefs befindet sich in: /var/lib/spamassassin/.spamassassin hier können folgende Einstellungen vorgenommen werden:

Ab wird eine Mail als Spam deklariert:

required\_score 10

Bestimmte Empfänger Domains nicht auf Spam prüfen:

all\_spam\_to \*@domain1.de
all\_spam\_to \*@domain2.net

Bestimmte Absender Domains blacklisten:

blacklist\_from \*@mxkli.com

Spam Check mittels spamcop und spamhaus & White List für Empfänger Domains


title: “Spam Check mittels spamcop und spamhaus & White List für Empfänger Domains”
date: 2014-05-23T08:15:23
slug: spam-check-mittels-spamcop-und-spamhaus


Nachfolgende Konfiguration checkt eingehende Mails auf Spam, lässt aber alles an die
Empfänger Domains durch die in /etc/postfix/whitelist_recipient eingetragn sind.

vi main.cf

 smtpd\_client\_restrictions = permit\_mynetworks,
 permit\_sasl\_authenticated,
 check\_recipient\_access hash:/etc/postfix/whitelist\_recipient,
 reject\_rhsbl\_client blackhole.securitysage.com,
 reject\_rhsbl\_sender blackhole.securitysage.com,
 reject\_rbl\_client relays.ordb.org,
 reject\_rbl\_client blackholes.easynet.nl,
 reject\_rbl\_client cbl.abuseat.org,
 reject\_rbl\_client proxies.blackholes.wirehub.net,
 reject\_rbl\_client bl.spamcop.net,
 reject\_rbl\_client sbl.spamhaus.org,
 reject\_rbl\_client opm.blitzed.org,
 reject\_rbl\_client dnsbl.njabl.org,
 reject\_rbl\_client list.dsbl.org,
 reject\_rbl\_client multihop.dsbl.org,
 permit

vi /etc/postfix/whitelist_recipient

it-asanger.de OK

postmap /etc/postfix/whitelist_recipient

postfix reload