26. januar 2003 - 21:32Der er
23 kommentarer og 1 løsning
Begrænse trafik pr. dag.
Hejsa Eksperter ;o)
Jeg kører et gratis webhotel for venner og bekendte, jeg er nu igang med at udvide det til også at omfatte andre brugere, for at få nogle flere brugere.
Jeg står nu i det problem at jeg ikke kan tillade at andre brugere benytter hele båndbredden på min 2mbit/512kbit linje. Derfor vil jeg gerne lave en slags trafik kvota pr. bruger.
Brugere bliver oprettet virtuelt vha. mod_vhost_alias, som fungerer filbaseret. Men jeg har overvejet at skifte til en andet modul som jeg ikke ved hvad hedder, som gør det vha. MySQL.
Så kvotasystemet skal enten fungere på MySQL database eller vha. filsystemet og skal køre med Apache2.
Det skal være sådan at når et hotel har brugt dets kvota at siden bliver lukket med en "ikke tilgængelig" side. Ligesom man ser på tripod og yahoo.
Desuden kunne jeg også godt tænke mig at lave disk kvota på de virtuelle hosts, enten vha. mysql eller filsystem igen. Problemet med normal kvota er at det kører pr. unix bruger, og jeg ikke vil oprette unix brugere til alle domæner.
Håber der er nogen der har nogle tips, alt hjælp vil blive værdsat og modtages med kyshånd!! Der er 200 point til et tilfredsstillende svar og 500 til en konkret løsning!!!
Desvæære, mod_bandwidth duer ikke til apache2, og mod_throttle sænker bare hastigheden på en forbindelse, hvilket jo egenglig bare svarer til at sætte hver enkelt virtual host på en 56k linje for eksempel.
Skulle ellers mene at mod_throttle er til at begrænse trafikken!
Det er dette du skal bruge:
ThrottlePolicy policy limit period Context: server, <VirtualHost>, <Directory>, <Location> The policy parameter can be one of the previously above mentioned policies.
The limit is a number followed by an optional suffix K, M, or G for kilo-bytes, mega-bytes, or giga-bytes respectively. When no suffix is given the default is kilo-bytes.
The period is a number followed by an optional suffix s, m, h, d, or w for seconds, minutes, hours, days, or weeks respectively. When no suffix is given the default is seconds.
Det er muligt at mod_bandwith og mod_throttle ikke virker på apache 2, men jeg tror ikke at der findes bedre moduler til apache 2 derfor vil jeg råde dig til at "nedgradere" til Apache 1.3.27 - Den kører optimalt!
Jeg har selv lige "nedgraderet" fra Apache2 til apache 1.3.27 da jeg ikke var særlig godt tilfreds med Apache2. Du for klart den bedste support for moduler og andet til apache 1.3.27 PT. Apache2 er ikke nok udbredt endnu, så der er gode moduler til det!
Hovsa, nu hvor jeg gennemlæser dokumentationen for 2. gang fatter jeg det først. Jeg skal altså lave noget der ligner:
Trottle Volume 10M 1D
For at lave en begrænsning på 10Mbyte pr. dag. Det er lige hvad jeg leder efter. Tusind tak!
- Men ... Kan det køre med apache2?
Jeg ved ikke hvorfor, men jeg har det dårligt med at køre en ældre version, når jeg ved at der er noget der er nyere og forhåbentlig smartere. Jeg henter normalt selv kilden fra annonym CVS og kører i øjeblikket: Apache/2.1.0-dev (Unix) PHP/5.0.0-dev mod_ssl/2.1.0-dev OpenSSL/0.9.7 ¨ Ja, kald mig blot for komplet åndsvag, men jeg er altså en af de typer der virkelig dyrker den måde CVS virker på, jeg elsker bare lugten af frisk kode...
Nå, whatever. Hvis ikke jeg kan finde ud af at få mod_throttle til at køre på apache2, så kan det være at jeg kan få nogen til at porte det eller noget. Men under alle omstændigheder, mange tak for hjælpen! Du har tjent din halvdel af de 200 da!
Tror ikke det virker på apache2, men prøv dig frem og post resultatet her :-)
Lyder ellers sjovt med dine CVS versioner - men jeg er nu af den type at jeg vælger den stabile og bedst supportede version fremfor allernyeste skud på stammen!
Tjaa, nu er jeg lige igang med at compile apache 1.3.28-dev, så det bliver et kompromis mellem ny kode og gammel "struktur"... -Ja, jeg er skør i bolden!
Jeg sætter dem til at køre samtidig og tester så apache1.3.28 på port 81, og så ser vi kom det kan kommet til at virke med vhost_alias.
Nu har jeg installeret mod_throttle og mod_bandwidth. Det sidstnævnte er ikke til nogen nytte da det kun kan sænke hastigheden og ikke blokere efter en vis kvota.
mod_throttle virker ikke med mod_vhost_alias. Dvs. at jeg manuelt skal sætte enten: <VirtualHost> 's op eller manuelt sætte <Diretory> 's op for at få det til at virke...
Jeg ved ikke rigtig hvad jeg skal gøre så :O( Jeg vil jo gerne have det hele til at køre automatisk. Så indtil nu har jeg jo bare skulle oprette en mappe pr. bruger samt email, ftp kontoer og mysql database, og det kan jo ordnes vha. mysql database hele lortet.
Det er bare noget røv :o( Jeg skulle jo også have disk kvota til at fungere pr. virtual host. og det ved jeg heller ikke hvordan skal gøres. :o(
Det ser nice ud det mod_throttle - men desværre ser det ud som du har ret med at det ikke kan du på mod_virtual_alias - men du kan måske få det til at virke med user eller lign?
I .htaccess siger error log: .htaccess: ThrottlePolicy not allowed here
Så det kan man heller ikke. Men man kan til gengæld bruge mod_bandwidth med .htaccess, hvad man så end skulle bruge det til...
Jeg kunne godt lave user kvota, ok, så kan 1 bruger ikke hente mere en 10mb, men 10 brugere kan hente 100mb... og det duer ikke :o( Tilbage til tegnebrættet!
var ved at prøve mod_vdbh istedet for mod_vhost_alias...
Jeg må nok erkende at jeg er sat af på dette område, har ingen erfaringer i dette, rent faktisk kendte jeg hellere ikke til mod_throttle før du spurgte og jeg fik lyst til at researche... :-)
Jeg vil bare se til fra sidelinien og følge med i hvad du finder ud af, da jeg syntes det er interesant.
Jeg har lige skrevet til Anthony som har skrevet mod_throttle for at høre om han har nogle ideer. Ellers må jeg jo bare blive ved med at lede efter en effiktiv måde.
men mange tak for hjælpen, du skal nok få nogle point for det. Men jeg lader lige spørgsmålet være åbent lidt endnu for at trække flere til.
Ja, jeg fik det svar at han var bekendt med problemet, og rent faktisk også havde fundet løsningen, som han allerde har kodet ind i et af han's andre moduler. Han kunne dog ikke sige hvornår der blev tid til at "modernisere" mod_throttle til apache2 og mod_vhost_alias. - Så jeg står stadig standby.
I mellemtiden har jeg udskiftet mod_vhost_alias med mod_vdbh som bruger en mysql databasen istedet for unix mappe strukturen til at mappe url's til fysiske mapper. Og det kører fint.
Ej, det gør det jo ikke. Jeg mangler stadig at begrænse båndbreddeforbruget pr. adresse (URL) og så mangler jeg en måde at lave Disk Kvota på, sådan at det virker på FTPupload.
Som du kan se på www.haz.dk <-- så kører siden. Og jeg har fået lavet virtuelle hosts med mod_vdbh som bruger mysql. og så har jeg fået quota på proftpd. Men hvad angår lokal diskkvota og trafikbegrænsning, så har jeg ikke fået noget af det til at fungere endnu.
Og dog. Jeg har får mod_throttle til at fungere til apache1, og kun pr. virtual host, ikke pr. "mass virtual host". Jeg har skrevet til authoren af mod_throttle, og han ved hvordan han løser problemet, så jeg går bare og venter på at han porter det til apache2, og så er jeg en glad mand....
Ellers er den næste løsning der kommer op, blot at stille serveren over på en anden linje og tilbyde "fri trafik"
Altså forsøge og compilere det selv, men det er stadig ikke sikkert at det vil virke på Apache2
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.