Сервер Web своими руками. Язык HTML, приложения CGI и ISAPI, установка серверов Web для Windows© Александр Фролов, Григорий ФроловТом 29, М.: Диалог-МИФИ, 1997, 288 стр. Сервер Microsoft Personal Web ServerПроще всего начать знакомство с серверами WWW, научившись работать с сервером Microsoft Personal Web Server, предназначенным для операционной системы Microsoft Windows 95. Установка сервера Microsoft Personal Web ServerЕсли ваш компьютер уже подключен к локальной сети с протоколом TCP/IP или является узлом глобальной сети, установка сервера Microsoft Personal Web Server не вызовет у вас абсолютно никаких затруднений. Все, что вам нужно сделать, это загрузить с сервера www.microsoft.com файл с именем pws10a.exe и запустить его. Сразу после запуска программа pws10a.exe создаст временный каталог на локальном диске вашего компьютера и запишет в него дистрибутивные файлы сервера (рис. 9.1). Рис. 9.1. Запись дистрибутивных файлов сервера Microsoft Personal Web Server во временный каталог После записи дистрибутивных файлов автоматически запускается программа установки сервера, которая копирует нужные файлы (рис. 9.2). Рис. 9.2. Установка сервера Microsoft Personal Web Server На последнем этапе программа установки сообщит вам о необходимости выполнить перезагрузку компьютера (рис. 9.3). Рис. 9.3. Сообщение о перезагрузке компьютера Нажмите кнопку Yes. После перезагрузки компьютера сервер Microsoft Personal Web Server готов к работе. Настройка сервера Microsoft Personal Web ServerВы можете в большинстве случаев использовать значения многих параметров сервера Microsoft Personal Web Server, выбранных по умолчанию после установки. Однако не исключено, что вам придется выполнить дополнительную настройку сервера. Настроить параметры сервера можно при помощи приложения Personal Web Server, пиктограмма которого появляется после установки сервера в папке Control Panel. Если сделать по этой пиктограмме двойной щелчок левой клавишей мыши, на экране появится блокнот Personal Web Server Properties. На рис. 9.4 показана страница General этого блокнота. Рис. 9.4. Страница General блокнота Personal Web Server Properties В верхней части страницы General отображается адрес вашего сервера в сети Internet или в сети Intranet (если ваша корпоративная сеть не подключена к Internet). В поле Default Home Page отображается физический путь к главной (домашней) странице вашего сервера. По умолчанию эта страница находится в файле с именем Default.htm, который создается в каталоге C:\WebShare\wwwroot. Если нажать кнопку Display Home Page, будет запущен навигатор Microsoft Internet Explorer, в котором вы увидите содержимое главной страницы сервера (рис. 9.5). Нажав на кнопку More Details, вы сможете ознакомиться с документацией для сервера Personal Web Server, которая также отобразится в окне навигатора Microsoft Internet Explorer. Рис. 9.5. Содержимое главной страницы сервера Microsoft Personal Web Server Исходный текст соответствующего документа HTML представлен ниже: <!DOCTYPE HTML PUBLIC "-//W3O//DTD W3 HTML 2.0//EN"> <!-- Windows 95 Personal Web Server Home Page 7/1/96 Created Microsoft This page has been purposely kept very simple so that even users that haven't created home pages before can change the template very easily to suit their needs. --> <HTML> <head> <title> My Home Page </title> </head> <body> <h2 align=center> (Your Home Page goes here) <!-- Change the line above with your name to say, Karen's Home Page--> </h2> Welcome to my web server running on Windows 95. <p> <!-- Add more information about yourself. Your interests etc. --> <hr> Here are my interests. <ul> <li> Movies <li> Reading </ul> <hr> Here are some useful links: <ul> <li> <a href=http://www.microsoft.com> Microsoft </a> </ul> <hr> This page has been accessed <img ALT="Access counter" src=/scripts/counter.dll?9605071636> times. <hr> <center> <font size=-2> Brought to you by the <a href=/docs/default.htm><b>Personal Web Server</b></a> from <a href=http://www.microsoft.com><b>Microsoft</b></a>. </font> </center> </BODY> </HTML> В нижней части страницы находится счетчик посещений, реализованный в виде расширения ISAPI. Файл соответствующе библиотеки DLL называется counter.dll. При создании собственного сервера можно взять документ Default.htm за основу. При этом вы можете разместить на своей странице счетчик посещений counter.dll, сделанный Microsoft. Вернемся к страницам блокнота Personal Web Server Properties. Откройте страницу Startup, показанную на рис. 9.6. Рис. 9.6. Страница Startup блокнота Personal Web Server Properties С помощью кнопок Start и Stop можно, соответственно, запустить или остановить сервер Personal Web Server. Если включить в группе Options переключатель Run the server automatically at startup, сервер Personal Web Server будет запускаться автоматически после загрузки операционной системы. Этот режим выбран по умолчанию. Для удобства управления сервером вы также можете включить переключатель Show the Web server icon on the taskbar. При этом в правом углу на панели задач, расположенной в нижней части рабочего стола Windows 95, появится пиктограмма сервера Personal Web Server. Если сделать по этой пиктограмме двойной щелчок левой клавишей мыши, на экране появится блокнот Personal Web Server Properties. С помощью правой клавиши мыши вы можете вызвать на экран контекстное меню, состоящее из строк Administer, Home Page и Properties. При выборе строки Administer будет запущен навигатор Microsoft Internet Explorer, в окне которого появится документ HTML, предназначенный для администрирования сервера. Процесс администрирования будет рассмотрен позже. Если выбрать строку Home Page, также будет запущен навигатор Microsoft Internet Explorer. В его окне вы увидите главную страницу вашего сервера. Сразу после установки она будет иметь вид, показанный на рис. 9.5. Выбор строки Properties приведет к появлению на экране блокнота Personal Web Server Properties. На рис. 9.7 показана страница Administration блокнота Personal Web Server Properties. Рис. 9.7. Страница Administration блокнота Personal Web Server Properties На этой странице есть всего одна кнопка с названием Administration. Если нажать на эту кнопку, в окне навигатора Microsoft Internet Explorer появится документ HTML, предназначенный для администрирования сервера. И, наконец, последняя страница блокнота Personal Web Server Properties, которая называется Services, показана на рис. 9.8. Рис. 9.8. Страница Services блокнота Personal Web Server Properties В поле Services находится список сервисов, предоставляемых сервером Personal Web Server. По умолчанию сразу после установки работает сервис HTTP, который реализует сервер WWW. Нажав кнопку Stop, вы можете при необходимости остановить этот сервис. С помощью кнопки Start работа сервиса может быть возобновлена. Для чего вам может потребоваться останавливать сервис HTTP? Например, если вы заменяете библиотеку DLL, содержащую расширение сервера ISAPI, то перед выполнением такой замены следует остановить сервис HTTP, а затем, после замены файла библиотеки, возобновить его работу. Сервер Microsoft Personal Web Server может работать не только как сервер WWW, но и как сервер FTP. По умолчанию сразу после установки сервис FTP отключен, однако его можно включить на странице Services, показанной на рис. 9.8. Для этого следует выбрать в списке строку FTP и нажать кнопку Start. Кнопка Properties, расположенная на странице Services блокнота Personal Web Server Properties, позволяет настроить параметры сервиса HTTP или FTP. Выбрав в списке сервис HTTP и нажав эту кнопку, вы увидите диалоговую панель HTTP Properties, показанную на рис. 9.9. Рис. 9.9. Диалоговая панель HTTP Properties С помощью переключателей группы Startup Options вы можете выбрать автоматический или ручной режим запуска сервиса HTTP. Для этого нужно включить, соответственно, переключатель Automatic или Manual. По умолчанию сервис HTTP запускается автоматически, однако вы можете выбрать ручной режим, если сервер WWW вам нужен лишь эпизодически (например, вы его используете только для отладки программ CGI или ISAPI). В поле The Web server home root directory показан физический путь к корневому каталогу, в котором хранятся ваши документы HTML. При необходимости вы можете выбрать в качестве корневого другой каталог, нажав кнопку Change Home Root. Процедура настройки каталогов будет описана ниже в разделе “Администрирование”. Аналогично, в поле The Web server default home page указан физический путь к документу HTML, который выполняет роль главной страницы вашего сервера. Нажав кнопку Change Home Page, вы можете изменить имя или расположение главной страницы. Диалоговая панель FTP Properties, предназначенная для настройки параметров сервера FTP, показана на рис. 9.10. Рис. 9.10. Диалоговая панель FTP Properties По умолчанию для сервиса FTP установлен ручной режим запуска, поэтому сразу после установки в группе Startup Options включен переключатель Manual. Если вы планируете использовать сервис FTP постоянно наряду с сервисом HTTP, имеет смысл выбрать автоматический режим запуска, включив переключатель Automatic. Путь к корневому каталогу, в котором находятся все файлы и подкаталоги, доступные через протокол FTP, отображается в поле The FTP Server Home Root Directory. Вы можете изменить этот путь, нажав кнопку Change FTP Home Root. АдминистрированиеДля администрирования сервера Personal Web Server разработчики из Microsoft не стали создавать отдельное приложение. Вместо этого они использовали технологию, основанную на применении расширений ISAPI самого сервера Personal Web Server. Откройте блокнот Personal Web Server Properties на странице Administration, как это было описано в предыдущем разделе, и нажмите кнопку Administration. В результате будет запущен навигатор Microsoft Internet Explorer, в окне которого появится главная страница системы администрирования (рис. 9.11). Рис. 9.11. Главная страница системы администрирования сервера Personal Web Server Если сделать двойной щелчок левой клавишей мыши по ссылке WWW Administration, в окне навигатора Microsoft Internet Explorer появится документ HTML с нарисованным блокнотом (рис. 9.12). С помощью страниц этого блокнота вы можете настраивать различные параметры сервера. Рис. 9.12. Страница Service блокнота настройки параметров сервера в документе HTML В полях Connection timeout и Maximum Connections вы можете задать, соответственно, время ожидания соединения (в секундах) и максимальное количество соединений, которые могут быть установлены с сервером. Переключатели, расположенные в поле Password Authentication позволяют выбрать режим аутентификации, то есть проверки идентификатора пользователя. Если включен переключатель Basic, пароли передаются по сети в незашифрованном виде, поэтому они могут быть легко перехвачены злоумышленниками. По умолчанию используется режим передачи зашифрованных паролей (переключатель Windows NT Challenge/Response). Этот режим работает только в том случае, если ваш сервер подключен к локальной сети, в которой есть домен Microsoft Windows NT. Если включен переключатель Allow anonymous, к серверу может подключиться пользователь с любым идентификатором (анонимный пользователь). Такой режим установлен по умолчанию. В поле Comment вы можете вставить короткую строку описания сервера. Страница Directories блокнота настройки параметров сервера, показанная на рис. 9.13, позволяет выполнить настройку путей к каталогам, в которых расположены документы HTML и программные расширения сервера. Рис. 9.13. Страница Directories блокнота настройки параметров сервера Каталог C:\WebShare\wwwroot является корневым каталогом сервера Personal Web Server, в который вы должны поместить свои файлы документов HTML. Эти файлы могут лежать как в самом корневом каталоге, так и в его подкаталогах. Программные расширения сервера располагаются в каталоге C:\WebShare\scripts, который создается по умолчанию при установке сервера. В этот каталог вы должны записать свои программы CGI или приложения ISAPI. Каталог C:\Program Files\WebSvr содержит подкаталоги Docs, Htmla и Htmlascr. В первом из них находится документация на сервер Personal Web Server в виде документов HTML. Каталоги Htmla и Htmlascr содержат, соответственно, документы HTML с графическими изображениями и расширения сервера ISAPI, которые используются для администрирования сервера. Теперь о переключателях Enable Default Document и Directory Browsing Allowed. Если включен переключатель Enable Default Document (а он включен по умолчанию), пользователь может не указывать навигатору имя документа HTML, ограничившись только заданием адреса URL каталога. В этом случае в окно навигатора будет загружен документ, имя файла которого указано в поле Default Document. Планируя содержимое каталогов, вы должны предусмотреть файл документа HTML, который будет загружаться по умолчанию в том случае, если пользователь не указал имя файла. А что произойдет, если переключатель Enable Default Document выключен, а пользователь не задал имя файла, ограничившись только адресом каталога? Это зависит от состояния переключателя Directory Browsing Allowed. Если этот переключатель включен, в окне навигатора появится список файлов и каталогов, расположенных в указанном каталоге. Пример такого списка мы привели на рис. 9.14. В том случае, когда указанный переключатель выключен, пользователь получит сообщение об ошибке. Рис. 9.14. Список файлов в окне навигатора Возможно, у вас есть причины скрывать от пользователей содержимое каталогов. В этом случае вам следует отключить переключатель Directory Browsing Allowed, одновременно предусмотрев для каждого каталога документ, который будет отображаться по умолчанию. Страница Directories блокнота настройки параметров сервера Personal Web Server позволяет вам редактировать список каталогов, доступных удаленным пользователям. Например, вы можете добавить в этот список новые каталоги, удалить имеющиеся или изменить параметры каталогов. Для редактирования параметров каталогов вы должны сделать щелчок левой клавишей мыши по ссылке Edit, расположенной справа от нужного вам каталога. В результате в окне навигатора появится документ, позволяющий изменить параметры указанного вами каталога (рис. 9.15). Добавление нового каталога выполняется при помощи аналогичного документа, вызываемого по ссылке Add. Рис. 9.15. Документ HTML, позволяющий изменить параметры выбранного каталога В поле Directory вы можете указать путь к физическому каталогу. Если нажать кнопку Browse, у вас появится возможность выбрать каталог в окне навигатора. Переключатель Home Directory позволяет указать, что данный каталог является главным (домашним) каталогом сервера и должен отображаться по умолчанию. Переключатель Virtual Directory используется для создания так называемого виртуального каталога. На рис. 9.15 для корневого каталога указано имя виртуального каталога, состоящее из символа “/”. Зачем нужен виртуальный каталог? Имя виртуального каталога может использоваться в документах HTML вместо физического (например, при организации ссылок). В этом случае появляется возможность перемещения физических каталогов без изменения текста ссылающихся на них документов HTML. С помощью переключателей группы Access вы можете определить вид доступа, разрешенного удаленным пользователям к данному каталогу. Для каталогов, содержащих обычные документы HTML разрешается доступ на чтение (включается переключатель Read) и запрещается доступ на выполнение программ (выключается переключатель Execute). Для каталогов, в которых записаны программы CGI или приложения ISAPI, наоборот, запрещается доступ на чтение и разрешается доступ на выполнение. Страница Logging блокнота настройки параметров сервера Personal Web Server позволяет управлять процессом протоколирования событий (рис. 9.16). Рис. 9.16. Страница Logging блокнота настройки параметров сервера Personal Web Server Протоколирование выполняется только в том случае, если включен переключатель Enable logging. Если включить переключатель Automatically open new log, то можно выбрать интервал, с которым будет создаваться новый файл журнала. Вы можете указать, что журнал должен создаваться ежедневно (переключатель Daily), еженедельно (переключатель Weekly), ежемесячно (переключатель Monthly) или когда файл журнала достигнет заданных размеров (переключатель When the file size reaches). В поле Log file directory указан путь к файлу журнала. Имя этого файла - Inetserver_event.log. Ниже мы привели фрагмент содержимого файла журнала: 154.101.200.255, -, 26.01.97, 10:05:19, W3SVC, FROLOV, 154.101.200.255, 406, 278, 1379, 200, 0, GET, /Default.htm, -, 154.101.200.255, -, 26.01.97, 10:05:23, W3SVC, FROLOV, 154.101.200.255, 3884, 350, 255, 200, 0, GET, /scripts/counter.dll, 9605071636, 154.101.200.255, -, 26.01.97, 10:05:44, W3SVC, FROLOV, 154.101.200.255, 290, 293, 3660, 200, 0, GET, /htmla/htmla.htm, -, . . . 154.101.200.255, -, 26.01.97, 10:05:48, W3SVC, FROLOV, 154.101.200.255, 1138, 349, 1277, 200, 0, GET, /htmla/bolt.gif, -, 154.101.200.255, -, 26.01.97, 10:05:52, W3SVC, FROLOV, 154.101.200.255, 4300, 355, 2445, 200, 0, GET, /HtmlaScripts/htmla.dll, http/serv, . . . В этом файле через запятую приведена следующая информация о выполненной операции: · адрес IP компьютера удаленного пользователя; · имя удаленного пользователя или символ прочерка, если имя недоступно; · дата выполнения операции; · время выполнения операции; · название сервиса (W3SVC - сервис WWW, MSFTPSVC - сервис FTP и так далее); · сетевое имя сервера; · адрес IP сервера; · продолжительность операции; · количество принятых байт данных; · количество переданных байт данных; · код завершения операции; · имя выполненной операции; · файл или другой объект, участвующий в операции; · дополнительные параметры для объекта Как видите, из этого файла можно извлечь информацию о том, кто и когда обращался к тем или иным файлам, расположенным в каталогах сервера, а также другие интересные сведения. Управление доступом к каталогамСервер Personal Web Server позволяет организовать разграничение доступа пользователей к каталогам с документами HTML и другими объектами. И хотя эти средства не столь мощные и гибкие как в операционной системе Microsoft Windows NT, с их помощью вы можете предоставлять (или не предоставлять) к каталогам сервера для групп пользователей, а также для отдельных пользователей. Для того чтобы настроить систему управления доступом к каталогам, откройте главную страницу системы администрирования сервера Personal Web Server, показанную выше на рис. 9.11 и воспользуйтесь ссылкой Local User Administration. При этом в окне навигатора появится блокнот, предназначенный для управления пользователями и группами пользователей (рис. 9.17), открытый на странице Users. Рис. 9.17. Блокнот, предназначенный для управления пользователями и группами пользователей Прежде всего вы должны добавить идентификаторы пользователей в список User List, для чего следует воспользоваться кнопкой New User. При этом вам будет нужно указать идентификатор добавляемого пользователя и пароль. Для того чтобы создать группы пользователей, откройте страницу Groups блокнота управления пользователями и группами пользователей (рис. 9.18). Рис. 9.18. Страница Groups блокнота управления пользователями и группами пользователей Для создания группы сделайте щелчок левой клавишей мыши по кнопке New Group. Вы можете изменить параметры группы при помощи кнопки Properties или удалить группу, выделив ее имя в списке Group List и нажав затем кнопку Remove. После того как вы создали группы и добавили идентификаторы пользователей, можно приступить к объединению пользователей в группы. Такое объединение позволит упростить управление доступом, так как для многих пользователей требуются схожие права доступа. Добавить пользователей в группы можно с помощью страницы User/Group, показанной на рис. 9.19. Рис. 9.19. Страница User/Group блокнота управления пользователями и группами пользователей Для того чтобы добавить пользователя в группу, вы должны выделить имя группы в списке Group List и имя добавляемого пользователя в списке User List, а затем нажать кнопку Add user to group. С помощью кнопки Remove user from group вы можете удалить пользователя из группы. Итак, вы ввели идентификаторы пользователей вашего сервера и объединили их в группы. Теперь можно приступать к предоставлению доступа. С помощью папки My Computer откройте папку каталога, к которому нужно предоставить доступ. Сделайте щелчок правой клавишей мыши и в появившемся на экране контекстном меню выберите строку Properties. На экране появится блокнот свойств выбранной вами папки. На рис. 9.20 мы показали такой блокнот для папки Scripts, предназначенной для хранения программных расширений сервера. Рис. 9.20. Блокнот свойств папки Scripts В этом блокноте нас интересует страница Sharing, с помощью которой можно управлять доступом к папке. Центральная часть страницы Sharing содержит список имен пользователей (столбец Name) и соответствующие права доступа (столбец Access Rights). По умолчанию сразу после установки сервера к папке Scripts разрешается доступ для всех пользователей (строка The World) на чтение (строка Read-Only). Вы можете добавить в список новых пользователей, нажав кнопку Add. При этом на экране появится диалоговая панель Add User (рис. 9.21). Рис. 9.21. Диалоговая панель Add User Для того чтобы предоставить пользователю или группе пользователей доступ к каталогу, вы должны выделить соответствующее имя в столбце Name. Если доступ предоставляется всем пользователям, выберите имя The world. С помощью кнопки Read Only вы можете предоставить доступ только для чтения. Это как раз тот вид доступа, который нужен в большинстве случаев. Для предоставления доступа на чтение и запись нажмите кнопку Full Access. Более тонкая настройка прав доступа возможна с помощью кнопки Сustom. В каких случаях вы должны предоставлять пользователям доступ на запись к каталогам сервера? В тех случаях, когда это требуется для программ расширения сервера (CGI или ISAPI), запускаемых пользователем. Такие программы после запуска обладают правами пользователя, запустившего их. Если пользователь имеет права на запись в каталог, содержащий, например, файл счетчика посещений сервера, то и программа CGI или ISAPI, изменяющая содержимое этого файла, сможет правильно работать. Если же у пользователя такого права нет, счетчик не будет считать, так как программа расширения не сможет изменить текущее значение счетчика в файле. После настройки прав доступа указанным выше способом, нажмите в блокноте свойств (рис. 9.20) кнопку Web Sharing. На экране появится диалоговая панель Web Sharing Folder Properties, с помощью которой можно настроить права доступа к файлам, расположенным в каталоге (рис. 9.22), при доступе к этим файлам через протоколы HTTP и FTP. Рис. 9.22. Диалоговая панель Web Sharing Folder Properties Если вы разрешаете доступ к папке через протокол HTTP, включите переключатель Share folder for HTTP. Для папок, содержащих документы HTML, графические и мультимедийные файлы, следует предоставить доступ только на чтение, включив переключатель Read Only и выключив переключатель Execute Scripts. Если папка содержит программные расширения CGI или ISAPI, вам следует поступить наоборот - запретить доступ на чтение, выключив переключатель Read Only, и разрешить доступ на выполнение, включив переключатель Execute Scripts. Предоставляя доступ к папке через протокол FTP, включите переключатель Share Folder for FTP. Если пользователям разрешается только читать содержимое папки, включите переключатель Read и выключите переключатель Write. Аналогично, для предоставления доступа на запись включите переключатель Write. Учтите, что каталоги, для которых разрешена запись, могут стать средством распространения вирусов, пиратских копий программ или использоваться для других нежелательных целей. Поэтому если ваш сервер FTP должен использоваться для обмена файлами, поступите следующим образом. Заведите на сервере каталог с именем, например Upload, предоставив для него доступ на запись, но не на чтение. Для этого в диалоговой панели, показанной на рис. 9.22, включите переключатель Write и выключите переключатель Read. В результате все смогут записывать в каталог новые файлы, но читать их сможете только вы. Проверив новые поступления, вы можете переписать отобранные файлы в другой каталог с именем, например, NewFiles, имеющий доступ для чтения. При этом весь поток новых файлов, прежде чем попадет в каталог общего доступа, будет проходить через ваши руки. |