Modifier HTTPD.CONF ?? Template ??

Forum dédié à la distribution du même nom et que vous pourrez télécharger sur http://www.contribs.org. La nouvelle version de cette distribution se nomme SME Server

Modérateur: modos Ixus

Modifier HTTPD.CONF ?? Template ??

Messagepar Sebastien65 » 08 Août 2004 13:31

Bonjour,

Suite au post suivant sur la gestion de la bande passante ( viewtopic.php?t=19405 ) j'utilise mod_bandwidth pour Apache...

Donc j'ai installé mod_bandwidth-2.0.3-3.i386.rpm pour faire cette limitation...

Mais je dois configurer le fichier httpd.conf pour faire la limitation de chaque ibay !!

Il me semble que le fichier est une template :oops: /etc/httpd/conf/httpd.conf , donc comment je peux le modifier pour mettre ces valeurs :

Code: Tout sélectionner
<Directory /mon_dossier/>
<IfModule mod_bandwidth.c>
BandWidthModule On
BandWidthPulse 1000000
BandWidth all 1024
</IfModule>
</directory>


J'ai aussi trouvé ça :

Code: Tout sélectionner
<PRE>
<IfDefine HAVE_BANDWIDTH>
AddModule mod_bandwidth.c
</IfDefine>

<IfDefine HAVE_BANDWIDTH>
LoadModule bandwidth_module   modules/mod_bandwidth.so
</IfDefine>

<IfModule mod_bandwidth.c>
    BandWidthModule On
    BandWidthDataDir /var/tmp/apachebw
    BandWidthPulse 1000000
</IfModule>

<Directory "/path/to/html/contents/Diary">
    <IfModule mod_bandwidth.c>
        BandWidth all 10240
        MinBandWidth all -1
        MaxConnection 2
    </IfModule>
</Directory>


SRC = http://www.geocities.jp/i_catnap/Diary/Diary-0305.html

Donc il me semble qaund même que cette portion de code est tout de même mieux ??
PAr contre ce que je ne comprend pas ici C le <PRE> en haut de la page :?: :idea: :!: A koi sert t'il ??

-----

Voila donc je peux rajouter ce code directement dans le fichier httpd.conf ou alors il y a une procédure spéciale ?? Et celle la je ne la connais pas :shock: J'ai regardé mais rien ne me semble bon :?

Merci
Avatar de l’utilisateur
Sebastien65
Vice-Amiral
Vice-Amiral
 
Messages: 799
Inscrit le: 26 Avr 2003 00:00

Messagepar MasterSleepy » 08 Août 2004 14:53

Salut,

Si j'étais toi, je crérai un fichier
20LoadModule80BW
qui contiendrait
Code: Tout sélectionner
LoadModule bandwidth_module   modules/mod_bandwidth.so


30AddModule60BW
qui contiendrait
Code: Tout sélectionner
AddModule mod_bandwidth.c


Ces deux fichiers sont à mettre dans /etc/e-smith/templates-custom/etc/httpd/conf/httpd.conf

Ca c'était pour la déclaration du module dans apache.

Pour appliquer les régles aux différentes ibays il faut templatiser les fichiers

90e-smithAccess10primary

90e-smithAccess40ibays

Pour le premier ça devrait ressembler à truc dans le genre

Code: Tout sélectionner
#------------------------------------------------------------
# primary directories
#------------------------------------------------------------

<Directory /etc/e-smith/web/common>
    AllowOverride None
    order deny,allow
    deny from all
    allow from all
</Directory>

<Directory /home/e-smith/files/ibays/Primary/html>
    Options Indexes Includes

    <IfModule mod_bandwidth.c>
        BandWidth all 10240
        MinBandWidth all -1
        MaxConnection 2
    </IfModule>
   
{
    local %services = ( php => $php);

    my $status = db_get_prop (\%services, 'php', 'status') || 'disabled';

    if ($status eq 'enabled')
    {
        $OUT .= <<EOF;
    Options +Includes
    AddType application/x-httpd-php .php .php3 .phtml
EOF
    }
    else
    {
        $OUT .= <<EOF;
    Options +IncludesNOEXEC
    <FilesMatch "\.(php|php3|phtml)\$">
        order deny,allow
        Deny from all
    </FilesMatch>
EOF
    }
}
    AllowOverride None
    order deny,allow
    deny from all
    allow from all
</Directory>

<Directory /home/e-smith/files/manager/html>
    Options Indexes Includes ExecCGI
    AllowOverride None
    order deny,allow
    deny from all
    allow from all
</Directory>

<Directory /var/www/icons>
    Options Indexes Includes
    AllowOverride None
    order deny,allow
    deny from all
    allow from all
</Directory>

<Directory /home/e-smith/files/ibays/Primary/cgi-bin>
    Options ExecCGI
    AllowOverride None
    order deny,allow
    deny from all
    allow from all
</Directory>

<Directory /home/e-smith/files/manager/cgi-bin>
    Options ExecCGI
    AllowOverride None
    order deny,allow
    deny from all
    allow from all
</Directory>

<Directory /home/e-smith/files/ibays/Primary/files>
    AllowOverride None
    order deny,allow
    deny from all
    allow from all
</Directory>


Et pour

90e-smithAccess40ibays

Code: Tout sélectionner
#------------------------------------------------------------
# Information bay directories
#------------------------------------------------------------

{
    use esmith::AccountsDB;
    my $adb = esmith::AccountsDB->open_ro();
    $OUT = "";
    foreach my $ibay ($adb->ibays)
    {
        my %properties = $ibay->props;
        my $key = $ibay->key;
        #------------------------------------------------------------
        # Figure out which combination of parameters to use. If
        # PublicAccess parameter is present, this is e-smith 4.0.
        # Otherwise, it's e-smith 3.0.
        #------------------------------------------------------------

        my $allow;
        my $pass;
        my $satisfy;

        if ($properties{'PublicAccess'})
        {
            if ($properties{'PublicAccess'} eq 'none')
            {
                next;
            }
            elsif ($properties{'PublicAccess'} eq 'local')
            {
                $allow   = $localAccess;
                $pass    = 0;
                $satisfy = 'all';
            }
            elsif ($properties{'PublicAccess'} eq 'local-pw')
            {
                $allow   = $localAccess;
                $pass    = 1;
                $satisfy = 'all';
            }
            elsif ($properties{'PublicAccess'} eq 'global')
            {
                $allow   = 'all';
                $pass    = 0;
                $satisfy = 'all';
            }
            elsif ($properties{'PublicAccess'} eq 'global-pw')
            {
                $allow   = 'all';
                $pass    = 1;
                $satisfy = 'all';
            }
            elsif ($properties{'PublicAccess'} eq 'global-pw-remote')
            {
                $allow   = $localAccess;
                $pass    = 1;
                $satisfy = 'any';
            }
        }
        elsif ($properties {'ReadAccess'} eq 'global')
        {
            if ($properties {'UsePassword'} eq 'yes')
            {
                $allow   = 'all';
                $pass    = 1;
                $satisfy = 'all';
            }
            else
            {
                $allow   = 'all';
                $pass    = 0;
                $satisfy = 'all';
            }
        }
        else
        {
            if ($properties {'UsePassword'} eq 'yes')
            {
                $allow   = $localAccess;
                $pass    = 1;
                $satisfy = 'all';
            }
            else
            {
                $allow   = $localAccess;
                $pass    = 0;
                $satisfy = 'all';
            }
        }


        my $dynamicContent = $properties{'CgiBin'} || "disabled";
        $OUT .= "\n";
        $OUT .= "#------------------------------------------------------------\n";
        $OUT .= "# $key ibay directories ($properties{'Name'})\n";
        $OUT .= "#------------------------------------------------------------\n";

        $OUT .= "\n";
        $OUT .= "<Directory /home/e-smith/files/ibays/$key/html>\n";
        $OUT .= "<IfModule mod_bandwidth.c>\n";
        $OUT .= "  BandWidth all 10240\n";
        $OUT .= "  MinBandWidth all -1\n";
        $OUT .= "  MaxConnection 2\n";
        $OUT .= "</IfModule>\n";
       
        $OUT .= "    Options Indexes\n";
        if ($dynamicContent eq 'enabled')
        {
            $OUT .= "    Options +Includes\n";
        }
        else
        {
            $OUT .= "    <FilesMatch \"\\.(php|php3|phtml)\$\">\n";
            $OUT .= "        order deny,allow\n";
            $OUT .= "        Deny from all\n";
            $OUT .= "    </FilesMatch>\n";
            $OUT .= "    Options +IncludesNOEXEC\n";
        }
        $OUT .= "    AllowOverride None\n";
        $OUT .= "    order deny,allow\n";
        $OUT .= "    deny from all\n";
        $OUT .= "    allow from $allow\n";
        if ($pass)
        {
            $OUT .= "    AuthName \"$properties{'Name'}\"\n";
            $OUT .= "    AuthType Basic\n";
            $OUT .= "    AuthExternal pwauth\n";
            $OUT .= "    require user $key\n";
            $OUT .= "    Satisfy $satisfy\n";
        }
        $OUT .= "</Directory>\n";

        $OUT .= "\n";
        $OUT .= "<Directory /home/e-smith/files/ibays/$key/cgi-bin>\n";
        if ($dynamicContent eq 'enabled')
        {
            $OUT .= "    Options ExecCGI\n";
        }
        $OUT .= "    AllowOverride None\n";
        $OUT .= "    order deny,allow\n";
        $OUT .= "    deny from all\n";
        $OUT .= "    allow from $allow\n";
        if ($pass)
        {
            $OUT .= "    AuthName \"$properties{'Name'}\"\n";
            $OUT .= "    AuthType Basic\n";
            $OUT .= "    AuthExternal pwauth\n";
            $OUT .= "    require user $key\n";
            $OUT .= "    Satisfy $satisfy\n";
        }
        $OUT .= "</Directory>\n";

        $OUT .= "\n";
        $OUT .= "<Directory /home/e-smith/files/ibays/$key/files>\n";
        $OUT .= "    AllowOverride None\n";
        $OUT .= "    order deny,allow\n";
        $OUT .= "    deny from all\n";
        $OUT .= "    allow from $allow\n";
        if ($pass)
        {
            $OUT .= "    AuthName \"$properties{'Name'}\"\n";
            $OUT .= "    AuthType Basic\n";
            $OUT .= "    AuthExternal pwauth\n";
            $OUT .= "    require user $key\n";
            $OUT .= "    Satisfy $satisfy\n";
        }
        $OUT .= "</Directory>\n";
    }
}


Dans le cas montrer ici toutes les ibays auront les mêmes limitations, si il faut adapter pour chaque il serait mieux d'ajouter une propriété à l'ibay pour définir la limitation.

A+
"Microsoft fera quelque chose qui ne plantera jamais quand ils commenceront à fabriquer des clous "
http://www.vanhees.cc
Avatar de l’utilisateur
MasterSleepy
Amiral
Amiral
 
Messages: 2625
Inscrit le: 24 Juil 2002 00:00
Localisation: Belgique

Messagepar Sebastien65 » 08 Août 2004 17:57

Salut et merci de ta répone ;)

Donc quelques précisions :

Pour appliquer les régles aux différentes ibays il faut templatiser les fichiers

90e-smithAccess10primary

90e-smithAccess40ibays


JE dois créer ces fichiers ?? Ou alors ils existent dans un répertoire sur SME ??

Ensuite pour le mod_bandwidth sur la limitation dans le fichier "90e-smithAccess10primary "

<
IfModule mod_bandwidth.c>
BandWidth all 10240
MinBandWidth all -1
MaxConnection 2
</IfModule>


Alors heu juste par ici : :idea:

BandWidth all 10240

C pas plutôt BandWidth all 1024 :?:

MinBandWidth all -1

Ca correpond a koi ici :?:

MaxConnection 2

Donc je peux avoir que 2 mecs qui se connectent simultanément sur le site :?:

Merci de m'éclairer
Avatar de l’utilisateur
Sebastien65
Vice-Amiral
Vice-Amiral
 
Messages: 799
Inscrit le: 26 Avr 2003 00:00

Messagepar MasterSleepy » 08 Août 2004 20:14

Salut,

Pour les deux fichiers, il faut les copier de /etc/e-smith/templates/etc/httpd/conf/httpd.conf/ vers /etc/e-smith/templates-custom/etc/httpd/conf/httpd.conf/ et puis faire les modifications.

Pour ce qui est des différentes option de ce module je ne pourrais pas t'aider car je ne connais pas trop ce module.

Vas voir sur ce site http://www.cohprog.com/v3/bandwidth/doc-en.html

A+
"Microsoft fera quelque chose qui ne plantera jamais quand ils commenceront à fabriquer des clous "
http://www.vanhees.cc
Avatar de l’utilisateur
MasterSleepy
Amiral
Amiral
 
Messages: 2625
Inscrit le: 24 Juil 2002 00:00
Localisation: Belgique

Messagepar Sebastien65 » 08 Août 2004 22:22

Ok je vois merci ;)

Par contre j'ai vu que il est bon de spécifier un répertoire temporaire pour l'exécution de bandwidth :

<IfModule mod_bandwidth.c>
BandWidthModule On
BandWidthDataDir /var/tmp/apachebw
BandWidthPulse 1000000
</IfModule>


BandWidthDataDir /var/tmp/apachebw

Donc il faut que je mette cette ligne quelque pars :roll:

:arrow: Et un truc du genre marche :

Code:

#------------------------------------------------------------
# primary directories
#------------------------------------------------------------

<Directory /etc/e-smith/web/common>
AllowOverride None
order deny,allow
deny from all
allow from all
</Directory>

<Directory /home/e-smith/files/ibays/Primary/html>
Options Indexes Includes

<IfModule mod_bandwidth.c>
BandWidthDataDir /var/tmp/apachebw
BandWidth all 1024
MinBandWidth all -1
MaxConnection 2
</IfModule>

:arrow: Et la même chose pour toutes les ibays :

$OUT .= "\n";
$OUT .= "<Directory /home/e-smith/files/ibays/$key/html>\n";
$OUT .= "<IfModule mod_bandwidth.c>\n";
$OUT .= " BandWidthDataDir /var/tmp/apachebw \n";
$OUT .= " BandWidth all 10240\n";
$OUT .= " MinBandWidth all -1\n";
$OUT .= " MaxConnection 2\n";
$OUT .= "</IfModule>\n";
Avatar de l’utilisateur
Sebastien65
Vice-Amiral
Vice-Amiral
 
Messages: 799
Inscrit le: 26 Avr 2003 00:00

Messagepar MasterSleepy » 08 Août 2004 22:44

Pour le répertoire,
je crois qu'il faut le préciser qu'une seule fois.

Moi je créerai un fichier 34ConfigBandwidth
Ce fichier contiendrai la directive que tu as donnée.

A+
"Microsoft fera quelque chose qui ne plantera jamais quand ils commenceront à fabriquer des clous "
http://www.vanhees.cc
Avatar de l’utilisateur
MasterSleepy
Amiral
Amiral
 
Messages: 2625
Inscrit le: 24 Juil 2002 00:00
Localisation: Belgique

Messagepar Sebastien65 » 08 Août 2004 23:07

Ok :biz:

Donc par la suite je le place dans /etc/e-smith/templates-custom/etc/httpd/conf/httpd.conf

Et je crois qu'il serait utile de mettre cette ligne : BandWidthModule On


<IfModule mod_bandwidth.c>
BandWidthModule On
BandWidthPulse 1000000
BandWidth all 1024
</IfModule>


Donc il faut aussi créer un fichier ??? Ou alors le rajouter juste dans les balises <IfModule mod_bandwidth.c> & </IfModule>

Par contre petite question :

Comment fait tu pour savoir le nom du fichier a mettre ???

34ConfigBandwidth ou 20LoadModule80BW

:roll: :idea:
Avatar de l’utilisateur
Sebastien65
Vice-Amiral
Vice-Amiral
 
Messages: 799
Inscrit le: 26 Avr 2003 00:00

Messagepar Muzo » 08 Août 2004 23:11

Salut,

Je prends le truc en cours.

Tu peux mettre toute ta balise dans un fichier. Pour tester ca sera déjà pas mal.
Si ca foncitonne on pourra passer à d'autres considération (gestion de la bande passante via le serveur-manager par exemple :wink: )

Le nom du fichier internvient pour son placement dans la version dans le fichier .conf généré.

Il suffit juste de repérer dans le .conf ou tu veux le placer, de retrouver les noms de fichiers qui sont autour du texte que tu veux intégré, et tu le palce entre.

En général, l'index se fait avec le numéro en début de nom.

20 c'est vers le début du fichier, 34 ce sera beaucoup plus bas.
/Muzo
"La vie n'est pas un combat, mais une passion à défendre!" MASS HYSTERIA - Knowledge is power
Avatar de l’utilisateur
Muzo
Amiral
Amiral
 
Messages: 5236
Inscrit le: 07 Mai 2003 00:00
Localisation: BNF! Je me culturise.

Messagepar Sebastien65 » 09 Août 2004 13:17

Salut Muzo, merci de ta réponse ;)

Ok donc d'après toi je dois créer un fichier pour y mettre tout le code suivant alors :

<IfModule mod_bandwidth.c>
BandWidthModule On
BandWidthDataDir /var/tmp/apachebw
BandWidthPulse 1000000
BandWidth all 1024
</IfModule>

Mais là quel type de fichier je dois créer ??? Et par rapport a l'exemple de Master Sleepy je dois tout refaire alors :shock:
Avatar de l’utilisateur
Sebastien65
Vice-Amiral
Vice-Amiral
 
Messages: 799
Inscrit le: 26 Avr 2003 00:00

Messagepar Muzo » 09 Août 2004 14:12

Sebastien65 a écrit:Mais là quel type de fichier je dois créer ??? Et par rapport a l'exemple de Master Sleepy je dois tout refaire alors :shock:


Lequel des 2 fichiers proposé par MasterSleepy tu veux dire, c'est ca?

Je dirais l'un et si ca ne marche pas, testes l'autre. :)
C'est ainsi que je procède.
/Muzo
"La vie n'est pas un combat, mais une passion à défendre!" MASS HYSTERIA - Knowledge is power
Avatar de l’utilisateur
Muzo
Amiral
Amiral
 
Messages: 5236
Inscrit le: 07 Mai 2003 00:00
Localisation: BNF! Je me culturise.

Messagepar MasterSleepy » 09 Août 2004 16:21

Salut,

Alors pour reprendre et être plus précis, c'est vrai que des fois en me relissant, ce que je ne fais que très rarement, je n'arrive pas à me comprendre donc je vais essaye d'être plus clair.

Dans le répertoire /etc/e-smith/templates-custom/etc/httpd/conf/httpd.conf/
il faut créer 5 fichiers
20LoadModule80BW
30AddModule60BW
34ConfigBandwidth
90e-smithAccess10primary
90e-smithAccess40ibays

Les fichiers contiendront :
Pour 20LoadModule80BW
Code: Tout sélectionner
LoadModule bandwidth_module   modules/mod_bandwidth.so


Pour 30AddModule60BW
Code: Tout sélectionner
AddModule mod_bandwidth.c


Pour 34ConfigBandwidth
Code: Tout sélectionner
<IfModule mod_bandwidth.c>
BandWidthModule On
BandWidthDataDir /var/tmp/apachebw
BandWidthPulse 1000000
BandWidth all 1024
</IfModule>


Pour les deux derniers ça n'a pas changer par rapport au premier reply que j'ai fait.

A+
"Microsoft fera quelque chose qui ne plantera jamais quand ils commenceront à fabriquer des clous "
http://www.vanhees.cc
Avatar de l’utilisateur
MasterSleepy
Amiral
Amiral
 
Messages: 2625
Inscrit le: 24 Juil 2002 00:00
Localisation: Belgique

Messagepar Muzo » 09 Août 2004 16:26

:oops: Ok j'ai été bourrin sur ce coup là ... .
J'aurais pu réfléchir un pneu.
/Muzo
"La vie n'est pas un combat, mais une passion à défendre!" MASS HYSTERIA - Knowledge is power
Avatar de l’utilisateur
Muzo
Amiral
Amiral
 
Messages: 5236
Inscrit le: 07 Mai 2003 00:00
Localisation: BNF! Je me culturise.

Messagepar Sebastien65 » 09 Août 2004 17:52

:)

Merci pour la précision Master Sleepy :biz:

La j'ai bien compris il me semble \:D/

Lol Muzo :roll:

Pas grave... J'ai juste trouvé un peux bisare ;)

Sinon pour le Server-Manager C T aussi en mode bourrin que tu parlais ou alors C réalisable pour gérer le bandwidth :?:
Avatar de l’utilisateur
Sebastien65
Vice-Amiral
Vice-Amiral
 
Messages: 799
Inscrit le: 26 Avr 2003 00:00


Retour vers E-Smith / SME Server

Qui est en ligne ?

Utilisateur(s) parcourant actuellement ce forum : Aucun utilisateur inscrit et 1 invité

cron