Archives de février, 2017

Générer un certificat SSL autosigné

Afin de pouvoir utiliser le protocole https lors de vos développements locaux, il est nécessaire de générer un certificat https.

Voici une commande rapide qui vous permettra de générer un certificat auto-signé qui aura une validité d’un an.

 openssl req -x509 -nodes -days 365 -newkey rsa:1024 -out /etc/ssl/ssl.crt -keyout /etc/ssl/ssl.key

Dans le cas d’un site live, il est recommandé d’utiliser un vrai certificat ssl ( qu’il soit payant ou généré via LetsEncrypt cf. https://www.h-hennes.fr/blog/2016/10/11/passer-au-https-avec-letsencrypt/ )

Vous pouvez ensuite ajouter ce certificat facilement à votre configuration nginx ou apache :

Nginx :

server {
    listen 443 ssl;
    ssl_certificate /etc/ssl/ssl.crt
    ssl_certificate_key /etc/ssl/ssl.key;
 
    server_name local.dev;
    root /home/www;
}

 

Apache :

<VirtualHost *:443>
       
        ServerName local.dev
        DocumentRoot /home/www
        SSLEngine on
        SSLCertificateFile /etc/ssl/ssl.crt
        SSLCertificateKeyFile /etc/ssl/ssl.key
 
        <Directory "/home/www">
           Options Indexes FollowSymLinks MultiViews
           Order allow,deny
           Allow from all
           AllowOverride All
           # New directive needed in Apache 2.4.3:
           Require all granted
        </Directory>
 
 
</VirtualHost>

 …

1 commentaire

Optimisation des exports de bases de données pour mise à jour d’environnement de développement

En tant que développeur il est souvent nécessaire de faire des dumps de base de données pour mettre à jour les environnements de développements ( qu’ils soient locaux ou sur le serveur ).
Cependant les tables de productions sont souvent très lourdes et comportent des données qui ne sont pas forcément nécessaire pour développer.

Voici un petit script qui va vous faire gagner du temps dans l’export / import de ces bases de données.
La logique est relativement simple .

Pour les tables dont les données ne sont pas importantes, on va exporter uniquement la structure.
Puis nous excluons ces tables de l’export global.

 #!/bin/bash
 
#Variables de la base de données
host="localhost"
user="root"
pass="root"
dbname="dbname"
 
#Stockage de ces tables à ignorer dans une variables ( separer les noms par un espace)
ignoreTables="table1 table2 "
 
#Dump de la structure de ces tables
echo "Export de la structure des tables ignorées"
mysqldump -d -h $host -u $user -p$pass $dbname $ignoreTables > backup-structure.sql
 
#Construction de la chaine d'exclusion
ignoreTablesString=""
for table in $ignoreTables
do
ignoreTablesString="$ignoreTablesString --ignore-table $dbname.
Pas de commentaires


Compte Github