Archive for August, 2008
last-Access Zeitstempel im Dateisystem deaktivieren
mount -o noatime,remount,rw /dev/hda3
Quelle: PHP-Perfomance
open_basedir + upload_tmp_dir
Der Standardpfad für Dateiuploads ist /tmp. Wenn für PHP der Schreibzugriff nur auf bestimmte Verzeichnisse erlaubt sein soll, darf natürlich für Dateiuploads auch der upload_tmp_dir nicht fehlen:
open_basedir = /ftp/blog.kevin-k.com:/tmp
lighttpd und virtuelle Hosts mit eigener php.ini
Damit für jeden virtuellen Host eine eigene php.ini genutzt wird, legen wir mit dem setenv-Modul die Umgebungsvairable PHPRC fest, die angibt, wo die php.ini liegt.
server.modules += ( "mod_setenv" )
Nun fügen wir die setenv-Anweisung für die virtuellen Hosts hinzu:
$HTTP["host"] =~ "^www.example.com" {
...
setenv.add-environment = (
"PHPRC" => "/etc/php5/cgi/php.example.com.ini"
)
}In dieser speziellen php.ini sollte man nun für jeden virtuellen Host den open_basedir-Pfad setzen, damit diese nicht untereinander auf die Verzeichnise schreiben können.
Quelle: http://www.jenkner.org/archive/2008/03/11/lighttpd-mit-php-und-cgi/
PostgreSQL Backup Script für Windows
@echo off set PG_BIN_PATH=C:ProgrammePostgreSQL8.3bin set PG_BACKUP_PATH=C:backuppg set PGHOST=localhost set PGUSER=postgres set PGPASSWORD=postgres set PGPORT=5432 set PGDATABASE=database set PGCODING=UTF8 if not exist "%PG_BIN_PATH%" goto exit if not exist "%PG_BACKUP_PATH%" goto create_pg_backup_path goto run :create_pg_backup_path mkdir "%PG_BACKUP_PATH%" :run set PG_BACKUP_TIME=%TIME:~1,1%_%TIME:~3,2%_%TIME:~6,2% set PG_BACKUP_DATE=%DATE:~6,4%_%DATE:~3,2%_%DATE:~0,2% %PG_BIN_PATH%pg_dump.exe -i --format c --verbose --file=%PG_BACKUP_PATH%%PGDATABASE%-%PG_BACKUP_DATE%-%PG_BACKUP_TIME%.backup :exit exit
Zugriffsrechte für lighttpd und proftpd
Wenn ein FTP-User (Virtual User) Dateien und Ordner ändern/erstellen, werden diese auf meinem System mit dem Benutzer ftp-data (Gruppe ftp-data) geschrieben.
Wird von lighttpd eine Dateien angelegt, wird diese mit dem Benutzer www-data (Gruppe www-data) geschrieben.
Das Problem ist nun, wenn FTP-User Zugriff auf die von lighttpd geschriebenen Dateien bekommen sollen und umgekehrt.
Als aller erstes fügen wir den Benutzer ftp-data der Gruppe www-data hinzu:
usermod -a -G ftp-data www-data
Danach ändern wir den Benutzer und die Gruppe des FTP-Verzeichnises:
chown -R www-data:www-data /ftp
Nun geben wir allen Dateien und Ordner folgende Zugriffsrechte: 775
Das bedeutet:
User (7): Schreiben, Lesen und Ausführen
Gruppe (7): Schreiben, Lesen und Ausführen
Jeder (5): Lesen und Ausführen
chmod -R 775 /ftp
Werden von www-data (lighttpd, apache) Dateien angelegt, werden diese mit dem Benutzer www-data und der Gruppe www-data geschrieben.
Da wir allen Dateien für die Gruppe (ftp-data befindet sich ja in Gruppe www-data) alle Rechte gegeben haben, können wir nun mit dem FTP-User auf die Dateien zugreifen, die von www-data geschrieben worden sind.
Um nun auch www-data die Rechte zu geben, um auf Dateien von ftp-data zugreifen zu können, ändern wir wie folgt die config von proftpd (/etc/proftpd/proftpd.conf):
Umask 002 002
Durch Unmask werden nun Dateien und Ordner die hochgeladen werden, auf folgende Rechte gesetzt:
775 (777-002)

