Как настроить адрес BILLmanager

Материал из ISPWiki

Перейти к: навигация, поиск

После установки панели, по умолчанию BILLmanager доступен по адресу https://ip/manager/billmgr или https://domain.com/manager/billmgr В данной статье описано, как настроить web серверы так, чтобы BILLmanager открывался по адресу, например, https://my.domain.com (http://my.domain.com)

Проверено на Debian-6, Apache mpm-worker

Предполагается, что на сервере нет ISPmanager, создавать домен в файлах конфигурации будем вручную.

В качестве web сервера используется только Apache

Создаем в файле конфигурации apache (/etc/apache2/apache2.conf на Debian) два VirtualHost'a для домена my.domain.com.

NameVirtualHost ip:80
<VirtualHost ip:80>
       ServerName my.domain.com
       DocumentRoot /usr/local/ispmgr/bin/
       ServerAdmin admin@my.domain.com
       AddType application/x-httpd-php .php .php3 .php4 .php5 .phtml
       AddType application/x-httpd-php-source .phps
</VirtualHost>
<VirtualHost ip:443 >
       ServerName my.domain.com
       DocumentRoot /usr/local/ispmgr/bin/
       ServerAdmin admin@my.domain.com
       AddType application/x-httpd-php .php .php3 .php4 .php5 .phtml
       AddType application/x-httpd-php-source .phps
       SSLEngine on
       SSLCertificateFile /etc/apache2/ssl.crt/server.crt
       SSLCertificateKeyFile /etc/apache2/ssl.key/server.key
</VirtualHost>


Где ip - адрес, в который разрешается домен my.domain.com и этот адрес должен быть на интерфейсе сервера.

Если apache собран с suexec, то лучше добавить "SuexecUserGroup www-data www-data" в каждый VirtualHost

В качестве домашней директории домена мы указали директорию панели управления - /usr/local/ispmgr/bin/ , теперь по адресу http://my.domain.com и https://my.domain.com будет открываться BILLmanager.

Осталось перезапустить apache, чтобы изменения вступили в силу.

/etc/init.d/apache2 restart

Связка Nginx (80 порт) + Apache (443 порт)

В файл конфигурации nginx (/etc/nginx/nginx.conf) в секцию http добавляем:

server {
               server_name my.domain.com;
               listen ip:80;
            
location / {
   rewrite ^(.*)$ https://my.domain.com$1 permanent;
  }
}

Тем самым просто делаем редирект на https.

В файл конфигурации Apache добавляем:

<VirtualHost ip:443 >
       ServerName my.domain.com
       DocumentRoot /usr/local/ispmgr/bin/
       ServerAdmin admin@my.domain.com
       AddType application/x-httpd-php .php .php3 .php4 .php5 .phtml
       AddType application/x-httpd-php-source .phps
       SSLEngine on
       SSLCertificateFile /etc/apache2/ssl.crt/server.crt
       SSLCertificateKeyFile /etc/apache2/ssl.key/server.key
</VirtualHost>

Перезапускаем apache и nginx

/etc/init.d/apache2 restart
/etc/init.d/nginx restart

Связка Nginx (80 и 443 порт) + Apache

Добавляем в nginx.conf:

server {
               server_name my.domain.com;
               listen ip:80;
location / {
   rewrite ^(.*)$ https://my.domain.com$1 permanent;
  }
}
server {
               server_name my.domain.com;
               listen ip:443;
               ssl on;
               location ~* ^.+.(jpg|jpeg|png|svg|js|css|mp3|ogg|mpe?g|avi|zip|gz|bz2?)$ {
               error_page 404 = @fallback;
               }
               location / {
                       proxy_pass http://ip:81;
                       proxy_redirect http://ip:81/ /;
                       proxy_set_header Host $host;
                       proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
                       proxy_set_header X-Forwarded-Proto $scheme;
                       proxy_set_header X-Real-IP $remote_addr;
               }
               location @fallback {
                       proxy_pass http://ip:81;
                       proxy_set_header Host $host;
                       proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
                       proxy_set_header X-Forwarded-Proto $scheme;
                       proxy_set_header X-Real-IP $remote_addr;
               }
       ssl_certificate /etc/apache2/ssl.crt/server.crt;
       ssl_certificate_key /etc/apache2/ssl.key/server.key;
}

В apache2.conf добавляем VirtualHost:

<VirtualHost ip:81 >
       ServerName my.domain.com
       DocumentRoot /usr/local/ispmgr/bin/
       ServerAdmin admin@my.domain.com
       AddType application/x-httpd-php .php .php3 .php4 .php5 .phtml
       AddType application/x-httpd-php-source .phps
</VirtualHost>

Где 81 - порт, на котором слушает apache. Можно проверить командой netstat -napt | grep apache

Перезапускаем apache и nginx.

/etc/init.d/apache2 restart
/etc/init.d/nginx restart
Была ли эта информация полезной? Да | Нет
Личные инструменты