Guide Logiciels

DNS - DéveloppementDans ce Guide vous trouverez tout un tas d’informations, de commandes et d’exemples pour optimiser votre utilisation de certains logiciels.

Comme les autres guides cette page sera mise à jour régulièrement.

N’hésitez pas à utiliser le moteur de recherche du blog pour trouver des articles plus détaillés sur certains points abordés ici.

Voici les principaux logiciels abordés :

  • MySQL
  • Apache
  • Subversion (svn)
  • SSH
  • WordPress
  • FFmpeg
  • VirtualBox

MySQL

  • Connexion automatique en console, Dans votre dossier HOME créer un fichier .my.cnf (chmod 600) contenant :
[client]
user=LOGIN
password=PASSWORD
database=BASE_PAR_DEFAUT
  • Ajouter un user manuellement (console sql) :
    • grant all privileges on NOMBASE.* to LOGIN@localhost identified by ‘PASSWORD’ with grant option;
    • flush privilges;
  • Se connecter à MySQL sans mot de passe :  /usr/bin/mysqld_safe –skip-grant-tables & mysql -u root
  • Formater une date au foramt FR (en SQL) : SELECT … DATE_FORMAT(date_decision, \’%d/%m/%Y\’) ….
  • Importer un fichier (utf8) : mysql –database DBNAME  -u USER -p –default-character-set utf8  < FILE.SQL

WordPress

  • Désactiver les mises à jour automatiques (wp-config.php) : define( ‘AUTOMATIC_UPDATER_DISABLED’, true );
  • Fichier .htaccess pour les traiter les urls :
RewriteEngine on
RewriteBase /ABSOLUTE/PATH/TO/DIR/WITH/INDEXFILE
# file not exist
RewriteCond %{REQUEST_FILENAME} !-f
# dir not exist
RewriteCond %{REQUEST_FILENAME} !-d
# link? not exist
RewriteCond %{REQUEST_FILENAME} !-l
# redirect all to index.php
RewriteRule . index.php [L]

  • Désactiver l’enregistrement des versions précédentes des articles (wp-config.php) : define( ‘WP_POST_REVISIONS’, false ) ;
  • Pour garder 3 révisions max : define( ‘WP_POST_REVISIONS’, 3 ) ;
  • Supprimer les révisions dans la base (code SQL) : delete from wp_posts where post_type=’revision’;
  • Redirect permanent (dans .htaccess) : RedirectPermament OLD_URL NEW_URL

Postfix

  • /etc/aliases : contient les alias pour les emails locaux et distants
  • Effacer tous les mails en attente : postsuper -d ALL
  • Flush file d’attente : postqueue -f
  • Affiche la liste des mails dans la file d’attente : postqueue -p
  • Regénérer fichier hash : postmap sender_canonical
  • Enregistrement SPF pour éviter le passage en SPAM (modif dnas le DNS) : v=spf1 a mx ip4:xxx.xxx.xxx.xxx -all

Apache

  • * Créer un certificat SSL autosigné (pour Apache) :
openssl genrsa -des3 -rand file1:file2:file3:file4:file5 -out server.key 1024
openssl req -new -key server.key -out server.csr
openssl x509 -req -days 60 -in server.csr -signkey server.key -out server.crt
  • Créer une demande de certificat (CSR) :  openssl req -new -key server.key -out server.csr
  • Auto signature certificat SSL : openssl x509 -req -days 60 -in server.csr -signkey server.key -out server.crt
  • Exemple Fichier .htaccess pour authentification web :
AuthType Basic
AuthName "Protected Area..."
AuthUserFile /ABSOLUTE/PATH/TO/.htpasswd
<limit GET PUT POST>
 Satisfy Any
 Order Allow,Deny
 Allow from 212.212.212.212
 Require user admin
</limit>
  • Activer un module : a2enmod nomModule
  • Activer un site : a2ensite nomDuSite
  • Recharger la config : service apache2 reload
  • Redémarrer : service apache2 restart
  • Tester la config : apachectl configtest
  • Activer virtualhost sur port 80 : NameVirtualHost *:80 (dans ports.conf)
  • Activer virtualhost sur port 443 : NameVirtualHost *:443 (dans ports.conf)
  • Rediriger http sur https (lignes à ajouter dans un fichier .htaccess):
RewriteCond %{HTTP_HOST} !^www\.
RewriteRule ^(.*)$ https://www.%{HTTP_HOST}/$1 [R=301,L]
  • Exemple Fichier VirtualHost port 80 (http)
<VirtualHost *:80>

 ServerAdmin webmaster@localhost

 # urls acceptees en entree
 ServerName www.mondomaine.com
 #ServerAlias mondomaine.com

 DocumentRoot /home/cmf/www/prod/intranet
 <Directory /home/cmf/www/prod/intranet>
   Options FollowSymLinks
   AllowOverride all
 </Directory>
 
 # Alias URLs
 Alias "/dev" "/home/cmf/www/dev"

 ## acces specifique pour un alias/url
 Alias "/DOSSIER" "/var/www/DOSSIER"
 <Directory /var/www/DOSSIER/>
   #limite l'acces a une IP
   Allow from 199.6.19.0/24
 </Directory>

 # erreur log
 ErrorLog ${APACHE_LOG_DIR}/intranet-error.log

 # acccess log
 LogLevel warn
 CustomLog ${APACHE_LOG_DIR}/intranet-access.log combined
</Virtualhost>

 

Subversion (SVN)

  • Dumper une partie d’un dépôt svn et faire un backup : svnadmin dump /dossier/du/depot -R300:409 >/tmp/svn.dump
  • Créer un dépôt : svnadmin create /dossier/new/depot
  • svn up –ignore-externals  (ne met pas à jour les externals)
  • Mettre à jour la version svn dans un dépôt : svn upgrade
  • URL SVN LOCAL :  svn://HOST/PATH_DEPOT
  • URL Depot via SSH : svn … svn+ssh://USER@SERVEUR:PATH_DEPOT
  • Supprimer les dossiers .svn dans une arbo : find . -type d -name ‘.svn’ -exec rm -rf {} \;

SSH

  • Créer un tunnel SSH pour surfer : ssh -D 8080 -C -N user@server (configurer le proxy du navigateur sur 127.0.0.1:8080)
  • Interdire la connexion root via SSH, ajouter dans /etc/ssh/sshd_config : PermitRootLogin no
  • Modifier le port SSH par défaut, dans /etc/ssh/sshd_config; modifier la ligne : Port 22
  • Générer une clé SSH : ssh-keygen -t dsa
  • Transférer une clé public sur un serveur SSH : scp id_dsa.pub USER@SERVEUR_SSH:.ssh/authorized_keys

Virutalbox

  • Convertir un fichier vmdk en vdi (Virutalbox) : vboxmanage clonehd « fichier.vmdk » « fichier.vdi » –format vdi
  • Modifier la taille d’un fichier vdi : vboxmanage modifyhd « fichier.vdi » –resize 60000
  • Arrêter une virtualbox depuis la console : vboxmanage controlvm « NOM VM » poweroff soft
  • Erreur montage USB sur VirtualBox « Devise busy », supprimer la clé de registre :
  • -> HKLM/CCS/CONTROL/CLASS/{36FC9E60-C465-11CF-8056-444553540000}/UpperFilters

FFmpeg

  • Convertir des fichiers m4a (aac) en mp3 : ffmpeg -n -i « FICHIER.m4a » -acodec libmp3lame -ab 128k « FICHIER.mp3 »
  • Créer un timelapse (25i/s, débit 1Mbps) à partir d’une liste d’images (000001.jpg…) :
  • -> ffmpeg -v 0 -r 25 -b 1000k -i « %06d.jpg » -vcodec libx264 timelapse.mkv
  • Convertir un fichier MTS en mp4 :
  • -> ffmpeg -i « FILE.MTS » -vcodec mpeg4 -b:v 15M -acodec libmp3lame -b:a 192k « FILE.mp4 »

Divers

  • Rsync entre deux dossiers : rsync -avr –stats –progress /DOSSIER_SRC… /DOSSIER_DEST….
  • Afficher une zone DNS avec dig : dig any domaine.com ou dig MX domaine.com