Форумы

GNU.SU - Записки нубо-линуксойда :: Форумы :: Сервисы :: Web-Server
 
<< Предыдущая тема | Следующая тема >>
Маленький скрипт - заменитель веб-сервера
Модераторы: tastelinux, Frizze, andrey, Bender
Автор Добавил
tastelinux
Чтв Апр 26 2012, 12:52
andreika

ID пользователя #1
Зарегистрирован: Птн Апр 30 2010, 12:25

Сообщений: 337
Поднять локальный HTTP-сервачок. Чтобы не поднимать апач, представляю самописный заменитель оного
Назовём это superApache и поместим в /tmp/superApache
#!/bin/sh

HTTP_tastelinux="/tmp";
read SSS
while [ ${#SSS} -ne 1 ]; do
    [ $(echo $SSS| grep -c '^GET') -eq 1 ] && GET=$(echo $SSS|sed -r -e 's@^GET @@' -e 's@\s*HTTP.*$@@')
    read -t 1 SSS
done
REQUEST_PAGE=$(echo $GET|sed -r -e 's@^([^\?]*)\?.*@\1@')
[ "$REQUEST_PAGE" = "/" ] && REQUEST_PAGE="/index.html"
QUERY_STRING=$(echo $GET|sed -r -e 's@^[^\?]*\?(.*)@\1@')
[ $(echo $REQUEST_PAGE| grep '\.\.') ] && exit


[ ! -f $HTTP_tastelinux/$REQUEST_PAGE ] && {
    #тут обработчики виртуальных файлов( вызова функций, например...)
    exit
}
cat $HTTP_tastelinux/$REQUEST_PAGE

Теперь создадим файл /etc/xinetd.d/superApache:

service superApache
{
        id                      = superApacheId
        type                    = UNLISTED
        disable                 = no
        port                    = 12345
        socket_type             = stream
        protocol                = tcp
        wait                    = no
        user                    = nobody
        passenv                 = PATH
        server                  = /tmp/superApache
        env                     = HOME=/tmp
        bind                    = 127.0.0.1
}

Ну и
service xinetd restart

(Для эстетов killall -HUP xinetd)
Все, теперь свой сервак запущен на 12345 порту на lo интерфейсе. Далее в каталог $HTTP_tastelinux ложим файло (index.html - обязательно) ну а при необходимости пинга можно обратиться к несуществующей странице... короче, шаблон логики я дал, а дальше сам

[ Редактирование Чтв Апр 26 2012, 12:53 ]
Наверх

 

Перейти:     Наверх

Транслировать сообщения этой темы: rss 0.92 Транслировать сообщения этой темы: rss 2.0 Транслировать сообщения этой темы: RDF
Powered by e107 Forum System