Avatar billede hazart Nybegynder
26. januar 2003 - 21:32 Der 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!!!

  Mvh. Johan Christiansen
www.haz.dk - www.hazart.dk
Avatar billede htm Nybegynder
26. januar 2003 - 23:16 #1
Er ikke lige klar over hvordan det fungerer eller om det kan præsic det du ønsker men du skal have fat i mod_throttle - http://www.snert.com/Software/mod_throttle/

Alternativt kan du prøve mod_bandwith til at begrænse båndbredden! - http://www.cohprog.com/mod_bandwidth.html
Avatar billede hazart Nybegynder
27. januar 2003 - 18:24 #2
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.
Avatar billede htm Nybegynder
27. januar 2003 - 19:00 #3
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!
Avatar billede hazart Nybegynder
27. januar 2003 - 20:37 #4
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!
Avatar billede htm Nybegynder
27. januar 2003 - 20:42 #5
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!
Avatar billede hazart Nybegynder
27. januar 2003 - 20:47 #6
Faktisk skal det jo også helst fungere for hvert virtual host som er konfigureret med mod_vhost_alias.
Avatar billede htm Nybegynder
27. januar 2003 - 20:52 #7
Det burde det vel også gøre? Jeg har ikke lige nærlæst documentationen af throttlen men min logik siger mig at den kan den godt :-)
Avatar billede hazart Nybegynder
27. januar 2003 - 21:15 #8
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.
Avatar billede htm Nybegynder
27. januar 2003 - 22:05 #9
:-)
Avatar billede hazart Nybegynder
27. januar 2003 - 22:23 #10
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...

Hvis du er hurtig kan du nå at se status outputtet fra mod_throttles faktisk udemærkede system her:
http://cera.dk:81/throttle-status?content-type=text/html&refresh=60&view=status

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(
Avatar billede hazart Nybegynder
27. januar 2003 - 22:34 #11
Hey! Jeg får en ide!!
Kan man ikke bare lave en .htaccess fil hvori kvotaen står?
Avatar billede htm Nybegynder
27. januar 2003 - 22:35 #12
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?
Avatar billede htm Nybegynder
27. januar 2003 - 22:36 #13
Jow det kan du måske kan bare ikke lige se hvad du skulle bruge som parametre der! Måske det enkelte servername eller andre tilstedeværende variabler?
Avatar billede hazart Nybegynder
27. januar 2003 - 22:41 #14
Hvis jeg sætter:
ThrottlePolicy Volume 10M 10M

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...
Avatar billede htm Nybegynder
27. januar 2003 - 22:53 #15
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.
Avatar billede hazart Nybegynder
27. januar 2003 - 23:23 #16
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.

mvh. Johan
Avatar billede htm Nybegynder
03. februar 2003 - 20:33 #17
Fik du svar fra anthony?

Kunne godt tænke mig at vide om du fik noget ud af det?
Avatar billede hazart Nybegynder
04. februar 2003 - 14:12 #18
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.
Avatar billede htm Nybegynder
04. februar 2003 - 21:42 #19
Lyder godt - Så kører det måske helt som det skal nu, eller hvad mangler du?
Avatar billede hazart Nybegynder
04. februar 2003 - 23:52 #20
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.
Avatar billede hazart Nybegynder
04. februar 2003 - 23:55 #21
Til det sidste tror jeg vist nok der er lavet et plugin til ProFTPd der hedder mod_quota jeg lige skal have kigget på.
Avatar billede htm Nybegynder
19. marts 2003 - 23:32 #22
Hvordan er status på dit projekt? Hvad har du fundet ud af?
Avatar billede hazart Nybegynder
19. marts 2003 - 23:36 #23
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"
Avatar billede htm Nybegynder
19. marts 2003 - 23:44 #24
Fedt at det kører nu, med undtagelse af mod_throttle på Apache2

Du kan evt. kigge her der er en der spørger om det samme som dig, og en der kommer med en løsning du kan prøve: http://www.experts-exchange.com/Web/Web_Servers/Apache/Q_20454650.html

Altså forsøge og compilere det selv, men det er stadig ikke sikkert at det vil virke på Apache2
Avatar billede Ny bruger Nybegynder

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.

Loading billede Opret Preview
Kategori
Uanset kodesprog, så giver vi dig mulighederne for at udvikle det, du behøver.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester



IT-JOB

Cognizant Technology Solutions Denmark ApS

Data Architect

SporingsGruppen ApS

Backend-udvikler

Danske Spil A/S

Senior IT-projektleder