]> git.pld-linux.org Git - packages/apache1-mod_bandwidth.git/blob - apache1-mod_bandwidth-doc.html
- use apache1(EAPI) for runtime dep
[packages/apache1-mod_bandwidth.git] / apache1-mod_bandwidth-doc.html
1 <HTML>
2 <HEAD>
3 <TITLE>CohProg SaRL - Network Consulting</TITLE>
4 <!--INCLUDE="/v3/template/style.txt"-->
5 <style type="text/css">
6 <!--
7
8 TD.main {
9   background-image:url("/v3/graph/bgmain.jpg");
10 }
11
12 TD.top {
13    background-image:url("/v3/graph/bgtop.gif");
14 }
15
16 TD.normal {
17   background-image:url("/v3/graph/empty.gif");
18 }
19
20 DIV.ctitle {
21    font-family: arial, verdana, helvetica, sans-serif;
22    font-weight: bold;
23    font-size: 16px;
24 }
25
26 DIV.ctext {
27    font-family: verdana, helvetica, sans-serif;
28    font-weight: normal;
29    font-size: 12px;
30 }
31
32 B.ctextbold {
33    font-family: verdana, helvetica, sans-serif;
34    font-weight: bold;
35    font-size: 12px;
36 }
37
38 -->
39 </style>
40 <!--INCLUDE="/v3/javascript/script-en.txt"-->
41 <style type="text/css">
42 a.mlink {
43 text-decoration: none;
44 color: black;}
45
46 .title
47 {position: absolute;
48 width: 100px;
49 height: 25px;
50 left: 0px;
51 z-index: 10;
52 font-family: verdana, helvetica, sans-serif;
53 font-weight: bold;
54 font-size: 12px;}
55
56 .submenu
57 {position: absolute;
58 left: 90px;
59 width: 120px;
60 border: 1px solid black;
61 margin: 0pt;
62 padding: 0pt;
63 color: black;
64 background-color: lightgrey;
65 layer-background-color: lightgrey;
66 font-family: verdana, helvetica, sans-serif;
67 font-size: 10px;
68 visibility: hidden;}
69
70 </style>
71
72 <SCRIPT LANGUAGE="JavaScript">
73 <!-- Original:  Fredrik Fridsten (fredrik.fridsten@home.se) -->
74 <!-- Web Site:  http://hem.passagen.se/dred -->
75
76 <!-- This script and many more are available free online at -->
77 <!-- The JavaScript Source!! http://javascript.internet.com -->
78
79 <!-- Begin
80
81 // ADDITIONAL NOTES
82 // The input variables to the toggle function are the number of the submenu to open/close,
83 // starting with 0, and the number of pixels to move the objects below.
84 // For example toggle(1,60) opens/closes the second submenu and moves the objects below 60 pixels.
85
86 var nom = 9; // Number of menus
87 var submenuheigh = 13;
88 var submenuspacing = 10;
89 var usePictures = 1; // use pictures?  1 = yes, 0 = no
90
91 var ttls = new Array(); // An array for the title objects
92 var subs = new Array(); // An array for the submenu objects
93 var lastn;
94 var lastmove;
95
96 var mimageo = new Array();
97 var mimagec = new Array();
98
99 mimageo[1] = '/v3/menu/home-en.jpg';
100 mimageo[2] = '/v3/menu/hosting-en.jpg';
101 mimageo[3] = '/v3/menu/line-en.jpg';
102 mimageo[4] = '/v3/menu/produces-en.jpg';
103 mimageo[5] = '/v3/menu/consulting-en.jpg';
104 mimageo[6] = '/v3/menu/support-en.jpg';
105 mimageo[7] = '/v3/menu/info-en.jpg';
106 mimageo[8] = '/v3/menu/webmail-en.jpg';
107 mimageo[9] = '/v3/menu/mod-en.jpg';
108
109 mimagec[1] = '/v3/menu/home-en.jpg';
110 mimagec[2] = '/v3/menu/hosting-en.jpg';
111 mimagec[3] = '/v3/menu/line-en.jpg';
112 mimagec[4] = '/v3/menu/produces-en.jpg';
113 mimagec[5] = '/v3/menu/consulting-en.jpg';
114 mimagec[6] = '/v3/menu/support-en.jpg';
115 mimagec[7] = '/v3/menu/info-en.jpg';
116 mimagec[8] = '/v3/menu/webmail-en.jpg';
117 mimagec[9] = '/v3/menu/mod-en.jpg';
118
119 if (document.layers) {
120 visible = 'show';
121 hidden = 'hide';
122 }
123 else
124 if (document.all) {
125 visible = 'visible';
126 hidden = 'hidden';
127 }
128 for (var i = 1; i <= nom; i++) {
129 ttls[i] = ('title' + i);
130 subs[i] = ('submenu' +i);
131 }
132 function picopen(n) {
133 title = ('title' + n);
134 pic = ('pic' + n);
135 if (document.layers) {
136 document.layers[title].document.images[pic].src = mimageo[n];
137 }
138 else if (document.all) {
139 document.all(pic).src = mimageo[n];
140    }
141 }
142 function picclose(n) {
143 title = ('title' + n);
144 pic = ('pic' + n);
145 if (document.layers) {
146 document.layers[title].document.images[pic].src = mimagec[n];
147 }
148 else if (document.all) {
149 document.all(pic).src = mimagec[n];
150    }
151 }
152 lastn = (nom + 1);
153 lastmove = 0;
154 function lasttoggle(n,move) {
155 if (n <= nom) {
156 menu = ('submenu' + n);
157 if (document.layers) {
158 submenu = document.layers[menu];
159 }
160 else if (document.all) {
161 submenu = document.all(menu).style;
162 }
163 if (submenu.visibility == visible) {
164 submenu.visibility = hidden;
165 picclose(n); // Remove this if you don't use pictures
166 for (var i = (n+1); i <= nom; i++) {
167 if (document.layers) {
168 document.layers[ttls[i]].top -= move;
169 document.layers[subs[i]].top -= move;
170 }
171 else if (document.all) {
172 document.all(ttls[i]).style.pixelTop -= move;
173 document.all(subs[i]).style.pixelTop -= move;
174             }
175          }
176       }
177    }
178 }
179 function toggle(n,tmove) {
180 move = (tmove*submenuheigh)+submenuspacing;
181 menu = ('submenu' + n);
182 if (document.layers) {
183 submenu = document.layers[menu];
184 }
185 else if (document.all) {
186 submenu = document.all(menu).style;
187 }
188 if (submenu.visibility == visible) {
189 submenu.visibility = hidden;
190 if (usePictures) picclose(n);
191 for (var i = (n+1); i <= nom; i++) {
192 if (document.layers) {
193 document.layers[ttls[i]].top -= move;
194 document.layers[subs[i]].top -= move;
195 }
196 else if (document.all) {
197 document.all(ttls[i]).style.pixelTop -= move;
198 document.all(subs[i]).style.pixelTop -= move;
199       }
200    }
201 }
202 else {
203 submenu.visibility = visible;
204 if (usePictures) picopen(n);
205 if (lastn != n) {
206 lasttoggle(lastn,lastmove);
207 }
208 for (var i = (n+1); i <= nom; i++) {
209 if (document.layers) {
210 document.layers[ttls[i]].top += move;
211 document.layers[subs[i]].top += move;
212 }
213 if (document.all) {
214 document.all(ttls[i]).style.pixelTop += move;
215 document.all(subs[i]).style.pixelTop += move;
216       }
217    }
218 }
219 lastn = n;
220 lastmove = move;
221 }
222 //  End -->
223 </script>
224
225
226 <SCRIPT LANGUAGE="JavaScript">
227 function open() {return true;}
228 </SCRIPT>
229 </HEAD>
230 <!--INCLUDE="/v3/template/header.txt"-->
231 <BODY BGCOLOR="#FFFFFF" TEXT="#000000" LINK="0000FF" VLINK="blueviolet" BACKGROUND="/v3/graph/bg.gif" TOPMARGIN="0" LEFTMARGIN="0" MARGINWIDTH="0" MARGINHEIGHT="0">
232 <!--INCLUDE="/v3/template/top-en.txt"-->
233 <TABLE BORDER=0 CELLPADDING=0 CELLSPACING=0 WIDTH="100%" HEIGHT="100%">
234 <TR>
235   <TD VALIGN=TOP bgcolor=black width=83 height=90><img src="/v3/graph/topleft.jpg" width=83 height=90></TD>
236   <TD VALIGN=TOP bgcolor=black width=134 height=90><img src="/v3/graph/topcohprog1.jpg" width=134 height=90></TD>
237   <TD VALIGN=TOP bgcolor=black width=277 height=90 class=top><img src="/v3/graph/topcohprog2.jpg" width=277 height=90></TD>
238   <TD VALIGN=TOP width="100%" class=top><IMG SRC="/v3/graph/empty.gif" width=1 height=90></TD>
239 </TR>
240 <TR>
241   <TD valign=top width=83 height="100%"><img src="/v3/graph/left1.jpg" width=83 height=171></TD>
242   <TD bgcolor=white valign=top width=134 height="100%"><img src="/v3/graph/left2.jpg" width=134 height=171></TD>
243   <TD HEIGHT="100%" width="100%" colspan=2 valign=top class=main>
244 <!-- Being page content -->
245 <br>
246 <br>
247 <br>
248 <br>
249 <table border=0 cellspacing=0 cellpadding=0 width="550">
250 <tr>
251   <td class=normal colspan=3><img src="/v3/graph/blue1.gif" width=100 height=2></td>
252 </tr><tr>
253   <td valign=top class=normal rowspan=2><img src="/v3/graph/blue1.gif" width=2 height=50></td>
254   <td valign=top width="100%" bgcolor="lightgrey" class=normal>
255   <table border=0 width="100%" cellpadding=20 cellspacing=0>
256   <tr><td width="550">
257   <div class=ctitle>Mod_bandwidth documentation</div><P>
258   <div class=ctext>
259  
260 <b class=ctextbold>Installation :</b><P>
261 WARNING: It is very important to give the lowest priority to mod_bandwidth
262 so other modules will have the time to do their job before the documents
263 are transmited ! For that reason, it is important to follow those steps :<P>
264 <OL> 
265 <LI> <b class=ctextbold>APACI installation</b><br>
266 <UL>
267      <LI>Copy the file mod_bandwidth.c to your Apache source directory.<br>
268      <LI>Run the ./configure script with the following directives : --add-module=mod_bandwidth.c \<br>--permute-module=BEGIN:bandwidth<br>
269      <LI>Compile and install Apache.<P>
270 </UL>
271      <b class=ctextbold>APXS installation</b><br>
272 <UL>
273      <LI>Compile the module with :<br>
274          /path_to_apache/bin/apxs -c /path/mod_bandwidth.c -o /path_to_apache/libexec/mod_bandwidth.so<br>
275      <LI>Add the following lines to your httpd.conf file :<br>
276          LoadModule bandwidth_module libexec/mod_bandwidth.so<br>
277          AddModule mod_bandwidth.c<P>
278          Those directives should be placed at the begining of the list
279          so that the module will be given the lowest priority and be
280          executed after others modules.<P>
281 </UL>
282
283      <b class=ctextbold>Manual installation</b><br>
284 <UL>
285      <LI>Copy the file mod_bandwidth.c to the "src/modules/extra" directory of your Apache sources.<br>
286      <LI>Copy the "src/Configuration.tmpl" file to "src/Configuration"<br>
287      <LI>Edit the "src/Configuration" file and add near the begining :<br>
288        AddModule modules/extra/mod_bandwidth.o<br>
289        (This is the reverse of old Apache versions)<br>
290      <LI>Run the "./Configure" script<br>
291      <LI>Compile and install Apache
292 </UL>
293 <P> 
294 <LI>Create the needed directories and make sure that they are "read/write/execute" for the user under which Apache run. By default, mod_bandwidth use the following directories but they can be changed using the BandWidthDataDir configuration directive:<P>
295     /tmp/apachebw<BR>
296     /tmp/apachebw/link<br>
297     /tmp/apachebw/master<P>
298  
299  Note that if any of those directories doesn't exist, or if they can't
300  be accessed by the server, the module is totaly disabled except for
301  logging an error message in the logfile.
302 <P> 
303  Be careful that on some systems the content of the /tmp directory
304  is deleted at boot time or every so often by a cronjob. If that the
305  case, either disable this feature or change the location of the
306  directories used by the module using the BandWidthDataDir configuration directive.
307 </OL>
308 <P> 
309  <b class=ctextbold>Global configuration directives :</b><P>
310
311  <UL> 
312  <LI><b class=ctextbold>BandWidthDataDir</b><br>
313     Syntax  : BandWidthDataDir &lt;directory&gt;<br>
314     Default : "/tmp/apachebw"<br>
315     Context : server config
316 <P> 
317     Sets the name of the root directory used by mod_bandwidth to store
318     its internal temporary information. Don't forget to create the needed
319     directories : &lt;directory&gt;/master and &lt;directory&gt;/link<P>
320 <LI><b class=ctextbold>BandWidthModule</b><br>
321     Syntax  : BandWidthModule &lt;On|Off&gt;<br>
322     Default : Off<br>
323     Context : per server config<P>
324  
325     Enable or disable totaly the whole module. By default, the module is
326     disable so it is safe to compile it in the server anyway.
327 <P> 
328     PLEASE, NOTE THAT IF YOU SET A BANDWIDTH LIMIT INSIDE A VIRTUALHOST
329     BLOCK, YOU ALSO __NEED__ TO PUT THE "BandWidthModule On" DIRECTIVE
330     INSIDE THAT VIRTUALHOST BLOCK !
331 <P> 
332     IF YOU SET BANDWIDTH LIMITS INSIDE DIRECTORY BLOCKS (OUTSIDE OF
333     ANY VIRTUALHOST BLOCK), YOU ONLY NEED TO PUT THE "BandWidthModule On"
334     DIRECTIVE ONCE, OUTSIDE OF ANY VIRTUALHOST OR DIRECTORY BLOCK.
335 <P> 
336 <LI><b class=ctextbold>BandWidthPulse</b><br>
337     Syntax  : BandWidthPulse &lt;microseconds&gt;<br>
338     Default :<BR>
339     Context : per server config<P>
340  
341     Change the algorithm used to calculate bandwidth and transmit data.
342     In normal mode (old mode), the module try to transmit data in packets
343     of 1KB. That mean that if the bandwidth available is of 512B, the
344     module will transmit 1KB, wait 2 seconds, transmit another 1KB and
345     so one.
346 <P> 
347     Seting a value with "BandWidthPulse", will change the algorithm so
348     that the server will always wait the same amount of time between
349     sending packets but the size of the packets will change.
350     The value is in microseconds.
351     For example, if you set "BandWidthPulse 1000000" (1 sec) and the
352     bandwidth available is of 512B, the sever will transmit 512B,
353     wait 1 second, transmit 512B and so on.
354 <P> 
355     The advantage is a smother flow of data. The disadvantage is
356     a bigger overhead of data transmited for packet header.
357     Setting too small a value (bellow 1/5 of a sec) is not realy
358     useful and will put more load on the system and generate more
359     traffic for packet header.
360 <P> 
361     Note also that the operating system may do some buffering on
362     it's own and so defeat the purpose of setting small values.
363 <P> 
364     This may be very useful on especialy crowded network connection :
365     In normal mode, several seconds may happen between the sending of
366     a full packet. This may lead to timeout or people may believe that
367     the connection is hanging. Seting a value of 1000000 (1 sec) would
368     guarantee that some data are sent every seconds...
369 <P>
370 </UL> 
371 <b class=ctextbold>Directory / VirtualServer configuration directives</b><P>
372 <UL> 
373 <LI><b class=ctextbold>BandWidth</b><br>
374     Syntax  : BandWidth &lt;domain|ip|all&gt; &lt;rate&gt;<br>
375     Default : none<BR>
376     Context : per directory, .htaccess<P>
377  
378     Limit the bandwidth for files in this directory and
379     sub-directories based on the remote host &lt;domain&gt; or
380     &lt;ip&gt; address or for &lt;all&gt; remote hosts.
381     <P> 
382     Ip addresses may now be specified in the network/mask format.
383     (Ie: 192.168.0.0/21 )
384     <P> 
385     The &lt;rate&gt; is in Bytes/second.
386     A &lt;rate&gt; of "0" means no bandwidth limit.
387     <P>
388     Several BandWidth limits can be set for the same
389     directory to set different limits for different
390     hosts. In this case, the order of the "BandWidth"
391     keywords is important as the module will take the
392     first entry which matches the client address.
393 <P> 
394     Example :<br>
395        &lt;Directory /home/www&gt;<BR>
396        BandWidth ecp.fr 0<BR>
397        BandWidth 138.195 0<BR>
398        BandWidth all 1024<BR>
399        &lt;/Directory&gt;<P>
400 <P> 
401       This will limit the bandwith for directory /home/www and 
402       all it's subdirectories to 1024Bytes/sec, except for 
403       .ecp.fr or 138.195..where no limit is set.
404 <P> 
405 <LI><b class=ctextbold>LargeFileLimit</b><br>
406     Syntax  : LargeFileLimit &lt;filesize&gt; &lt;rate&gt;<br>
407     Default : none<br>
408     Context : per directory, .htaccess<P>
409  
410     Set a maximal &lt;rate&gt; (in bytes/sec) to use when transfering
411     a file of &lt;filesize&gt; KBytes or more.
412 <P> 
413     Several "LargeFileLimit" can be set for various files sizes
414     to create range. The rate used for a given file size will be
415     the one of the matching range.
416  <P>
417     A &lt;rate&gt; of "0" mean that there isn't any limit based on
418     the size.
419 <P> 
420     A &lt;rate&gt; of "-1" mean that there isn't any limit for that type
421     of file. It's override even a BandWidth limit. I found this usefull
422     to give priority to very small files (html pages, very small pictures)
423     while seting limits for larger files... (users with their video files
424     can go to hell ! :)
425 <P> 
426     Example :<BR>
427     If the following limits are set :<BR>
428        LargeFileLimit 200 3072<BR>
429        LargeFileLimit 1024 2048<P>
430  
431        That's mean that a file of less than 200KBytes won't be
432        limited based on his size. A file with a size between
433        200KBytes (included) and 1023Kbytes (included) will be
434        limited to 3072Bytes/sec and a file of 1024Kbytes or more
435        will be limited to 2048Bytes/sec.
436 <P> 
437 <LI><b class=ctextbold>MaxConnection</b><br>
438     Syntax  : MaxConnection &lt;connections&gt;<BR>
439     Default : 0 (illimited)<BR>
440     Context : per directory, .htaccess<P>
441  
442     Restrict the number of maximum simultanous connections. If the
443     limit is reached, new connections will be rejected.
444
445     A value of 0 mean that there isn't any limits.
446 <P>
447 <LI><b class=ctextbold>MinBandWidth</b><br>
448     Syntax  : MinBandWidth &lt;domain|ip|all&gt; &lt;rate&gt;<BR>
449     Default : all 256<BR>
450     Context : per directory, .htaccess<P>
451  
452     Set a minimal bandwidth to use for transfering data. This
453     over-ride both BandWidth and LargeFileLimit rules as well
454     as the calculated rate based on the number of connections.
455 <P> 
456     The first argument is used in the same way as the first
457     argument of BandWidth.
458 <P> 
459     &lt;rate&gt; is in bytes per second.
460 <P> 
461     A rate of "0" explicitly means to use the default minimal
462     value (256 Bytes/sec).
463 <P> 
464     A rate of "-1" means that the minimal rate is equal to the
465     actual rate defined by BandWidth and LargeFileLimit.
466     In fact, that means that the final rate won't depend
467     of the number of connections but only on what was defined.
468 <P> 
469     Example :<br>
470     If BandWidth is set to "3072" (3KBytes/sec) and MinBandWidth
471     is set to "1024" (1KBytes/sec) that means :<BR>
472        - if there is one connection, the file will be transfered
473          at 3072 Bytes/sec.<BR>
474        - if there is two connections, each files will be transfered
475          at 1536 Bytes/sec.<BR>
476        - if there is three or more connections, each files will be
477          transfered at 1024 Bytes/sec. (Minimal of 1024 Bytes/sec).
478 <P> 
479     If MinBandWidth is set to "-1" that means :<BR>
480        - if there is one connection, the file will be transfered
481          at 3072 Bytes/sec.<BR>
482        - if there is two or more connections, each files will be
483          transfered at 3072 Bytes/sec. In effect, the rate doesn't
484          depend anymore on the number of connections but only on
485          the configuration values.
486 <P> 
487     Note that the total transfer rate will never exceed your physical
488     bandwidth limitation.
489 <P> 
490  Note : If both a "BandWidth" and a "LargeFileLimit" limit apply,
491         the lowest one will be used. (But never lower than the
492         "MinBandWidth" rate)
493 <P> 
494         If both a virtual server limit is defined and another
495         apply for a directory under this virtual server, the
496         directory limit will over-ride it.
497  <P>
498         If a limit is defined outside a Directory or VirtualHost
499         directive, it will act as default on a per virtual server
500         basis. (Ie: each virtual server will have that limit,
501         _independantly_ of the other servers)
502 </UL>
503 <P>
504 <B class=ctextbold>Runing Apache with mod_bandwidth :</B><P>
505 For correct results, it is important that there isn't any "dead" links in
506 the "link" directory of mod_bandwidth when you start the server.<P>
507 It may be a good idee to run the "cleanlink.pl" script we provide to
508 automaticaly remove dead links<br>
509   </div>
510   </td></tr>
511   </table>
512   </td>
513   <td valign=bottom width=2 class=normal rowspan=2><img src="/v3/graph/blue1.gif" width=2 height=50></td>
514 </tr><tr>
515   <td colspan=2 class=normal align=right><img src="/v3/graph/blue1.gif" width=100 height=2></td>
516 </tr>
517 </table>
518 <!-- End page content -->
519 <!--INCLUDE="/v3/template/footer-en.txt"-->
520 </center>
521 </TD>
522 </TR>
523 <TR>
524 <TD COLSPAN=2>
525 <div class="title" id="title1" style="top: 260px"> 
526 <a class="mlink" href="http://www.cohprog.com/"><img name="pic1" src="/v3/menu/home-en.jpg" border="0"></a>
527 </div>
528
529 <div class="title" id="title2" style="top: 285px"> 
530 <a class="mlink" href="#" onclick="javascript: toggle(2,7); return false"><img name="pic2" src="/v3/menu/hosting-en.jpg" border="0"></a>
531 </div>
532
533 <div class="submenu" id="submenu2" style="top: 305px">
534  <a class="mlink" href="http://www.cohprog.com/v3/webhosting/intro-en.html" ><img src="/v3/graph/arrow.jpg" border=0>Introduction</a><br>
535  <a class="mlink" href="http://www.cohprog.com/v3/webhosting/mailprices-en.html" ><img src="/v3/graph/arrow.jpg" border=0>E-mail / DNS</a><br>
536  <a class="mlink" href="http://www.cohprog.com/v3/webhosting/webprices-en.html" ><img src="/v3/graph/arrow.jpg" border=0>Hosting prices</a><br>
537  <a class="mlink" href="http://www.cohprog.com/v3/webhosting/coprices-en.html" ><img src="/v3/graph/arrow.jpg" border=0>Co-location and<br><img src="/v3/graph/empty.gif" width="9" border=0>Dedicated hosting</a><br>
538  <a class="mlink" href="http://www.cohprog.com/v3/webhosting/domain-en.html" ><img src="/v3/graph/arrow.jpg" border=0>Domain registration</a><br>
539  <a class="mlink" href="http://www.cohprog.com/v3/webhosting/whois-en.html" ><img src="/v3/graph/arrow.jpg" border=0>Domain availability</a>
540 </div>
541
542 <div class="title" id="title3" style="top: 310px"> 
543 <a class="mlink" href="#" onclick="javascript: toggle(3,3); return false"><img name="pic3" src="/v3/menu/line-en.jpg" border="0"></a>
544 </div>
545
546 <div class="submenu" id="submenu3" style="top: 330px">
547  <a class="mlink" href="http://www.cohprog.com/v3/dsl/intro-en.html" ><img src="/v3/graph/arrow.jpg" border=0>Intoduction</a><br>
548  <a class="mlink" href="http://www.cohprog.com/v3/dsl/location-en.html" ><img src="/v3/graph/arrow.jpg" border=0>POP Locations</a><br>
549  <a class="mlink" href="http://www.cohprog.com/v3/dsl/prices-en.html" ><img src="/v3/graph/arrow.jpg" border=0>Prices</a>
550 </div>
551
552 <div class="title" id="title4" style="top: 335px">
553 <a class="mlink" href="#" ><img name="pic4" src="/v3/menu/produces-en.jpg" border="0"></a>
554 </div>
555
556 <div class="submenu" id="submenu4" style="top: 355px">
557  <a class="mlink" href="" ><img src="/v3/graph/arrow.jpg" border=0>Database</a><br>
558  <a class="mlink" href="" ><img src="/v3/graph/arrow.jpg" border=0>Shopping cart</a><br>
559  <a class="mlink" href="" ><img src="/v3/graph/arrow.jpg" border=0>On-line auction</a><br>
560 </div>
561
562 <div class="title" id="title5" style="top: 360px">
563 <a class="mlink" href="#" ><img name="pic5" src="/v3/menu/consulting-en.jpg" border="0"></a>
564 </div>
565
566 <div class="submenu" id="submenu5" style="top: 380px">
567  <a class="mlink" href="" ><img src="/v3/graph/arrow.jpg" border=0>Network</a><br>
568  <a class="mlink" href="" ><img src="/v3/graph/arrow.jpg" border=0>Administration</a><br>
569  <a class="mlink" href="" ><img src="/v3/graph/arrow.jpg" border=0>Development</a><br>
570 </div>
571
572 <div class="title" id="title6" style="top: 385px">
573 <a class="mlink" href="#" onclick="javascript: toggle(6,4); return false"><img name="pic6" src="/v3/menu/support-en.jpg" border="0"></a>
574 </div>
575
576 <div class="submenu" id="submenu6" style="top: 405px">
577  <a class="mlink" href="http://www.cohprog.com/v3/support/linefaq-en.html" ><img src="/v3/graph/arrow.jpg" border=0>E-mail/Line FAQ</a><br>
578  <a class="mlink" href="http://www.cohprog.com/v3/support/webfaq-en.html" ><img src="/v3/graph/arrow.jpg" border=0>Webhosting FAQ</a><br>
579  <a class="mlink" href="http://www.cohprog.com/v3/support/stat-en.html" ><img src="/v3/graph/arrow.jpg" border=0>Web statistics</a><br>
580  <a class="mlink" href="mailto:support@cohprog.com" ><img src="/v3/graph/arrow.jpg" border=0>Email support</a><br>
581 </div>
582
583 <div class="title" id="title7" style="top: 410px">
584 <a class="mlink" href="#" onclick="javascript: toggle(7,3); return false"><img name="pic7" src="/v3/menu/info-en.jpg" border="0"></a>
585 </div>
586
587 <div class="submenu" id="submenu7" style="top: 430px">
588  <a class="mlink" href="http://www.cohprog.com/v3/info/about-en.html" ><img src="/v3/graph/arrow.jpg" border=0>About us</a><br>
589  <a class="mlink" href="http://www.cohprog.com/v3/info/customers-en.html" ><img src="/v3/graph/arrow.jpg" border=0>Our customers</a><br>
590  <a class="mlink" href="http://www.cohprog.com/v3/info/contact-en.html" ><img src="/v3/graph/arrow.jpg" border=0>Contact us</a><br>
591 </div>
592
593 <div class="title" id="title8" style="top: 435px"> 
594 <a class="mlink" href="#" onclick="javascript: toggle(8,3); return false"><img name="pic8" src="/v3/menu/webmail-en.jpg" border="0"></a>
595 </div>
596
597 <div class="submenu" id="submenu8" style="top: 455px">
598  <a class="mlink" href="http://webmail.cohprog.com" ><img src="/v3/graph/arrow.jpg" border=0>Login</a><br>
599  <a class="mlink" href="https://webmail.cohprog.com" ><img src="/v3/graph/arrow.jpg" border=0>Secure login</a><br>
600  <a class="mlink" href="http://www.cohprog.com/v3/webmail/help-en.html" ><img src="/v3/graph/arrow.jpg" border=0>Help</a><br>
601 </div>
602
603 <div class="title" id="title9" style="top: 485px">
604 <a class="mlink" href="#" onclick="javascript: toggle(9,4); return false"><img name="pic9" src="/v3/menu/mod-en.jpg" border="0"></a>
605 </div>
606
607 <div class="submenu" id="submenu9" style="top: 505px">
608  <a class="mlink" href="http://www.cohprog.com/v3/bandwidth/intro-en.html" ><img src="/v3/graph/arrow.jpg" border=0>Introduction</a><br>
609  <a class="mlink" href="http://www.cohprog.com/v3/bandwidth/doc-en.html" ><img src="/v3/graph/arrow.jpg" border=0>Documentation</a><br>
610  <a class="mlink" href="http://www.cohprog.com/v3/bandwidth/download-en.html" ><img src="/v3/graph/arrow.jpg" border=0>Download</a><br>
611  <a class="mlink" href="http://www.cohprog.com/v3/bandwidth/faq-en.html" ><img src="/v3/graph/arrow.jpg" border=0>FAQ</a><br>
612 </div>
613
614 <!--INCLUDE="/v3/javascript/menu-en.txt"-->
615 </TR>
616 </TR>
617 <tr>
618 <td colspan=2><br></td>
619 <td colspan=2>
620 <table>
621 <tr><td align=center class=normal>
622 <a href="/v3/webhosting/intro-en.html">Web hosting</a> |
623 <a href="/v3/dsl/intro-en.html">Leased lines</a> |
624 Produces |
625 Consulting |
626 <a href="/v3/support/">Support</a> |
627 <a href="/v3/info/about-en.html">About us</a> |
628 <a href="/v3/info/contact-en.html">Contact us</a>
629 </td></tr>
630 <tr><td align=center class=normal>
631 <a href="/v3/info/customers-en.html">Our customers</a> |
632 <a href="/v3/webmail/help-en.html">Webmail</a> |
633 <a href="/v3/bandwidth/intro-en.html">Apache mod_bandwidth</a>
634 </td></tr>
635 </table>
636 <br>
637 <br>
638 </td>
639 </tr>
640 <TR>
641 <TD><br></TD><TD colspan=2>
642 <font size="2">Copyright &copy;2000 CohProg S&agrave;rl. All rights reserved.</font></td></tr>
643 </TABLE>
644 </BODY>
645 </HTML>
This page took 0.125179 seconds and 3 git commands to generate.