Nettes Script Christian, ich habe es mir gleich einmal als Cronjob mit E-Mail Benachrichtigung angelegt
MfG Christian
Nettes Script Christian, ich habe es mir gleich einmal als Cronjob mit E-Mail Benachrichtigung angelegt
MfG Christian
Zitat von [netcup] Felix;2733dass wir keine eMails von unseren Kunden löschen dürfen.
Das wird jetzt zwar ein wenig Offtopic, aber: Wenn ein Kunde das zum Beispiel in einem Webinterface auswählt, was könnte dann gegen die automatische Löschung sprechen? Oder wäre so eine Auswahl mit den eingesetzten Techniken nicht so leicht möglich?
MfG Christian
Zitat von Littlerat;2602Ich meine die unter Domains...
Vielleicht übersehe ich jetzt etwas, aber bei den Domaineinstellungen gibt es nur eine Option OpenBasedir Ja/Nein, kein Eingabefeld für die OpenBasedir Pfade. :confused:
MfG Christian
Soweit ich weiß müsstest du dafür bei deinem Domain-Hoster die DNS Server selbst eintragen, manche bieten das an. Das Problem dabei ist, dass dir ein DNS Server nicht reicht, die zuständigen Registrierungsstellen verlangen nämlich 3 DNS Server Einträge, die verschiedene IP Netze haben. D.h. ich würde die empfehlen einmal deinen Hoster zu fragen, bei dem deine Domain(s) liegen. Einige nehmen solche DNS Einträge/Änderungen für Subdomains einfach für dich vor und du musst dich überhaupt nicht mit bind rumspielen. Bei manchen hast du auch selbst vollständigen Zugriff auf die DNS Daten, ich glaube Hetzner bietet so etwas z.B. mit dem Domain Robot
Wie es dabei mit dynamischen IP's aussieht weiß ich leider nicht, bei letzterem sollte das aber mittels Script machbar sein. Ansonsten schau dir vielleicht mal dyndns.org an, vielleicht findest du dort etwas passendes.
MfG Christian
Zitat von Littlerat;2592Geht doch mit den vServ Einstellungen ganz leicht, oder ändert er das da auch? Bei mir gehts jedenfalls...
Bei den vServer Einstellungen (du meinst doch das: Syscp -> Einstellungen -> Webserver -> Apache2 - oder?) wird bei jedem Pfad aber ein abschließendes Slash angehängt. Und genau dieses Verhalten ist von einigen Usern nicht erwünscht
MfG Christian
Ich sitze wieder einmal zu lange vor dem PC, danke für den Hinweis! War ein Tippfehler
MfG Christian
Neben den Standard-Optimierungen von Query Cache o.ä. habe ich heute etwas entdeckt, das für viele interessant sein dürfte, falls sie es nicht eh schon kennen: Eine aktivierte InnoDB Unterstützung benötigt bis zu 100MB Ram, egal ob sie aktiv genutzt wird oder nicht. Wer also InnoDB sowieso nicht benötigt, schaut bitte einmal in die /etc/mysql/my.cnf und sucht dort nach skip-innodb. Dort stehen auch noch weitere Erklärungen darüber. Die genannte Zeile kann dann bei Bedarf einfach aktiviert werden. Danach MySQL mit /etc/init.d/mysql restart neustarten.
Vielleicht wollen hier ja auch noch andere Benutzer ihre Optimierungstipps veröffentlichen, ich werde sie dann immer im ersten Beitrag mit einem Hinweis zusammenfassen
MfG Christian
Zitat von [netcup] Alex;2584Es wäre gut zu erwähnen für welche Version von SysCP diese Anleitung gilt.
Getestet habe ich es mit Syscp Version 1.4.2, so wie ich das sehe sollten die Änderungen aber auch bei älteren Syscp Versionen funktionieren, bei neuen eher nicht. Ich habe den Hinweis einmal reineditiert
MfG Christian
Wie sicher die meisten Syscp Benutzer von euch wissen, hängt Syscp immer ein abschließendes Slash an die für open_basedir angegebenen Verzeichnisse an. Da dieses Verhalten nicht immer gewünscht ist habe ich mir jetzt einmal die Codestellen in Syscp gesucht und abgeändert.
[infobox]Bitte unbedingt ein Backup der betroffenen Dateien und der Syscp Datenbank machen![/infobox]
Zu beachten ist auch, dass bei einem Update von Syscp alle Änderungen vllt. neu durchgeführt werden müssen, je nachdem welche Dateien bei einem Update betroffen sind. Ich übernehme keine Garantie für die Korrektheit der Änderungen, der Einbau erfolgt auf eigene Gefahr. Alle Änderungen wurden auf einem Standard-Netcup-Debian System getestet mit Syscp Version 1.4.2. So wie ich das sehe sollten die Änderungen aber auch bei älteren Syscp Versionen funktionieren, bei neuen eher nicht.
In der /var/www/syscp/lib/functions.php gibt es folgende Funktion:
function makeCorrectDir($dir)
{
if(substr($dir, -1, 1) != '/')
{
$dir.= '/';
}
if(substr($dir, 0, 1) != '/')
{
$dir = '/' . $dir;
}
$dir = makeSecurePath($dir);
return $dir;
}
Alles anzeigen
Diese Funktion ist für die ungewollten Pfadangaben verantwortlich. Da diese Funktion in Syscp an mehreren Stellen verwendet wird, wo Slash's am Ende doch erfoderlich sind, statten wir die Funktion mit einem neuen Parameter aus, den wir bei Bedarf dann überall einsetzen können:
function makeCorrectDir($dir, $append = true)
{
if($append && substr($dir, -1, 1) != '/')
{
$dir.= '/';
}
elseif(!$append && substr($dir, -1, 1) == '/')
{
$dir = substr($dir, 0, (strlen($dir) - 1));
}
if(substr($dir, 0, 1) != '/')
{
$dir = '/' . $dir;
}
$dir = makeSecurePath($dir);
return $dir;
}
Alles anzeigen
Nun öffnen wir noch die /var/www/syscp/admin_settings.php und suchen folgenden Code:
$value = validate($_POST['system_phpappendopenbasedir'], 'phpappendopenbasedir');
$value = explode(':', $value);
foreach($value as $number => $path)
{
$value[$number] = makeCorrectDir($path);
}
Den ersetzen wir mit folgendem Code:
$value = validate($_POST['system_phpappendopenbasedir'], 'phpappendopenbasedir');
$value = explode(':', $value);
foreach($value as $number => $path)
{
$value[$number] = makeCorrectDir($path, false);
}
Das selbe kann man natürlich auch für andere Einstellungen machen, bei denen man die Pfade wirklich selbst angeben möchte, wirklich sinnvoll ist es aber nur beim open_basedir. Davon unberührt bleibt übrigens das Webverzeichnis des Benutzers (z.B: /var/kunden/webs/kunde1/), diese Pfade werden trotzdem noch mit Slash angegeben. Falls man das auch ändern möchte, muss man noch folgende zwei Änderungen durchführen:
Suche in /var/www/syscp/scripts/cron_tasks.inc.http.10.apache.php:
if($domain['openbasedir_path'] == '1')
{
$php_options_text.= ' php_admin_value open_basedir "' . $domain['customerroot'] . $_phpappendopenbasedir . "\"\n";
}
else
{
$php_options_text.= ' php_admin_value open_basedir "' . $domain['documentroot'] . $_phpappendopenbasedir . "\"\n";
}
Ersetze es mit:
if($domain['openbasedir_path'] == '1')
{
$php_options_text.= ' php_admin_value open_basedir "' . makeCorrectDir($domain['customerroot'], false) . $_phpappendopenbasedir . "\"\n";
}
else
{
$php_options_text.= ' php_admin_value open_basedir "' . makeCorrectDir($domain['documentroot'], false) . $_phpappendopenbasedir . "\"\n";
}
Suche in /var/www/syscp/scripts/cron_tasks.inc.http.15.apache_fcgid.php:
if($domain['openbasedir_path'] == '0')
{
$openbasedir = $domain['documentroot'] . ':' . $tmpdir . ':' . $this->settings['system']['mod_fcgid_peardir'] . ':' . $this->settings['system']['phpappendopenbasedir'];
}
else
{
$openbasedir = $domain['customerroot'] . ':' . $tmpdir . ':' . $this->settings['system']['mod_fcgid_peardir'] . ':' . $this->settings['system']['phpappendopenbasedir'];
}
Ersetze es mit:
if($domain['openbasedir_path'] == '0')
{
$openbasedir = makeCorrectDir($domain['documentroot'], false) . ':' . makeCorrectDir($tmpdir, false) . ':' . makeCorrectDir($this->settings['system']['mod_fcgid_peardir'], false) . ':' . $this->settings['system']['phpappendopenbasedir'];
}
else
{
$openbasedir = makeCorrectDir($domain['customerroot'], false) . ':' . makeCorrectDir($tmpdir, false) . ':' . makeCorrectDir($this->settings['system']['mod_fcgid_peardir'], false) . ':' . $this->settings['system']['phpappendopenbasedir'];
}
Falls jemand damit Probleme hat, bitte einfach auf dieses Thema antworten
Über Feedback und/oder Verbesserungsvorschläge würde ich mich freuen
MfG Christian
Indem du passende Spam-/Virenfilter für deinen Mail Server installierst. Welche das sein können, hängt von deinem verwendeten Mail Server ab. Am besten du googelst einmal nach dem Namen deines Mail Servers + Spamfilter o.ä.
MfG Christian
@sim4000: In diesem Block habe ich außerdem noch andere Allow & Deny Optionen stehen, das ist nicht der einzige Eintrag. Aber dann stelle es halt auf /var/kunden/webs. Ich verstehe nur nicht, was daran fahrlässig sein soll. Gefährlicher finde ich es, wenn keine einzige .htaccess Datei per default funktioniert und man sich z.B. darauf verlässt. Der Apache ladet eh nur die Inhalte der jeweiligen Kunden-Webs, was sollte daran also fahrlässig sein? Vielleicht übersehe ich hier etwas, aber was kann man mit dieser Apache Konfiguration großartig anrichten?
MfG Christian
Für andere Hilfesuchende mit einem mod_rewrite Problem: http://www.modrewrite.de/foren/ftopic82.html
MfG Christian
Das wurde in einem anderen Thema schon einmal besprochen. Wende dich mit dieser Fehlermeldung bitte an den Support, die sollten das beheben - war bei mir auch so
MfG Christian
Leite die vollständige Ausgabe der Befehle mal in eine Datei um, um zu sehen was wirklich passiert oder eben nicht passiert. Vielleicht verlierst du zufällig die Internetverbindung, könnte viele Gründe geben.
Bitte beachte, dass du dann keine interaktiven Eingaben machen kannst und bereits vorher alles mittels der entsprechenden Parameter setzen musst. --help hilft weiter
MfG Christian
Danke für die genaue Erklärung
MfG Christian
Eigentlich wäre es ohne Slash ja korrekter, dem System sollte das aber egal sein, genauso kannst du 5 Slash's bei Pfadangaben machen, sollte nichts machen. Um zu deinem eigentlichen Problem zurückzukommen: session.save_path ist bei meiner php.ini auskommentiert und macht keine Probleme. Diese Fehlermeldung hat übrigens nichts mit dem open_basedir Pfad zu tun, es steht doch: "/var/lib/php5 existiert nicht!!!"
Überprüfe einmal, ob es diesen Ordner wirklich gibt und ob der Webserver darauf auch Schreibrechte hat
MfG Christian
/var/www lässt grüßen
MfG Christian