Jekyll chez 1and1
Introduction
J’utilise les services de l’hébergeur 1and1 depuis très longtemps, décembre 2005 pour être précis. J’avais souscrit à l’époque en raison d’une offre très agressive et donc très intéressante. Depuis ce temps, je profite donc de cet hébergeur pour mes différents besoins (forums, sites webs …). J’y possède un serveur mutualisé avec du stockage, des bases de données MySQL, divers noms de domaine. Cet article va décrire l’intégration de Jekyll chez l’hébergeur 1and1.
Domaine
Je possède le nom de domaine twixer.fr et j’ai choisi d’utiliser le sous-domaine dev.twixer.fr pour mon site de blogs. La configuration se fait simplement dans le menu Domaines & Espaces Web : Je fais pointer mon sous-domaine dev.twixer.fr vers le répertoire : /www/site-twixer/_site.
Connexion au serveur 1and1
J’ai un serveur mutualisé sur lequel je peux me connecter via FTP, SSH. Les informations de connexion sont disponibles dans l’espace client de 1and1 : Si vous ne les posséder pas déjà, il faut récupérer les identifiants de connexion SSH pour votre domaine (login et mot de passe) dans cette interface. Attention, il y a un léger temps d’attente pour l’activation du mot de passe. Une fois le login et mot de passe en main, on va pouvoir se connecter via SSH à notre serveur. Personnellement étant sous Windows, j’utilise le client Putty.
Jekyll et 1and1
Sur mon serveur 1and1, j’ai accès à ruby et à Git. J’ai donc fait le choix de générer mon site sur mon serveur 1and1.
Version de ruby :
ruby 1.8.7 (2010-08-16 patchlevel 302) [i486-linux]
Version de git :
git version 1.7.2.5
Installation de Jekyll
Pour installer des gems Ruby chez 1and1, il faut changer le répertoire par défaut de destination des nouvelles gems en raison de problèmes d’écriture dans les répertoires. Il faut donc modifier le fichier .bash_profile en y ajoutant les lignes suivantes :
export PREFIX=~/ruby/gem
export GEM_HOME=$PREFIX/lib/ruby/gems/1.8
export RUBYLIB=$PREFIX/lib/ruby:$PREFIX/lib/site_ruby/1.8
export PATH=$PATH:$PREFIX/lib/ruby/gems/1.8/bin
N’oublier pas de recharger ce fichier avec la commande source .bash_profile. On va donc déposer les nouvelles gems dans un répertoire ./ruby/gem/lib/ruby/gems à la racine de notre arborescence.
Ensuite il faut installer Jekyll de la façon classique :
gem install jekyll
gem install rdiscount
Mon dépôt de gems contient (gem list) :
*** LOCAL GEMS ***
chunky_png (1.2.8)
classifier (1.3.3)
compass (0.12.2)
directory_watcher (1.5.1)
fast-stemmer (1.0.2)
fssm (0.2.10)
jekyll (0.12.1)
kramdown (0.14.2)
liquid (2.5.0)
maruku (0.6.1)
posix-spawn (0.3.6)
pygments.rb (0.3.7)
rake (10.0.4)
rdiscount (2.0.7.2)
sass (3.2.8)
syntax (1.0.0)
yajl-ruby (1.1.0)
Jekyll est donc maintenant installé sur notre serveur 1and1 et nous pouvons générer des sites directement depuis le serveur.
Git et le repository GitHub
Pour récupérer les fichiers de mon site de blogging, rien de plus simple. J’ai créé un répertoire ./www/site-twixer à la racine de mon home afin d’accueillir mon site de blogs. Je me place dans le répertoire ./www et je clone mon repository GitHub :
git clone git@github.com:Twixer/site-twixer.git
Inutile de spéficier un répertoire de destination parce que mon repository se nomme site-twixer et ira bien dans le répertoire attendu.
A partir de là on peut lancer la commande jekyll depuis ./www/site-twixer pour construire notre site qui sera généré dans le répertoire ./www/site-twixer/_site. (cf. la configuration de destination pour le sous-domaine !).
Pour les mises à jour ultérieures du site, il suffit d’utiliser la commande git pull dans le répertoire site-twixer puis relancer la génération du site avec la commande jekyll.
Paramétrages supplémentaires
Erreur 404
Par défaut, les erreurs HTTP 404 de 1and1 sont renvoyées vers une page standard de 1and1. Nous voulons que l’erreur 404 pointe vers la page 404.html de notre site. Pour ce faire, il faut créer un fichier .htaccess dans le répertoire ./www/site-twixer avec la ligne suivante :
ErrorDocument 404 /404.html
On pourrait donc rajouter d’autres pages d’erreur à notre site en n’oubliant pas à chaque fois d’ajouter la ligne correspondante dans ce fichier (400, 500, …).
Conclusion
Nous pouvons donc maintenant générer directement notre site Jekyll sur notre serveur 1and1. Ce fonctionnement nous permet donc de modifier le site depuis n’importe quel endroit tant qu’on le pousse sur le repository GitHub.
Le cycle de vie n’est pas idéal pour l’instant car la modification d’une page sur un poste en local avec un push sur GitHub nous oblige à effectuer des étapes manuelles pour mettre à jour notre site :
- connexion via SSH au serveur 1and1
- git pull pour récupérer les dernières modifications
- jekyll pour générer le sites
Même si elles restent simples, ces opérations devraient être automatisées. Affaire à suivre …
Ressources
blog comments powered by Disqus