GNU/Linux >> Belajar Linux >  >> Panels >> Panels

Cara Menjalankan ISPConfig 2 Pada Port 80 Menggunakan Fitur Reverse Proxy Apache (Debian Etch)

Menjalankan ISPConfig 2 Pada Port 80 Menggunakan Fitur Reverse Proxy Apache (Debian Etch)

Artikel ini menunjukkan bagaimana Anda dapat mengonfigurasi sistem Debian Etch yang memiliki panel kontrol webhosting ISPConfig 2 yang terpasang sehingga ISPConfig dapat diakses pada port 80. Secara default ISPConfig menggunakan port 81 yang merupakan port non-standar dan diblokir oleh beberapa firewall dan ISP. Dengan menggunakan modul mod_proxy Apache, kita dapat menghindari masalah ini. Ini memungkinkan kita membuat proxy terbalik yang dapat mengambil halaman dari ISPConfig pada port 81.

Harap diperhatikan:Tutorial ini hanya tentang ISPConfig 2, tidak kompatibel dengan ISPConfig 3. Untuk ISPConfig 3 ada plugin terbalik Nginx yang tersedia di github.

Saya tidak memberikan jaminan apa pun bahwa ini akan berhasil untuk Anda!

1 Catatan Awal

Saya telah menguji ini pada sistem Debian Etch. Meskipun beberapa perintah dalam tutorial ini khusus untuk Debian, sebagian besar dapat diterapkan ke distribusi Linux lainnya (terutama konfigurasi Apache).

Saya menggunakan nama host ispconfig.example.com dalam tutorial ini. Tujuan dari tutorial ini adalah untuk mengakses ISPConfig di bawah URL http://ispconfig.example.com. Saya akan menunjukkan cara melakukannya dalam dua bab terpisah:satu bab jika ISPConfig diinstal di bawah http://ispconfig.example.com:81 (http), dan satu bab jika ISPConfig diinstal di https://ispconfig .example.com:81 (https).

2 ISPConfig Menggunakan http (http://ispconfig.example.com:81)

Untuk membuat proxy terbalik untuk permintaan http, kita memerlukan modul Apache mod_proxy dan mod_proxy_http. Ini sudah diinstal dalam instalasi standar Debian Etch Apache 2.2, jadi yang harus kita lakukan adalah mengaktifkannya:

a2enmod proxy
a2enmod proxy_http

Setelah itu, kita harus memuat ulang Apache:

/etc/init.d/apache2 force-reload

Selanjutnya, kita harus mengkonfigurasi Apache. Buka /etc/apache2/apache2.conf dan cari bagian ini:

vi /etc/apache2/apache2.conf
[...]
# Include the virtual host configurations:
Include /etc/apache2/sites-enabled/

<Directory /var/www/sharedip>
    Options +Includes -Indexes
    AllowOverride None
    AllowOverride Indexes AuthConfig Limit FileInfo
    Order allow,deny
    Allow from all
    <Files ~ "^\.ht">
    Deny from all
    </Files>
</Directory>
[...]

Tepat sebelum bagian ini, kami menambahkan baris berikut:

NameVirtualHost *
<VirtualHost *>
        ServerName ispconfig.example.com
        DocumentRoot /var/www/
        ProxyRequests Off

        <Proxy *>
          Order deny,allow
          Allow from all
        </Proxy>

        ProxyPass / http://ispconfig.example.com:81/
        ProxyPassReverse / http://ispconfig.example.com:81/
</VirtualHost>

sehingga terlihat seperti ini:

[...]
NameVirtualHost *
<VirtualHost *>
        ServerName ispconfig.example.com
        DocumentRoot /var/www/
        ProxyRequests Off

        <Proxy *>
          Order deny,allow
          Allow from all
        </Proxy>

        ProxyPass / http://ispconfig.example.com:81/
        ProxyPassReverse / http://ispconfig.example.com:81/
</VirtualHost>

# Include the virtual host configurations:
Include /etc/apache2/sites-enabled/

<Directory /var/www/sharedip>
    Options +Includes -Indexes
    AllowOverride None
    AllowOverride Indexes AuthConfig Limit FileInfo
    Order allow,deny
    Allow from all
    <Files ~ "^\.ht">
    Deny from all
    </Files>
</Directory>
[...]

Kemudian restart Apache:

/etc/init.d/apache2 restart

Jika Anda mendapatkan peringatan seperti ini:

server1:~/ispconfig/httpd/conf# /etc/init.d/apache2 restart
Forcing reload of web server (apache2)...[Tue May 22 23:23:12 2007] [warn] NameVirtualHost *:0 has no VirtualHosts
[Tue May 22 23:23:22 2007] [warn] NameVirtualHost *:0 has no VirtualHosts

maka Anda dapat mengomentari baris Sertakan /etc/Apache2/sites-enabled/ di /etc/Apache2/Apache2.conf:

vi /etc/apache2/apache2.conf
[...]
# Include the virtual host configurations:
#Include /etc/apache2/sites-enabled/
[...]

atau Anda mengomentari baris NameVirtualHost * di awal /etc/Apache2/sites-available/default:

vi /etc/apache2/sites-available/default
#NameVirtualHost *
[...]

Mulai ulang Apache:

/etc/init.d/apache2 restart

Peringatan seharusnya sudah hilang sekarang.

Terakhir kita harus memodifikasi file konfigurasi ISPConfig /home/admispconfig/ispconfig/lib/config.inc.php. Anda harus menemukan sesuatu seperti ini di dalamnya:

vi /home/admispconfig/ispconfig/lib/config.inc.php
[...]
if(isset($_SERVER['HTTP_HOST'])){
  $go_info["server"]["server_url"] = 'http://'.$_SERVER['HTTP_HOST'];
} else {
  $go_info["server"]["server_url"] = "http://ispconfig.example.com:81";
}
[...]

Ubah jadi seperti ini:

[...]
//if(isset($_SERVER['HTTP_HOST'])){
//  $go_info["server"]["server_url"] = 'http://'.$_SERVER['HTTP_HOST'];
//} else {
  $go_info["server"]["server_url"] = "http://ispconfig.example.com";
//}
[...]

Itu dia. Buka browser dan ketik http://ispconfig.example.com, dan Anda akan melihat permintaan login ISPConfig.

3 ISPConfig Menggunakan https (https://ispconfig.example.com:81)

Untuk membuat proxy terbalik untuk permintaan http, kita memerlukan modul Apache mod_proxy dan mod_proxy_http. Ini sudah diinstal dalam instalasi standar Debian Etch Apache 2.2, jadi yang harus kita lakukan adalah mengaktifkannya:

a2enmod proxy
a2enmod proxy_http

Karena proxy terbalik Apache kami harus dapat "berbicara" dengan situs https (https://ispconfig.example.com:81), kami juga memerlukan modul mod_proxy_connect dan mod_ssl:

a2enmod proxy_connect
a2enmod ssl

Setelah itu, kita harus memuat ulang Apache:

/etc/init.d/apache2 force-reload

Selanjutnya, kita harus mengkonfigurasi Apache. Buka /etc/apache2/apache2.conf dan cari bagian ini:

vi /etc/apache2/apache2.conf
[...]
# Include the virtual host configurations:
Include /etc/apache2/sites-enabled/

<Directory /var/www/sharedip>
    Options +Includes -Indexes
    AllowOverride None
    AllowOverride Indexes AuthConfig Limit FileInfo
    Order allow,deny
    Allow from all
    <Files ~ "^\.ht">
    Deny from all
    </Files>
</Directory>
[...]

Tepat sebelum bagian ini, tambahkan baris berikut:

NameVirtualHost *
<VirtualHost *>
        ServerName ispconfig.example.com
        DocumentRoot /var/www/
        ProxyRequests Off

        <Proxy *>
          Order deny,allow
          Allow from all
        </Proxy>

        ProxyPass / https://ispconfig.example.com:81/
        ProxyPassReverse / https://ispconfig.example.com:81/

        SSLProxyEngine on
        AllowCONNECT 81
</VirtualHost>

sehingga terlihat seperti ini:

[...]
NameVirtualHost *
<VirtualHost *>
        ServerName ispconfig.example.com
        DocumentRoot /var/www/
        ProxyRequests Off

        <Proxy *>
          Order deny,allow
          Allow from all
        </Proxy>

        ProxyPass / https://ispconfig.example.com:81/
        ProxyPassReverse / https://ispconfig.example.com:81/

        SSLProxyEngine on
        AllowCONNECT 81
</VirtualHost>

# Include the virtual host configurations:
Include /etc/apache2/sites-enabled/

<Directory /var/www/sharedip>
    Options +Includes -Indexes
    AllowOverride None
    AllowOverride Indexes AuthConfig Limit FileInfo
    Order allow,deny
    Allow from all
    <Files ~ "^\.ht">
    Deny from all
    </Files>
</Directory>
[...]

Kemudian restart Apache:

/etc/init.d/apache2 restart

Jika Anda mendapatkan peringatan seperti ini:

server1:~/ispconfig/httpd/conf# /etc/init.d/apache2 restart
Forcing reload of web server (apache2)...[Tue May 22 23:23:12 2007] [warn] NameVirtualHost *:0 has no VirtualHosts
[Tue May 22 23:23:22 2007] [warn] NameVirtualHost *:0 has no VirtualHosts

maka Anda dapat mengomentari baris Sertakan /etc/Apache2/sites-enabled/ di /etc/Apache2/Apache2.conf:

vi /etc/apache2/apache2.conf
[...]
# Include the virtual host configurations:
#Include /etc/apache2/sites-enabled/
[...]

atau Anda mengomentari baris NameVirtualHost * di awal /etc/Apache2/sites-available/default:

vi /etc/apache2/sites-available/default
#NameVirtualHost *
[...]

Mulai ulang Apache:

/etc/init.d/apache2 restart

Peringatan seharusnya sudah hilang sekarang.

Terakhir kita harus memodifikasi file konfigurasi ISPConfig /home/admispconfig/ispconfig/lib/config.inc.php. Anda harus menemukan sesuatu seperti ini di dalamnya:

vi /home/admispconfig/ispconfig/lib/config.inc.php
[...]
if(isset($_SERVER['HTTP_HOST'])){
  $go_info["server"]["server_url"] = 'https://'.$_SERVER['HTTP_HOST'];
} else {
  $go_info["server"]["server_url"] = "https://ispconfig.example.com:81";
}
[...]

Ubah jadi seperti ini:

[...]
//if(isset($_SERVER['HTTP_HOST'])){
//  $go_info["server"]["server_url"] = 'https://'.$_SERVER['HTTP_HOST'];
//} else {
  $go_info["server"]["server_url"] = "http://ispconfig.example.com";
//}
[...]

Harap pastikan bahwa terbaca http://ispconfig.example.com, bukan https://ispconfig.example.com!

Itu dia. Buka browser dan ketik http://ispconfig.example.com, dan Anda akan melihat permintaan login ISPConfig.

  • Modul Apache mod_proxy:http://httpd.Apache.org/docs/2.2/mod/mod_proxy.html
  • Apache:http://httpd.apache.org
  • ISPConfig:http://www.ispconfig.org
  • Debian:http://www.debian.org

Panels
  1. Bagaimana Cara Mencadangkan File Konfigurasi Sistem menggunakan Fitur Cadangan WHM?

  2. Iklan Paksa Di ISPConfig Dengan Debian Etch

  3. Cara menangani url relatif dengan benar dengan proxy terbalik

  1. Debian – Bagaimana Cara Menjalankan Program 32-bit Pada Debian/ubuntu 64-bit?

  2. Cara Mengatur suPHP Pada Server ISPConfig Berbasis Debian Etch

  3. Cara Mengaktifkan Beberapa Situs HTTPS Untuk Satu IP Di Debian Etch Menggunakan Ekstensi TLS

  1. Cara Memasang Z-Push Pada Server ISPConfig 3 (Debian Lenny)

  2. Cara Menginstal Odoo 11 di Debian 9 dengan Nginx sebagai Proxy Terbalik

  3. Cara Menginstal Odoo 12 di Debian 10 dengan Nginx sebagai Proxy Terbalik