Cara Menjalankan PHP-FPM Sebagai ROOT

  • -

Cara Menjalankan PHP-FPM Sebagai ROOT

Last updated on

Category : Tutorial Umum

Cara Menjalankan PHP-FPM Sebagai ROOT

Cara Menjalankan PHP-FPM Sebagai ROOT – Dalam beberapa kondisi tertentu, kita perlu menjalankan php-fpm sebagai root sehingga user php-fpm bisa melakukan eksekusi terhadap file-file dengan permission root.

Untuk melakukannya (Contoh ini menggunakan OS Ubuntu/Debian dan php8.1), beri permission terhadap php-fpm agar bisa dijalankan menggunakan root dengan menambahkan baris berikut pada file  /lib/systemd/system/php8.1-fpm.service 

--allow-to-run-as-root

Untuk lebih jelasnya, default konfigurasi service pada php8.1 seperti berikut

[Unit]
Description=The PHP 8.1 FastCGI Process Manager
Documentation=man:php-fpm8.1(8)
After=network.target

[Service]
Type=notify
PIDFile=/run/php/php8.1-fpm.pid
ExecStart=/usr/sbin/php-fpm8.1 --nodaemonize --fpm-config /etc/php/8.1/fpm/php-fpm.conf
ExecReload=/bin/kill -USR2 $MAINPID
Restart=always
RestartSec=3

[Install]
WantedBy=multi-user.target

Menjadi berikut

[Unit]
Description=The PHP 8.1 FastCGI Process Manager
Documentation=man:php-fpm8.1(8)
After=network.target

[Service]
Type=notify
PIDFile=/run/php/php8.1-fpm.pid
ExecStart=/usr/sbin/php-fpm8.1 --allow-to-run-as-root --nodaemonize --fpm-config /etc/php/8.1/fpm/php-fpm.conf
ExecReload=/bin/kill -USR2 $MAINPID
Restart=always
RestartSec=3

[Install]
WantedBy=multi-user.target

Setelah itu, restart daemon systemd dengan menjalankan perintah berikut

 sudo systemctl daemon-reload

Selanjutnya, ubah user dan group pada pool php-fpm menjadi root. File configurasi php-fpm secara default akan berada di dalam directory.

/etc/php/8.1/fpm/pool.d/

Jika belum ada perubahan, maka nama filenya adalah default.conf. Edit file tersebut dan ubah user dan groupnya menjadi root seperti berikut:

listen = 127.0.0.1:16004
user = root
group = root
listen.allowed_clients = 127.0.0.1
pm = ondemand
pm.max_children = 250
pm.process_idle_timeout = 10s
pm.max_requests = 100
listen.backlog = 65535
pm.status_path = /status
request_terminate_timeout = 7200s
rlimit_files = 131072
rlimit_core = unlimited
catch_workers_output = yes

Selanjutnya, lakukan restart php-fpm dengan menjalankan perintah berikut:

systemctl restart php8.1-fpm

Selesai. Dengan begitu, php-fpm sekarang memiliki akses root sehingga bisa melakukan perubahan terhadap file dengan permission root.

IDSysadmin
Average rating:  
 0 reviews

× Ada yang ditanyakan?