I have a webhook script written in Python on my Debian/Apache2.4 server, so that it runs a deploy .sh script when pushing on GitHub. So, the script is executed by standard Apache user "www-data".
My script needs to restart or reload Apache, but the output says user doesn't have the permission to do so:
Reloading apache2 configuration (via systemctl): apache2.serviceFailed to reload apache2.service: Access denied.
Same behaviour when doing it manually as www-data (
sudo -u www-data /etc/init.d/apache2 reload).
So I tried to make "www-data" to have permissions to reload or restart Apache by adding the following line to my visudo :
www-data ALL = NOPASSWD: /etc/init.d/apache2 (according to this doc).
But it doesn't change anything. Why? Is it because Apache can't reload itself? How can I change the permissions to do so? Or do I need the script to be executed by another user, and how?