Cara menjalankan Apache sebagai pengguna yang berbeda menggunakan mpm-itk

 – Beragampengetahuan
3 mins read

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)



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

Tinggalkan Balasan

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *