Apache, adalah program yang berjalan di latar belakang. Apache awalnya dimulai oleh pengguna root
(juga disebut root-process
). Ini root-process
meluncurkan beberapa proses anak yang menangani permintaan klien. Untuk alasan keamanan, proses anak tidak dijalankan oleh pengguna root
tetapi sebagai pengguna dengan hak istimewa minimal. Biasanya pengguna ini bernama apache
atau www-data
.
Untuk mengetahui pengguna ini untuk apache v1:
ps -ef | grep httpd | grep -v grep
atau untuk apache v2:
ps -ef | grep apache | grep -v grep
Hasil untuk apache 2 akan menjadi seperti ini:
root 5001 1 0 07:21? 00:00:00 / usr / sbin / apache2 -k mulai
www-data 5021 5001 0 07:21? 00:00:00 / usr / sbin / apache2 -k mulai
www-data 5022 5001 0 07:21? 00:00:00 / usr / sbin / apache2 -k mulai
www-data 5023 5001 0 07:21? 00:00:00 / usr / sbin / apache2 -k mulai
Dalam hal ini pengguna / grup adalah www-data
Jadi, untuk membuat direktori dapat ditulis oleh server web kita harus mengatur pemilik atau grup direktori ke pemilik atau grup Apache dan mengaktifkan izin menulis untuk itu. Biasanya, kami menetapkan direktori untuk menjadi milik kelompok Apache ( apache
atau `www-data atau apa pun yang digunakan pengguna untuk meluncurkan proses turunan) dan memungkinkan izin tulis untuk grup tersebut.
chgrp www-data /path/to/mydir
chmod g+w /path/to/mydir
( www-data
adalah nama yang Anda temukan dengan ps
perintah di atas).
Mengenai:
2) Saya juga telah diberitahu untuk membuat direktori app / runtime web-dapat ditulis. Apakah ini sama dengan apache yang dapat ditulis?
Ya, ini adalah direktori yang harus Anda set agar dapat ditulis ke grup yang diharapkan oleh Apache. Mungkin ini akan berada di suatu tempat /var/www/
atau diatur sebagai virtual host di /etc/apache2/sites-enabled/
dan / atau/etc/apache2/sites-available
mkdir dirname && chgrp www-data dirname
R
akan melakukan semua dir dari mana Anda mengeluarkan perintah. Ada banyak cara untuk melakukan ini;)ps -ef | grep [a]pache
adalah idiom umum untuk menghindarigrep
garis palsu dalam output.