Несколько страниц авторизации

Вопросы, касающиеся установки и настройки всех программ сервера хотспота
Ответить
Аватара пользователя
Dmitry
Администратор
Сообщения: 1073
Зарегистрирован: 25 май 2011, 09:14
Откуда: г. Запорожье, Украина
Контактная информация:

Несколько страниц авторизации

Сообщение Dmitry »

Неоднократно заданный вопрос требует публичного ответа (чтоб не писать в аську каждому)

Итак, как сделать несколько разных страниц авторизации, чтобы они хранились на одном сервере хотспота.

Для этого нужно:
Во первых, в настройках Apache глобально разрешить модифицирование настроек для папок, обслуживаемых вебсервером. Для этого введите команду:

Код: Выделить всё

sudo mcedit /etc/apache2/sites-available/default
Откроется файл. В файле найдите такой фрагмент:

Код: Выделить всё

        <Directory /var/www/>
                Options Indexes FollowSymLinks MultiViews
                AllowOverride None
                Order allow,deny
                allow from all
        </Directory>
и отредактируйте его , чтобы он стал выглядеть следующим образом:

Код: Выделить всё

        <Directory /var/www/>
                Options Indexes FollowSymLinks MultiViews
                AllowOverride All
                Order allow,deny
                allow from all
        </Directory>
Отличие заключается всего лишь в значении одной директивы - AllowOverride. Старое значение по умолчанию у нее было "None", и при редактировании мы его заменили на "All".
Сохраняете изменения, выходите из редактора.
Перезапускаете веб-сервер Apache:

Код: Выделить всё

sudo /etc/init.d/apache2 restart
Затем, нужно создать папку для новой страницы авторизации. Допустим, мы дадим ей имя auth1. Чтобы создать папку, вводим команду:

Код: Выделить всё

sudo mkdir /var/www/auth1
Теперь назначим владельцем созданной папки пользователя www-data от имени которого работает веб-сервер Apache

Код: Выделить всё

sudo chown www-data:www-data /var/www/auth1
Создадим в новой папке файл с дополнительными директивами, которые необходимы для того, чтобы в папке обрабатывались cgi-скрипты, написанные на perl (а именно этим и является страница авторизации). Файл создавать будем "косвенно", направляя в него директивы:

Код: Выделить всё

sudo echo "Options +ExecCGI" >> /var/www/auth1/.htaccess
sudo echo "AddHandler cgi-script .cgi" >> /var/www/auth1/.htaccess
Дополнительно обращаю внимание на имя файла - точка в его начале - ЭТО НЕ ОПЕЧАТКА! Файл должен называться ИМЕННО ТАК, как написано - .htaccess, только в этом случае он будет воспринят веб-сервером Apache как набор директив, меняющих его поведение в данной папке.
после этого также назначим www-data владельцем вновь созданного файла:

Код: Выделить всё

sudo chown www-data:www-data /var/www/auth1/.htaccess
и дадим необходимые права

Код: Выделить всё

sudo chmod 600 /var/www/auth1/.htaccess
Теперь наша папка готова к тому, чтобы в нее можно было скопировать страницу авторизации. Копируем саму страницу и два дополнительных файла требующихся для ее нормальной работы

Код: Выделить всё

sudo cp /usr/lib/cgi-bin/hotspotlogin.cgi /var/www/auth1
sudo cp /usr/lib/cgi-bin/conf.txt /var/www/auth1
sudo cp /usr/lib/cgi-bin/loginpage /var/www/auth1
Скопированным файлам опять же назначаем владельцем пользователя www-data:

Код: Выделить всё

sudo chown www-data:www-data /var/www/auth1/*
И на всякий случай назначаем файлу страницы авторизации бит "исполняемый":

Код: Выделить всё

sudo chmod +x /var/www/auth1/hotspotlogin.cgi
Все, теперь вы можете указывать новую страницу авторизации. Ее адрес будет отличаться от "стандартной". Если у "стандартной" адрес был
http://192.168.182.1/cgi-bin/hotspotlogin.cgi
то у новой он стал таким:
http://192.168.182.1/auth1/hotspotlogin.cgi
Ответить

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 1 гость