Tag Archives: Debian

Apache Speicherbedarf senken

Die Standard Apache-Konfiguration ist für ausgewachsene Maschinen ausgelegt und daher für kleine virtuelle Server-Instanzen ungeeignet. Nachfolgend beschriebe Änderung senkt den Speicherbedarf deutlich.

Konfiguration

1
sudo vi /etc/apache2/apache2.conf
1
2
3
4
5
6
7
8
9
10
# Low memory setup
# Low memory setup
<IfModule mpm_prefork_module>
    StartServers 2
    MinSpareServers 2
    MaxSpareServers 5
    ServerLimit 128
    MaxClients 128
    MaxRequestsPerChild 4000
</IfModule>

Ergebnis

Munin-memory
Im Chart sind zwei Senkung des für Anwendungen allokierte Speichers (committed) sichtbar. Die erste Senkung ist auf eine Anpassung der MySQL Konfiguration zurückzuführen. Die zweite Senkung wurde durch die oben beschriebene Anpassung der Apache-Konfiguration verursacht.

MySQL Speicherbedarf senken

Kleinere LAMP-Instanzen laufen heute meist in virtuellen Server-Umgebungen, hier ist Speicher knapp bemessen. Mit dem Abschalten der InnoDB Database Engine lässt sich MySQL deutlich abspecken.

Schritt 1 — prüfen ob InnoDB als Engine verwendet wird:

1
2
3
4
5
6
7
8
9
10
$mysql_pass=your_password
mysql -p$mysql_pass -e "select distinct ENGINE FROM information_schema.TABLES"
+--------------------+
| ENGINE             |
+--------------------+
| MEMORY             |
| MyISAM             |
| CSV                |
| PERFORMANCE_SCHEMA |
+--------------------+

Im Beispiel taucht InnoDB nicht auf und kann daher deaktiviert werden.

Schritt 2 — InnoDB deaktivieren

Sollte eine Datenbank InnoDB-Tabellen haben, lässt sich die DB-Engine mit folgende Script auf MyISAM umstellen. (Vorher Backup anlegen!)

1
2
3
4
5
mysql_pass='your_password'
db='your_database'
for t in `mysql -p$mysql_pass --skip-column-names -B -e "select table_name FROM information_schema.TABLES where engine = 'innodb'"`; do
    mysql -p$mysql_pass $db -e "ALTER TABLE $t ENGINE=MYISAM";
done

Schritt 3 — InnoDB deaktivieren

Unter Debian/Ubuntu lässt sich die InnoDB Engine in der Konfigurationsdatei /etc/mysql/my.cnf mit folgenden Zeilen deaktivieren:

1
2
innodb=OFF
default_storage_engine=MyISAM

Schritt 4 — Test

sudo service mysql restart
mysqladmin -u root -p$mysql_pass var | grep have_innodb

#Vorher
| have_innodb        | YES

#Nachher
| have_innodb        | DISABLED

Ergebnis

Munin-memory
Im Chart sind zwei Senkung des für Anwendungen allokierte Speichers (committed) sichtbar.
Die erste Senkung ist auf die oben beschriebene Anpassung der MySQL-Konfiguration zurückzuführen. Die zweite Senkung wurde duch eine Anpassung der Apache Konfiguration verursacht.

Tipp: Sprechende Passwörter

Sicher generierte Passwörter sind in keinen Wörterbuch zu finden, aber leider im Alltag nicht sonderlich praktisch. Das Programm APG (Automatischer Passwort-Generator) schlägt sprechende Passwörter vor und ist als Paket für Debian und Ubuntu verfügbar.

Interessante Parameter

  • -a 0 — sprechende Passwörter
  • -M SNCL — S Sonderzeichen, N Zahlen, CL Groß-/Kleinbuchstaben
  • -n 16 — Anzahl Passwortvorschläge
  • -t — Aussprache des Passowort
  • -l — Buchstabiert das Passwort

Beispiel

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
$ apg -a 0 -M SNCL -n 16 -m 10 -t
1tufwivEp\ (ONE-tuf-wiv-Ep-BACKSLASH)
Witt,ocef1 (Witt-COMMA-oc-ef-ONE)
klyer%Onk4 (klyer-PERCENT_SIGN-Onk-FOUR)
byd%Onoft4 (byd-PERCENT_SIGN-On-oft-FOUR)
4Knumjaid~ (FOUR-Knum-jaid-TILDE)
'Ovnenyoc8 (APOSTROPHE-Ov-nen-yoc-EIGHT)
Ougpyt9Oj( (Oug-pyt-NINE-Oj-LEFT_PARENTHESIS)
Id,Ods2Cid (Id-COMMA-Ods-TWO-Cid)
nonyen~Oc2 (non-yen-TILDE-Oc-TWO)
Wi4BlaHod@ (Wi-FOUR-Bla-Hod-AT_SIGN)
rhyp0Drun$ (rhyp-ZERO-Drun-DOLLAR_SIGN)
Kar9ordel" (Kar-NINE-ord-el-QUOTATION_MARK)
hanvu#Wav9 (han-vu-CROSSHATCH-Wav-NINE)
NanMov,ox7 (Nan-Mov-COMMA-ox-SEVEN)
pebliv3Ol% (pe-bliv-THREE-Ol-PERCENT_SIGN)
5OgumKiOk; (FIVE-Og-um-Ki-Ok-SEMICOLON)

Referenzen

https://help.ubuntu.com/community/StrongPasswords
http://packages.debian.org/stable/apg
http://packages.ubuntu.com/apg

 

Nullmailer

Nullmailer dient als leichtgewichtiger Ersatz für “echte” MTAs wie Exim, Postfix oder Sendmail. Das Programm leitet E-Mails, statt sie lokal zuzustellen, über ein externes Mail-Relay (etwa den SMTP Server des Internetproviders) an eine vordefinierte E-Mail Adresse um. So landen Meldungen, etwa von smartmontools, cron-apt oder logwatch bequem im zentralen eigenen E-Mail Postfach.

Installation unter Debian

1
2
3
4
5
#Installation
sudo aptitude install nullmailer
 
#Adresse an welche E-Mails weitergeleitet werden sollen
echo "user@example.com" |  sudo tee -a /etc/nullmailer/adminaddr

Installation testen

1
date | mail root -s Test

Referenzen

http://untroubled.org/nullmailer/

JBidwatcher

Mit JBidwatcher lassen sich bequem eBay Auktionen beobachten und Gebote abgeben.

Installation

Nachfolgende Notiz soll die Installation unter Linux (getestet mit Debian 6.0.3 und Ubuntu 11.04) erleichtern:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
#!/bin/bash
 
# Basiert auf:
# http://ubuntuforums.org/showthread.php?t=206553#post1198561
 
# Java Laufzeitumgebung installieren
sudo aptitude install default-jre
 
# Installationsverzeichnis
JBidDir="/opt/JBidwatcher"
 
# JBidwatcher Version
JBidVer="2.1.6"
 
# URL Download
JBidDL="http://www.jbidwatcher.com/download/JBidwatcher-"$JBidVer".jar"
 
# Programmverzeichnis anlegen
sudo mkdir $JBidDir
cd $JBidDir
 
# Programm und Icon herunterladen
sudo wget http://assets1.jbidwatcher.com/images/jay_noback.png
sudo wget $JBidDL
 
# Starter anlegen
echo -e '#!/bin/sh'"\n"\
"java -jar "$JBidDir"/JBidwatcher-"$JBidVer".jar"\
| sudo tee /usr/local/bin/jbidwatcher
sudo chmod +x /usr/local/bin/jbidwatcher
 
# Eintag im Menü anlegen
echo -e "[Desktop Entry]\n"\
"Comment=eBay bidding, sniping &amp; monitoring\n"\
"Name=jBidWatcher\n"\
"Exec=jbidwatcher\n"\
"Terminal=false\n"\
"Encoding=UTF-8\n"\
"Type=Application\n"\
"Icon="$JBidDir"/jay_noback.png\n"\
"Categories=Network\n"\
| sudo tee  /usr/share/applications/jBidWatcher.desktop

Schritte nach der Installation

  • Benutzername und Passwort eintragen
  • “Country site” anpassen (z.B. ebay.de)
  • “Snipe time” anpassen (z.B. 8 Sekunden)