Делается это всего в три шага:
1) Выбрать компьютер для установки сервера;
2) Установить и настроить операционную систему (возьмём NetBSD 5.0);
3) Запустить и настроить bozohttpd (встроенный Web-сервер NetBSD 5.x).
Вся эта работа займёт всего несколько минут!!! Скорость и простота - главные преимущества BSD-систем!
1. Начнём с выбора компьютера для установки сервера. Хотя... особый подбор здесь не требуется, так как, в данном случае, подойдёт практически любой компьютер, который попадётся под руку (старый, слабый, списанный в утиль и т.п.), ведь NetBSD - самая универсальная система в мире! Её можно поставить куда угодно, даже на тостер (в котором хлеб жарят)!
2. Далее, устанавливаем на выбранный компьютер ОС NetBSD. Для этого потребуется всего несколько сотен мегабайт (!!!) свободного места на диске (ну или на том носителе, куда Вы будете ставить систему) и пара минут времени. Подробное описание процесса установки я дам в отдельной статье. А для тестового сервера подойдут параметры по умолчанию, просто следуйте инструкциям на экранах инсталлятора (sysinst).
3. Ну а теперь самое интересное - запуск и настройка Web-сервера. Для этого в ОС NetBSD (как и в OpenBSD) ничего дополнительно ставить не придётся, так как в этих системах уже есть набор основных серверов (демонов), их нужно только включить! Делается это очень просто. Открываем на редактирование (с правами root-a) файл /etc/rc.conf и прописываем в него всё, что касается настроек httpd (там всего 4 пунктика). Образец данного конфигурационного файла (с примерами запуска различных серверов) лежит в каталоге /etc/defaults/ и он же является конфигурационным файлом по умолчанию (если в /etc/rc.conf ничего не прописано). Если же копаться в этом sample лень, то можно воспользоваться текстовым фильтром grep для извлечения нужных пунктов из /etc/defaults/rc.conf. Делается это так (один из вариантов):
cat /etc/defaults/rc.conf | grep httpd >> /etc/rc.conf
В результате выполнения этой команды в файл /etc/rc.conf будут добавлены все необходимые записи для запуска и конфигурации http-сервера. Остаётся их только подправить:
httpd=YES (запускает сам сервер bozohttpd)
Остальные можно оставить как есть.
Вот и всё. Теперь у Вас свой Web-сервер. После перезагрузки, разместите стартовый файл index.html (с которого начинается просмотр сайта) в папку /var/www/ и проверьте работу сервера с помощью браузера (лучше с другого компьютера сети) по адресу http://192.168.1.50/, где IP-шник 192.168.1.50 является адресом вашего сервера в сети. Более того, сервер изначально поддерживает CGI и позволяет обрабатывать запросы Web-пользователей с помощью shell-скриптов, расположенных в специальной папке, указание на которую прописывается в качестве параметра непосредственно при запуске httpd или же флага в файле /etc/rc.conf например так:
httpd_flags="-c /var/www/cgi" (все CGI-скрипты должны лежать в этой папке!)
Код CGI-скрипта для /bin/sh выглядит примерно следующим образом:
--------------------
#!/bin/sh
echo "Content-type: text/html";
echo "";
echo Today is 'date';
exit 0;
---------------------
(Данный скрипт просто выводит текущую дату на экран.)
При необходимости, с помощью той же команды echo "...."; можно выводить и HTML-код или же можно вставить его из отдельного файла с помощью cat и т.п. программ.
Обратите внимание на то, что при обращении к CGI-файлу в URL обязательно нужно указывать инфикс .../cgi-bin/..., иначе он выполняться не будет! И не забудьте сделать скрипт исполняемым (с помощью команды chmod). Например:
chmod +x test1.sh
Далее можно обращаться к нему напрямую:
/var/www/cgi/./test1.sh
или же через браузер:
http://192.168.1.50/cgi-bin/test1.sh
Причём скрипты могут быть написаны как с помощью команд командного интерпретатора (типа /bin/sh) так и на любом языке программирования, для которого имеется интерпретатор в вашей системе (например Perl или Python).
После того как сервер уже заработал, наверняка, многие озадачатся вопросом насчёт конфигурации bozohttpd. Так вот, у этого сервера нет файлов конфигурации и это здорово! Никаких десятков непонятных инструкций (как, например у Apache), всё прописывается непосредственно при запуске сервера в качестве параметров (флагов). Описание всех этих параметров есть в man-e по httpd данной операционной системы (http://wiki.lissyara.su/wiki/Bozohttpd).