Académique Documents
Professionnel Documents
Culture Documents
Partager facilement des fichiers, des photos, grer des agendas personnels et de ressources, grer des tches, partager des contacts, dialoguer sur un forum priv ou une messagerie instantane, etc
Sources : http://ptitnico.net/index.php/linux http://www.delafond.org/traducmanfr/man/man5/sshd_config.5.html http://doc.ubuntu-fr.org/lamp http://www.agora-project.net/ http://blog.cybermonde.org/post/2008/03/18/securiser-Apache2-avec-SSL http://www.coagul.org/article.php3?id_article=351 http://www.system-linux.eu/index.php?post/2008/12/22/Securiser-apache
Pour continuer linstallation veuillez slectionner Install et appuyer sur [ENTREE] Slectionner votre langue dans notre cas Franais
$ deb http://security.debian.org/ lenny/updates main contrib non-free $ deb http://volatile.debian.org/debian-volatile lenny/volatile main contrib non-free $ deb http://ftp.fr.debian.org/debian /lenny main contrib non-free
Control + X pour quitter nano
Il demande si lon sauve, dire Oui en pressant la touche O Il demande comment le fichier doit sappeler, faire Entre pour ne toucher rien.
$ apt-get upgrade
La mise jour prend du temps, ne vous inquitez pas si a dure. vitez de mettre les mises jour automatique, prfrez les faire manuellement et rgulirement.
On redmarre le dmon : $ /etc/init.d/fail2ban restart Affichage des IP bannis par Fail2Ban $ nano /var/log/fail2ban.log
$ nano /etc/ssh/sshd_config
Taper ou Modifier les informations suivantes.
# Port SSH: Port [Port de votre choix] # Authentication: LoginGraceTime 120 PermitRootLogin no //Ne permet pas la connexion avec le root StrictModes yes AllowUsers [Utilisateur Autoriss]
7 Configuration de PHP 5
diter le fichier /etc/apache2/mods-enabled/php5.conf
$ nano /etc/apache2/mods-enabled/php5.conf Ajouter la ligne suivante : AddType application/x-httpd-php .php5
Ajouter la ligne suivante : DirectoryIndex index.php5 Pour prendre en compte les modifications un petit redmarrage du service Apache $ /etc/init.d/apache2 restart Pendant linstallation, le serveur Apache2 sera redmarr et vous allez srement rencontrer une erreur de ce genre : apache2: Could not reliably determine the servers fully qualified domain name, using 127.0.1.1 for ServerName Ceci nest absolument pas gnant et vous pouvez rgler le problme en ajoutant la directive ServerName dans le fichier de configuration principal : /etc/apache2/apache2.conf $ nano /etc/apache2/apache2.conf Ajouter la ligne suivante : $ ServerName ServeurFTP Vrification du bon fonctionnement de PHP 5 Cration dun fichier php dans /var/www/phpinfo.php $ nano /var/www/phpinfo.php Ajouter les lignes suivantes :
Si tout se passe correctement vous devriez voir apparatre une page avec toutes les infos concernant PHP
Installation de PHPMyAdmin
$ apt-get install phpmyadmin
Slectionner Apache2 et appuyer sur [ESPACE] Vous arriverez alors sur la page dauthentification de PhpMyAdmin. Entrez alors votre login ( root ) et le mot de passe choisi lors de la scurisation de MySQL. Si tout sest bien pass, vous devriez tre connect PhpMyAdmin et pouvoir crer et grer vos bases de donnes.
Configuration de PHPMyAdmin
Nous allons crer un utilisateur qui aura tous les droits, nous pourrons par la suite supprimer le compte root. Pour se faire cliquer sur privilges > Ajouter un Utilisateur Nom dUtilisateur : nom dutilisateur Serveur : localhost Mot de Passe : mot de passe Privilges Globaux : Tout cocher Aprs on supprime lutilisateur ROOT comme dcrit ci-dessous
Cocher les case devant ROOT puis supprimer les bases de donnes et cliquer sur Excuter Une fois lutilisateur ROOT supprim PHPMyAdmin vous demandera de vous identifier, utiliser maintenant le nouvel utilisateur.
Alias /phpmyadmin/ /usr/share/phpmyadmin/ <Directory /usr/share/phpmyadmin/ > Options None AllowOverride None Order allow,deny Allow from all </Directory>
Tlchargement de la sources
$ wget http://www.agora-project.net/agora-project.zip Pour dcompresser la source installer le paquet unzip $ apt-get install unzip
Dcompression de larchive
$ unzip agora-project.zip
Mettre le nom de la base agora et cliquer sur CREER Votre base de donnes qui va contenir les infos dAgora est maintenant oprationnelle. Donner les droits au dossier /agora/
$ chmod -R 777 agora/
Dans votre navigateur saisisser ladresse suivante pour dbuter linstallation http://[VOTRESERVEUR]/agora/install/
Hostname : localhost Nom dutilisateur : Votre nom dutilisateur Mot de passe : Votre mot de passe Nom : Votre Nom Prnom : Administrateur Identifiant : Votre Identifiant Mot de Passe : Votre mot de passe
Linstallation dAgora est maintenant terminer. Nous allons remettre les droits sur les fichiers. $ chmod -R 755 agora/
10 Personnalisation dAgora
Suppression du messenger
Pour supprimer le messenger diter le fichier header_menu_inc.php $ nano /var/www/ftp/includes/header_menu.inc.php Supprimer les lignes suivantes : <script type= text/javascript > //// //// function maj_livecounters() { New_Http_Request( GET , <?php echo path_commun; ?>livecounter.php?type=principal ); element( livecounter_principal ).innerHTML = Http_Request_Result; AFFICHAGE DES LIVECOUNTERS
if(existe( livecounter_messenger )) { New_Http_Request( GET , <?php echo path_commun; ?>livecounter.php?type=messenger ); element( livecounter_messenger ).innerHTML = Http_Request_Result; } } //// //// function livecounter_messenger_verif() { New_Http_Request( GET , <?php echo path_commun; ?>livecounter_messenger_verif.php ); eval(Http_Request_Result); // execute les fonctions javascript window.setTimeout( livecounter_messenger_verif(); , <?php echo duree_livecounter_recharge*1000; ?>); } //// //// function start_livecounters_messenger() { if(existe( livecounter_principal )) } window.setTimeout( start_livecounters_messenger(); , 3000); //// //// function affichage_messenger() { element( icone_messenger ).src = <?php echo path_templates; ?>divers/messenger.png ; afficher( calque_messenger , bascule ); AFFICHAGE / MASQUAGE DU MESSENGER { maj_livecounters(); livecounter_messenger_verif(); } AFFICHAGE DES LIVECOUNTERS & DU MESSENGER EN FIN DE CHARGEMENT DE PAGE VERIFICATION REGULIERE DU LIVECOUNTER ET DU MESSENGER
if(element( calque_messenger ).style.display!= none ) } //// //// function maj_messenger_messages() { AFFICHAGE DES MESSAGES DU MESSENGER
maj_messenger_messages();
New_Http_Request( GET , <?php echo path_commun; ?>messenger_messages.php ); element( messenger_liste_messages ).innerHTML = Http_Request_Result; element( messenger_liste_messages ).scrollTop = element( messenger_liste_messages ).scrollHeight; } //// NOUVEAU MESSAGE SUR LE MESSENGER : MAJ des messages / Clignotement de licone / Son dalerte //// function messenger_nouveau_message() { if(element( calque_messenger ).style.display!= none ) else { element( icone_messenger ).style.visibility = visible ; element( icone_messenger ).src = <?php echo path_templates; ?>divers/messenger.gif ; //Sound.play( <?php echo path_commun; ?>messenger_alerte.mp3); } } //// COULEUR DU MESSAGE DU MESSENGER : AFFICHAGE / MASQUAGE DU MENU ET CHANGEMENT DE LA COULEUR //// function couleur_messenger(couleur) { set_couleur( texte_messenger ,couleur); { maj_messenger_messages(); }
set_value( couleur_messenger ,couleur); } //// //// function post_message_messenger() { // Vrif du message if(get_value( texte_messenger )== " || get_value( texte_messenger )== <?php echo $trad["header"]["ajouter_message"]; ?> ) { alert( <?php echo $trad["header"]["specifier_message"]; ?> ); return false; } // Vrif des utilisateurs cochs var nb_utils_messenger = 0; var url_utils_messenger = ; tab_utils_messenger = document.getElementsByName( tab_utils_messenger[] ); for(i=0; i<tab_utils_messenger.length; i++) { if(tab_utils_messenger[i].checked==true) { nb_utils_messenger++; url_utils_messenger += id +tab_utils_messenger[i].value+ id ; } } if(nb_utils_messenger==0) return false; } { alert( <?php echo $trad["header"]["selectionner_utilisateur"]; ?> ); CONTROLE & POST DU MESSAGE DU MESSENGER
// On poste le message, relance laffichage des messages, on rinitialise le champs message New_Http_Request( POST , <?php echo path_commun; ?>messenger_post.php , texte_messenger= +get_value( texte_messenger )+ &couleur_messenger= +get_value( co uleur_messenger )+ &tab_utils_messenger= +url_utils_messenger); maj_messenger_messages(); set_value( texte_messenger , ); element(texte_messenger).focus(); } </script>
Supprimer aussi cette ligne : echo <div class=\ menu_ligne\ onClick=\ popup( .root_path. module_utilisateurs/utilisateur_messenger.php?id_ut$
Modification de la favicon
Mettre la nouvelle icne dans le dossier /template/divers Modifier le fichier /var/www/ftp/includes/header.inc.php
$ nano /var/www/ftp/includes/header.inc.php Modifier la ligne suivante <link rel= icon type= image/gif href= <?php echo path_templates; ?>divers/[NOM DE L'ICONE] />
Il demande comment le fichier doit sappeler, faire Entre pour ne toucher rien.
<td><input type= text name= codepostal value= <?php echo $user_tmp["codepostal"]; ?> /></td> </tr> <tr> <td class= form_libelle ><?php echo $trad["divers"]["ville"]; ?></td> <td><input type= text name= ville value= <?php echo $user_tmp["ville"]; ?> /></td> </tr> <tr> <td class= form_libelle ><?php echo $trad["divers"]["pays"]; ?></td> <td><input type= text name= pays value= <?php echo $user_tmp["pays"]; ?> /></td> </tr> <tr> <td class= form_libelle ><?php echo $trad["divers"]["telephone"]; ?></td> <td><input type= text name= telephone value= <?php echo $user_tmp["telephone"]; ?> /></td> </tr> <tr> <td class= form_libelle ><?php echo $trad["divers"]["telmobile"]; ?></td> <td><input type= text name= telmobile value= <?php echo $user_tmp["telmobile"]; ?> /></td> </tr> <tr> <td class= form_libelle ><?php echo $trad["divers"]["fax"]; ?></td> <td><input type= text name= fax value= <?php echo $user_tmp["fax"]; ?> /></td> </tr> <tr> <td class= form_libelle ><?php echo $trad["divers"]["adresse"]; ?></td> <td><input type= text name= adresse value= <?php echo $user_tmp["adresse"]; ?> /></td>
</tr> <tr> <td class= form_libelle ><?php echo $trad["divers"]["codepostal"]; ?></td> <td><input type= text name= codepostal value= <?php echo $user_tmp["codepostal"]; ?> /></td> </tr> <tr> <td class= form_libelle ><?php echo $trad["divers"]["ville"]; ?></td> <td><input type= text name= ville value= <?php echo $user_tmp["ville"]; ?> /></td> </tr> <tr> <td class= form_libelle ><?php echo $trad["divers"]["pays"]; ?></td> <td><input type= text name= pays value= <?php echo $user_tmp["pays"]; ?> /></td> </tr> <tr> <td class= form_libelle ><?php echo $trad["divers"]["telephone"]; ?></td> <td><input type= text name= telephone value= <?php echo $user_tmp["telephone"]; ?> /></td> </tr> <tr> <td class= form_libelle ><?php echo $trad["divers"]["telmobile"]; ?></td> <td><input type= text name= telmobile value= <?php echo $user_tmp["telmobile"]; ?> /></td> </tr> <tr> <td class= form_libelle ><?php echo $trad["divers"]["fax"]; ?></td> <td><input type= text name= fax value= <?php echo $user_tmp["fax"]; ?> /></td> </tr> <! PHOTO >
<tr> <td style= text-align:center;width:150px; ><img src= <?php echo ($user_tmp["photo"]== ") ? path_templates. divers/inconnu.png : path_photo_user.$user_tmp["photo"]; ?> style= maxwidth:130px;max-height:130px; /></td> <td> <span class= form_libelle ><?php echo $trad["divers"]["photo"]; ?> :</span> <select name= image OnChange= if(this.value==changer) {afficher(div_fichier,true);} else {afficher(div_fichier,false);} > <option><?php echo $trad["divers"]["garder"]; ?></option> <option value= defaut ><?php echo $trad["divers"]["par_defaut"]; ?></option> <option value= changer ><?php echo $trad["divers"]["image_changer"]; ?></option> </select> <div id= div_fichier class= cacher ><br /><br /><input type= file name= fichier /></div> </td> </tr> <td class= form_libelle ><img src= <?php echo path_templates; ?>module_utilisateurs/user_agenda.png /> <?php echo $trad["utilisateurs"]["agenda_desactive"]; ?></td> <td class= form_libelle > <?php echo $trad["divers"]["non"]; ?> <input type= radio name= agenda_desactive value= 0 <?php if($user_tmp["agenda_desactive"]!= 1) echo checked ; ?> /> <?php echo $trad["divers"]["oui"]; ?> <input type= radio name= agenda_desactive value= 1 <?php if($user_tmp["agenda_desactive"]== 1) echo checked ; ?> /> </td> <! PAGE HORAIRE AGENDA > <tr> <td class= form_libelle style= padding-left:30px; ><?php echo $trad["utilisateurs"]["agenda_plage_horaire"]; ?></td> <td> <?php //// PLAGES HORAIRES DE LAGENDA
{ $plage_horaire = explode( -
echo <select name=\ agenda_heure_debut\ > ; for($h=1; $h<24; $h++) { ($plage_horaire[0]==$h)?$check= selected :$check= "; echo <option value=\ ".$h. \ .$check. > .$h. :00</option> ; } echo </select> ; echo $trad["divers"]["a"]; //// FIN
echo <select name=\ agenda_heure_fin\ > ; for($h=1; $h<24; $h++) { ($plage_horaire[1]==$h)?$check= selected :$check= "; echo <option value=\ ".$h. \ .$check. > .$h. :00</option> ; } echo </select> ; ?> </td> </tr>
<tr> <td style= text-align:right;font-size:11px;padding:2px; > <span <?php echo infobulle( <div style=textalign:center;width:250px;> .$trad["divers"]["connexion_auto_info"]. </div> ); ?> > <span class= lien id= txt_connexion onClick= check_txt_box(this.id,connexion); ><?php echo $trad["divers"]["connexion_auto"]; ?></span> <input type= checkbox name= connexion_auto value= 1 id= box_connexion onClick= check_txt_box(this.id,connexion); /> </span>
</td>
Il demande comment le fichier doit sappeler, faire Entre pour ne toucher rien.
Rajout des icnes Rechercher, Dconnexion, Guide dUtilisation Modification de la feuille de style
Editer le fichier style.css $ nano /var/www/ftp/templates/style.css.php Ajouter les lignes suivantes : /* GUIDE UTILISATION*/ .guide { vertical-align:middle; font-weight:bold; }
Il demande comment le fichier doit sappeler, faire Entre pour ne toucher rien.
Modification des fichiers de traduction pour licne Guide dUtilisation Traduction Franais
Editer le fichier divers.php
$ nano /var/www/ftp/traduction/francais/divers.php
Il demande comment le fichier doit sappeler, faire Entre pour ne toucher rien.
Traduction Anglais
Editer le fichier divers.php
$ nano /var/www/ftp/traduction/english/divers.php Ajouter la ligne suivante : $trad["divers"]["guide"] = User Guide ;
Il demande comment le fichier doit sappeler, faire Entre pour ne toucher rien.
if($espace_tmp["id_espace"]==$_SESSION["espace"]["id_espace"]) { $style_text = lien_select ; $ echo <span onClick=\ redir( .$_SERVER["PHP_SELF"]. ?id_espace_acces= .$espace_tmp["id_espace"].$ } echo </div></div> ; echo $_SESSION["espace"]["nom"]. <img src=\ ".path_templates. divers/derouler.png\ /> ; echo </span> ; Inscrire les lignes suivantes la place des lignes supprimes ci-dessus //// //// echo <span class=\ lien\ onMouseOver=\ afficher(liste_espaces,true);\ onMouseOut=\ afficher(liste_espaces,false);\ > ; echo <div class=\ menu_flottant\ id=\ liste_espaces\ ><div style=\ overflow-y:auto;maxheight:600px;\ > ; echo <div class=\ menu_ligne\ style=\ marginbottom:3px\ > .$trad["header"]["espaces_dispo"]. :</div> ; ESPACES AFFICHE + MENU
echo </span> ;
foreach(espaces_affectes_user($_SESSION["user"]) as $espace_tmp) { $style_text = lien ; $txt_acces_espace = ; if($espace_tmp["id_espace"]==$_SESSION["espace"]["id_espace"]) { $style_text = lien_select ; if(droit_acces_espace($espace_tmp["id_espace"],$_SESSION["user"])==2) $txt_acces_espace = $trad["header"]["espace_acces_administration"]; } echo <span onClick=\ redir( .$_SERVER["PHP_SELF"]. ?id_espace_acces= .$espace_tmp["id_espace"]. );\ class= .$style_text. style=margin-left:5px title=\ ".$espace_tmp["description"]. \ > .$espace_tmp["nom"]. .$txt_acces_espace. </span><br /> ; } echo </div></div> ; echo <img src=\ ".path_templates. divers/separateur.gif\ /> ; echo $_SESSION["espace"]["nom"]. <td><img src=\ ".path_templates. divers/derouler.png\ /></td> ; echo <td class=\ guide\ ><img src=\ ".path_templates. divers/separateur.gif\ /></td> ;
echo <td class=\ guide\ ><b><a href= .root_path. index.php?deconnexion=oui><img src=\ ".path_templates. divers/sortir.png\ /> .$trad["header"]["sortie_agora"]. </a></td> ; echo <td class=\ guide\ ><img src=\ ".path_templates. divers/separateur.gif\ /></td> ; echo <td class=\ guide\ onClick=\ popup( .path_commun. rechercher.php);\ ><img src=\ ".path_templates. divers/recherche.png\ /> .$trad["header"]["recherche"]. </td> ; echo <td class=\ guide\ ><img src=\ ".path_templates. divers/separateur.gif\ /></td> ; if ( $trad["divers"]["guide"] == User Guide ) echo <td class=\ guide\ > <a href=../DOCUMENTATION/Guide_Utilisation_EN.pdf><img src=\ ".path_templates. divers/info.png\ /> .$trad["divers"]["guide"]. </td> ; else if ( $trad["divers"]["guide"] == Guide dUtilisation ) echo <td class=\ guide\ > <a href=../DOCUMENTATION/Guide_Utilisation_FR.pdf><img src=\ ".path_templates. divers/info.png\ /> .$trad["divers"]["guide"]. </td> ;
Il demande comment le fichier doit sappeler, faire Entre pour ne toucher rien.
Organizational Unit Name (eg, section) []: Indiquer ici le nom de la section de votre organisation, de votre socit Common Name (eg, YOUR name) []: Ici, il convient de faire particulirement attention ce que vous allez entrer. Vous devez indiquer le nom de domaine que vous dsirez scuriser. Email Address []: Ici, il sagit dindiquer ladresse E-mail de ladministrateur.
Country Name (2 letter code) [AU]: FR State or Province Name (full name) [Some-State]: FRANCE Locality Name (eg, city) []: [Voter Ville] Organization Name (eg, company) [Internet Widgits Pty Ltd]: [Votre Socit] Organizational Unit Name (eg, section) []: NA Common Name (eg, YOUR name) []: [Nom] Email Address []: [Votre Adresse Mail]
Il demande si lon sauve, dire Oui en pressant la touche O Il demande comment le fichier doit sappeler, faire Entre pour ne toucher rien. Rdmarrage du service Apache $ /etc/init.d/apache2 restart
Modification du fichier /etc/apache2/sites-available/default $ nano /etc/apache2/sites-available/default <VirtualHost *:80> ServerAdmin webmaster@localhost DocumentRoot /var/www/agora Redirect / https://192.168.0.250/
Scuriser PHP
Modification du fichier PHP.ini
$ nano /etc/php5/apache2/php.ini Modification du fichier :
safe_mode expose_php
= On = Off
= Off
sql.safe_mode = ON
Partager facilement des fichiers, des photos, grer des agendas personnels et de ressources, grer des tches, partager des contacts, dialoguer sur un forum priv ou une messagerie instantane, etc
Sources : http://ptitnico.net/index.php/linux http://www.delafond.org/traducmanfr/man/man5/sshd_config.5.html http://doc.ubuntu-fr.org/lamp http://www.agora-project.net/ http://blog.cybermonde.org/post/2008/03/18/securiser-Apache2-avec-SSL http://www.coagul.org/article.php3?id_article=351 http://www.system-linux.eu/index.php?post/2008/12/22/Securiser-apache
Pour continuer linstallation veuillez slectionner Install et appuyer sur [ENTREE] Slectionner votre langue dans notre cas Franais
$ deb http://security.debian.org/ lenny/updates main contrib non-free $ deb http://volatile.debian.org/debian-volatile lenny/volatile main contrib non-free $ deb http://ftp.fr.debian.org/debian /lenny main contrib non-free
Control + X pour quitter nano
Il demande si lon sauve, dire Oui en pressant la touche O Il demande comment le fichier doit sappeler, faire Entre pour ne toucher rien.
On redmarre le dmon : $ /etc/init.d/fail2ban restart Affichage des IP bannis par Fail2Ban $ nano /var/log/fail2ban.log
$ nano /etc/ssh/sshd_config
Taper ou Modifier les informations suivantes.
# Port SSH: Port [Port de votre choix] # Authentication: LoginGraceTime 120 PermitRootLogin no //Ne permet pas la connexion avec le root StrictModes yes AllowUsers [Utilisateur Autoriss]
7 Configuration de PHP 5
diter le fichier /etc/apache2/mods-enabled/php5.conf
$ nano /etc/apache2/mods-enabled/php5.conf Ajouter la ligne suivante : AddType application/x-httpd-php .php5
Installation de PHPMyAdmin
$ apt-get install phpmyadmin
Slectionner Apache2 et appuyer sur [ESPACE] Vous arriverez alors sur la page dauthentification de PhpMyAdmin. Entrez alors votre login ( root ) et le mot de passe choisi lors de la scurisation de MySQL. Si tout sest bien pass, vous devriez tre connect PhpMyAdmin et pouvoir crer et grer vos bases de donnes.
Configuration de PHPMyAdmin
Nous allons crer un utilisateur qui aura tous les droits, nous pourrons par la suite supprimer le compte root.
Pour se faire cliquer sur privilges > Ajouter un Utilisateur Nom dUtilisateur : nom dutilisateur Serveur : localhost Mot de Passe : mot de passe Privilges Globaux : Tout cocher Aprs on supprime lutilisateur ROOT comme dcrit ci-dessous
Cocher les case devant ROOT puis supprimer les bases de donnes et cliquer sur Excuter Une fois lutilisateur ROOT supprim PHPMyAdmin vous demandera de vous identifier, utiliser maintenant le nouvel utilisateur.
Alias /phpmyadmin/ /usr/share/phpmyadmin/ <Directory /usr/share/phpmyadmin/ > Options None AllowOverride None Order allow,deny Allow from all </Directory>
Tlchargement de la sources
$ wget http://www.agora-project.net/agora-project.zip Pour dcompresser la source installer le paquet unzip
Dcompression de larchive
$ unzip agora-project.zip
Mettre le nom de la base agora et cliquer sur CREER Votre base de donnes qui va contenir les infos dAgora est maintenant oprationnelle. Donner les droits au dossier /agora/
$ chmod -R 777 agora/ Dans votre navigateur saisisser ladresse suivante pour dbuter linstallation http://[VOTRESERVEUR]/agora/install/
Hostname : localhost Nom dutilisateur : Votre nom dutilisateur Mot de passe : Votre mot de passe Nom : Votre Nom Prnom : Administrateur Identifiant : Votre Identifiant Mot de Passe : Votre mot de passe
Linstallation dAgora est maintenant terminer. Nous allons remettre les droits sur les fichiers. $ chmod -R 755 agora/
10 Personnalisation dAgora
Suppression du messenger
Pour supprimer le messenger diter le fichier header_menu_inc.php $ nano /var/www/ftp/includes/header_menu.inc.php Supprimer les lignes suivantes : <script type= text/javascript > //// //// function maj_livecounters() { New_Http_Request( GET , <?php echo path_commun; ?>livecounter.php?type=principal ); element( livecounter_principal ).innerHTML = Http_Request_Result; if(existe( livecounter_messenger )) { New_Http_Request( GET , <?php echo path_commun; ?>livecounter.php?type=messenger ); element( livecounter_messenger ).innerHTML = Http_Request_Result; } } //// //// function livecounter_messenger_verif() { New_Http_Request( GET , <?php echo path_commun; ?>livecounter_messenger_verif.php ); eval(Http_Request_Result); // execute les fonctions javascript window.setTimeout( livecounter_messenger_verif(); , <?php echo duree_livecounter_recharge*1000; ?>); } //// AFFICHAGE DES LIVECOUNTERS & DU MESSENGER EN FIN DE CHARGEMENT DE PAGE VERIFICATION REGULIERE DU LIVECOUNTER ET DU MESSENGER AFFICHAGE DES LIVECOUNTERS
//// function start_livecounters_messenger() { if(existe( livecounter_principal )) } window.setTimeout( start_livecounters_messenger(); , 3000); //// //// function affichage_messenger() { element( icone_messenger ).src = <?php echo path_templates; ?>divers/messenger.png ; afficher( calque_messenger , bascule ); if(element( calque_messenger ).style.display!= none ) } //// //// function maj_messenger_messages() { New_Http_Request( GET , <?php echo path_commun; ?>messenger_messages.php ); element( messenger_liste_messages ).innerHTML = Http_Request_Result; element( messenger_liste_messages ).scrollTop = element( messenger_liste_messages ).scrollHeight; } //// NOUVEAU MESSAGE SUR LE MESSENGER : MAJ des messages / Clignotement de licone / Son dalerte //// function messenger_nouveau_message() { AFFICHAGE DES MESSAGES DU MESSENGER maj_messenger_messages(); AFFICHAGE / MASQUAGE DU MESSENGER { maj_livecounters(); livecounter_messenger_verif(); }
{ maj_messenger_messages(); }
element( icone_messenger ).src = <?php echo path_templates; ?>divers/messenger.gif ; //Sound.play( <?php echo path_commun; ?>messenger_alerte.mp3); } } //// COULEUR DU MESSAGE DU MESSENGER : AFFICHAGE / MASQUAGE DU MENU ET CHANGEMENT DE LA COULEUR //// function couleur_messenger(couleur) { set_couleur( texte_messenger ,couleur); set_value( couleur_messenger ,couleur); } //// //// function post_message_messenger() { // Vrif du message if(get_value( texte_messenger )== " || get_value( texte_messenger )== <?php echo $trad["header"]["ajouter_message"]; ?> ) { alert( <?php echo $trad["header"]["specifier_message"]; ?> ); return false; } // Vrif des utilisateurs cochs var nb_utils_messenger = 0; var url_utils_messenger = ; tab_utils_messenger = document.getElementsByName( tab_utils_messenger[] ); for(i=0; i<tab_utils_messenger.length; i++) { CONTROLE & POST DU MESSAGE DU MESSENGER
if(tab_utils_messenger[i].checked==true) { nb_utils_messenger++; url_utils_messenger += id +tab_utils_messenger[i].value+ id ; } } if(nb_utils_messenger==0) return false; } { alert( <?php echo $trad["header"]["selectionner_utilisateur"]; ?> );
// On poste le message, relance laffichage des messages, on rinitialise le champs message New_Http_Request( POST , <?php echo path_commun; ?>messenger_post.php , texte_messenger= +get_value( texte_messenger )+ &couleur_messenger= +get_value( co uleur_messenger )+ &tab_utils_messenger= +url_utils_messenger); maj_messenger_messages(); set_value( texte_messenger , ); element(texte_messenger).focus(); } </script> Supprimer aussi cette ligne : echo <div class=\ menu_ligne\ onClick=\ popup( .root_path. module_utilisateurs/utilisateur_messenger.php?id_ut$
Modification de la favicon
Mettre la nouvelle icne dans le dossier /template/divers Modifier le fichier /var/www/ftp/includes/header.inc.php
$ nano /var/www/ftp/includes/header.inc.php Modifier la ligne suivante <link rel= icon type= image/gif href= <?php echo path_templates; ?>divers/[NOM DE L'ICONE] />
Il demande comment le fichier doit sappeler, faire Entre pour ne toucher rien.
<tr> <td class= form_libelle ><?php echo $trad["divers"]["telmobile"]; ?></td> <td><input type= text name= telmobile value= <?php echo $user_tmp["telmobile"]; ?> /></td> </tr> <tr> <td class= form_libelle ><?php echo $trad["divers"]["fax"]; ?></td> <td><input type= text name= fax value= <?php echo $user_tmp["fax"]; ?> /></td> </tr> <tr> <td class= form_libelle ><?php echo $trad["divers"]["adresse"]; ?></td> <td><input type= text name= adresse value= <?php echo $user_tmp["adresse"]; ?> /></td> </tr> <tr> <td class= form_libelle ><?php echo $trad["divers"]["codepostal"]; ?></td> <td><input type= text name= codepostal value= <?php echo $user_tmp["codepostal"]; ?> /></td> </tr> <tr> <td class= form_libelle ><?php echo $trad["divers"]["ville"]; ?></td> <td><input type= text name= ville value= <?php echo $user_tmp["ville"]; ?> /></td> </tr> <tr> <td class= form_libelle ><?php echo $trad["divers"]["pays"]; ?></td> <td><input type= text name= pays value= <?php echo $user_tmp["pays"]; ?> /></td> </tr> <tr> <td class= form_libelle ><?php echo $trad["divers"]["telephone"]; ?></td>
<td><input type= text name= telephone value= <?php echo $user_tmp["telephone"]; ?> /></td> </tr> <tr> <td class= form_libelle ><?php echo $trad["divers"]["telmobile"]; ?></td> <td><input type= text name= telmobile value= <?php echo $user_tmp["telmobile"]; ?> /></td> </tr> <tr> <td class= form_libelle ><?php echo $trad["divers"]["fax"]; ?></td> <td><input type= text name= fax value= <?php echo $user_tmp["fax"]; ?> /></td> </tr> <! PHOTO > <tr> <td style= text-align:center;width:150px; ><img src= <?php echo ($user_tmp["photo"]== ") ? path_templates. divers/inconnu.png : path_photo_user.$user_tmp["photo"]; ?> style= maxwidth:130px;max-height:130px; /></td> <td> <span class= form_libelle ><?php echo $trad["divers"]["photo"]; ?> :</span> <select name= image OnChange= if(this.value==changer) {afficher(div_fichier,true);} else {afficher(div_fichier,false);} > <option><?php echo $trad["divers"]["garder"]; ?></option> <option value= defaut ><?php echo $trad["divers"]["par_defaut"]; ?></option> <option value= changer ><?php echo $trad["divers"]["image_changer"]; ?></option> </select> <div id= div_fichier class= cacher ><br /><br /><input type= file name= fichier /></div> </td> </tr>
<td class= form_libelle ><img src= <?php echo path_templates; ?>module_utilisateurs/user_agenda.png /> <?php echo $trad["utilisateurs"]["agenda_desactive"]; ?></td> <td class= form_libelle > <?php echo $trad["divers"]["non"]; ?> <input type= radio name= agenda_desactive value= 0 <?php if($user_tmp["agenda_desactive"]!= 1) echo checked ; ?> /> <?php echo $trad["divers"]["oui"]; ?> <input type= radio name= agenda_desactive value= 1 <?php if($user_tmp["agenda_desactive"]== 1) echo checked ; ?> /> </td> <! PAGE HORAIRE AGENDA > <tr> <td class= form_libelle style= padding-left:30px; ><?php echo $trad["utilisateurs"]["agenda_plage_horaire"]; ?></td> <td> <?php //// PLAGES HORAIRES DE LAGENDA { $plage_horaire = explode( -
echo <select name=\ agenda_heure_debut\ > ; for($h=1; $h<24; $h++) { ($plage_horaire[0]==$h)?$check= selected :$check= "; echo <option value=\ ".$h. \ .$check. > .$h. :00</option> ; } echo </select> ; echo $trad["divers"]["a"]; //// FIN
echo <select name=\ agenda_heure_fin\ > ; for($h=1; $h<24; $h++) { ($plage_horaire[1]==$h)?$check= selected :$check= "; echo <option value=\ ".$h. \ .$check. > .$h. :00</option> ; } echo </select> ; ?>
</td> </tr>
</td>
Il demande comment le fichier doit sappeler, faire Entre pour ne toucher rien.
Rajout des icnes Rechercher, Dconnexion, Guide dUtilisation Modification de la feuille de style
Editer le fichier style.css $ nano /var/www/ftp/templates/style.css.php Ajouter les lignes suivantes : /* GUIDE UTILISATION*/ .guide { vertical-align:middle; font-weight:bold; }
Il demande comment le fichier doit sappeler, faire Entre pour ne toucher rien.
Modification des fichiers de traduction pour licne Guide dUtilisation Traduction Franais
Editer le fichier divers.php
$ nano /var/www/ftp/traduction/francais/divers.php
Il demande comment le fichier doit sappeler, faire Entre pour ne toucher rien.
Traduction Anglais
Editer le fichier divers.php
$ nano /var/www/ftp/traduction/english/divers.php Ajouter la ligne suivante : $trad["divers"]["guide"] = User Guide ;
Il demande comment le fichier doit sappeler, faire Entre pour ne toucher rien.
echo </span> ;
foreach(espaces_affectes_user($_SESSION["user"]) as $espace_tmp) { $style_text = lien ; $txt_acces_espace = ; if($espace_tmp["id_espace"]==$_SESSION["espace"]["id_espace"]) { $style_text = lien_select ; if(droit_acces_espace($espace_tmp["id_espace"],$_SESSION["user"])==2) $txt_acces_espace = $trad["header"]["espace_acces_administration"]; } echo <span onClick=\ redir( .$_SERVER["PHP_SELF"]. ?id_espace_acces= .$espace_tmp["id_espace"]. );\ class= .$style_text. style=margin-left:5px title=\ ".$espace_tmp["description"]. \ > .$espace_tmp["nom"]. .$txt_acces_espace. </span><br /> ; } echo </div></div> ; echo <img src=\ ".path_templates. divers/separateur.gif\ /> ; echo $_SESSION["espace"]["nom"]. <td><img src=\ ".path_templates. divers/derouler.png\ /></td> ; echo <td class=\ guide\ ><img src=\ ".path_templates. divers/separateur.gif\ /></td> ;
echo <td class=\ guide\ ><b><a href= .root_path. index.php?deconnexion=oui><img src=\ ".path_templates. divers/sortir.png\ /> .$trad["header"]["sortie_agora"]. </a></td> ; echo <td class=\ guide\ ><img src=\ ".path_templates. divers/separateur.gif\ /></td> ; echo <td class=\ guide\ onClick=\ popup( .path_commun. rechercher.php);\ ><img src=\ ".path_templates. divers/recherche.png\ /> .$trad["header"]["recherche"]. </td> ; echo <td class=\ guide\ ><img src=\ ".path_templates. divers/separateur.gif\ /></td> ; if ( $trad["divers"]["guide"] == User Guide ) echo <td class=\ guide\ > <a href=../DOCUMENTATION/Guide_Utilisation_EN.pdf><img src=\ ".path_templates. divers/info.png\ /> .$trad["divers"]["guide"]. </td> ; else if ( $trad["divers"]["guide"] == Guide dUtilisation )
echo <td class=\ guide\ > <a href=../DOCUMENTATION/Guide_Utilisation_FR.pdf><img src=\ ".path_templates. divers/info.png\ /> .$trad["divers"]["guide"]. </td> ;
Il demande comment le fichier doit sappeler, faire Entre pour ne toucher rien.
$ openssl req -x509 -nodes -days 365 -newkey rsa:1024 -out /etc/apache2/server.crt keyout /etc/apache2/server.key Explications : -x509 -nodes donne le type de certificat voulu -days 365 indique la dure de validit (en jours) de votre certificat -newkey rsa:1024 demande une cl RSA de 1024 bits daprs la doc apache, il est dconseill de crer une cl plus grosse pour des histoires de compatibilit -out /etc/apache2/server.crt est le chemin de votre certificat -keyout /etc/apache2/server.key est le chemin de la cl prive
Country Name (2 letter code) [AU]: FR State or Province Name (full name) [Some-State]: FRANCE Locality Name (eg, city) []: [Voter Ville] Organization Name (eg, company) [Internet Widgits Pty Ltd]: [Votre Socit] Organizational Unit Name (eg, section) []: NA
Common Name (eg, YOUR name) []: [Nom] Email Address []: [Votre Adresse Mail]
<VirtualHost 192.168.0.250:443> ServerName ServeurFTP DocumentRoot /var/www/agora/ Alias /secret /var/www/agora/ <Directory /var/www/agora/ > AllowOverride None Order deny,allow Allow from all </Directory> SSLEngine on SSLCertificateFile /etc/apache2/server.crt SSLCertificateKeyFile /etc/apache2/server.key </VirtualHost>
Scuriser PHP
Modification du fichier PHP.ini
$ nano /etc/php5/apache2/php.ini Modification du fichier : safe_mode expose_php = On = Off
= Off
sql.safe_mode = ON