Dengan menyediakan apache reverse proxy ke webmin, anda tidak lagi perlu menggunakan IP yang biasanya sukar diingati dan beserta dengan port 10000 untuk mengakses webmin. Langkah ini juga merupakan penyelesaian jika port 10000 tidak dibuka untuk akses dari luar
Port yang biasa dibuka untuk akses laman web sudah tentu merupakan port 80 bagi http dan 443 bagi https.
Di sini saya akan tunjukkan dua pilihan
Webmin dalam Virtualhost melalui Proxy
Apache
Tetapan di bawah adalah untuk Centos dimana folder untuk apache biasanya adalah /etc/httpd dan fail konfigurasi utama pula adalah /etc/httpd/conf/httpd.conf
IP 192.168.0.10 hanyalah contoh. Gantikan dengan ip local bagi server tersebut.
Boleh gantikan fail SSL key dan cert kepada yang sah jika ada
<VirtualHost 192.168.0.10:80>
ServerName webmin.contoh.je
ErrorLog /var/log/httpd/webmin_error_log
CustomLog /var/log/httpd/webmin_access_log combined
RewriteEngine On
RewriteCond %{SERVER_PORT} =80
RewriteRule ^/(.*)$ https://%{SERVER_NAME}:443/$1 [R,L]
</VirtualHost>
<VirtualHost 192.168.0.10:443>
ServerName webmin.contoh.je
ErrorLog /var/log/httpd/webmin-ssl_error_log
CustomLog /var/log/httpd/webmin-ssl_access_log combined
SSLEngine On
SSLCertificateFile /etc/pki/tls/certs/localhost.crt
SSLCertificateKeyFile /etc/pki/tls/private/localhost.key
ProxyRequests Off
ProxyPreserveHost Off
SSLProxyEngine On
SSLProxyVerify none
SSLProxyCheckPeerCN off
SSLProxyCheckPeerName off
RewriteRule ^/$ / [R]
ProxyPass / https://127.0.0.1:10000/
ProxyPassReverse / https://127.0.0.1:10000/
<Proxy *>
Order deny,allow
Allow from all
</Proxy>
</VirtualHost>
Webmin
Fail /etc/webmin/config. Tambah baris berikut untuk selesaikan masalah seperti redirect ke 127.0.0.1:10000 walaupun berjaya log masuk ke webmin menggunakan domain/host yang telah ditetapkan
referer=apachehost
Tukarkan apachehost kepada host yang anda gunakan pada apache untuk berhubung dengan webmin menggunakan apache reverse proxy.
Webmin boleh diakses cukup dengan URL seperti https://webmin.contoh.je
Webmin dalam Sub-Directory melalui Proxy
Jika anda cuma mahu akses webmin mengunakan host sediaada dan webmin seolah-olah sub-directory kepada host tersebut, lakukan cara yang berikut.
Apache
Tambah baris berikut pada konfigurasi virtualhost pilihan dan yang mengunakan port 443. Untuk keselamatan, kita mahu akses ke webmin adalah menggunakan https.
ProxyPass /webmin/ http://127.0.0.1:10000/
ProxyPassReverse /webmin/ http://127.0.0.1:10000/
RewriteRule ^/webmin$ /webmin/ [R]
Saya dah pernah cuba ProxyPass /webmin sahaja (tanpa slash selepas webmin). Hasilnya, boleh akses webmin tapi tak berjaya login. Kalau ProxyPass /webmin/ pula, anda perlu akses pada browser dengan menyertakan sekali / selepas /webmin ataupun tambah 'RewriteRule ^/webmin$ /webmin/ [R]' supaya <url>/webmin akan ditukarkan kepada /webmin/. Jika tidak, browser akan maklumkan bahawa laman tidak ditemui.
Webmin
Buka fail /etc/webmin/config. Ubah atau tambah baris-baris berikut. Untuk apachehost, jangan lupa tukarkan kepada nama host yang anda gunakan.
webprefix=/webmin
referer=apachehost
Buka fail /etc/webmin/miniserv.conf. Ubah atau tambah baris-baris berikut.
cookiepath=/webmin
ssl=0
ssl_redirect=0
Selesai. Jangan lupa untuk restart apache dan webmin
maceh awak
😀