Panneau de configuration d'easy php 1.8

Contenu du snippet

Voici un petit morceau de code python qui permet de facilement changer le nom de votre serveur ainsi que l'adresse IP qui doit écouter.
En spécifiant l'IP de votre carte Ethernet, votre serveur devient accessible depuis votre réseau.
Cette petite application est très utile lorsque l'on change souvent d'IP.
Il subsiste surement des bugs mais ce n'est qu'une version beta. Une version complète verra le jour d'ici peut.

Source / Exemple :


FICHIER config_apache.pyw

# -*- coding: cp1252 -*-
from Tkinter import *
from socket import *
from FileDialog import *

def config ():
    temp=str(des['text'])
    if temp == "Veuillez sélectionner une destination":
        print "Veuillez sélectionner une destination"
    else:
        ser_namea=str(ser_name.get())
        ipa=str(ip.get())
        destination=str(des['text'])
        write()
        d=open(destination,'a')
        d.write('\nServerName '+ser_namea)
        d.write('\nListen '+ipa+':80')
        return

def write ():
    s=open('init.cxf','r')
    d=open(str(des['text']),'w')
    tempr=s.read()
    d.write(tempr)
    s.close()
    d.close()
    return

def openfile():
    filename=LoadFileDialog(fen)
    fichier=filename.go("C:\Program Files\EasyPHP1-8\conf_files","*.conf")
    des['text'] = fichier
    return

def exitapi():
    fen.quit()
    return

m=gethostbyname(gethostname())

fen=Tk()
fen.title("Configuration Apache")
sn="Apache_Server"
wspace=Label(fen,text="Ne pas mettre d'espace dans le nom du serveur")
ser_name=Entry(fen,bg="dark grey",fg="white",font='Arial 8 bold')
ser_name.insert(END,sn)
ip=Entry(fen,bg="dark grey",fg="white",font='Arial 8 bold')
ip.insert(END,m)
des=Label(fen,text="Veuillez sélectionner une destination",fg="red")
dest=Label(fen,text='Destination :',font='Arial 9 bold')
nom=Label(fen,text='Nom du serveur :',font='Arial 9 bold')
add=Label(fen,text='Adresse du serveur :',font='Arial 9 bold')
vide=Label(fen)
author=Label(fen,text="Onfroy B.")
bout=Button(fen,text='Générer le fichier',command=config)
dest.pack()
des.pack()
nom.pack()
ser_name.pack()
wspace.pack()
vide.pack()
add.pack()
ip.pack()
bout.pack()
association=[('Open',openfile),('Quit',exitapi)]
barre=Menu()
menuF=Menu()
for x,y in association:
    menuF.add_command(label=x, command=y)
barre.add_cascade(label='File', menu=menuF)
fen.config(menu=barre)
author.pack(side=RIGHT)
fen.mainloop()
fen.quit()

FICHIER init.cxf à mettre impérativement dans le même répertoire que le fichier .pyw

ServerType standalone
ServerRoot "${path}/apache"
PidFile logs/httpd.pid
ScoreBoardFile logs/apache_runtime_status
Timeout 300
KeepAlive On
MaxKeepAliveRequests 100
KeepAliveTimeout 15
MaxRequestsPerChild 0
ThreadsPerChild 50
LoadModule anon_auth_module modules/mod_auth_anon.so
LoadModule php4_module "${path}/php/php4apache.dll"
ClearModuleList
AddModule mod_env.c
AddModule mod_log_config.c
AddModule mod_mime.c
AddModule mod_negotiation.c
AddModule mod_include.c
AddModule mod_autoindex.c
AddModule mod_dir.c
AddModule mod_isapi.c
AddModule mod_cgi.c
AddModule mod_asis.c
AddModule mod_imap.c
AddModule mod_actions.c
AddModule mod_userdir.c
AddModule mod_alias.c
AddModule mod_access.c
AddModule mod_auth.c
AddModule mod_auth_anon.c
AddModule mod_so.c
AddModule mod_setenvif.c
AddModule mod_php4.c
Port 80
ServerAdmin admin@localhost
DocumentRoot "${path}/www"

<Directory />
    Options FollowSymLinks Indexes
    AllowOverride All
</Directory>

<Directory "${path}/www">
    Options Indexes FollowSymLinks Includes
    AllowOverride All
    Order allow,deny
    Allow from all
</Directory>

<IfModule mod_userdir.c>
    UserDir "${path}/apache/users/"
</IfModule>

<IfModule mod_dir.c>
    DirectoryIndex index.html index.shtml index.wml index.pwml index.php index.php3 index.php4
</IfModule>

AccessFileName .htaccess

<Files ~ "^\.ht">
    Order allow,deny
    Deny from all
    Satisfy All
</Files>

UseCanonicalName Off

<IfModule mod_mime.c>
    TypesConfig conf/mime.types
</IfModule>

DefaultType text/plain

<IfModule mod_mime_magic.c>
    MIMEMagicFile conf/magic
</IfModule>

HostnameLookups Off
ErrorLog logs/error.log
LogLevel warn
LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined
LogFormat "%h %l %u %t \"%r\" %>s %b" common
LogFormat "%{Referer}i -> %U" referer
LogFormat "%{User-agent}i" agent
CustomLog logs/access.log common
ServerSignature Email

<IfModule mod_alias.c>
    Alias /icons/ "${path}/apache/icons/"
    <Directory "${path}/apache/icons">
        Options Indexes MultiViews
        AllowOverride None
        Order allow,deny
        Allow from all
    </Directory>

Alias /images_easyphp/ "${path}/home/images_easyphp/"

    <Directory "${path}/home/images_easyphp">
        Options Indexes MultiViews
        AllowOverride None
        Order allow,deny
        Allow from all
    </Directory>

Alias /mysql/ "${path}/phpmyadmin/"

    <Directory "${path}/phpmyadmin">
        Options FollowSymLinks Indexes
        AllowOverride None
        Order deny,allow
        allow from 127.0.0.1
        deny from all
    </Directory>

Alias /home/ "${path}/home/"

    <Directory "${path}/home">
        Options FollowSymLinks Indexes
        AllowOverride None
        Order deny,allow
        allow from 127.0.0.1
        deny from all
    </Directory>

    <Directory "${path}/cgi-bin">
        AllowOverride None
        Options None
        Order allow,deny
        Allow from all
    </Directory>

</IfModule>

<IfModule mod_autoindex.c>

AddIconByEncoding (CMP,/icons/compressed.gif) x-compress x-gzip
AddIconByType (TXT,/icons/text.gif) text/*
AddIconByType (IMG,/icons/image2.gif) image/*
AddIconByType (SND,/icons/sound2.gif) audio/*
AddIconByType (VID,/icons/movie.gif) video/*
AddIcon /icons/binary.gif .bin .exe
AddIcon /icons/binhex.gif .hqx
AddIcon /icons/tar.gif .tar
AddIcon /icons/world2.gif .wrl .wrl.gz .vrml .vrm .iv
AddIcon /icons/compressed.gif .Z .z .tgz .gz .zip
AddIcon /icons/a.gif .ps .ai .eps
AddIcon /icons/layout.gif .html .shtml .htm .pdf
AddIcon /icons/text.gif .txt
AddIcon /icons/c.gif .c
AddIcon /icons/p.gif .pl .py
AddIcon /icons/f.gif .for
AddIcon /icons/dvi.gif .dvi
AddIcon /icons/uuencoded.gif .uu
AddIcon /icons/script.gif .conf .sh .shar .csh .ksh .tcl
AddIcon /icons/tex.gif .tex
AddIcon /icons/bomb.gif core
AddIcon /icons/back.gif ..
AddIcon /icons/hand.right.gif README
AddIcon /icons/folder.gif ^^DIRECTORY^^
AddIcon /icons/blank.gif ^^BLANKICON^^

DefaultIcon /icons/unknown.gif

AddDescription "GZIP compressed document" .gz
AddDescription "tar archive" .tar
AddDescription "GZIP compressed tar archive" .tgz
AddDescription "ZIP archive" .zip
AddDescription "CAB archive" .cab
AddDescription "Win32 Executable" .exe

ReadmeName README
HeaderName HEADER

IndexIgnore .??* *~ *# HEADER* README* RCS CVS *,v *,t

</IfModule>

<IfModule mod_mime.c>

AddLanguage da .dk
AddLanguage nl .nl
AddLanguage en .en
AddLanguage et .ee
AddLanguage fr .fr
AddLanguage de .de
AddLanguage el .el
AddLanguage he .he
AddCharset ISO-8859-8 .iso8859-8
AddLanguage it .it
AddLanguage ja .ja
AddCharset ISO-2022-JP .jis
AddLanguage kr .kr
AddCharset ISO-2022-KR .iso-kr
AddLanguage nn .nn
AddLanguage no .no
AddLanguage pl .po
AddCharset ISO-8859-2 .iso-pl
AddLanguage pt .pt
AddLanguage pt-br .pt-br
AddLanguage ltz .lu
AddLanguage ca .ca
AddLanguage es .es
AddLanguage sv .sv
AddLanguage cz .cz
AddLanguage ru .ru
AddLanguage tw .tw
AddLanguage zh-tw .tw
AddCharset Big5         .Big5    .big5
AddCharset WINDOWS-1251 .cp-1251
AddCharset CP866        .cp866
AddCharset ISO-8859-5   .iso-ru
AddCharset KOI8-R       .koi8-r
AddCharset UCS-2        .ucs2
AddCharset UCS-4        .ucs4
AddCharset UTF-8        .utf8

    <IfModule mod_negotiation.c>
        LanguagePriority en da nl et fr de el it ja kr no pl pt pt-br ru ltz ca es sv tw
    </IfModule>

AddType application/x-tar .tgz
AddType image/x-icon .ico
AddType application/vnd.wap.wmlc .wmlc
AddType application/x-httpd-php .phtml .pwml .php3 .php4 .php .php2 .inc
AddType text/vnd.wap.wml .wml
AddType text/vnd.wap.wmlscript .wmls
AddType text/vnd.wap.wmlscriptc .wmlsc
AddType image/vnd.wap.wbmp .wbmp
AddHandler cgi-script .cgi
AddType text/html .shtml
AddHandler server-parsed .shtml

</IfModule>

<IfModule mod_setenvif.c>
    BrowserMatch "RealPlayer 4\.0" force-response-1.0
    BrowserMatch "Java/1\.0" force-response-1.0
    BrowserMatch "JDK/1\.0" force-response-1.0
</IfModule>
Alias "/PHP local" "C:/Program Files/EasyPHP1-8/www/"
<Directory "C:/Program Files/EasyPHP1-8/www">
Options Indexes FollowSymLinks Includes
AllowOverride All
Allow from all
</Directory>

Conclusion :


Il faut tout d'abord sélectionner le fichier de configuration de votre serveur (httpd.conf) ensuite renseigner les différentes informations.
Et enfin générer le fichier

Attention:
- Aucune vérification des valeurs saisies
- Aucune sauvegarde n'est effectuée avant la modification du fichier

Note : pour faire vos tests, pointez vers un fichier d'essai contenu dans un autre dossier que httpd.conf

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.