1
0
Fork 0
mirror of https://github.com/YunoHost-Apps/dotclear2_ynh.git synced 2024-09-03 18:26:29 +02:00
DotClear2 package for YunoHost
Find a file
2015-08-21 15:26:20 +00:00
conf Re-enabled YunoHost shortcut to dashboard now that nginx conf do works 2015-08-21 13:33:45 +00:00
scripts Improxing backup explanation 2015-08-21 15:26:20 +00:00
sources Le brouillon initial, pour archive 2015-08-21 11:10:04 +00:00
LICENSE Initial commit 2015-08-19 17:07:39 +02:00
manifest.json Password must be 6 chars long at least... 2015-08-21 11:44:51 +00:00
README.md Improxing backup explanation 2015-08-21 15:26:20 +00:00

DotClear 2 app for YunoHost

Currently following this guide to package DotClear2 blog for YunoHost, along with the example.

TODO

  • Add a 'protected' value to 'public' argument, so admin interface is protected
  • Replace 'password' argument by http_auth or ldap authent

Backup

Here's the command which should be tested and included in a /etc/cron.daily/dotclear2 script. Until Yunohost do allow user to manage backup through WebUI.

yunohost backup create --hooks dotclear2

There might be two bugs preventing this command to work. First one that you may fix asap.

root@debian-jessie:~# yunohost backup create
Traceback (most recent call last):
File "/usr/bin/yunohost", line 160, in
print_json=PRINT_JSON, use_cache=USE_CACHE)
File "/usr/lib/python2.7/dist-packages/moulinette/__init__.py", line 117, in cli
moulinette.run(args, print_json)
File "/usr/lib/python2.7/dist-packages/moulinette/interfaces/cli.py", line 202, in run
ret = self.actionsmap.process(args, timeout=5)
File "/usr/lib/python2.7/dist-packages/moulinette/actionsmap.py", line 462, in process
return func(**arguments)
File "/usr/lib/moulinette/yunohost/backup.py", line 68, in backup_create
if name in backup_list()['archives']:
File "/usr/lib/moulinette/yunohost/backup.py", line 302, in backup_list
logging.info("unable to iterate over local archives: %s", str(e))
NameError: global name 'logging' is not defined

The correction to be applied

sed -i -e "302s/logging/logger/" /usr/lib/moulinette/yunohost/backup.py

The second bug, that may only be fixed after a first failed backup attempt as this will create the 50-dotclear2 file

root@debian-jessie:~/dotclear2_ynh# yunohost backup create --hooks dotclear2
Exécution des scripts de sauvegarde...
Exécution du script...
/bin/bash: 50-dotclear2: Permission non accordée
Création de l'archive de sauvegarde...
Succès ! Sauvegarde terminée

Then you can fix it

chown admin /etc/yunohost/hooks.d/backup/50-dotclear2

Here is an example of a proper backup

root@debian-jessie:~/dotclear2_ynh# yunohost backup create --hooks dotclear2
Exécution des scripts de sauvegarde...
Exécution du script...
+ app=dotclear2
+ backup_dir=/home/yunohost.backup/tmp/1440164746/apps/dotclear2
+ sudo mkdir -p /home/yunohost.backup/tmp/1440164746/apps/dotclear2
+ sudo cp -a /var/www/dotclear2/. /home/yunohost.backup/tmp/1440164746/apps/dotclear2/sources
++ sudo yunohost app setting dotclear2 db_password
+ db_password=zLiS4XNmfYUk
+ sudo mysqldump -u dotclear2 -pzLiS4XNmfYUk dotclear2
50-dotclear2: ligne 16: /home/yunohost.backup/tmp/1440164746/apps/dotclear2/dump.sql: Permission non accordée
+ sudo cp -a /etc/yunohost/apps/dotclear2/. /home/yunohost.backup/tmp/1440164746/apps/dotclear2/yunohost
++ sudo yunohost app setting dotclear2 domain
+ domain=vagrant.test
+ sudo cp -a /etc/nginx/conf.d/vagrant.test.d/dotclear2.conf /home/yunohost.backup/tmp/1440164746/apps/dotclear2/nginx.conf
Création de l'archive de sauvegarde...
Succès ! Sauvegarde terminée

Restore