I setup lets-encrypt follow the bench document.But it says “user frappe is not allowed to execute the command”
frappe@weber:~/frappe-bench$ sudo -H bench setup lets-encrypt site.local1
[sudo] password for frappe:
Sorry, user frappe is not allowed to execute '/usr/local/bin/bench setup lets-encrypt site.local1' as root on weber.
This problem is fixed by “bench setup sudoers frappe”
But i have a new error.
sudo -H bench setup lets-encrypt site.local1
Traceback (most recent call last):
File "/usr/local/bin/bench", line 9, in <module>
load_entry_point('bench==0.0.0', 'console_scripts', 'bench')()
File "/home/frappe/bench-repo/bench/cli.py", line 40, in cli
bench_command()
File "/usr/local/lib/python2.7/dist-packages/click/core.py", line 716, in __call__
return self.main(*args, **kwargs)
File "/usr/local/lib/python2.7/dist-packages/click/core.py", line 696, in main
rv = self.invoke(ctx)
File "/usr/local/lib/python2.7/dist-packages/click/core.py", line 1060, in invoke
return _process_result(sub_ctx.command.invoke(sub_ctx))
File "/usr/local/lib/python2.7/dist-packages/click/core.py", line 1060, in invoke
return _process_result(sub_ctx.command.invoke(sub_ctx))
File "/usr/local/lib/python2.7/dist-packages/click/core.py", line 889, in invoke
return ctx.invoke(self.callback, **ctx.params)
File "/usr/local/lib/python2.7/dist-packages/click/core.py", line 534, in invoke
return callback(*args, **kwargs)
File "/home/frappe/bench-repo/bench/commands/setup.py", line 83, in setup_letsencrypt
from bench.config.lets_encrypt import setup_letsencrypt
File "/home/frappe/bench-repo/bench/config/lets_encrypt.py", line 7, in <module>
from crontab import CronTab
ImportError: No module named crontab
Just run pip install python-crontab and run that command again. Also running lets-encrypt on site1.local makes no sense because that’s not even a real domain. Can you tell me what you’re trying to achieve?
First Let’s encrypt does not work on local domains, your domain must be registered domain on internet.
Second thing, your bench does not have sudo rights.
try $ sudo bench setup sudoers
if that does not work add manually following to your sudoers file in under /etc directory depending upon OS. For Ubuntu 14.04 LTS:
$ nano /etc/sudoers.d/frappe
(ADD FOLLOWING and SAVE IT and Go BACK TO frappe to check sudo)
frappe ALL = (root) /usr/sbin/service
frappe ALL = (root) NOPASSWD: /usr/sbin/service nginx *
frappe ALL = (root) NOPASSWD: /usr/sbin/service supervisord *
frappe ALL = (root) NOPASSWD: /usr/bin/supervisorctl
frappe ALL = (root) NOPASSWD: /usr/sbin/nginx
frappe ALL = (root) NOPASSWD: /opt/certbot-auto
frappe ALL = (root) NOPASSWD: /usr/local/bin/bench
Defaults:frappe !requiretty