Cara menjalankan Apache sebagai pengguna yang berbeda menggunakan mpm-itk – Beragampengetahuan
Menjalankan Apache sebagai pengguna berbeda berguna dalam pengembangan WordPress dan hosting WordPress.
Apache berjalan sebagai www-data Di Debian/Ubuntu.
Namun, ini tidak nyaman di instalasi WordPress:
Contents
di server produksi
- Banyak file WordPress harus dimiliki oleh pengguna SSH/SFTP untuk menerapkan perubahan
- Sebagian besar WordPress harus dimiliki oleh pengguna server web sehingga pembaruan WordPress dapat diterapkan
Terlebih lagi di lingkungan pengembangan
Selain alasan di atas, banyak file WordPress yang harus dimiliki oleh pengguna PC agar dapat disortir
- Gunakan IDE Anda untuk mengerjakan kode
- gunakan git (jika perlu)
- cadangan mudah
Ada beberapa solusi untuk masalah ini. Salah satunya adalah mpm-itk.
Menurut halaman resmi:
apache2-mpm-itk (disingkat mpm-itk) adalah MPM (Multiprocessing Module) untuk server web Apache. mpm-itk memungkinkan Anda menjalankan setiap host virtual di bawah uid dan gid yang terpisah – singkatnya, satu skrip dan file konfigurasi host virtual tidak perlu lagi dapat dibaca oleh semua host virtual lainnya.
Instal saja:
apt-get install libapache2-mpm-itk
dan gunakan arahan berikut dalam file konfigurasi host virtual Anda:
<IfModule mpm_itk_module>
AssignUserId your_user your_group
</IfModule>
Misalnya:
<VirtualHost *:443>
ServerName example.com
ServerAdmin you@your_email.com
DocumentRoot /var/www/html/example.com
<IfModule mpm_itk_module>
AssignUserId your_user your_group
</IfModule>
<Directory /var/www/html/example.com>
Options -Indexes +FollowSymLinks +MultiViews
AllowOverride All
Require all granted
</Directory>
ErrorLog ${APACHE_LOG_DIR}/example.com_error.log
# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel warn
CustomLog ${APACHE_LOG_DIR}/example.com_access.log combined
SetOutputFilter DEFLATE
SetEnvIfNoCase Request_URI \.(?:gif|jpe?g|ico|png)$ \ no-gzip dont-vary
SetEnvIfNoCase Request_URI \.(?:exe|t?gz|zip|bz2|sit|rar)$ \no-gzip dont-vary
SetEnvIfNoCase Request_URI \.pdf$ no-gzip dont-vary
BrowserMatch ^Mozilla/4 gzip-only-text/html
BrowserMatch ^Mozilla/4\.0[678] no-gzip
BrowserMatch \bMSIE !no-gzip !gzip-only-text/html
SSLEngine on
SSLCertificateFile /etc/ssl-dev/your_cert.pem
SSLCertificateKeyFile /etc/ssl-dev/your_cert_key.pem
</VirtualHost>
<VirtualHost *:80>
ServerName example.com
Redirect permanent /
</VirtualHost>
Masalah buruh pelabuhan
Itu tidak akan berjalan di dalam wadah Docker.
di apache error.log Anda akan mendapatkan kesalahan seperti ini:
[mpm_itk:warn] [pid 1783] (itkmpm: pid=1783 uid=33, gid=33) itk_post_perdir_config(): setgid(1000): Operation not permitted
Solusinya adalah menjalankan wadah dengan izin berbeda (kurang aman – tidak direkomendasikan untuk lingkungan produksi)
docker run \
--name "my-container" \
--cap-add=SYS_NICE --cap-add=DAC_READ_SEARCH \
vendor/image
Info lebih lanjut di sini.
Masalah dengan fungsi email PHP dan Exim4
Jika Anda telah menginstal libapache2-mpm-itk, fungsi surat PHP tidak berfungsi dengan exim4(!)
exim mogok saat WordPress mencoba mengirim email, dan di paniclog (/var/log/exim4/paniclog) Anda akan melihat sesuatu seperti ini:
2023-01-30 19:25:27 unable to set gid=33 or uid=0 (euid=0): forcing real = effective
berdasarkan
Solusinya adalah dengan menambahkan LimitUIDRange 0 2000 dalam konfigurasi Apache.
nano /etc/apache2/conf-available/mpm_itk_with_php_mail.conf
Tambahkan arahan:
akhirnya:
a2enconf mpm_itk_with_php_mail
systemctl restart apache2.service
(mungkin tidak aman untuk penggunaan produksi)
Pengusaha | Full Stack Developer | Pendiri MediSign Ltd. Saya memiliki lebih dari 15 tahun pengalaman profesional merancang dan mengembangkan aplikasi web. Saya juga sangat berpengalaman dalam mengelola proyek (web).
rencana pengembangan website
metode pengembangan website
jelaskan beberapa rencana untuk pengembangan website, proses pengembangan website, kekuatan dan kelemahan bisnis pengembangan website
, jasa pengembangan website, tahap pengembangan website, biaya pengembangan website
#Cara #menjalankan #Apache #sebagai #pengguna #yang #berbeda #menggunakan #mpmitk