Post

Site statique ,ajouter un thème Jekyll sur Debian (yunohost+ruby)

Site statique ,ajouter un thème Jekyll sur Debian (yunohost+ruby)

Site statique ,ajouter un thème Jekyll sur Debian (yunohost+ruby)

Liens

Blog statique blog.cinay.xyz

Installer “thème”

Installer dépendances Rmagick sur Debian (NE PAS FAIRE si wikistatic est installé)

1
2
sudo apt install imagemagick imagemagick-doc 
sudo apt install ruby-rmagick

Création dossier

1
sudo mkdir -p /srv     # création dossier

Clonage “thème” par git

1
2
3
4
5
cd /srv
sudo -s
git clone https://github.com/agusmakmun/agusmakmun.github.io.git
mv agusmakmun.github.io basicblog
exit

Les droits sur le dossier

1
sudo chown   $USER. -R /srv/basicblog

Lancement “bundle” dans le dossier /srv/basicblog

1
2
3
cd /srv/basicblog
bundle update github-pages
bundle

Modifier le fichier de configuration

1
nano _config.yml
1
exclude: [start_basicblog.sh]

Créer service basicblog

Le script /srv/basicblog/start_basicblog.sh contenu dans le service

1
2
3
4
5
#!/bin/sh
# Accès dossier 
cd /srv/basicblog/
# lancement jekyll en mode auto génération sans serveur
/usr/local/bin/bundle exec jekyll build --watch --source "/srv/basicblog"

On va exécuter un service qui va mettre le générateur “jekyll” en attente de modifications dans le dossier _posts (création, modification ou suppression de fichier markdown)

1
sudo nano /etc/systemd/system/basicblog.service

Contenu du fichier (User debadm)

1
2
3
4
5
6
7
8
9
10
11
12
13
[Unit]
Description=jekyll Service
After=network.target

[Service]
Type=simple
User=debadm
ExecStart=/bin/sh /srv/basicblog/start_basicblog.sh
Restart=on-abort


[Install]
WantedBy=multi-user.target

Lancer le service basicblog :

1
2
3
4
5
6
sudo systemctl daemon-reload
sudo systemctl start basicblog
# Valider le lancement du service basicblog au démarrage
sudo systemctl enable basicblog
#Vérifier
sudo systemctl status basicblog
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
● basicblog.service - basicblog Service
   Loaded: loaded (/etc/systemd/system/basicblog.service; enabled; vendor preset: enabled)
   Active: active (running) since Tue 2019-01-29 20:07:14 CET; 8s ago
 Main PID: 18347 (sh)
    Tasks: 5 (limit: 4915)
   CGroup: /system.slice/basicblog.service
           ├─18347 /bin/sh /srv/basicblog/start_basicblog.sh
           └─18348 ruby2.3 /usr/local/bin/jekyll build --watch --source /srv/basicblog

Jan 29 20:07:14 cinay.xyz systemd[1]: Started basicblog Service.
Jan 29 20:07:15 cinay.xyz sh[18347]: Configuration file: /srv/basicblog/_config.yml
Jan 29 20:07:15 cinay.xyz sh[18347]:        Deprecation: The 'gems' configuration option has been
 renamed to 'plugins'. Please update your config file accordingly.
Jan 29 20:07:15 cinay.xyz sh[18347]:             Source: /srv/basicblog
Jan 29 20:07:15 cinay.xyz sh[18347]:        Destination: /srv/basicblog/_site
Jan 29 20:07:15 cinay.xyz sh[18347]:  Incremental build: disabled. Enable with --incremental
Jan 29 20:07:15 cinay.xyz sh[18347]:       Generating...
Jan 29 20:07:19 cinay.xyz sh[18347]:                     done in 3.791 seconds.
Jan 29 20:07:19 cinay.xyz sh[18347]:  Auto-regeneration: enabled for '/srv/basicblog'

jekyll génére un dossier statique /srv/basicblog/_site

Yunohost mode administration web

créer le domaine blog.cinay.xyz puis les certificats Let’s Encrypt
Installation de l’application Custom Web app sur le domaine blog.cinay.xyz

1
2
3
4
5
6
    description: Custom Web app with SFTP access
    id: my_webapp__4
    installed: True
    label: Blog
    license: GPLv3
    name: Custom Webapp

Le dossier par défaut de “Custom Web app” /var/www/my_webapp__4/www

1
2
sudo rm -r /var/www/my_webapp__4/www/  # on supprime le dossier par défaut
sudo ln -s /srv/basicblog/_site /var/www/my_webapp__4/www  # créer le lien

Création des liens

1
2
3
4
sudo rm -r /srv/basicblog/{files,images,_posts} # suppression des dossiers existants
sudo ln -s /home/yannick/statique/_posts /srv/basicblog/_posts
sudo ln -s /home/yannick/statique/images /srv/basicblog/images
sudo ln -s /home/yannick/statique/files /srv/basicblog/files

Le blog statique sur le lien https://blog.cinay.xyz

Cet article est sous licence CC BY 4.0 par l'auteur.