Redirection vers un proxy http sous linux
Redirection vers un proxy http sous linux Avec le shell bash: linux
#export HTTP_PROXY=’http://192.168.2.5:3128′
Codecs Asterisk
Codecs Asterisk
Les Codecs
codec veux dire COmpresseur/DECompresseur. C’est le logiciel qui compresse et décompresse les données. Il existe trois type de codecs : audio, image et vidéo.
Les codecs les plus utilisés en audio sont : alaw/ulaw (g711), gsm, g726 et g729.
asterisk -rvvv
show channels (affiche les call)
pour verifier si g729 est installé faire :
g729 show licenses
Licenses Found: File: G729-M6TSMB9LX3WZ.lic — Key:XXXXXXXXXX Host-ID: xxxxxxxx — Channels: 3 (Expires: 2032-04-24) (OK)
Si rien ne s’affiche pas de codec g729 alors allez : http://fabblog.fabaur.fr/?p=1348
Choisir le codec
C’est l’une des parties les plus difficiles, surtout qu’il est possible d’avoir un lien utilisant un codec et un autre utilisant un autre codec.
Dans la détermination du choix du codec, trois critères principaux entre en jeux :
– les ressources processeur
– la bande passante utilisée
– la qualité de la communication
les ressources processeur
Les codecs nécessitent plus ou moins de ressources processeurs. Les codecs les moins gourmands étant alaw et ulaw car il n’y a pas de compression de données.
la bande passante utilisée
Suivant le codec utilisés, l’utilisation de la bande passante (sur lien IP) peut-être plus ou moins importante. Les codecs les plus gourmands en bande passante étant ulaw et alaw. Pour savoir combien consomme les codecs, voici le lien sur un calculateur : http://www.asteriskguru.com/tools/bandwidth_calculator.php
la qualité de la communication
Plus le codec compresse les données plus la qualité se dégrade. Les codecs donnant la meilleure qualité étant ulaw et alaw, puisse qu’il ne compresse pas les données. Mais ceci est très théorique, car si vous avez des perturbations entrainant une perte de qualité, il peut être intéressant d’utiliser un codec à faible compression, les codecs effectuant une sorte de filtrage/lissage avant compression, cela peut entrainer un gain de qualité.
En fait, il n’existe qu’une seule méthode fiable pour déterminer le meilleur codec pour votre configuration : les essayer tous. Cette méthode pouvant être longue, il est d’usage de n’essayer que les codecs alaw, gsm, g726 et g729.
Attention tout de même au fait que le codec g729 est payant.
Tableau indicatif des qualités et nécessité en bande passante
Codec Débit Données Qualite Bande Passante Mini
G711a 64 Kb/s 4.1 Mos 87.2 Ko/s
G723.1 5.6/6.3 Kb/s 3.7/3.9 Mos 21.9 Ko/s
G729 8 Kb/s 3.9 Mos 31.2 Kb/s
G726-16 16 Kb/s 3.7 Mos 31.5 Kb/s
G726-24 24 Kb/s 3.7 Mos 47.2 Kb/s
G726-32 32 Kb/s 3.8 Mos 55.2 Kb/s
Gsm 13 Kb/s ? Mos 28.7 Kb/s
Ilbc 15.2 Kb/s ? Mos 30.8 Kb/s
Plus d’info sur : http://www.en.voipforo.com/codec/codecs.php
Informations sur les codecs
core show codecs
Donne la liste des codecs connus par Asterisk, sans tenir compte du fait que vous avez chargé les modules correspondant ou non.
Disclaimer: this command is for informational purposes only.
It does not indicate anything about your configuration.
INT BINARY HEX TYPE NAME DESC
--------------------------------------------------------------------------------
1 (1 << 0) (0x1) audio g723 (G.723.1)
2 (1 << 1) (0x2) audio gsm (GSM)
4 (1 << 2) (0x4) audio ulaw (G.711 u-law)
8 (1 << 3) (0x8) audio alaw (G.711 A-law)
16 (1 << 4) (0x10) audio g726aal2 (G.726 AAL2)
32 (1 << 5) (0x20) audio adpcm (ADPCM)
64 (1 << 6) (0x40) audio slin (16 bit Signed Linear PCM)
128 (1 << 7) (0x80) audio lpc10 (LPC10)
256 (1 << 8) (0x100) audio g729 (G.729A)
512 (1 << 9) (0x200) audio speex (SpeeX)
1024 (1 << 10) (0x400) audio ilbc (iLBC)
2048 (1 << 11) (0x800) audio g726 (G.726 RFC3551)
4096 (1 << 12) (0x1000) audio g722 (G722)
65536 (1 << 16) (0x10000) image jpeg (JPEG image)
131072 (1 << 17) (0x20000) image png (PNG image)
262144 (1 << 18) (0x40000) video h261 (H.261 Video)
524288 (1 << 19) (0x80000) video h263 (H.263 Video)
1048576 (1 << 20) (0x100000) video h263p (H.263+ Video)
2097152 (1 << 21) (0x200000) video h264 (H.264 Video)
core show file formats
Donne la liste des extensions de fichiers correspondant aux codecs.
Format Name Extensions
------ ---- ----------
gsm wav49 WAV|wav49
slin mp3 mp3
slin ogg_vorbis ogg
g729 g729 g729
g722 g722 g722
ulaw au au
alaw alaw alaw|al
ulaw pcm pcm|ulaw|ul|mu
slin wav wav
g726 g726-16 g726-16
g726 g726-24 g726-24
g726 g726-32 g726-32
g726 g726-40 g726-40
g723 g723sf g723|g723sf
gsm gsm gsm
Note : les fichiers ‘.wav’ peuvent être utilisés avec les formats alaw et ulaw.
core show translation
Donne les temps de conversion entre formats.
Ce tableau est réservé aux experts.
Format des fichiers sons
Wav (Windows PCM) : 8Khz 16bits Mono (16ko/s = 128kb/s = 54Mo/h)
alaw (Raw) : 8Khz 16bits Mono (8ko/s = 64kb/s = 30Mo/h)
ulaw (Raw) : 8Khz 16bits Mono (8ko/s = 64kb/s = 30Mo/h)
Liste des modules par format avec extensions
format_au.so extension : .au
format_g723.so extension : .g723 ou g723sf
format_g726.so extension : .g726-16 ou 24,32,40
format_g729.so extension : .g729
format_gsm.so extension : .gsm
format_h263.so extension : .h263
format_h264.so extension : .h264
format_ilbc.so extension : .ilbc
format_mp3.so extension : .mp3
format_ogg_vorbis.so extension : .ogg
format_pcm.so extension : .pcm ou ulaw,ul,mu + g722
format_sln.so extension : .sln ou raw
format_vox.so extension : .vox (Dialogic vox ADPCM)
format_wav_gsm.so extension : .WAV ou wav49
format_wav.so extension : .wav ou alaw,al
Charger les codecs
Le chargement des modules correspondants à chaque codec est normalement effectué au démarrage d’Asterisk. Il est possible de préciser quels codecs doivent être chargé ou non.
Plus de détail sur : http://fabblog.fabaur.fr/?p=1328
Codecs utilisés en SIP
Dans les traces SIP vous pouvez connaitre le ou les codecs utilisés dans la partie ‘combined’.
Exemple :
Capabilities: us - 0x1f07ff
(g723|gsm|ulaw|alaw|g726|adpcm|slin|lpc10|g729|speex|ilbc|jpeg|png|h261|h263|h263p),
peer - audio=0x10d (g723|ulaw|alaw|g729)/video=0x0 (nothing),
combined - 0x10d (g723|ulaw|alaw|g729)
Non-codec capabilities: us - 0x1 (telephone-event), peer - 0x1 (telephone-event),
combined - 0x1 (telephone-event)
Le fournisseur permet l’utilisation de 4 codecs : g723,ulaw,alaw et g729.
Si vous forcer l’utilisation d’un seul codec, par exemple alaw, vous devrez le préciser dans le fichier sip.conf dans la partie correspondant au poste que vous désirez forcer.
Exemple de configuration SIP :
disallow=all
allow=alaw
Force l’utilisation du codec alaw uniquement.
Exemple de résultat :
Capabilities: us - 0x8 (alaw), peer - audio=0x8 (alaw)/video=0x0 (nothing),
combined - 0x8 (alaw)
Non-codec capabilities: us - 0x1 (telephone-event), peer - 0x0 (nothing),
combined - 0x0 (nothing)
Erreur de codec en SIP
Si aucun codec ne concorde entre Asterisk et les postes ou un fournisseur voip, Asterisk vous retournera une erreur du type :
NOTICE[XXXX] chan_sip.c: No compatible codecs, not accepting this offer!
Codecs manquants :
WARNING[XXXX] channel.c: Unable to find a codec translation path from g723 to slin
Le fichier n’existe pas :
WARNING[XXXX] file.c: Unable to open <nom_du_fichier> (format 0x1 (g723)): No such file or directory
Le fichier n’existe pas avec l’extension correspondante au format choisi :
WARNING[XXXX] file.c: File <nom_du_fichier> does not exist in any format.
Compilation
Si vous désirez compiler vous même les codecs, ou si vous avez des erreurs au niveau d’Asterisk avec les codecs, aller sur ce site : http://asterisk.hosting.lv/
OpenSSH Installations sous CentOS Linux
OpenSSH Installations under CentOS Linux
Pour l’installation du serveur et du client:
# yum -y install openssh-server openssh-clients
Demarage du service:
# chkconfig sshd on
# service sshd start
Assurez-vous que le port 22 est ouvert :
# netstat -tulpn | grep :22
Pare feu configuration
Edit /etc/sysconfig/iptables (IPv4),
#vim /etc/sysconfig/iptables
Ajout d’une ligne
-A RH-Firewall-1-INPUT -m state –state NEW -m tcp -p tcp –dport 22 -j ACCEPT
Si vous voulez restict accès à 192.168.1.0/24, le modifier comme suit :
-A RH-Firewall-1-INPUT -s 192.168.1.0/24 -m state –state NEW -p tcp –dport 22 -j ACCEPT
Si votre site utilise IPv6, et que vous modifiez ip6tables, utilisez la ligne suivant:
-A RH-Firewall-1-INPUT -m tcp -p tcp –dport 22 -j ACCEPT
Sauvegardez et fermez le fichier. redémarrez iptables:
# service iptables restart
Configuration serveur OpenSSH
Edit /etc/ssh/sshd_config, enter:
# vim /etc/ssh/sshd_config
Pour désactiver les connexions de root, modifier ou ajouter comme suit:
PermitRootLogin no
Restreindre connecter à l’utilisateur de dupon et eric que sur ssh:
AllowUsers dupon eric
Changer port ssh c’est à dire qu’il fonctionner sur un port non-standard comme 1235
Port 1235
Sauvegardez et fermez le fichier. redémarrez sshd:
# service sshd restart
Modules.conf Asterisk
modules.conf
Ce fichier défini les modules qui seront chargés au démarrage d’Asterisk. Les modules d’Asterisk se trouve dans : /usr/lib/asterisk/modules (sauf modification du fichier asterisk.conf).
Structure
Il se compose d’une seule entrée : [modules].
Il possède quatre paramètres : autoload, preload, load et noload.
autoload
Ce paramètre indique à Asterisk de charger tous les modules présents à l’exception des modules spécifiés par le paramètre ‘noload’. Ce paramètre ne doit apparaitre qu’une seule fois au début du fichier.
Par défaut , il vaut ‘yes’. Il est conseillé de le laisser à cette valeur, sinon vous devrez préciser tous les modules à charger un par un via le paramètre ‘load’.
preload
Ce paramètre indique à Asterisk quel sont les modules qui doivent être chargés en premier.
Il est souvent utilisé pour charger les modules liés aux base de données. La documentation précise :
Tous les modules qui doivent être chargées avant que le noyau Asterisk ait été initialisé (juste après les logs). Cela sera nécessaire si vous désirez utiliser la fonctionnalité 'realtime' pour les fichiers de configuration, car, dans ce cas, le module de la base de donnée contenant les paramètres 'realtime' doit être chargées avant que les modules utilisant ces fichiers de configuration ne soient eux-même chargés.
Ce paramètre peut être définit autant de fois que nécessaire.
Il est de la forme : preload => <nom_du_module>.so
Exemple :
preload => res_config_mysql.so
load
Ce paramètre permet de forcé le chargement d’un module de façon explicite. Ce paramètre peut être définit autant de fois que nécessaire.
il est de la forme : load => <nom_du_module>.so
Exemple :
load => res_musiconhold.so
noload
Ce paramètre indique à Asterisk de ne pas charger le module précisé. Ce paramètre peut être définit autant de fois que nécessaire.
il est de la forme : noload => <nom_du_module>.so
Exemple :
noload => chan_alsa.so
Utilisation
Forcer le chargement de modules
Cas très rare, le paramètre ‘autoload=yes’ effectuant le chargement de tous les modules présents. Utiliser principalement dans le cas d’utilisation de modules liés à des fonctionnalités externes à Asterisk, tel le TTS ou la reconnaissance de la parole.
Charger les modules dans un ordre définit
Utiliser principalement pour le ‘Realtime’, qui nécessite que les pilotes de base de données soient chargés en premier.
Optimisation d’Asterisk
Afin de ne pas utiliser de ressources pour rien, il peut être utile de ne pas charger les modules que vous n’utilisez pas. C’est le paramètre ‘noload’ qui sera employé dans ce cas. Les modules non utilisés étant principalement ceux liés aux codecs, si vous n’utilisez pas les fonctions image ou vidéo, vous pouvez, pas ce biais, indiquer à Asterisk de ne pas charger les modules correspondant.
Exemple 1 :
noload => chan_alsa.so noload => chan_oss.so noload => chan_ooh323.so noload => chan_mgcp.so
Les deux premières lignes indiquent à Asterisk de ne pas charger les modules liés à la carte son présente sur la machine.
Les deux lignes suivantes indiquent qu’il ne faut pas charger les modules liés aux protocoles H323 et MGCP.
Exemple 2 :
noload => format_jpeg.so noload => format_h263.so noload => format_h264.so
La première indique à Asterisk de ne pas charger le module jpeg liés aux images.
Les deux suivantes font de même pour les modules liés à l’utilisation de la vidéo sur IP.
Configuration snapshot Switch Alcatel OS6250-P24
Connexion en serials sur port console.
Login : admin
>aaa authentification default ” local”
>system name “Switch-num-21” (donne un nom au switch)
>session prompt default “Switch-num-21->” (donne un nom au prompt)
Switch-num-21->session timeout cli 240 (coupure de session client après 240 sec)
Switch-num-21->session timeout http 240 (coupure de session http après 240 sec)
Switch-num-21->ip interface “vlan1” address 192.168.200.250 mask 255.255.255.0 vlan 1 (affecter IP au switch)
Switch-num-21->lanpower start 1 (demarrer l’alimentation POE Power over Ethernet)
Switch-num-21->write memory (écrire la configuration en working)
Switch-num-21->copy working certified (copier la configuration en certified)
Switch-num-21->show configuration snapshot all (voir la config)
Switch-num-21->show lanpower 1 (Voir les prise alimenté)
Port Maximum(mW) Actual Used(mW) Status Priority On/Off Class
----+-----------+---------------+-----------+---------+--------+-------
1 31000 0 Powered Off Low ON -
2 31000 0 Powered Off Low ON -
3 31000 0 Powered Off Low ON -
4 31000 0 Powered Off Low ON -
5 31000 0 Powered Off Low ON -
6 31000 0 Powered Off Low ON -
7 15400 0 Powered Off Low ON -
8 15400 0 Powered Off Low ON -
9 15400 0 Powered Off Low ON -
10 15400 0 Powered Off Low ON -
11 15400 0 Powered Off Low ON -
12 15400 0 Powered Off Low ON -
13 15400 0 Powered Off Low ON -
14 15400 0 Powered Off Low ON -
15 15400 0 Powered Off Low ON -
16 15400 0 Powered Off Low ON -
17 15400 0 Powered Off Low ON -
18 15400 0 Powered Off Low ON -
19 15400 0 Powered Off Low ON -
20 15400 0 Powered Off Low ON -
21 15400 2400 Powered On Low ON 1
22 15400 0 Powered Off Low ON -
23 31000 0 Powered Off Low ON -
24 31000 0 Powered Off Low ON -
Slot 1 Max Watts 225
1 Power Supplies Available.
Switch-num-21->write memory flash-synchro (écrire la configuration et la syncro en certified).
Switch-num-21->No ip service http (block l’interface d’admin http).
httptunnel – Documentation Ubuntu
Installation
Installer le paquet HTTP-Tunnel
Fonctionnement
Le paquet http-tunnel doit être installé sur le client et sur le serveur. Ce paquet est composé du serveur http-tunnel qu’on appelle par la commande hts et du client http-tunnel qu’on appelle par la commande htc. Le principe est que le serveur http-tunnel écoute sur un port TCP donné (toujours au dessus de 1024) et que le client se connecte sur ce port afin de créer un tunnel. Ensuite le client FTP ou SSH désiré se connecte sur le client htc (en local la plupart du temps, nous allons y revenir) et le serveur hts, redirige le flux vers le serveur SSH (en local aussi).
__________ ___________
| PC Client | | PC Serveur |
|————-| |————–|
| Client SSH | | Serveur SSH |
| | | | ^ |
| | | | |
| V | | |
| Client HTC =============> Serveur HTS |
|__[23000]_| |__[10000]__ |
192.168.0.10 monsite.com
Configuration
Dans cet exemple le serveur hts écoute sur le port TCP 10000 de l’adresse monsite.com, et redirige tout ce qui arrive vers le port 22 de la même machine (localhost) pour le lancer on utilise la ligne de commande suivante :
hts -F localhost:22 10000
Utilisation
Sur le client on transfère le port de connexion SSH (23000) vers le serveur HTTP-Tunnel (monsite.com:10000) et il faut paramétrer le proxy si vous en utilisez un (voir options de connexion).
htc -F 23000 -P le_proxy:8080 monsite.com:10000
Il faut impérativement lancer le serveur HTTP-Tunnel avant le client, sinon la connexion qui passe au travers ne s’établit pas.
Ensuite il suffit de lancer la commande suivante sur le client pour se connecter au serveur.
ssh utilisateur@localhost -p 23000
Il est possible de faire touner simultanément plusieurs serveurs HTTP-Tunnel pour rediriger différents flux (SSH, FTP). Il faut qu’ils écoutent sur des ports différents mais toujours au dessus de 1024.
Script de démarrage
Ci dessous un script de démarrage pour /etc/init.d/ pour ajouter au démarrage du système le serveur HTTP-Tunnel.
Créez un fichier appelé /etc/init.d/httptunnel et rendez le éxecutable :
sudo touch /etc/init.d/httptunnel && sudo chmod 755 /etc/init.d/httptunnel
Pensez aussi à créer le fichier de log (/var/log/hts_server.log) avant de lancer ce script.
sudo touch /var/log/hts_server.log && sudo chmod 644 /var/log/hts_server.log
Ajouter httptunnel aux applications à démarrer au lancement du système.
sudo update-rc.d httptunnel defaults
Adding system startup for /etc/init.d/httptunnel …
/etc/rc0.d/K20httptunnel -> ../init.d/httptunnel
/etc/rc1.d/K20httptunnel -> ../init.d/httptunnel
/etc/rc6.d/K20httptunnel -> ../init.d/httptunnel
/etc/rc2.d/S20httptunnel -> ../init.d/httptunnel
/etc/rc3.d/S20httptunnel -> ../init.d/httptunnel
/etc/rc4.d/S20httptunnel -> ../init.d/httptunnel
/etc/rc5.d/S20httptunnel -> ../init.d/httptunnel
Éditez le fichier /etc/init.d/httptunnel en tant que root (sinon vous n’aurez pas les droits en écriture), et copier/coller le script ci-dessous dedans.
#!/bin/sh
#
### BEGIN INIT INFO
# Provides: httptunnel
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Start httptunnel as daemon at boot time
### END INIT INFO
#
# Declaration des variables
#
NO_PROCESS=`ps -ef | grep « hts -F » | grep -v grep | awk {‘print $2′}`
NB_PROCESS=`ps -ef | grep « hts -F » | grep -v grep | wc -l`
LOGFILE= »/var/log/hts_server.log »
DATE=`date +%d/%m/%Y-%Hh%Mm%Ss`
#
# Debut du script
#
case « $1″ in
start)
if [ $NB_PROCESS = "0" ]
then
echo « $DATE : Demarrage du Serveur HTTP-Tunnel »
echo « $0 $1 : $DATE : Demarrage du Serveur HTTP-Tunnel » >> $LOGFILE
hts -F localhost:22 10000
exit 0
else
echo « $DATE : Serveur HTTP-Tunnel deja demarre, process N° : $NO_PROCESS »
echo « $0 $1 : $DATE : Serveur HTTP-Tunnel deja demarre, process N° : $NO_PROCESS » >> $LOGFILE
exit 0
fi
;;
stop)
if [ $NB_PROCESS = "1" ]
then
echo « $DATE : Arret du Serveur HTTP-Tunnel »
echo « $0 $1 : $DATE : Arret du Serveur HTTP-Tunnel » >> $LOGFILE
echo « $0 $1 : $DATE : Kill du N° de process : $NO_PROCESS » >> $LOGFILE
kill -9 $NO_PROCESS
else
echo « $DATE : Serveur HTTP non demarre, pas besoin de l’arreter »
echo « $0 $1 : $DATE : Serveur HTTP non demarre, pas besoin de l’arreter » >> $LOGFILE
fi
;;
restart)
$0 stop
$0 start
;;
status)
if [ $NB_PROCESS = "0" ]
then
echo « $DATE : Aucun serveur HTTP-Tunnel en cours »
echo « $0 $1 : $DATE : Aucun serveur HTTP-Tunnel en cours » >> $LOGFILE
else
echo « $DATE : Serveur HTTP-Tunnel en cours : $NO_PROCESS »
echo « $0 $1 : $DATE : Serveur HTTP-Tunnel en cours : $NO_PROCESS » >> $LOGFILE
fi
;;
view_log)
cat $LOGFILE
;;
*)
echo
echo « Utilisation : $0 { start | stop | restart | status | view_log } »
echo
;;
esac
exit 0
Ce script peut donc être appelé par la commande /etc/init.d/httptunnel et accepte 4 arguments différents start pour lancer le service, stop pour l’arretêr, status pour afficher un état des lieux et view_log pour afficher le journal.
En cas de soucis
Si votre tunnel ne se crée pas coté serveur ou coté client, pensez à vérifier si le port demandé en écoute pour hts ou htc est bien libre.
sudo netstat -a | grep le_n°_de_port
Si le port est déja occupé cette commande affichera quelque chose dans le résultat, autrement elle n’affichera rien. Bon courage
Comment faire pour installer Apache2.4 PHP5 et MySQL à partir des sources.
1. Installer Apache 2.4 à partir des sources:
1.1 Pré-requis:
Pour l’installation sur Debian Apache2.4 vous avez besoin de la bibliothèque APR. Vous pouvez l’installer en utilisant la commande suivante:
apt-get install libaprutil1 libaprutil1-dev
1.2 Télécharger Apache2.4:
Téléchargez la dernière version ici: http://httpd.apache.org/download.cgi#apache24
Allez dans /usr/src et télécharger la dernière version.
cd /usr/src
wget http://lnx.apollo-hw.ro/apache//httpd/httpd-2.4.1.tar.gz
1.3 Extraire et installer Apache2.4:
tar-zxf httpd-2.4.1
cd httpd-2.4.1
. /configure-enable-so
make
make install
1.4 Mise en Apache2.4:
cd / usr/local/apache2 /
bin / apachectl start
Maintenant, allez à http://your_ip et vous verrez le message « It works! »
1.5 Mettre Apache en démarrage automatique au démarrage du système:
Modifier le fichier /etc/rc.local et ajoutez la ligne suivante avant exit 0:
/usr/local/apache2/bin/apachectl start
2. Installer MySQL à partir des sources:
Si vous prévoyez d’utiliser PHP5 avec MySQL, vous devez installer MySQL maintenant.
Vous pouvez installer MySQL de deux manières:
2.a Vous pouvez télécharger MySQL à partir de MySQL.com et installer en utilisant la commande suivante:
dpkg-i mysql-5.5.21-debian6.0-i686.deb
2.b Ou vous pouvez installer MySQL en utilisant la commande:
apt-get install mysql-server mysql-server
2.c Vérifier l’MySQL et le serveur MySQL s’il est démarer:
mysql -V
mysql Ver 14.14 Distrib 5.1.49, for debian-linux-gnu (i486) using readline 6.1
/etc/init.d/mysql start
Starting MySQL database server: mysqld.
Checking for corrupt, not cleanly closed and upgrade needing tables..
3. Installer PHP5 depuis la source:
3.1 Télécharger PHP5
Téléchargez la dernière version PHP5 code source à partir d’ici: Télécharger PHP5
Actuelle version stable est la 5.3.10.
cd /usr/src
wget http://www.php.net/get/php-5.3.10.tar.gz/from/ro.php.net/mirror
3.2 Extraire et installer PHP5
tar -zxf php-5.3.10.tar.gz
cd php-5.3.10
./configure –with-apxs2=/usr/local/apache2/bin/apxs –with-mysql
make
make install
3.3 Configurer le fichier httpd.conf pour l’utilisation de PHP5
Ajouter ces directives sont dans /usr/local/apache/conf/httpd.conf:
vim /usr/local/apache2/conf/httpd.conf
LoadModule php5_module modules/libphp5.so
AddHandler php5-script .php
# Add index.php to your DirectoryIndex line:
DirectoryIndex index.html index.php
AddType text/html .php
3.4 Redémarrer le serveur apache2.4
/usr/local/apache2/bin/apachectl restart
Créer un phpinfo.php le sous-répertoire usr/local/apache2/htdocs / avec le contenu suivant:
echo « <? php phpinfo ();?> »> / usr/local/apache2/htdocs/phpinfo.php
Maintenant, pour la http://your-ip/phpinfo.php qui montre une des informations détaillées sur toute la configuration PHP5.
MySQL chaîne à remplacer
Une fonction MySQL qui est extrêmement utile est la fonction REPLACE de MySQL ().
La syntaxe REPLACE se présente comme suit:
Par exemple, si pour une raison quelconque vous avez besoin de mettre à jour les liens dans
vos champs de corps et remplacer tous vos URL actuelle des liens avec des nouveaux liens,
vous pouvez utiliser la requête suivante:
REPLACE(str,from_str,to_str)
mettre à jour le corps ensemble ma_table = remplacer (le corps, «http://www.example1.com ‘,’ http://www.example2.com ‘);
Comment faire pour installer PHP 5.4 sur Debian en utilisant Dotdeb référentiel
Utilisation Dotdeb est très simple.
1. D’abord, ajoutez ces deux lignes à votre fichier /etc/apt/sources.list
deb http://packages.dotdeb.org squeeze-php54 all
deb-src http://packages.dotdeb.org squeeze-php54 all
2. Maintenant chercher la clé GnuPG appropriée:
wget http://www.dotdeb.org/dotdeb.gpg
cat dotdeb.gpg | sudo apt-key add -
3.Installez PHP 5.4:
Configurer APC (Alternative PHP Cache) pour moins de charge CPU
APC configuration:
Une fois que vous avez installé APC http://fabblog.fabaur.fr/?p=1128 tutoriel, vous devez le configurer.
APC fait usage d’un segment de mémoire partagée pour mettre en cache les scripts php.
Cela permet de multiples processus pour accéder au cache.
Vous pouvez configurer la façon dont ce segment est énorme en mégaoctets:
apc.shm_size=100M
Par défaut, APC cache tous les fichiers php demandé par les visiteurs de votre site web. Sur un serveur typique,
vous aurez beaucoup de milliers de fichiers source. Ainsi, dans le cas où vous contrôler la sortie de apc.php
vous verrez que avec le temps, même 100 Mo de mémoire n’est pas suffisante pour APC.
Il continuera à fonctionner hors de l’espace comme il essaie de mettre en cache tous les fichiers.
apc.ttl=1300
Vous préférerez peut-être de mettre en cache une partie seulement des fichiers tels que ceux utilisés par les sites les plus populaires sur le serveur. Pour ce faire, vous devez d’abord définir cette option: