Биллинговая система Nodeny
22 Ноября 2024, 16:34:20 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
Новости: Прекращена поддержка версии Nodeny 49
 
   Начало   Помощь Поиск Войти Регистрация  
Страниц: [1]
  Печать  
Автор Тема: Несколько NoDeny на одной машине  (Прочитано 5455 раз)
Eugene
NoDeny
Пользователь
*

Карма: 0
Offline Offline

Сообщений: 50


Просмотр профиля Email
« : 12 Марта 2011, 18:33:59 »

Сложилось так, что я решил внедрять сразу несколько сетей на основе биллинга NoDeny. Это и разработчику интереснее в плане денег и я обделён работой не буду.
Конфиги разделил, базы поставил разные, проверил, каждый за своей базой следит, но когда пришло время резделить интерфейсы админки, то столкнулся с интересным моментом.

У меня получается виртуальный хостинг, естественно, нужно сделать, например:
при запуске users.ivanovka.net -> работает дирректория /usr/local/www/apache22/cgi-bin
при запуске users.petrovka.net -> работает директория /usr/local/www/apache22/cgi2-bin

Сначала столкнулся с проблемой избавиться от ScriptAlias на cgi-bin, поскольку нужно, что бы stat.pl запускался как индекс и автоматом. А если я делал индекс на этот файл без ScriptAlias, только с правами
Код:
<Directory "/usr/local/www/apache22/cgi-bin">
 Options +ExecCGI
 SetHandler cgi-script
</Directory>
то ничего не работает

Попытка была хотя бы разделить по директориям и это более-менее радует, хотя не сильно. По-сути у меня просто есть два Script-Alias, по директориям можно было и не делить:)

Код:
<VirtualHost billing:80>
    ServerName users.petrovo.ru
    ServerAdmin webmaster@dummy-host.example.com
    DocumentRoot "/usr/local/www/apache22/data"
# <Directory "/usr/local/www/apache22/cgi-bin">
#   Options +ExecCGI
#   SetHandler cgi-script
#  </Directory>
    DirectoryIndex index.html
</VirtualHost>

<VirtualHost bitelekom.ru:80>
    ServerName users.ivanovo.ru
    ServerAdmin webmaster@dummy-host.example.com
    DocumentRoot "/usr/local/www/apache22/data"
    DirectoryIndex index.html
</VirtualHost>

Там закомментирована строчка как попытка запустить скрипты вместо  ScriptAlias, но она была неудачной, скрипт не запустился илил очень глючил. Помогите, плиз, как можно решить такую задачку.
Записан
VitalVas
NoDeny
Спец
*

Карма: 60
Offline Offline

Сообщений: 991



Просмотр профиля WWW
« Ответ #1 : 12 Марта 2011, 19:29:42 »

UTFG!!!
Код:
<VirtualHost ********:8080>
        ServerName ********
        DocumentRoot /home/www/*******
        CustomLog /dev/null combined
        ErrorLog /dev/null
        ServerAdmin *********
        ScriptAlias /cgi-bin/ /home/www/************/cgi-bin/
        AddHandler php-cgi .php .php3 .php4 .php5 .phtml
</VirtualHost>
от те пример одного из виртуал-хостов что работает у меня
Записан
elite
Начальник планеты
NoDeny
Спец
*

Карма: 52
Offline Offline

Сообщений: 1226

In LAN we trust!

358714596
Просмотр профиля
« Ответ #2 : 15 Марта 2011, 14:02:35 »

а jails не вариант?
Записан
Eugene
NoDeny
Пользователь
*

Карма: 0
Offline Offline

Сообщений: 50


Просмотр профиля Email
« Ответ #3 : 15 Марта 2011, 21:08:01 »

UTFG!!!
Код:
<VirtualHost ********:8080>
        ServerName ********
        DocumentRoot /home/www/*******
        CustomLog /dev/null combined
        ErrorLog /dev/null
        ServerAdmin *********
        ScriptAlias /cgi-bin/ /home/www/************/cgi-bin/
        AddHandler php-cgi .php .php3 .php4 .php5 .phtml
</VirtualHost>
от те пример одного из виртуал-хостов что работает у меня

Я так понял, там ещё конфига из httpd-ssl не хватает.. Правильно, на каждый Виртуальный хост мапится свой cgi-bin, cgi2-bin... и т..д. Но ссылку то туда всё равно делать нужно, а я хотел что бы народ прям из корня нырял на авторизацию.
а jails не вариант?
Вот не изучал этот вопрос, нужно будет почитать побольше по теме, я так понял.
Ещё, немного посижу, доделаю noserver что бы можно было быстро делать его копии и запускать много МикроТиков, а пока вручную подправил скрипт запуска no server, сделал несколько комплектов MikroTik, sat, и noserver сателлитов, закинул из в загрузку.

Пока с Виртуальными хостами помогло вдумчивое вчитываение в тему
http://forum.nodeny.com.ua/index.php?topic=266.0

Там дан хороший конфиг SSL. Я сделал несколько копий разделов <VirtualHost>, соответсвующих каждому разделу в httpd.conf. Как бы, задача решена - теперь, пользователи, заходящие например на страничку http://petrovo.ru видят сайт провайдера, а заходя на тот же сайт по https видят страничку авторизации. Единственно, ссылки на сайте должны быть относительные, иначе люди не попадут на авторизацию по обычному протоколу.
Хотя, в том же посте есть момент смены протокола в httpd.conf.
Код:
 RewriteEngine On
    RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}
Как вариант.

Мой рабочий конфиг виртуального хоста с ssl
Код:
<VirtualHost billing:443>

DocumentRoot "**/www/apache22/data"
ServerName ****.ru:443

ServerAdmin eugene@****
ErrorLog "/var/log/httpd-error.log"
TransferLog "/var/log/httpd-access.log"

SSLEngine on

SSLCipherSuite ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP:+eNULL
SSLCertificateFile "/usr/local/etc/apache22/ssl/server.crt"
SSLCertificateKeyFile "/usr/local/etc/apache22/ssl/server.key"

<FilesMatch "\.(cgi|shtml|phtml|php)$">
    SSLOptions +StdEnvVars
</FilesMatch>

<IfModule alias_module>
    ScriptAlias /cgi2-bin/ "****/www/apache22/cgi2-bin/"
    ErrorDocument 404 "/cgi2-bin/stat.pl"
    DirectoryIndex "/cgi2-bin/stat.pl"
</IfModule>
<IfModule !alias_module>
    DirectoryIndex index.html
</IfModule>

<Directory "*******/www/apache22/cgi2-bin">
    SSLOptions +StdEnvVars
</Directory>

BrowserMatch ".*MSIE.*" \
         nokeepalive ssl-unclean-shutdown \
         downgrade-1.0 force-response-1.0

CustomLog "/var/log/httpd-ssl_request.log" \
          "%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r\" %b"


</VirtualHost>

Спасибо за ответы!
« Последнее редактирование: 15 Марта 2011, 21:18:28 от Eugene » Записан
Страниц: [1]
  Печать  
 
Перейти в:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.20 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!