Beiträge von koweto

    Zitat von christian;2371

    Im Webinterface stehen werte die sich am Maximum bewegen, top zeigt z.B auf dem Server direkt keine Last, bzw. keine so hohe Last.

    Hallo,

    das mag sein, aber wir sprechen hier ja nicht vom Webinterface, sondern von top, bzw. htop. ;)

    Hallo vServer Betreiber!

    Dieser Tipp hier bezieht sich auf netcup vServer mit Apache und SysCP!

    Um was geht's?
    Wenn man unter SysCP mehrere Domains hat, diese stark besucht sind und man auch noch für jede Domain eine Speciallogfile angelegt hat, kann man schneller Festplattenplatz verlieren als einem lieb ist. Diese Speciallogfiles sind eine separate Apache accesslog und errorlog Datei, die für Webalizer benutzt wird (die Dateien liegen in /var/kunden/logs). Man erhält also nach Domains getrennt Statistiken. Ansich eine gute Sache, aber leider geht SysCP hier, wie so oft, wieder eigene Wege.
    Durch diese "Auskopplung", wird die normale Config Datei von Webalizer nicht beachtet und somit kann man auch nicht für jede Domain einzeln bestimmen, dass die Statistiken inkrementell geführt werden. Das wäre aber nötig, um die Logfiles in das Logrotate aufzunehmen, damit diese Logfiles hin und wieder geleert werden, ohne die Statistik zu verlieren.
    Man denkt sich vielleicht "na und? ist doch egal ob man die Logs löschen kann", aber so einfach ist das nicht. Die Logfiles werden nämlich kontinuierlich erweitert, wodurch sie wachsen und wachsen. Auf einer meiner Domains habe ich im Schnitt am Tag ca. 320 unique Besucher, diese durchstöbern natürlich die Webseite und fordern somit eine Menge Dateien vom Server an, was alles fein säuberlich in der accesslog festgehalten wird. Jedes Bildchen, Grafik, CSS, usw. wird protokolliert. Dadurch ist die accesslog allein in den letzten 6 Wochen um fast 70 MB gewachsen! Man kann sich leicht ausrechnen was da in einem Jahr zusammenkommt oder was erst abgehen muß, wenn man 2000+ Besucher am Tag hat.
    Wie erwähnt, Webalizer selbst würde ja eine Lösung anbieten, aber das wird leider von SysCP zunichte gemacht. Man müsste die Cron Dateien von SysCP schon um einiges erweitern, damit man für jede zu loggende Domain eine eigene Config Datei generieren lässt, damit man Logrotate benutzen kann.

    Es gibt aber einen Workaround, der zwar auch nicht die ultimative Lösung ist, aber das Problem deutlich reduziert!


    Der Workaround
    Wir bringen einfach dem Apache bei, dass er nicht jeden Sch... loggen soll, sondern nur Zugriffe auf Informationsdateien (HTML, PHP Seiten) und nicht auf Bilder, CSS, JS, usw.
    Wir können auch wieder nicht einfach in der Apache Config einstellen was wir möchten, sondern müssen (müssen nicht, aber ist das sauberste und flexibelste) der vHost Datei, die von SysCP alle 5 Minuten neu erstellt wird, einen Zusatz hinzufügen, damit wir im SysCP Control Panel die Konfiguration vornehmen können.


    Schritt 1
    Die Cron Datei im Editor öffnen:
    /var/www/syscp/scripts/cron_tasks.inc.http.10.apache.php
    Vorher Backup der Datei machen!!


    Schritt 2
    Hier diese Zeile suchen

    Code
    $logfiles_text.= '  CustomLog "' . $this->settings['system']['logfiles_directory'] . $domain['loginname'] . $speciallogfile . '-access.log" combined' . "\n";


    und hinter das "combined" ein "env=!dontlog" setzen. Damit sollte die Zeile so aussehen

    Code
    $logfiles_text.= '  CustomLog "' . $this->settings['system']['logfiles_directory'] . $domain['loginname'] . $speciallogfile . '-access.log" combined [B][COLOR='Red']env=!dontlog[/COLOR][/B]' . "\n";


    Speichern und Editor verlassen.


    Schritt 3
    Apache neu starten

    Jetzt warten wir ca. 5 Minuten, bis der Cron das nächste mal ausgeführt wurde und schauen dann kurz in die Datei /etc/apache2/sites-available/99_syscp_vhosts.conf
    Dort sollte jetzt eigentlich für jede Domain eine Zeile stehen die ähnlich dieser ist

    Code
    CustomLog "/var/kunden/logs/<domain name>-access.log" combined env=!dontlog

    Wichtig ist der Zusatz "env=!dontlog". Fehlt der, habt Ihr an der falschen Stelle in der Cron Datei gewerkelt!


    Schritt 4
    Die Konfiguration findet im Admin Panel statt, unter Domains->Eigene vHost-Einstellungen.
    Dort können wir jetzt dem Apache mitteilen, welche Zugriffe auf Dateien er jetzt loggen soll und welche nicht. Um z.B. keine Logeinträge mehr von Grafikdateien (darunter fallen Hintergründe einer Seite, spacer, Banner, einfach alles was grafisch ist) zu erstellen, geben wir in das vHost Feld ein:

    Code
    SetEnvIfNoCase Request_URI ".(gif)|(jpg)|(png)|(css)|(js)|(ico)$" dontlog


    Wichtig ist hier wieder das korrespondierende "dontlog". Hier werden also Zugriffe auf Dateien, die auf .gif, .jpg, .png, .ico, .css, .js enden nicht mehr in die accesslog geschrieben.
    Möchte man keine Logeinträge von Dateien in einem bestimmten Unterverzeichnis, benutzt man z.B.

    Code
    SetEnvIf Request_URI "^/unterordner" dontlog


    Logeinträge von Spider, z.B. Googlebot kann man unterbinden mit

    Code
    SetEnvIFNoCase User-Agent "Googlebot" dontlog


    Ebenso kann man Zugriffe von bestimmten Seiten ausschließen

    Code
    SetEnvIfNoCase Referer "domain.tld" dontlog


    Fazit
    Der bessere Weg wäre natürlich immer noch die Logfiles in das logrotate aufzunehmen und alte Logfiles zu löschen, aber das erweist sich als erheblich komplexer, als es auf den ersten Blick aussieht. Mit diese Ausdünnung der Logfile kann man aber das Volumen enorm reduzieren. Ich habe Logeinträge bei Zugriffe auf Grafiken, CSS, JS und einige Unterverzeichnisse, in denen interner Kram liegt, ausgeschlossen und das täglich dazu kommende Volumen beträgt nur noch 1/10 von dem Ursprünglichen.

    Vielleicht ist der Tipp hier ja dem ein oder anderen von Nutzen. Bald beginnt ein neues Jahr, da wäre es eigentlich der perfekte Zeitpunkt die alten Logfiles zu entsorgen und mit den entschlackten anzufangen. ;)


    vg koweto

    Hallo N.Schmitz,

    sorry wegen der späten Antwort, aber mir ist entgangen das hier jemand geantwortet hat.

    Zunächst einmal freut es mich zu lesen, dass die Seite gefällt. :)
    Technisch basiert die Seite auf Joomla! 1.5 mit einem modifizierten/aufgebohrten, kostenpflichtigen Template. Die meisten Module und Komponenten die, zum Teil verborgen im Hintergrund, eingesetzt werden sind allerdings Eigenentwicklungen.

    Es ist wahr, gerade zum Thema PHP gibt es bereits Unmengen an Webseiten. Viele davon sind aber, meiner Meinung nach, sehr mangelhaft bis gefährlich, da die Tutorials oft sehr fahrlässig geschrieben sind und Anfänger so von Anfang an einen schlampigen und unsicheren Stil gelehrt werden. Das versuche ich besser zu machen und hoffe, dass mir das halbwegs gelingt. An die Fortgeschrittenen ist aber auch gedacht, die u.a. Tutorials zu MySQLi und die Standard PHP Library auf meiner Seite finden. Speziell zu diesen beiden Themen gibt es bisher nicht viel deutschsprachiges Material. Das merke ich auch daran, dass ein Großteil der Zugriffe die über SuMas kommen mit einem dieser beiden Themen als Suchbegriff zu tun haben.


    Viele Grüße,
    koweto

    Hallo,

    dein Engagement in Ehren, aber bei diesen Dateigrößen sind die Banner für jede halbwegs seriöse Seite unbrauchbar. Die oberste Schmerzgrenze für diese Bannergröße sollte bei maximal 25 KB liegen, alles darüber beeinträchtigt die eigentliche Seite und deswegen wird niemand freiwillig solche Riesenbanner (gemessen an den KB) auf seiner Seite platzieren. Ich glaube das kannst Du besser. :)

    Gruß koweto

    Auf phpBuddy.eu finden PHP Einsteiger kostenlose Tipps & Tricks, Tutorials, Scripts, Code Schnipsel und Hinweise zum programmieren sicherer Scripts.
    Die Seite richtet sich an angehende Programmierer, die zumindest schon die Basics von PHP beherrschen und bereit sind für den nächsten Schritt. phpBuddy.eu versucht sich durch Tutorial Qualität statt Quantität von der Masse an Tutorial-Seiten abzuheben.
    Ihr seid herzlich eingeladen mal einen Blick auf die Seite zu werfen, Euch im Gästebuch zu verewigen und über Backlinks bin ich auch nicht traurig. ;)

    phpBuddy.eu - Tipps & Tricks für PHP Anfänger


    Viele Grüße,
    koweto

    Hallo Alex,

    danke für den Hinweis. Wäre wirklich wünschenswert, wenn die Jungs von SysCP das hinbekommen, denn diese Probleme sind wirklich lästig und schon teilweise seit 2005 bekannt. Zumindest findet man diverse Threads zu den selben Themen im SysCP Forum aus dieser Zeit. Warten wir es mal ab und hoffen, dass beim Update dann alles glatt geht.

    vg koweto

    Hallo,

    ja einen Hinweis darauf habe ich per Google schon gefunden. Problematisch wird es aber, wenn man für mehrere Domains und Sub-Domains eigene Stats angelegt hat (Speciallogfiles im SysCP Backend). Dann muß man die Domains Tabelle in der MySQL erweitern und die Config Datei eintragen. Jede Domain/Sub-Domain muß dabei ihre eigene Config haben.
    Das ist alles natürlich sehr unkomfortabel, weil man manuell in der DB und in Files herumpfuschen muß.
    Naja, ist scheinbar nicht zu ändern, deswegen werde ich mich mal am Wochenende dran setzen und etwas herumexperimentieren.

    vg koweto

    Hallo,

    also offensichtlich kann man die Stats resetten, indem man die Domain Ordner leert. Leider brachte mir das nicht wirklich etwas, denn die ursprüngliche Idee des Reset war es, eine brauchbare Statistik zu erhalten, die frei von Referrer ist, die von der eigenen Domain kommen. Schon bei leicht frequentierten Seiten (ca. 50 Zugriffe pro Tag) sind in den Top Listen ausschließlich Adressen aufgelistet, die von der eigenen Domain stammen. So macht das natürlich Null Sinn, da man nicht sieht von welchen externen Seiten Zugriffe auf die Seite stattfinden. Vor dem Reset habe ich die Webalizer Config Datei angepasst und die entsprechenden HideReferrer Werte gesetzt. Leider brachte das keinen Erfolg! Den Grund dafür konnte ich gerade ergooglen: SysCP ignoriert offenbar vollständig die Webalizer Config Datei und bedient sich lediglich der SysCP-eigenen Dateien für den Webalizer, die sich primär in ...
    /var/www/syscp/scripts -und- /var/www/syscp/lib
    ... befinden. Das ist natürlich jetzt ganz großes Kino, da man sich durch etliche Hundert oder Tausend Zeilen PHP Code hangeln kann um zu finden, wo man bestimmte Referrer blocken kann.
    Stellt sich einem nur die Frage, wieso in erster Linie etwas so absolut sinnfreies, wie das loggen der eigenen Seite als Referrer, in's Script implementiert wurde. Richtig sauer wird man allerdings wenn man im SysCP Forum liest, dass dieses Problem schon seit Jahren bekannt ist und von den Usern bemängelt wird, aber ebenso hartnäckig seitens SysCP ignoriert wird.

    In diesem Sinne ...

    Hallo Christian,

    danke für deine Antwort.
    Das beim neuen anlegen einer Domain ein leerer Ordner erzeugt wird stimmt schon, nur weiß man ja nie, ob dazu irgendwo ein korrespondierendes Flag gesetzt wurde.
    Eine webalizer.current gibt es bei mir nicht, sondern nur die normale .list Datei. Ich werde es einfach mal riskieren und den, bzw. die, Ordner leeren um zu sehen ob die Stats komplett neu angelegt werden.

    Ich berichte dann morgen oder so, ob es funktioniert hat. Könnte ja sein das andere die Info auch mal brauchen können. Spätestens dann, wenn sie merken das die Grundkonfiguration von Webalizer recht nutzlos ist, da für alle Top Listen auch die eigene Domain als Referrer mit einbezogen wird.

    LG koweto

    Hallo,

    bei Google findet man leider etwas widersprüchliche Aussagen zu dem Thema. Da Webalizer ja keine eingebaute Reset-Funktion bietet muß man sich wohl anders behelfen. Nun frage ich mich, ob man die Stats resetten/löschen kann, indem man einfach den Inhalt des entsprechenden Domain Ordners im Webalizer Verzeichnis /var/kunden/webs/<user>/webalizer/<domain>/ löscht. Legt Webalizer die Stats dann beim nächsten Update automatisch wieder jungfräulich an oder zerschießt das unter Umständen die Statistik-Funktion für die Domain?

    mfg koweto

    Hallo,

    hatte dieses Phänomen ebenfalls bisher 2 Mal und seit heute nacht, ca. 4 Uhr, das 3. Mal. Heute nacht waren beide Balken im htop auf 100% konstant, seit ca. 6 Uhr schwankt es zwischen 10% und 70%. Bei der 100% Last dauert das Anmelden mit PUTTy auch schon mal 2-3 Minuten. :mad:
    Auf meinem vServer läuft momentan noch gar nichts und es wird auch kaum Traffic verursacht, weil die Seiten die Last erzeugen erst diese Woche auf den vServer geholt werden sollen. Dadurch habe ich es heute erst bemerkt, weil ich per sFTP Daten hochladen wollte um die Umzüge meiner Domains vorzubereiten. Nach dem dritten Timeout in Filezilla wurde ich stutzig und versuchte per PUTTy auf den Server zu kommen, was eben mehrere Minuten dauerte, und dann in htop eine konstante CPU-Last von 100% anzeigte.

    Ich vermute mal das htop die Auslastung des Hostsystem anzeigt und das dort entweder sehr intensive Programme bei anderen "Mitbewohnern" laufen oder man hat CS-Kiddies als Nachbar, die unbedingt ihren Pub Server auf einem vServer laufen lassen müssen. Der schwankende Auslastungsprozess ist noch voll im Gang, falls jemand von netcup nachschauen möchte.

    Gruß koweto

    Hallo,

    versuch doch mal die schlichte Variante

    Apache Configuration
    RewriteCond %{HTTP_REFERER} !^$
    RewriteCond %{HTTP_REFERER} !^(http://www.deine-Domain.de|http://deine-Domain.de) [NC]
    RewriteRule \.(gif|jpg)$ /images/ersatz.gif [NC,R,L]

    Andere Möglichkeiten gegen Traffick-Klau und Bilderdiebe findest Du in diesem Tutorial.

    LG koweto

    Hallo Newbie,

    bin selbst noch recht neu hier (mittlerer vServer), aber kann Dir zumindest einige Fragen aus meiner Erfahrung beantworten.


    Zitat von Newbi

    Ich habe meine Domains (3) zur Zeit noch bei United ... und möchte alle 3 mitnehmen, kann ich die Domains ruhig jetzt über das entsprechende Formular kündigen (KK Antrag stellen), denn dann sollte der Transfer ja um einiges schneller gehen, oder ??

    Wenn es .de Domains sind sollte es ausreichen bei der Bestellung den KK zu starten, da .de Domains in der Regel sehr schnell umgezogen werden.


    Zitat von Newbi

    Wie lange dauert die ganze Prozedur, bis ich die Zugangsdaten bekomme?

    Hab' kurz die Mails geprüft. Ich hatte meinen vServer am Bestelltag um 16:28 Uhr bestellt, um 18:10 Uhr waren die Zugangsdaten da. Allerdings werden, soweit ich weiß, bei größeren Bestellungen die angegebenen Daten geprüft, ob es sich dabei nicht um einen Fake Account handelt. Bei Unklarheiten ruft netcup den zukünftigen Kunden an um sich die Bestellung bestätigen zu lassen.


    Zitat von Newbi

    Wie bekomme ich die Daten ?

    Per Email. Die Zugangsdaten befinden sich dann noch einmal auf dem Server im root Verzeichnis in einer Textdatei.


    Zitat von Newbi

    Zahlen will ich per Banküberweisung (OnineBanking), ich habe aber auch einen Paypal account, lohnt es sich das Geld jetzt an den Paypal account zu überweisen (dauert ca. 3 Tage), oder soll ich einfach noch bis zur Bestellung warten, wollte morgen Abend alles fertig machen, so das die Daten dann Mittwoch morgen vorliegen (Bestelle wohl gegen 23 Uhr).

    Bankeinzug ist wohl die beste und sicherste Art der Bezahlung. Wenn es per PayPal sein "muß", kann es ja nichts schaden das Geld zuvor auf das guthabenkonto zu überweisen.


    Zitat von Newbi

    Ich soll ja den KK Antrag auch an NC senden, da kann ja den auch ne Perso kopie und eine Schülerbescheinigung beilegen, oder nicht ??

    Keine Ahnung.


    Zitat von Newbi

    Da ich den Account sowohl für Privates (Primär und sofort) und auch für meine Firma (Sekundär und ist noch in der Entstehung und so noch nicht vorhanden) nutzen möchte, muss ich dann die Firma schon angeben, oder dann später ändern ??

    Es gibt, AFAIK, kein Gesetz das einen dazu verpflichtet eine Domain oder Account auf einen Firmenname zu registrieren. Dennoch kann man nachträglich diese Daten noch ändern.
    Den Firmenname angeben wenn offiziell noch keine Firma besteht könnte, sogar mit ziemlicher Sicherheit, illegal sein und sehr unangenehme und teure Folgen haben.


    Mit freundlichen Grüßen,
    koweto

    Hallo,

    kann man eigentlich den vorgegebenen Hostname eines vServer einfach so im SysCP ändern oder wäre dann der Server nicht mehr erreichbar? Also z.B. v123456789.yourvserver.net ändern in irgendwas.yourvserver.net

    Hallo Alexander,

    ja mich hat es auch gewundert. Nach der Image-Installation steht es in allen Configs ja auf localhost und da geht es bei mir nicht. Ich hab dann gegoogelt und fand den Hinweis mit der IP, verwarf das aber anfangs, weil 127.0.0.1 ja nichts anderes ist als localhost. Offensichtlich spielt es aber doch eine Rolle, weil Abrufen der Mails ja funktionierte, nachdem ich es in allen Configs angepasst habe. Das mit dem falschen MySQL Port habe ich dann später noch entdeckt, als ich auf deine Antwort hin noch ein x-tes mal die Config durchgesehen habe und seither funktioniert auch das versenden.
    Lediglich TLS Verschlüsselung nervt etwas, weil sich im TB permanent das unsignierte Zertifikat meldet, das ich auf dem Server mit OpenSSL erzeugt habe.

    Naja, wenn man weiß an was es liegt, kann man das in Zukunft ja in wenigen Sekunden/Minuten fixen. :)

    Dann kann ich demnächst noch meine anderen Projekte zu netcup umziehen und hoffe das der vServer dafür auch ausreicht.