Beiträge von KB19

    Zitat von [netcup] Felix;2733

    dass 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;2602

    Ich 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;2592

    Geht 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

    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;2584

    Es 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:


    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:


    Nun öffnen wir noch die /var/www/syscp/admin_settings.php und suchen folgenden Code:

    PHP
    $value = validate($_POST['system_phpappendopenbasedir'], 'phpappendopenbasedir');
    				$value = explode(':', $value);
    				foreach($value as $number => $path)
    				{
    					$value[$number] = makeCorrectDir($path);
    				}


    Den ersetzen wir mit folgendem Code:

    PHP
    $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:

    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:

    PHP
    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:

    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:

    PHP
    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

    Schau dir einmal die /etc/apache2/httpd.conf an - das wäre die einfachste Lösung, denn diese Datei überschreibt Syscp nicht :)



    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

    Ich habe einfach in meine /etc/apache2/httpd.conf folgendes hinzugefügt:

    Code
    <Directory />
       AllowOverride All
    </Directory>


    Und dann den Apache mit /etc/init.d/apache2 reload die Configs neu einlesen lassen :)



    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.


    Code
    dein_befehl > deine_datei.log


    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

    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