GNU/Linux >> Linux Esercitazione >  >> Panels >> Panels

Come eseguire ISPConfig 2 sulla porta 80 utilizzando la funzione proxy inverso di Apache (Debian Etch)

Eseguire ISPConfig 2 sulla porta 80 utilizzando la funzione proxy inverso di Apache (Debian Etch)

Questo articolo mostra come configurare un sistema Debian Etch su cui è installato il pannello di controllo del webhosting ISPConfig 2 in modo che sia possibile accedere a ISPConfig sulla porta 80. Per impostazione predefinita, ISPConfig utilizza la porta 81 che è una porta non standard ed è bloccata da alcuni firewall e ISP. Utilizzando il modulo mod_proxy di Apache, possiamo evitare questo problema. Ci consente di creare un proxy inverso in grado di recuperare le pagine da ISPConfig sulla porta 81.

Nota:questo tutorial riguarda solo ISPConfig 2, non è compatibile con ISPConfig 3. Per ISPConfig 3 è disponibile un plugin inverso Nginx su github.

Non garantisco che questo funzionerà per te!

1 Nota preliminare

L'ho testato su un sistema Debian Etch. Sebbene alcuni comandi in questo tutorial siano specifici di Debian, la maggior parte di essi può essere applicata a qualsiasi altra distribuzione Linux (in particolare alla configurazione di Apache).

Sto usando il nome host ispconfig.example.com in questo tutorial. L'obiettivo di questo tutorial è accedere a ISPConfig sotto l'URL http://ispconfig.example.com. Mostrerò come farlo in due capitoli separati:un capitolo se ISPConfig è installato in http://ispconfig.example.com:81 (http) e un capitolo se ISPConfig è installato in https://ispconfig .esempio.com:81 (https).

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

Per creare un proxy inverso per le richieste http, abbiamo bisogno dei moduli Apache mod_proxy e mod_proxy_http. Questi sono già installati in un'installazione standard di Debian Etch Apache 2.2, quindi tutto ciò che dobbiamo fare è abilitarli:

a2enmod proxy
a2enmod proxy_http

Successivamente, dobbiamo ricaricare Apache:

/etc/init.d/apache2 force-reload

Successivamente, dobbiamo configurare Apache. Apri /etc/apache2/apache2.conf e cerca questa sezione:

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>
[...]

Subito prima di questa sezione, aggiungiamo le seguenti righe:

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>

in modo che assomigli a questo:

[...]
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>
[...]

Quindi riavvia Apache:

/etc/init.d/apache2 restart

Se ricevi un avviso come questo:

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

quindi puoi commentare la riga Include /etc/apache2/sites-enabled/ in /etc/apache2/apache2.conf:

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

oppure commenta la riga NameVirtualHost * all'inizio di /etc/apache2/sites-available/default:

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

Riavvia Apache:

/etc/init.d/apache2 restart

Gli avvisi dovrebbero essere spariti ora.

Infine dobbiamo modificare il file di configurazione di ISPConfig /home/admispconfig/ispconfig/lib/config.inc.php. Dovresti trovare qualcosa del genere in esso:

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";
}
[...]

Modificalo in modo che assomigli a questo:

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

Questo è tutto. Apri un browser e digita http://ispconfig.example.com e dovresti vedere la richiesta di accesso a ISPConfig.

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

Per creare un proxy inverso per le richieste http, abbiamo bisogno dei moduli Apache mod_proxy e mod_proxy_http. Questi sono già installati in un'installazione standard di Debian Etch Apache 2.2, quindi tutto ciò che dobbiamo fare è abilitarli:

a2enmod proxy
a2enmod proxy_http

Poiché il nostro proxy inverso Apache deve essere in grado di "parlare" con un sito https (https://ispconfig.example.com:81), abbiamo bisogno anche dei moduli mod_proxy_connect e mod_ssl:

a2enmod proxy_connect
a2enmod ssl

Successivamente, dobbiamo ricaricare Apache:

/etc/init.d/apache2 force-reload

Successivamente, dobbiamo configurare Apache. Apri /etc/apache2/apache2.conf e cerca questa sezione:

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>
[...]

Subito prima di questa sezione, aggiungi le seguenti righe:

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>

in modo che assomigli a questo:

[...]
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>
[...]

Quindi riavvia Apache:

/etc/init.d/apache2 restart

Se ricevi un avviso come questo:

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

quindi puoi commentare la riga Include /etc/apache2/sites-enabled/ in /etc/apache2/apache2.conf:

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

oppure commenta la riga NameVirtualHost * all'inizio di /etc/apache2/sites-available/default:

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

Riavvia Apache:

/etc/init.d/apache2 restart

Gli avvisi dovrebbero essere spariti ora.

Infine dobbiamo modificare il file di configurazione di ISPConfig /home/admispconfig/ispconfig/lib/config.inc.php. Dovresti trovare qualcosa del genere in esso:

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";
}
[...]

Modificalo in modo che assomigli a questo:

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

Assicurati che legga http://ispconfig.example.com, non https://ispconfig.example.com!

Questo è tutto. Apri un browser e digita http://ispconfig.example.com e dovresti vedere la richiesta di accesso a ISPConfig.

  • Modulo Apache mod_proxy:http://httpd.apache.org/docs/2.2/mod/mod_proxy.html
  • Apache:http://httpd.apache.org
  • Configurazione ISP:http://www.ispconfig.org
  • Debian:http://www.debian.org

Panels
  1. Debian:come eseguire programmi a 32 bit su una Debian/ubuntu a 64 bit?

  2. Annunci forzati su ISPConfig con Debian Etch

  3. Come configurare suPHP su un server ISPConfig basato su Debian Etch

  4. Come abilitare più siti HTTPS per un IP su Debian Etch usando le estensioni TLS

  5. Come gestire correttamente gli URL relativi con un proxy inverso

Come configurare Nginx come proxy inverso per Apache su Debian 11

Come installare ISPConfig su Debian 11

Come configurare Mailman con Debian e ISPConfig

Come installare Drupal 5.6 su Debian Etch con ISPConfig

Come eseguire i propri server DNS (primari e secondari) con ISPConfig 3 (Debian Squeeze)

Come installare ISPConfig su Debian 10?