blog.bartlweb - a technologist's external brain

Alle Artikel

vsftpd für den Zugriff auf www-Root konfigurieren

Die folgende Anleitung erläutert die Konfiguration eines FTP-Servers für den Zugriff von Benutzern ohne Shell-Login auf das Rootverzeichnis des Webservers.

Installieren Sie zunächst den FTP-Server vsftpd. Unter OpenSuse via Yast, unter Ubuntu via apt-get install vsftpd.

Benutzer anlegen und Rechte vergeben

Zunächst legen wir eine neue Benutzergruppe (im Beispiel wwwftp) an unter der all unsere FTP-Benutzer zusammengefasst werden.

groupadd wwwftp

Danach legen wir unseren ersten Benutzer ftpuser an. Diesen fügen wir unserer Gruppe wwwftp hinzu und setzen das Home-Verzeichnis auf unser Root-Verzeichnis des Webservers /var/www. Dadurch wird dem Benutzer beim einloggen via FTP sofort das Webserver-Rootverzechnis präsentiert.

Filesystem-Checks fsck unter Linux händeln

Wer kennt das Problem nicht: Immer dann wenn der Server-Reboot schnell gehen muss wird wieder eine automatische Überprüfung des Dateisystems durchgeführt - und das kann dauern.

Parameter für den Neustart

Darum gibt es die Möglichkeit über den Shutdown-Befehl die Überprüfung beim Reboot expliziet zu verhindern oder zu erzwingen.

Filesystem-Check verhindern

shutdown -f -r now

Filesystem-Check erzwingen

shutdown -F -r now

Überprüfungsintervall auslesen und anpassen

Die wichtigsten Parameter im Zusammenhang mit der automatischen Überprüfung sind: mount count, maximum mount count, last checked, check interval, next check after. Diese lassen Sich für jede Partition über den folgenden Befehl abrufen:

Apple Adressbuch in Outlook importieren

Eine einfach anmutende Aufgabe wie das Überführen des Apple-Adressbuches nach Outlook erfordert manchmal einiges an Umwegen. Die Problematik liegt dabei in der Multi-vCard-Exportdatei aus dem Apple-Adressbuch die Outlook nicht verarbeiten kann.

Export aus dem Apple Adressbuch

Für das Exportieren aus Apples Adressbuch genügt es die gewünschte Gruppe bzw. die gewünschten Kontakte zu makieren und dann mittels Rechtsklick den Punkt vCard Exportieren auszuwählen. Das Ergebnis ist eine vCard-Datei die alle ausgewählten Adressdatensätze enthält.

Import-Vorbereitungen

Der direkte Import in Outlook ist leider nicht möglich, daher gehen wir den Umweg über das Windows Adressbuch bzw. Windows Contacts.

3ware/LSI 3DM2 Init-Skript

Wer die Verwaltungssoftware 3DM2 für LSI/3ware RAID-Controller unter Linux installiert wird feststellen, dass kein Init-Skript mitgeliefert wird. Um die Verwaltungssoftware dennoch beim Boot automatisch mit zu starten findet Sie unten ein für Ubuntu geschriebenes Init-Skript.

Autostart konfigurieren

Erstellen Sie unter /etc/init.d/ eine Datei mit dem Namen 3dm2 und dem unteren Skript als Inhalt.

Passen Sie die Rechte entsprechend an:

chown root:root 3dm2
chmod 755 3dm2

Konfigurieren Sie die Datei für den Autostart:

update-rc.d 3dm2 defaults

 Skript

 

#!/bin/sh
#
# Start the 3DM2 Management Interface
#
# Copyright © 2011 Christian Bartl
#
### BEGIN INIT INFO
# Provides:          3dm2
# Required-Start:   
# Required-Stop:    
# Should-Start:     
# Default-Start:     3 4 5
# Default-Stop:     
# Short-Description: 3ware management interface
# Description:       3ware management interface
### END INIT INFO
#
set -e
 
# /etc/init.d/3dm2: start and stop the 3DM2 "3ware management" daemon
 
DAEMON=/usr/sbin/3dm2
PIDFILE=/usr/sbin/3dm2.pid
 
. /lib/lsb/init-functions
 
test -x "$DAEMON" || exit 0
 
case "${1:-}" in
  start)
    log_daemon_msg "Starting 3ware management console" 3dm2
    if start-stop-daemon -S -b -o -n $DAEMON -x $DAEMON; then
       log_end_msg 0
    else
       log_end_msg 1
    fi
    ;;
  stop)
    log_daemon_msg "Stopping 3ware management console" 3dm2
    if start-stop-daemon -K -o -x $DAEMON; then
      # rm -f $PIDFILE
       log_end_msg 0
    else
       log_end_msg 1
    fi
    ;;
  restart|reload|force-reload)
    ${0:-} stop
    ${0:-} start
    ;;
  *)
    echo "Usage: ${0:-} {start|stop|restart}" >&2
    exit 1
    ;;
esac
 
exit 0

MySQL-Datenbanken mittels Skript sichern

Das folgende Shell-Skript sichert eine Datenbank mit Hilfe von mysqldump als mit Datum versehene tar.gz-Datei. Somit kann mit Hilfe eines Cronjobs die Datenbank z.B. einmal täglich gesichert werden.

Shell-Skript

#!/bin/sh
 
CONF_DB_DATABASE = "mydb"
CONF_DB_USER = "user"
CONF_DB_PASSWORD = "password"
CONF_DB_HOST = "localhost"
CONF_OUTPUT_FILENAME = "mydb_`date +%m%d%Y`"
CONF_OUTPUT_DIR = "/mnt/backup/mysql/"
CONF_TMP_DIR = "/tmp/"
 
mysqldump -u $CONF_DB_USER -p$CONF_DB_PASSWORD -h $CONF_DB_HOST $CONF_DB_DATABASE > $CONF_TMP_DIR$CONF_OUTPUT_FILENAME.sql
tar cfz $CONF_OUTPUT_DIR$CONF_OUTPUT_FILENAME.tar.gz -C $CONF_TMP_DIR $CONF_OUTPUT_FILENAME.sql  >> /dev/null 2>&1
rm $CONF_TMP_DIR$CONF_OUTPUT_FILENAME.sql

Performance von mysqldump optimieren

Bei großen Datenbanken kann mysqldump unter Umständen sehr lange für das Backup benötigen. Über die folgenden Paramter der MySQL-Konfigurationsdatei my.cnf können Sie die Performance von mysql und mysqldump optimieren. Achtung: die hier angegebenen Werte sind Beispielwerte, Sie sollten diese entsprechend des verfügbaren Arbeitsspeichers bemessen.

[mysqldump]
max_allowed_packet = 64M
[mysqld]
key_buffer_size = 256M
max_allowed_packet = 128M
read_buffer_size = 512K
myisam_sort_buffer_size = 8M
 
 
# You can set .._buffer_pool_size up to 50 - 80 %
# of RAM but beware of setting memory usage too high
innodb_buffer_pool_size = 256M
# Set ..._log_file_size to 25 % of buffer pool size
innodb_log_file_size = 64M

Apache mittels PHP reloaden

Die folgende Lösung ist definitiv eine Bastellösung und daher nur für interne und gut abgesicherte PHP-Anwendung gedacht. Die folgende Anleitung ermöglicht es den Apache Webserver mit Hilfe eines PHP-Skriptes neu zu laden. Erforderlich ist dies wenn die Apache-Konfiguration mittels PHP geändert werden kann (z.B. hinzufügen eines neuen virtuellen Hosts). Zu beachten ist das nach ausführen des Skripts 2-5 Sekunden vergehen können bevor der Server wirklich "reloaded" wurde.

Da unsere PHP-Umgebung mit den eingeschränkten Rechten des Webserver-Benutzers läuft und der Apache-Server nur mit Hilfe von Root-Rechten "reloaded" werden kann bedient man sich der Hilfe von visudo um dem Benutzer das Ausführen des Befehls mit sudo ohne Eingabe des Passworts zu ermöglichen.

Shortcuts ab Firefox 6 optimieren

Wer Firefox ab Version 6 in Verbindung mit mit der Web Developer nutzt wird feststellen, dass sich lokales HTML nicht mehr mittels Ctrl+Shift+a validieren lässt, da dieser Shortcut nun dem Add-Ons-Manager zugeordnet ist.

Wer so wie ich die Webdeveloper Toolbar weiterhin mit Shortcuts nutzen möchte, muss die Shortcuts anpassen. Rufen Sie dazu die Firefox-Konfiguriation durch eintippen von about:config in der Adressleiste auf und bestätigen Sie den Warnhinweis.

Xmarks-Shortcuts deaktivieren

Sollten Sie die Extension Xmarks nutzen deaktivieren Sie für diese alle voreingestellten Shortcuts. Suche Sie dazu in der Konfiguration die folgenden Schlüssel und entfernen Sie die zugeordneten Tastenbelegungen:

Windows-Freigabe automatisch beim Booten mounten

Um eine Windows-Freigabe automatisch beim Start von Linux zu mounten bedarf es einem Eintrag in der Fstab-Datei.

Share beim Booten mounten

Um Samba-Shares bzw. Windows-Freigaben mounten zu können, müssen Sie zunächst smbfs auf Ihrem Server installieren. Unter Ubuntu passiert dies mit folgendem Befehl:

apt-get install smbfs

Danach legen wir eine Text-Datei mit den Zugangsdaten zu unserer Freigabe an. Speichern Sie diese unter /etc/fstab.smbcredentials mit dem folgenden Inhalt (Ersetzten Sie <benutzername> und <passwort> durch Ihre Zugangsdaten.

username=<benutzername>
password=<passwort>

Da Sie vermutlich mit einen bestimmten Benutzer (z.B. ihr lokaler Benutzer oder der Benutzer des Webserver) lesend bzw. schreibend auf die Freigabe zugreifen möchten, müssen Sie noch die Benutzer-ID (uid) und Gruppen-ID (gid) des Benutzers ermitteln.

CD/DVD manuell mounten

Um eine CD oder DVD unter Linux zu mounten muss entweder ein Eintrag in der Fstab-Datei vorhanden sein oder Sie müssen die Parameter per Hand angeben.

per Hand mounten

Erstellen Sie zunächst das gewünschte Mount-Verzeichnis, hier /mount/cdrom bzw. /mount/dvd.

eine CD im CD-Laufwerk

mount -F iso9660 /dev/cdrom /mount/cdrom

eine CD im DVD-Laufwerk

mount -F iso9660 /dev/dvd /mount/dvd

eine DVD im DVD-Laufwerk

mount -F udf /dev/dvd /mount/dvd

mittels Fstab-Eintrag mounten

Zunächst müssen Sie ermitteln unter welcher Gerätedatei Ihr Laufwerk zu finden ist. Überprüfen Sie ob einer der folgenden Einträge vorhanden ist: /dev/dvd oder /dev/cdrom oder /dev/cdrom0.

Workspace verschoben – Eclipse/Aptana startet nicht mehr

Wenn Sie unter MacOSX nach dem verschieben des Workspaces beim Starten von Eclipse bzw. Aptana Studio nur noch die folgende Fehlermeldung erhalten, hilft das editieren der Einstellungen.

Could not launch the product because the specified workspace cannot be created. The specified workspace directory is either invalid or read-only.

Löschen oder bearbeiten Sie die Zeile RECENT_WORKSPACES unter {Programme->Eclipse/Aptana}/configuration/.settings/org.eclipse.ui.ide.prefs.