http://www.teteve.fr/wiki/api.php?action=feedcontributions&user=Teteve&feedformat=atomTeteve wiki - Contributions de l’utilisateur [fr]2024-03-28T11:05:08ZContributions de l’utilisateurMediaWiki 1.28.0http://www.teteve.fr/wiki/index.php?title=VSFTPD&diff=42VSFTPD2018-02-13T16:39:48Z<p>Teteve : </p>
<hr />
<div>==Prérequis==<br />
<br />
On va installer un serveur FTP, grâce à vsftpd (Very Secure FTP Daemon).<br /><br />
Les utilisateurs de ce FTP sont les webmasters des différents sites hébergés sur le serveur.<br /><br />
Les utilisateurs n'auront pas de compte système sur la machine. Il faudra donc créer une base d'utilisateurs dits "virtuels".<br /><br />
Chaque utilisateur sera également "chrooté" dans son répertoire. Chaque utilisateur pourra lire et écrire dans son répertoire.<br />
<br />
==Installation==<br />
<br />
Installation du paquet :<br />
# apt-get install vsftpd<br />
<br />
Si le répertoire /etc/vsftpd n'existe pas, le créer :<br />
# mkdir /etc/vsftpd<br />
<br />
Renommer les fichiers de configuration d'origine pour sauvegarde :<br />
# cp /etc/vsftpd.conf /etc/vsftpd.conf.default.bak<br />
# cp /etc/pam.d/vsftpd /etc/pam.d/vsftpd.default.bak<br />
<br />
Installation du paquet pour gérer la base de données login/mot de passe : libdb4-util<br />
# apt-get install libdb8.3<br />
# apt-get install db5.3-util db-util<br />
<br />
Remplir le fichiers des utilisateurs :<br />
# vim /etc/vsftpd/login.txt<br />
'''Important''' : respecter la syntaxe !<br /><br />
(retour à la ligne entre les deux et sans commentaires)<br />
utilisateur1<br />
mot de passe1<br />
utilisateur2<br />
mot de passe2<br />
<br />
Créer la base de données proprement dite :<br />
# db_load -T -t hash -f login.txt /etc/vsftpd/login.db<br />
# chmod 600 /etc/vsftpd/login.db<br />
<br />
# vim /etc/pam.d/vsftpd.pam<br />
auth required /lib/security/pam_userdb.so db=/etc/vsftpd/login<br />
account required /lib/security/pam_userdb.so db=/etc/vsftpd/login<br />
<br />
# cp /etc/pam.d/vsftpd.pam /etc/pam.d/vsftpd<br />
<br />
Le serveur FTP, géré par vsftpd, n'utilise pas les comptes système pour s'authentifier<br />
(d'où l'utilité de la base de données des utilisateurs => utilisateurs virtuels)<br /><br />
Il faut donc créer l'utilisateur système utilisé par le démon :<br />
# mkdir -p /home/ftp/virtual<br />
# groupadd ftp<br />
# useradd -g ftp -d /home/ftp/virtual/ virtual<br />
Vérifier dans les fichiers /etc/passwd et /etc/group<br />
# chown root.ftp ~virtual/<br />
# chmod 2750 ~virtual/<br />
<br />
==Configuration VSFTPD==<br />
<br />
# vim /etc/vsftpd.conf<br />
<br />
''# Ceci configure vsFTPd en mode "standalone"''<br />
'''listen=YES'''<br />
<br />
''# On désactive les connexions anonymes et on active les non-anonymes(c'est le cas des utilisateurs virtuels):''<br />
'''anonymous_enable=NO'''<br />
'''local_enable=YES'''<br />
<br />
''# On interdit par défaut toute possibilité d'écrire ou lire.''<br />
''# Ces droits seront gérés par utilisateurs, dans les fichiers de conf de chaque user''<br />
'''anon_mkdir_write_enable=NO'''<br />
'''anon_other_write_enable=NO''' <br />
'''anon_upload_enable=NO'''<br />
'''write_enable=NO'''<br />
<br />
''# guest_enable pour activer l'utilisateur virtuel''<br />
'''guest_enable=YES<br />
'''guest_username=virtual''' <br />
<br />
''# On veut que les utilisateurs virtuels restent dans ~virtual/'' <br />
'''chroot_local_user=YES'''<br />
<br />
''# On définit le nombre maximum de sessions à 4 (les nouveaux clients recevront un message du genre: "erreur : serveur occupé")''<br />
'''max_clients=10'''<br />
<br />
''# On définit le nombre maximum de sessions par IP à 4''<br />
'''# max_per_ip=4'''<br />
<br />
''# Configuration emplacement fichiers utilisateurs, jail chroot, et service pam'' <br />
'''secure_chroot_dir=/var/run/vsftpd'''<br />
'''pam_service_name=vsftpd''' <br />
'''user_config_dir=/etc/vsftpd/vsftpd_user_conf''' <br />
<br />
''#################### Supplément Teteve #############################''<br />
<br />
'''ftpd_banner=Bienvenue sur le serveur FTP de teteve.fr'''<br />
<br />
''# On active les logs pour les uploads/downloads''<br />
'''xferlog_enable=YES'''<br />
'''xferlog_file=/var/log/vsftpd-dl.log'''<br />
<br />
''# Connexion et ports pour le mode passif'' <br />
'''connect_from_port_20=YES'''<br />
'''pasv_address=87.98.141.85'''<br />
'''pasv_min_port=20000'''<br />
'''pasv_max_port=20100'''<br />
<br />
''# temps d'inactivité'' <br />
'''idle_session_timeout=600'''<br />
'''data_connection_timeout=120'''<br />
<br />
''################# Droits sur les fichiers uploadés #################''<br />
'''chown_uploads=YES'''<br />
'''chown_username=virtual'''<br />
'''chown_upload_mode=0750'''<br />
<br />
#### anon_umask=007<br />
# The value that the umask for file creation is set to for anonymous users.<br />
NOTE! If you want to specify octal values, remember the "0" prefix otherwise the value will be treated as a base 10 integer! <br />
# Default: 077<br />
<br />
#### chown_upload_mode=0760 <br />
# The file mode to force for chown()ed anonymous uploads. (Added in v2.0.6). <br />
# Default: 0600<br />
<br />
#### file_open_mode=0117<br />
# The permissions with which uploaded files are created. Umasks are applied on top of this value.<br />
You may wish to change to 0777 if you want uploaded files to be executable. <br />
# Default: 0666 <br />
<br />
#### local_umask=022<br />
# The value that the umask for file creation is set to for local users.<br />
NOTE! If you want to specify octal values, remember the "0" prefix otherwise the value will be treated as a base 10 integer! <br />
# Default: 077<br />
<br />
==Droits utilisateurs==<br />
# mkdir /etc/vsftpd/vsftpd_user_conf/<br />
Donner les droits en lecture (utilisateur1) et lecture/écriture (utilisateur2) :<br />
# echo "anon_world_readable_only=NO" > /etc/vsftpd/vsftpd_user_conf/utilisateur1<br />
<br />
# echo "anon_world_readable_only=NO" > /etc/vsftpd/vsftpd_user_conf/utilisateur2<br />
# echo "write_enable=YES" >> /etc/vsftpd/vsftpd_user_conf/utilisateur2<br />
# echo "anon_upload_enable=YES" >> /etc/vsftpd/vsftpd_user_conf/utilisateur2<br />
<br />
si besoin, rajouter deux lignes sur les ports ftp et modifier le firewall en conséquence<br />
<br />
=== Pour séparer le répertoire d'upload ===<br />
Créer le répertoire utiliser pour les uploads :<br />
# mkdir ~virtual/upload/<br />
# chmod 770 ~virtual/upload/<br />
<br />
Commandes pour séparer les répertoires d'upload de chaque utilisateur<br />
# cd ~virtual/<br />
# mkdir -p {utilisateur1/,utilisateur2/}/upload<br />
# chmod 2750 {utilisateur1/,utilisateur2/}<br />
# chmod 770 {utilisateur1/,utilisateur2/}/upload/<br />
# echo "local_root=utilisateur1" >> /etc/vsftpd/vsftpd_user_conf/utilisateur1<br />
# echo "local_root=utilisateur2" >> /etc/vsftpd/vsftpd_user_conf/utilisateur2<br />
<br />
On relance le serveur FTP pour prendre en compte tous ces paramètres :<br />
# /etc/init.d/vsftpd stop<br />
# /etc/init.d/vsftpd start<br />
<br />
== SSL ==<br />
===Préparation pour le SSL===<br />
Installer le paquet openssl<br />
# apt-get install openssl<br />
<br />
Créer le fichier certificat<br />
# openssl req -x509 -nodes -days 730 -newkey rsa:1024 -keyout vsftpd.pem -out vsftpd.pem<br />
Plusieurs questions seront posées afin de créer le certificat. La plus critique est celle-ci :<br />
Common Name (eg, YOUR name) []: <renseigner le nom ou l'ip que les clients utiliseront><br />
Une fois ce fichier certificat généré, il faut le copier dans le dossier /etc/ssl/certs.<br />
# cp vsftpd.pem /etc/ssl/certs<br />
Il faut ensuite le sécuriser :<br />
sudo chown root:root /etc/ssl/certs/vsftpd.pem<br />
sudo chmod 600 /etc/ssl/certs/vsftpd.pem<br />
Note : vsftp s'exécute avec les droits de l'utilisateur nobody mais il se lance en tant que root et donc lit le certificat en tant que root.<br />
<br />
''################## SSL : connexions cryptées ######################''<br />
'''ssl_enable=YES'''<br />
'''allow_anon_ssl=NO'''<br />
'''force_local_data_ssl=NO'''<br />
'''force_local_logins_ssl=YES'''<br />
'''ssl_tlsv1=YES'''<br />
'''ssl_sslv2=YES'''<br />
'''ssl_sslv3=YES'''<br />
'''rsa_cert_file=/etc/ssl/certs/vsftpd.pem'''<br />
'''rsa_private_key_file=/etc/ssl/certs/vsftpd.pem'''<br />
<br />
<br />
[[Catégorie:Informatique]]<br />
[[Catégorie:Debian]]<br />
[[Catégorie:Proxmox]]<br />
[[Catégorie:Serveur dédié]]<br />
[[Catégorie:Procédures]]</div>Tetevehttp://www.teteve.fr/wiki/index.php?title=LAMP&diff=41LAMP2017-06-13T13:04:44Z<p>Teteve : </p>
<hr />
<div><br />
== PhpMyAdmin == <br />
<br />
L'installation de PhpMyAdmin se fait dans la foulée après celle de Mysql et Php :<br />
<br />
# apt-get install phpmyadmin<br />
<br />
Editer le fichier de configuration d'Apache :<br />
<br />
# vim /etc/apache2/apache2.conf<br />
<br />
Rajouter la ligne suivante :<br />
<br />
include /etc/phpmyadmin/apache.conf<br />
<br />
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) :<br />
<br />
http://localhost/phpmyadmin<br />
<br />
note : PhpMyAdmin utilise les identifiants de l'admin de Mysql tels que définis à l'installation de Mysql<br />
<br />
== Blog avec WordPress==<br />
<br />
Grâce à l'interface web de phpmyadmin, créer une base de données.<br /><br />
Nous appelons cette base de données : db_blog<br /><br />
Créer un utilisateur dans Mysql pour accéder à la base de données du blog : user_blog<br /><br />
Mettre un mot de passe aléatoire complexe (nous n'aurons pas à nous en souvenir)<br />
mettre les autorisations pour user_blog sur db_blog<br /><br />
<br />
installer Wordpress :<br />
cd /var/home/www/<br />
wget http://fr.wordpress.org/latest-fr_FR.zip<br />
unzip latest-fr_FR.zip ./<br />
aller sur l'adresse du site, et suivre la configuration automatique, en renseignant les nom de la base/login/mot de passe/localhost<br />
<br />
=== Mise à jour ===<br />
<br />
Je suis obligé de faire des mises à jour manuelles de Wordpress. Je fais donc ici un petit récapitulatif des actions à effectuer :<br />
(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...)<br />
<br />
wget http://fr.wordpress.org/latest-fr_FR.zip<br />
unzip latest-fr_FR.zip<br />
sauvegarder le site<br />
cp -r blog/* /home/temp/<br />
cp -r worpress/* blog/<br />
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 /><br />
A la demande, fermer le site, et recopier les thèmes et uploads :<br />
cp -r /home/temp/wp-content/themes/* blog/wp-content/themes/<br />
relancer le site et se connecter...<br />
<br />
== AWSTATS ==<br />
<br />
'''En cours de mise en place et d'approfondissement...'''<br />
<br />
Installation :<br />
<br />
# apt-get install awstats<br />
<br />
Définir l'alias utilisé par les différents domaines :<br />
<br />
# '''vim /etc/apache2/sites-available/stats.conf'''<br />
<br />
Alias /awstatsclasses "/usr/share/awstats/classes/"<br />
Alias /awstatscss "/usr/share/awstats/css/"<br />
Alias /awstats-icon "/usr/share/awstats/icon/"<br />
<br />
ScriptAlias /stats /usr/lib/cgi-bin/awstats.pl<br />
<br />
# mêmes paramètres que dans awstats.*.conf<br />
<Directory /usr/lib/cgi-bin/><br />
DirectoryIndex awstats.pl<br />
UseCanonicalName off<br />
AuthType Digest<br />
AuthName "Acces restreint aux stats"<br />
AuthDigestDomain /awstats http://www.teteve.fr/awstats<br />
AuthDigestProvider file<br />
AuthUserFile /etc/apache2/.awstats.pwd<br />
Require valid-user<br />
Options +ExecCGI<br />
AllowOverride None<br />
Order allow,deny<br />
Allow from all<br />
</Directory><br />
<br />
# ''' a2ensite stats.conf<br />
Enabling site stats.<br />
To activate the new configuration, you need to run:<br />
service apache2 reload<br />
# '''service apache2 reload'''<br />
<br />
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 /><br />
recopier le fichier de conf par défaut :<br />
# '''cp /etc/awstats/awstats.local.conf /etc/awstats/awstats.www.teteve.fr.conf'''<br />
<br />
=== Config ===<br />
<br />
'''<span style="color:red;">EN COURS...</span>'''<br />
<br />
Extrait de mon fichier de config, à rapprocher de la [[Apache#Les_fichiers_de_conf|Conf d'Apache]] et des [[Apache#Les_vhosts|vhosts]]... <br /><br />
<br />
LogFile="/var/log/apache2/log/teteve.log"<br />
LogType=W<br />
<br />
J'ai barré les variables ne correspondant pas à un serveur web. A reprendre dans le cas d'un autre type de serveur.<br />
# Enter here your log format (Must match your web server config. See setup<br />
# instructions in documentation to know how to configure your web server to<br />
# have the required log format).<br />
# Possible values: 1,2,3,4 or "your_own_personalized_log_format"<br />
# 1 - Apache or Lotus Notes/Domino native combined log format (NCSA combined/XLF/ELF log format)<br />
# 2 - IIS or ISA format (IIS W3C log format). See FAQ-COM115 For ISA.<br />
# 3 - Webstar native log format.<br />
# 4 - Apache or Squid native common log format (NCSA common/CLF log format)<br />
# With LogFormat=4, some features (browsers, os, keywords...) can't work.<br />
# "your_own_personalized_log_format" = If your log is ftp, mail or other format,<br />
# you must use following keys to define the log format string (See FAQ for<br />
# ftp, mail or exotic web log format examples):<br />
# %host Client hostname or IP address (or Sender host for mail log)<br />
<s># %host_r Receiver hostname or IP address (for mail log)</s><br />
# %lognamequot Authenticated login/user with format: "john"<br />
# %logname Authenticated login/user with format: john<br />
# %time1 Date and time with format: [dd/mon/yyyy:hh:mm:ss +0000] or [dd/mon/yyyy:hh:mm:ss]<br />
# %time2 Date and time with format: yyyy-mm-dd hh:mm:ss<br />
# %time3 Date and time with format: Mon dd hh:mm:ss or Mon dd hh:mm:ss yyyy<br />
# %time4 Date and time with unix timestamp format: dddddddddd<br />
# %methodurl Method and URL with format: "GET /index.html HTTP/x.x"<br />
# %methodurlnoprot Method and URL with format: "GET /index.html"<br />
# %method Method with format: GET<br />
# %url URL only with format: /index.html<br />
# %query Query string (used by URLWithQuery option)<br />
# %code Return code status (with format for web log: 999)<br />
# %bytesd Size of document in bytes<br />
# %refererquot Referer page with format: "http://from.com/from.htm"<br />
# %referer Referer page with format: http://from.com/from.htm<br />
# %uabracket User agent with format: [Mozilla/4.0 (compatible, ...)]<br />
# %uaquot User agent with format: "Mozilla/4.0 (compatible, ...)"<br />
# %ua User agent with format: Mozilla/4.0_(compatible...)<br />
# %gzipin mod_gzip compression input bytes: In:XXX<br />
# %gzipout mod_gzip compression output bytes & ratio: Out:YYY:ZZpct.<br />
# %gzipratio mod_gzip compression ratio: ZZpct.<br />
# %deflateratio mod_deflate compression ratio with format: (ZZ)<br />
<s># %email EMail sender (for mail log)</s><br />
<s># %email_r EMail receiver (for mail log)</s><br />
# %virtualname Web sever virtual hostname. Use this tag when same log<br />
# contains data of several virtual web servers. AWStats<br />
# will discard records not in SiteDomain nor HostAliases<br />
# %cluster If log file is provided from several computers (merged by<br />
# logresolvemerge.pl), use this to define cluster id field.<br />
# %extraX Another field that you plan to use for building a<br />
# personalized report with ExtraSection feature (See later).<br />
# If your log format has some fields not included in this list, use:<br />
# %other Means another not used field<br />
# %otherquot Means another not used double quoted field<br />
#<br />
# Examples for Apache combined logs (following two examples are equivalent):<br />
# LogFormat = 1<br />
# LogFormat = "%host %other %logname %time1 %methodurl %code %bytesd %refererquot %uaquot"<br />
#<br />
# Example for IIS:<br />
# LogFormat = 2<br />
#<br />
LogFormat = %virtualname %host %logname %time1 %methodurl %code %bytesd %refererquot %uaquot<br />
<br />
LogFile="/var/log/apache2/vhosts/teteve.log"<br />
LogType=W<br />
LogFormat = %virtualname %host %logname %time1 %methodurl %code %bytesd %refererquot %uaquot<br />
LogSeparator=" "<br />
<br />
J'ai été obligé de rajouter %bytesd sinon awstats refuse d'analyser les logs.<br />
De même, je n'ai pas réussi à faire passer un "virtualname:port"<br />
<br />
=== Commande ===<br />
<br />
Pour lancer l'update manuellement (ou à rajouter dans un cron...)<br />
/usr/lib/cgi-bin/awstats.pl -config=www.teteve.fr<br />
<br />
== Web radio avec MPD et Icecast2 ==<br />
<br />
=== Introduction ===<br />
<br />
Cette section est un tutoriel visant à expliquer comment installer, configurer et utiliser une web radio.<br />
Tout d'abord, il faut savoir qu'elle est composée de plusieurs logiciels ayant des rôles spécifiques :<br />
<br />
* Un lecteur audio, ==> MPD <br />
* Un diffuseur de flux, ==> Icecast2<br />
* Une interface. ==> Pitchfork<br />
<br />
<br />
=== Lecteur audio : MPD (Music Player Daemon) ===<br />
==== Installation ====<br />
<br />
Sous Debian :<br />
# apt-get install mpd avahi-daemon<br />
<br />
==== Configuration ====<br />
Pour configurer MPD, il faut éditer le fichier de configuration : '''/etc/mpd.conf'''.<br />
<br />
'''music_directory''' “chemin du Répertoire où se trouvent les fichiers audio”<br />
'''playlist_directory''' “chemin du Répertoire où se trouvent les playlists”<br />
'''db_file''' “chemin du Répertoire où se la Base de données MPD"<br />
'''log_file''' “chemin du fichier log”<br />
'''error_file''' “chemin du fichier log d'erreur”<br />
'''pid_file''' “chemin du fichier pid”<br />
<br />
'''password "XXXX@read,add,control,admin"'''<br />
<br />
''audio_output {''<br />
'''type''' “shout” # Type de flux<br />
'''name''' “Teteve Radio” # Nom de la Web radio<br />
'''host''' “localhost” # Nom d'hôte ou ip<br />
'''port''' “8000″ # Port<br />
'''mount''' “/mpd.ogg” # Point de montage pour Icecast<br />
'''password''' “mot de passe qu'on réutilisera dans Icecast” # Password<br />
'''quality''' “5″ # Qualité du flux<br />
'''user''' “mpd” # Utilisateur système<br />
'''description''' “Radio de teteve.fr” # Commentaires, description<br />
'''genre''' “éclectique” # Genre de musique<br />
''}''<br />
<br />
''audio_output { '' # Sortie audio bidon pour éviter <br />
'''type''' "ao" # le message d'erreur : problem opening audio device<br />
'''driver''' "null" <br />
''' name''' "Dummy output" <br />
''}''<br />
<br />
'''log_level''' "verbose" # log explicites<br />
<br />
=== Diffuseur de flux : Icecast ===<br />
==== Installation ====<br />
<br />
Sous Debian :<br />
# apt-get install icecast2 php5 php-pear<br />
<br />
==== Configuration ====<br />
Pour configurer Icecast2, il faut éditer le fichier '''/etc/icecast2/icecast.xml.'''<br />
<br />
<icecast><br />
<limits><br />
<clients>'''10'''</clients> <-- ici, le nombre d'auditeurs simultanés autorisés<br />
<br />
... plus bas, ligne 23, reportez le mot de passe de /etc/mpd.conf:<br />
<br />
<authentication><br />
<!-- Sources log in with username 'source' --><br />
<source-password>'''XXXXXXX'''</source-password><br />
Puis modifiez les paramètres par défaut d'authentification:<br />
<!-- Relays log in username 'relay' --><br />
<relay-password>'''YYYYYYYYYY'''</relay-password><br />
L'Admin se connecte avec le nom d'utilisateur ci-dessous:<br />
<admin-user>'''admin'''</admin-user><br />
<admin-password>'''ZZZZZZZZ'''</admin-password><br />
</authentication><br />
<br />
Pour pouvoir lister les dossiers :<br />
<directory> #listage des dossiers<br />
<yp-url-timeout>15</yp-url-timeout><br />
<yp-url>http://dir.xiph.org/cgi-bin/yp-cgi</yp-url><br />
</directory><br />
<br />
ligne 49, votre hôte (doit correspondre à ce que vous avez rentré au paramètre "host" du fichier de configuration de MPD)<br />
<br />
<hostname>'''localhost'''</hostname><br />
<br />
Le port utilisé par Icecast, vous pouvez laisser 8000<br />
'''<listen-socket>'''<br />
'''<port> '''8000''' </port>'''<br />
'''</listen-socket>'''<br />
'''<listen-socket>'''<br />
'''<port> '''8001''' </port>'''<br />
'''</listen-socket>'''<br />
<br />
Le reste de la configuration d'Icecast :<br />
<br />
'''<master-server> '''127.0.0.1''' </master-server>'''<br />
'''<master-server-port> '''8000''' </master-server-port>'''<br />
'''<master-update-interval> '''120''' </master-update-interval>''' <br />
'''<master-password> '''XXXXX''' </master-password>'''<br />
'''<fileserve> '''1''' </fileserve>'''<br />
'''<shoutcast-mount> '''/mpd.ogg''' </shoutcast-mount>''' # Point de montage du flux<br />
'''<paths>'''<br />
'''<basedir> '''/usr/share/icecast2''' </basedir>''' # utilisé que lorsque chroot est activé<br />
'''<logdir> '''/var/log/icecast2''' </logdir>''' #dossier des logs<br />
'''<webroot> '''/usr/share/icecast2/web''' </webroot>''' #dossier interface<br />
'''<adminroot> '''/usr/share/icecast2/admin''' </adminroot>''' #dossier interface administration<br />
<alias source="/" dest="/status.xsl"/> #redirige vers la page de status<br />
'''</paths>'''<br />
'''<security>'''<br />
'''<chroot>'''0'''</chroot>'''<br />
'''</security>'''<br />
''' </icecast>'''<br />
<br />
Pour que Icecast2 tourne en tâche de fond, éditer également: '''/etc/default/icecast2''' et modifier la fin du fichier pour obtenir: <br />
<br />
'''ENABLE=true'''<br />
<br />
Relance Icecast2 et MPD pour tenir compte des modifications:<br />
<br />
#/etc/init.d/mpd restart<br />
<br />
#/etc/init.d/icecast2 stop<br />
<br />
#/etc/init.d/icecast2 start<br />
<br />
Et créer la base de données de MPD:<br />
<br />
#mpd --create-db<br />
<br />
==== Utilisation ====<br />
Vous accéderez a l'interface d'Icecast à une adresse du type: '''http://teteve.fr:8000'''<br />
<br />
=== Interface Web Cliente : Pitchfork ===<br />
==== Installation ====<br />
<br />
Pour commencer, télécharger Pitchfork à l'adresse suivante :<br />
[http://pitchfork.remiss.org/files/pitchfork-0.5.5.tar.bz2]<br />
<br />
Ensuite :<br />
* Décompresser l'archive à l'endroit de votre choix.<br />
* Mettre l'utilisateur Apache (www-data) propiétaire du dossier '''"config"''' de Pitchfork<br />
<br />
==== Configuration ====<br />
<br />
Copier le fichier Pitchfork.conf dans le dossier de configuration du serveur web '''/etc/httpd/conf.d/'''<br />
<br />
Dans le Pitchfork.conf :<br />
<br />
Alias /teteveradio /home/teteve/www/teteveradio # radio accessible via teteve.fr/teteveradio<br />
'''<Directory /home/teteve/www/teteveradio>'''<br />
'''DirectoryIndex''' index.php<br />
'''Options''' -Indexes<br />
'''AllowOverride''' all<br />
'''AddType application/x-httpd-php''' .php<br />
'''php_flag magic_quotes_gpc''' off<br />
'''php_flag magic_quotes_runtime''' off<br />
'''php_flag display_errors''' on<br />
'''php_flag log_errors''' on<br />
''# switch comment marks on the two items to disable access logging <br />
# completely for pitchfork. See INSTALL''<br />
'''SetEnvIf''' Request_URI "player/command\.php" pitchforknolog <br />
''#SetEnv pitchforknolog''<br />
'''</Directory>'''<br />
<br />
Lancer ensuite la page de config de Pitchfork : [http://teteve.fr/teteveradio/player/config.php]<br />
<br />
Réglages de connexion :<br />
Hôte : '''localhost'''<br />
Port : '''6600'''<br />
Mot de Passe : '''mot de passe MPD<br />
<br />
Intégration du shoutcast :<br />
http://'''<nom de domaine>''':'''<port icecast>'''/<'''point de montage du shout>'''<br />
<br />
Ce qui donne pour notre exemple :<br />
http://teteve.fr:8000/mpd.ogg<br />
<br />
Vous pouvez également entrer cette URL dans un lecteur audio comme VLC pour écouter votre flux :<br />
* Fichier/Ouvrir un flux réseau<br />
* Sélectionner HTTP/HTTPS/FTP/MMS<br />
* Entrer l'URL dans le champ à droite<br />
<br />
==== Utilisation ====<br />
Pour utiliser Pitchfork, il suffit ensuite de lancer l'URL configurée dans Pitchfork.conf :<br />
[http://teteve.fr/teteveradio/]<br />
<br />
[[Catégorie:Informatique]]<br />
[[Catégorie:Serveur dédié]]<br />
[[Catégorie:Système]]<br />
[[Catégorie:Debian]]<br />
[[Catégorie:Procédures]]</div>Tetevehttp://www.teteve.fr/wiki/index.php?title=Secu_LAMP&diff=40Secu LAMP2017-06-13T13:00:13Z<p>Teteve : </p>
<hr />
<div>== PHPMyAdmin ==<br />
<br />
Dans le fichier /etc/apache2/conf-available/phpmyadmin.conf<br />
Modifier :<br />
Alias /gestionsql /usr/share/phpmyadmin<br />
Commenter :<br />
# Authorize for setup<br />
#<Directory /usr/share/phpmyadmin/setup><br />
/usr/share/phpmyadmin/setup<br />
# <IfModule mod_authz_core.c><br />
# <IfModule mod_authn_file.c><br />
# AuthType Basic<br />
# AuthName "phpMyAdmin Setup"<br />
# AuthUserFile /etc/phpmyadmin/htpasswd.setup<br />
# </IfModule><br />
# Require valid-user<br />
# </IfModule><br />
#</Directory><br />
<br />
Supprimer le répertoire : /usr/share/phpmyadmin/setup<br />
<br />
mettre en SSL : [https://www.guillaume-leduc.fr/4-securiser-son-serveur-phpmyadmin.html]<br />
<br />
== WordPress ==<br />
<br />
modifier dans wp-content.php les lignes :<br />
<br />
define('AUTH_KEY', 'put your secret key');<br />
define('SECURE_AUTH_KEY', 'put your secret key');<br />
define('LOGGED_IN_KEY', 'put your secret key');<br />
define('NONCE_KEY', 'put your secret key');<br />
<br />
Générer des clés (dans le "moins meilleur des cas", aller sur le site [https://api.wordpress.org/secret-key/1.1 Générateur de clés] )<br />
<br />
Installer le pluggin TAC, qui permet de tester la qualité des thèmes installés, et surtout ne pas télécharger des thèmes n'importe où !!! :)<br />
<br />
lien externe :<br /><br />
http://digwp.com/2009/06/wordpress-configuration-tricks/</div>Tetevehttp://www.teteve.fr/wiki/index.php?title=LAMP&diff=39LAMP2017-06-13T12:59:40Z<p>Teteve : </p>
<hr />
<div><br />
== PhpMyAdmin == <br />
<br />
L'installation de PhpMyAdmin se fait dans la foulée après celle de Mysql et Php :<br />
<br />
# apt-get install phpmyadmin<br />
<br />
Editer le fichier de configuration d'Apache :<br />
<br />
# vim /etc/apache2/apache2.conf<br />
<br />
Rajouter la ligne suivante :<br />
<br />
include /etc/phpmyadmin/apache.conf<br />
<br />
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) :<br />
<br />
http://localhost/phpmyadmin<br />
<br />
note : PhpMyAdmin utilise les identifiants de l'admin de Mysql tels que définis à l'installation de Mysql<br />
<br />
== Blog avec WordPress==<br />
<br />
Grâce à l'interface web de phpmyadmin, créer une base de données.<br /><br />
Nous appelons cette base de données : db_blog<br /><br />
Créer un utilisateur dans Mysql pour accéder à la base de données du blog : user_blog<br /><br />
Mettre un mot de passe aléatoire complexe (nous n'aurons pas à nous en souvenir)<br />
mettre les autorisations pour user_blog sur db_blog<br /><br />
<br />
installer Wordpress :<br />
cd /var/home/www/<br />
wget http://fr.wordpress.org/latest-fr_FR.zip<br />
unzip latest-fr_FR.zip ./<br />
aller sur l'adresse du site, et suivre la configuration automatique, en renseignant les nom de la base/login/mot de passe/localhost<br />
<br />
=== Mise à jour ===<br />
<br />
Je suis obligé de faire des mises à jour manuelles de Wordpress. Je fais donc ici un petit récapitulatif des actions à effectuer :<br />
(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...)<br />
<br />
wget http://fr.wordpress.org/latest-fr_FR.zip<br />
unzip latest-fr_FR.zip<br />
sauvegarder le site<br />
cp -r blog/* /home/temp/<br />
cp -r worpress/* blog/<br />
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 /><br />
A la demande, fermer le site, et recopier les thèmes et uploads :<br />
cp -r /home/temp/wp-content/themes/* blog/wp-content/themes/<br />
relancer le site et se connecter...<br />
<br />
== AWSTATS ==<br />
<br />
'''En cours de mise en place et d'approfondissement...'''<br />
<br />
Installation :<br />
<br />
# apt-get install awstats<br />
<br />
Définir l'alias utilisé par les différents domaines :<br />
<br />
# '''vim /etc/apache2/sites-available/stats.conf'''<br />
<br />
Alias /awstatsclasses "/usr/share/awstats/classes/"<br />
Alias /awstatscss "/usr/share/awstats/css/"<br />
Alias /awstats-icon "/usr/share/awstats/icon/"<br />
<br />
ScriptAlias /stats /usr/lib/cgi-bin/awstats.pl<br />
<br />
# mêmes paramètres que dans awstats.*.conf<br />
<Directory /usr/lib/cgi-bin/><br />
DirectoryIndex awstats.pl<br />
UseCanonicalName off<br />
AuthType Digest<br />
AuthName "Acces restreint aux stats"<br />
AuthDigestDomain /awstats http://www.teteve.fr/awstats<br />
AuthDigestProvider file<br />
AuthUserFile /etc/apache2/.awstats.pwd<br />
Require valid-user<br />
Options +ExecCGI<br />
AllowOverride None<br />
Order allow,deny<br />
Allow from all<br />
</Directory><br />
<br />
# ''' a2ensite stats.conf<br />
Enabling site stats.<br />
To activate the new configuration, you need to run:<br />
service apache2 reload<br />
# '''service apache2 reload'''<br />
<br />
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 /><br />
recopier le fichier de conf par défaut :<br />
# '''cp /etc/awstats/awstats.local.conf /etc/awstats/awstats.www.teteve.fr.conf'''<br />
<br />
== Config ==<br />
<br />
'''<span style="color:red;">EN COURS...</span>'''<br />
<br />
Extrait de mon fichier de config, à rapprocher de la [[Apache#Les_fichiers_de_conf|Conf d'Apache]] et des [[Apache#Les_vhosts|vhosts]]... <br /><br />
<br />
LogFile="/var/log/apache2/log/teteve.log"<br />
LogType=W<br />
<br />
J'ai barré les variables ne correspondant pas à un serveur web. A reprendre dans le cas d'un autre type de serveur.<br />
# Enter here your log format (Must match your web server config. See setup<br />
# instructions in documentation to know how to configure your web server to<br />
# have the required log format).<br />
# Possible values: 1,2,3,4 or "your_own_personalized_log_format"<br />
# 1 - Apache or Lotus Notes/Domino native combined log format (NCSA combined/XLF/ELF log format)<br />
# 2 - IIS or ISA format (IIS W3C log format). See FAQ-COM115 For ISA.<br />
# 3 - Webstar native log format.<br />
# 4 - Apache or Squid native common log format (NCSA common/CLF log format)<br />
# With LogFormat=4, some features (browsers, os, keywords...) can't work.<br />
# "your_own_personalized_log_format" = If your log is ftp, mail or other format,<br />
# you must use following keys to define the log format string (See FAQ for<br />
# ftp, mail or exotic web log format examples):<br />
# %host Client hostname or IP address (or Sender host for mail log)<br />
<s># %host_r Receiver hostname or IP address (for mail log)</s><br />
# %lognamequot Authenticated login/user with format: "john"<br />
# %logname Authenticated login/user with format: john<br />
# %time1 Date and time with format: [dd/mon/yyyy:hh:mm:ss +0000] or [dd/mon/yyyy:hh:mm:ss]<br />
# %time2 Date and time with format: yyyy-mm-dd hh:mm:ss<br />
# %time3 Date and time with format: Mon dd hh:mm:ss or Mon dd hh:mm:ss yyyy<br />
# %time4 Date and time with unix timestamp format: dddddddddd<br />
# %methodurl Method and URL with format: "GET /index.html HTTP/x.x"<br />
# %methodurlnoprot Method and URL with format: "GET /index.html"<br />
# %method Method with format: GET<br />
# %url URL only with format: /index.html<br />
# %query Query string (used by URLWithQuery option)<br />
# %code Return code status (with format for web log: 999)<br />
# %bytesd Size of document in bytes<br />
# %refererquot Referer page with format: "http://from.com/from.htm"<br />
# %referer Referer page with format: http://from.com/from.htm<br />
# %uabracket User agent with format: [Mozilla/4.0 (compatible, ...)]<br />
# %uaquot User agent with format: "Mozilla/4.0 (compatible, ...)"<br />
# %ua User agent with format: Mozilla/4.0_(compatible...)<br />
# %gzipin mod_gzip compression input bytes: In:XXX<br />
# %gzipout mod_gzip compression output bytes & ratio: Out:YYY:ZZpct.<br />
# %gzipratio mod_gzip compression ratio: ZZpct.<br />
# %deflateratio mod_deflate compression ratio with format: (ZZ)<br />
<s># %email EMail sender (for mail log)</s><br />
<s># %email_r EMail receiver (for mail log)</s><br />
# %virtualname Web sever virtual hostname. Use this tag when same log<br />
# contains data of several virtual web servers. AWStats<br />
# will discard records not in SiteDomain nor HostAliases<br />
# %cluster If log file is provided from several computers (merged by<br />
# logresolvemerge.pl), use this to define cluster id field.<br />
# %extraX Another field that you plan to use for building a<br />
# personalized report with ExtraSection feature (See later).<br />
# If your log format has some fields not included in this list, use:<br />
# %other Means another not used field<br />
# %otherquot Means another not used double quoted field<br />
#<br />
# Examples for Apache combined logs (following two examples are equivalent):<br />
# LogFormat = 1<br />
# LogFormat = "%host %other %logname %time1 %methodurl %code %bytesd %refererquot %uaquot"<br />
#<br />
# Example for IIS:<br />
# LogFormat = 2<br />
#<br />
LogFormat = %virtualname %host %logname %time1 %methodurl %code %bytesd %refererquot %uaquot<br />
<br />
LogFile="/var/log/apache2/vhosts/teteve.log"<br />
LogType=W<br />
LogFormat = %virtualname %host %logname %time1 %methodurl %code %bytesd %refererquot %uaquot<br />
LogSeparator=" "<br />
<br />
J'ai été obligé de rajouter %bytesd sinon awstats refuse d'analyser les logs.<br />
De même, je n'ai pas réussi à faire passer un "virtualname:port"<br />
<br />
== Commande ==<br />
<br />
Pour lancer l'update manuellement (ou à rajouter dans un cron...)<br />
/usr/lib/cgi-bin/awstats.pl -config=www.teteve.fr<br />
<br />
[[Catégorie:Informatique]]<br />
[[Catégorie:Serveur dédié]]<br />
[[Catégorie:Système]]<br />
[[Catégorie:Debian]]<br />
[[Catégorie:Procédures]]</div>Tetevehttp://www.teteve.fr/wiki/index.php?title=Secu_LAMP&diff=38Secu LAMP2017-06-13T12:56:24Z<p>Teteve : Page créée avec « == PHPMyAdmin == Dans le fichier /etc/apache2/conf-available/phpmyadmin.conf Modifier : Alias /gestionsql /usr/share/phpmyadmin Commenter : # Authorize for setup #<D... »</p>
<hr />
<div>== PHPMyAdmin ==<br />
<br />
Dans le fichier /etc/apache2/conf-available/phpmyadmin.conf<br />
Modifier :<br />
Alias /gestionsql /usr/share/phpmyadmin<br />
Commenter :<br />
# Authorize for setup<br />
#<Directory /usr/share/phpmyadmin/setup><br />
/usr/share/phpmyadmin/setup<br />
# <IfModule mod_authz_core.c><br />
# <IfModule mod_authn_file.c><br />
# AuthType Basic<br />
# AuthName "phpMyAdmin Setup"<br />
# AuthUserFile /etc/phpmyadmin/htpasswd.setup<br />
# </IfModule><br />
# Require valid-user<br />
# </IfModule><br />
#</Directory><br />
<br />
Supprimer le répertoire : /usr/share/phpmyadmin/setup<br />
<br />
mettre en SSL : [https://www.guillaume-leduc.fr/4-securiser-son-serveur-phpmyadmin.html]</div>Tetevehttp://www.teteve.fr/wiki/index.php?title=LAMP&diff=37LAMP2017-06-13T12:56:00Z<p>Teteve : 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... »</p>
<hr />
<div><br />
== PhpMyAdmin == <br />
<br />
L'installation de PhpMyAdmin se fait dans la foulée après celle de Mysql et Php :<br />
<br />
# apt-get install phpmyadmin<br />
<br />
Editer le fichier de configuration d'Apache :<br />
<br />
# vim /etc/apache2/apache2.conf<br />
<br />
Rajouter la ligne suivante :<br />
<br />
include /etc/phpmyadmin/apache.conf<br />
<br />
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) :<br />
<br />
http://localhost/phpmyadmin<br />
<br />
note : PhpMyAdmin utilise les identifiants de l'admin de Mysql tels que définis à l'installation de Mysql</div>Tetevehttp://www.teteve.fr/wiki/index.php?title=Accueil&diff=36Accueil2017-06-13T12:54:34Z<p>Teteve : </p>
<hr />
<div>'''NOUVEL ACCUEIL'''<br />
<br />
== Présentation ==<br />
<br />
Ce wiki sert de support pour le développement d'une base de connaissance en relation avec l'informatique, et plus spécialement sur Linux.<br /><br />
Comme tout le reste du site, il est en perpétuelle évolution, et se remplit peu à peu.<br /><br />
Lorsque toutes les sections seront complètement renseignées, je pense que le projet pourra être considéré comme achevé... pour la mise en place seulement !! :)<br />
INFORMATION : seules les personnes enregistrées sur ce wiki peuvent le modifier.<br />
N'hésitez pas à vous inscrire si vous souhaiter modifier, corriger ou rajouter quelque chose...<br />
<br />
== Serveur dédié OVH ==<br />
<br />
* [[VPS|Les VPS]]<br />
* [[Reseau|Configuration du réseau / Firewall]]<br />
* [[Logs|Les logs]]<br />
* Les sauvegardes<br />
* La supervision<br />
** Nagios<br />
* Configurations diverses :<br />
** ......<br />
<br />
=== Les logiciels / Les services ===<br />
<br />
* [[Bind|Serveur DNS]]<br />
* Serveur web :<br />
** [[Apache]]<br />
** [[LAMP|Les logiciels web]]<br />
* [[MySQL]]<br />
* [[VSFTPD]]<br />
* LDAP<br />
* SVN<br />
<br />
* Messagerie :<br />
** Postfix<br />
** Dovecot<br />
** Exim4<br />
<br />
* Travail collaboratif<br />
** Kolab<br />
** SoGo<br />
<br />
=== Généralités / Théorie ===<br />
<br />
* [[Arborescence_et_repertoires|Arborescence et répertoires]]<br />
* [[Cron|Cron et crontab]]<br />
<br />
=== Commandes utiles ===<br />
<br />
* [[Ligne_commande|La ligne de commande (configuration perso du shell)]]<br />
* [[Commandes|Commandes utiles]]<br />
* [[Fichiers|Les fichiers]]<br />
* [[Fichiers2|Les fichiers - suite]]<br />
* [[Surveillance|Surveiller le système]]<br />
* [[QOS|Le réseau / Bande passante - QoS]]<br />
* Disque dur<br />
* Aide mémoire<br />
<br />
=== Scripts ===<br />
<br />
* Zsh<br />
* VIM<br />
* Outils<br />
* [[Bash|Généralités shell]]<br />
<br />
=== Sécurité ===<br />
<br />
* [[Firewall]]<br />
* [[Fail2ban]]<br />
* [[Secu_LAMP|Apache/PHP/MySQL]]<br />
* AntiVirus|Clamav / spamassassin<br />
* [[Tips_securite|Tips sécurité sur les serveurs]]<br />
<br />
=== TODO ===<br />
<br />
=== Les liens utiles ===<br />
<br />
== Windows ==<br />
<br />
=== Scripts VB/VBA/VBS ===<br />
<br />
* [[Connexion_AD|Connexions AD]]<br />
* [[Divers_VB|Divers VB]]<br />
<br />
<br />
'''ANCIEN ACCUEIL'''<br />
<br />
== Présentation ==<br />
<br />
Ce wiki sert de support pour le développement d'une base de connaissance en relation avec l'informatique, et plus spécialement sur Linux.<br /><br />
Comme tout le reste du site, il est en perpétuelle évolution, et se remplit peu à peu.<br /><br />
Lorsque toutes les sections seront complètement renseignées, je pense que le projet pourra être considéré comme achevé... pour la mise en place seulement !! :)<br />
INFORMATION : seules les personnes enregistrées sur ce wiki peuvent le modifier.<br />
N'hésitez pas à vous inscrire si vous souhaiter modifier, corriger ou rajouter quelque chose...<br />
<br />
== Serveur dédié OVH ==<br />
<br />
* [[VPS|Les VPS]]<br />
* [[Reseau|Configuration du réseau / Firewall]]<br />
* [[Logs|Les logs]]<br />
* Les sauvegardes<br />
* La supervision<br />
** Nagios<br />
* Configurations diverses :<br />
** ......<br />
<br />
=== Les logiciels / Les services ===<br />
<br />
* Serveur DNS :<br />
** [[Bind]]<br />
** [[DNSSEC]]<br />
* Serveur web :<br />
** [[Apache]]<br />
* Les logiciels web<br />
** [[Wordpress|Wordpress]]<br />
** [[PHPMyAdmin|PHPMyAdmin]]<br />
** [[Webradio|Webradio]]<br />
* [[Awstats]]<br />
* [[VSFTPD]]<br />
* LDAP<br />
* SVN<br />
<br />
* [[MySQL]]<br />
<br />
* Messagerie :<br />
** Postfix<br />
** Dovecot<br />
** Exim4<br />
<br />
* Travail collaboratif<br />
** Kolab<br />
** SoGo<br />
<br />
=== Généralités / Théorie ===<br />
<br />
* [[Arborescence_et_repertoires|Arborescence et répertoires]]<br />
* [[Cron|Cron et crontab]]<br />
<br />
=== Commandes utiles ===<br />
<br />
* [[Ligne_commande|La ligne de commande (configuration perso du shell)]]<br />
* [[Commandes|Commandes utiles]]<br />
* [[Fichiers|Les fichiers]]<br />
* [[Fichiers2|Les fichiers - suite]]<br />
* [[Surveillance|Surveiller le système]]<br />
* [[QOS|Le réseau / Bande passante - QoS]]<br />
* Disque dur<br />
* Aide mémoire<br />
<br />
=== Scripts ===<br />
<br />
* Zsh<br />
* VIM<br />
* Outils<br />
* [[Bash|Généralités shell]]<br />
<br />
=== Sécurité ===<br />
<br />
* [[Firewall]]<br />
* [[Fail2ban]]<br />
* [[Secu_LAMP|Apache/PHP/MySQL]]<br />
* AntiVirus|Clamav / spamassassin<br />
* [[Tips_securite|Tips sécurité sur les serveurs]]<br />
<br />
=== TODO ===<br />
<br />
=== Les liens utiles ===<br />
<br />
== Windows ==<br />
<br />
=== Scripts VB/VBA/VBS ===<br />
<br />
* [[Connexion_AD|Connexions AD]]<br />
* [[Divers_VB|Divers VB]]<br />
<br />
--<br />
<br />
Aide MediaWiki<br />
* [http://www.mediawiki.org/wiki/Manual:Configuration_settings Liste des paramètres de configuration]<br />
* [http://fr.wikipedia.org/wiki/Aide:Syntaxe La syntaxe de MediaWiki]<br />
* [http://www.mediawiki.org/wiki/Manual:FAQ/fr FAQ sur MediaWiki]<br />
* [http//meta.wikimedia.org/wiki/Aide:Contenu Guide de l’utilisateur] <br />
<br />
[[Catégorie:Accueil]]<br />
[[Catégorie:Informatique]]<br />
<br />
----<br />
[http://creativecommons.org/licenses/by-nc-sa/2.0/fr/ Licence CC BY-NC-SA 2.0]</div>Tetevehttp://www.teteve.fr/wiki/index.php?title=Apache&diff=35Apache2017-06-13T12:51:30Z<p>Teteve : </p>
<hr />
<div>== Pré requis (installation) ==<br />
<br />
Rien de bien compliqué pour l'installation :<br />
<br />
# apt-get install apache2<br />
<br />
== Configuration ==<br />
<br />
=== Les fichiers de conf ===<br />
<br />
J'indique ici quelques lignes particulière du fichier de conf d'apache sur lesquelles je me suis penché...<br/><br />
Le fichier envvars :<br/><br />
export APACHE_RUN_USER=virtual<br />
export APACHE_RUN_GROUP=www-data<br />
-> Modifié pour que l'utilisateur FTP et l'utilisateur d'Apache soit le même. Permet les mises à jour automatiques de Wordpress sans utiliser de login/mdp FTP<br/><br />
-> Vérifier si besoin / si c'est mieux de remettre www-data...<br />
<br />
# vim /etc/apache2/apache2.conf<br />
<br />
# Indique si Apache doit essayer de faire une résolution DNS inversée sur les IP des clients<br />
HostnameLookups Off<br />
<br />
ServerRoot "/etc/apache2"<br />
DirectoryIndex index.php index.html # Indique quel type de fichier index doit sélectionner apache par défaut<br />
<br />
# Config perso des pages d'erreur<br />
# Peut être défini plus précisément plus loin dans ce fichier<br />
ErrorDocument 404 /404.html<br />
<br />
# Les logs d'erreur sont peu configurables, à part leur emplacement et le niveau :<br />
ErrorLog ${APACHE_LOG_DIR}/error.log<br />
# Valeurs possibles pour les niveaux de log : debug, info, notice, warn, error, crit, alert, emerg.<br />
LogLevel warn<br />
<br />
# Modèle de sécurité par défaut des répertoires utilisés par Apache<br />
# À analyser plus finement...<br />
<Directory /><br />
Options FollowSymLinks<br />
AllowOverride None<br />
Require all denied<br />
</Directory><br />
<br />
<Directory /usr/share><br />
AllowOverride None<br />
Require all granted<br />
</Directory><br />
<br />
<Directory /home/www/><br />
Options Indexes FollowSymLinks<br />
AllowOverride None<br />
Require all granted<br />
</Directory><br />
<br />
#<Directory /srv/><br />
# Options Indexes FollowSymLinks<br />
# AllowOverride None<br />
# Require all granted<br />
#</Directory><br />
<br />
# Configuration des logs :<br />
'''# EN COURS D'APPROFONDISSEMENT...'''<br />
<br />
VOIR LA PARTIE "LOGS" (faire une ancre)<br />
<br />
=== Les vhosts ===<br />
<br />
D'après la documentation d'Apache, voici la configuration préconisée :<br />
Cette configuration est "hors vhosts". Elle adresse donc le "serveur principal", ou "serveur par défaut".<br />
Je mets ici une redirection vers la page 404 : si on n'est pas dans un vhost prévu, on a rien à faire là... :)<br />
<br />
Il est possible d'utiliser des noms d'hôtes dans la définition d'un serveur virtuel, mais ils seront résolus en adresses IP au démarrage du serveur.<br />
Si une résolution de nom échoue, cette définition de serveur virtuel sera ignorée.<br />
Cette méthode est par conséquent déconseillée.<br />
<br />
<br />
# Serveur "principal", qui répondra pour les vhosts non déclarés :<br />
# interrogation d'Apache par l'IP par exemple, ou nom de domaine pointant vers le VPS sans qu'il soit déclaré dans Apache<br />
ServerName 178.32.102.151<br />
DocumentRoot /home/www/teteve/vps2<br />
<br />
# La directive NameVirtualHost doit de préférence contenir une adresse IP et/ou un port (Joker * accepté)<br />
# C'est le couple IP/Port utilisé par Apache (doit être défini dans la directive "Listen"), pour lequel Apache doit filtrer les noms d'hôtes<br />
NameVirtualHost 178.32.102.151<br />
<br />
<VirtualHost 178.32.102.151><br />
DocumentRoot /www/example.com<br />
ServerName www.example.com<br />
<br />
# D'autres directives ici ...<br />
<br />
</VirtualHost><br />
<br />
<VirtualHost 178.32.102.151><br />
DocumentRoot /www/example.org<br />
ServerName www.example.org<br />
<br />
# D'autres directives ici ...<br />
<br />
</VirtualHost><br />
<br />
Voici un fichier de conf d'un Vhost :<br />
<br />
'''<VirtualHost www.toto.fr>''' # Nom du virtualhost (défini normalement dans la directive "NameVirtualHost")<br />
'''ServerAdmin webmaster@localhost''' # Mail du webmaster (pas trop compliqué à comprendre... :p)<br />
'''ServerName www.toto.fr''' # Nom du serveur<br />
'''ServerAlias www2.toto.fr''' # Un éventuel alias<br />
'''DocumentRoot /home/www/toto'''<br />
'''<Directory />'''<br />
'''Options FollowSymLinks''' # Autorise à suivre les liens symboliques<br />
'''AllowOverride None'''<br />
'''</Directory>'''<br />
'''<Directory /home/www/toto/>'''<br />
# Indexes : Ne liste pas les fichiers d'un répertoire s'il n'y a pas de fichier index.*<br />
'''Options Indexes FollowSymLinks MultiViews'''<br />
'''AllowOverride None'''<br />
'''Order allow,deny'''<br />
'''allow from all'''<br />
# This directive allows us to have apache2's default start page<br />
# in /apache2-default/, but still have / go to the right place<br />
# RedirectMatch ^/$ www.toto.fr<br />
'''</Directory>'''<br />
'''<Directory /home/www/secure/>'''<br />
# Config du répertoire sécurisé (voir ci-dessous)<br />
'''</Directory>'''<br />
ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/ # Pour la config des scripts CGI<br />
<Directory "/usr/lib/cgi-bin"><br />
# A approfondir<br />
</Directory><br />
ErrorLog /var/log/apache2/error.log<br />
# Si besoin de logs particuliers pour le vhost :<br />
# Valeurs possibles : debug, info, notice, warn, error, crit, alert, emerg.<br />
# Non utilisées actuellement<br />
#LogLevel warn<br />
#CustomLog /var/log/apache2/access.log combined<br />
'''</VirtualHost>'''<br />
Ne pas oublier de rajouter le nom du vhost dans /etc/hosts<br />
<br />
Petite astuce pour désactiver l'accès à votre serveur par son IP publique : <br /><br />
Dans le fichier de conf du vhost "default", rajouter ceci à la fin. Ça peut être utile pour éviter les scans de port et les bots. Totalement inutile si le DNS est public... <br /><br />
A éviter pour un site web souhaitant être référencé !!! :)<br />
<VirtualHost *:80><br />
ServerName VOTRE.IP.PUB.LIQUE<br />
<Directory /><br />
Deny from all<br />
</Directory><br />
</VirtualHost><br />
<br />
Liens pour approfondir les vhosts :<br />
http://httpd.apache.org/docs/2.4/fr/vhosts/details.html<br />
http://httpd.apache.org/docs/2.4/fr/vhosts/examples.html<br />
<br />
== Les logs ==<br />
<br />
'''# EN COURS D'APPROFONDISSEMENT...'''<br />
<br />
LogFormat "%v:%p %h %l %u %t \"%r\" %>s %O \"%{Referer}i\" \"%{User-Agent}i\"" vhost_combined<br />
LogFormat "%h %l %u %t \"%r\" %>s %O \"%{Referer}i\" \"%{User-Agent}i\"" combined<br />
LogFormat "%h %l %u %t \"%r\" %>s %O" common<br />
LogFormat "%{Referer}i -> %U" referer<br />
LogFormat "%{User-agent}i" agent<br />
<br />
Devient :<br />
<br />
LogFormat "%v:%p %a %h %l %u %t \"%r\" %>s %T \"%{Referer}i\" \"%{User-Agent}i\"" vhost_combined<br />
LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined<br />
LogFormat "%h %l %u %t \"%r\" %>s %b" common<br />
LogFormat "%{Referer}i -> %U" referer<br />
LogFormat "%{User-agent}i" agent<br />
# Define an access log for VirtualHosts that don't define their own logfile<br />
CustomLog /var/log/apache2/other_vhosts_access.log vhost_combined<br />
<br />
=== LogFormat ===<br />
Directives présentes dans le fichier /etc/apache2/apache.conf d'après [http://doc.ubuntu-fr.org/apache2 La documentation Ubuntu]<br />
# format des lignes contenues dans les logs<br />
# %a Adresse ip distante.<br />
# %A Adresse ip local.<br />
# %B Taille de la réponse en octets, excluant l'entête HTTP.<br />
# %b Taille de la réponse en octets, excluant l'entête HTTP au format CLF.<br />
# %{Foobar}C Contenu du cookie "Foobar" de la requête envoyée au serveur.<br />
# %D Le temps mis à servir la requête .<br />
# %{FOOBAR}e Contenue de la variable d'environnement "FOOBAR".<br />
# %f Nom du fichier.<br />
# %h Hôte distant.<br />
# %H Le protocole demandé.<br />
# %{Foobar}i Le contenu de "Foobar": Ligne(s) d'en-tête de la requête envoyée au serveur.<br />
# %l nom du fichier de log distant (de identd, si il est fournit). Cela retournera un tiret tant que //mod_ident// n'est pas présent et //IdentityCheck// n'est pas mis à ON.<br />
# %m Méthode de la requête.<br />
# %{Foobar}n Contenu de la note "Foobar" provenant d'un autre module.<br />
# %{Foobar}o Le contenu de "Foobar": Ligne(s) d'entête dans la réponse.<br />
# %p Port canonique du serveur qui sert la réponse.<br />
# %P Id du processus fils qui a servi la requête.<br />
# %{format}P Id du processus ou du thread fils qui a servi la requête.<br />
# Les formats valides sont pid, tid, et hextid.<br />
# hextid nécessite APR 1.2.0 ou supérieur.<br />
# %q Chaînes de la requête (Commençant avec un ? si une chaine de requête existe, sinon une chaîne vide)<br />
# %r Première ligne de la requête.<br />
# %s Statut. Pour les requête redirigées en interne, ceci est la requête originale --- %>s pour la dernière.<br />
# %t Heure à laquelle la requête a été reçue (format standard anglais mois jour année )<br />
# %{format}t L'heure, au format précisé, qui doit être dans les formats de strftime(3). (potentiellement localisé).<br />
# %T Le temps mis pour répondre à la requête.<br />
# %u Utilisateur distant (de l'authentification; peut être faux si le code de retour de statut (%s) est 401)<br />
# %U Url demandée, n'inclue aucune chaîne de requête.<br />
# %v Nom canonique de ServerName du serveur qui répond à la requête.<br />
# %V Nom du serveur en fonction du paramètre UseCanonicalName.<br />
# %X Statut de la connexion une fois la réponse envoyée.<br />
# X = connexion annulée avant la réponse complète.<br />
# + = la connexion peut être maintenue après l'envoi de la réponse.<br />
# - = la connexion sera fermée après l'envoi de la réponse.<br />
# %I Octets reçus, incluant l'entête et la requête, ne peut être nul. Vous devez activer //mod_logio// pour l'utiliser.<br />
# %O Octets envoyés, incluant l'entête, ne peut être nul. Vous devez activer //mod_logio// pour l'utiliser.<br />
<br />
LogFormat "%h %l %h %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined<br />
LogFormat "%h %l %u %t \"%r\" %>s %b" common<br />
LogFormat "%{Referer}i -> %U" referer<br />
LogFormat "%{User-agent}i" agent<br />
<br />
Celles que j'ai dans le mien :<br />
LogFormat "%v %a %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" vhost_combined<br />
#LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined<br />
#LogFormat "%h %l %u %t \"%r\" %>s %b" common<br />
#LogFormat "%{Referer}i -> %U" referer<br />
#LogFormat "%{User-agent}i" agent<br />
#<br />
# Define an access log for VirtualHosts that don't define their own logfile<br />
CustomLog /var/log/apache2/other_vhosts_access.log vhost_combined<br />
<br />
'''Explications :'''<br />
LogFormat "%v %a %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" vhost_combined<br />
%v - Nom canonique de ServerName du serveur qui répond à la requête.<br />
%a - Adresse ip distante.<br />
%u - Utilisateur distant (de l'authentification; peut être faux si le code de retour de statut (%s) est 401)<br />
%t - Heure à laquelle la requête a été reçue (format standard anglais mois jour année )<br />
"%r" - Première ligne de la requête.<br />
%>s - Statut. Pour les requête redirigées en interne, ceci est la requête originale --- %>s pour la dernière.<br />
%b - Taille de la réponse en octets, excluant l'entête HTTP au format CLF. (obligatoire pour [[Awstats]])<br />
%{Referer}i - Le contenu de "Referer": Ligne(s) d'en-tête de la requête envoyée au serveur.<br />
%{User-Agent}i - Le contenu de "User-Agent": Ligne(s) d'en-tête de la requête envoyée au serveur.<br />
<br />
== Quelques tips sur Apache2 ==<br />
<br />
=== Les commandes apache2 ===<br />
root@test ~ # apache2 -h<br />
Usage: apache2 [-D name] [-d directory] [-f file]<br />
[-C "directive"] [-c "directive"]<br />
[-k start|restart|graceful|graceful-stop|stop]<br />
[-v] [-V] [-h] [-l] [-L] [-t] [-S] [-X]<br />
Options:<br />
-D name : define a name for use in <IfDefine name> directives<br />
-d directory : Spécifie un répertoire racine specify an alternate initial ServerRoot<br />
-f file : specify an alternate ServerConfigFile<br />
-C "directive" : process directive before reading config files<br />
-c "directive" : process directive after reading config files<br />
-e level : show startup errors of level (see LogLevel)<br />
-E file : log startup errors to file<br />
-v : show version number<br />
-V : show compile settings<br />
-h : list available command line options (this page)<br />
-l : list compiled in modules<br />
-L : list available configuration directives<br />
-t -D DUMP_VHOSTS : show parsed settings (currently only vhost settings)<br />
-S : a synonym for -t -D DUMP_VHOSTS<br />
-t -D DUMP_MODULES : show all loaded modules<br />
-M : a synonym for -t -D DUMP_MODULES<br />
-t : run syntax check for config files<br />
-X : debug mode (only one worker, do not detach)<br />
<br />
=== restreindre l'accès à un répertoire ===<br />
<br />
Sous Apache, il existe 2 types d'authentification possible :<br />
* mod_auth_basic<br />
* mod_auth_digest<br />
<br />
pour activer le module mod_auth_digest :<br />
a2dismod mod_auth_basic<br />
a2enmod mod_auth_digest<br />
/etc/init.d/apache2 restart<br />
L'authentification Basic envoie le couple login/password en clair sur le réseau.<br />
Elle est donc déconseillée sans être couplée avec SSL.<br />
L'authentification Digest utilise les condensés MD5. Attention : Digest est mal supporté par IE 6 et antérieur, à cause du non-respect des RFC de la part de IE (original... ^^).<br />
<br />
Il est possible de mettre les directives d'authentification soit dans le/les fichiers(s) de configuration d'apache (typiquement apache2.conf), soit directement dans les répertoires concernés grace aux fichiers .htaccess.<br />
Il est conseillé, dans la mesure du possible, d'utiliser les directives <Directory> dans apache2.conf pour sécuriser les répertoires. Dans le cas contraire, Apache devra parcourir tous les répertoires à la recherche de fichiers .htaccess, ce qui risque d'amoindrir les performances.<br />
<br />
<Directory /home/www/secure/><br />
AuthType Digest<br />
AuthName "Zone securisee"<br />
AuthDigestDomain /secure/ http://www.teteve.fr/secure/<br />
AuthDigestProvider file<br />
AuthUserFile /etc/apache2/password<br />
Require valid-user<br />
</Directory><br />
<br />
créer le premier couple login/password :<br />
htdigest -c /ou/vous/voulez "Zone securisee" login1<br />
Un prompt vous demande alors de taper le mot de passe, puis de le confirmer. Créer ensuite les couples login/password en enlevant l'option "-c" (pour "create").<br />
service apache2 reload<br />
<br />
[[Catégorie:Informatique]]<br />
[[Catégorie:Serveur dédié]]<br />
[[Catégorie:Système]]<br />
[[Catégorie:Debian]]<br />
[[Catégorie:Procédures]]</div>Tetevehttp://www.teteve.fr/wiki/index.php?title=Accueil&diff=34Accueil2017-06-13T08:31:50Z<p>Teteve : </p>
<hr />
<div><br />
<br />
ANCIEN ACCUEIL<br />
<br />
== Présentation ==<br />
<br />
Ce wiki sert de support pour le développement d'une base de connaissance en relation avec l'informatique, et plus spécialement sur Linux.<br /><br />
Comme tout le reste du site, il est en perpétuelle évolution, et se remplit peu à peu.<br /><br />
Lorsque toutes les sections seront complètement renseignées, je pense que le projet pourra être considéré comme achevé... pour la mise en place seulement !! :)<br />
INFORMATION : seules les personnes enregistrées sur ce wiki peuvent le modifier.<br />
N'hésitez pas à vous inscrire si vous souhaiter modifier, corriger ou rajouter quelque chose...<br />
<br />
== Serveur dédié OVH ==<br />
<br />
* [[VPS|Les VPS]]<br />
* [[Reseau|Configuration du réseau / Firewall]]<br />
* [[Logs|Les logs]]<br />
* Les sauvegardes<br />
* La supervision<br />
** Nagios<br />
* Configurations diverses :<br />
** ......<br />
<br />
=== Les logiciels / Les services ===<br />
<br />
* Serveur DNS :<br />
** [[Bind]]<br />
** [[DNSSEC]]<br />
* Serveur web :<br />
** [[Apache]]<br />
* Les logiciels web<br />
** [[Wordpress|Wordpress]]<br />
** [[PHPMyAdmin|PHPMyAdmin]]<br />
** [[Webradio|Webradio]]<br />
* [[Awstats]]<br />
* [[VSFTPD]]<br />
* LDAP<br />
* SVN<br />
<br />
* [[MySQL]]<br />
<br />
* Messagerie :<br />
** Postfix<br />
** Dovecot<br />
** Exim4<br />
<br />
* Travail collaboratif<br />
** Kolab<br />
** SoGo<br />
<br />
=== Généralités / Théorie ===<br />
<br />
* [[Arborescence_et_repertoires|Arborescence et répertoires]]<br />
* [[Cron|Cron et crontab]]<br />
<br />
=== Commandes utiles ===<br />
<br />
* [[Ligne_commande|La ligne de commande (configuration perso du shell)]]<br />
* [[Commandes|Commandes utiles]]<br />
* [[Fichiers|Les fichiers]]<br />
* [[Fichiers2|Les fichiers - suite]]<br />
* [[Surveillance|Surveiller le système]]<br />
* [[QOS|Le réseau / Bande passante - QoS]]<br />
* Disque dur<br />
* Aide mémoire<br />
<br />
=== Scripts ===<br />
<br />
* Zsh<br />
* VIM<br />
* Outils<br />
* [[Bash|Généralités shell]]<br />
<br />
=== Sécurité ===<br />
<br />
* [[Firewall]]<br />
* [[Fail2ban]]<br />
* [[Secu_LAMP|Apache/PHP/MySQL]]<br />
* AntiVirus|Clamav / spamassassin<br />
* [[Tips_securite|Tips sécurité sur les serveurs]]<br />
<br />
=== TODO ===<br />
<br />
=== Les liens utiles ===<br />
<br />
== Windows ==<br />
<br />
=== Scripts VB/VBA/VBS ===<br />
<br />
* [[Connexion_AD|Connexions AD]]<br />
* [[Divers_VB|Divers VB]]<br />
<br />
--<br />
<br />
Aide MediaWiki<br />
* [http://www.mediawiki.org/wiki/Manual:Configuration_settings Liste des paramètres de configuration]<br />
* [http://fr.wikipedia.org/wiki/Aide:Syntaxe La syntaxe de MediaWiki]<br />
* [http://www.mediawiki.org/wiki/Manual:FAQ/fr FAQ sur MediaWiki]<br />
* [http//meta.wikimedia.org/wiki/Aide:Contenu Guide de l’utilisateur] <br />
<br />
[[Catégorie:Accueil]]<br />
[[Catégorie:Informatique]]<br />
<br />
----<br />
[http://creativecommons.org/licenses/by-nc-sa/2.0/fr/ Licence CC BY-NC-SA 2.0]</div>Tetevehttp://www.teteve.fr/wiki/index.php?title=Accueil&diff=33Accueil2017-06-13T08:29:16Z<p>Teteve : </p>
<hr />
<div>== Présentation ==<br />
<br />
Ce wiki sert de support pour le développement d'une base de connaissance en relation avec l'informatique, et plus spécialement sur Linux.<br /><br />
Comme tout le reste du site, il est en perpétuelle évolution, et se remplit peu à peu.<br /><br />
Lorsque toutes les sections seront complètement renseignées, je pense que le projet pourra être considéré comme achevé... pour la mise en place seulement !! :)<br />
INFORMATION : seules les personnes enregistrées sur ce wiki peuvent le modifier.<br />
N'hésitez pas à vous inscrire si vous souhaiter modifier, corriger ou rajouter quelque chose...<br />
<br />
== Serveur dédié OVH ==<br />
<br />
* [[VPS|Les VPS]]<br />
* [[Reseau|Configuration du réseau / Firewall]]<br />
* [[Logs|Les logs]]<br />
* Les sauvegardes<br />
* La supervision<br />
** Nagios<br />
* Configurations diverses :<br />
** ......<br />
<br />
=== Les logiciels / Les services ===<br />
<br />
* Serveur DNS :<br />
** [[Bind]]<br />
** [[DNSSEC]]<br />
* Serveur web :<br />
** [[Apache]]<br />
** [[LAMP|Les logiciels web]]<br />
* [[MySQL]]<br />
* [[VSFTPD]]<br />
* LDAP<br />
* SVN<br />
<br />
* Messagerie :<br />
** Postfix<br />
** Dovecot<br />
** Exim4<br />
<br />
* Travail collaboratif<br />
** Kolab<br />
** SoGo<br />
<br />
=== Généralités / Théorie ===<br />
<br />
* [[Arborescence_et_repertoires|Arborescence et répertoires]]<br />
* [[Cron|Cron et crontab]]<br />
<br />
=== Commandes utiles ===<br />
<br />
* [[Ligne_commande|La ligne de commande (configuration perso du shell)]]<br />
* [[Commandes|Commandes utiles]]<br />
* [[Fichiers|Les fichiers]]<br />
* [[Fichiers2|Les fichiers - suite]]<br />
* [[Surveillance|Surveiller le système]]<br />
* [[QOS|Le réseau / Bande passante - QoS]]<br />
* Disque dur<br />
* Aide mémoire<br />
<br />
=== Scripts ===<br />
<br />
* Zsh<br />
* VIM<br />
* Outils<br />
* [[Bash|Généralités shell]]<br />
<br />
=== Sécurité ===<br />
<br />
* [[Firewall]]<br />
* [[Fail2ban]]<br />
* [[Secu_LAMP|Apache/PHP/MySQL]]<br />
* AntiVirus|Clamav / spamassassin<br />
* [[Tips_securite|Tips sécurité sur les serveurs]]<br />
<br />
=== TODO ===<br />
<br />
=== Les liens utiles ===<br />
<br />
== Windows ==<br />
<br />
=== Scripts VB/VBA/VBS ===<br />
<br />
* [[Connexion_AD|Connexions AD]]<br />
* [[Divers_VB|Divers VB]]<br />
<br />
--<br />
<br />
Aide MediaWiki<br />
* [http://www.mediawiki.org/wiki/Manual:Configuration_settings Liste des paramètres de configuration]<br />
* [http://fr.wikipedia.org/wiki/Aide:Syntaxe La syntaxe de MediaWiki]<br />
* [http://www.mediawiki.org/wiki/Manual:FAQ/fr FAQ sur MediaWiki]<br />
* [http//meta.wikimedia.org/wiki/Aide:Contenu Guide de l’utilisateur] <br />
<br />
[[Catégorie:Accueil]]<br />
[[Catégorie:Informatique]]<br />
<br />
----<br />
[http://creativecommons.org/licenses/by-nc-sa/2.0/fr/ Licence CC BY-NC-SA 2.0]</div>Tetevehttp://www.teteve.fr/wiki/index.php?title=PHPMyAdmin&diff=32PHPMyAdmin2017-06-13T08:24:36Z<p>Teteve : 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... »</p>
<hr />
<div><br />
== PhpMyAdmin == <br />
<br />
L'installation de PhpMyAdmin se fait dans la foulée après celle de Mysql et Php :<br />
<br />
# apt-get install phpmyadmin<br />
<br />
Editer le fichier de configuration d'Apache :<br />
<br />
# vim /etc/apache2/apache2.conf<br />
<br />
Rajouter la ligne suivante :<br />
<br />
include /etc/phpmyadmin/apache.conf<br />
<br />
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) :<br />
<br />
http://localhost/phpmyadmin<br />
<br />
note : PhpMyAdmin utilise les identifiants de l'admin de Mysql tels que définis à l'installation de Mysql<br />
<br />
Sécurisation :<br />
<br />
Dans le fichier /etc/apache2/conf-available/phpmyadmin.conf<br />
Modifier :<br />
Alias /gestionsql /usr/share/phpmyadmin<br />
Commenter :<br />
# Authorize for setup<br />
#<Directory /usr/share/phpmyadmin/setup><br />
/usr/share/phpmyadmin/setup<br />
# <IfModule mod_authz_core.c><br />
# <IfModule mod_authn_file.c><br />
# AuthType Basic<br />
# AuthName "phpMyAdmin Setup"<br />
# AuthUserFile /etc/phpmyadmin/htpasswd.setup<br />
# </IfModule><br />
# Require valid-user<br />
# </IfModule><br />
#</Directory><br />
<br />
Supprimer le répertoire : /usr/share/phpmyadmin/setup<br />
<br />
mettre en SSL : https://www.guillaume-leduc.fr/4-securiser-son-serveur-phpmyadmin.html</div>Tetevehttp://www.teteve.fr/wiki/index.php?title=Accueil&diff=31Accueil2017-06-13T08:24:24Z<p>Teteve : /* Les logiciels / Les services */</p>
<hr />
<div>== Présentation ==<br />
<br />
Ce wiki sert de support pour le développement d'une base de connaissance en relation avec l'informatique, et plus spécialement sur Linux.<br /><br />
Comme tout le reste du site, il est en perpétuelle évolution, et se remplit peu à peu.<br /><br />
Lorsque toutes les sections seront complètement renseignées, je pense que le projet pourra être considéré comme achevé... pour la mise en place seulement !! :)<br />
INFORMATION : seules les personnes enregistrées sur ce wiki peuvent le modifier.<br />
N'hésitez pas à vous inscrire si vous souhaiter modifier, corriger ou rajouter quelque chose...<br />
<br />
== Serveur dédié OVH ==<br />
<br />
* [[VPS|Les VPS]]<br />
* [[Reseau|Configuration du réseau / Firewall]]<br />
* [[Logs|Les logs]]<br />
* Les sauvegardes<br />
* La supervision<br />
** Nagios<br />
* Configurations diverses :<br />
** ......<br />
<br />
=== Les logiciels / Les services ===<br />
<br />
* Serveur DNS :<br />
** [[Bind]]<br />
** [[DNSSEC]]<br />
* Serveur web :<br />
** [[Apache]]<br />
* Les logiciels web<br />
** [[Wordpress|Wordpress]]<br />
** [[PHPMyAdmin|PHPMyAdmin]]<br />
** [[Webradio|Webradio]]<br />
* [[Awstats]]<br />
* [[VSFTPD]]<br />
* LDAP<br />
* SVN<br />
<br />
* [[MySQL]]<br />
<br />
* Messagerie :<br />
** Postfix<br />
** Dovecot<br />
** Exim4<br />
<br />
* Travail collaboratif<br />
** Kolab<br />
** SoGo<br />
<br />
=== Généralités / Théorie ===<br />
<br />
* [[Arborescence_et_repertoires|Arborescence et répertoires]]<br />
* [[Cron|Cron et crontab]]<br />
<br />
=== Commandes utiles ===<br />
<br />
* [[Ligne_commande|La ligne de commande (configuration perso du shell)]]<br />
* [[Commandes|Commandes utiles]]<br />
* [[Fichiers|Les fichiers]]<br />
* [[Fichiers2|Les fichiers - suite]]<br />
* [[Surveillance|Surveiller le système]]<br />
* [[QOS|Le réseau / Bande passante - QoS]]<br />
* Disque dur<br />
* Aide mémoire<br />
<br />
=== Scripts ===<br />
<br />
* Zsh<br />
* VIM<br />
* Outils<br />
* [[Bash|Généralités shell]]<br />
<br />
=== Sécurité ===<br />
<br />
* [[Firewall]]<br />
* [[Fail2ban]]<br />
* [[Secu_LAMP|Apache/PHP/MySQL]]<br />
* AntiVirus|Clamav / spamassassin<br />
* [[Tips_securite|Tips sécurité sur les serveurs]]<br />
<br />
=== TODO ===<br />
<br />
=== Les liens utiles ===<br />
<br />
== Windows ==<br />
<br />
=== Scripts VB/VBA/VBS ===<br />
<br />
* [[Connexion_AD|Connexions AD]]<br />
* [[Divers_VB|Divers VB]]<br />
<br />
--<br />
<br />
Aide MediaWiki<br />
* [http://www.mediawiki.org/wiki/Manual:Configuration_settings Liste des paramètres de configuration]<br />
* [http://fr.wikipedia.org/wiki/Aide:Syntaxe La syntaxe de MediaWiki]<br />
* [http://www.mediawiki.org/wiki/Manual:FAQ/fr FAQ sur MediaWiki]<br />
* [http//meta.wikimedia.org/wiki/Aide:Contenu Guide de l’utilisateur] <br />
<br />
[[Catégorie:Accueil]]<br />
[[Catégorie:Informatique]]<br />
<br />
----<br />
[http://creativecommons.org/licenses/by-nc-sa/2.0/fr/ Licence CC BY-NC-SA 2.0]</div>Tetevehttp://www.teteve.fr/wiki/index.php?title=Apache&diff=30Apache2017-06-13T08:23:22Z<p>Teteve : </p>
<hr />
<div>== Pré requis (installation) ==<br />
<br />
Rien de bien compliqué :<br />
# apt-get install apache2<br />
<br />
== Configuration ==<br />
<br />
=== Les fichiers de conf ===<br />
<br />
J'indique ici quelques lignes particulière du fichier de conf d'apache sur lesquelles je me suis penché...<br/><br />
Le fichier envvars :<br/><br />
export APACHE_RUN_USER=virtual<br />
export APACHE_RUN_GROUP=www-data<br />
-> Modifié pour que l'utilisateur FTP et l'utilisateur d'Apache soit le même. Permet les mises à jour automatiques de Wordpress sans utiliser de login/mdp FTP<br/><br />
-> Vérifier si besoin / si c'est mieux de remettre www-data...<br />
<br />
# vim /etc/apache2/apache2.conf<br />
<br />
# Indique si Apache doit essayer de faire une résolution DNS inversée sur les IP des clients<br />
HostnameLookups Off<br />
<br />
ServerRoot "/etc/apache2"<br />
DirectoryIndex index.php index.html # Indique quel type de fichier index doit sélectionner apache par défaut<br />
# Informations que renvoie Apache en cas d'erreur ou dans les headers<br />
ServerTokens Prod<br />
ServerSignature Off<br />
<br />
# Config perso des pages d'erreur<br />
# Peut être défini plus précisément plus loin dans ce fichier<br />
ErrorDocument 404 /404.html<br />
<br />
# Les logs d'erreur sont peu configurables, à part leur emplacement et le niveau :<br />
ErrorLog ${APACHE_LOG_DIR}/error.log<br />
# Valeurs possibles pour les niveaux de log : debug, info, notice, warn, error, crit, alert, emerg.<br />
LogLevel warn<br />
<br />
# Modèle de sécurité par défaut des répertoires utilisés par Apache<br />
# À analyser plus finement...<br />
<Directory /><br />
Options FollowSymLinks<br />
AllowOverride None<br />
Require all denied<br />
</Directory><br />
<br />
<Directory /usr/share><br />
AllowOverride None<br />
Require all granted<br />
</Directory><br />
<br />
<Directory /home/www/><br />
Options Indexes FollowSymLinks<br />
AllowOverride None<br />
Require all granted<br />
</Directory><br />
<br />
#<Directory /srv/><br />
# Options Indexes FollowSymLinks<br />
# AllowOverride None<br />
# Require all granted<br />
#</Directory><br />
<br />
# Configuration des logs :<br />
'''# EN COURS D'APPROFONDISSEMENT...'''<br />
<br />
LogFormat "%v:%p %h %l %u %t \"%r\" %>s %O \"%{Referer}i\" \"%{User-Agent}i\"" vhost_combined<br />
LogFormat "%h %l %u %t \"%r\" %>s %O \"%{Referer}i\" \"%{User-Agent}i\"" combined<br />
LogFormat "%h %l %u %t \"%r\" %>s %O" common<br />
LogFormat "%{Referer}i -> %U" referer<br />
LogFormat "%{User-agent}i" agent<br />
<br />
Devient :<br />
<br />
LogFormat "%v:%p %a %h %l %u %t \"%r\" %>s %T \"%{Referer}i\" \"%{User-Agent}i\"" vhost_combined<br />
LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined<br />
LogFormat "%h %l %u %t \"%r\" %>s %b" common<br />
LogFormat "%{Referer}i -> %U" referer<br />
LogFormat "%{User-agent}i" agent<br />
# Define an access log for VirtualHosts that don't define their own logfile<br />
CustomLog /var/log/apache2/other_vhosts_access.log vhost_combined<br />
<br />
=== Les vhosts ===<br />
<br />
Voici un fichier de conf d'un Vhost :<br />
'''NameVirtualHost www.toto.fr''' # A ne mettre que dans le fichier du vhost par défaut<br />
'''<VirtualHost www.toto.fr>''' # Nom du virtualhost (= par là où il sera appelé...)<br />
'''ServerAdmin webmaster@localhost''' # Mail du webmaster (pas trop compliqué à comprendre... :p)<br />
'''ServerName www.toto.fr''' # Nom du serveur<br />
'''ServerAlias www2.toto.fr''' # Un éventuel alias<br />
'''DocumentRoot /home/www/toto/'''<br />
'''<Directory />'''<br />
'''Options FollowSymLinks''' # Autorise à suivre les liens symboliques<br />
'''AllowOverride None'''<br />
'''</Directory>'''<br />
'''<Directory /home/www/toto/>'''<br />
# Indexes : Ne liste pas les fichiers d'un répertoire s'il n'y a pas de fichier index.*<br />
'''Options Indexes FollowSymLinks MultiViews'''<br />
'''AllowOverride None'''<br />
'''Order allow,deny'''<br />
'''allow from all'''<br />
# This directive allows us to have apache2's default start page<br />
# in /apache2-default/, but still have / go to the right place<br />
# RedirectMatch ^/$ www.toto.fr<br />
'''</Directory>'''<br />
'''<Directory /home/www/secure/>'''<br />
# Config du répertoire sécurisé déjà vu précédemment<br />
'''</Directory>'''<br />
ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/ # Pour la config des scripts CGI<br />
<Directory "/usr/lib/cgi-bin"><br />
# A approfondir<br />
</Directory><br />
ErrorLog /var/log/apache2/error.log<br />
# Si besoin de logs particuliers pour le vhost :<br />
# Valeurs possibles : debug, info, notice, warn, error, crit, alert, emerg.<br />
# Non utilisées actuellement<br />
#LogLevel warn<br />
#CustomLog /var/log/apache2/access.log combined<br />
'''</VirtualHost>'''<br />
Ne pas oublier de rajouter le nom du vhost dans /etc/hosts<br />
<br />
Petite astuce pour désactiver l'accès à votre serveur par son IP publique : <br /><br />
Dans le fichier de conf du vhost "default", rajouter ceci à la fin. Ça peut être utile pour éviter les scans de port et les bots. Totalement inutile si le DNS est public... <br /><br />
A éviter pour un site web souhaitant être référencé !!! :)<br />
<VirtualHost *:80><br />
ServerName VOTRE.IP.PUB.LIQUE<br />
<Directory /><br />
Deny from all<br />
</Directory><br />
</VirtualHost><br />
<br />
=== restreindre l'accès à un répertoire ===<br />
<br />
Sous Apache, il existe 2 types d'authentification possible :<br />
* mod_auth_basic<br />
* mod_auth_digest<br />
<br />
pour activer le module mod_auth_digest :<br />
a2dismod mod_auth_basic<br />
a2enmod mod_auth_digest<br />
/etc/init.d/apache2 restart<br />
L'authentification Basic envoie le couple login/password en clair sur le réseau.<br />
Elle est donc déconseillée sans être couplée avec SSL.<br />
L'authentification Digest utilise les condensés MD5. Attention : Digest est mal supporté par IE 6 et antérieur, à cause du non-respect des RFC de la part de IE (original... ^^).<br />
<br />
Il est possible de mettre les directives d'authentification soit dans le/les fichiers(s) de configuration d'apache (typiquement apache2.conf), soit directement dans les répertoires concernés grace aux fichiers .htaccess.<br />
Il est conseillé, dans la mesure du possible, d'utiliser les directives <Directory> dans apache2.conf pour sécuriser les répertoires. Dans le cas contraire, Apache devra parcourir tous les répertoires à la recherche de fichiers .htaccess, ce qui risque d'amoindrir les performances.<br />
<br />
<Directory /home/www/secure/><br />
AuthType Digest<br />
AuthName "Zone securisee"<br />
AuthDigestDomain /secure/ http://www.teteve.fr/secure/<br />
AuthDigestProvider file<br />
AuthUserFile /etc/apache2/password<br />
Require valid-user<br />
</Directory><br />
<br />
créer le premier couple login/password :<br />
htdigest -c /ou/vous/voulez "Zone securisee" login1<br />
Un prompt vous demande alors de taper le mot de passe, puis de le confirmer. Créer ensuite les couples login/password en enlevant l'option "-c" (pour "create").<br />
/etc/init.d/apache2 reload<br />
<br />
== Quelques tips sur Apache2 ==<br />
<br />
=== Les commandes apache2 ===<br />
root@test ~ # apache2 -h<br />
Usage: apache2 [-D name] [-d directory] [-f file]<br />
[-C "directive"] [-c "directive"]<br />
[-k start|restart|graceful|graceful-stop|stop]<br />
[-v] [-V] [-h] [-l] [-L] [-t] [-S] [-X]<br />
Options:<br />
-D name : define a name for use in <IfDefine name> directives<br />
-d directory : Spécifie un répertoire racine specify an alternate initial ServerRoot<br />
-f file : specify an alternate ServerConfigFile<br />
-C "directive" : process directive before reading config files<br />
-c "directive" : process directive after reading config files<br />
-e level : show startup errors of level (see LogLevel)<br />
-E file : log startup errors to file<br />
-v : show version number<br />
-V : show compile settings<br />
-h : list available command line options (this page)<br />
-l : list compiled in modules<br />
-L : list available configuration directives<br />
-t -D DUMP_VHOSTS : show parsed settings (currently only vhost settings)<br />
-S : a synonym for -t -D DUMP_VHOSTS<br />
-t -D DUMP_MODULES : show all loaded modules<br />
-M : a synonym for -t -D DUMP_MODULES<br />
-t : run syntax check for config files<br />
-X : debug mode (only one worker, do not detach)<br />
<br />
=== LogFormat ===<br />
Directives présentes dans le fichier /etc/apache2/apache.conf d'après [http://doc.ubuntu-fr.org/apache2 La documentation Ubuntu]<br />
# format des lignes contenues dans les logs<br />
# %a Adresse ip distante.<br />
# %A Adresse ip local.<br />
# %B Taille de la réponse en octets, excluant l'entête HTTP.<br />
# %b Taille de la réponse en octets, excluant l'entête HTTP au format CLF.<br />
# %{Foobar}C Contenu du cookie "Foobar" de la requête envoyée au serveur.<br />
# %D Le temps mis à servir la requête .<br />
# %{FOOBAR}e Contenue de la variable d'environnement "FOOBAR".<br />
# %f Nom du fichier.<br />
# %h Hôte distant.<br />
# %H Le protocole demandé.<br />
# %{Foobar}i Le contenu de "Foobar": Ligne(s) d'en-tête de la requête envoyée au serveur.<br />
# %l nom du fichier de log distant (de identd, si il est fournit). Cela retournera un tiret tant que //mod_ident// n'est pas présent et //IdentityCheck// n'est pas mis à ON.<br />
# %m Méthode de la requête.<br />
# %{Foobar}n Contenu de la note "Foobar" provenant d'un autre module.<br />
# %{Foobar}o Le contenu de "Foobar": Ligne(s) d'entête dans la réponse.<br />
# %p Port canonique du serveur qui sert la réponse.<br />
# %P Id du processus fils qui a servi la requête.<br />
# %{format}P Id du processus ou du thread fils qui a servi la requête.<br />
# Les formats valides sont pid, tid, et hextid.<br />
# hextid nécessite APR 1.2.0 ou supérieur.<br />
# %q Chaînes de la requête (Commençant avec un ? si une chaine de requête existe, sinon une chaîne vide)<br />
# %r Première ligne de la requête.<br />
# %s Statut. Pour les requête redirigées en interne, ceci est la requête originale --- %>s pour la dernière.<br />
# %t Heure à laquelle la requête a été reçue (format standard anglais mois jour année )<br />
# %{format}t L'heure, au format précisé, qui doit être dans les formats de strftime(3). (potentiellement localisé).<br />
# %T Le temps mis pour répondre à la requête.<br />
# %u Utilisateur distant (de l'authentification; peut être faux si le code de retour de statut (%s) est 401)<br />
# %U Url demandée, n'inclue aucune chaîne de requête.<br />
# %v Nom canonique de ServerName du serveur qui répond à la requête.<br />
# %V Nom du serveur en fonction du paramètre UseCanonicalName.<br />
# %X Statut de la connexion une fois la réponse envoyée.<br />
# X = connexion annulée avant la réponse complète.<br />
# + = la connexion peut être maintenue après l'envoi de la réponse.<br />
# - = la connexion sera fermée après l'envoi de la réponse.<br />
# %I Octets reçus, incluant l'entête et la requête, ne peut être nul. Vous devez activer //mod_logio// pour l'utiliser.<br />
# %O Octets envoyés, incluant l'entête, ne peut être nul. Vous devez activer //mod_logio// pour l'utiliser.<br />
<br />
LogFormat "%h %l %h %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined<br />
LogFormat "%h %l %u %t \"%r\" %>s %b" common<br />
LogFormat "%{Referer}i -> %U" referer<br />
LogFormat "%{User-agent}i" agent<br />
<br />
Celles que j'ai dans le mien :<br />
LogFormat "%v %a %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" vhost_combined<br />
#LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined<br />
#LogFormat "%h %l %u %t \"%r\" %>s %b" common<br />
#LogFormat "%{Referer}i -> %U" referer<br />
#LogFormat "%{User-agent}i" agent<br />
#<br />
# Define an access log for VirtualHosts that don't define their own logfile<br />
CustomLog /var/log/apache2/other_vhosts_access.log vhost_combined<br />
<br />
'''Explications :'''<br />
LogFormat "%v %a %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" vhost_combined<br />
%v - Nom canonique de ServerName du serveur qui répond à la requête.<br />
%a - Adresse ip distante.<br />
%u - Utilisateur distant (de l'authentification; peut être faux si le code de retour de statut (%s) est 401)<br />
%t - Heure à laquelle la requête a été reçue (format standard anglais mois jour année )<br />
"%r" - Première ligne de la requête.<br />
%>s - Statut. Pour les requête redirigées en interne, ceci est la requête originale --- %>s pour la dernière.<br />
%b - Taille de la réponse en octets, excluant l'entête HTTP au format CLF. (obligatoire pour [[Awstats]])<br />
%{Referer}i - Le contenu de "Referer": Ligne(s) d'en-tête de la requête envoyée au serveur.<br />
%{User-Agent}i - Le contenu de "User-Agent": Ligne(s) d'en-tête de la requête envoyée au serveur.<br />
<br />
[[Catégorie:Informatique]]<br />
[[Catégorie:Serveur dédié]]<br />
[[Catégorie:Système]]<br />
[[Catégorie:Debian]]<br />
[[Catégorie:Procédures]]</div>Tetevehttp://www.teteve.fr/wiki/index.php?title=Accueil&diff=29Accueil2017-06-13T08:02:23Z<p>Teteve : </p>
<hr />
<div>== Présentation ==<br />
<br />
Ce wiki sert de support pour le développement d'une base de connaissance en relation avec l'informatique, et plus spécialement sur Linux.<br /><br />
Comme tout le reste du site, il est en perpétuelle évolution, et se remplit peu à peu.<br /><br />
Lorsque toutes les sections seront complètement renseignées, je pense que le projet pourra être considéré comme achevé... pour la mise en place seulement !! :)<br />
INFORMATION : seules les personnes enregistrées sur ce wiki peuvent le modifier.<br />
N'hésitez pas à vous inscrire si vous souhaiter modifier, corriger ou rajouter quelque chose...<br />
<br />
== Serveur dédié OVH ==<br />
<br />
* [[VPS|Les VPS]]<br />
* [[Reseau|Configuration du réseau / Firewall]]<br />
* [[Logs|Les logs]]<br />
* Les sauvegardes<br />
* La supervision<br />
** Nagios<br />
* Configurations diverses :<br />
** ......<br />
<br />
=== Les logiciels / Les services ===<br />
<br />
* Serveur DNS :<br />
** [[Bind]]<br />
** [[DNSSEC]]<br />
* Serveur web :<br />
** [[Apache]]<br />
* Les logiciels web<br />
** [[Wordpress|Wordpress]]<br />
** [[Webradio|Webradio]]<br />
* [[Awstats]]<br />
* [[VSFTPD]]<br />
* LDAP<br />
* SVN<br />
<br />
* [[MySQL]]<br />
<br />
* Messagerie :<br />
** Postfix<br />
** Dovecot<br />
** Exim4<br />
<br />
* Travail collaboratif<br />
** Kolab<br />
** SoGo<br />
<br />
=== Généralités / Théorie ===<br />
<br />
* [[Arborescence_et_repertoires|Arborescence et répertoires]]<br />
* [[Cron|Cron et crontab]]<br />
<br />
=== Commandes utiles ===<br />
<br />
* [[Ligne_commande|La ligne de commande (configuration perso du shell)]]<br />
* [[Commandes|Commandes utiles]]<br />
* [[Fichiers|Les fichiers]]<br />
* [[Fichiers2|Les fichiers - suite]]<br />
* [[Surveillance|Surveiller le système]]<br />
* [[QOS|Le réseau / Bande passante - QoS]]<br />
* Disque dur<br />
* Aide mémoire<br />
<br />
=== Scripts ===<br />
<br />
* Zsh<br />
* VIM<br />
* Outils<br />
* [[Bash|Généralités shell]]<br />
<br />
=== Sécurité ===<br />
<br />
* [[Firewall]]<br />
* [[Fail2ban]]<br />
* [[Secu_LAMP|Apache/PHP/MySQL]]<br />
* AntiVirus|Clamav / spamassassin<br />
* [[Tips_securite|Tips sécurité sur les serveurs]]<br />
<br />
=== TODO ===<br />
<br />
=== Les liens utiles ===<br />
<br />
== Windows ==<br />
<br />
=== Scripts VB/VBA/VBS ===<br />
<br />
* [[Connexion_AD|Connexions AD]]<br />
* [[Divers_VB|Divers VB]]<br />
<br />
--<br />
<br />
Aide MediaWiki<br />
* [http://www.mediawiki.org/wiki/Manual:Configuration_settings Liste des paramètres de configuration]<br />
* [http://fr.wikipedia.org/wiki/Aide:Syntaxe La syntaxe de MediaWiki]<br />
* [http://www.mediawiki.org/wiki/Manual:FAQ/fr FAQ sur MediaWiki]<br />
* [http//meta.wikimedia.org/wiki/Aide:Contenu Guide de l’utilisateur] <br />
<br />
[[Catégorie:Accueil]]<br />
[[Catégorie:Informatique]]<br />
<br />
----<br />
[http://creativecommons.org/licenses/by-nc-sa/2.0/fr/ Licence CC BY-NC-SA 2.0]</div>Tetevehttp://www.teteve.fr/wiki/index.php?title=Tips_securite&diff=28Tips securite2017-06-09T12:20:11Z<p>Teteve : Page créée avec « https://www.guillaume-leduc.fr/pki-installez-votre-autorite-de-certification-sur-votre-debian-2.html »</p>
<hr />
<div>https://www.guillaume-leduc.fr/pki-installez-votre-autorite-de-certification-sur-votre-debian-2.html</div>Tetevehttp://www.teteve.fr/wiki/index.php?title=Apache&diff=27Apache2017-06-09T12:18:58Z<p>Teteve : </p>
<hr />
<div>== Pré requis (installation) ==<br />
<br />
# apt-get install apache2<br />
<br />
== Configuration ==<br />
<br />
=== Les fichiers de conf ===<br />
<br />
J'indique ici quelques lignes particulière du fichier de conf d'apache sur lesquelles je me suis penché...<br/><br />
Le fichier envvars :<br/><br />
export APACHE_RUN_USER=virtual<br />
export APACHE_RUN_GROUP=www-data<br />
-> Modifié pour que l'utilisateur FTP et l'utilisateur d'Apache soit le même. Permet les mises à jour automatiques de Wordpress sans utiliser de login/mdp FTP<br/><br />
-> Vérifier si besoin / si c'est mieux de remettre www-data...<br />
<br />
# vim /etc/apache2/apache2.conf<br />
ServerRoot "/etc/apache2"<br />
DirectoryIndex index.php index.html # Indique quel type de fichier index doit sélectionner apache par défaut<br />
# Les logs d'erreur sont peu configurables, à part leur emplacement et le niveau :<br />
ErrorLog /var/log/apache2/error.log<br />
# Valeurs possibles pour les niveaux de log : debug, info, notice, warn, error, crit, alert, emerg.<br />
LogLevel warn<br />
<br />
# Configuration des logs :<br />
'''# EN COURS D'APPROFONDISSEMENT...'''<br />
LogFormat "%v:%p %a %h %l %u %t \"%r\" %>s %T \"%{Referer}i\" \"%{User-Agent}i\"" vhost_combined<br />
LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined<br />
LogFormat "%h %l %u %t \"%r\" %>s %b" common<br />
LogFormat "%{Referer}i -> %U" referer<br />
LogFormat "%{User-agent}i" agent<br />
# Define an access log for VirtualHosts that don't define their own logfile<br />
CustomLog /var/log/apache2/other_vhosts_access.log vhost_combined<br />
<br />
# Informations que renvoie Apache en cas d'erreur ou dans les headers<br />
ServerTokens Prod<br />
ServerSignature Off<br />
<br />
# Config perso des pages d'erreur<br />
# Peut être défini plus précisément plus loin dans ce fichier<br />
ErrorDocument 404 /404.html<br />
<br />
=== Les vhosts ===<br />
<br />
Voici un fichier de conf d'un Vhost :<br />
'''NameVirtualHost www.toto.fr''' # A ne mettre que dans le fichier du vhost par défaut<br />
'''<VirtualHost www.toto.fr>''' # Nom du virtualhost (= par là où il sera appelé...)<br />
'''ServerAdmin webmaster@localhost''' # Mail du webmaster (pas trop compliqué à comprendre... :p)<br />
'''ServerName www.toto.fr''' # Nom du serveur<br />
'''ServerAlias www2.toto.fr''' # Un éventuel alias<br />
'''DocumentRoot /home/www/toto/'''<br />
'''<Directory />'''<br />
'''Options FollowSymLinks''' # Autorise à suivre les liens symboliques<br />
'''AllowOverride None'''<br />
'''</Directory>'''<br />
'''<Directory /home/www/toto/>'''<br />
# Indexes : Ne liste pas les fichiers d'un répertoire s'il n'y a pas de fichier index.*<br />
'''Options Indexes FollowSymLinks MultiViews'''<br />
'''AllowOverride None'''<br />
'''Order allow,deny'''<br />
'''allow from all'''<br />
# This directive allows us to have apache2's default start page<br />
# in /apache2-default/, but still have / go to the right place<br />
# RedirectMatch ^/$ www.toto.fr<br />
'''</Directory>'''<br />
'''<Directory /home/www/secure/>'''<br />
# Config du répertoire sécurisé déjà vu précédemment<br />
'''</Directory>'''<br />
ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/ # Pour la config des scripts CGI<br />
<Directory "/usr/lib/cgi-bin"><br />
# A approfondir<br />
</Directory><br />
ErrorLog /var/log/apache2/error.log<br />
# Si besoin de logs particuliers pour le vhost :<br />
# Valeurs possibles : debug, info, notice, warn, error, crit, alert, emerg.<br />
# Non utilisées actuellement<br />
#LogLevel warn<br />
#CustomLog /var/log/apache2/access.log combined<br />
'''</VirtualHost>'''<br />
Ne pas oublier de rajouter le nom du vhost dans /etc/hosts<br />
<br />
Petite astuce pour désactiver l'accès à votre serveur par son IP publique : <br /><br />
Dans le fichier de conf du vhost "default", rajouter ceci à la fin. Ça peut être utile pour éviter les scans de port et les bots. Totalement inutile si le DNS est public... <br /><br />
A éviter pour un site web souhaitant être référencé !!! :)<br />
<VirtualHost *:80><br />
ServerName VOTRE.IP.PUB.LIQUE<br />
<Directory /><br />
Deny from all<br />
</Directory><br />
</VirtualHost><br />
<br />
=== restreindre l'accès à un répertoire ===<br />
<br />
Sous Apache, il existe 2 types d'authentification possible :<br />
* mod_auth_basic<br />
* mod_auth_digest<br />
<br />
pour activer le module mod_auth_digest :<br />
a2dismod mod_auth_basic<br />
a2enmod mod_auth_digest<br />
/etc/init.d/apache2 restart<br />
L'authentification Basic envoie le couple login/password en clair sur le réseau.<br />
Elle est donc déconseillée sans être couplée avec SSL.<br />
L'authentification Digest utilise les condensés MD5. Attention : Digest est mal supporté par IE 6 et antérieur, à cause du non-respect des RFC de la part de IE (original... ^^).<br />
<br />
Il est possible de mettre les directives d'authentification soit dans le/les fichiers(s) de configuration d'apache (typiquement apache2.conf), soit directement dans les répertoires concernés grace aux fichiers .htaccess.<br />
Il est conseillé, dans la mesure du possible, d'utiliser les directives <Directory> dans apache2.conf pour sécuriser les répertoires. Dans le cas contraire, Apache devra parcourir tous les répertoires à la recherche de fichiers .htaccess, ce qui risque d'amoindrir les performances.<br />
<br />
<Directory /home/www/secure/><br />
AuthType Digest<br />
AuthName "Zone securisee"<br />
AuthDigestDomain /secure/ http://www.teteve.fr/secure/<br />
AuthDigestProvider file<br />
AuthUserFile /etc/apache2/password<br />
Require valid-user<br />
</Directory><br />
<br />
créer le premier couple login/password :<br />
htdigest -c /ou/vous/voulez "Zone securisee" login1<br />
Un prompt vous demande alors de taper le mot de passe, puis de le confirmer. Créer ensuite les couples login/password en enlevant l'option "-c" (pour "create").<br />
/etc/init.d/apache2 reload<br />
<br />
== Quelques tips sur Apache2 ==<br />
<br />
=== Les commandes apache2 ===<br />
root@test ~ # apache2 -h<br />
Usage: apache2 [-D name] [-d directory] [-f file]<br />
[-C "directive"] [-c "directive"]<br />
[-k start|restart|graceful|graceful-stop|stop]<br />
[-v] [-V] [-h] [-l] [-L] [-t] [-S] [-X]<br />
Options:<br />
-D name : define a name for use in <IfDefine name> directives<br />
-d directory : Spécifie un répertoire racine specify an alternate initial ServerRoot<br />
-f file : specify an alternate ServerConfigFile<br />
-C "directive" : process directive before reading config files<br />
-c "directive" : process directive after reading config files<br />
-e level : show startup errors of level (see LogLevel)<br />
-E file : log startup errors to file<br />
-v : show version number<br />
-V : show compile settings<br />
-h : list available command line options (this page)<br />
-l : list compiled in modules<br />
-L : list available configuration directives<br />
-t -D DUMP_VHOSTS : show parsed settings (currently only vhost settings)<br />
-S : a synonym for -t -D DUMP_VHOSTS<br />
-t -D DUMP_MODULES : show all loaded modules<br />
-M : a synonym for -t -D DUMP_MODULES<br />
-t : run syntax check for config files<br />
-X : debug mode (only one worker, do not detach)<br />
<br />
=== LogFormat ===<br />
Directives présentes dans le fichier /etc/apache2/apache.conf d'après [http://doc.ubuntu-fr.org/apache2 La documentation Ubuntu]<br />
# format des lignes contenues dans les logs<br />
# %a Adresse ip distante.<br />
# %A Adresse ip local.<br />
# %B Taille de la réponse en octets, excluant l'entête HTTP.<br />
# %b Taille de la réponse en octets, excluant l'entête HTTP au format CLF.<br />
# %{Foobar}C Contenu du cookie "Foobar" de la requête envoyée au serveur.<br />
# %D Le temps mis à servir la requête .<br />
# %{FOOBAR}e Contenue de la variable d'environnement "FOOBAR".<br />
# %f Nom du fichier.<br />
# %h Hôte distant.<br />
# %H Le protocole demandé.<br />
# %{Foobar}i Le contenu de "Foobar": Ligne(s) d'en-tête de la requête envoyée au serveur.<br />
# %l nom du fichier de log distant (de identd, si il est fournit). Cela retournera un tiret tant que //mod_ident// n'est pas présent et //IdentityCheck// n'est pas mis à ON.<br />
# %m Méthode de la requête.<br />
# %{Foobar}n Contenu de la note "Foobar" provenant d'un autre module.<br />
# %{Foobar}o Le contenu de "Foobar": Ligne(s) d'entête dans la réponse.<br />
# %p Port canonique du serveur qui sert la réponse.<br />
# %P Id du processus fils qui a servi la requête.<br />
# %{format}P Id du processus ou du thread fils qui a servi la requête.<br />
# Les formats valides sont pid, tid, et hextid.<br />
# hextid nécessite APR 1.2.0 ou supérieur.<br />
# %q Chaînes de la requête (Commençant avec un ? si une chaine de requête existe, sinon une chaîne vide)<br />
# %r Première ligne de la requête.<br />
# %s Statut. Pour les requête redirigées en interne, ceci est la requête originale --- %>s pour la dernière.<br />
# %t Heure à laquelle la requête a été reçue (format standard anglais mois jour année )<br />
# %{format}t L'heure, au format précisé, qui doit être dans les formats de strftime(3). (potentiellement localisé).<br />
# %T Le temps mis pour répondre à la requête.<br />
# %u Utilisateur distant (de l'authentification; peut être faux si le code de retour de statut (%s) est 401)<br />
# %U Url demandée, n'inclue aucune chaîne de requête.<br />
# %v Nom canonique de ServerName du serveur qui répond à la requête.<br />
# %V Nom du serveur en fonction du paramètre UseCanonicalName.<br />
# %X Statut de la connexion une fois la réponse envoyée.<br />
# X = connexion annulée avant la réponse complète.<br />
# + = la connexion peut être maintenue après l'envoi de la réponse.<br />
# - = la connexion sera fermée après l'envoi de la réponse.<br />
# %I Octets reçus, incluant l'entête et la requête, ne peut être nul. Vous devez activer //mod_logio// pour l'utiliser.<br />
# %O Octets envoyés, incluant l'entête, ne peut être nul. Vous devez activer //mod_logio// pour l'utiliser.<br />
<br />
LogFormat "%h %l %h %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined<br />
LogFormat "%h %l %u %t \"%r\" %>s %b" common<br />
LogFormat "%{Referer}i -> %U" referer<br />
LogFormat "%{User-agent}i" agent<br />
<br />
Celles que j'ai dans le mien :<br />
LogFormat "%v %a %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" vhost_combined<br />
#LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined<br />
#LogFormat "%h %l %u %t \"%r\" %>s %b" common<br />
#LogFormat "%{Referer}i -> %U" referer<br />
#LogFormat "%{User-agent}i" agent<br />
#<br />
# Define an access log for VirtualHosts that don't define their own logfile<br />
CustomLog /var/log/apache2/other_vhosts_access.log vhost_combined<br />
<br />
'''Explications :'''<br />
LogFormat "%v %a %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" vhost_combined<br />
%v - Nom canonique de ServerName du serveur qui répond à la requête.<br />
%a - Adresse ip distante.<br />
%u - Utilisateur distant (de l'authentification; peut être faux si le code de retour de statut (%s) est 401)<br />
%t - Heure à laquelle la requête a été reçue (format standard anglais mois jour année )<br />
"%r" - Première ligne de la requête.<br />
%>s - Statut. Pour les requête redirigées en interne, ceci est la requête originale --- %>s pour la dernière.<br />
%b - Taille de la réponse en octets, excluant l'entête HTTP au format CLF. (obligatoire pour [[Awstats]])<br />
%{Referer}i - Le contenu de "Referer": Ligne(s) d'en-tête de la requête envoyée au serveur.<br />
%{User-Agent}i - Le contenu de "User-Agent": Ligne(s) d'en-tête de la requête envoyée au serveur.<br />
<br />
== PhpMyAdmin == <br />
<br />
L'installation de PhpMyAdmin se fait dans la foulée après celle de Mysql et Php :<br />
<br />
# apt-get install phpmyadmin<br />
<br />
Editer le fichier de configuration d'Apache :<br />
<br />
# vim /etc/apache2/apache2.conf<br />
<br />
Rajouter la ligne suivante :<br />
<br />
include /etc/phpmyadmin/apache.conf<br />
<br />
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) :<br />
<br />
http://localhost/phpmyadmin<br />
<br />
note : PhpMyAdmin utilise les identifiants de l'admin de Mysql tels que définis à l'installation de Mysql<br />
<br />
Sécurisation :<br />
<br />
Dans le fichier /etc/apache2/conf-available/phpmyadmin.conf<br />
Modifier :<br />
Alias /gestionsql /usr/share/phpmyadmin<br />
Commenter :<br />
# Authorize for setup<br />
#<Directory /usr/share/phpmyadmin/setup><br />
/usr/share/phpmyadmin/setup<br />
# <IfModule mod_authz_core.c><br />
# <IfModule mod_authn_file.c><br />
# AuthType Basic<br />
# AuthName "phpMyAdmin Setup"<br />
# AuthUserFile /etc/phpmyadmin/htpasswd.setup<br />
# </IfModule><br />
# Require valid-user<br />
# </IfModule><br />
#</Directory><br />
<br />
Supprimer le répertoire : /usr/share/phpmyadmin/setup<br />
<br />
mettre en SSL : https://www.guillaume-leduc.fr/4-securiser-son-serveur-phpmyadmin.html<br />
<br />
[[Catégorie:Informatique]]<br />
[[Catégorie:Serveur dédié]]<br />
[[Catégorie:Système]]<br />
[[Catégorie:Debian]]<br />
[[Catégorie:Procédures]]</div>Tetevehttp://www.teteve.fr/wiki/index.php?title=Apache&diff=26Apache2017-06-09T11:04:57Z<p>Teteve : /* Les fichiers de conf */</p>
<hr />
<div>== Pré requis (installation) ==<br />
<br />
# apt-get install apache2<br />
<br />
== Configuration ==<br />
<br />
=== Les fichiers de conf ===<br />
<br />
J'indique ici quelques lignes particulière du fichier de conf d'apache sur lesquelles je me suis penché...<br/><br />
Le fichier envvars :<br/><br />
export APACHE_RUN_USER=virtual<br />
export APACHE_RUN_GROUP=www-data<br />
-> Modifié pour que l'utilisateur FTP et l'utilisateur d'Apache soit le même. Permet les mises à jour automatiques de Wordpress sans utiliser de login/mdp FTP<br/><br />
-> Vérifier si besoin / si c'est mieux de remettre www-data...<br />
<br />
# vim /etc/apache2/apache2.conf<br />
ServerRoot "/etc/apache2"<br />
DirectoryIndex index.php index.html # Indique quel type de fichier index doit sélectionner apache par défaut<br />
# Les logs d'erreur sont peu configurables, à part leur emplacement et le niveau :<br />
ErrorLog /var/log/apache2/error.log<br />
# Valeurs possibles pour les niveaux de log : debug, info, notice, warn, error, crit, alert, emerg.<br />
LogLevel warn<br />
<br />
# Configuration des logs :<br />
'''# EN COURS D'APPROFONDISSEMENT...'''<br />
LogFormat "%v:%p %a %h %l %u %t \"%r\" %>s %T \"%{Referer}i\" \"%{User-Agent}i\"" vhost_combined<br />
LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined<br />
LogFormat "%h %l %u %t \"%r\" %>s %b" common<br />
LogFormat "%{Referer}i -> %U" referer<br />
LogFormat "%{User-agent}i" agent<br />
# Define an access log for VirtualHosts that don't define their own logfile<br />
CustomLog /var/log/apache2/other_vhosts_access.log vhost_combined<br />
<br />
# Informations que renvoie Apache en cas d'erreur ou dans les headers<br />
ServerTokens Prod<br />
ServerSignature Off<br />
<br />
# Config perso des pages d'erreur<br />
# Peut être défini plus précisément plus loin dans ce fichier<br />
ErrorDocument 404 /404.html<br />
<br />
=== Les vhosts ===<br />
<br />
Voici un fichier de conf d'un Vhost :<br />
'''NameVirtualHost www.toto.fr''' # A ne mettre que dans le fichier du vhost par défaut<br />
'''<VirtualHost www.toto.fr>''' # Nom du virtualhost (= par là où il sera appelé...)<br />
'''ServerAdmin webmaster@localhost''' # Mail du webmaster (pas trop compliqué à comprendre... :p)<br />
'''ServerName www.toto.fr''' # Nom du serveur<br />
'''ServerAlias www2.toto.fr''' # Un éventuel alias<br />
'''DocumentRoot /home/www/toto/'''<br />
'''<Directory />'''<br />
'''Options FollowSymLinks''' # Autorise à suivre les liens symboliques<br />
'''AllowOverride None'''<br />
'''</Directory>'''<br />
'''<Directory /home/www/toto/>'''<br />
# Indexes : Ne liste pas les fichiers d'un répertoire s'il n'y a pas de fichier index.*<br />
'''Options Indexes FollowSymLinks MultiViews'''<br />
'''AllowOverride None'''<br />
'''Order allow,deny'''<br />
'''allow from all'''<br />
# This directive allows us to have apache2's default start page<br />
# in /apache2-default/, but still have / go to the right place<br />
# RedirectMatch ^/$ www.toto.fr<br />
'''</Directory>'''<br />
'''<Directory /home/www/secure/>'''<br />
# Config du répertoire sécurisé déjà vu précédemment<br />
'''</Directory>'''<br />
ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/ # Pour la config des scripts CGI<br />
<Directory "/usr/lib/cgi-bin"><br />
# A approfondir<br />
</Directory><br />
ErrorLog /var/log/apache2/error.log<br />
# Si besoin de logs particuliers pour le vhost :<br />
# Valeurs possibles : debug, info, notice, warn, error, crit, alert, emerg.<br />
# Non utilisées actuellement<br />
#LogLevel warn<br />
#CustomLog /var/log/apache2/access.log combined<br />
'''</VirtualHost>'''<br />
Ne pas oublier de rajouter le nom du vhost dans /etc/hosts<br />
<br />
Petite astuce pour désactiver l'accès à votre serveur par son IP publique : <br /><br />
Dans le fichier de conf du vhost "default", rajouter ceci à la fin. Ça peut être utile pour éviter les scans de port et les bots. Totalement inutile si le DNS est public... <br /><br />
A éviter pour un site web souhaitant être référencé !!! :)<br />
<VirtualHost *:80><br />
ServerName VOTRE.IP.PUB.LIQUE<br />
<Directory /><br />
Deny from all<br />
</Directory><br />
</VirtualHost><br />
<br />
=== restreindre l'accès à un répertoire ===<br />
<br />
Sous Apache, il existe 2 types d'authentification possible :<br />
* mod_auth_basic<br />
* mod_auth_digest<br />
<br />
pour activer le module mod_auth_digest :<br />
a2dismod mod_auth_basic<br />
a2enmod mod_auth_digest<br />
/etc/init.d/apache2 restart<br />
L'authentification Basic envoie le couple login/password en clair sur le réseau.<br />
Elle est donc déconseillée sans être couplée avec SSL.<br />
L'authentification Digest utilise les condensés MD5. Attention : Digest est mal supporté par IE 6 et antérieur, à cause du non-respect des RFC de la part de IE (original... ^^).<br />
<br />
Il est possible de mettre les directives d'authentification soit dans le/les fichiers(s) de configuration d'apache (typiquement apache2.conf), soit directement dans les répertoires concernés grace aux fichiers .htaccess.<br />
Il est conseillé, dans la mesure du possible, d'utiliser les directives <Directory> dans apache2.conf pour sécuriser les répertoires. Dans le cas contraire, Apache devra parcourir tous les répertoires à la recherche de fichiers .htaccess, ce qui risque d'amoindrir les performances.<br />
<br />
<Directory /home/www/secure/><br />
AuthType Digest<br />
AuthName "Zone securisee"<br />
AuthDigestDomain /secure/ http://www.teteve.fr/secure/<br />
AuthDigestProvider file<br />
AuthUserFile /etc/apache2/password<br />
Require valid-user<br />
</Directory><br />
<br />
créer le premier couple login/password :<br />
htdigest -c /ou/vous/voulez "Zone securisee" login1<br />
Un prompt vous demande alors de taper le mot de passe, puis de le confirmer. Créer ensuite les couples login/password en enlevant l'option "-c" (pour "create").<br />
/etc/init.d/apache2 reload<br />
<br />
== Quelques tips sur Apache2 ==<br />
<br />
=== Les commandes apache2 ===<br />
root@test ~ # apache2 -h<br />
Usage: apache2 [-D name] [-d directory] [-f file]<br />
[-C "directive"] [-c "directive"]<br />
[-k start|restart|graceful|graceful-stop|stop]<br />
[-v] [-V] [-h] [-l] [-L] [-t] [-S] [-X]<br />
Options:<br />
-D name : define a name for use in <IfDefine name> directives<br />
-d directory : Spécifie un répertoire racine specify an alternate initial ServerRoot<br />
-f file : specify an alternate ServerConfigFile<br />
-C "directive" : process directive before reading config files<br />
-c "directive" : process directive after reading config files<br />
-e level : show startup errors of level (see LogLevel)<br />
-E file : log startup errors to file<br />
-v : show version number<br />
-V : show compile settings<br />
-h : list available command line options (this page)<br />
-l : list compiled in modules<br />
-L : list available configuration directives<br />
-t -D DUMP_VHOSTS : show parsed settings (currently only vhost settings)<br />
-S : a synonym for -t -D DUMP_VHOSTS<br />
-t -D DUMP_MODULES : show all loaded modules<br />
-M : a synonym for -t -D DUMP_MODULES<br />
-t : run syntax check for config files<br />
-X : debug mode (only one worker, do not detach)<br />
<br />
=== LogFormat ===<br />
Directives présentes dans le fichier /etc/apache2/apache.conf d'après [http://doc.ubuntu-fr.org/apache2 La documentation Ubuntu]<br />
# format des lignes contenues dans les logs<br />
# %a Adresse ip distante.<br />
# %A Adresse ip local.<br />
# %B Taille de la réponse en octets, excluant l'entête HTTP.<br />
# %b Taille de la réponse en octets, excluant l'entête HTTP au format CLF.<br />
# %{Foobar}C Contenu du cookie "Foobar" de la requête envoyée au serveur.<br />
# %D Le temps mis à servir la requête .<br />
# %{FOOBAR}e Contenue de la variable d'environnement "FOOBAR".<br />
# %f Nom du fichier.<br />
# %h Hôte distant.<br />
# %H Le protocole demandé.<br />
# %{Foobar}i Le contenu de "Foobar": Ligne(s) d'en-tête de la requête envoyée au serveur.<br />
# %l nom du fichier de log distant (de identd, si il est fournit). Cela retournera un tiret tant que //mod_ident// n'est pas présent et //IdentityCheck// n'est pas mis à ON.<br />
# %m Méthode de la requête.<br />
# %{Foobar}n Contenu de la note "Foobar" provenant d'un autre module.<br />
# %{Foobar}o Le contenu de "Foobar": Ligne(s) d'entête dans la réponse.<br />
# %p Port canonique du serveur qui sert la réponse.<br />
# %P Id du processus fils qui a servi la requête.<br />
# %{format}P Id du processus ou du thread fils qui a servi la requête.<br />
# Les formats valides sont pid, tid, et hextid.<br />
# hextid nécessite APR 1.2.0 ou supérieur.<br />
# %q Chaînes de la requête (Commençant avec un ? si une chaine de requête existe, sinon une chaîne vide)<br />
# %r Première ligne de la requête.<br />
# %s Statut. Pour les requête redirigées en interne, ceci est la requête originale --- %>s pour la dernière.<br />
# %t Heure à laquelle la requête a été reçue (format standard anglais mois jour année )<br />
# %{format}t L'heure, au format précisé, qui doit être dans les formats de strftime(3). (potentiellement localisé).<br />
# %T Le temps mis pour répondre à la requête.<br />
# %u Utilisateur distant (de l'authentification; peut être faux si le code de retour de statut (%s) est 401)<br />
# %U Url demandée, n'inclue aucune chaîne de requête.<br />
# %v Nom canonique de ServerName du serveur qui répond à la requête.<br />
# %V Nom du serveur en fonction du paramètre UseCanonicalName.<br />
# %X Statut de la connexion une fois la réponse envoyée.<br />
# X = connexion annulée avant la réponse complète.<br />
# + = la connexion peut être maintenue après l'envoi de la réponse.<br />
# - = la connexion sera fermée après l'envoi de la réponse.<br />
# %I Octets reçus, incluant l'entête et la requête, ne peut être nul. Vous devez activer //mod_logio// pour l'utiliser.<br />
# %O Octets envoyés, incluant l'entête, ne peut être nul. Vous devez activer //mod_logio// pour l'utiliser.<br />
<br />
LogFormat "%h %l %h %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined<br />
LogFormat "%h %l %u %t \"%r\" %>s %b" common<br />
LogFormat "%{Referer}i -> %U" referer<br />
LogFormat "%{User-agent}i" agent<br />
<br />
Celles que j'ai dans le mien :<br />
LogFormat "%v %a %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" vhost_combined<br />
#LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined<br />
#LogFormat "%h %l %u %t \"%r\" %>s %b" common<br />
#LogFormat "%{Referer}i -> %U" referer<br />
#LogFormat "%{User-agent}i" agent<br />
#<br />
# Define an access log for VirtualHosts that don't define their own logfile<br />
CustomLog /var/log/apache2/other_vhosts_access.log vhost_combined<br />
<br />
'''Explications :'''<br />
LogFormat "%v %a %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" vhost_combined<br />
%v - Nom canonique de ServerName du serveur qui répond à la requête.<br />
%a - Adresse ip distante.<br />
%u - Utilisateur distant (de l'authentification; peut être faux si le code de retour de statut (%s) est 401)<br />
%t - Heure à laquelle la requête a été reçue (format standard anglais mois jour année )<br />
"%r" - Première ligne de la requête.<br />
%>s - Statut. Pour les requête redirigées en interne, ceci est la requête originale --- %>s pour la dernière.<br />
%b - Taille de la réponse en octets, excluant l'entête HTTP au format CLF. (obligatoire pour [[Awstats]])<br />
%{Referer}i - Le contenu de "Referer": Ligne(s) d'en-tête de la requête envoyée au serveur.<br />
%{User-Agent}i - Le contenu de "User-Agent": Ligne(s) d'en-tête de la requête envoyée au serveur.<br />
<br />
== PhpMyAdmin == <br />
<br />
L'installation de PhpMyAdmin se fait dans la foulée après celle de Mysql et Php :<br />
<br />
# apt-get install phpmyadmin<br />
<br />
Editer le fichier de configuration d'Apache :<br />
<br />
# vim /etc/apache2/apache2.conf<br />
<br />
Rajouter la ligne suivante :<br />
<br />
include /etc/phpmyadmin/apache.conf<br />
<br />
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) :<br />
<br />
http://localhost/phpmyadmin<br />
<br />
note : PhpMyAdmin utilise les identifiants de l'admin de Mysql tels que définis à l'installation de Mysql<br />
<br />
[[Catégorie:Informatique]]<br />
[[Catégorie:Serveur dédié]]<br />
[[Catégorie:Système]]<br />
[[Catégorie:Debian]]<br />
[[Catégorie:Procédures]]</div>Tetevehttp://www.teteve.fr/wiki/index.php?title=Apache&diff=25Apache2017-06-09T11:04:04Z<p>Teteve : /* Configuration */</p>
<hr />
<div>== Pré requis (installation) ==<br />
<br />
# apt-get install apache2<br />
<br />
== Configuration ==<br />
<br />
=== Les fichiers de conf ===<br />
<br />
J'indique ici quelques lignes particulière du fichier de conf d'apache sur lesquelles je me suis penché...<br />
Le fichier envvars :<br />
export APACHE_RUN_USER=virtual<br />
export APACHE_RUN_GROUP=www-data<br />
-> Modifié pour que l'utilisateur FTP et l'utilisateur d'Apache soit le même. Permet les mises à jour automatiques de Wordpress sans utiliser de login/mdp FTP<br />
-> Vérifier si besoin / si c'est mieux de remettre www-data...<br />
<br />
# vim /etc/apache2/apache2.conf<br />
ServerRoot "/etc/apache2"<br />
DirectoryIndex index.php index.html # Indique quel type de fichier index doit sélectionner apache par défaut<br />
# Les logs d'erreur sont peu configurables, à part leur emplacement et le niveau :<br />
ErrorLog /var/log/apache2/error.log<br />
# Valeurs possibles pour les niveaux de log : debug, info, notice, warn, error, crit, alert, emerg.<br />
LogLevel warn<br />
<br />
# Configuration des logs :<br />
'''# EN COURS D'APPROFONDISSEMENT...'''<br />
LogFormat "%v:%p %a %h %l %u %t \"%r\" %>s %T \"%{Referer}i\" \"%{User-Agent}i\"" vhost_combined<br />
LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined<br />
LogFormat "%h %l %u %t \"%r\" %>s %b" common<br />
LogFormat "%{Referer}i -> %U" referer<br />
LogFormat "%{User-agent}i" agent<br />
# Define an access log for VirtualHosts that don't define their own logfile<br />
CustomLog /var/log/apache2/other_vhosts_access.log vhost_combined<br />
<br />
# Informations que renvoie Apache en cas d'erreur ou dans les headers<br />
ServerTokens Prod<br />
ServerSignature Off<br />
<br />
# Config perso des pages d'erreur<br />
# Peut être défini plus précisément plus loin dans ce fichier<br />
ErrorDocument 404 /404.html<br />
<br />
<br />
=== Les vhosts ===<br />
<br />
Voici un fichier de conf d'un Vhost :<br />
'''NameVirtualHost www.toto.fr''' # A ne mettre que dans le fichier du vhost par défaut<br />
'''<VirtualHost www.toto.fr>''' # Nom du virtualhost (= par là où il sera appelé...)<br />
'''ServerAdmin webmaster@localhost''' # Mail du webmaster (pas trop compliqué à comprendre... :p)<br />
'''ServerName www.toto.fr''' # Nom du serveur<br />
'''ServerAlias www2.toto.fr''' # Un éventuel alias<br />
'''DocumentRoot /home/www/toto/'''<br />
'''<Directory />'''<br />
'''Options FollowSymLinks''' # Autorise à suivre les liens symboliques<br />
'''AllowOverride None'''<br />
'''</Directory>'''<br />
'''<Directory /home/www/toto/>'''<br />
# Indexes : Ne liste pas les fichiers d'un répertoire s'il n'y a pas de fichier index.*<br />
'''Options Indexes FollowSymLinks MultiViews'''<br />
'''AllowOverride None'''<br />
'''Order allow,deny'''<br />
'''allow from all'''<br />
# This directive allows us to have apache2's default start page<br />
# in /apache2-default/, but still have / go to the right place<br />
# RedirectMatch ^/$ www.toto.fr<br />
'''</Directory>'''<br />
'''<Directory /home/www/secure/>'''<br />
# Config du répertoire sécurisé déjà vu précédemment<br />
'''</Directory>'''<br />
ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/ # Pour la config des scripts CGI<br />
<Directory "/usr/lib/cgi-bin"><br />
# A approfondir<br />
</Directory><br />
ErrorLog /var/log/apache2/error.log<br />
# Si besoin de logs particuliers pour le vhost :<br />
# Valeurs possibles : debug, info, notice, warn, error, crit, alert, emerg.<br />
# Non utilisées actuellement<br />
#LogLevel warn<br />
#CustomLog /var/log/apache2/access.log combined<br />
'''</VirtualHost>'''<br />
Ne pas oublier de rajouter le nom du vhost dans /etc/hosts<br />
<br />
Petite astuce pour désactiver l'accès à votre serveur par son IP publique : <br /><br />
Dans le fichier de conf du vhost "default", rajouter ceci à la fin. Ça peut être utile pour éviter les scans de port et les bots. Totalement inutile si le DNS est public... <br /><br />
A éviter pour un site web souhaitant être référencé !!! :)<br />
<VirtualHost *:80><br />
ServerName VOTRE.IP.PUB.LIQUE<br />
<Directory /><br />
Deny from all<br />
</Directory><br />
</VirtualHost><br />
<br />
=== restreindre l'accès à un répertoire ===<br />
<br />
Sous Apache, il existe 2 types d'authentification possible :<br />
* mod_auth_basic<br />
* mod_auth_digest<br />
<br />
pour activer le module mod_auth_digest :<br />
a2dismod mod_auth_basic<br />
a2enmod mod_auth_digest<br />
/etc/init.d/apache2 restart<br />
L'authentification Basic envoie le couple login/password en clair sur le réseau.<br />
Elle est donc déconseillée sans être couplée avec SSL.<br />
L'authentification Digest utilise les condensés MD5. Attention : Digest est mal supporté par IE 6 et antérieur, à cause du non-respect des RFC de la part de IE (original... ^^).<br />
<br />
Il est possible de mettre les directives d'authentification soit dans le/les fichiers(s) de configuration d'apache (typiquement apache2.conf), soit directement dans les répertoires concernés grace aux fichiers .htaccess.<br />
Il est conseillé, dans la mesure du possible, d'utiliser les directives <Directory> dans apache2.conf pour sécuriser les répertoires. Dans le cas contraire, Apache devra parcourir tous les répertoires à la recherche de fichiers .htaccess, ce qui risque d'amoindrir les performances.<br />
<br />
<Directory /home/www/secure/><br />
AuthType Digest<br />
AuthName "Zone securisee"<br />
AuthDigestDomain /secure/ http://www.teteve.fr/secure/<br />
AuthDigestProvider file<br />
AuthUserFile /etc/apache2/password<br />
Require valid-user<br />
</Directory><br />
<br />
créer le premier couple login/password :<br />
htdigest -c /ou/vous/voulez "Zone securisee" login1<br />
Un prompt vous demande alors de taper le mot de passe, puis de le confirmer. Créer ensuite les couples login/password en enlevant l'option "-c" (pour "create").<br />
/etc/init.d/apache2 reload<br />
<br />
== Quelques tips sur Apache2 ==<br />
<br />
=== Les commandes apache2 ===<br />
root@test ~ # apache2 -h<br />
Usage: apache2 [-D name] [-d directory] [-f file]<br />
[-C "directive"] [-c "directive"]<br />
[-k start|restart|graceful|graceful-stop|stop]<br />
[-v] [-V] [-h] [-l] [-L] [-t] [-S] [-X]<br />
Options:<br />
-D name : define a name for use in <IfDefine name> directives<br />
-d directory : Spécifie un répertoire racine specify an alternate initial ServerRoot<br />
-f file : specify an alternate ServerConfigFile<br />
-C "directive" : process directive before reading config files<br />
-c "directive" : process directive after reading config files<br />
-e level : show startup errors of level (see LogLevel)<br />
-E file : log startup errors to file<br />
-v : show version number<br />
-V : show compile settings<br />
-h : list available command line options (this page)<br />
-l : list compiled in modules<br />
-L : list available configuration directives<br />
-t -D DUMP_VHOSTS : show parsed settings (currently only vhost settings)<br />
-S : a synonym for -t -D DUMP_VHOSTS<br />
-t -D DUMP_MODULES : show all loaded modules<br />
-M : a synonym for -t -D DUMP_MODULES<br />
-t : run syntax check for config files<br />
-X : debug mode (only one worker, do not detach)<br />
<br />
=== LogFormat ===<br />
Directives présentes dans le fichier /etc/apache2/apache.conf d'après [http://doc.ubuntu-fr.org/apache2 La documentation Ubuntu]<br />
# format des lignes contenues dans les logs<br />
# %a Adresse ip distante.<br />
# %A Adresse ip local.<br />
# %B Taille de la réponse en octets, excluant l'entête HTTP.<br />
# %b Taille de la réponse en octets, excluant l'entête HTTP au format CLF.<br />
# %{Foobar}C Contenu du cookie "Foobar" de la requête envoyée au serveur.<br />
# %D Le temps mis à servir la requête .<br />
# %{FOOBAR}e Contenue de la variable d'environnement "FOOBAR".<br />
# %f Nom du fichier.<br />
# %h Hôte distant.<br />
# %H Le protocole demandé.<br />
# %{Foobar}i Le contenu de "Foobar": Ligne(s) d'en-tête de la requête envoyée au serveur.<br />
# %l nom du fichier de log distant (de identd, si il est fournit). Cela retournera un tiret tant que //mod_ident// n'est pas présent et //IdentityCheck// n'est pas mis à ON.<br />
# %m Méthode de la requête.<br />
# %{Foobar}n Contenu de la note "Foobar" provenant d'un autre module.<br />
# %{Foobar}o Le contenu de "Foobar": Ligne(s) d'entête dans la réponse.<br />
# %p Port canonique du serveur qui sert la réponse.<br />
# %P Id du processus fils qui a servi la requête.<br />
# %{format}P Id du processus ou du thread fils qui a servi la requête.<br />
# Les formats valides sont pid, tid, et hextid.<br />
# hextid nécessite APR 1.2.0 ou supérieur.<br />
# %q Chaînes de la requête (Commençant avec un ? si une chaine de requête existe, sinon une chaîne vide)<br />
# %r Première ligne de la requête.<br />
# %s Statut. Pour les requête redirigées en interne, ceci est la requête originale --- %>s pour la dernière.<br />
# %t Heure à laquelle la requête a été reçue (format standard anglais mois jour année )<br />
# %{format}t L'heure, au format précisé, qui doit être dans les formats de strftime(3). (potentiellement localisé).<br />
# %T Le temps mis pour répondre à la requête.<br />
# %u Utilisateur distant (de l'authentification; peut être faux si le code de retour de statut (%s) est 401)<br />
# %U Url demandée, n'inclue aucune chaîne de requête.<br />
# %v Nom canonique de ServerName du serveur qui répond à la requête.<br />
# %V Nom du serveur en fonction du paramètre UseCanonicalName.<br />
# %X Statut de la connexion une fois la réponse envoyée.<br />
# X = connexion annulée avant la réponse complète.<br />
# + = la connexion peut être maintenue après l'envoi de la réponse.<br />
# - = la connexion sera fermée après l'envoi de la réponse.<br />
# %I Octets reçus, incluant l'entête et la requête, ne peut être nul. Vous devez activer //mod_logio// pour l'utiliser.<br />
# %O Octets envoyés, incluant l'entête, ne peut être nul. Vous devez activer //mod_logio// pour l'utiliser.<br />
<br />
LogFormat "%h %l %h %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined<br />
LogFormat "%h %l %u %t \"%r\" %>s %b" common<br />
LogFormat "%{Referer}i -> %U" referer<br />
LogFormat "%{User-agent}i" agent<br />
<br />
Celles que j'ai dans le mien :<br />
LogFormat "%v %a %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" vhost_combined<br />
#LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined<br />
#LogFormat "%h %l %u %t \"%r\" %>s %b" common<br />
#LogFormat "%{Referer}i -> %U" referer<br />
#LogFormat "%{User-agent}i" agent<br />
#<br />
# Define an access log for VirtualHosts that don't define their own logfile<br />
CustomLog /var/log/apache2/other_vhosts_access.log vhost_combined<br />
<br />
'''Explications :'''<br />
LogFormat "%v %a %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" vhost_combined<br />
%v - Nom canonique de ServerName du serveur qui répond à la requête.<br />
%a - Adresse ip distante.<br />
%u - Utilisateur distant (de l'authentification; peut être faux si le code de retour de statut (%s) est 401)<br />
%t - Heure à laquelle la requête a été reçue (format standard anglais mois jour année )<br />
"%r" - Première ligne de la requête.<br />
%>s - Statut. Pour les requête redirigées en interne, ceci est la requête originale --- %>s pour la dernière.<br />
%b - Taille de la réponse en octets, excluant l'entête HTTP au format CLF. (obligatoire pour [[Awstats]])<br />
%{Referer}i - Le contenu de "Referer": Ligne(s) d'en-tête de la requête envoyée au serveur.<br />
%{User-Agent}i - Le contenu de "User-Agent": Ligne(s) d'en-tête de la requête envoyée au serveur.<br />
<br />
== PhpMyAdmin == <br />
<br />
L'installation de PhpMyAdmin se fait dans la foulée après celle de Mysql et Php :<br />
<br />
# apt-get install phpmyadmin<br />
<br />
Editer le fichier de configuration d'Apache :<br />
<br />
# vim /etc/apache2/apache2.conf<br />
<br />
Rajouter la ligne suivante :<br />
<br />
include /etc/phpmyadmin/apache.conf<br />
<br />
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) :<br />
<br />
http://localhost/phpmyadmin<br />
<br />
note : PhpMyAdmin utilise les identifiants de l'admin de Mysql tels que définis à l'installation de Mysql<br />
<br />
[[Catégorie:Informatique]]<br />
[[Catégorie:Serveur dédié]]<br />
[[Catégorie:Système]]<br />
[[Catégorie:Debian]]<br />
[[Catégorie:Procédures]]</div>Tetevehttp://www.teteve.fr/wiki/index.php?title=VPS&diff=24VPS2017-04-02T20:40:43Z<p>Teteve : </p>
<hr />
<div>Suite à l'abandon du serveur dédié sous Proxmox, nous sommes passés à une configuration à 3 VPS.<br />
Le premier s'occupe du DNS, les deux autres sont les serveurs web (prod/homol).<br />
<br />
Après l'installation d'une distribution Debian 8 amd64, configuration commune "de base" :<br />
<br />
# passwd<br />
Enter new UNIX password:<br />
Retype new UNIX password:<br />
passwd: password updated successfully<br />
# vim /etc/apt/sources.list<br />
# Pour les installations, à désactiver pour la mise en place des mises à jour automatiques<br />
deb http://ftp.debian.org/debian/ jessie main contrib non-free<br />
# Mises à jour de sécurité (à exécuter en automatique)<br />
deb http://security.debian.org/ jessie/updates main contrib non-free<br />
# apt-get update && apt-get dist-upgrade<br />
The following packages will be upgraded:<br />
[...]<br />
# apt-get install zsh<br />
# chsh<br />
/bin/zsh<br />
# wget http://formation-debian.via.ecp.fr/fichiers-config.tar.gz && tar xzf fichiers-config.tar.gz && cd fichiers-config && cp z* /etc/zsh/ && cp dir_colors /etc/ && cp vimrc /etc/vim/<br />
# cd .. && rm -rf fichiers-config*<br />
Récupérer grâce à un traceroute la passerelle du VPS<br />
# vim /etc/network/interfaces<br />
auto eth0<br />
iface eth0 inet static<br />
address 137.74.XX.YY<br />
netmask 255.255.255.255<br />
post-up /sbin/ip route add 137.74.VV.1 dev eth0<br />
post-up /sbin/ip route add default via 137.74.VV.1<br />
pre-down /sbin/ip route del default via 137.74.VV.1<br />
pre-down /sbin/ip route del 137.74.VV.1 dev eth0<br />
dns-nameserver 213.186.33.99<br />
dns-nameserver 188.165.37.32<br />
dns-search teteve.fr<br />
iface eth0 inet6 static<br />
address 2001:41d0:302:ZZZ::WWW<br />
netmask 64<br />
gateway 2001:41d0:302:ZZZ::1<br />
# service networking restart<br />
# vim /etc/sysctl.conf:<br />
net.ipv6.conf.eth0.autoconf=0<br />
net.ipv6.conf.eth0.accept_ra=0<br />
# sysctl -p<br />
# vim /etc/ssh/sshd_config<br />
Changement du port si nécessaire<br />
# service ssh restart<br />
# vim /etc/hosts<br />
# vim /etc/hostname<br />
# vim /etc/resolv.conf<br />
<br />
***********************************************************************<br />
suggestions de http://docs.ovh.ca/fr/guides-network-ipv6.html :<br />
Ajout de :<br />
post-up /sbin/ip -f inet6 route add 2607:5300:60:47ff:ff:ff:ff:ff dev eth0<br />
post-up /sbin/ip -f inet6 route add default gw 2607:5300:60:47ff:ff:ff:ff:ff<br />
pre-down /sbin/ip -f inet6 route del 2607:5300:60:47ff:ff:ff:ff:ff dev eth0<br />
pre-down /sbin/ip -f inet6 route del default gw 2607:5300:60:47ff:ff:ff:ff:ff<br />
***********************************************************************</div>Tetevehttp://www.teteve.fr/wiki/index.php?title=VPS&diff=23VPS2017-04-02T15:19:14Z<p>Teteve : </p>
<hr />
<div>Suite à l'abandon du serveur dédié sous Proxmox, nous sommes passés à une configuration à 3 VPS.<br />
Le premier s'occupe du DNS, les deux autres sont les serveurs web (prod/homol).<br />
<br />
Après l'installation d'une distribution Debian 8 amd64, configuration commune "de base" :<br />
<br />
# passwd<br />
Enter new UNIX password:<br />
Retype new UNIX password:<br />
passwd: password updated successfully<br />
# vim /etc/apt/sources.list<br />
# Pour les installations, à désactiver pour la mise en place des mises à jour automatiques<br />
deb http://ftp.debian.org/debian/ jessie main contrib non-free<br />
# Mises à jour de sécurité (à exécuter en automatique)<br />
deb http://security.debian.org/ jessie/updates main contrib non-free<br />
# apt-get update && apt-get dist-upgrade<br />
The following packages will be upgraded:<br />
[...]<br />
# apt-get install zsh<br />
# chsh<br />
/bin/zsh<br />
# wget http://formation-debian.via.ecp.fr/fichiers-config.tar.gz && tar xzf fichiers-config.tar.gz && cd fichiers-config && cp z* /etc/zsh/ && cp dir_colors /etc/ && cp vimrc /etc/vim/<br />
# cd .. && rm -rf fichiers-config*<br />
# vim /etc/network/interfaces<br />
auto eth0<br />
iface eth0 inet static<br />
address 137.74.XX.YY<br />
netmask 255.255.255.255<br />
post-up /sbin/ip route add 137.74.XX.1 dev eth0<br />
post-up /sbin/ip route add default via 137.74.XX.1<br />
pre-down /sbin/ip route del default via 137.74.XX.1<br />
pre-down /sbin/ip route del 137.74.XX.1 dev eth0<br />
dns-nameserver 213.186.33.99<br />
dns-nameserver 188.165.37.32<br />
dns-search teteve.fr<br />
iface eth0 inet6 static<br />
address 2001:41d0:302:ZZZ::WWW<br />
netmask 64<br />
gateway 2001:41d0:302:ZZZ::1<br />
# service networking restart<br />
# vim /etc/sysctl.conf:<br />
net.ipv6.conf.eth0.autoconf=0<br />
net.ipv6.conf.eth0.accept_ra=0<br />
# sysctl -p<br />
# vim /etc/ssh/sshd_config<br />
Changement du port si nécessaire<br />
# service ssh restart<br />
# vim /etc/hosts<br />
# vim /etc/hostname<br />
# vim /etc/resolv.conf<br />
<br />
***********************************************************************<br />
suggestions de http://docs.ovh.ca/fr/guides-network-ipv6.html :<br />
Ajout de :<br />
post-up /sbin/ip -f inet6 route add 2607:5300:60:47ff:ff:ff:ff:ff dev eth0<br />
post-up /sbin/ip -f inet6 route add default gw 2607:5300:60:47ff:ff:ff:ff:ff<br />
pre-down /sbin/ip -f inet6 route del 2607:5300:60:47ff:ff:ff:ff:ff dev eth0<br />
pre-down /sbin/ip -f inet6 route del default gw 2607:5300:60:47ff:ff:ff:ff:ff<br />
***********************************************************************</div>Tetevehttp://www.teteve.fr/wiki/index.php?title=VPS&diff=22VPS2017-04-02T15:14:12Z<p>Teteve : </p>
<hr />
<div>Suite à l'abandon du serveur dédié sous Proxmox, nous sommes passés à une configuration à 3 VPS.<br />
Le premier s'occupe du DNS, les deux autres sont les serveurs web (prod/homol).<br />
<br />
Après l'installation d'une distribution Debian 8 amd64, configuration commune "de base" :<br />
<br />
# passwd<br />
Enter new UNIX password:<br />
Retype new UNIX password:<br />
passwd: password updated successfully<br />
# vim /etc/apt/sources.list<br />
# Pour les installations, à désactiver pour la mise en place des mises à jour automatiques<br />
deb http://ftp.debian.org/debian/ jessie main contrib non-free<br />
# Mises à jour de sécurité (à exécuter en automatique)<br />
deb http://security.debian.org/ jessie/updates main contrib non-free<br />
# apt-get update && apt-get dist-upgrade<br />
The following packages will be upgraded:<br />
[...]<br />
# apt-get install zsh<br />
# chsh<br />
/bin/zsh<br />
# wget http://formation-debian.via.ecp.fr/fichiers-config.tar.gz && tar xzf fichiers-config.tar.gz && cd fichiers-config && cp z* /etc/zsh/ && cp dir_colors /etc/ && cp vimrc /etc/vim/<br />
# cd .. && rm -rf fichiers-config*<br />
# vim /etc/network/interfaces<br />
auto eth0<br />
iface eth0 inet static<br />
address 137.74.XX.YY<br />
netmask 255.255.255.255<br />
post-up /sbin/ip route add 137.74.XX.1 dev eth0<br />
post-up /sbin/ip route add default via 137.74.XX.1<br />
pre-down /sbin/ip route del default via 137.74.XX.1<br />
pre-down /sbin/ip route del 137.74.XX.1 dev eth0<br />
dns-nameserver 213.186.33.99<br />
dns-nameserver 188.165.37.32<br />
dns-search teteve.fr<br />
iface eth0 inet6 static<br />
address 2001:41d0:302:ZZZ::WWW<br />
netmask 64<br />
gateway 2001:41d0:302:ZZZ::1<br />
# service networking restart<br />
# vim /etc/sysctl.conf:<br />
net.ipv6.conf.eth0.autoconf=0<br />
net.ipv6.conf.eth0.accept_ra=0<br />
# sysctl -p<br />
# vim /etc/ssh/sshd_config<br />
Changement du port si nécessaire<br />
# service ssh restart<br />
# vim /etc/hosts<br />
# vim /etc/hostname<br />
# vim /etc/resolv.conf<br />
<br />
***********************************************************************<br />
suggestions de http://docs.ovh.ca/fr/guides-network-ipv6.html :<br />
Ajout de :<br />
post-up /sbin/ip -f inet6 route add 2607:5300:60:47ff:ff:ff:ff:ff dev eth0<br />
post-up /sbin/ip -f inet6 route add default gw 2607:5300:60:47ff:ff:ff:ff:ff<br />
pre-down /sbin/ip -f inet6 route del 2607:5300:60:47ff:ff:ff:ff:ff dev eth0<br />
pre-down /sbin/ip -f inet6 route del default gw 2607:5300:60:47ff:ff:ff:ff:ff<br />
***********************************************************************</div>Tetevehttp://www.teteve.fr/wiki/index.php?title=Accueil&diff=21Accueil2017-03-26T23:34:50Z<p>Teteve : /* Les logiciels / Les services */</p>
<hr />
<div>== Présentation ==<br />
<br />
Ce wiki sert de support pour le développement d'une base de connaissance en relation avec l'informatique, et plus spécialement sur Linux.<br /><br />
Comme tout le reste du site, il est en perpétuelle évolution, et se remplit peu à peu.<br /><br />
Lorsque toutes les sections seront complètement renseignées, je pense que le projet pourra être considéré comme achevé... pour la mise en place seulement !! :)<br />
INFORMATION : seules les personnes enregistrées sur ce wiki peuvent le modifier.<br />
N'hésitez pas à vous inscrire si vous souhaiter modifier, corriger ou rajouter quelque chose...<br />
<br />
== Serveur dédié OVH ==<br />
<br />
* [[VPS|Les VPS]]<br />
* [[Reseau|Configuration du réseau / Firewall]]<br />
* [[Logs|Les logs]]<br />
* [[Backups|Les sauvegardes]]<br />
* [[Supervision|La supervision]]<br />
** [[Nagios]]<br />
* Configurations diverses :<br />
** ......<br />
<br />
=== Les logiciels / Les services ===<br />
<br />
* Serveur DNS :<br />
** [[Bind]]<br />
** Unbound<br />
** [[DNSSEC]]<br />
* Serveur web :<br />
** [[Apache]]<br />
** [[Nginx]]<br />
* Les logiciels web<br />
** [[Wordpress|Wordpress]]<br />
** [[Webradio|Webradio]]<br />
* [[Awstats]]<br />
* [[VSFTPD]]<br />
* [[LDAP]]<br />
* [[SVN]]<br />
<br />
* [[MySQL]]<br />
<br />
* Messagerie :<br />
** [[Postfix]]<br />
** Dovecot<br />
** Exim4<br />
* Liste de diffusion :<br />
** Sympa<br />
** Mailman<br />
<br />
* Travail collaboratif<br />
** Kolab<br />
** SoGo<br />
<br />
=== Généralités / Théorie ===<br />
<br />
* [[LVM]]<br />
* [[Arborescence_et_repertoires|Arborescence et répertoires]]<br />
* [[Cron|Cron et crontab]]<br />
<br />
=== Commandes utiles ===<br />
<br />
* [[Ligne_commande|La ligne de commande (configuration perso du shell)]]<br />
* [[Commandes|Commandes utiles]]<br />
* [[Fichiers|Les fichiers]]<br />
* [[Fichiers2|Les fichiers - suite]]<br />
* [[Surveillance|Surveiller le système]]<br />
* [[QOS|Le réseau / Bande passante - QoS]]<br />
* Disque dur<br />
* Aide mémoire<br />
<br />
=== Scripts ===<br />
<br />
* [[Zsh]]<br />
* VIM<br />
* [[Outils]]<br />
* [[Bash|Généralités shell]]<br />
<br />
=== Sécurité ===<br />
<br />
* [[Firewall]]<br />
* [[Fail2ban]]<br />
* [[Secu_LAMP|Apache/PHP/MySQL]]<br />
* [[AntiVirus|Clamav / spamassassin]]<br />
* [[Tips_securite|Tips sécurité sur les serveurs]]<br />
<br />
=== Divers ===<br />
<br />
* [[Install_PC|Configuration d'un poste Debian]]<br />
<br />
=== TODO ===<br />
<br />
=== Les liens utiles ===<br />
<br />
== Windows ==<br />
<br />
=== Scripts VB/VBA/VBS ===<br />
<br />
* [[Divers_VB|Divers VB]]<br />
* [[Connexion_AD|Connexions AD]]<br />
<br />
--<br />
<br />
Aide MediaWiki<br />
* [http://www.mediawiki.org/wiki/Manual:Configuration_settings Liste des paramètres de configuration]<br />
* [http://fr.wikipedia.org/wiki/Aide:Syntaxe La syntaxe de MediaWiki]<br />
* [http://www.mediawiki.org/wiki/Manual:FAQ/fr FAQ sur MediaWiki]<br />
* [http//meta.wikimedia.org/wiki/Aide:Contenu Guide de l’utilisateur] <br />
<br />
[[Catégorie:Accueil]]<br />
[[Catégorie:Informatique]]<br />
<br />
----<br />
[http://creativecommons.org/licenses/by-nc-sa/2.0/fr/ Licence CC BY-NC-SA 2.0]</div>Tetevehttp://www.teteve.fr/wiki/index.php?title=Awstats&diff=20Awstats2017-03-26T10:41:49Z<p>Teteve : </p>
<hr />
<div>'''En cours de mise en place et d'approfondissement...'''<br />
<br />
== Installation ==<br />
<br />
# apt-get install awstats<br />
<br />
Définir l'alias utilisé par les différents domaines :<br />
<br />
# '''vim /etc/apache2/sites-available/stats.conf'''<br />
<br />
Alias /awstatsclasses "/usr/share/awstats/classes/"<br />
Alias /awstatscss "/usr/share/awstats/css/"<br />
Alias /awstats-icon "/usr/share/awstats/icon/"<br />
<br />
ScriptAlias /stats /usr/lib/cgi-bin/awstats.pl<br />
<br />
# mêmes paramètres que dans awstats.*.conf<br />
<Directory /usr/lib/cgi-bin/><br />
DirectoryIndex awstats.pl<br />
UseCanonicalName off<br />
AuthType Digest<br />
AuthName "Acces restreint aux stats"<br />
AuthDigestDomain /awstats http://www.teteve.fr/awstats<br />
AuthDigestProvider file<br />
AuthUserFile /etc/apache2/.awstats.pwd<br />
Require valid-user<br />
Options +ExecCGI<br />
AllowOverride None<br />
Order allow,deny<br />
Allow from all<br />
</Directory><br />
<br />
# ''' a2ensite stats.conf<br />
Enabling site stats.<br />
To activate the new configuration, you need to run:<br />
service apache2 reload<br />
# '''service apache2 reload'''<br />
<br />
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 /><br />
recopier le fichier de conf par défaut :<br />
# '''cp /etc/awstats/awstats.local.conf /etc/awstats/awstats.www.teteve.fr.conf'''<br />
<br />
== Config ==<br />
<br />
'''<span style="color:red;">EN COURS...</span>'''<br />
<br />
Extrait de mon fichier de config, à rapprocher de la [[Apache#Les_fichiers_de_conf|Conf d'Apache]] et des [[Apache#Les_vhosts|vhosts]]... <br /><br />
<br />
LogFile="/var/log/apache2/log/teteve.log"<br />
LogType=W<br />
<br />
J'ai barré les variables ne correspondant pas à un serveur web. A reprendre dans le cas d'un autre type de serveur.<br />
# Enter here your log format (Must match your web server config. See setup<br />
# instructions in documentation to know how to configure your web server to<br />
# have the required log format).<br />
# Possible values: 1,2,3,4 or "your_own_personalized_log_format"<br />
# 1 - Apache or Lotus Notes/Domino native combined log format (NCSA combined/XLF/ELF log format)<br />
# 2 - IIS or ISA format (IIS W3C log format). See FAQ-COM115 For ISA.<br />
# 3 - Webstar native log format.<br />
# 4 - Apache or Squid native common log format (NCSA common/CLF log format)<br />
# With LogFormat=4, some features (browsers, os, keywords...) can't work.<br />
# "your_own_personalized_log_format" = If your log is ftp, mail or other format,<br />
# you must use following keys to define the log format string (See FAQ for<br />
# ftp, mail or exotic web log format examples):<br />
# %host Client hostname or IP address (or Sender host for mail log)<br />
<s># %host_r Receiver hostname or IP address (for mail log)</s><br />
# %lognamequot Authenticated login/user with format: "john"<br />
# %logname Authenticated login/user with format: john<br />
# %time1 Date and time with format: [dd/mon/yyyy:hh:mm:ss +0000] or [dd/mon/yyyy:hh:mm:ss]<br />
# %time2 Date and time with format: yyyy-mm-dd hh:mm:ss<br />
# %time3 Date and time with format: Mon dd hh:mm:ss or Mon dd hh:mm:ss yyyy<br />
# %time4 Date and time with unix timestamp format: dddddddddd<br />
# %methodurl Method and URL with format: "GET /index.html HTTP/x.x"<br />
# %methodurlnoprot Method and URL with format: "GET /index.html"<br />
# %method Method with format: GET<br />
# %url URL only with format: /index.html<br />
# %query Query string (used by URLWithQuery option)<br />
# %code Return code status (with format for web log: 999)<br />
# %bytesd Size of document in bytes<br />
# %refererquot Referer page with format: "http://from.com/from.htm"<br />
# %referer Referer page with format: http://from.com/from.htm<br />
# %uabracket User agent with format: [Mozilla/4.0 (compatible, ...)]<br />
# %uaquot User agent with format: "Mozilla/4.0 (compatible, ...)"<br />
# %ua User agent with format: Mozilla/4.0_(compatible...)<br />
# %gzipin mod_gzip compression input bytes: In:XXX<br />
# %gzipout mod_gzip compression output bytes & ratio: Out:YYY:ZZpct.<br />
# %gzipratio mod_gzip compression ratio: ZZpct.<br />
# %deflateratio mod_deflate compression ratio with format: (ZZ)<br />
<s># %email EMail sender (for mail log)</s><br />
<s># %email_r EMail receiver (for mail log)</s><br />
# %virtualname Web sever virtual hostname. Use this tag when same log<br />
# contains data of several virtual web servers. AWStats<br />
# will discard records not in SiteDomain nor HostAliases<br />
# %cluster If log file is provided from several computers (merged by<br />
# logresolvemerge.pl), use this to define cluster id field.<br />
# %extraX Another field that you plan to use for building a<br />
# personalized report with ExtraSection feature (See later).<br />
# If your log format has some fields not included in this list, use:<br />
# %other Means another not used field<br />
# %otherquot Means another not used double quoted field<br />
#<br />
# Examples for Apache combined logs (following two examples are equivalent):<br />
# LogFormat = 1<br />
# LogFormat = "%host %other %logname %time1 %methodurl %code %bytesd %refererquot %uaquot"<br />
#<br />
# Example for IIS:<br />
# LogFormat = 2<br />
#<br />
LogFormat = %virtualname %host %logname %time1 %methodurl %code %bytesd %refererquot %uaquot<br />
<br />
LogFile="/var/log/apache2/vhosts/teteve.log"<br />
LogType=W<br />
LogFormat = %virtualname %host %logname %time1 %methodurl %code %bytesd %refererquot %uaquot<br />
LogSeparator=" "<br />
<br />
J'ai été obligé de rajouter %bytesd sinon awstats refuse d'analyser les logs.<br />
De même, je n'ai pas réussi à faire passer un "virtualname:port"<br />
<br />
== Commande ==<br />
<br />
Pour lancer l'update manuellement (ou à rajouter dans un cron...)<br />
/usr/lib/cgi-bin/awstats.pl -config=www.teteve.fr<br />
<br />
[[Catégorie:Informatique]]<br />
[[Catégorie:Serveur dédié]]<br />
[[Catégorie:Système]]<br />
[[Catégorie:Debian]]<br />
[[Catégorie:Procédures]]</div>Tetevehttp://www.teteve.fr/wiki/index.php?title=Awstats&diff=19Awstats2017-03-25T23:25:03Z<p>Teteve : </p>
<hr />
<div>'''En cours de mise en place et d'approfondissement...'''<br />
<br />
== Installation ==<br />
<br />
# apt-get install awstats<br />
<br />
Définir l'alias utilisé par les différents domaines :<br />
<br />
# '''vim /etc/apache2/sites-available/stats.conf'''<br />
<br />
Alias /awstatsclasses "/usr/share/awstats/classes/"<br />
Alias /awstatscss "/usr/share/awstats/css/"<br />
Alias /awstats-icon "/usr/share/awstats/icon/"<br />
<br />
ScriptAlias /stats /usr/lib/cgi-bin/awstats.pl<br />
<br />
# mêmes paramètres que dans awstats.*.conf<br />
<Directory /usr/lib/cgi-bin/><br />
DirectoryIndex awstats.pl<br />
UseCanonicalName off<br />
AuthType Digest<br />
AuthName "Acces restreint aux stats"<br />
AuthDigestDomain /awstats http://www.teteve.fr/awstats<br />
AuthDigestProvider file<br />
AuthUserFile /etc/apache2/.awstats.pwd<br />
Require valid-user<br />
Options +ExecCGI<br />
AllowOverride None<br />
Order allow,deny<br />
Allow from all<br />
</Directory><br />
<br />
# ''' a2ensite stats.conf<br />
Enabling site stats.<br />
To activate the new configuration, you need to run:<br />
service apache2 reload<br />
# '''/etc/init.d/apache reload'''<br />
<br />
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 /><br />
recopier le fichier de conf par défaut :<br />
# '''cp /etc/awstats/awstats.local.conf /etc/awstats/awstats.www.teteve.fr.conf'''<br />
<br />
== Config ==<br />
<br />
'''<span style="color:red;">EN COURS...</span>'''<br />
<br />
Extrait de mon fichier de config, à rapprocher de la [[Apache#Les_fichiers_de_conf|Conf d'Apache]] et des [[Apache#Les_vhosts|vhosts]]... <br /><br />
<br />
LogFile="/var/log/apache2/log/teteve.log"<br />
LogType=W<br />
<br />
J'ai barré les variables ne correspondant pas à un serveur web. A reprendre dans le cas d'un autre type de serveur.<br />
# Enter here your log format (Must match your web server config. See setup<br />
# instructions in documentation to know how to configure your web server to<br />
# have the required log format).<br />
# Possible values: 1,2,3,4 or "your_own_personalized_log_format"<br />
# 1 - Apache or Lotus Notes/Domino native combined log format (NCSA combined/XLF/ELF log format)<br />
# 2 - IIS or ISA format (IIS W3C log format). See FAQ-COM115 For ISA.<br />
# 3 - Webstar native log format.<br />
# 4 - Apache or Squid native common log format (NCSA common/CLF log format)<br />
# With LogFormat=4, some features (browsers, os, keywords...) can't work.<br />
# "your_own_personalized_log_format" = If your log is ftp, mail or other format,<br />
# you must use following keys to define the log format string (See FAQ for<br />
# ftp, mail or exotic web log format examples):<br />
# %host Client hostname or IP address (or Sender host for mail log)<br />
<s># %host_r Receiver hostname or IP address (for mail log)</s><br />
# %lognamequot Authenticated login/user with format: "john"<br />
# %logname Authenticated login/user with format: john<br />
# %time1 Date and time with format: [dd/mon/yyyy:hh:mm:ss +0000] or [dd/mon/yyyy:hh:mm:ss]<br />
# %time2 Date and time with format: yyyy-mm-dd hh:mm:ss<br />
# %time3 Date and time with format: Mon dd hh:mm:ss or Mon dd hh:mm:ss yyyy<br />
# %time4 Date and time with unix timestamp format: dddddddddd<br />
# %methodurl Method and URL with format: "GET /index.html HTTP/x.x"<br />
# %methodurlnoprot Method and URL with format: "GET /index.html"<br />
# %method Method with format: GET<br />
# %url URL only with format: /index.html<br />
# %query Query string (used by URLWithQuery option)<br />
# %code Return code status (with format for web log: 999)<br />
# %bytesd Size of document in bytes<br />
# %refererquot Referer page with format: "http://from.com/from.htm"<br />
# %referer Referer page with format: http://from.com/from.htm<br />
# %uabracket User agent with format: [Mozilla/4.0 (compatible, ...)]<br />
# %uaquot User agent with format: "Mozilla/4.0 (compatible, ...)"<br />
# %ua User agent with format: Mozilla/4.0_(compatible...)<br />
# %gzipin mod_gzip compression input bytes: In:XXX<br />
# %gzipout mod_gzip compression output bytes & ratio: Out:YYY:ZZpct.<br />
# %gzipratio mod_gzip compression ratio: ZZpct.<br />
# %deflateratio mod_deflate compression ratio with format: (ZZ)<br />
<s># %email EMail sender (for mail log)</s><br />
<s># %email_r EMail receiver (for mail log)</s><br />
# %virtualname Web sever virtual hostname. Use this tag when same log<br />
# contains data of several virtual web servers. AWStats<br />
# will discard records not in SiteDomain nor HostAliases<br />
# %cluster If log file is provided from several computers (merged by<br />
# logresolvemerge.pl), use this to define cluster id field.<br />
# %extraX Another field that you plan to use for building a<br />
# personalized report with ExtraSection feature (See later).<br />
# If your log format has some fields not included in this list, use:<br />
# %other Means another not used field<br />
# %otherquot Means another not used double quoted field<br />
#<br />
# Examples for Apache combined logs (following two examples are equivalent):<br />
# LogFormat = 1<br />
# LogFormat = "%host %other %logname %time1 %methodurl %code %bytesd %refererquot %uaquot"<br />
#<br />
# Example for IIS:<br />
# LogFormat = 2<br />
#<br />
LogFormat = %virtualname %host %logname %time1 %methodurl %code %bytesd %refererquot %uaquot<br />
<br />
LogFile="/var/log/apache2/vhosts/teteve.log"<br />
LogType=W<br />
LogFormat = %virtualname %host %logname %time1 %methodurl %code %bytesd %refererquot %uaquot<br />
LogSeparator=" "<br />
<br />
J'ai été obligé de rajouter %bytesd sinon awstats refuse d'analyser les logs.<br />
De même, je n'ai pas réussi à faire passer un "virtualname:port"<br />
<br />
== Commande ==<br />
<br />
Pour lancer l'update manuellement (ou à rajouter dans un cron...)<br />
/usr/lib/cgi-bin/awstats.pl -config=www.teteve.fr<br />
<br />
[[Catégorie:Informatique]]<br />
[[Catégorie:Serveur dédié]]<br />
[[Catégorie:Système]]<br />
[[Catégorie:Debian]]<br />
[[Catégorie:Procédures]]</div>Tetevehttp://www.teteve.fr/wiki/index.php?title=VPS&diff=18VPS2017-03-25T21:41:00Z<p>Teteve : </p>
<hr />
<div>Suite à l'abandon du serveur dédié sous Proxmox, nous sommes passés à une configuration à 3 VPS.<br />
Le premier s'occupe du DNS, les deux autres sont les serveurs web (prod/homol).<br />
<br />
Après l'installation d'une distribution Debian 8 amd64, configuration commune "de base" :<br />
<br />
# passwd<br />
Enter new UNIX password:<br />
Retype new UNIX password:<br />
passwd: password updated successfully<br />
# vim /etc/apt/source.list<br />
# Pour les installations, à désactiver pour la mise en place des mises à jour automatiques<br />
deb http://ftp.debian.org/debian/ jessie main contrib non-free<br />
# Mises à jour de sécurité (à exécuter en automatique)<br />
deb http://security.debian.org/ jessie/updates main contrib non-free<br />
# apt-get update && apt-get dist-upgrade<br />
The following packages will be upgraded:<br />
[...]<br />
# apt-get install zsh<br />
# chsh<br />
/bin/zsh<br />
# wget http://formation-debian.via.ecp.fr/fichiers-config.tar.gz && tar xzf fichiers-config.tar.gz && cd fichiers-config && cp z* /etc/zsh/ && cp dir_colors /etc/ && cp vimrc /etc/vim/<br />
# cd .. && rm -rf fichiers-config*<br />
# vim /etc/network/interfaces<br />
auto eth0<br />
iface eth0 inet static<br />
address 137.74.XX.YY<br />
netmask 255.255.255.255<br />
post-up /sbin/ip route add 137.74.XX.1 dev eth0<br />
post-up /sbin/ip route add default via 137.74.XX.1<br />
pre-down /sbin/ip route del default via 137.74.XX.1<br />
pre-down /sbin/ip route del 137.74.XX.1 dev eth0<br />
dns-nameserver 213.186.33.99<br />
dns-nameserver 188.165.37.32<br />
dns-search teteve.fr<br />
iface eth0 inet6 static<br />
address 2001:41d0:302:ZZZ::WWW<br />
netmask 64<br />
gateway 2001:41d0:302:ZZZ::1<br />
# service networking restart<br />
# vim /etc/sysctl.conf:<br />
net.ipv6.conf.eth0.autoconf=0<br />
net.ipv6.conf.eth0.accept_ra=0<br />
# sysctl -p<br />
# vim /etc/ssh/sshd_config<br />
Changement du port si nécessaire<br />
# service ssh restart<br />
# vim /etc/hosts<br />
# vim /etc/hostname<br />
# vim /etc/resolv.conf<br />
<br />
***********************************************************************<br />
suggestions de http://docs.ovh.ca/fr/guides-network-ipv6.html :<br />
Ajout de :<br />
post-up /sbin/ip -f inet6 route add 2607:5300:60:47ff:ff:ff:ff:ff dev eth0<br />
post-up /sbin/ip -f inet6 route add default gw 2607:5300:60:47ff:ff:ff:ff:ff<br />
pre-down /sbin/ip -f inet6 route del 2607:5300:60:47ff:ff:ff:ff:ff dev eth0<br />
pre-down /sbin/ip -f inet6 route del default gw 2607:5300:60:47ff:ff:ff:ff:ff<br />
***********************************************************************</div>Tetevehttp://www.teteve.fr/wiki/index.php?title=VSFTPD&diff=17VSFTPD2017-03-24T09:47:03Z<p>Teteve : Page créée avec « ==Prérequis== On va installer un serveur FTP, grâce à vsftpd (Very Secure FTP Daemon).<br /> Les utilisateurs de ce FTP sont les webmasters des différents sites hébe... »</p>
<hr />
<div>==Prérequis==<br />
<br />
On va installer un serveur FTP, grâce à vsftpd (Very Secure FTP Daemon).<br /><br />
Les utilisateurs de ce FTP sont les webmasters des différents sites hébergés sur le serveur.<br /><br />
Les utilisateurs n'auront pas de compte système sur la machine. Il faudra donc créer une base d'utilisateurs dits "virtuels".<br /><br />
Chaque utilisateur sera également "chrooté" dans son répertoire. Chaque utilisateur pourra lire et écrire dans son répertoire.<br />
<br />
==Installation==<br />
<br />
Installation du paquet :<br />
# apt-get install vsftpd<br />
<br />
Si le répertoire /etc/vsftpd n'existe pas, le créer :<br />
# mkdir /etc/vsftpd<br />
<br />
Renommer les fichiers de configuration d'origine pour sauvegarde :<br />
# cp /etc/vsftpd.conf /etc/vsftpd.conf.default.bak<br />
# cp /etc/pam.d/vsftpd /etc/pam.d/vsftpd.default.bak<br />
<br />
Installation du paquet pour gérer la base de données login/mot de passe : libdb4-util<br />
# apt-get install libdb4.8<br />
# apt-get install db4.8-util<br />
<br />
Remplir le fichiers des utilisateurs :<br />
# vim /etc/vsftpd/login.txt<br />
'''Important''' : respecter la syntaxe !<br /><br />
(retour à la ligne entre les deux et sans commentaires)<br />
utilisateur1<br />
mot de passe1<br />
utilisateur2<br />
mot de passe2<br />
<br />
Créer la base de données proprement dite :<br />
# db4.8_load -T -t hash -f login.txt /etc/vsftpd/login.db<br />
# chmod 600 /etc/vsftpd/login.db<br />
<br />
# vim /etc/pam.d/vsftpd.pam<br />
auth required /lib/security/pam_userdb.so db=/etc/vsftpd/login<br />
account required /lib/security/pam_userdb.so db=/etc/vsftpd/login<br />
<br />
# cp /etc/pam.d/vsftpd.pam /etc/pam.d/vsftpd<br />
<br />
Le serveur FTP, géré par vsftpd, n'utilise pas les comptes système pour s'authentifier<br />
(d'où l'utilité de la base de données des utilisateurs => utilisateurs virtuels)<br /><br />
Il faut donc créer l'utilisateur système utilisé par le démon :<br />
# mkdir -p /home/ftp/virtual<br />
# groupadd ftp<br />
# useradd -g ftp -d /home/ftp/virtual/ virtual<br />
Vérifier dans les fichiers /etc/passwd et /etc/group<br />
# chown root.ftp ~virtual/<br />
# chmod 2750 ~virtual/<br />
<br />
==Configuration VSFTPD==<br />
<br />
# vim /etc/vsftpd.conf<br />
<br />
''# Ceci configure vsFTPd en mode "standalone"''<br />
'''listen=YES'''<br />
<br />
''# On désactive les connexions anonymes et on active les non-anonymes(c'est le cas des utilisateurs virtuels):''<br />
'''anonymous_enable=NO'''<br />
'''local_enable=YES'''<br />
<br />
''# On interdit par défaut toute possibilité d'écrire ou lire.''<br />
''# Ces droits seront gérés par utilisateurs, dans les fichiers de conf de chaque user''<br />
'''anon_mkdir_write_enable=NO'''<br />
'''anon_other_write_enable=NO''' <br />
'''anon_upload_enable=NO'''<br />
'''write_enable=NO'''<br />
<br />
''# guest_enable pour activer l'utilisateur virtuel''<br />
'''guest_enable=YES<br />
'''guest_username=virtual''' <br />
<br />
''# On veut que les utilisateurs virtuels restent dans ~virtual/'' <br />
'''chroot_local_user=YES'''<br />
<br />
''# On définit le nombre maximum de sessions à 4 (les nouveaux clients recevront un message du genre: "erreur : serveur occupé")''<br />
'''max_clients=10'''<br />
<br />
''# On définit le nombre maximum de sessions par IP à 4''<br />
'''# max_per_ip=4'''<br />
<br />
''# Configuration emplacement fichiers utilisateurs, jail chroot, et service pam'' <br />
'''secure_chroot_dir=/var/run/vsftpd'''<br />
'''pam_service_name=vsftpd''' <br />
'''user_config_dir=/etc/vsftpd/vsftpd_user_conf''' <br />
<br />
''#################### Supplément Teteve #############################''<br />
<br />
'''ftpd_banner=Bienvenue sur le serveur FTP de teteve.fr'''<br />
<br />
''# On active les logs pour les uploads/downloads''<br />
'''xferlog_enable=YES'''<br />
'''xferlog_file=/var/log/vsftpd-dl.log'''<br />
<br />
''# Connexion et ports pour le mode passif'' <br />
'''connect_from_port_20=YES'''<br />
'''pasv_address=87.98.141.85'''<br />
'''pasv_min_port=20000'''<br />
'''pasv_max_port=20100'''<br />
<br />
''# temps d'inactivité'' <br />
'''idle_session_timeout=600'''<br />
'''data_connection_timeout=120'''<br />
<br />
''################# Droits sur les fichiers uploadés #################''<br />
'''chown_uploads=YES'''<br />
'''chown_username=virtual'''<br />
'''chown_upload_mode=0750'''<br />
<br />
#### anon_umask=007<br />
# The value that the umask for file creation is set to for anonymous users.<br />
NOTE! If you want to specify octal values, remember the "0" prefix otherwise the value will be treated as a base 10 integer! <br />
# Default: 077<br />
<br />
#### chown_upload_mode=0760 <br />
# The file mode to force for chown()ed anonymous uploads. (Added in v2.0.6). <br />
# Default: 0600<br />
<br />
#### file_open_mode=0117<br />
# The permissions with which uploaded files are created. Umasks are applied on top of this value.<br />
You may wish to change to 0777 if you want uploaded files to be executable. <br />
# Default: 0666 <br />
<br />
#### local_umask=022<br />
# The value that the umask for file creation is set to for local users.<br />
NOTE! If you want to specify octal values, remember the "0" prefix otherwise the value will be treated as a base 10 integer! <br />
# Default: 077<br />
<br />
==Droits utilisateurs==<br />
# mkdir /etc/vsftpd/vsftpd_user_conf/<br />
Donner les droits en lecture (utilisateur1) et lecture/écriture (utilisateur2) :<br />
# echo "anon_world_readable_only=NO" > /etc/vsftpd/vsftpd_user_conf/utilisateur1<br />
<br />
# echo "anon_world_readable_only=NO" > /etc/vsftpd/vsftpd_user_conf/utilisateur2<br />
# echo "write_enable=YES" >> /etc/vsftpd/vsftpd_user_conf/utilisateur2<br />
# echo "anon_upload_enable=YES" >> /etc/vsftpd/vsftpd_user_conf/utilisateur2<br />
<br />
si besoin, rajouter deux lignes sur les ports ftp et modifier le firewall en conséquence<br />
<br />
=== Pour séparer le répertoire d'upload ===<br />
Créer le répertoire utiliser pour les uploads :<br />
# mkdir ~virtual/upload/<br />
# chmod 770 ~virtual/upload/<br />
<br />
Commandes pour séparer les répertoires d'upload de chaque utilisateur<br />
# cd ~virtual/<br />
# mkdir -p {utilisateur1/,utilisateur2/}/upload<br />
# chmod 2750 {utilisateur1/,utilisateur2/}<br />
# chmod 770 {utilisateur1/,utilisateur2/}/upload/<br />
# echo "local_root=utilisateur1" >> /etc/vsftpd/vsftpd_user_conf/utilisateur1<br />
# echo "local_root=utilisateur2" >> /etc/vsftpd/vsftpd_user_conf/utilisateur2<br />
<br />
On relance le serveur FTP pour prendre en compte tous ces paramètres :<br />
# /etc/init.d/vsftpd stop<br />
# /etc/init.d/vsftpd start<br />
<br />
== SSL ==<br />
===Préparation pour le SSL===<br />
Installer le paquet openssl<br />
# apt-get install openssl<br />
<br />
Créer le fichier certificat<br />
# openssl req -x509 -nodes -days 730 -newkey rsa:1024 -keyout vsftpd.pem -out vsftpd.pem<br />
Plusieurs questions seront posées afin de créer le certificat. La plus critique est celle-ci :<br />
Common Name (eg, YOUR name) []: <renseigner le nom ou l'ip que les clients utiliseront><br />
Une fois ce fichier certificat généré, il faut le copier dans le dossier /etc/ssl/certs.<br />
# cp vsftpd.pem /etc/ssl/certs<br />
Il faut ensuite le sécuriser :<br />
sudo chown root:root /etc/ssl/certs/vsftpd.pem<br />
sudo chmod 600 /etc/ssl/certs/vsftpd.pem<br />
Note : vsftp s'exécute avec les droits de l'utilisateur nobody mais il se lance en tant que root et donc lit le certificat en tant que root.<br />
<br />
''################## SSL : connexions cryptées ######################''<br />
'''ssl_enable=YES'''<br />
'''allow_anon_ssl=NO'''<br />
'''force_local_data_ssl=NO'''<br />
'''force_local_logins_ssl=YES'''<br />
'''ssl_tlsv1=YES'''<br />
'''ssl_sslv2=YES'''<br />
'''ssl_sslv3=YES'''<br />
'''rsa_cert_file=/etc/ssl/certs/vsftpd.pem'''<br />
'''rsa_private_key_file=/etc/ssl/certs/vsftpd.pem'''<br />
<br />
<br />
[[Catégorie:Informatique]]<br />
[[Catégorie:Debian]]<br />
[[Catégorie:Proxmox]]<br />
[[Catégorie:Serveur dédié]]<br />
[[Catégorie:Procédures]]</div>Tetevehttp://www.teteve.fr/wiki/index.php?title=QOS&diff=16QOS2017-03-24T09:46:42Z<p>Teteve : Page créée avec « == Commandes utiles == '''nmap''' : port scanner<br /> Options utiles :<br /> - <br /> - <br /> - <br /> '''tcpdump''' : sniffeur de trames réseau<br /> Permet de capt... »</p>
<hr />
<div>== Commandes utiles ==<br />
<br />
<br />
'''nmap''' : port scanner<br /><br />
Options utiles :<br /><br />
- <br /><br />
- <br /><br />
- <br /><br />
<br />
'''tcpdump''' : sniffeur de trames réseau<br /><br />
Permet de capturer tous les paquets passant par une carte réseau.<br /><br />
Oblige à passer la carte en mode "promiscuous", donc c'est noté dans syslog...<br />
<br />
'''Ethereal''' : idem que tcpdump, mais en mode graphique.<br />
<br />
'''netstat''' : indique l'état des connexions en cours<br /><br />
Options :<br /><br />
-t : Indique les connexions TCP.<br /><br />
-u : Indique les connexions UDP.<br /><br />
-a : Affiche toutes ("all") les connexions, y comprit c<br />elle des serveurs en attente de connexion.<br />
-e : Affiche le nom de l’utilisateur qui a lancé le programme qui utilise ce port.<br /><br />
-p : Seul le root peut utiliser cette option. Elle indique quel est le PID (Process Identifiant) et le nom du programme utilisant le port.<br /><br />
Moyen mnémotechnique : netstat -taupe<br />
<br />
'''LSOF''' : "LiSt Open Files"<br /><br />
Options :<br /><br />
-i : Restreint la recherche aux seuls "fichiers" de connexion IP.<br /><br />
-P : Converti le numéro de port (exemple : 80) en son nom équivalent ( exemple : http).<br />
<br />
'''fuser''' : se base sur les fichiers ouverts pour déterminer les connexions IP ouvertes.<br /><br />
Options : <br /><br />
-v [type de ports] : Affiche les ports ouverts du type [type de ports]. Exemple : "80/tcp" pour les port TCP 80.<br /><br />
<br />
'''ping''' : sans commentaires<br />
<br />
'''traceroute''' : idem<br />
<br />
[[Catégorie:Informatique]]<br />
[[Catégorie:Debian]]<br />
[[Catégorie:Proxmox]]<br />
[[Catégorie:Serveur dédié]]<br />
[[Catégorie:Réseau]]<br />
[[Catégorie:Commandes]]</div>Tetevehttp://www.teteve.fr/wiki/index.php?title=Logs&diff=15Logs2017-03-24T09:46:17Z<p>Teteve : Page créée avec « Tips : Suppression des messages d'authentification de cron dans /var/log/auth.log : Nov 19 20:10:01 srv CRON[7373]: pam_unix(cron:session): session opened for user root... »</p>
<hr />
<div>Tips :<br />
<br />
Suppression des messages d'authentification de cron dans /var/log/auth.log :<br />
Nov 19 20:10:01 srv CRON[7373]: pam_unix(cron:session): session opened for user root by (uid=0)<br />
Nov 19 20:10:01 srv CRON[7373]: pam_unix(cron:session): session closed for user root<br />
<br />
Editer le fichier de conf de syslog :<br />
# vim /etc/syslog.conf<br />
<br />
auth,authpriv.*,'''cron.none''' /var/log/auth.log<br />
<br />
J'ai hésité à installer Rsyslog, qui permet d'exporter ses logs via le réseau. Je me contente pour l'instant de gérer la rotation des logs avec logrotate, et leur exploitation avec fail2ban et awstats. <br /><br />
Il faudra également rajouter les logs des sauvegardes dans le logrotate, et dans awstats... :)<br />
<br />
# vim /etc/logrotate.d/apache2<br />
<br />
/var/log/apache2/*.log { # Le fichier de log en question...<br />
weekly # La rotation s'effectue toutes les semaines<br />
missingok # L'absence de fichier de log n'est pas anormale...<br />
rotate 52 # On garde 52 fichiers. Vu qu'on change de fichier toutes les semaines, on a 1 an de logs<br />
compress # On compresse tous les fichiers secondaires (= tous les fichiers sauf celui en cours)<br />
delaycompress # Avec l'option compress, on décale l'archivage d'un cran (pour garder 2 fichiers non-archivés)<br />
notifempty # ne pas permuter le journal lorsqu'il est vide<br />
create 640 root adm # chmod et chown des fichiers de logs créés<br />
sharedscripts # Permet d'exécuter une seule fois le script par rotation (???)<br />
postrotate # Ces commandes (une par ligne) sont exécutées avant la rotation du fichier de log.<br />
if [ -f "`. /etc/apache2/envvars ; echo ${APACHE_PID_FILE:-/var/run/apache2.pid}`" ]; then<br />
/etc/init.d/apache2 reload > /dev/null<br />
fi<br />
endscript # fin des commandes<br />
}<br />
<br />
<br />
[[Catégorie:Informatique]]<br />
[[Catégorie:Serveur dédié]]<br />
[[Catégorie:Système]]<br />
[[Catégorie:Debian]]</div>Tetevehttp://www.teteve.fr/wiki/index.php?title=Webradio&diff=14Webradio2017-03-24T09:45:27Z<p>Teteve : </p>
<hr />
<div>== PhpMyAdmin == <br />
<br />
L'installation de PhpMyAdmin se fait dans la foulée après celle de Mysql et Php :<br />
<br />
# apt-get install phpmyadmin<br />
<br />
Editer le fichier de configuration d'Apache :<br />
<br />
# vim /etc/apache2/apache2.conf<br />
<br />
Rajouter la ligne suivante :<br />
<br />
include /etc/phpmyadmin/apache.conf<br />
<br />
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) :<br />
<br />
http://localhost/phpmyadmin<br />
<br />
note : PhpMyAdmin utilise les identifiants de l'admin de Mysql tels que définis à l'installation de Mysql<br />
<br />
<br />
== Web radio avec MPD et Icecast2 ==<br />
<br />
=== Introduction ===<br />
<br />
Cette section est un tutoriel visant à expliquer comment installer, configurer et utiliser une web radio.<br />
Tout d'abord, il faut savoir qu'elle est composée de plusieurs logiciels ayant des rôles spécifiques :<br />
<br />
* Un lecteur audio, ==> MPD <br />
* Un diffuseur de flux, ==> Icecast2<br />
* Une interface. ==> Pitchfork<br />
<br />
<br />
=== Lecteur audio : MPD (Music Player Daemon) ===<br />
==== Installation ====<br />
<br />
Sous Debian :<br />
# apt-get install mpd avahi-daemon<br />
<br />
==== Configuration ====<br />
Pour configurer MPD, il faut éditer le fichier de configuration : '''/etc/mpd.conf'''.<br />
<br />
'''music_directory''' “chemin du Répertoire où se trouvent les fichiers audio”<br />
'''playlist_directory''' “chemin du Répertoire où se trouvent les playlists”<br />
'''db_file''' “chemin du Répertoire où se la Base de données MPD"<br />
'''log_file''' “chemin du fichier log”<br />
'''error_file''' “chemin du fichier log d'erreur”<br />
'''pid_file''' “chemin du fichier pid”<br />
<br />
'''password "XXXX@read,add,control,admin"'''<br />
<br />
''audio_output {''<br />
'''type''' “shout” # Type de flux<br />
'''name''' “Teteve Radio” # Nom de la Web radio<br />
'''host''' “localhost” # Nom d'hôte ou ip<br />
'''port''' “8000″ # Port<br />
'''mount''' “/mpd.ogg” # Point de montage pour Icecast<br />
'''password''' “mot de passe qu'on réutilisera dans Icecast” # Password<br />
'''quality''' “5″ # Qualité du flux<br />
'''user''' “mpd” # Utilisateur système<br />
'''description''' “Radio de teteve.fr” # Commentaires, description<br />
'''genre''' “éclectique” # Genre de musique<br />
''}''<br />
<br />
''audio_output { '' # Sortie audio bidon pour éviter <br />
'''type''' "ao" # le message d'erreur : problem opening audio device<br />
'''driver''' "null" <br />
''' name''' "Dummy output" <br />
''}''<br />
<br />
'''log_level''' "verbose" # log explicites<br />
<br />
=== Diffuseur de flux : Icecast ===<br />
==== Installation ====<br />
<br />
Sous Debian :<br />
# apt-get install icecast2 php5 php-pear<br />
<br />
==== Configuration ====<br />
Pour configurer Icecast2, il faut éditer le fichier '''/etc/icecast2/icecast.xml.'''<br />
<br />
<icecast><br />
<limits><br />
<clients>'''10'''</clients> <-- ici, le nombre d'auditeurs simultanés autorisés<br />
<br />
... plus bas, ligne 23, reportez le mot de passe de /etc/mpd.conf:<br />
<br />
<authentication><br />
<!-- Sources log in with username 'source' --><br />
<source-password>'''XXXXXXX'''</source-password><br />
Puis modifiez les paramètres par défaut d'authentification:<br />
<!-- Relays log in username 'relay' --><br />
<relay-password>'''YYYYYYYYYY'''</relay-password><br />
L'Admin se connecte avec le nom d'utilisateur ci-dessous:<br />
<admin-user>'''admin'''</admin-user><br />
<admin-password>'''ZZZZZZZZ'''</admin-password><br />
</authentication><br />
<br />
Pour pouvoir lister les dossiers :<br />
<directory> #listage des dossiers<br />
<yp-url-timeout>15</yp-url-timeout><br />
<yp-url>http://dir.xiph.org/cgi-bin/yp-cgi</yp-url><br />
</directory><br />
<br />
ligne 49, votre hôte (doit correspondre à ce que vous avez rentré au paramètre "host" du fichier de configuration de MPD)<br />
<br />
<hostname>'''localhost'''</hostname><br />
<br />
Le port utilisé par Icecast, vous pouvez laisser 8000<br />
'''<listen-socket>'''<br />
'''<port> '''8000''' </port>'''<br />
'''</listen-socket>'''<br />
'''<listen-socket>'''<br />
'''<port> '''8001''' </port>'''<br />
'''</listen-socket>'''<br />
<br />
Le reste de la configuration d'Icecast :<br />
<br />
'''<master-server> '''127.0.0.1''' </master-server>'''<br />
'''<master-server-port> '''8000''' </master-server-port>'''<br />
'''<master-update-interval> '''120''' </master-update-interval>''' <br />
'''<master-password> '''XXXXX''' </master-password>'''<br />
'''<fileserve> '''1''' </fileserve>'''<br />
'''<shoutcast-mount> '''/mpd.ogg''' </shoutcast-mount>''' # Point de montage du flux<br />
'''<paths>'''<br />
'''<basedir> '''/usr/share/icecast2''' </basedir>''' # utilisé que lorsque chroot est activé<br />
'''<logdir> '''/var/log/icecast2''' </logdir>''' #dossier des logs<br />
'''<webroot> '''/usr/share/icecast2/web''' </webroot>''' #dossier interface<br />
'''<adminroot> '''/usr/share/icecast2/admin''' </adminroot>''' #dossier interface administration<br />
<alias source="/" dest="/status.xsl"/> #redirige vers la page de status<br />
'''</paths>'''<br />
'''<security>'''<br />
'''<chroot>'''0'''</chroot>'''<br />
'''</security>'''<br />
''' </icecast>'''<br />
<br />
Pour que Icecast2 tourne en tâche de fond, éditer également: '''/etc/default/icecast2''' et modifier la fin du fichier pour obtenir: <br />
<br />
'''ENABLE=true'''<br />
<br />
Relance Icecast2 et MPD pour tenir compte des modifications:<br />
<br />
#/etc/init.d/mpd restart<br />
<br />
#/etc/init.d/icecast2 stop<br />
<br />
#/etc/init.d/icecast2 start<br />
<br />
Et créer la base de données de MPD:<br />
<br />
#mpd --create-db<br />
<br />
==== Utilisation ====<br />
Vous accéderez a l'interface d'Icecast à une adresse du type: '''http://teteve.fr:8000'''<br />
<br />
=== Interface Web Cliente : Pitchfork ===<br />
==== Installation ====<br />
<br />
Pour commencer, télécharger Pitchfork à l'adresse suivante :<br />
[http://pitchfork.remiss.org/files/pitchfork-0.5.5.tar.bz2]<br />
<br />
Ensuite :<br />
* Décompresser l'archive à l'endroit de votre choix.<br />
* Mettre l'utilisateur Apache (www-data) propiétaire du dossier '''"config"''' de Pitchfork<br />
<br />
==== Configuration ====<br />
<br />
Copier le fichier Pitchfork.conf dans le dossier de configuration du serveur web '''/etc/httpd/conf.d/'''<br />
<br />
Dans le Pitchfork.conf :<br />
<br />
Alias /teteveradio /home/teteve/www/teteveradio # radio accessible via teteve.fr/teteveradio<br />
'''<Directory /home/teteve/www/teteveradio>'''<br />
'''DirectoryIndex''' index.php<br />
'''Options''' -Indexes<br />
'''AllowOverride''' all<br />
'''AddType application/x-httpd-php''' .php<br />
'''php_flag magic_quotes_gpc''' off<br />
'''php_flag magic_quotes_runtime''' off<br />
'''php_flag display_errors''' on<br />
'''php_flag log_errors''' on<br />
''# switch comment marks on the two items to disable access logging <br />
# completely for pitchfork. See INSTALL''<br />
'''SetEnvIf''' Request_URI "player/command\.php" pitchforknolog <br />
''#SetEnv pitchforknolog''<br />
'''</Directory>'''<br />
<br />
Lancer ensuite la page de config de Pitchfork : [http://teteve.fr/teteveradio/player/config.php]<br />
<br />
Réglages de connexion :<br />
Hôte : '''localhost'''<br />
Port : '''6600'''<br />
Mot de Passe : '''mot de passe MPD<br />
<br />
Intégration du shoutcast :<br />
http://'''<nom de domaine>''':'''<port icecast>'''/<'''point de montage du shout>'''<br />
<br />
Ce qui donne pour notre exemple :<br />
http://teteve.fr:8000/mpd.ogg<br />
<br />
Vous pouvez également entrer cette URL dans un lecteur audio comme VLC pour écouter votre flux :<br />
* Fichier/Ouvrir un flux réseau<br />
* Sélectionner HTTP/HTTPS/FTP/MMS<br />
* Entrer l'URL dans le champ à droite<br />
<br />
==== Utilisation ====<br />
Pour utiliser Pitchfork, il suffit ensuite de lancer l'URL configurée dans Pitchfork.conf :<br />
[http://teteve.fr/teteveradio/]<br />
<br />
[[Catégorie:Informatique]]<br />
[[Catégorie:Système]]<br />
[[Catégorie:Debian]]<br />
[[Catégorie:Procédures]]</div>Tetevehttp://www.teteve.fr/wiki/index.php?title=Webradio&diff=13Webradio2017-03-24T09:45:08Z<p>Teteve : 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 d... »</p>
<hr />
<div>== PhpMyAdmin == <br />
<br />
L'installation de PhpMyAdmin se fait dans la foulée après celle de Mysql et Php :<br />
<br />
# apt-get install phpmyadmin<br />
<br />
Editer le fichier de configuration d'Apache :<br />
<br />
# vim /etc/apache2/apache2.conf<br />
<br />
Rajouter la ligne suivante :<br />
<br />
include /etc/phpmyadmin/apache.conf<br />
<br />
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) :<br />
<br />
http://localhost/phpmyadmin<br />
<br />
note : PhpMyAdmin utilise les identifiants de l'admin de Mysql tels que définis à l'installation de Mysql<br />
<br />
<br />
== Web radio avec MPD et Icecast2 ==<br />
<br />
=== Introduction ===<br />
<br />
Cette section est un tutoriel visant à expliquer comment installer, configurer et utiliser une web radio.<br />
Tout d'abord, il faut savoir qu'elle est composée de plusieurs logiciels ayant des rôles spécifiques :<br />
<br />
* Un lecteur audio, ==> MPD <br />
* Un diffuseur de flux, ==> Icecast2<br />
* Une interface. ==> Pitchfork<br />
<br />
<br />
=== Lecteur audio : MPD (Music Player Daemon) ===<br />
==== Installation ====<br />
<br />
Sous Debian :<br />
# apt-get install mpd avahi-daemon<br />
<br />
==== Configuration ====<br />
Pour configurer MPD, il faut éditer le fichier de configuration : '''/etc/mpd.conf'''.<br />
<br />
'''music_directory''' “chemin du Répertoire où se trouvent les fichiers audio”<br />
'''playlist_directory''' “chemin du Répertoire où se trouvent les playlists”<br />
'''db_file''' “chemin du Répertoire où se la Base de données MPD"<br />
'''log_file''' “chemin du fichier log”<br />
'''error_file''' “chemin du fichier log d'erreur”<br />
'''pid_file''' “chemin du fichier pid”<br />
<br />
'''password "XXXX@read,add,control,admin"'''<br />
<br />
''audio_output {''<br />
'''type''' “shout” # Type de flux<br />
'''name''' “Teteve Radio” # Nom de la Web radio<br />
'''host''' “localhost” # Nom d'hôte ou ip<br />
'''port''' “8000″ # Port<br />
'''mount''' “/mpd.ogg” # Point de montage pour Icecast<br />
'''password''' “mot de passe qu'on réutilisera dans Icecast” # Password<br />
'''quality''' “5″ # Qualité du flux<br />
'''user''' “mpd” # Utilisateur système<br />
'''description''' “Radio de teteve.fr” # Commentaires, description<br />
'''genre''' “éclectique” # Genre de musique<br />
''}''<br />
<br />
''audio_output { '' # Sortie audio bidon pour éviter <br />
'''type''' "ao" # le message d'erreur : problem opening audio device<br />
'''driver''' "null" <br />
''' name''' "Dummy output" <br />
''}''<br />
<br />
'''log_level''' "verbose" # log explicites<br />
<br />
=== Diffuseur de flux : Icecast ===<br />
==== Installation ====<br />
<br />
Sous Debian :<br />
# apt-get install icecast2 php5 php-pear<br />
<br />
==== Configuration ====<br />
Pour configurer Icecast2, il faut éditer le fichier '''/etc/icecast2/icecast.xml.'''<br />
<br />
<icecast><br />
<limits><br />
<clients>'''10'''</clients> <-- ici, le nombre d'auditeurs simultanés autorisés<br />
<br />
... plus bas, ligne 23, reportez le mot de passe de /etc/mpd.conf:<br />
<br />
<authentication><br />
<!-- Sources log in with username 'source' --><br />
<source-password>'''XXXXXXX'''</source-password><br />
Puis modifiez les paramètres par défaut d'authentification:<br />
<!-- Relays log in username 'relay' --><br />
<relay-password>'''YYYYYYYYYY'''</relay-password><br />
L'Admin se connecte avec le nom d'utilisateur ci-dessous:<br />
<admin-user>'''admin'''</admin-user><br />
<admin-password>'''ZZZZZZZZ'''</admin-password><br />
</authentication><br />
<br />
Pour pouvoir lister les dossiers :<br />
<directory> #listage des dossiers<br />
<yp-url-timeout>15</yp-url-timeout><br />
<yp-url>http://dir.xiph.org/cgi-bin/yp-cgi</yp-url><br />
</directory><br />
<br />
ligne 49, votre hôte (doit correspondre à ce que vous avez rentré au paramètre "host" du fichier de configuration de MPD)<br />
<br />
<hostname>'''localhost'''</hostname><br />
<br />
Le port utilisé par Icecast, vous pouvez laisser 8000<br />
'''<listen-socket>'''<br />
'''<port> '''8000''' </port>'''<br />
'''</listen-socket>'''<br />
'''<listen-socket>'''<br />
'''<port> '''8001''' </port>'''<br />
'''</listen-socket>'''<br />
<br />
Le reste de la configuration d'Icecast :<br />
<br />
'''<master-server> '''127.0.0.1''' </master-server>'''<br />
'''<master-server-port> '''8000''' </master-server-port>'''<br />
'''<master-update-interval> '''120''' </master-update-interval>''' <br />
'''<master-password> '''XXXXX''' </master-password>'''<br />
'''<fileserve> '''1''' </fileserve>'''<br />
'''<shoutcast-mount> '''/mpd.ogg''' </shoutcast-mount>''' # Point de montage du flux<br />
'''<paths>'''<br />
'''<basedir> '''/usr/share/icecast2''' </basedir>''' # utilisé que lorsque chroot est activé<br />
'''<logdir> '''/var/log/icecast2''' </logdir>''' #dossier des logs<br />
'''<webroot> '''/usr/share/icecast2/web''' </webroot>''' #dossier interface<br />
'''<adminroot> '''/usr/share/icecast2/admin''' </adminroot>''' #dossier interface administration<br />
<alias source="/" dest="/status.xsl"/> #redirige vers la page de status<br />
'''</paths>'''<br />
'''<security>'''<br />
'''<chroot>'''0'''</chroot>'''<br />
'''</security>'''<br />
''' </icecast>'''<br />
<br />
Pour que Icecast2 tourne en tâche de fond, éditer également: '''/etc/default/icecast2''' et modifier la fin du fichier pour obtenir: <br />
<br />
'''ENABLE=true'''<br />
<br />
Relance Icecast2 et MPD pour tenir compte des modifications:<br />
<br />
#/etc/init.d/mpd restart<br />
<br />
#/etc/init.d/icecast2 stop<br />
<br />
#/etc/init.d/icecast2 start<br />
<br />
Et créer la base de données de MPD:<br />
<br />
#mpd --create-db<br />
<br />
==== Utilisation ====<br />
Vous accéderez a l'interface d'Icecast à une adresse du type: '''http://teteve.fr:8000'''<br />
<br />
=== Interface Web Cliente : Pitchfork ===<br />
==== Installation ====<br />
<br />
Pour commencer, télécharger Pitchfork à l'adresse suivante :<br />
[http://pitchfork.remiss.org/files/pitchfork-0.5.5.tar.bz2]<br />
<br />
Ensuite :<br />
* Décompresser l'archive à l'endroit de votre choix.<br />
* Mettre l'utilisateur Apache (www-data) propiétaire du dossier '''"config"''' de Pitchfork<br />
<br />
==== Configuration ====<br />
<br />
Copier le fichier Pitchfork.conf dans le dossier de configuration du serveur web '''/etc/httpd/conf.d/'''<br />
<br />
Dans le Pitchfork.conf :<br />
<br />
Alias /teteveradio /home/teteve/www/teteveradio # radio accessible via teteve.fr/teteveradio<br />
'''<Directory /home/teteve/www/teteveradio>'''<br />
'''DirectoryIndex''' index.php<br />
'''Options''' -Indexes<br />
'''AllowOverride''' all<br />
'''AddType application/x-httpd-php''' .php<br />
'''php_flag magic_quotes_gpc''' off<br />
'''php_flag magic_quotes_runtime''' off<br />
'''php_flag display_errors''' on<br />
'''php_flag log_errors''' on<br />
''# switch comment marks on the two items to disable access logging <br />
# completely for pitchfork. See INSTALL''<br />
'''SetEnvIf''' Request_URI "player/command\.php" pitchforknolog <br />
''#SetEnv pitchforknolog''<br />
'''</Directory>'''<br />
<br />
Lancer ensuite la page de config de Pitchfork : [http://teteve.fr/teteveradio/player/config.php]<br />
<br />
Réglages de connexion :<br />
Hôte : '''localhost'''<br />
Port : '''6600'''<br />
Mot de Passe : '''mot de passe MPD<br />
<br />
Intégration du shoutcast :<br />
http://'''<nom de domaine>''':'''<port icecast>'''/<'''point de montage du shout>'''<br />
<br />
Ce qui donne pour notre exemple :<br />
http://teteve.fr:8000/mpd.ogg<br />
<br />
Vous pouvez également entrer cette URL dans un lecteur audio comme VLC pour écouter votre flux :<br />
* Fichier/Ouvrir un flux réseau<br />
* Sélectionner HTTP/HTTPS/FTP/MMS<br />
* Entrer l'URL dans le champ à droite<br />
<br />
==== Utilisation ====<br />
Pour utiliser Pitchfork, il suffit ensuite de lancer l'URL configurée dans Pitchfork.conf :<br />
[http://teteve.fr/teteveradio/]</div>Tetevehttp://www.teteve.fr/wiki/index.php?title=Accueil&diff=12Accueil2017-03-24T09:44:52Z<p>Teteve : /* Les logiciels / Les services */</p>
<hr />
<div>== Présentation ==<br />
<br />
Ce wiki sert de support pour le développement d'une base de connaissance en relation avec l'informatique, et plus spécialement sur Linux.<br /><br />
Comme tout le reste du site, il est en perpétuelle évolution, et se remplit peu à peu.<br /><br />
Lorsque toutes les sections seront complètement renseignées, je pense que le projet pourra être considéré comme achevé... pour la mise en place seulement !! :)<br />
INFORMATION : seules les personnes enregistrées sur ce wiki peuvent le modifier.<br />
N'hésitez pas à vous inscrire si vous souhaiter modifier, corriger ou rajouter quelque chose...<br />
<br />
== Serveur dédié OVH ==<br />
<br />
* [[VPS|Les VPS]]<br />
* [[Reseau|Configuration du réseau / Firewall]]<br />
* [[Logs|Les logs]]<br />
* [[Backups|Les sauvegardes]]<br />
* [[Supervision|La supervision]]<br />
** [[Nagios]]<br />
* Configurations diverses :<br />
** ......<br />
<br />
=== Les logiciels / Les services ===<br />
<br />
* Serveur DNS :<br />
** [[Bind]]<br />
** Unbound<br />
** [[DNSSEC]]<br />
* Serveur web :<br />
** [[Apache]]<br />
** [[Nginx]]<br />
* Les logiciels web<br />
** [[Wordpress|Wordpress]]<br />
** [[Webradio|Webradio]]<br />
* [[Awstats]]<br />
* [[VSFTPD]]<br />
* [[LDAP]]<br />
* [[SVN]]<br />
<br />
* Messagerie :<br />
** [[Postfix]]<br />
** Dovecot<br />
** Exim4<br />
* Liste de diffusion :<br />
** Sympa<br />
** Mailman<br />
<br />
* Travail collaboratif<br />
** Kolab<br />
** SoGo<br />
<br />
=== Généralités / Théorie ===<br />
<br />
* [[LVM]]<br />
* [[Arborescence_et_repertoires|Arborescence et répertoires]]<br />
* [[Cron|Cron et crontab]]<br />
<br />
=== Commandes utiles ===<br />
<br />
* [[Ligne_commande|La ligne de commande (configuration perso du shell)]]<br />
* [[Commandes|Commandes utiles]]<br />
* [[Fichiers|Les fichiers]]<br />
* [[Fichiers2|Les fichiers - suite]]<br />
* [[Surveillance|Surveiller le système]]<br />
* [[QOS|Le réseau / Bande passante - QoS]]<br />
* Disque dur<br />
* Aide mémoire<br />
<br />
=== Scripts ===<br />
<br />
* [[Zsh]]<br />
* VIM<br />
* [[Outils]]<br />
* [[Bash|Généralités shell]]<br />
<br />
=== Sécurité ===<br />
<br />
* [[Firewall]]<br />
* [[Fail2ban]]<br />
* [[Secu_LAMP|Apache/PHP/MySQL]]<br />
* [[AntiVirus|Clamav / spamassassin]]<br />
* [[Tips_securite|Tips sécurité sur les serveurs]]<br />
<br />
=== Divers ===<br />
<br />
* [[Install_PC|Configuration d'un poste Debian]]<br />
<br />
=== TODO ===<br />
<br />
=== Les liens utiles ===<br />
<br />
== Windows ==<br />
<br />
=== Scripts VB/VBA/VBS ===<br />
<br />
* [[Divers_VB|Divers VB]]<br />
* [[Connexion_AD|Connexions AD]]<br />
<br />
--<br />
<br />
Aide MediaWiki<br />
* [http://www.mediawiki.org/wiki/Manual:Configuration_settings Liste des paramètres de configuration]<br />
* [http://fr.wikipedia.org/wiki/Aide:Syntaxe La syntaxe de MediaWiki]<br />
* [http://www.mediawiki.org/wiki/Manual:FAQ/fr FAQ sur MediaWiki]<br />
* [http//meta.wikimedia.org/wiki/Aide:Contenu Guide de l’utilisateur] <br />
<br />
[[Catégorie:Accueil]]<br />
[[Catégorie:Informatique]]<br />
<br />
----<br />
[http://creativecommons.org/licenses/by-nc-sa/2.0/fr/ Licence CC BY-NC-SA 2.0]</div>Tetevehttp://www.teteve.fr/wiki/index.php?title=Wordpress&diff=11Wordpress2017-03-24T09:43:49Z<p>Teteve : </p>
<hr />
<div>== Blog avec WordPress==<br />
<br />
Grâce à l'interface web de phpmyadmin, créer une base de données.<br /><br />
Nous appelons cette base de données : db_blog<br /><br />
Créer un utilisateur dans Mysql pour accéder à la base de données du blog : user_blog<br /><br />
Mettre un mot de passe aléatoire complexe (nous n'aurons pas à nous en souvenir)<br />
mettre les autorisations pour user_blog sur db_blog<br /><br />
<br />
installer Wordpress :<br />
cd /var/home/www/<br />
wget http://fr.wordpress.org/latest-fr_FR.zip<br />
unzip latest-fr_FR.zip ./<br />
aller sur l'adresse du site, et suivre la configuration automatique, en renseignant les nom de la base/login/mot de passe/localhost<br />
<br />
=== Sécurité ===<br />
<br />
modifier dans wp-content.php les lignes :<br />
<br />
define('AUTH_KEY', 'put your secret key');<br />
define('SECURE_AUTH_KEY', 'put your secret key');<br />
define('LOGGED_IN_KEY', 'put your secret key');<br />
define('NONCE_KEY', 'put your secret key');<br />
<br />
Générer des clés (dans le "moins meilleur des cas", aller sur le site [https://api.wordpress.org/secret-key/1.1 Générateur de clés] )<br />
<br />
Installer le pluggin TAC, qui permet de tester la qualité des thèmes installés, et surtout ne pas télécharger des thèmes n'importe où !!! :)<br />
<br />
lien externe :<br /><br />
http://digwp.com/2009/06/wordpress-configuration-tricks/<br />
<br />
=== Mise à jour ===<br />
<br />
Je suis obligé de faire des mises à jour manuelles de Wordpress. Je fais donc ici un petit récapitulatif des actions à effectuer :<br />
<br />
wget http://fr.wordpress.org/latest-fr_FR.zip<br />
unzip latest-fr_FR.zip<br />
sauvegarder le site<br />
cp -r blog/* /home/temp/<br />
cp -r worpress/* blog/<br />
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 /><br />
A la demande, fermer le site, et recopier les thèmes et uploads :<br />
cp -r /home/temp/wp-content/themes/* blog/wp-content/themes/<br />
relancer le site et se connecter...<br />
<br />
[[Catégorie:Informatique]]<br />
[[Catégorie:Système]]<br />
[[Catégorie:Debian]]<br />
[[Catégorie:Procédures]]</div>Tetevehttp://www.teteve.fr/wiki/index.php?title=Wordpress&diff=10Wordpress2017-03-24T09:43:12Z<p>Teteve : Page créée avec « == 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 utilis... »</p>
<hr />
<div>== Blog avec WordPress==<br />
<br />
Grâce à l'interface web de phpmyadmin, créer une base de données.<br /><br />
Nous appelons cette base de données : db_blog<br /><br />
Créer un utilisateur dans Mysql pour accéder à la base de données du blog : user_blog<br /><br />
Mettre un mot de passe aléatoire complexe (nous n'aurons pas à nous en souvenir)<br />
mettre les autorisations pour user_blog sur db_blog<br /><br />
<br />
installer Wordpress :<br />
cd /var/home/www/<br />
wget http://fr.wordpress.org/latest-fr_FR.zip<br />
unzip latest-fr_FR.zip ./<br />
aller sur l'adresse du site, et suivre la configuration automatique, en renseignant les nom de la base/login/mot de passe/localhost<br />
<br />
=== Sécurité ===<br />
<br />
modifier dans wp-content.php les lignes :<br />
<br />
define('AUTH_KEY', 'put your secret key');<br />
define('SECURE_AUTH_KEY', 'put your secret key');<br />
define('LOGGED_IN_KEY', 'put your secret key');<br />
define('NONCE_KEY', 'put your secret key');<br />
<br />
Générer des clés (dans le "moins meilleur des cas", aller sur le site [https://api.wordpress.org/secret-key/1.1 Générateur de clés] )<br />
<br />
Installer le pluggin TAC, qui permet de tester la qualité des thèmes installés, et surtout ne pas télécharger des thèmes n'importe où !!! :)<br />
<br />
lien externe :<br /><br />
http://digwp.com/2009/06/wordpress-configuration-tricks/<br />
<br />
=== Mise à jour ===<br />
<br />
Je suis obligé de faire des mises à jour manuelles de Wordpress. Je fais donc ici un petit récapitulatif des actions à effectuer :<br />
<br />
wget http://fr.wordpress.org/latest-fr_FR.zip<br />
unzip latest-fr_FR.zip<br />
sauvegarder le site<br />
cp -r blog/* /home/temp/<br />
cp -r worpress/* blog/<br />
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 /><br />
A la demande, fermer le site, et recopier les thèmes et uploads :<br />
cp -r /home/temp/wp-content/themes/* blog/wp-content/themes/<br />
relancer le site et se connecter...<br />
<br />
<br />
== Web radio avec MPD et Icecast2 ==<br />
<br />
=== Introduction ===<br />
<br />
Cette section est un tutoriel visant à expliquer comment installer, configurer et utiliser une web radio.<br />
Tout d'abord, il faut savoir qu'elle est composée de plusieurs logiciels ayant des rôles spécifiques :<br />
<br />
* Un lecteur audio, ==> MPD <br />
* Un diffuseur de flux, ==> Icecast2<br />
* Une interface. ==> Pitchfork<br />
<br />
<br />
=== Lecteur audio : MPD (Music Player Daemon) ===<br />
==== Installation ====<br />
<br />
Sous Debian :<br />
# apt-get install mpd avahi-daemon<br />
<br />
==== Configuration ====<br />
Pour configurer MPD, il faut éditer le fichier de configuration : '''/etc/mpd.conf'''.<br />
<br />
'''music_directory''' “chemin du Répertoire où se trouvent les fichiers audio”<br />
'''playlist_directory''' “chemin du Répertoire où se trouvent les playlists”<br />
'''db_file''' “chemin du Répertoire où se la Base de données MPD"<br />
'''log_file''' “chemin du fichier log”<br />
'''error_file''' “chemin du fichier log d'erreur”<br />
'''pid_file''' “chemin du fichier pid”<br />
<br />
'''password "XXXX@read,add,control,admin"'''<br />
<br />
''audio_output {''<br />
'''type''' “shout” # Type de flux<br />
'''name''' “Teteve Radio” # Nom de la Web radio<br />
'''host''' “localhost” # Nom d'hôte ou ip<br />
'''port''' “8000″ # Port<br />
'''mount''' “/mpd.ogg” # Point de montage pour Icecast<br />
'''password''' “mot de passe qu'on réutilisera dans Icecast” # Password<br />
'''quality''' “5″ # Qualité du flux<br />
'''user''' “mpd” # Utilisateur système<br />
'''description''' “Radio de teteve.fr” # Commentaires, description<br />
'''genre''' “éclectique” # Genre de musique<br />
''}''<br />
<br />
''audio_output { '' # Sortie audio bidon pour éviter <br />
'''type''' "ao" # le message d'erreur : problem opening audio device<br />
'''driver''' "null" <br />
''' name''' "Dummy output" <br />
''}''<br />
<br />
'''log_level''' "verbose" # log explicites<br />
<br />
=== Diffuseur de flux : Icecast ===<br />
==== Installation ====<br />
<br />
Sous Debian :<br />
# apt-get install icecast2 php5 php-pear<br />
<br />
==== Configuration ====<br />
Pour configurer Icecast2, il faut éditer le fichier '''/etc/icecast2/icecast.xml.'''<br />
<br />
<icecast><br />
<limits><br />
<clients>'''10'''</clients> <-- ici, le nombre d'auditeurs simultanés autorisés<br />
<br />
... plus bas, ligne 23, reportez le mot de passe de /etc/mpd.conf:<br />
<br />
<authentication><br />
<!-- Sources log in with username 'source' --><br />
<source-password>'''XXXXXXX'''</source-password><br />
Puis modifiez les paramètres par défaut d'authentification:<br />
<!-- Relays log in username 'relay' --><br />
<relay-password>'''YYYYYYYYYY'''</relay-password><br />
L'Admin se connecte avec le nom d'utilisateur ci-dessous:<br />
<admin-user>'''admin'''</admin-user><br />
<admin-password>'''ZZZZZZZZ'''</admin-password><br />
</authentication><br />
<br />
Pour pouvoir lister les dossiers :<br />
<directory> #listage des dossiers<br />
<yp-url-timeout>15</yp-url-timeout><br />
<yp-url>http://dir.xiph.org/cgi-bin/yp-cgi</yp-url><br />
</directory><br />
<br />
ligne 49, votre hôte (doit correspondre à ce que vous avez rentré au paramètre "host" du fichier de configuration de MPD)<br />
<br />
<hostname>'''localhost'''</hostname><br />
<br />
Le port utilisé par Icecast, vous pouvez laisser 8000<br />
'''<listen-socket>'''<br />
'''<port> '''8000''' </port>'''<br />
'''</listen-socket>'''<br />
'''<listen-socket>'''<br />
'''<port> '''8001''' </port>'''<br />
'''</listen-socket>'''<br />
<br />
Le reste de la configuration d'Icecast :<br />
<br />
'''<master-server> '''127.0.0.1''' </master-server>'''<br />
'''<master-server-port> '''8000''' </master-server-port>'''<br />
'''<master-update-interval> '''120''' </master-update-interval>''' <br />
'''<master-password> '''XXXXX''' </master-password>'''<br />
'''<fileserve> '''1''' </fileserve>'''<br />
'''<shoutcast-mount> '''/mpd.ogg''' </shoutcast-mount>''' # Point de montage du flux<br />
'''<paths>'''<br />
'''<basedir> '''/usr/share/icecast2''' </basedir>''' # utilisé que lorsque chroot est activé<br />
'''<logdir> '''/var/log/icecast2''' </logdir>''' #dossier des logs<br />
'''<webroot> '''/usr/share/icecast2/web''' </webroot>''' #dossier interface<br />
'''<adminroot> '''/usr/share/icecast2/admin''' </adminroot>''' #dossier interface administration<br />
<alias source="/" dest="/status.xsl"/> #redirige vers la page de status<br />
'''</paths>'''<br />
'''<security>'''<br />
'''<chroot>'''0'''</chroot>'''<br />
'''</security>'''<br />
''' </icecast>'''<br />
<br />
Pour que Icecast2 tourne en tâche de fond, éditer également: '''/etc/default/icecast2''' et modifier la fin du fichier pour obtenir: <br />
<br />
'''ENABLE=true'''<br />
<br />
Relance Icecast2 et MPD pour tenir compte des modifications:<br />
<br />
#/etc/init.d/mpd restart<br />
<br />
#/etc/init.d/icecast2 stop<br />
<br />
#/etc/init.d/icecast2 start<br />
<br />
Et créer la base de données de MPD:<br />
<br />
#mpd --create-db<br />
<br />
==== Utilisation ====<br />
Vous accéderez a l'interface d'Icecast à une adresse du type: '''http://teteve.fr:8000'''<br />
<br />
=== Interface Web Cliente : Pitchfork ===<br />
==== Installation ====<br />
<br />
Pour commencer, télécharger Pitchfork à l'adresse suivante :<br />
[http://pitchfork.remiss.org/files/pitchfork-0.5.5.tar.bz2]<br />
<br />
Ensuite :<br />
* Décompresser l'archive à l'endroit de votre choix.<br />
* Mettre l'utilisateur Apache (www-data) propiétaire du dossier '''"config"''' de Pitchfork<br />
<br />
==== Configuration ====<br />
<br />
Copier le fichier Pitchfork.conf dans le dossier de configuration du serveur web '''/etc/httpd/conf.d/'''<br />
<br />
Dans le Pitchfork.conf :<br />
<br />
Alias /teteveradio /home/teteve/www/teteveradio # radio accessible via teteve.fr/teteveradio<br />
'''<Directory /home/teteve/www/teteveradio>'''<br />
'''DirectoryIndex''' index.php<br />
'''Options''' -Indexes<br />
'''AllowOverride''' all<br />
'''AddType application/x-httpd-php''' .php<br />
'''php_flag magic_quotes_gpc''' off<br />
'''php_flag magic_quotes_runtime''' off<br />
'''php_flag display_errors''' on<br />
'''php_flag log_errors''' on<br />
''# switch comment marks on the two items to disable access logging <br />
# completely for pitchfork. See INSTALL''<br />
'''SetEnvIf''' Request_URI "player/command\.php" pitchforknolog <br />
''#SetEnv pitchforknolog''<br />
'''</Directory>'''<br />
<br />
Lancer ensuite la page de config de Pitchfork : [http://teteve.fr/teteveradio/player/config.php]<br />
<br />
Réglages de connexion :<br />
Hôte : '''localhost'''<br />
Port : '''6600'''<br />
Mot de Passe : '''mot de passe MPD<br />
<br />
Intégration du shoutcast :<br />
http://'''<nom de domaine>''':'''<port icecast>'''/<'''point de montage du shout>'''<br />
<br />
Ce qui donne pour notre exemple :<br />
http://teteve.fr:8000/mpd.ogg<br />
<br />
Vous pouvez également entrer cette URL dans un lecteur audio comme VLC pour écouter votre flux :<br />
* Fichier/Ouvrir un flux réseau<br />
* Sélectionner HTTP/HTTPS/FTP/MMS<br />
* Entrer l'URL dans le champ à droite<br />
<br />
==== Utilisation ====<br />
Pour utiliser Pitchfork, il suffit ensuite de lancer l'URL configurée dans Pitchfork.conf :<br />
[http://teteve.fr/teteveradio/]<br />
<br />
[[Catégorie:Informatique]]<br />
[[Catégorie:Système]]<br />
[[Catégorie:Debian]]<br />
[[Catégorie:Procédures]]</div>Tetevehttp://www.teteve.fr/wiki/index.php?title=Apache&diff=9Apache2017-03-24T09:42:55Z<p>Teteve : </p>
<hr />
<div>== Pré requis (installation) ==<br />
<br />
# apt-get install apache2<br />
<br />
== Configuration ==<br />
<br />
=== Les fichiers de conf ===<br />
<br />
J'indique ici quelques lignes particulière du fichier de conf d'apache sur lesquelles je me suis penché...<br />
<br />
# vim /etc/apache2/apache2.conf<br />
ServerRoot "/etc/apache2"<br />
DirectoryIndex index.php index.html # Indique quel type de fichier index doit sélectionner apache par défaut<br />
# Les logs d'erreur sont peu configurables, à part leur emplacement et le niveau :<br />
ErrorLog /var/log/apache2/error.log<br />
# Valeurs possibles pour les niveaux de log : debug, info, notice, warn, error, crit, alert, emerg.<br />
LogLevel warn<br />
<br />
# Configuration des logs :<br />
'''# EN COURS D'APPROFONDISSEMENT...'''<br />
LogFormat "%v:%p %a %h %l %u %t \"%r\" %>s %T \"%{Referer}i\" \"%{User-Agent}i\"" vhost_combined<br />
LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined<br />
LogFormat "%h %l %u %t \"%r\" %>s %b" common<br />
LogFormat "%{Referer}i -> %U" referer<br />
LogFormat "%{User-agent}i" agent<br />
# Define an access log for VirtualHosts that don't define their own logfile<br />
CustomLog /var/log/apache2/other_vhosts_access.log vhost_combined<br />
<br />
# Informations que renvoie Apache en cas d'erreur ou dans les headers<br />
ServerTokens Prod<br />
ServerSignature Off<br />
<br />
# Config perso des pages d'erreur<br />
# Peut être défini plus précisément plus loin dans ce fichier<br />
ErrorDocument 404 /404.html<br />
<br />
<br />
=== Les vhosts ===<br />
<br />
Voici un fichier de conf d'un Vhost :<br />
'''NameVirtualHost www.toto.fr''' # A ne mettre que dans le fichier du vhost par défaut<br />
'''<VirtualHost www.toto.fr>''' # Nom du virtualhost (= par là où il sera appelé...)<br />
'''ServerAdmin webmaster@localhost''' # Mail du webmaster (pas trop compliqué à comprendre... :p)<br />
'''ServerName www.toto.fr''' # Nom du serveur<br />
'''ServerAlias www2.toto.fr''' # Un éventuel alias<br />
'''DocumentRoot /home/www/toto/'''<br />
'''<Directory />'''<br />
'''Options FollowSymLinks''' # Autorise à suivre les liens symboliques<br />
'''AllowOverride None'''<br />
'''</Directory>'''<br />
'''<Directory /home/www/toto/>'''<br />
# Indexes : Ne liste pas les fichiers d'un répertoire s'il n'y a pas de fichier index.*<br />
'''Options Indexes FollowSymLinks MultiViews'''<br />
'''AllowOverride None'''<br />
'''Order allow,deny'''<br />
'''allow from all'''<br />
# This directive allows us to have apache2's default start page<br />
# in /apache2-default/, but still have / go to the right place<br />
# RedirectMatch ^/$ www.toto.fr<br />
'''</Directory>'''<br />
'''<Directory /home/www/secure/>'''<br />
# Config du répertoire sécurisé déjà vu précédemment<br />
'''</Directory>'''<br />
ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/ # Pour la config des scripts CGI<br />
<Directory "/usr/lib/cgi-bin"><br />
# A approfondir<br />
</Directory><br />
ErrorLog /var/log/apache2/error.log<br />
# Si besoin de logs particuliers pour le vhost :<br />
# Valeurs possibles : debug, info, notice, warn, error, crit, alert, emerg.<br />
# Non utilisées actuellement<br />
#LogLevel warn<br />
#CustomLog /var/log/apache2/access.log combined<br />
'''</VirtualHost>'''<br />
Ne pas oublier de rajouter le nom du vhost dans /etc/hosts<br />
<br />
Petite astuce pour désactiver l'accès à votre serveur par son IP publique : <br /><br />
Dans le fichier de conf du vhost "default", rajouter ceci à la fin. Ça peut être utile pour éviter les scans de port et les bots. Totalement inutile si le DNS est public... <br /><br />
A éviter pour un site web souhaitant être référencé !!! :)<br />
<VirtualHost *:80><br />
ServerName VOTRE.IP.PUB.LIQUE<br />
<Directory /><br />
Deny from all<br />
</Directory><br />
</VirtualHost><br />
<br />
=== restreindre l'accès à un répertoire ===<br />
<br />
Sous Apache, il existe 2 types d'authentification possible :<br />
* mod_auth_basic<br />
* mod_auth_digest<br />
<br />
pour activer le module mod_auth_digest :<br />
a2dismod mod_auth_basic<br />
a2enmod mod_auth_digest<br />
/etc/init.d/apache2 restart<br />
L'authentification Basic envoie le couple login/password en clair sur le réseau.<br />
Elle est donc déconseillée sans être couplée avec SSL.<br />
L'authentification Digest utilise les condensés MD5. Attention : Digest est mal supporté par IE 6 et antérieur, à cause du non-respect des RFC de la part de IE (original... ^^).<br />
<br />
Il est possible de mettre les directives d'authentification soit dans le/les fichiers(s) de configuration d'apache (typiquement apache2.conf), soit directement dans les répertoires concernés grace aux fichiers .htaccess.<br />
Il est conseillé, dans la mesure du possible, d'utiliser les directives <Directory> dans apache2.conf pour sécuriser les répertoires. Dans le cas contraire, Apache devra parcourir tous les répertoires à la recherche de fichiers .htaccess, ce qui risque d'amoindrir les performances.<br />
<br />
<Directory /home/www/secure/><br />
AuthType Digest<br />
AuthName "Zone securisee"<br />
AuthDigestDomain /secure/ http://www.teteve.fr/secure/<br />
AuthDigestProvider file<br />
AuthUserFile /etc/apache2/password<br />
Require valid-user<br />
</Directory><br />
<br />
créer le premier couple login/password :<br />
htdigest -c /ou/vous/voulez "Zone securisee" login1<br />
Un prompt vous demande alors de taper le mot de passe, puis de le confirmer. Créer ensuite les couples login/password en enlevant l'option "-c" (pour "create").<br />
/etc/init.d/apache2 reload<br />
<br />
== Quelques tips sur Apache2 ==<br />
<br />
=== Les commandes apache2 ===<br />
root@test ~ # apache2 -h<br />
Usage: apache2 [-D name] [-d directory] [-f file]<br />
[-C "directive"] [-c "directive"]<br />
[-k start|restart|graceful|graceful-stop|stop]<br />
[-v] [-V] [-h] [-l] [-L] [-t] [-S] [-X]<br />
Options:<br />
-D name : define a name for use in <IfDefine name> directives<br />
-d directory : Spécifie un répertoire racine specify an alternate initial ServerRoot<br />
-f file : specify an alternate ServerConfigFile<br />
-C "directive" : process directive before reading config files<br />
-c "directive" : process directive after reading config files<br />
-e level : show startup errors of level (see LogLevel)<br />
-E file : log startup errors to file<br />
-v : show version number<br />
-V : show compile settings<br />
-h : list available command line options (this page)<br />
-l : list compiled in modules<br />
-L : list available configuration directives<br />
-t -D DUMP_VHOSTS : show parsed settings (currently only vhost settings)<br />
-S : a synonym for -t -D DUMP_VHOSTS<br />
-t -D DUMP_MODULES : show all loaded modules<br />
-M : a synonym for -t -D DUMP_MODULES<br />
-t : run syntax check for config files<br />
-X : debug mode (only one worker, do not detach)<br />
<br />
=== LogFormat ===<br />
Directives présentes dans le fichier /etc/apache2/apache.conf d'après [http://doc.ubuntu-fr.org/apache2 La documentation Ubuntu]<br />
# format des lignes contenues dans les logs<br />
# %a Adresse ip distante.<br />
# %A Adresse ip local.<br />
# %B Taille de la réponse en octets, excluant l'entête HTTP.<br />
# %b Taille de la réponse en octets, excluant l'entête HTTP au format CLF.<br />
# %{Foobar}C Contenu du cookie "Foobar" de la requête envoyée au serveur.<br />
# %D Le temps mis à servir la requête .<br />
# %{FOOBAR}e Contenue de la variable d'environnement "FOOBAR".<br />
# %f Nom du fichier.<br />
# %h Hôte distant.<br />
# %H Le protocole demandé.<br />
# %{Foobar}i Le contenu de "Foobar": Ligne(s) d'en-tête de la requête envoyée au serveur.<br />
# %l nom du fichier de log distant (de identd, si il est fournit). Cela retournera un tiret tant que //mod_ident// n'est pas présent et //IdentityCheck// n'est pas mis à ON.<br />
# %m Méthode de la requête.<br />
# %{Foobar}n Contenu de la note "Foobar" provenant d'un autre module.<br />
# %{Foobar}o Le contenu de "Foobar": Ligne(s) d'entête dans la réponse.<br />
# %p Port canonique du serveur qui sert la réponse.<br />
# %P Id du processus fils qui a servi la requête.<br />
# %{format}P Id du processus ou du thread fils qui a servi la requête.<br />
# Les formats valides sont pid, tid, et hextid.<br />
# hextid nécessite APR 1.2.0 ou supérieur.<br />
# %q Chaînes de la requête (Commençant avec un ? si une chaine de requête existe, sinon une chaîne vide)<br />
# %r Première ligne de la requête.<br />
# %s Statut. Pour les requête redirigées en interne, ceci est la requête originale --- %>s pour la dernière.<br />
# %t Heure à laquelle la requête a été reçue (format standard anglais mois jour année )<br />
# %{format}t L'heure, au format précisé, qui doit être dans les formats de strftime(3). (potentiellement localisé).<br />
# %T Le temps mis pour répondre à la requête.<br />
# %u Utilisateur distant (de l'authentification; peut être faux si le code de retour de statut (%s) est 401)<br />
# %U Url demandée, n'inclue aucune chaîne de requête.<br />
# %v Nom canonique de ServerName du serveur qui répond à la requête.<br />
# %V Nom du serveur en fonction du paramètre UseCanonicalName.<br />
# %X Statut de la connexion une fois la réponse envoyée.<br />
# X = connexion annulée avant la réponse complète.<br />
# + = la connexion peut être maintenue après l'envoi de la réponse.<br />
# - = la connexion sera fermée après l'envoi de la réponse.<br />
# %I Octets reçus, incluant l'entête et la requête, ne peut être nul. Vous devez activer //mod_logio// pour l'utiliser.<br />
# %O Octets envoyés, incluant l'entête, ne peut être nul. Vous devez activer //mod_logio// pour l'utiliser.<br />
<br />
LogFormat "%h %l %h %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined<br />
LogFormat "%h %l %u %t \"%r\" %>s %b" common<br />
LogFormat "%{Referer}i -> %U" referer<br />
LogFormat "%{User-agent}i" agent<br />
<br />
Celles que j'ai dans le mien :<br />
LogFormat "%v %a %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" vhost_combined<br />
#LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined<br />
#LogFormat "%h %l %u %t \"%r\" %>s %b" common<br />
#LogFormat "%{Referer}i -> %U" referer<br />
#LogFormat "%{User-agent}i" agent<br />
#<br />
# Define an access log for VirtualHosts that don't define their own logfile<br />
CustomLog /var/log/apache2/other_vhosts_access.log vhost_combined<br />
<br />
'''Explications :'''<br />
LogFormat "%v %a %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" vhost_combined<br />
%v - Nom canonique de ServerName du serveur qui répond à la requête.<br />
%a - Adresse ip distante.<br />
%u - Utilisateur distant (de l'authentification; peut être faux si le code de retour de statut (%s) est 401)<br />
%t - Heure à laquelle la requête a été reçue (format standard anglais mois jour année )<br />
"%r" - Première ligne de la requête.<br />
%>s - Statut. Pour les requête redirigées en interne, ceci est la requête originale --- %>s pour la dernière.<br />
%b - Taille de la réponse en octets, excluant l'entête HTTP au format CLF. (obligatoire pour [[Awstats]])<br />
%{Referer}i - Le contenu de "Referer": Ligne(s) d'en-tête de la requête envoyée au serveur.<br />
%{User-Agent}i - Le contenu de "User-Agent": Ligne(s) d'en-tête de la requête envoyée au serveur.<br />
<br />
== PhpMyAdmin == <br />
<br />
L'installation de PhpMyAdmin se fait dans la foulée après celle de Mysql et Php :<br />
<br />
# apt-get install phpmyadmin<br />
<br />
Editer le fichier de configuration d'Apache :<br />
<br />
# vim /etc/apache2/apache2.conf<br />
<br />
Rajouter la ligne suivante :<br />
<br />
include /etc/phpmyadmin/apache.conf<br />
<br />
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) :<br />
<br />
http://localhost/phpmyadmin<br />
<br />
note : PhpMyAdmin utilise les identifiants de l'admin de Mysql tels que définis à l'installation de Mysql<br />
<br />
[[Catégorie:Informatique]]<br />
[[Catégorie:Serveur dédié]]<br />
[[Catégorie:Système]]<br />
[[Catégorie:Debian]]<br />
[[Catégorie:Procédures]]</div>Tetevehttp://www.teteve.fr/wiki/index.php?title=Bash&diff=8Bash2017-03-24T09:39:18Z<p>Teteve : Page créée avec « = Les redirections = Lorsque vous exécutez une commande ou un programme, ceux-ci affichent des informations sur votre console. L'application peut afficher des messages d... »</p>
<hr />
<div>= Les redirections =<br />
<br />
Lorsque vous exécutez une commande ou un programme, ceux-ci affichent des informations sur votre console. L'application peut afficher des messages de type "standard" ou des messages de type "erreur". Chaque type de message est associé à un canal. Le premier est appelé STDOUT, le second STDERR.<br />
<br />
== Le simple supérieur ==<br />
<br />
ps -ax > /tmp/out<br />
renvoie le canal STDOUT vers le fichier out.<br /><br />
ps -ax > /tmp/out 2> /tmp/err<br />
renvoie le canal STDOUT (canal 1, par défaut) vers le fichier out, et le canal 2 vers le fichier err.<br /><br />
ps -ax > /tmp/out 2>&1<br />
renvoie le canal STDOUT vers le fichier out, et le canal 2 vers le canal 1 (donc dans le fichier out).<br /><br />
ps -ax > /dev/null<br />
ignore la sortie STDOUT (pour tout ignorer : ''ps -ax > /dev/null 2>&1'').<br />
<br />
== Le double supérieur ==<br />
<br />
Le double supérieur, contrairement au simple, n'efface pas le contenu du fichier avant d'écrire dedans (cas typique : fichiers de logs).<br />
<br />
== le pipe ==<br />
<br />
ps -ax | grep syslog<br />
affiche STDERR et grep STDOUT <br /><br />
ps -ax 2>&1 | grep syslog<br />
grep STDOUT et STDERR<br />
<br />
= Le code d'erreur =<br />
<br />
echo $?<br />
renvoie le résultat de la dernière commande effectuée : 0 = pas d'erreur, 1 = erreur<br />
<br />
= Le double pipe =<br />
<br />
Le double pipe signifie "s'il y a des erreurs, alors..." <br /><br />
ps -ax | grep syslog || echo "raté"<br />
affichage de "raté" si le code de sortie de la commande précédente (grep) est différent de 0.<br /><br />
[ -x /usr/sbin/postfix ] || exit 0<br />
si le fichier /usr/sbin/postfix est exécutable, on continue, sinon on quitte avec le code de sortie 0.<br />
<br />
= Le double & =<br />
<br />
le double & est le complément du ||. Il signifie "s'il n'y a pas eu d'erreur, alors..." Il peut bien évidemment s'utiliser simultanément avec le double pipe.<br /><br />
[ -x /usr/sbin/postfix ] && echo "fichier exécutable" || echo "fichier non-exécutable"<br />
<br />
= Syntaxe particulière =<br />
<br />
[ -f /tmp/toto ] && echo "/tmp/toto existe" || :<br /><br />
Le ":" signifie que le code de retour doit être 0. Utile pour effectuer une action lorsqu'un test est vrai, mais en passant outre l'erreur si elle survient.<br />
<br />
= Le point virgule =<br />
<br />
Il permet de définir la fin d'une commande et le début d'une suivante. Les commandes ainsi séparées seront exécutées séquentiellement :<br /><br />
echo "1"; sleep 5; echo "2"<br /><br />
On affiche "1", puis on attend 5 secondes, et on affiche "2".<br /><br />
<br />
= Le simple & =<br />
<br />
Il permet de séparer les commandes, mais celles-ci seront exécutées simultanément :<br /><br />
echo "a" & sleep 5 & echo "b"<br /><br />
a<br /><br />
[1] 30553<br /><br />
[2] 30554<br /><br />
b<br />
<br />
Dans ce cas, l'affichage de "a" et "b" sera quasi simultané. La commande sleep reste en tache de fond. Chaque processus se voit attribuer un numéro de travail. C'est ce que l'on observe dans l'affichage ''[2] 30554''.<br /><br />
La commande <span style="color:red;">jobs</span> permet de connaître la liste des travaux en cours.<br /><br />
La commande <span style="color:red;">fg</span> (foreground) suivie du numéro de travail permet de le repasser au premier plan.<br /><br />
Pour repasser un processus en tâche de fond, il suffit de taper [Ctrl] + [Z] pour suspendre la tâche en cours, puis d'utiliser la commande <span style="color:red;">bg</span> (background) pour la mettre en tâche de fond.<br />
<br />
= Echappement des caractères spéciaux =<br />
<br />
Les caractères comme <span style="color:blue;">& - ! @ / \ ; : ^ </span> sont souvent utilisés comme paramètres ou arguments de commande. Pour les utiliser comme caractères "normaux", il faut le spécifier grâce au caractère d'échappement "\"<br /><br />
ps -ax | grep ' \-\-nosid '<br /><br />
De même, pour échapper le caractère "\", on utilise un double \\<br /><br />
ps -ax | grep ' \\ '<br />
<br />
[[Catégorie:Informatique]]<br />
[[Catégorie:Serveur dédié]]<br />
[[Catégorie:Système]]<br />
[[Catégorie:Debian]]<br />
[[Catégorie:Commandes]]</div>Tetevehttp://www.teteve.fr/wiki/index.php?title=Apache&diff=7Apache2017-03-24T09:37:39Z<p>Teteve : Page créée avec « == Pré requis (installation) == # apt-get install apache2 == Configuration == === Les fichiers de conf === J'indique ici quelques lignes particulière du fichier de... »</p>
<hr />
<div>== Pré requis (installation) ==<br />
<br />
# apt-get install apache2<br />
<br />
== Configuration ==<br />
<br />
=== Les fichiers de conf ===<br />
<br />
J'indique ici quelques lignes particulière du fichier de conf d'apache sur lesquelles je me suis penché...<br />
<br />
# vim /etc/apache2/apache2.conf<br />
ServerRoot "/etc/apache2"<br />
DirectoryIndex index.php index.html # Indique quel type de fichier index doit sélectionner apache par défaut<br />
# Les logs d'erreur sont peu configurables, à part leur emplacement et le niveau :<br />
ErrorLog /var/log/apache2/error.log<br />
# Valeurs possibles pour les niveaux de log : debug, info, notice, warn, error, crit, alert, emerg.<br />
LogLevel warn<br />
<br />
# Configuration des logs :<br />
'''# EN COURS D'APPROFONDISSEMENT...'''<br />
LogFormat "%v:%p %a %h %l %u %t \"%r\" %>s %T \"%{Referer}i\" \"%{User-Agent}i\"" vhost_combined<br />
LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined<br />
LogFormat "%h %l %u %t \"%r\" %>s %b" common<br />
LogFormat "%{Referer}i -> %U" referer<br />
LogFormat "%{User-agent}i" agent<br />
# Define an access log for VirtualHosts that don't define their own logfile<br />
CustomLog /var/log/apache2/other_vhosts_access.log vhost_combined<br />
<br />
# Informations que renvoie Apache en cas d'erreur ou dans les headers<br />
ServerTokens Prod<br />
ServerSignature Off<br />
<br />
# Config perso des pages d'erreur<br />
# Peut être défini plus précisément plus loin dans ce fichier<br />
ErrorDocument 404 /404.html<br />
<br />
<br />
=== Les vhosts ===<br />
<br />
Voici un fichier de conf d'un Vhost :<br />
'''NameVirtualHost www.toto.fr''' # A ne mettre que dans le fichier du vhost par défaut<br />
'''<VirtualHost www.toto.fr>''' # Nom du virtualhost (= par là où il sera appelé...)<br />
'''ServerAdmin webmaster@localhost''' # Mail du webmaster (pas trop compliqué à comprendre... :p)<br />
'''ServerName www.toto.fr''' # Nom du serveur<br />
'''ServerAlias www2.toto.fr''' # Un éventuel alias<br />
'''DocumentRoot /home/www/toto/'''<br />
'''<Directory />'''<br />
'''Options FollowSymLinks''' # Autorise à suivre les liens symboliques<br />
'''AllowOverride None'''<br />
'''</Directory>'''<br />
'''<Directory /home/www/toto/>'''<br />
# Indexes : Ne liste pas les fichiers d'un répertoire s'il n'y a pas de fichier index.*<br />
'''Options Indexes FollowSymLinks MultiViews'''<br />
'''AllowOverride None'''<br />
'''Order allow,deny'''<br />
'''allow from all'''<br />
# This directive allows us to have apache2's default start page<br />
# in /apache2-default/, but still have / go to the right place<br />
# RedirectMatch ^/$ www.toto.fr<br />
'''</Directory>'''<br />
'''<Directory /home/www/secure/>'''<br />
# Config du répertoire sécurisé déjà vu précédemment<br />
'''</Directory>'''<br />
ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/ # Pour la config des scripts CGI<br />
<Directory "/usr/lib/cgi-bin"><br />
# A approfondir<br />
</Directory><br />
ErrorLog /var/log/apache2/error.log<br />
# Si besoin de logs particuliers pour le vhost :<br />
# Valeurs possibles : debug, info, notice, warn, error, crit, alert, emerg.<br />
# Non utilisées actuellement<br />
#LogLevel warn<br />
#CustomLog /var/log/apache2/access.log combined<br />
'''</VirtualHost>'''<br />
Ne pas oublier de rajouter le nom du vhost dans /etc/hosts<br />
<br />
Petite astuce pour désactiver l'accès à votre serveur par son IP publique : <br /><br />
Dans le fichier de conf du vhost "default", rajouter ceci à la fin. Ça peut être utile pour éviter les scans de port et les bots. Totalement inutile si le DNS est public... <br /><br />
A éviter pour un site web souhaitant être référencé !!! :)<br />
<VirtualHost *:80><br />
ServerName VOTRE.IP.PUB.LIQUE<br />
<Directory /><br />
Deny from all<br />
</Directory><br />
</VirtualHost><br />
<br />
=== restreindre l'accès à un répertoire ===<br />
<br />
Sous Apache, il existe 2 types d'authentification possible :<br />
* mod_auth_basic<br />
* mod_auth_digest<br />
<br />
pour activer le module mod_auth_digest :<br />
a2dismod mod_auth_basic<br />
a2enmod mod_auth_digest<br />
/etc/init.d/apache2 restart<br />
L'authentification Basic envoie le couple login/password en clair sur le réseau.<br />
Elle est donc déconseillée sans être couplée avec SSL.<br />
L'authentification Digest utilise les condensés MD5. Attention : Digest est mal supporté par IE 6 et antérieur, à cause du non-respect des RFC de la part de IE (original... ^^).<br />
<br />
Il est possible de mettre les directives d'authentification soit dans le/les fichiers(s) de configuration d'apache (typiquement apache2.conf), soit directement dans les répertoires concernés grace aux fichiers .htaccess.<br />
Il est conseillé, dans la mesure du possible, d'utiliser les directives <Directory> dans apache2.conf pour sécuriser les répertoires. Dans le cas contraire, Apache devra parcourir tous les répertoires à la recherche de fichiers .htaccess, ce qui risque d'amoindrir les performances.<br />
<br />
<Directory /home/www/secure/><br />
AuthType Digest<br />
AuthName "Zone securisee"<br />
AuthDigestDomain /secure/ http://www.teteve.fr/secure/<br />
AuthDigestProvider file<br />
AuthUserFile /etc/apache2/password<br />
Require valid-user<br />
</Directory><br />
<br />
créer le premier couple login/password :<br />
htdigest -c /ou/vous/voulez "Zone securisee" login1<br />
Un prompt vous demande alors de taper le mot de passe, puis de le confirmer. Créer ensuite les couples login/password en enlevant l'option "-c" (pour "create").<br />
/etc/init.d/apache2 reload<br />
<br />
== Quelques tips sur Apache2 ==<br />
<br />
=== Les commandes apache2 ===<br />
root@test ~ # apache2 -h<br />
Usage: apache2 [-D name] [-d directory] [-f file]<br />
[-C "directive"] [-c "directive"]<br />
[-k start|restart|graceful|graceful-stop|stop]<br />
[-v] [-V] [-h] [-l] [-L] [-t] [-S] [-X]<br />
Options:<br />
-D name : define a name for use in <IfDefine name> directives<br />
-d directory : Spécifie un répertoire racine specify an alternate initial ServerRoot<br />
-f file : specify an alternate ServerConfigFile<br />
-C "directive" : process directive before reading config files<br />
-c "directive" : process directive after reading config files<br />
-e level : show startup errors of level (see LogLevel)<br />
-E file : log startup errors to file<br />
-v : show version number<br />
-V : show compile settings<br />
-h : list available command line options (this page)<br />
-l : list compiled in modules<br />
-L : list available configuration directives<br />
-t -D DUMP_VHOSTS : show parsed settings (currently only vhost settings)<br />
-S : a synonym for -t -D DUMP_VHOSTS<br />
-t -D DUMP_MODULES : show all loaded modules<br />
-M : a synonym for -t -D DUMP_MODULES<br />
-t : run syntax check for config files<br />
-X : debug mode (only one worker, do not detach)<br />
<br />
=== LogFormat ===<br />
Directives présentes dans le fichier /etc/apache2/apache.conf d'après [http://doc.ubuntu-fr.org/apache2 La documentation Ubuntu]<br />
# format des lignes contenues dans les logs<br />
# %a Adresse ip distante.<br />
# %A Adresse ip local.<br />
# %B Taille de la réponse en octets, excluant l'entête HTTP.<br />
# %b Taille de la réponse en octets, excluant l'entête HTTP au format CLF.<br />
# %{Foobar}C Contenu du cookie "Foobar" de la requête envoyée au serveur.<br />
# %D Le temps mis à servir la requête .<br />
# %{FOOBAR}e Contenue de la variable d'environnement "FOOBAR".<br />
# %f Nom du fichier.<br />
# %h Hôte distant.<br />
# %H Le protocole demandé.<br />
# %{Foobar}i Le contenu de "Foobar": Ligne(s) d'en-tête de la requête envoyée au serveur.<br />
# %l nom du fichier de log distant (de identd, si il est fournit). Cela retournera un tiret tant que //mod_ident// n'est pas présent et //IdentityCheck// n'est pas mis à ON.<br />
# %m Méthode de la requête.<br />
# %{Foobar}n Contenu de la note "Foobar" provenant d'un autre module.<br />
# %{Foobar}o Le contenu de "Foobar": Ligne(s) d'entête dans la réponse.<br />
# %p Port canonique du serveur qui sert la réponse.<br />
# %P Id du processus fils qui a servi la requête.<br />
# %{format}P Id du processus ou du thread fils qui a servi la requête.<br />
# Les formats valides sont pid, tid, et hextid.<br />
# hextid nécessite APR 1.2.0 ou supérieur.<br />
# %q Chaînes de la requête (Commençant avec un ? si une chaine de requête existe, sinon une chaîne vide)<br />
# %r Première ligne de la requête.<br />
# %s Statut. Pour les requête redirigées en interne, ceci est la requête originale --- %>s pour la dernière.<br />
# %t Heure à laquelle la requête a été reçue (format standard anglais mois jour année )<br />
# %{format}t L'heure, au format précisé, qui doit être dans les formats de strftime(3). (potentiellement localisé).<br />
# %T Le temps mis pour répondre à la requête.<br />
# %u Utilisateur distant (de l'authentification; peut être faux si le code de retour de statut (%s) est 401)<br />
# %U Url demandée, n'inclue aucune chaîne de requête.<br />
# %v Nom canonique de ServerName du serveur qui répond à la requête.<br />
# %V Nom du serveur en fonction du paramètre UseCanonicalName.<br />
# %X Statut de la connexion une fois la réponse envoyée.<br />
# X = connexion annulée avant la réponse complète.<br />
# + = la connexion peut être maintenue après l'envoi de la réponse.<br />
# - = la connexion sera fermée après l'envoi de la réponse.<br />
# %I Octets reçus, incluant l'entête et la requête, ne peut être nul. Vous devez activer //mod_logio// pour l'utiliser.<br />
# %O Octets envoyés, incluant l'entête, ne peut être nul. Vous devez activer //mod_logio// pour l'utiliser.<br />
<br />
LogFormat "%h %l %h %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined<br />
LogFormat "%h %l %u %t \"%r\" %>s %b" common<br />
LogFormat "%{Referer}i -> %U" referer<br />
LogFormat "%{User-agent}i" agent<br />
<br />
Celles que j'ai dans le mien :<br />
LogFormat "%v %a %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" vhost_combined<br />
#LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined<br />
#LogFormat "%h %l %u %t \"%r\" %>s %b" common<br />
#LogFormat "%{Referer}i -> %U" referer<br />
#LogFormat "%{User-agent}i" agent<br />
#<br />
# Define an access log for VirtualHosts that don't define their own logfile<br />
CustomLog /var/log/apache2/other_vhosts_access.log vhost_combined<br />
<br />
'''Explications :'''<br />
LogFormat "%v %a %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" vhost_combined<br />
%v - Nom canonique de ServerName du serveur qui répond à la requête.<br />
%a - Adresse ip distante.<br />
%u - Utilisateur distant (de l'authentification; peut être faux si le code de retour de statut (%s) est 401)<br />
%t - Heure à laquelle la requête a été reçue (format standard anglais mois jour année )<br />
"%r" - Première ligne de la requête.<br />
%>s - Statut. Pour les requête redirigées en interne, ceci est la requête originale --- %>s pour la dernière.<br />
%b - Taille de la réponse en octets, excluant l'entête HTTP au format CLF. (obligatoire pour [[Awstats]])<br />
%{Referer}i - Le contenu de "Referer": Ligne(s) d'en-tête de la requête envoyée au serveur.<br />
%{User-Agent}i - Le contenu de "User-Agent": Ligne(s) d'en-tête de la requête envoyée au serveur.<br />
<br />
[[Catégorie:Informatique]]<br />
[[Catégorie:Serveur dédié]]<br />
[[Catégorie:Système]]<br />
[[Catégorie:Debian]]<br />
[[Catégorie:Procédures]]</div>Tetevehttp://www.teteve.fr/wiki/index.php?title=Awstats&diff=6Awstats2017-03-24T09:37:07Z<p>Teteve : Page créée avec « '''En cours de mise en place et d'approfondissement...''' == Installation == # apt-get install awstats Définir l'alias utilisé par les différents domaines : # '''... »</p>
<hr />
<div>'''En cours de mise en place et d'approfondissement...'''<br />
<br />
== Installation ==<br />
<br />
# apt-get install awstats<br />
<br />
Définir l'alias utilisé par les différents domaines :<br />
<br />
# '''vim /etc/apache2/sites-available/stats.conf'''<br />
<br />
Alias /awstatsclasses "/usr/share/awstats/classes/"<br />
Alias /awstatscss "/usr/share/awstats/css/"<br />
Alias /awstats-icon "/usr/share/awstats/icon/"<br />
<br />
ScriptAlias /stats /usr/lib/cgi-bin/awstats.pl<br />
<br />
# mêmes paramètres que dans awstats.*.conf<br />
<Directory /usr/lib/cgi-bin/><br />
DirectoryIndex awstats.pl<br />
UseCanonicalName off<br />
AuthType Digest<br />
AuthName "Acces restreint aux stats"<br />
AuthDigestDomain /awstats http://www.teteve.fr/awstats<br />
AuthDigestProvider file<br />
AuthUserFile /etc/apache2/.awstats.pwd<br />
Require valid-user<br />
Options +ExecCGI<br />
AllowOverride None<br />
Order allow,deny<br />
Allow from all<br />
</Directory><br />
<br />
# '''cd /etc/apache2/sites-enable/'''<br />
# '''ln -s ../sites-available/stats.conf stats.conf'''<br />
# '''/etc/init.d/apache reload'''<br />
<br />
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 /><br />
recopier le fichier de conf par défaut :<br />
# '''cp /etc/awstats/awstats.local.conf /etc/awstats/awstats.www.teteve.fr.conf'''<br />
<br />
== Config ==<br />
<br />
'''<span style="color:red;">EN COURS...</span>'''<br />
<br />
Extrait de mon fichier de config, à rapprocher de la [[Apache#Les_fichiers_de_conf|Conf d'Apache]] et des [[Apache#Les_vhosts|vhosts]]... <br /><br />
<br />
LogFile="/var/log/apache2/log/teteve.log"<br />
LogType=W<br />
<br />
J'ai barré les variables ne correspondant pas à un serveur web. A reprendre dans le cas d'un autre type de serveur.<br />
# Enter here your log format (Must match your web server config. See setup<br />
# instructions in documentation to know how to configure your web server to<br />
# have the required log format).<br />
# Possible values: 1,2,3,4 or "your_own_personalized_log_format"<br />
# 1 - Apache or Lotus Notes/Domino native combined log format (NCSA combined/XLF/ELF log format)<br />
# 2 - IIS or ISA format (IIS W3C log format). See FAQ-COM115 For ISA.<br />
# 3 - Webstar native log format.<br />
# 4 - Apache or Squid native common log format (NCSA common/CLF log format)<br />
# With LogFormat=4, some features (browsers, os, keywords...) can't work.<br />
# "your_own_personalized_log_format" = If your log is ftp, mail or other format,<br />
# you must use following keys to define the log format string (See FAQ for<br />
# ftp, mail or exotic web log format examples):<br />
# %host Client hostname or IP address (or Sender host for mail log)<br />
<s># %host_r Receiver hostname or IP address (for mail log)</s><br />
# %lognamequot Authenticated login/user with format: "john"<br />
# %logname Authenticated login/user with format: john<br />
# %time1 Date and time with format: [dd/mon/yyyy:hh:mm:ss +0000] or [dd/mon/yyyy:hh:mm:ss]<br />
# %time2 Date and time with format: yyyy-mm-dd hh:mm:ss<br />
# %time3 Date and time with format: Mon dd hh:mm:ss or Mon dd hh:mm:ss yyyy<br />
# %time4 Date and time with unix timestamp format: dddddddddd<br />
# %methodurl Method and URL with format: "GET /index.html HTTP/x.x"<br />
# %methodurlnoprot Method and URL with format: "GET /index.html"<br />
# %method Method with format: GET<br />
# %url URL only with format: /index.html<br />
# %query Query string (used by URLWithQuery option)<br />
# %code Return code status (with format for web log: 999)<br />
# %bytesd Size of document in bytes<br />
# %refererquot Referer page with format: "http://from.com/from.htm"<br />
# %referer Referer page with format: http://from.com/from.htm<br />
# %uabracket User agent with format: [Mozilla/4.0 (compatible, ...)]<br />
# %uaquot User agent with format: "Mozilla/4.0 (compatible, ...)"<br />
# %ua User agent with format: Mozilla/4.0_(compatible...)<br />
# %gzipin mod_gzip compression input bytes: In:XXX<br />
# %gzipout mod_gzip compression output bytes & ratio: Out:YYY:ZZpct.<br />
# %gzipratio mod_gzip compression ratio: ZZpct.<br />
# %deflateratio mod_deflate compression ratio with format: (ZZ)<br />
<s># %email EMail sender (for mail log)</s><br />
<s># %email_r EMail receiver (for mail log)</s><br />
# %virtualname Web sever virtual hostname. Use this tag when same log<br />
# contains data of several virtual web servers. AWStats<br />
# will discard records not in SiteDomain nor HostAliases<br />
# %cluster If log file is provided from several computers (merged by<br />
# logresolvemerge.pl), use this to define cluster id field.<br />
# %extraX Another field that you plan to use for building a<br />
# personalized report with ExtraSection feature (See later).<br />
# If your log format has some fields not included in this list, use:<br />
# %other Means another not used field<br />
# %otherquot Means another not used double quoted field<br />
#<br />
# Examples for Apache combined logs (following two examples are equivalent):<br />
# LogFormat = 1<br />
# LogFormat = "%host %other %logname %time1 %methodurl %code %bytesd %refererquot %uaquot"<br />
#<br />
# Example for IIS:<br />
# LogFormat = 2<br />
#<br />
LogFormat = %virtualname %host %logname %time1 %methodurl %code %bytesd %refererquot %uaquot<br />
<br />
LogFile="/var/log/apache2/vhosts/teteve.log"<br />
LogType=W<br />
LogFormat = %virtualname %host %logname %time1 %methodurl %code %bytesd %refererquot %uaquot<br />
LogSeparator=" "<br />
<br />
J'ai été obligé de rajouter %bytesd sinon awstats refuse d'analyser les logs.<br />
De même, je n'ai pas réussi à faire passer un "virtualname:port"<br />
<br />
== Commande ==<br />
<br />
Pour lancer l'update manuellement (ou à rajouter dans un cron...)<br />
/usr/lib/cgi-bin/awstats.pl -config=www.teteve.fr<br />
<br />
[[Catégorie:Informatique]]<br />
[[Catégorie:Serveur dédié]]<br />
[[Catégorie:Système]]<br />
[[Catégorie:Debian]]<br />
[[Catégorie:Procédures]]</div>Tetevehttp://www.teteve.fr/wiki/index.php?title=Divers_VB&diff=5Divers VB2017-03-24T09:36:50Z<p>Teteve : Page créée avec « === Formule Excel => Formule VBA === Pour utiliser une formule Excel dans une macro VB, il nous faut son équivalence en VB. <br /> Deux façons "simples" se présentent :... »</p>
<hr />
<div>=== Formule Excel => Formule VBA ===<br />
Pour utiliser une formule Excel dans une macro VB, il nous faut son équivalence en VB. <br /><br />
Deux façons "simples" se présentent : faire une macro enregistrée, ou mettre ce code :<br />
Sub Trad()<br />
Range("B2") = "'" & Range("A2").Formula<br />
End Sub<br />
Il ne vous reste plus qu'à mettre votre formule dans la cellule "A1" pour voir apparaître son équivalence en "A2"<br />
<br />
=== Compteur de doublons ===<br />
<br />
Dans un classeur Excel, permet de vérifier dans une liste s'il n'y a pas de doublon...<br />
Sub compte()<br />
Dim lastrow, tab, compteur<br />
lastrow = Range("A1").End(xlDown).Row<br />
Set tab = ThisWorkbook.Sheets(1).Range("A1:A" & lastrow)<br />
For i = 1 To lastrow<br />
compteur = Application.WorksheetFunction.CountIf(tab, Cells(i, 1).Value)<br />
If compteur > 1 Then<br />
Cells(i, 2).Value = compteur & " x " & Cells(i, 1).Value<br />
End If<br />
Next<br />
MsgBox "Script fini"<br />
End Sub<br />
<br />
[[Catégorie:Informatique]]<br />
[[Catégorie:Système]]<br />
[[Catégorie:Windows]]</div>Tetevehttp://www.teteve.fr/wiki/index.php?title=Connexion_AD&diff=4Connexion AD2017-03-24T09:35:50Z<p>Teteve : Page créée avec « == Connexions avec login/password en "GetObject" == === Connexion à AD === Sub main() <br/> Dim DSO, oDSO, oUser Dim mail, newmail Dim DnName <br/> Const ADS_SECUR... »</p>
<hr />
<div>== Connexions avec login/password en "GetObject" ==<br />
<br />
=== Connexion à AD ===<br />
<br />
Sub main() <br/><br />
Dim DSO, oDSO, oUser<br />
Dim mail, newmail<br />
Dim DnName <br/><br />
Const ADS_SECURE_AUTHENTICATION = &H1<br />
Const ADS_SERVER_BIND = &H200<br/><br />
DnName = "cn=Utilisateur,ou=Users,dc=domaine,dc=fr"<br />
Set dso = GetObject("LDAP:")<br />
Set oDSO = dso.OpenDSObject("LDAP://" & DnName, "domaine\login", "password", ADS_SECURE_AUTHENTICATION Or ADS_SERVER_BIND)<br />
mail = oUser.EmailAddress<br />
newmail = Replace(mail, "domaine.fr", "vide.fr")<br />
oUser.Put "Mail", newmail<br />
oUser.SetInfo <br/><br />
End Sub<br />
<br />
=== Connexion à ADAM ===<br />
<br />
Sub main() <br/><br />
Dim DSO, objGrp, element, pathperson <br/><br />
Const ADS_SECURE_AUTHENTICATION = &H1 <br/><br />
pathperson = "LDAP://serveur.domaine.tld:port-eventuel/CN=NomGroupe,CN=OU,O=ORGANISATION"<br />
Set DSO = GetObject("LDAP:")<br />
Set objGrp = DSO.OpenDSObject(pathperson, "domaine.tld\user", "password", ADS_SECURE_AUTHENTICATION)<br />
'MsgBox objUser.Get("diag-profilApplicatif")<br />
For Each element In objGrp.Members<br />
If element.Class = "diag-personne" Then<br />
MsgBox element.uid<br />
End If<br />
Next<br />
Set DSO = Nothing<br />
Set objGrp = Nothing <br/><br />
End Sub<br />
<br />
== Connexions avec login/password et une requête LDAP ==<br />
<br />
=== Connexion à AD ===<br />
<br />
Sub descri() <br/><br />
Const ADS_SCOPE_SUBTREE = 2<br />
Dim objConnection, objCommand, objRecordSet, stru, descri <br/><br />
usr = "Teteve Vinc"<br />
Set objConnection = CreateObject("ADODB.Connection")<br />
Set objCommand = CreateObject("ADODB.Command")<br />
objConnection.Provider = "ADsDSOObject"<br />
objConnection.Properties("User ID") = "CN=Teteve,OU=USERS,OU=INFRA,DC=DOMAINE,DC=tld"<br />
objConnection.Properties("Password") = "MOTDEPASSETOPSECRETDEFENSE"<br />
objConnection.Open "Active Directory Provider"<br />
Set objCommand.ActiveConnection = objConnection<br />
objCommand.Properties("Page Size") = 1000<br />
objCommand.Properties("Searchscope") = ADS_SCOPE_SUBTREE<br />
objCommand.CommandText = "SELECT * FROM 'LDAP://domaine.tld/DC=domaine,DC=tld' WHERE Name = '" & usr & "'"<br />
Set objRecordSet = objCommand.Execute<br />
If objRecordSet.RecordCount = 0 Then<br />
MsgBox "Any result"<br />
Else<br />
descri = objRecordSet(0)<br />
End If<br />
MsgBox descri <br/><br />
End Sub<br />
<br />
=== Connexion à ADAM ===<br />
<br />
[[Catégorie:Informatique]]<br />
[[Catégorie:Système]]<br />
[[Catégorie:Windows]]</div>Tetevehttp://www.teteve.fr/wiki/index.php?title=VPS&diff=3VPS2017-03-24T09:34:36Z<p>Teteve : Page créée avec « Suite à l'abandon du serveur dédié sous Proxmox, nous sommes passés sur une configuration à 3 VPS. Le premier s'occupe du DNS, les deux autres sont les serveurs web (... »</p>
<hr />
<div>Suite à l'abandon du serveur dédié sous Proxmox, nous sommes passés sur une configuration à 3 VPS.<br />
Le premier s'occupe du DNS, les deux autres sont les serveurs web (prod/homol).<br />
<br />
Après l'installation d'une distribution Debian 8 amd64, configuration commune "de base" :<br />
<br />
# passwd<br />
Enter new UNIX password:<br />
Retype new UNIX password:<br />
passwd: password updated successfully<br />
# vim /etc/apt/source.list<br />
# Pour les installations, à désactiver pour la mise en place des mises à jour automatiques<br />
deb http://ftp.debian.org/debian/ jessie main contrib non-free<br />
# Mises à jour de sécurité (à exécuter en automatique)<br />
deb http://security.debian.org/ jessie/updates main contrib non-free<br />
# apt-get update && apt-get dist-upgrade<br />
The following packages will be upgraded:<br />
[...]<br />
# apt-get install zsh<br />
# chsh<br />
/bin/zsh<br />
# wget http://formation-debian.via.ecp.fr/fichiers-config.tar.gz && tar xzf fichiers-config.tar.gz && cd fichiers-config && cp z* /etc/zsh/ && cp dir_colors /etc/ && cp vimrc /etc/vim/<br />
# cd .. && rm -rf fichiers-config*<br />
# vim /etc/network/interfaces<br />
auto eth0<br />
iface eth0 inet static<br />
address 137.74.XX.YY<br />
netmask 255.255.255.255<br />
post-up /sbin/ip route add 137.74.XX.1 dev eth0<br />
post-up /sbin/ip route add default via 137.74.XX.1<br />
pre-down /sbin/ip route del default via 137.74.XX.1<br />
pre-down /sbin/ip route del 137.74.XX.1 dev eth0<br />
dns-nameserver 213.186.33.99<br />
dns-nameserver 188.165.37.32<br />
dns-search teteve.fr<br />
iface eth0 inet6 static<br />
address 2001:41d0:302:ZZZ::WWW<br />
netmask 64<br />
gateway 2001:41d0:302:ZZZ::1<br />
# service networking restart<br />
# vim /etc/sysctl.conf:<br />
net.ipv6.conf.eth0.autoconf=0<br />
net.ipv6.conf.eth0.accept_ra=0<br />
# sysctl -p<br />
# vim /etc/ssh/sshd_config<br />
Changement du port si nécessaire<br />
# service ssh restart<br />
# vim /etc/hosts<br />
# vim /etc/hostname<br />
<br />
<br />
***********************************************************************<br />
suggestions de http://docs.ovh.ca/fr/guides-network-ipv6.html :<br />
Ajout de :<br />
post-up /sbin/ip -f inet6 route add 2607:5300:60:47ff:ff:ff:ff:ff dev eth0<br />
post-up /sbin/ip -f inet6 route add default gw 2607:5300:60:47ff:ff:ff:ff:ff<br />
pre-down /sbin/ip -f inet6 route del 2607:5300:60:47ff:ff:ff:ff:ff dev eth0<br />
pre-down /sbin/ip -f inet6 route del default gw 2607:5300:60:47ff:ff:ff:ff:ff<br />
***********************************************************************</div>Tetevehttp://www.teteve.fr/wiki/index.php?title=Accueil&diff=2Accueil2017-03-24T09:14:02Z<p>Teteve : </p>
<hr />
<div>== Présentation ==<br />
<br />
Ce wiki sert de support pour le développement d'une base de connaissance en relation avec l'informatique, et plus spécialement sur Linux.<br /><br />
Comme tout le reste du site, il est en perpétuelle évolution, et se remplit peu à peu.<br /><br />
Lorsque toutes les sections seront complètement renseignées, je pense que le projet pourra être considéré comme achevé... pour la mise en place seulement !! :)<br />
INFORMATION : seules les personnes enregistrées sur ce wiki peuvent le modifier.<br />
N'hésitez pas à vous inscrire si vous souhaiter modifier, corriger ou rajouter quelque chose...<br />
<br />
== Serveur dédié OVH ==<br />
<br />
* [[VPS|Les VPS]]<br />
* [[Reseau|Configuration du réseau / Firewall]]<br />
* [[Logs|Les logs]]<br />
* [[Backups|Les sauvegardes]]<br />
* [[Supervision|La supervision]]<br />
** [[Nagios]]<br />
* Configurations diverses :<br />
** ......<br />
<br />
=== Les logiciels / Les services ===<br />
<br />
* Serveur DNS :<br />
** [[Bind]]<br />
** Unbound<br />
** [[DNSSEC]]<br />
* Serveur web :<br />
** [[Apache]]<br />
** [[Nginx]]<br />
* Les logiciels web<br />
** [[Wordpress|Wordpress]]<br />
* [[Awstats]]<br />
* [[VSFTPD]]<br />
* [[LDAP]]<br />
* [[SVN]]<br />
<br />
* Messagerie :<br />
** [[Postfix]]<br />
** Dovecot<br />
** Exim4<br />
* Liste de diffusion :<br />
** Sympa<br />
** Mailman<br />
<br />
* Travail collaboratif<br />
** Kolab<br />
** SoGo<br />
<br />
=== Généralités / Théorie ===<br />
<br />
* [[LVM]]<br />
* [[Arborescence_et_repertoires|Arborescence et répertoires]]<br />
* [[Cron|Cron et crontab]]<br />
<br />
=== Commandes utiles ===<br />
<br />
* [[Ligne_commande|La ligne de commande (configuration perso du shell)]]<br />
* [[Commandes|Commandes utiles]]<br />
* [[Fichiers|Les fichiers]]<br />
* [[Fichiers2|Les fichiers - suite]]<br />
* [[Surveillance|Surveiller le système]]<br />
* [[QOS|Le réseau / Bande passante - QoS]]<br />
* Disque dur<br />
* Aide mémoire<br />
<br />
=== Scripts ===<br />
<br />
* [[Zsh]]<br />
* VIM<br />
* [[Outils]]<br />
* [[Bash|Généralités shell]]<br />
<br />
=== Sécurité ===<br />
<br />
* [[Firewall]]<br />
* [[Fail2ban]]<br />
* [[Secu_LAMP|Apache/PHP/MySQL]]<br />
* [[AntiVirus|Clamav / spamassassin]]<br />
* [[Tips_securite|Tips sécurité sur les serveurs]]<br />
<br />
=== Divers ===<br />
<br />
* [[Install_PC|Configuration d'un poste Debian]]<br />
<br />
=== TODO ===<br />
<br />
=== Les liens utiles ===<br />
<br />
== Windows ==<br />
<br />
=== Scripts VB/VBA/VBS ===<br />
<br />
* [[Divers_VB|Divers VB]]<br />
* [[Connexion_AD|Connexions AD]]<br />
<br />
--<br />
<br />
Aide MediaWiki<br />
* [http://www.mediawiki.org/wiki/Manual:Configuration_settings Liste des paramètres de configuration]<br />
* [http://fr.wikipedia.org/wiki/Aide:Syntaxe La syntaxe de MediaWiki]<br />
* [http://www.mediawiki.org/wiki/Manual:FAQ/fr FAQ sur MediaWiki]<br />
* [http//meta.wikimedia.org/wiki/Aide:Contenu Guide de l’utilisateur] <br />
<br />
[[Catégorie:Accueil]]<br />
[[Catégorie:Informatique]]<br />
<br />
----<br />
[http://creativecommons.org/licenses/by-nc-sa/2.0/fr/ Licence CC BY-NC-SA 2.0]</div>Teteve