Reputation: 16881
On our development servers, we allow multiple developers access to the server to git pull
their changes. Normally this requires running sudo systemctl reload php-fpm
(or sending USR2
, etc.). However, we want to allow them to reload the changed code in PHP-FPM without needing sudo
.
Way back when when I used to use Ruby, you could do exactly what I'm looking for by touch
ing a file named restart.txt
in the tmp
directory.
Does PHP-FPM support anything like that? Alternatively, is there anyway to allow the reload
command (or any similar method of sending a USR2
) without sudo
?
Upvotes: 9
Views: 5977
Reputation: 810
For beginners/googlers like me. All steps to restart or reload a service (edit where necessary)
yum install sudo
visudo
this is how to edit itmyUsername ALL=NOPASSWD: /bin/systemctl restart httpd.service
(apache restart in my case, change to reload php-fpm
if needed. above ans didn't work for some reason)myUsername
can run something like sudo /bin/systemctl restart httpd.service
note sudoUpvotes: 0
Reputation: 7166
Or one can use:
user ALL=(ALL) NOPASSWD: /usr/sbin/service php7.3-fpm *
Where 7.3
might change depending on the php version you have and user
is your user.
Upvotes: 2
Reputation: 641
You'll probably be there when whitelisting the command in your /etc/sudoers file:
Start by editing the sudoers file:
sudo visudo
Add the following config line:
user ALL=(root) NOPASSWD: systemctl reload php-fpm
Replace user (at the beginning of the line) with the real username, for whom the command is executed.
This will privilege the user to call sudo systemctl reload php-fpm
being executed as root (without password).
Upvotes: 11