GNU/Linux >> Tutoriales Linux >  >> Panels >> Panels

Cómo ejecutar ISPConfig 2 en el puerto 80 usando la función de proxy inverso de Apache (Debian Etch)

Ejecutar ISPConfig 2 en el puerto 80 usando la función de proxy inverso de Apache (Debian Etch)

Este artículo muestra cómo puede configurar un sistema Debian Etch que tiene instalado el panel de control de alojamiento web ISPConfig 2 para que se pueda acceder a ISPConfig en el puerto 80. De forma predeterminada, ISPConfig usa el puerto 81, que es un puerto no estándar y está bloqueado por algunos cortafuegos y ISP. Usando el módulo mod_proxy de Apache, podemos evitar este problema. Nos permite crear un proxy inverso que puede obtener las páginas de ISPConfig en el puerto 81.

Tenga en cuenta:este tutorial es solo sobre ISPConfig 2, no es compatible con ISPConfig 3. Para ISPConfig 3 hay un complemento inverso de Nginx disponible en github.

¡No emito ninguna garantía de que esto funcione para usted!

1 nota preliminar

He probado esto en un sistema Debian Etch. Si bien algunos comandos en este tutorial son específicos de Debian, la mayoría se puede aplicar a cualquier otra distribución de Linux (especialmente la configuración de Apache).

Estoy usando el nombre de host ispconfig.example.com en este tutorial. El objetivo de este tutorial es acceder a ISPConfig bajo la URL http://ispconfig.example.com. Voy a mostrar cómo hacer esto en dos capítulos separados:un capítulo si ISPConfig está instalado en http://ispconfig.example.com:81 (http), y un capítulo si ISPConfig está instalado en https://ispconfig .ejemplo.com:81 (https).

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

Para crear un proxy inverso para solicitudes http, necesitamos los módulos de Apache mod_proxy y mod_proxy_http. Estos ya están instalados en una instalación estándar de Debian Etch Apache 2.2, por lo que todo lo que tenemos que hacer es habilitarlos:

a2enmod proxy
a2enmod proxy_http

Luego, tenemos que recargar Apache:

/etc/init.d/apache2 force-reload

A continuación, debemos configurar Apache. Abra /etc/apache2/apache2.conf y busque esta sección:

vi /etc/apache2/apache2.conf

Justo antes de esta sección, agregamos las siguientes líneas:

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

para que se vea así:

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>

Luego reinicie Apache:

/etc/init.d/apache2 restart

Si recibe una advertencia como esta:

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

luego puede comentar la línea Incluir /etc/apache2/sites-enabled/ en /etc/apache2/apache2.conf:

vi /etc/apache2/apache2.conf
[...]
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>
[...]

o comenta la línea NameVirtualHost * al principio de /etc/apache2/sites-disponible/default:

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

Reiniciar Apache:

/etc/init.d/apache2 restart

Las advertencias deberían desaparecer ahora.

Finalmente tenemos que modificar el archivo de configuración de ISPConfig /home/admispconfig/ispconfig/lib/config.inc.php. Deberías encontrar algo como esto en él:

vi /home/admispconfig/ispconfig/lib/config.inc.php
#NameVirtualHost *
[...]

Modifíquelo para que se vea así:

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

Eso es todo. Abra un navegador y escriba http://ispconfig.example.com, y debería ver el indicador de inicio de sesión de ISPConfig.

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

Para crear un proxy inverso para solicitudes http, necesitamos los módulos de Apache mod_proxy y mod_proxy_http. Estos ya están instalados en una instalación estándar de Debian Etch Apache 2.2, por lo que todo lo que tenemos que hacer es habilitarlos:

a2enmod proxy
a2enmod proxy_http

Debido a que nuestro proxy inverso de Apache debe poder "hablar" con un sitio https (https://ispconfig.example.com:81), también necesitamos los módulos mod_proxy_connect y mod_ssl:

a2enmod proxy_connect
a2enmod ssl

Luego, tenemos que recargar Apache:

/etc/init.d/apache2 force-reload

A continuación, debemos configurar Apache. Abra /etc/apache2/apache2.conf y busque esta sección:

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

Justo antes de esta sección, agregue las siguientes líneas:

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

para que se vea así:

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>

Luego reinicie Apache:

/etc/init.d/apache2 restart

Si recibe una advertencia como esta:

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

luego puede comentar la línea Incluir /etc/apache2/sites-enabled/ en /etc/apache2/apache2.conf:

vi /etc/apache2/apache2.conf
[...]
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>
[...]

o comenta la línea NameVirtualHost * al principio de /etc/apache2/sites-disponible/default:

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

Reiniciar Apache:

/etc/init.d/apache2 restart

Las advertencias deberían desaparecer ahora.

Finalmente tenemos que modificar el archivo de configuración de ISPConfig /home/admispconfig/ispconfig/lib/config.inc.php. Deberías encontrar algo como esto en él:

vi /home/admispconfig/ispconfig/lib/config.inc.php
#NameVirtualHost *
[...]

Modifíquelo para que se vea así:

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

¡Asegúrese de que lea http://ispconfig.example.com, no https://ispconfig.example.com!

Eso es todo. Abra un navegador y escriba http://ispconfig.example.com, y debería ver el indicador de inicio de sesión de ISPConfig.

4 Enlaces

  • Módulo 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. ¿Cómo hacer una copia de seguridad de los archivos de configuración del sistema utilizando la función de copia de seguridad de WHM?

  2. Anuncios forzados en ISPConfig con Debian Etch

  3. Cómo configurar suPHP en un servidor ISPConfig basado en Debian Etch

  4. Cómo habilitar múltiples sitios HTTPS para una IP en Debian Etch usando extensiones TLS

  5. Cómo instalar Odoo 11 en Debian 9 con Nginx como proxy inverso

Cómo configurar Nginx como proxy inverso para Apache en Debian 11

Cómo instalar ISPConfig en Debian 11

Cómo configurar Mailman con Debian e ISPConfig

Cómo instalar Drupal 5.6 en Debian Etch con ISPConfig

Cómo ejecutar sus propios servidores DNS (primario y secundario) con ISPConfig 3 (Debian Squeeze)

¿Cómo instalar ISPConfig en Debian 10?

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