You are currently browsing the archives for the ۞ Linux HowTo's category.

Archive for the ‘۞ Linux HowTo's’ Category

Key-basierte SSH Logins auf Linux Server mit PuTTY

Sonntag, Februar 28th, 2010

Dieses HowTo erklärt, wie man ein private/public Key Paar mit Putty generiert und verwendet um sich auf einem entfernten Server mit SSH unter Benutzung des Programmes PuTTY einzuloggen. PuTTY ist ein SSH Client Programm, das es für Windows- als auch für Linux-Systeme zum herunterladen gibt . Mit Key-basierte
SSH Logins kann der standartmässige Benutzername / Passwort Login Vorgang auf einem Linux Server deaktiviert werden, was bedeutet, dass sich nur User mit einem gültigen private / public Key Paar anmelden können.
Dadurch ist der Server besser vor brute-force Attacken geschützt.

Arbeitsschritte:

  1. Installation von PuTTY, PuTTYgen und Pageant auf Windows
  2. Profil mit Einstellungen für den Server 192.168.2.1 anlegen
  3. Mit dem SSH Linux Server connecten
  4. Ein privates/öffentliches Key Paar mit PuTTY Key Generator erstellen
  5. Den Public Key auf dem Linux Server speichern
  6. Einbinden des Private Key an das PuTTY Profil
  7. Erster Key-basierter Login auf Linux Server
  8. Username/Passwort Logins auf Linux Server deaktivieren
  9. Pageant Key Passwort speichern

1.) Installation von PuTTY, PuTTYgen und Pageant auf Windows

Zuerst müssen die Programme auf dem Windows Rechner installiert werden. Dazu müssen die ausführbaren Dateien (.exe) heruntergeladen werden. Die drei Anwendungen brauchen nicht installiert werden, da sie Standalone
Programme sind.

Lade folgende Dateien von der PuTTY Download Page und speichere sie auf Deinem Windows Rechner:

Putty Programme

2.) Profil mit Einstellungen für den Server 192.168.2.1 anlegen

PuTTY kann viele Profile für Verbindungen zu zahlreichen SSH Servern speichern.

  • PuTTY starten durch einen Doppelklick.
  • Unter Host Name (or IP adress) die IP eingeben – hier im Beispiel 192.168.2.1
  • Port 22 wählen
  • SSH als Protocol wählen

Putty Start

  • Anschließend auf Connection gehen
  • Menüpunkt Data auswählen und einen Benutzernamen festlegen, mit dem auf dem SSH Server unter Auto-login username anmeldet werden soll
  • In diesem HowTo verwenden wir “root”:

Putty Configuration

  • Erneut zum Menüpunkt Session gehen.
  • Unter Saved Sessions einen Namen für das Profil eingeben,

    z.B. 192.168.2.1 oder irgendeine anderer Name…

  • Nun auf Save klicken:

Putty Configuration

Wenn PuTTY das nächste Mal benutzt wird, braucht nur das entsprechende Profil aus der Saved Sessions Textarea ausgewählt werden und mit Load/Open geöffnet werden.

3.) Mit dem SSH Linux Server connecten

Nun kann mit dem SSH Server eine Verbindung aufgebaut werden, indem einfach auf Open geklickt wird.

Putty verbinden

Bei der ersten Verbindung zum Linux/Unix Server, erscheint eine Sicherheitswarnung. Das passiert, da das Putty Programm den Host Key des Servers noch nicht kennt.

Es ist also entgegen der Warnung schon sicher auf Yes zu klicken

Putty Server

Der Benutzernamen ist ja vorher gespeichert (root) worden, mit dem wir uns in unseren Profileinstellungen verbinden, deshalb muß ehr hier nicht eingegeben werden

Es muss nur dass Passwort des Benutzers eingeben werden

Linux Server

Das ist der “standart” Weg sich anzumelden, d.h. mit einem Usernamen und einem Passwort. Wenn jemand anderes jedoch den Benutzernamen und das Passwort kennt, kann er sich jedoch genauso anmelden.

Wenn also ein schwaches Passwörter verwendet wird oder Sie Opfer einer brute-force Attacke sind, kann das ein Problem darstellen. Dies sollte man ändern.

4.) Ein privates/öffentliches Key Paar mit PuTTY Key Generator erstellen

PuTTYgen kann man verwenden, um ein private/public Key Paar zu generieren. Man startet es mit einem Doppelklick

und wählt SSH-2 RSA unter Type of key to generate und 1024 als die Number of bits in a generated key.

Anschließend auf auf Generate klicken:

PuTTY Key Generator

Nun den Cursor über das leere Feld bewegen während der Erstellung des Keys um eine gewissen Zufälligkeit zu erzeugen die für das Erstellen benötigt wird:

Putty Key generieren

  • Jetzt ist ein private/public Key Paar generiert. Unter Key comment kann ein beliebiger Kommentar eingeben werden.
    Normalerweise verwendet man hier seine eigene E-Mail Adresse.
  • Nun legt man einen Key Passphrase fest und wiederholt ihn unter Confirm passphrase. Dieses Passwort braucht man um sich bei SSH mit Deinem neuen Key einzuloggen.
  • Anschließend auf Save public key klicken und an einem sicheren Ort auf dem Windows Rechner speichern.
  • Ein Dateinamen und eine Dateiendung kann beliebig ausgesucht werden.

Putty Key Generator

Save public key

Jetzt klickt man auf Save private key. (Beachte: Wenn dieser Key gelöscht wird und Username/Passwort Logins deaktivert sind, kann man sich nicht mehr anmelden!)

Es kann wieder ein beliebiger Dateinamen auswählt werden, aber dieses Mal muss die Endung .ppk sein:

Putty Key Generator

Private Key speichern

Abschließend Kopiert man den public Key aus dem PuTTYgen Fenster:

Putty Key Gen

5.) Den Public Key auf dem Linux Server speichern

Nun meldet man sich wieder auf dem Linux Server an (immer noch mit dem Benutzernamen und Passwort) und fügt den public Key in die Datei ~/.ssh/authorized_keys2 (in einer Zeile!) wie folgt ein:

mkdir ~/.ssh

chmod 700 ~/.ssh

vi ~/.ssh/authorized_keys2

ssh-rsa CABBB9NzaC1yc4EB[...]Lg6wh50zMuYE5Lzu8ZudnP3dS= myname@example.com

Diese Datei darf nur von diesem Benutzer beschreibbar und lesbar sein, also ändern wir die Datei Rechte

chmod 600 ~/.ssh/authorized_keys2

Nun startet man den Linux Server neu mit:

reboot

6.) Einbinden des Private Key an das PuTTY Profil

Nun startet man PuTTY erneut und ladet das Profil des Linux Servers (192.168.2.1):

Putty Config

Jetzt geht man im Menü auf SSH/Auth und klickt auf Browse:

Putty Auth

In dem aufgehenden Fenster navigiert man zu dem vorher erstellten privaten Key und wählt diesen aus.

Private Key wählen

Putty Config Key

Nun erneut auf Session gehen und auf Save klicken:

putty save session

Jetzt haben wir den private Key an unser 192.168.2.1 PuTTY Profil angehängt.

7.) Erster Key-basierter Login auf Linux Server

Nun ist alles für den ersten Key-basierten Login auf unserem SSH Server getan. Mit Kick auf Open öffnet sich die Verbindung:

Putty Open session

Nun wird wie man sehen kann der erstellte Public Key für die Authentifizierung verwendet und man wird nach dem Passwort gefrage (welches vorher festgelegt wurde):

Unix Server

8.) Username/Passwort Logins auf Linux Server deaktivieren

Bis jetzt kann man sich mit dem private/public Key Paar und immer noch mit Username/Passwort Logins anmelden. Wenn jemand also keinen private Key seiner PuTTY Session hinzufügt, wird er nach einem Benutzernamen und
Passwort gefragt. Um nun also eine größere Sicherheit zu erziehlen, müssen Benutzernamen/Passwort Logins deaktiviert werden (das darf man nur tun, wenn man sicher weiß, dass Key-basierte Logins funktionieren, denn
wenn sie das nicht tun und Du Benutzername/Passwort Logins deaktivierst, hat man ein großes Problem…).

Um Benutzername/Passwort Logins zu deaktivieren, müssen wir die sshd Konfigurationsdatei modifizieren. Auf Debian/Ubuntu Systemen ist das /etc/ssh/sshd_config. Du solltest Protocol auf 2 (1 ist unsicher und sollte
nicht verwendet werden!), PasswordAuthentication auf no und UsePAM auf no (oder die UsePAM Zeile auskommentieren) setzen, z.B. wie folgt:

vi /etc/ssh/sshd_config

[...] Protocol 2 PasswordAuthentication no UsePAM no [...]

Starte sshd dann neu:

/etc/init.d/ssh restart

Wenn man jetzt eine PuTTY Session öffnet, ohne dass ein private Key angehängt ist, dürftest man nicht mehr in der Lage sein sich anzumelden.

9.) Pageant Key Passwort dauerhaft speichern

Wenn nun Key-basierten Login verwendest wird, muss immer noch das Key Passwort angeben werden. Das kann nervig sein, wenn mehrmals am Tag mit dem SSH Server verbunden wird. Glücklicherweise kann man Pageant das
Passwort mitteilen und Pageant wird dann das Passwort bereitstellen, wenn man sich auf dem SSH Linux Server anmeldet

Pageant wird gestartet indem auf dessen ausführbare Datei geklickt wird (Doppelklick)

Pageant

Danach solltest Du in der Taskbar sehen, dass Pageant läuft:

Pageant in Taskleiste

Klicke nun auf das Pageant Icon (Doppelklick) in der Taskbar. Folgendes Fenster erscheint. Klicke auf Add Key:

Pageant Key List

Navigiere in dem Dateisystem zum Speicherort und wähle den private Key aus:

Private Key File auswählen

Gib dann das Passwort für den jeweiligen Private Key ein

Der Key wird nun in der Pageant Key Liste aufgelistet. Zum Beenden nun auf auf Close klicken

Pageant Key List

Solange Pageant im Taskbar läuft, kann man sich nun auf dem Linux Server anmelden, ohne das Passwort eingeben zu müssen – das erledigt jetzt Pageant:

Linux Server Howto

Wenn Pageant beendet wrid, vergisst es alle Keys. Wenn Pageant also das nächste Mal gestartet wird, müssen alle Du Keys erneut hinzufügt werden.

HowTo Mysql Datenbank sichern / wiederherstellen

Samstag, Februar 6th, 2010

Einleitung

Es ist sehr wichtig regelmässig Sicherungen der MySQL Datenbank zu machen. Viele erkennen dies erst wenn es zuspät ist.
Viele Web-Anwendungen benutzen MySQL um ihre Inhalte zu speichern wie z.B. Blogs oder Content-Management-Systeme. Wenn alle Dateien Ihres Contents auf ihrem Webserver aus reinen HTML-Seiten bestehen ist es sehr einfach diese zu sichern, da sie einfach per FTP von ihrem Webserver heruntergeladen werden und im Falle eines Datenverlustes einfach wieder hochgeladen werden. Bei einer Datenbank basierenden Webseite jedoch muß der gesamte Inhalt der MySql Datenbank gesichert werden. Falls man viel Mühe und Zeit in die Inhalte der Webseite gesteckt hat, wird man sehr frustriert sein, wenn im Falle eines Datenverlusts die Inhalte plötzlich weg sind. Ein monatliches Backup sorgt jedoch dafür das sowas nicht passiert und man so besser schlafen kann.
Eigentlich ist es ganz einfach und geht auch recht schnell:

Backup einer Mysql Datenbank mit phpMyAdmin

Im Weiteren gehe ich davon aus daß sie phpMyAdmin (eine webbasierende MySQL Administrationsoberfläche) auf Ihrem Webs

  • PhpMyAdmin öffnen
  • Im Menu auf “Export” klicken to um in den Backup Bereich ihrer MySql Datenbank zu gelangen
  • Stellen sie sicher das sie die gesamte Datenbank zum Exportieren selektiert haben und nicht nur eine Tabelle.

    Dabei
    sollten viele Namen in der Liste unterhalb des Datenbank Namens stehen.

  • SQL als Ausgabeformat auswählen
    • Häckchen bei “Structure”
    • Häckchen bei “Add AUTO_INCREMENT”
    • Häckchen bei “Enclose table and field name with backquotes”
    • Häckchen bei “DATA”
    • Häckchen bei “hexadecimal for binary field”.
    • Den Export Type auf “INSERT” setzen.
    • Häckchen bei “Save as file”,
      • Dateinamen nicht ändern
      • Häckchen bei “Compression” falls gewünscht.
  • Abschließend auf “GO” klicken und die Backup Datei downloaden.

Wiederherstellen einer MySql Datenbank aus einem Backup mit phpMyAdmin

  • Um eine Datenbank wiederherzustellen wird in phpMyAdmin auf “SQL” geklickt.
  • Auf der “SQL”-Seite
  • In das Verzeichnis klicken in dem das Backup ihrer Datenbank auf Ihrem PC liegt.
  • Start klicken.

Backup ohne phpMyAdmin

PhpMyAdmin hat ein Dateigrößen Limit, weswegen es unmöglich sein kann große Datenbanken damit zu sichern. Dafür müssen sie dann schon im Terminal ihres Webservers die Mysql Datenbank sichern.

Mysql Backup

Falls PHPMyAdmin mit großen Datenbanken nicht umgehen kann wird Ihnen dieser MySQL Befehls Code helfen:.

1. Wechseln sie in das Verzeichnis in dem sie die Sicherung anlegen möchten:

tax@linux:~> cd files/blog

2. Benutzen des Befehls mysqldump (man mysqldump zur Info):

tax@linux:~/files/blog> mysqldump --add-drop-table -h mysqlhostserver -u mysqlusername -p databasename (tablename tablename tablename) | bzip2 -c > blog.bak.sql.bz2 Enter password: (mysql password)

tax@linux~/files/blog>

Example:

mysqldump --add-drop-table -h db01.example.net -u dbocodex -p dbwp | bzip2 -c > blog.bak.sql.bz2 Enter password: my-password user@linux~/files/blog>

Der Befehl bzip2 -c nach der Pipe:| bewirkt das die Sicherung gleich anschließend gepackt wird.

Mysql Wiederherstellung

Der Wiederherstellungs Vorgang besteht aus:

  • Entpacken Ihres Datenbank Backups
  • Einspielen der Daten in die MySQL Datenbank

Angenommen ihre Sicherung ist eine .bz2 Datei wird folgender Befehl zum Wiederherstellen verwendet:

1. Entpacken der .bz2 Datei:

tax@linux:~/files/blog> bzip2 -d blog.bak.sql.bz2

Note: Falls Ihre Datenbank-Sicherung eine .tar.gz Datei war mit z.B. dem Namen blog.bak.sql.tar.gz

tax@linux:~tar zxvf blog.bak.sql.tar.gz

sollte dieser Befehl verwendet werden, anstatt des vorherigen.

2. Die Datenbank Sicherung wieder in die SQL Datenbank einspielen:

tax@linux:~/files/blog> mysql -h mysqlhostserver -u mysqlusername -p databasename < blog.bak.sql Enter password: (enter your mysql password)

tax@linux:~/files/blog>

Mysql Exportieren / Importieren

Sonntag, Januar 31st, 2010

MYSQL Datenbank exportieren / export MYSQL database

Es gibt 3 verbreitete Möglichkeiten um Datenbanken zu exportieren

Eine Datenbank / Single database

Export einer Datenbank sowie einer oder meherer Tabellen /
Export of one database and one or more tables
linux&gt; mysqldump database [tables] &gt; database.sql
mit Benutzer und Passwort/ using specified user and password
linux&gt; mysqldump database -u USER -p [tables] &gt; database.sql

Mehrere Datenbanken / Multiple databases

Export mehrere Datenbanken gleichzeitig /
Export of multiple databases at the same time
linux&gt; mysqldump –databases DB1 [DB2 DB3...] &gt; some_databases.sql
mit Benutzer und Passwort/ using specified user and password
linux&gt; mysqldump –databases DB1 [DB2 DB3...] -u USER -p &gt; some_databases.sql

Alle Datenbanken / All databases

Export aller vorhandenen Datenbanken gleichzeitig /
Export of all existing databases at the same time
linux&gt; mysqldump –all-databases &gt; all_databases.sql
mit Benutzer und Passwort/ using specified user and password
linux&gt; mysqldump –all-databases -u USER -p &gt; all_databases.sql

 

MYSQL Datenbank importieren / import MYSQL database

Wenn ein Dumpfile (sql-File) vorliegt ist der Datenimport denkbar einfach

2.1: Datenbank-Dump importieren / Import dump-file

Importieren eines Dump/ SQL-Files /
Import a dump- sql-file
linux&gt; mysql -p dbname &lt; dumpfile.sql
mit Benutzer und Passwort/ using specified user and password
linux&gt; mysql -p dbname -u USER -p &lt; dumpfile.sql

nach oben / up

MYSQL Backup Script für die Shell / Shell script for backup MYSQL database

Backup Script / backup script

#!/bin/sh
# Backup Script
# Author: Jerome Griessmeier
# Version: 0.2
#
# This Shell Script backup your database
# For automating use a cronjob

#
# Pfade setzen/ Setting path variables
#
MYSQL_DUMP=/usr/bin/mysqldump
BACKUP_DIR=/pfad/zu/backup_verzeichnis
TAR=/bin/tar
RM=/bin/rm
DB_NAME=DB_NAME
DB_USER=DB_USER
DB_PASS=DB_PASS
AKT_DATUM=`date +%Y%m%d%H%M`

#
# mysql dump erzeugen / create mysql dump
#
$MYSQL_DUMP $DB_NAME -u $DB_USER --password=$DB_PASS &gt;
$BACKUP_DIR/$AKT_DATUM.backup.sql

#
# mysql dump komprimieren / Compress data
#
cd $BACKUP_DIR
$TAR -cvzf $AKT_DATUM.backup.sql.tgz $AKT_DATUM.backup.sql

#
# aufraeumen / clean up
#
$RM $AKT_DATUM.backup.sql

nach oben / up

Script automatisieren / Automating the script

Das Script kann durch die Verwendung eines Cron-Jobs ganz einfach automatisiert werden

linux&gt; crontab -e

Start des Scripts um 02.55 jede Nacht / Starting the script at 2.55 am every night

55 2 * * * root /backup/backup.sh &gt;&gt; /dev/null 2&gt;&amp;1
<div id="_mcePaste" style="overflow: hidden; position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px;">
<table style="border: 1px solid blue; height: 100%;" border="0" width="700" bgcolor="#ffffff">
<tbody>
<tr>
<td>
<div><span style="font-family: Verdana,Arial,Helvetica,sans-serif; color: #999999;">
<h1>Mysql Exportieren / Importieren</h1>
</span></div></td>
</tr>
<tr>
<td><a class="body" href="file:///C:/Dokumente%20und%20Einstellungen/Besitzer/Eigene%20Dateien/mysql_backup.htm#1">1. MYSQL Datenbank exportieren / export MYSQL database</a>
<span style="padding: 0px 0px 0px 20px;"><a class="body" href="file:///C:/Dokumente%20und%20Einstellungen/Besitzer/Eigene%20Dateien/mysql_backup.htm#1-1">1.1 Eine Datenbank / Single database</a></span>
<span style="padding: 0px 0px 0px 20px;"><a class="body" href="file:///C:/Dokumente%20und%20Einstellungen/Besitzer/Eigene%20Dateien/mysql_backup.htm#1-2">1.2 Mehrere Datenbanken / Multiple databases</a></span>
<span style="padding: 0px 0px 0px 20px;"><a class="body" href="file:///C:/Dokumente%20und%20Einstellungen/Besitzer/Eigene%20Dateien/mysql_backup.htm#1-3">1.3 Alle Datenbanken / All databases</a></span>
<a class="body" href="file:///C:/Dokumente%20und%20Einstellungen/Besitzer/Eigene%20Dateien/mysql_backup.htm#2">2. MYSQL Datenbank importieren / import MYSQL database</a>
<span style="padding: 0px 0px 0px 20px;"><a class="body" href="file:///C:/Dokumente%20und%20Einstellungen/Besitzer/Eigene%20Dateien/mysql_backup.htm#2-1">2.1 Datenbank-Dump importieren / Import dump-file</a></span>
<a class="body" href="file:///C:/Dokumente%20und%20Einstellungen/Besitzer/Eigene%20Dateien/mysql_backup.htm#3">3. MYSQL Backup Script für die Shell / Shell script for backup MYSQL database</a>
<span style="padding: 0px 0px 0px 20px;"><a class="body" href="file:///C:/Dokumente%20und%20Einstellungen/Besitzer/Eigene%20Dateien/mysql_backup.htm#3-1">3.1 Backup Script / backup script</a></span>
<span style="padding: 0px 0px 0px 20px;"><a class="body" href="file:///C:/Dokumente%20und%20Einstellungen/Besitzer/Eigene%20Dateien/mysql_backup.htm#3-2">3.2 Script automatisieren / Automating the script</a></span></td>
</tr>
<tr>
<td><img src="file:///C:/Dokumente%20und%20Einstellungen/Besitzer/Eigene%20Dateien/mysql_backup-Dateien/mysql.jpg" alt="" width="106" height="75" /></td>
</tr>
<tr>
<td><span style="text-decoration: none; font-family: Verdana,Arial,Helvetica,sans-serif; color: #666666;">
<h3><a name="1">1. MYSQL Datenbank exportieren / export MYSQL database</a></h3>
</span>
<p style="padding-left: 30px;"><span style="text-decoration: none; font-family: Verdana,Arial,Helvetica,sans-serif; color: #666666;"> <span style="padding: 1px 0px 0px;"> Es gibt 3 verbreitete Möglichkeiten um Datenbanken zu exportieren /
There are three current ways for exporting one or more tables:</span></span></p>
<strong><a name="1-1">1.1: Eine Datenbank / Single database</a></strong>
<span style="padding: 1px 0px 0px;"> Export einer Datenbank sowie einer oder meherer Tabellen /
Export of one database and one or more tables</span>
<div style="border: 1px solid #cccccc; padding: 5px 0px 5px 30px;"><strong>linux&gt; mysqldump database [tables] &gt; database.sql</strong>
<small>mit Benutzer und Passwort/ using specified user and password</small>
<strong>linux&gt; mysqldump database -u USER -p [tables] &gt; database.sql</strong></div>
<strong><a name="1-2">1.2: Mehrere Datenbanken / Multiple databases</a></strong>
<span style="padding: 1px 0px 0px;"> Export mehrere Datenbanken gleichzeitig /
Export of multiple databases at the same time</span>
<div style="border: 1px solid #cccccc; padding: 5px 0px 5px 30px;"><strong>linux&gt; mysqldump --databases DB1 [DB2 DB3...] &gt; some_databases.sql</strong>
<small>mit Benutzer und Passwort/ using specified user and password</small>
<strong>linux&gt; mysqldump --databases DB1 [DB2 DB3...] -u USER -p &gt; some_databases.sql</strong></div>
<strong><a name="1-3">1.3: Alle Datenbanken / All databases</a></strong>
<span style="padding: 1px 0px 0px;"> Export aller vorhandenen Datenbanken gleichzeitig /
Export of all existing databases at the same time</span>
<div style="border: 1px solid #cccccc; padding: 5px 0px 5px 30px;"><strong>linux&gt; mysqldump --all-databases &gt; all_databases.sql</strong>
<small>mit Benutzer und Passwort/ using specified user and password</small>
<strong>linux&gt; mysqldump --all-databases -u USER -p &gt; all_databases.sql</strong></div>
<a class="body" href="file:///C:/Dokumente%20und%20Einstellungen/Besitzer/Eigene%20Dateien/mysql_backup.htm#anfang"><small>nach oben / up</small></a></td>
</tr>
<tr>
<td><span style="text-decoration: none; font-family: Verdana,Arial,Helvetica,sans-serif; color: #666666;">
<h3><a name="2">2. MYSQL Datenbank importieren / import MYSQL database</a></h3>
</span>
<p style="padding-left: 30px;"><span style="text-decoration: none; font-family: Verdana,Arial,Helvetica,sans-serif; color: #666666;"> <span style="padding: 1px 0px 0px;"> Wenn ein Dumpfile (sql-File) vorliegt ist der Datenimport denkbar einfach /
If you have a dumpfile of your database, the import is quite easy:</span></span></p>
<strong><a name="2-1">2.1: Datenbank-Dump importieren / Import dump-file</a></strong>
<span style="padding: 1px 0px 0px;"> Importieren eines Dump/ SQL-Files /
Import a dump- sql-file</span>
<div style="border: 1px solid #cccccc; padding: 5px 0px 5px 30px;"><strong>linux&gt; mysql -p dbname &lt; dumpfile.sql</strong>
<small>mit Benutzer und Passwort/ using specified user and password</small>
<strong>linux&gt; mysql -p dbname -u USER -p &lt; dumpfile.sql</strong></div>
<a class="body" href="file:///C:/Dokumente%20und%20Einstellungen/Besitzer/Eigene%20Dateien/mysql_backup.htm#anfang"><small>nach oben / up</small></a></td>
</tr>
<tr>
<td><span style="text-decoration: none; font-family: Verdana,Arial,Helvetica,sans-serif; color: #666666;">
<h3><a name="3">3. MYSQL Backup Script für die Shell / Shell script for backup MYSQL database</a></h3>
</span>
<p style="padding-left: 30px;"><span style="text-decoration: none; font-family: Verdana,Arial,Helvetica,sans-serif; color: #666666;"> <strong><a name="3-1">3.1: Backup Script / backup script</a></strong></span></p>
<span style="text-decoration: none; font-size: small; font-family: Verdana; color: #666666;"> #!/bin/sh
# Backup Script
# Author: Jerome Griessmeier
# Version: 0.2
#
# This Shell Script backup your database
# For automating use a cronjob</span>

#
# Pfade setzen/ Setting path variables
#
MYSQL_DUMP=/usr/bin/mysqldump
BACKUP_DIR=/pfad/zu/backup_verzeichnis
TAR=/bin/tar
RM=/bin/rm
DB_NAME=DB_NAME
DB_USER=DB_USER
DB_PASS=DB_PASS
AKT_DATUM=`date +%Y%m%d%H%M`

#
# mysql dump erzeugen / create mysql dump
#
$MYSQL_DUMP $DB_NAME -u $DB_USER --password=$DB_PASS &gt;
$BACKUP_DIR/$AKT_DATUM.backup.sql

#
# mysql dump komprimieren / Compress data
#
cd $BACKUP_DIR
$TAR -cvzf $AKT_DATUM.backup.sql.tgz $AKT_DATUM.backup.sql

#
# aufraeumen / clean up
#
$RM $AKT_DATUM.backup.sql

<a class="body" href="file:///C:/Dokumente%20und%20Einstellungen/Besitzer/Eigene%20Dateien/mysql_backup.htm#anfang"><small>nach oben / up</small></a>
<p style="padding-left: 30px;"><span style="text-decoration: none; font-family: Verdana,Arial,Helvetica,sans-serif; color: #666666;"> <strong><a name="3-2">3.2: Script automatisieren / Automating the script</a></strong></span></p>
<span style="padding: 1px 0px 0px;"> Das Script kann durch die Verwendung eines Cron-Jobs ganz einfach automatisiert werden /
Using a cron-job the script can be automated very easy:</span>
<div style="border: 1px solid #cccccc; padding: 5px 0px 5px 30px;"><strong>linux&gt; crontab -e</strong>
<small>Start des Scripts um 02.55 jede Nacht / Starting the script at 2.55 am every night</small>
<strong>55 2 * * * root /backup/backup.sh &gt;&gt; /dev/null 2&gt;&amp;1</strong></div></td>
</tr>
</tbody>
</table>
</div>

TeamSpeak 3 beta Linux Server installieren [Tutorial/HowTo]

Dienstag, Januar 26th, 2010

Update: 26.01.10

1.) Grundlagen / Vorbereitung der Installation

Benötigte Programme:

  • Putty (SSH Windows Client) auf dem Windows Rechner
  • Screen auf dem Linux Server

Teamspeak 3 Beta bringt keinen eigenen Daemon mit. Das heißt keinen Dienst bei dem der TS3 im Hintergrund laufen kann. Dies kann man aber mit Hilfe von Screen machen. Screen ist eine Art Fenstermanager für die SSH-Shell.
Screen richtet sozusagen eine weitere im Hintergrund laufende Shell ein, eine sogenannte Screen Session. Und genau in dieser Session können wir jetzt den TS3 Server im Hintergrund laufen lassen.

Sollte Screen auf dem Linux Rechner nicht installiert sein:

  • bei Kubuntu, Ubuntu sowie Debian:
    linux:~#apt-get install screen

    (ggf. noch die Anwendungen zum entpacken installieren:)

    linux:~#apt-get install bzip2
    linux:~#apt-get install tar

  • bei Suse mittels yast im Menü Software
  • bei CentOS z.B.

    linux:~#yum install screen

Zur Installation wird anfangs eine Verbindung über Putty herstellen und als root Benutzer einloggt

Hinweis: Es ist aus Sicherheitsgründen ratsam für TeamSpeak 3 (TS3) einen eigenen Nutzer zu erstellen und es nicht als Root laufen zu lassen. Hierfür gibt es verschiedene Möglichkeiten.
Im Anschluß werden zwei einfache Methoden erklärt:

  • Mittels dem Programm yast (nur möglich wenn es sich um einen Suse Linux Server handelt)
  • Mittels des Linux Befehls useradd (auf jedem Linux Server möglich)

a.) TS3 User erstellen mittels yast

linux:~#yast

yast starten, dann in dem Programm auf Security and Users dann auf “User Management” (Pfeiltaste nach unten, TAB-Taste, ENTER-Taste wird jeweils zur Navigation verwendet). Der Programmteil zur Useradministration startet und wir gehen auf “Add” um einen neuen User anzulegen. In der Aufgehenden Schablone wird folgendes ausgefüllt:

  • User’s Full Name: teamspeak3
  • Username: teamspeak3
  • Passwort: IHR-PASSWORT
  • Confirm Passwort: IHR-PASSWORT

Auf “Accept” gehen um User anzulegen und dann auf “Finish” gehen um den Vorgang abzuschließen. Der User teamspeak3 wird nun mit dem home-Verzeichnis /home/teamspeak3/ und User-Rechten auf Ihrem Webserver angelegt – abschließend wird auf “Quit” geklickt um yast wieder zu beenden.

b.) TS3 User erstellen mittels usradd

Neuen User anlegen.

linux:~# mkdir /home/teamspeak3

linux:~# useradd -g users teamspeak3 -d /home/teamspeak3/ -s /bin/bash

User ein Passwort vergeben:

linux:~# passwd teamspeak3

(Passwort eingeben + ENTER)

Anschließend wird dem Benutzer “teamspeak3” das Homeverzeichniss vergeben

linux:~# chown -R teamspeak3 /home/teamspeak3/

2.) Installation von TeamSpeak 3

Kurzfassung:

Als User teamspeak3 umloggen, ins Teamspeak Verzeichnis gehen, Downloaden, entpacken, in das neues Verzeichnis kopieren, Download Datei / Verzeichnis löschen, in teamspeak3 Verzeichnis gehen und der Serverdatei Ausführungsrechte vergeben

linux:~#su teamspeak3
linux:~#cd /home/teamspeak3/
linux:~#wget http://ftp.4players.de/pub/hosted/ts3/releases/beta-16/teamspeak3-server_linux-x86-3.0.0-beta16.tar.gz
linux:~#tar -xvzf teamspeak3-server_linux-x86-3.0.0-beta16.tar.gz
linux:~#cp -r teamspeak3-server_linux-x86/* teamspeak3/
linux:~#rm teamspeak3-server_linux-x86-3.0.0-beta12.tar.gz
linux:~#rm -r teamspeak3-server_linux-x86
linux:~#cd teamspeak3
linux:~#chmod +x ts3server_linux_x86

Ausführliche Erklärung:

Vor der Installation des TS3 Server unter Linux müssen Sie wissen, ob Sie einen 32-bit oder einen 64-bit Server haben. Es spielt dabei keine Rolle, ob es sich um einen v-server oder einen root-server handelt. Eingeloggt wird mit dem eben angelegten User ein.

linux:~#su teamspeak3
linux:~#cd /home/teamspeak3/

Im Anschluss startet ihr den Download der TS3 Beta für Linux jeweils für euren Server

64-bit Download:

linux:~# wget http://ftp.4players.de/pub/hosted/ts3/releases/beta-16/teamspeak3-server_linux-amd64-3.0.0-beta16.tar.gz


32-bit Download:

linux:~# wget http://ftp.4players.de/pub/hosted/ts3/releases/beta-16/teamspeak3-server_linux-x86-3.0.0-beta16.tar.gz

Die Datei entpacken:

linux:~# tar xfvz teamspeak3-server_linux-x86-3.0.0-beta16.tar.gz

Installationspakete löschen:

linux:~#rm teamspeak3-server_linux-x86-3.0.0-beta12.tar.gz
linux:~#rm -r teamspeak3-server_linux-x86

Dem Serverprogramm Ausführungsrechte vergeben:

linux:~#chmod +x ts3server_linux_x86

Nun erstellen wir alle Dateien (start,stop-scripte) die wir benötigen und vergeben ihnen Ausführungsrechte:

linux:~#touch licensekey.dat
linux:~#touch ts3server.ini
linux:~#touch start.sh
linux:~#chmod 777 start.sh
linux:~#touch restart.sh
linux:~#chmod 777 restart.sh
linux:~#touch stop.sh
linux:~#chmod 777 stop.sh

Um nun Inhalte in die generierten Dateien zu bringen wird der Linux Editor vi benutzt. Gleich noch vorweg, vi ist ein sehr mächtiger Linux Editor und man sollte sich genau an die Anleitung halten, da man sonst womöglich die Datein nicht korrekt abspeichern kann oder sich im falschen Modus befindet.
Kurzinfo zu vi:

  • i In Einfügen Modus wechseln
  • Mittels Rechtsklick ins putty Fenster jeweils die Inhalte der Zwischenablage einfügen
  • ESC hier im Beispiel, wechselt den Modus und schließt den Einfügen-Modus ab
  • :wq speichert die Eingabe und verlässt vi
  • :q! verlässt die vi ohne speichern

Im Folgenden werde ich beispielsweise in die datei ts3server.ini den richtigen Inhalt einfügen:

Datei öffnen mit dem Editor:

linux:~#vi ts3server.ini

Einfügen Modus gehen:

i

Folgendes einfügen (xxx.xxx.xxx.xxx mit der IP des Servers ersetzen)

machine_id=
default_voice_port=9987
voice_ip=xxx.xxx.xxx.xxx
licensepath=
filetransfer_port=30033
filetransfer_ip=xxx.xxx.xxx.xxx
query_port=10011
query_ip=xxx.xxx.xxx.xxx
dbplugin=ts3db_sqlite3
dbpluginparameter=
dbsqlpath=sql/
dbsqlcreatepath=create_sqlite/
logpath=logs
logquerycommands=1

Eingabe Modus Verlassen:

ESC

Eingabe Speichern und verlassen von vi:

:wq

Folgende Dateien müssen wie oben beschrieben genauso bearbeitet werden:

start.sh
Code zum einfügen:

#!/bin/bash
cd /home/ts3/teamspeak3-server_linux-x86/
screen -A -m -d -S teamspeak3server /home/teamspeak3/teamspeak3-server_linux-x86/ts3server_linux_x86

restart.sh
Code zum einfügen:

./stop.sh
./start.sh

stop.sh
Code zum einfügen:

#!/bin/sh
screen -S teamspeak3server -X quit

licensekey.dat
Nun ist es von Vorteil sich gleich eine kostenlose License für Teamspeak3 zu besorgen. Hierfür auf Teamspeak3 regestrieren bei Non-Profit-License (dies wird benötigt um einfach virtuelle server zu erstellen mehr slots etc..). Per eamil bekommen wir anschließend eine licensekey.dat von diesem Anbieter. Diese datei mittels notepad unter Windows öffnen und den ganzen inhalt der Datei kopieren wir (STRG+A, STRG+C (also alles makieren und kopieren)
Hier muss euer code eingefügt werden der in etwa so aussieht:

Company name : IHR NAME
address : IHRE ADRESSE
zipcode : IHRE PLZ
city : IHRE STADT
country : IHR LAND
phone : IHRE TEL
fax :
sales contact: IHRE EMAIL
tech contact : IHRE EMAIL

type : Nonprofit
start date : Sun Jan 24 00:00:00 2010
end date : Mon Jan 24 00:00:00 2011
max. virtual servers: 10
max. slots : 512
description : TeamSpeak 3 Non-Profit License

==key==
VFMzTGljZW5zZWcwZQIwMBNxaqEk+PGpm7v2Bl9Qdlu
WQSDGIWV/rkgT9tK3o5LMdIBi5E2INiwcPc1QJzHcYAjEAkw
7Hw5XE55WAkn0p9VabDLfcxT0YEK7THyofUEvyATVjFhRbY
WAWSFVOtLLXyRChwAcHW7qntpKO8×0IFxIO6tQ0LfQy3t7leT
LxdIpFaf150ePbnxhSBSHYjkR0TmeyjgMHdTM0ZDJ3v3ui/6p39rfQ
ai9vhEi1HbXMIwDmM1DuJu8SdNB5ORtBLnEnr+TPp2wGdLssYX
zaJ5vJrWpnVxdMkpZNW3a7tOXjSh5U9aPBX+6IuxpV/PfCUWc8L
pEbxXzSBDzWP6IZxYvoQSLHgXrIYM0ir3+jhzm+3Zw==

3.) Erster Serverstart

Teamspeak3 Server das erste mal noch ohne sh-script starten:

linux:~#./teamspeak3-server_linux-x86 inifile=ts3server.ini

Wenn alles klappt bekommt man in etwa folgende Meldung:

——————————————————————
I M P O R T A N T
——————————————————————
Server Query Admin Acccount created
loginname= “serveradmin”, password= “DIJIXOJD”
——————————————————————

2010-01-24 17:09:45.973516|INFO |Accounting | | Licensing Information
2010-01-24 17:09:45.974506|INFO |Accounting | | type : Non-profit
2010-01-24 17:09:45.975533|INFO |Accounting | | starting date : Sun Jan 24 00:00:00 2010
2010-01-24 17:09:45.976835|INFO |Accounting | | ending date : Mon Jan 24 00:00:00 2011
2010-01-24 17:09:45.977750|INFO |Accounting | | max virtualservers: 10
2010-01-24 17:09:45.978652|INFO |Accounting | | max slots : 512
2010-01-24 17:09:46.005742|INFO |FileManager | | listening on 89.214.64.125:30033
2010-01-24 17:09:46.335851|INFO |VirtualServer | 1| listening on 89.214.64.125:9987
2010-01-24 17:09:46.337530|INFO |VirtualServer | 1| client 'server'(id:0) added token for servergroup 'Server Admin'(id:6)
2010-01-24 17:09:46.338432|WARNING |VirtualServer | 1| --------------------------------------------------------
2010-01-24 17:09:46.339306|WARNING |VirtualServer | 1| ServerAdmin token created, please use the line below
2010-01-24 17:09:46.340439|WARNING |VirtualServer | 1| token=xNLLCdhweuidhwehd239wehd8923hdio+WW++60ns9O+
2010-01-24 17:09:46.341359|WARNING |VirtualServer | 1| --------------------------------------------------------
2010-01-24 17:09:46.343208|INFO |Query | | listening on 85.214.64.124:10011
2010-01-24 17:09:46.445032|INFO |Query | | whitelist ips: 127.0.0.1,

Jetzt kopieren wir wir genau diese Ausgabe, und speichern sie auf unserem PC ab (mit Linker Maustaste alles in Putty markieren = kopieren) Hier stehen wichtige Daten wie superadmin Login und das Token (wichtig!) welches für die Konfiguration später benötigt werden.
Mit der Tastenkombination STRG-Z stoppen wir den Server vorerst einmal und starten den Server neu mit unserem Shell Script (Hintergrund: damit der Server in einer screen-session läuft)

linux:~#./start.sh

Sollte alles funktioniert haben müsste nun euer Server auf Port 9987 erreichbar sein.

4.) TeamSpeak 3 Client Einstellungen

Ihr solltet Euch nun auf Eurem TS-Server unter dem Port 9987 mit dem Client Programm einloggen können
Als Username und Passwort verwendet Ihr eure superadmin Daten von gerade eben.
Als nächstes klickt auf “Extras” “Token benutzen” und gebt den Token ein.
Nur so könnt ihr die Superadminrechte bekommen! Ohne dem Token geht es nicht.

5.) Sonstiges zu Teamspeak3

Kommandos können im Client nur über die Konsole (per STRG+Umschalt+V zu erreichen) verwendet werden. Welche es gibt erfahrt ihr hier mit dem Kommando help

Weitere Tipps zu screen:
Wenn ihr wollt könnt ihr die Sessions jetzt anschauen die mit screen laufen.

linux:~#screen -ls

Dieser Befehl beendet alle Screen Sessions

screen -X quit

Natürlich kann man screen's auch ganz schliessen / beenden wenn man sie nicht mehr braucht
Gebt einfach im Entsprechenden screen Fenster

linux:~#linux:~#exit

ein, oder einfach STRG+D

Wenn man in Screen ist kann man die Screen durchblättern, das geht wieder mit eine Tastenkombination

Strg an = Nächstes Fenster (Session)
Strg ab = Vorheriges Fenster (Session


Links zum Tutorial
-> Aktuelle Downloads sind immer hier.
Aktualisiert auch immer Eure Clients.
www.teamspeak.com

Tools:
Serverviewer-Extern:
www.tsviewer.com
Dort steht auch meine eigene Test-IP. Ihr könnt joinen ohne Passwort.

Serverviewer-Scripte:
forum.teamspeak.com/showthread.php?t=46953
forum.teamspeak.com/showthread.php?t=47675

TeamSpeak3-Admin-Klasse:
www.ts3admin.de.tp

Windows-TS3-Admin Programme:
forum.teamspeak.com/showthread.php?t=48057

Windows Programm zum Server verwalten:
forum.teamspeak.com/showthread.php?t=48281

Administrations-WebInterface
http://forum.teamspeak.com/showthread.php?t=48163

http://server.fankserver.de/forum/viewto…2&start=25

Putty (ein SSH-Client):
www.chiark.greenend.org.uk

WinSCP (ein SFTP-Programm):
winscp.net

Lizenzen:
npl.tritoncia.com/ts3npl.php
Kostenlose Lizence für 10 Server mit insgesamt max. 512 Slots

mod_rewrite aktivieren

Sonntag, April 26th, 2009

Lösung oder Tipp zum aktivieren de Apache Moduls mod_rewrite unter SUSE Linux 10.3

Dieses Modul ist unter anderm wichtig, damit ein Apache Webserver die Fähigkeit erhält URL’s  der Form php?=352354?abec=3453 in eine Suchmaschinen “freundliche” Form

wie datei.html zu bringen.

Getestet bei SUSE Linux 10.0 – 10.3 mit Plesk 8 – 8.3 (bei Strato)

Es reicht nur ein Befehl reicht:

    root:/# a2enmod rewrite

Danach Apache neustarten:

    root:/# rcapache restart

Oder gleich den Server neustarten:

     root:/# reboot

Natürlich kann man andere Apache Module auch so laden (ohne das “mod_” davor) und wieder entfernen mit dem Befehl:

a2dismod .....