LAMP : Différence entre versions
(Page créée avec « == PhpMyAdmin == L'installation de PhpMyAdmin se fait dans la foulée après celle de Mysql et Php : # apt-get install phpmyadmin Editer le fichier de configuration... ») |
|||
| (Une révision intermédiaire par le même utilisateur non affichée) | |||
| Ligne 19 : | Ligne 19 : | ||
note : PhpMyAdmin utilise les identifiants de l'admin de Mysql tels que définis à l'installation de Mysql | note : PhpMyAdmin utilise les identifiants de l'admin de Mysql tels que définis à l'installation de Mysql | ||
| + | |||
| + | == Blog avec WordPress== | ||
| + | |||
| + | Grâce à l'interface web de phpmyadmin, créer une base de données.<br /> | ||
| + | Nous appelons cette base de données : db_blog<br /> | ||
| + | Créer un utilisateur dans Mysql pour accéder à la base de données du blog : user_blog<br /> | ||
| + | Mettre un mot de passe aléatoire complexe (nous n'aurons pas à nous en souvenir) | ||
| + | mettre les autorisations pour user_blog sur db_blog<br /> | ||
| + | |||
| + | installer Wordpress : | ||
| + | cd /var/home/www/ | ||
| + | wget http://fr.wordpress.org/latest-fr_FR.zip | ||
| + | unzip latest-fr_FR.zip ./ | ||
| + | aller sur l'adresse du site, et suivre la configuration automatique, en renseignant les nom de la base/login/mot de passe/localhost | ||
| + | |||
| + | === Mise à jour === | ||
| + | |||
| + | Je suis obligé de faire des mises à jour manuelles de Wordpress. Je fais donc ici un petit récapitulatif des actions à effectuer : | ||
| + | (pb reglé : l'utilisateur d'Apache doit être le propriétaire des fichiers. Sinon, il faut renseigner un user/mdp FTP qui soit le propriétaire => OK vu que tous les utilisateurs FTP sont virtuels...) | ||
| + | |||
| + | wget http://fr.wordpress.org/latest-fr_FR.zip | ||
| + | unzip latest-fr_FR.zip | ||
| + | sauvegarder le site | ||
| + | cp -r blog/* /home/temp/ | ||
| + | cp -r worpress/* blog/ | ||
| + | Lancer le site, on arrive sur une page d'installation. S'aider de la sauvegarde /home/temp/wp-config.php pour renseigner les champs. <br /> | ||
| + | A la demande, fermer le site, et recopier les thèmes et uploads : | ||
| + | cp -r /home/temp/wp-content/themes/* blog/wp-content/themes/ | ||
| + | relancer le site et se connecter... | ||
| + | |||
| + | == AWSTATS == | ||
| + | |||
| + | '''En cours de mise en place et d'approfondissement...''' | ||
| + | |||
| + | Installation : | ||
| + | |||
| + | # apt-get install awstats | ||
| + | |||
| + | Définir l'alias utilisé par les différents domaines : | ||
| + | |||
| + | # '''vim /etc/apache2/sites-available/stats.conf''' | ||
| + | |||
| + | Alias /awstatsclasses "/usr/share/awstats/classes/" | ||
| + | Alias /awstatscss "/usr/share/awstats/css/" | ||
| + | Alias /awstats-icon "/usr/share/awstats/icon/" | ||
| + | |||
| + | ScriptAlias /stats /usr/lib/cgi-bin/awstats.pl | ||
| + | |||
| + | # mêmes paramètres que dans awstats.*.conf | ||
| + | <Directory /usr/lib/cgi-bin/> | ||
| + | DirectoryIndex awstats.pl | ||
| + | UseCanonicalName off | ||
| + | AuthType Digest | ||
| + | AuthName "Acces restreint aux stats" | ||
| + | AuthDigestDomain /awstats http://www.teteve.fr/awstats | ||
| + | AuthDigestProvider file | ||
| + | AuthUserFile /etc/apache2/.awstats.pwd | ||
| + | Require valid-user | ||
| + | Options +ExecCGI | ||
| + | AllowOverride None | ||
| + | Order allow,deny | ||
| + | Allow from all | ||
| + | </Directory> | ||
| + | |||
| + | # ''' a2ensite stats.conf | ||
| + | Enabling site stats. | ||
| + | To activate the new configuration, you need to run: | ||
| + | service apache2 reload | ||
| + | # '''service apache2 reload''' | ||
| + | |||
| + | Je n'explique pas le fonctionnement du "AuthDigestDomain" : ça fonctionne pour tous les sites : www.mondomaine.fr/awstats avec le même et unique fichier de conf...<br /> | ||
| + | recopier le fichier de conf par défaut : | ||
| + | # '''cp /etc/awstats/awstats.local.conf /etc/awstats/awstats.www.teteve.fr.conf''' | ||
| + | |||
| + | === Config === | ||
| + | |||
| + | '''<span style="color:red;">EN COURS...</span>''' | ||
| + | |||
| + | Extrait de mon fichier de config, à rapprocher de la [[Apache#Les_fichiers_de_conf|Conf d'Apache]] et des [[Apache#Les_vhosts|vhosts]]... <br /> | ||
| + | |||
| + | LogFile="/var/log/apache2/log/teteve.log" | ||
| + | LogType=W | ||
| + | |||
| + | J'ai barré les variables ne correspondant pas à un serveur web. A reprendre dans le cas d'un autre type de serveur. | ||
| + | # Enter here your log format (Must match your web server config. See setup | ||
| + | # instructions in documentation to know how to configure your web server to | ||
| + | # have the required log format). | ||
| + | # Possible values: 1,2,3,4 or "your_own_personalized_log_format" | ||
| + | # 1 - Apache or Lotus Notes/Domino native combined log format (NCSA combined/XLF/ELF log format) | ||
| + | # 2 - IIS or ISA format (IIS W3C log format). See FAQ-COM115 For ISA. | ||
| + | # 3 - Webstar native log format. | ||
| + | # 4 - Apache or Squid native common log format (NCSA common/CLF log format) | ||
| + | # With LogFormat=4, some features (browsers, os, keywords...) can't work. | ||
| + | # "your_own_personalized_log_format" = If your log is ftp, mail or other format, | ||
| + | # you must use following keys to define the log format string (See FAQ for | ||
| + | # ftp, mail or exotic web log format examples): | ||
| + | # %host Client hostname or IP address (or Sender host for mail log) | ||
| + | <s># %host_r Receiver hostname or IP address (for mail log)</s> | ||
| + | # %lognamequot Authenticated login/user with format: "john" | ||
| + | # %logname Authenticated login/user with format: john | ||
| + | # %time1 Date and time with format: [dd/mon/yyyy:hh:mm:ss +0000] or [dd/mon/yyyy:hh:mm:ss] | ||
| + | # %time2 Date and time with format: yyyy-mm-dd hh:mm:ss | ||
| + | # %time3 Date and time with format: Mon dd hh:mm:ss or Mon dd hh:mm:ss yyyy | ||
| + | # %time4 Date and time with unix timestamp format: dddddddddd | ||
| + | # %methodurl Method and URL with format: "GET /index.html HTTP/x.x" | ||
| + | # %methodurlnoprot Method and URL with format: "GET /index.html" | ||
| + | # %method Method with format: GET | ||
| + | # %url URL only with format: /index.html | ||
| + | # %query Query string (used by URLWithQuery option) | ||
| + | # %code Return code status (with format for web log: 999) | ||
| + | # %bytesd Size of document in bytes | ||
| + | # %refererquot Referer page with format: "http://from.com/from.htm" | ||
| + | # %referer Referer page with format: http://from.com/from.htm | ||
| + | # %uabracket User agent with format: [Mozilla/4.0 (compatible, ...)] | ||
| + | # %uaquot User agent with format: "Mozilla/4.0 (compatible, ...)" | ||
| + | # %ua User agent with format: Mozilla/4.0_(compatible...) | ||
| + | # %gzipin mod_gzip compression input bytes: In:XXX | ||
| + | # %gzipout mod_gzip compression output bytes & ratio: Out:YYY:ZZpct. | ||
| + | # %gzipratio mod_gzip compression ratio: ZZpct. | ||
| + | # %deflateratio mod_deflate compression ratio with format: (ZZ) | ||
| + | <s># %email EMail sender (for mail log)</s> | ||
| + | <s># %email_r EMail receiver (for mail log)</s> | ||
| + | # %virtualname Web sever virtual hostname. Use this tag when same log | ||
| + | # contains data of several virtual web servers. AWStats | ||
| + | # will discard records not in SiteDomain nor HostAliases | ||
| + | # %cluster If log file is provided from several computers (merged by | ||
| + | # logresolvemerge.pl), use this to define cluster id field. | ||
| + | # %extraX Another field that you plan to use for building a | ||
| + | # personalized report with ExtraSection feature (See later). | ||
| + | # If your log format has some fields not included in this list, use: | ||
| + | # %other Means another not used field | ||
| + | # %otherquot Means another not used double quoted field | ||
| + | # | ||
| + | # Examples for Apache combined logs (following two examples are equivalent): | ||
| + | # LogFormat = 1 | ||
| + | # LogFormat = "%host %other %logname %time1 %methodurl %code %bytesd %refererquot %uaquot" | ||
| + | # | ||
| + | # Example for IIS: | ||
| + | # LogFormat = 2 | ||
| + | # | ||
| + | LogFormat = %virtualname %host %logname %time1 %methodurl %code %bytesd %refererquot %uaquot | ||
| + | |||
| + | LogFile="/var/log/apache2/vhosts/teteve.log" | ||
| + | LogType=W | ||
| + | LogFormat = %virtualname %host %logname %time1 %methodurl %code %bytesd %refererquot %uaquot | ||
| + | LogSeparator=" " | ||
| + | |||
| + | J'ai été obligé de rajouter %bytesd sinon awstats refuse d'analyser les logs. | ||
| + | De même, je n'ai pas réussi à faire passer un "virtualname:port" | ||
| + | |||
| + | === Commande === | ||
| + | |||
| + | Pour lancer l'update manuellement (ou à rajouter dans un cron...) | ||
| + | /usr/lib/cgi-bin/awstats.pl -config=www.teteve.fr | ||
| + | |||
| + | == Web radio avec MPD et Icecast2 == | ||
| + | |||
| + | === Introduction === | ||
| + | |||
| + | Cette section est un tutoriel visant à expliquer comment installer, configurer et utiliser une web radio. | ||
| + | Tout d'abord, il faut savoir qu'elle est composée de plusieurs logiciels ayant des rôles spécifiques : | ||
| + | |||
| + | * Un lecteur audio, ==> MPD | ||
| + | * Un diffuseur de flux, ==> Icecast2 | ||
| + | * Une interface. ==> Pitchfork | ||
| + | |||
| + | |||
| + | === Lecteur audio : MPD (Music Player Daemon) === | ||
| + | ==== Installation ==== | ||
| + | |||
| + | Sous Debian : | ||
| + | # apt-get install mpd avahi-daemon | ||
| + | |||
| + | ==== Configuration ==== | ||
| + | Pour configurer MPD, il faut éditer le fichier de configuration : '''/etc/mpd.conf'''. | ||
| + | |||
| + | '''music_directory''' “chemin du Répertoire où se trouvent les fichiers audio” | ||
| + | '''playlist_directory''' “chemin du Répertoire où se trouvent les playlists” | ||
| + | '''db_file''' “chemin du Répertoire où se la Base de données MPD" | ||
| + | '''log_file''' “chemin du fichier log” | ||
| + | '''error_file''' “chemin du fichier log d'erreur” | ||
| + | '''pid_file''' “chemin du fichier pid” | ||
| + | |||
| + | '''password "XXXX@read,add,control,admin"''' | ||
| + | |||
| + | ''audio_output {'' | ||
| + | '''type''' “shout” # Type de flux | ||
| + | '''name''' “Teteve Radio” # Nom de la Web radio | ||
| + | '''host''' “localhost” # Nom d'hôte ou ip | ||
| + | '''port''' “8000″ # Port | ||
| + | '''mount''' “/mpd.ogg” # Point de montage pour Icecast | ||
| + | '''password''' “mot de passe qu'on réutilisera dans Icecast” # Password | ||
| + | '''quality''' “5″ # Qualité du flux | ||
| + | '''user''' “mpd” # Utilisateur système | ||
| + | '''description''' “Radio de teteve.fr” # Commentaires, description | ||
| + | '''genre''' “éclectique” # Genre de musique | ||
| + | ''}'' | ||
| + | |||
| + | ''audio_output { '' # Sortie audio bidon pour éviter | ||
| + | '''type''' "ao" # le message d'erreur : problem opening audio device | ||
| + | '''driver''' "null" | ||
| + | ''' name''' "Dummy output" | ||
| + | ''}'' | ||
| + | |||
| + | '''log_level''' "verbose" # log explicites | ||
| + | |||
| + | === Diffuseur de flux : Icecast === | ||
| + | ==== Installation ==== | ||
| + | |||
| + | Sous Debian : | ||
| + | # apt-get install icecast2 php5 php-pear | ||
| + | |||
| + | ==== Configuration ==== | ||
| + | Pour configurer Icecast2, il faut éditer le fichier '''/etc/icecast2/icecast.xml.''' | ||
| + | |||
| + | <icecast> | ||
| + | <limits> | ||
| + | <clients>'''10'''</clients> <-- ici, le nombre d'auditeurs simultanés autorisés | ||
| + | |||
| + | ... plus bas, ligne 23, reportez le mot de passe de /etc/mpd.conf: | ||
| + | |||
| + | <authentication> | ||
| + | <!-- Sources log in with username 'source' --> | ||
| + | <source-password>'''XXXXXXX'''</source-password> | ||
| + | Puis modifiez les paramètres par défaut d'authentification: | ||
| + | <!-- Relays log in username 'relay' --> | ||
| + | <relay-password>'''YYYYYYYYYY'''</relay-password> | ||
| + | L'Admin se connecte avec le nom d'utilisateur ci-dessous: | ||
| + | <admin-user>'''admin'''</admin-user> | ||
| + | <admin-password>'''ZZZZZZZZ'''</admin-password> | ||
| + | </authentication> | ||
| + | |||
| + | Pour pouvoir lister les dossiers : | ||
| + | <directory> #listage des dossiers | ||
| + | <yp-url-timeout>15</yp-url-timeout> | ||
| + | <yp-url>http://dir.xiph.org/cgi-bin/yp-cgi</yp-url> | ||
| + | </directory> | ||
| + | |||
| + | ligne 49, votre hôte (doit correspondre à ce que vous avez rentré au paramètre "host" du fichier de configuration de MPD) | ||
| + | |||
| + | <hostname>'''localhost'''</hostname> | ||
| + | |||
| + | Le port utilisé par Icecast, vous pouvez laisser 8000 | ||
| + | '''<listen-socket>''' | ||
| + | '''<port> '''8000''' </port>''' | ||
| + | '''</listen-socket>''' | ||
| + | '''<listen-socket>''' | ||
| + | '''<port> '''8001''' </port>''' | ||
| + | '''</listen-socket>''' | ||
| + | |||
| + | Le reste de la configuration d'Icecast : | ||
| + | |||
| + | '''<master-server> '''127.0.0.1''' </master-server>''' | ||
| + | '''<master-server-port> '''8000''' </master-server-port>''' | ||
| + | '''<master-update-interval> '''120''' </master-update-interval>''' | ||
| + | '''<master-password> '''XXXXX''' </master-password>''' | ||
| + | '''<fileserve> '''1''' </fileserve>''' | ||
| + | '''<shoutcast-mount> '''/mpd.ogg''' </shoutcast-mount>''' # Point de montage du flux | ||
| + | '''<paths>''' | ||
| + | '''<basedir> '''/usr/share/icecast2''' </basedir>''' # utilisé que lorsque chroot est activé | ||
| + | '''<logdir> '''/var/log/icecast2''' </logdir>''' #dossier des logs | ||
| + | '''<webroot> '''/usr/share/icecast2/web''' </webroot>''' #dossier interface | ||
| + | '''<adminroot> '''/usr/share/icecast2/admin''' </adminroot>''' #dossier interface administration | ||
| + | <alias source="/" dest="/status.xsl"/> #redirige vers la page de status | ||
| + | '''</paths>''' | ||
| + | '''<security>''' | ||
| + | '''<chroot>'''0'''</chroot>''' | ||
| + | '''</security>''' | ||
| + | ''' </icecast>''' | ||
| + | |||
| + | Pour que Icecast2 tourne en tâche de fond, éditer également: '''/etc/default/icecast2''' et modifier la fin du fichier pour obtenir: | ||
| + | |||
| + | '''ENABLE=true''' | ||
| + | |||
| + | Relance Icecast2 et MPD pour tenir compte des modifications: | ||
| + | |||
| + | #/etc/init.d/mpd restart | ||
| + | |||
| + | #/etc/init.d/icecast2 stop | ||
| + | |||
| + | #/etc/init.d/icecast2 start | ||
| + | |||
| + | Et créer la base de données de MPD: | ||
| + | |||
| + | #mpd --create-db | ||
| + | |||
| + | ==== Utilisation ==== | ||
| + | Vous accéderez a l'interface d'Icecast à une adresse du type: '''http://teteve.fr:8000''' | ||
| + | |||
| + | === Interface Web Cliente : Pitchfork === | ||
| + | ==== Installation ==== | ||
| + | |||
| + | Pour commencer, télécharger Pitchfork à l'adresse suivante : | ||
| + | [http://pitchfork.remiss.org/files/pitchfork-0.5.5.tar.bz2] | ||
| + | |||
| + | Ensuite : | ||
| + | * Décompresser l'archive à l'endroit de votre choix. | ||
| + | * Mettre l'utilisateur Apache (www-data) propiétaire du dossier '''"config"''' de Pitchfork | ||
| + | |||
| + | ==== Configuration ==== | ||
| + | |||
| + | Copier le fichier Pitchfork.conf dans le dossier de configuration du serveur web '''/etc/httpd/conf.d/''' | ||
| + | |||
| + | Dans le Pitchfork.conf : | ||
| + | |||
| + | Alias /teteveradio /home/teteve/www/teteveradio # radio accessible via teteve.fr/teteveradio | ||
| + | '''<Directory /home/teteve/www/teteveradio>''' | ||
| + | '''DirectoryIndex''' index.php | ||
| + | '''Options''' -Indexes | ||
| + | '''AllowOverride''' all | ||
| + | '''AddType application/x-httpd-php''' .php | ||
| + | '''php_flag magic_quotes_gpc''' off | ||
| + | '''php_flag magic_quotes_runtime''' off | ||
| + | '''php_flag display_errors''' on | ||
| + | '''php_flag log_errors''' on | ||
| + | ''# switch comment marks on the two items to disable access logging | ||
| + | # completely for pitchfork. See INSTALL'' | ||
| + | '''SetEnvIf''' Request_URI "player/command\.php" pitchforknolog | ||
| + | ''#SetEnv pitchforknolog'' | ||
| + | '''</Directory>''' | ||
| + | |||
| + | Lancer ensuite la page de config de Pitchfork : [http://teteve.fr/teteveradio/player/config.php] | ||
| + | |||
| + | Réglages de connexion : | ||
| + | Hôte : '''localhost''' | ||
| + | Port : '''6600''' | ||
| + | Mot de Passe : '''mot de passe MPD | ||
| + | |||
| + | Intégration du shoutcast : | ||
| + | http://'''<nom de domaine>''':'''<port icecast>'''/<'''point de montage du shout>''' | ||
| + | |||
| + | Ce qui donne pour notre exemple : | ||
| + | http://teteve.fr:8000/mpd.ogg | ||
| + | |||
| + | Vous pouvez également entrer cette URL dans un lecteur audio comme VLC pour écouter votre flux : | ||
| + | * Fichier/Ouvrir un flux réseau | ||
| + | * Sélectionner HTTP/HTTPS/FTP/MMS | ||
| + | * Entrer l'URL dans le champ à droite | ||
| + | |||
| + | ==== Utilisation ==== | ||
| + | Pour utiliser Pitchfork, il suffit ensuite de lancer l'URL configurée dans Pitchfork.conf : | ||
| + | [http://teteve.fr/teteveradio/] | ||
| + | |||
| + | [[Catégorie:Informatique]] | ||
| + | [[Catégorie:Serveur dédié]] | ||
| + | [[Catégorie:Système]] | ||
| + | [[Catégorie:Debian]] | ||
| + | [[Catégorie:Procédures]] | ||
Version actuelle datée du 13 juin 2017 à 14:04
PhpMyAdmin
L'installation de PhpMyAdmin se fait dans la foulée après celle de Mysql et Php :
# apt-get install phpmyadmin
Editer le fichier de configuration d'Apache :
# vim /etc/apache2/apache2.conf
Rajouter la ligne suivante :
include /etc/phpmyadmin/apache.conf
Pour accéder ensuite à l'interface de PhpMyAdmin, il suffit de se rendre sur le site web (ou en localhost si le serveur web n'est pas opérationnel) :
note : PhpMyAdmin utilise les identifiants de l'admin de Mysql tels que définis à l'installation de Mysql
Blog avec WordPress
Grâce à l'interface web de phpmyadmin, créer une base de données.
Nous appelons cette base de données : db_blog
Créer un utilisateur dans Mysql pour accéder à la base de données du blog : user_blog
Mettre un mot de passe aléatoire complexe (nous n'aurons pas à nous en souvenir)
mettre les autorisations pour user_blog sur db_blog
installer Wordpress :
cd /var/home/www/ wget http://fr.wordpress.org/latest-fr_FR.zip unzip latest-fr_FR.zip ./
aller sur l'adresse du site, et suivre la configuration automatique, en renseignant les nom de la base/login/mot de passe/localhost
Mise à jour
Je suis obligé de faire des mises à jour manuelles de Wordpress. Je fais donc ici un petit récapitulatif des actions à effectuer : (pb reglé : l'utilisateur d'Apache doit être le propriétaire des fichiers. Sinon, il faut renseigner un user/mdp FTP qui soit le propriétaire => OK vu que tous les utilisateurs FTP sont virtuels...)
wget http://fr.wordpress.org/latest-fr_FR.zip unzip latest-fr_FR.zip
sauvegarder le site
cp -r blog/* /home/temp/ cp -r worpress/* blog/
Lancer le site, on arrive sur une page d'installation. S'aider de la sauvegarde /home/temp/wp-config.php pour renseigner les champs.
A la demande, fermer le site, et recopier les thèmes et uploads :
cp -r /home/temp/wp-content/themes/* blog/wp-content/themes/
relancer le site et se connecter...
AWSTATS
En cours de mise en place et d'approfondissement...
Installation :
# apt-get install awstats
Définir l'alias utilisé par les différents domaines :
# vim /etc/apache2/sites-available/stats.conf
Alias /awstatsclasses "/usr/share/awstats/classes/" Alias /awstatscss "/usr/share/awstats/css/" Alias /awstats-icon "/usr/share/awstats/icon/" ScriptAlias /stats /usr/lib/cgi-bin/awstats.pl # mêmes paramètres que dans awstats.*.conf <Directory /usr/lib/cgi-bin/> DirectoryIndex awstats.pl UseCanonicalName off AuthType Digest AuthName "Acces restreint aux stats" AuthDigestDomain /awstats http://www.teteve.fr/awstats AuthDigestProvider file AuthUserFile /etc/apache2/.awstats.pwd Require valid-user Options +ExecCGI AllowOverride None Order allow,deny Allow from all </Directory>
# a2ensite stats.conf Enabling site stats. To activate the new configuration, you need to run: service apache2 reload # service apache2 reload
Je n'explique pas le fonctionnement du "AuthDigestDomain" : ça fonctionne pour tous les sites : www.mondomaine.fr/awstats avec le même et unique fichier de conf...
recopier le fichier de conf par défaut :
# cp /etc/awstats/awstats.local.conf /etc/awstats/awstats.www.teteve.fr.conf
Config
EN COURS...
Extrait de mon fichier de config, à rapprocher de la Conf d'Apache et des vhosts...
LogFile="/var/log/apache2/log/teteve.log" LogType=W J'ai barré les variables ne correspondant pas à un serveur web. A reprendre dans le cas d'un autre type de serveur. # Enter here your log format (Must match your web server config. See setup # instructions in documentation to know how to configure your web server to # have the required log format). # Possible values: 1,2,3,4 or "your_own_personalized_log_format" # 1 - Apache or Lotus Notes/Domino native combined log format (NCSA combined/XLF/ELF log format) # 2 - IIS or ISA format (IIS W3C log format). See FAQ-COM115 For ISA. # 3 - Webstar native log format. # 4 - Apache or Squid native common log format (NCSA common/CLF log format) # With LogFormat=4, some features (browsers, os, keywords...) can't work. # "your_own_personalized_log_format" = If your log is ftp, mail or other format, # you must use following keys to define the log format string (See FAQ for # ftp, mail or exotic web log format examples): # %host Client hostname or IP address (or Sender host for mail log)# %host_r Receiver hostname or IP address (for mail log)# %lognamequot Authenticated login/user with format: "john" # %logname Authenticated login/user with format: john # %time1 Date and time with format: [dd/mon/yyyy:hh:mm:ss +0000] or [dd/mon/yyyy:hh:mm:ss] # %time2 Date and time with format: yyyy-mm-dd hh:mm:ss # %time3 Date and time with format: Mon dd hh:mm:ss or Mon dd hh:mm:ss yyyy # %time4 Date and time with unix timestamp format: dddddddddd # %methodurl Method and URL with format: "GET /index.html HTTP/x.x" # %methodurlnoprot Method and URL with format: "GET /index.html" # %method Method with format: GET # %url URL only with format: /index.html # %query Query string (used by URLWithQuery option) # %code Return code status (with format for web log: 999) # %bytesd Size of document in bytes # %refererquot Referer page with format: "http://from.com/from.htm" # %referer Referer page with format: http://from.com/from.htm # %uabracket User agent with format: [Mozilla/4.0 (compatible, ...)] # %uaquot User agent with format: "Mozilla/4.0 (compatible, ...)" # %ua User agent with format: Mozilla/4.0_(compatible...) # %gzipin mod_gzip compression input bytes: In:XXX # %gzipout mod_gzip compression output bytes & ratio: Out:YYY:ZZpct. # %gzipratio mod_gzip compression ratio: ZZpct. # %deflateratio mod_deflate compression ratio with format: (ZZ)# %email EMail sender (for mail log)# %email_r EMail receiver (for mail log)# %virtualname Web sever virtual hostname. Use this tag when same log # contains data of several virtual web servers. AWStats # will discard records not in SiteDomain nor HostAliases # %cluster If log file is provided from several computers (merged by # logresolvemerge.pl), use this to define cluster id field. # %extraX Another field that you plan to use for building a # personalized report with ExtraSection feature (See later). # If your log format has some fields not included in this list, use: # %other Means another not used field # %otherquot Means another not used double quoted field # # Examples for Apache combined logs (following two examples are equivalent): # LogFormat = 1 # LogFormat = "%host %other %logname %time1 %methodurl %code %bytesd %refererquot %uaquot" # # Example for IIS: # LogFormat = 2 # LogFormat = %virtualname %host %logname %time1 %methodurl %code %bytesd %refererquot %uaquot LogFile="/var/log/apache2/vhosts/teteve.log" LogType=W LogFormat = %virtualname %host %logname %time1 %methodurl %code %bytesd %refererquot %uaquot LogSeparator=" "
J'ai été obligé de rajouter %bytesd sinon awstats refuse d'analyser les logs. De même, je n'ai pas réussi à faire passer un "virtualname:port"
Commande
Pour lancer l'update manuellement (ou à rajouter dans un cron...)
/usr/lib/cgi-bin/awstats.pl -config=www.teteve.fr
Web radio avec MPD et Icecast2
Introduction
Cette section est un tutoriel visant à expliquer comment installer, configurer et utiliser une web radio. Tout d'abord, il faut savoir qu'elle est composée de plusieurs logiciels ayant des rôles spécifiques :
- Un lecteur audio, ==> MPD
- Un diffuseur de flux, ==> Icecast2
- Une interface. ==> Pitchfork
Lecteur audio : MPD (Music Player Daemon)
Installation
Sous Debian :
# apt-get install mpd avahi-daemon
Configuration
Pour configurer MPD, il faut éditer le fichier de configuration : /etc/mpd.conf.
music_directory “chemin du Répertoire où se trouvent les fichiers audio” playlist_directory “chemin du Répertoire où se trouvent les playlists” db_file “chemin du Répertoire où se la Base de données MPD" log_file “chemin du fichier log” error_file “chemin du fichier log d'erreur” pid_file “chemin du fichier pid”
password "XXXX@read,add,control,admin"
audio_output {
type “shout” # Type de flux
name “Teteve Radio” # Nom de la Web radio
host “localhost” # Nom d'hôte ou ip
port “8000″ # Port
mount “/mpd.ogg” # Point de montage pour Icecast
password “mot de passe qu'on réutilisera dans Icecast” # Password
quality “5″ # Qualité du flux
user “mpd” # Utilisateur système
description “Radio de teteve.fr” # Commentaires, description
genre “éclectique” # Genre de musique
}
audio_output { # Sortie audio bidon pour éviter
type "ao" # le message d'erreur : problem opening audio device
driver "null"
name "Dummy output"
}
log_level "verbose" # log explicites
Diffuseur de flux : Icecast
Installation
Sous Debian :
# apt-get install icecast2 php5 php-pear
Configuration
Pour configurer Icecast2, il faut éditer le fichier /etc/icecast2/icecast.xml.
<icecast>
<limits>
<clients>10</clients> <-- ici, le nombre d'auditeurs simultanés autorisés
... plus bas, ligne 23, reportez le mot de passe de /etc/mpd.conf:
<authentication>
<source-password>XXXXXXX</source-password>
Puis modifiez les paramètres par défaut d'authentification:
<relay-password>YYYYYYYYYY</relay-password>
L'Admin se connecte avec le nom d'utilisateur ci-dessous:
<admin-user>admin</admin-user>
<admin-password>ZZZZZZZZ</admin-password>
</authentication>
Pour pouvoir lister les dossiers :
<directory> #listage des dossiers <yp-url-timeout>15</yp-url-timeout> <yp-url>http://dir.xiph.org/cgi-bin/yp-cgi</yp-url> </directory>
ligne 49, votre hôte (doit correspondre à ce que vous avez rentré au paramètre "host" du fichier de configuration de MPD)
<hostname>localhost</hostname>
Le port utilisé par Icecast, vous pouvez laisser 8000
<listen-socket> <port> 8000 </port> </listen-socket> <listen-socket> <port> 8001 </port> </listen-socket>
Le reste de la configuration d'Icecast :
<master-server> 127.0.0.1 </master-server>
<master-server-port> 8000 </master-server-port>
<master-update-interval> 120 </master-update-interval>
<master-password> XXXXX </master-password>
<fileserve> 1 </fileserve>
<shoutcast-mount> /mpd.ogg </shoutcast-mount> # Point de montage du flux
<paths>
<basedir> /usr/share/icecast2 </basedir> # utilisé que lorsque chroot est activé
<logdir> /var/log/icecast2 </logdir> #dossier des logs
<webroot> /usr/share/icecast2/web </webroot> #dossier interface
<adminroot> /usr/share/icecast2/admin </adminroot> #dossier interface administration
<alias source="/" dest="/status.xsl"/> #redirige vers la page de status
</paths>
<security>
<chroot>0</chroot>
</security>
</icecast>
Pour que Icecast2 tourne en tâche de fond, éditer également: /etc/default/icecast2 et modifier la fin du fichier pour obtenir:
ENABLE=true
Relance Icecast2 et MPD pour tenir compte des modifications:
#/etc/init.d/mpd restart
#/etc/init.d/icecast2 stop
#/etc/init.d/icecast2 start
Et créer la base de données de MPD:
#mpd --create-db
Utilisation
Vous accéderez a l'interface d'Icecast à une adresse du type: http://teteve.fr:8000
Interface Web Cliente : Pitchfork
Installation
Pour commencer, télécharger Pitchfork à l'adresse suivante : [1]
Ensuite :
- Décompresser l'archive à l'endroit de votre choix.
- Mettre l'utilisateur Apache (www-data) propiétaire du dossier "config" de Pitchfork
Configuration
Copier le fichier Pitchfork.conf dans le dossier de configuration du serveur web /etc/httpd/conf.d/
Dans le Pitchfork.conf :
Alias /teteveradio /home/teteve/www/teteveradio # radio accessible via teteve.fr/teteveradio
<Directory /home/teteve/www/teteveradio>
DirectoryIndex index.php
Options -Indexes
AllowOverride all
AddType application/x-httpd-php .php
php_flag magic_quotes_gpc off
php_flag magic_quotes_runtime off
php_flag display_errors on
php_flag log_errors on
# switch comment marks on the two items to disable access logging
# completely for pitchfork. See INSTALL
SetEnvIf Request_URI "player/command\.php" pitchforknolog
#SetEnv pitchforknolog
</Directory>
Lancer ensuite la page de config de Pitchfork : [2]
Réglages de connexion :
Hôte : localhost Port : 6600 Mot de Passe : mot de passe MPD
Intégration du shoutcast : http://<nom de domaine>:<port icecast>/<point de montage du shout>
Ce qui donne pour notre exemple : http://teteve.fr:8000/mpd.ogg
Vous pouvez également entrer cette URL dans un lecteur audio comme VLC pour écouter votre flux :
- Fichier/Ouvrir un flux réseau
- Sélectionner HTTP/HTTPS/FTP/MMS
- Entrer l'URL dans le champ à droite
Utilisation
Pour utiliser Pitchfork, il suffit ensuite de lancer l'URL configurée dans Pitchfork.conf : [3]