Различия между версиями 27 и 28
Версия 27 от 2008-10-10 10:26:40
Размер: 20106
Редактор: VsevolodKrishchenko
Комментарий:
Версия 28 от 2008-10-14 03:53:29
Размер: 21474
Редактор: eSyr
Комментарий:
Удаления помечены так. Добавления помечены так.
Строка 5: Строка 5:
Когда вы заходите по протоколу http на сервер, он в ответ на ваш запрос посылает вам некий текст, обычно в формате HTML. HTML --- это язык разметки для организации гипертекстовых данных. Для показа этого документапользователю пользователю используется программа, называемая веб-браузер ("навигатор"), которая умеет показывать html-страницы красивым образом и обрабатывать разного рода деятельность пользователя: например, вы нажимаете мышкой на ссылку, и она содержимое страницы по этой ссылке показывает. Возникает вопрос: откуда берутся эти массивы данных в виде html-страниц? Для ответа на этот вопрос создадим собственный веб-сайт, который будет являться источником html-документов . Когда вы заходите по протоколу HTTP на сервер, он в ответ на ваш запрос посылает вам некий текст, обычно в формате HTML. HTML это язык разметки для организации гипертекстовых данных. Для просмотра этого документа пользователем используется программа, называемая веб-браузером («навигатором»), которая умеет показывать HTML-страницы описанным в них образом и обрабатывать разного рода деятельность пользователя: например, вы нажимаете мышкой на ссылку, и она содержимое страницы по этой ссылке показывает. Возникает вопрос: откуда берутся эти массивы данных в виде HTML-страниц? Для ответа на этот вопрос создадим собственный веб-сайт, который будет являться источником HTML-документов.
Строка 9: Строка 9:
Для создания веб-сайта в начале необходимо установить веб-сервер --- программу, общающуюся в веб-броузерами клиентов по протоколу HTTP. В связи с тем, что на момент начала создания ПСПО в веб-сервере Apache версии 2.0 были определенные проблемы с безопасностью при включении модуля mod_proxy, в ПСПО используется старая, но испытанная версия Apache 1.3, хотя в большинстве дистрибутивов сейчас используется Apache 2.2. Для создания веб-сайта в начале необходимо установить веб-сервер программу, общающуюся с клиентами по протоколу HTTP. В связи с тем, что на момент начала создания ПСПО в [[http://httpd.apache.org/|веб-сервере Apache]] [[http://httpd.apache.org/docs/2.0/|версии 2.0]] были определенные проблемы с безопасностью при включении модуля mod_proxy, а [[http://httpd.apache.org/docs/2.2/|версия 2.2]] ещё не была доступна, в ПСПО используется старая, но испытанная версия [[http://httpd.apache.org/docs/1.3/|Apache 1.3]], хотя в большинстве дистрибутивов сейчас используется Apache 2.2.
Строка 11: Строка 11:
Для развертывания веб-сервера достаточно установить пакет apache и запустить службу httpd. В случае ПСПО web-сервер будет работоспособен сразу после установки. Для развертывания веб-сервера достаточно установить пакет apache и запустить службу httpd. В случае ПСПО веб-сервер будет работоспособен сразу после установки.
Строка 17: Строка 17:
Теперь при попытке зайти на доменное имя или IP-адрес используемой машины по протоколу HTTP будет показано следующее: Теперь при попытке зайти на доменное имя или IP-адрес используемой машины по протоколу HTTP (например, при помощи браузера) будет показано следующее:
Строка 19: Строка 19:
{{attachment:PspoClasses/080730/ssh_port_forwarding_remote_server.png}} {{attachment:../../080730/ssh_port_forwarding_remote_server.png}}
Строка 25: Строка 25:
Для создания сайта можно использовать специально предназначенную среду разработки --- Bluefish. Перед созданием каких-либо страниц создадим подкаталог в месте, предназначенном для размещения файлов контента веб-сервера, {{{/var/www}}}, и для простоты разрешим изменять его содержимое всем локальным пользователям: Для создания сайта можно использовать специально предназначенную среду разработки Bluefish. Перед созданием каких-либо страниц создадим подкаталог в месте, предназначенном для размещения файлов контента веб-сервера, {{{/var/www}}}, и для простоты разрешим изменять его содержимое всем локальным пользователям:
Строка 31: Строка 31:
Создадим с помощью редактора Bluefish html-страницу:
 1. Откроем bluefish
Создадим с помощью редактора Bluefish HTML-страницу:
 1.#1 Откроем bluefish
Строка 34: Строка 34:
 1. Откроем диалог создания новой HTML-страницы  1.#2 Откроем диалог создания новой HTML-страницы
Строка 36: Строка 36:
 1. Зададим заголовок страницы и удалим лишние заголовки  1.#3 Зададим заголовок страницы и удалим лишние заголовки
  . {{attachment:PspoClasses/080730/bluefish_page_configuration_ambigous_headers_removed.png}}
Строка 39: Строка 40:
  . {{attachment:PspoClasses/080730/bluefish_page_configuration_ambigous_headers_removed.png}}
1. Сгенерируем страницу и добавим содержимое страницы
 1.#4 Сгенерируем страницу и добавим содержимое страницы
Строка 42: Строка 42:
 1. Добавим содержимое страницы.  1.#5 Добавим содержимое страницы.
Строка 44: Строка 44:
 1. Сохраним полученный результат  1.#6 Сохраним полученный результат
Строка 47: Строка 47:
Сохраним её под именем index.html в свю домашнюю директорию и скопируем её из-под рута в `/var/www/site/` (или поменяем группу владельца или права записи этого каталога для копирования под обычным пользователем). Сохраним её под именем index.html в свою домашнюю директорию и скопируем её в `/var/www/site/`.
Строка 55: Строка 55:
DocumentRoot "/var/www/site"}}} DocumentRoot "/var/www/site"
}}}
Строка 59: Строка 60:
Строка 62: Строка 62:
Продемонстрированный подход к созданию html-страниц вручную, хотя и полезен для знакомства с языками разметки, но является устаревшим. Практика создания html-страниц вручную на данный момент по большей части ушла в прошлое. Дело в том, что при таком подходе требуется очень много усилий для поддержания сайта в актуальном состоянии. Ранее существовала даже специальная профессия --- "контенщик", человек, которому платили за регулярные обновления сайта. Задача создания осмысленной структуры сайта так же не слишком проста. В дополнение ко всему, вручную очень легко случайно или по незнанию написать html-код, который будет отображаться браузерами некорректно. Продемонстрированный подход к созданию HTML-страниц вручную, хоть и полезен для знакомства с языками разметки, но является устаревшим. Практика создания HTML-страниц вручную на данный момент по большей части ушла в прошлое. Дело в том, что при таком подходе требуется очень много усилий для поддержания сайта в актуальном состоянии. Ранее существовала даже специальная профессия — «контенщик», человек, которому платили за регулярные обновления сайта (она существует и сейчас, но имеет несколько иную специфику). Задача создания осмысленной структуры сайта так же не слишком проста. В дополнение ко всему, вручную очень легко случайно или по незнанию написать HTML-код, который будет отображаться некоторыми браузерами некорректно.
Строка 64: Строка 64:
В какой-то момент произошло осознание того, что дизайн сайта и его наполнение информацией, и представление его виде html --- это различные задачи, которые стоит решать по отдельности. Появилось два подхода к решению задачи наполнения сайта информацией: В какой-то момент произошло осознание того, что дизайн сайта и его наполнение информацией, и представление его виде HTML — это различные задачи, которые стоит решать по отдельности. Появилось два подхода к решению задачи наполнения сайта информацией:
Строка 66: Строка 66:
 * Сайт может представлять собой ответственную структуру. Информация, в таком случае, попадает на сайт после прохождения непростого жизненного цикла: какой-нибудь отдел пишет запрос, запрос обрабатывается службой контента, которая обращается к авторам; авторы пишут текст, текст вычитывается редактором, шеф утверждает текст, и лишь затем текст попадает в нужное место на сайте. Иногда этапов намного меньше, их может быть всего два --- один человек готовит информацию, другой размещает её. В любом случае, до появления на сайте информация должна пройти сколько-нибудь этапов обработки.  * Сайт может представлять собой ответственную структуру. Информация, в таком случае, попадает на сайт после прохождения непростого жизненного цикла: какой-нибудь отдел пишет запрос, запрос обрабатывается службой контента, которая обращается к авторам; авторы пишут текст, текст вычитывается редактором, шеф утверждает текст, и лишь затем текст попадает в нужное место на сайте. Иногда этапов намного меньше, их может быть всего два один человек готовит информацию, другой размещает её. В любом случае, до появления на сайте информация должна пройти сколько-нибудь этапов обработки.
 * Может существовать сообщество людей (к примеру — учителя, ALT Linux team, любители пива). Члены сообщества могут не быть ни веб-дизайнерами, ни веб-программистами, однако им может быть надо оперативно пополнять информацию на сайте наиболее простым способом. В этом случае, когда речь идет о совместном использовании и редактировании контента, важнее всего простота работы.
Строка 68: Строка 69:
 * Может существовать сообщество людей (к примеру --- учителя, ALT Linux team, любители пива, любители Евгения Сыромятникова). Члены сообщества могут не быть ни веб-дизайнерами, ни веб-программистами, однако им может быть надо оперативно пополнять информацию на сайте наиболее простым способом. В этом случае, когда речь идет о совместном использовании и редактировании контента, важнее всего простота работы. Для представления информации в виде веб-страниц используются веб-движки. То есть, помимо веб-сервера, на сервере имеется еще одна программа, которая при запросе от клиента агрегирует хранящуюся на сайте информацию, представленную в специальном виде, и формирует из неё HTML-страницы. Таких движков достаточно много, и среди них тоже можно выделить две большие группы:
Строка 70: Строка 71:
Для представления информации в виде веб-страниц используются веб-движки. То есть, помимо веб-сервера, на сервере запускается еще одна программа, которая агрегирует представленную в специальном виде информацию и формирует из неё веб контент. Таких движков достаточно много, и среди них тоже можно выделить две большие группы:

 * Порталы. Это инструменты людей, занимающихся сайтостроением. В них есть уже готовые системы поддержки блогов, документооборота, внедрения оригинального дизайна. Наиболее развитым инструментом такого плана является портальный движок Z
ope, написанный на Python. Под него существуют специальные программы, например, реализации системы управления содержимым сайта. Сайт ALTLinux использует другой аналогичный движок --- joomla. Сайт fosscenter.ru сделан на движке Drupal. Drupal интересен легкостью установки и удобством управления, однако написан на PHP  и перегружен. Существует и движок, ориентированный на сайты поддержки учебного процесса --- Moodle. Сайты, сделанные на нем, выглядят как система управления учебными курсами. В любом случае, портальный движок обязательно должен сопровождаться ответственным системным администратором. Кроме того, существует множество коммерческих портальных движков.

 * Вики (Wiki). Это технологии, упрощающие группувую работу с информационным наполнением сайта сайтами. На гавайском языке "wiki" означает "быстро". Основная концепция этой технологии --- создание веб-страницы должно занимать времени не больше, чем просто набор текста. Кроме того, должна быть максимально упрощена процедура отмены изменений.  В отличие от портальных решений, большинство из которых не бесплатны, существуют десятки свободных wiki-движков.
 * CMS (Content Management System, системы управления контентом). Это инструменты людей, занимающихся сайтостроением. В них есть уже готовые большое количество готовых модулей, например, системы поддержки блогов, документооборота, внедрения оригинального дизайна.
  * Одним из наиболее развитых инструментов такого плана является движок (точнее, application server) [[http
://zope.org/|Zope]], написанный на Python. Под него существуют специальные программы, например, [[http://www.zope.org/Products/CMF/|реализации системы управления содержимым сайта]].
  * [[http://altlinux.ru/|
Сайт ALTLinux]] использует другой аналогичный движок — [[http://joomla.org/|Joomla]].
  *
Сайт [[http://fosscenter.ru/|fosscenter.ru]] сделан на движке [[http://drupal.org/|Drupal]]. Drupal интересен легкостью установки и удобством управления, однако написан на PHP и в некоторой степени функционально и архитектурно перегружен.
  *
Существует и движок, ориентированный на сайты поддержки учебного процесса — [[http://moodle.org/|Moodle]]. Сайты, сделанные на нем, выглядят как система управления учебными курсами.     . В любом случае, портальный движок обязательно должен сопровождаться ответственным системным администратором, который в этом движке разбирается. Кроме того, существует множество коммерческих портальных движков.
 * Вики (Wiki). Это технология, упрощающая групповую работу с информационным наполнением сайта. На гавайском языке «wiki» означает «быстро». Основная концепция этой технологии создание веб-страницы должно занимать времени не больше, чем просто набор текста. Кроме того, должна быть максимально упрощена процедура отмены изменений. В отличие от портальных решений, значительная часть которых не бесплатна, существуют десятки свободных wiki-движков.
Строка 78: Строка 81:
В качестве движка Wiki рассмотрим движок Moin. Он написан на Python и является разумным компромиссом между готовой работающей программой и гибко настраиваемой программой, которую так же и удобно перепрограммировать и расширять. На самих  дисках с ПСПО moin отсутствует не входит, однако установить его достаточно просто, если подключить школьный репозиторий и выполнить следующую команду.
В качестве движка Wiki рассмотрим движок [[http://moinmo.in/|MoinMoin]]. Он написан на Python и является разумным компромиссом между готовой работающей программой и гибко настраиваемой системой, которую так же и удобно перепрограммировать и расширять. На самих дисках с ПСПО moin отсутствует, однако установить его достаточно просто, если подключить школьный репозиторий и выполнить следующую команду.
Строка 84: Строка 86:
Следующим шагом будет создания экземпляра wiki-сайта, для чего существует специальный сценарий `moin-instance-setup`. Его следует запустить с именем вики-узла (последнее должно включать только английские буквы, цифры и дефис): Следующим шагом будет создание экземпляра wiki-сайта, для чего существует специальный сценарий `moin-instance-setup`. Его следует запустить с именем вики-узла (последнее должно включать только английские буквы, цифры и дефис):
Строка 96: Строка 98:
При запуске показываются сведения о том, где находятся файлы настроек и контента и какой используется веб-адрес. После создания экземпляра wiki лучше перезапустить веб-сервер командой `service httpd restart`. При запуске показываются сведения о том, где находятся файлы настроек и содержимого и какой используется веб-адрес.
##
После создания экземпляра wiki-сайта необходимо перезапустить веб-сервер командой `service httpd restart`.
##4.2, если поглядеть на приведённые логи
Строка 100: Строка 104:
Для задания супер-пользователя Wiki нужно изменить файл `/var/www/wiki/school/cgi-bin/wikiconfig.py`, гдезадать переменной `superuser` в качестве значения список имен супер-пользователей. Например, следующая команда дает права супер-пользователя пользователю с именем `Admin`.
Для задания суперпользователя Wiki нужно изменить файл `/var/www/wiki/school/cgi-bin/wikiconfig.py`, где необходимо задать переменной `superuser` в качестве значения список имен супер-пользователей. Например, следующая команда дает права супер-пользователя пользователю с именем `Admin`:
Строка 105: Строка 108:
(данная команда заменяет закомментированную по умолчанию строку `#superuser = \[u"YourName", \]` на строку `superuser = [u"Admin", ]`)
Строка 106: Строка 110:
После того, как в Wiki появилась учетная запись суперпользователя, можно добавить языковой пакета и сменить таким образом интерфейс системы на русский. Это можно сделать на странице `http://localhost/school/SystemPagesSetup`: После того, как в MoinMoin появилась учетная запись суперпользователя, можно установить необходимые пакеты локализации и сменить интерфейс системы на русский. Это можно сделать на странице `http://localhost/school/SystemPagesSetup`:
Строка 108: Строка 112:
{{attachment:wiki_setup_language.png}} {{attachment:../wiki_setup_language.png}}
Строка 110: Строка 114:
Для запрещения создания новых пользователей в Moin, входящем в состав ПСПО, проще всего создать необходимых пользователей, а затем запретить изменения в каталоге, где Moin хранит информацию о пользователях: Для запрещения создания новых пользователей в MoinMoin, входящем в состав ПСПО, проще всего создать необходимых пользователей, а затем запретить изменения в каталоге, где MoinMoin хранит информацию о пользователях:
Строка 114: Строка 118:
(Подробнее про это можно прочитать [[http://moinmo.in/FeatureRequests/DisableUserCreation|на сайте MoinMoin]])
Строка 115: Строка 120:
Если этого не сделать, каждый желающий может зарегистрировать себе пользователя, что может привезти к вандализму. Перед добавлением нового пользователя придётся вернуть разрешение на запись: Если этого не сделать, каждый желающий может зарегистрировать себе пользователя, что может привезти к нежелательным последствиям. Перед добавлением нового пользователя придётся вернуть разрешение на запись:
Строка 120: Строка 125:
После заведения пользователей следует установить стартовую страницу wiki. Для одноязычной вики следует раскомментировать следующую строчку в файле `/var/www/wiki/school/cgi-bin/wikiconfig.py`: После заведения пользователей следует установить стартовую страницу wiki-сайта. Для одноязычной вики следует раскомментировать (и, при необходимости, отредактировать) следующую строчку в файле `/var/www/wiki/school/cgi-bin/wikiconfig.py`:
Строка 125: Строка 130:
Теперь можно приступать к редактированию содержимого Wiki. При переходе на адрес `http://localhost/school` появляется сообщение об отсутствующей странице. Это ситуация достаточно типична для содержимого Wiki-узлов: ссылка на страницу есть, а страницы ещё нет. Теперь можно приступать к редактированию содержимого wiki-сайта. При переходе на адрес `http://localhost/school` появляется сообщение об отсутствующей странице. Это ситуация достаточно типична для содержимого wiki-сайтов: ссылка на страницу есть, а страницы ещё нет.
Строка 127: Строка 132:
{{attachment:wiki_missing_start_page.png}} {{attachment:../wiki_missing_start_page.png}}
Строка 129: Строка 134:
Для создания страницы выберем вариант "Создать страницу с нуля" и введем некоторый текст, содержащий ссылку на другую страницу. Для идентификации страниц wiki используется ПрыгающаяНотация. Для создания страницы выберем вариант «Создать страницу с нуля» и введем некоторый текст, содержащий ссылку на другую страницу. Для идентификации страниц wiki используется CamelCase.
Строка 131: Строка 136:
{{attachment:wiki_edit_start_page.png}} {{attachment:../wiki_edit_start_page.png}}
Строка 133: Строка 138:
Теперь у wiki есть главная страница, содержащая ссылку на (ещё не созданную) страницу `НашаШкола`. Нажав на эту ссылку, можно создать страниу с информацией о школе --- и так далее. Теперь у wiki-сайта есть главная страница, содержащая ссылку на (ещё не созданную) страницу `НашаШкола`. Нажав на эту ссылку, можно создать страниу с информацией о школе и так далее.
Строка 135: Строка 140:
{{attachment:wiki_new_start_page1.png}} {{attachment:../wiki_new_start_page1.png}}
Строка 137: Строка 142:
Moin позволяет создавать страницы с ссылками, таблицами, рисунками, поддерживает странички пользователей и страницы категорий, а также поддерживает (как и все wiki) историю изменения страницы. Внешний вид wiki при необходимости полностью настраивается. MoinMoin позволяет создавать страницы с ссылками, таблицами, рисунками, поддерживает персональные страницы пользователей и страницы категорий, а также поддерживает (как и все wiki) историю изменения страницы. Внешний вид MoinMoin при необходимости полностью настраивается.

Wiki

Как сделать школьный веб-сайт

Когда вы заходите по протоколу HTTP на сервер, он в ответ на ваш запрос посылает вам некий текст, обычно в формате HTML. HTML — это язык разметки для организации гипертекстовых данных. Для просмотра этого документа пользователем используется программа, называемая веб-браузером («навигатором»), которая умеет показывать HTML-страницы описанным в них образом и обрабатывать разного рода деятельность пользователя: например, вы нажимаете мышкой на ссылку, и она содержимое страницы по этой ссылке показывает. Возникает вопрос: откуда берутся эти массивы данных в виде HTML-страниц? Для ответа на этот вопрос создадим собственный веб-сайт, который будет являться источником HTML-документов.

Веб-сервер Apache

Для создания веб-сайта в начале необходимо установить веб-сервер — программу, общающуюся с клиентами по протоколу HTTP. В связи с тем, что на момент начала создания ПСПО в веб-сервере Apache версии 2.0 были определенные проблемы с безопасностью при включении модуля mod_proxy, а версия 2.2 ещё не была доступна, в ПСПО используется старая, но испытанная версия Apache 1.3, хотя в большинстве дистрибутивов сейчас используется Apache 2.2.

Для развертывания веб-сервера достаточно установить пакет apache и запустить службу httpd. В случае ПСПО веб-сервер будет работоспособен сразу после установки. Установим и запустим сервер Apache следующей командой:

# apt-get install apache && service httpd start

Теперь при попытке зайти на доменное имя или IP-адрес используемой машины по протоколу HTTP (например, при помощи браузера) будет показано следующее:

../../080730/ssh_port_forwarding_remote_server.png

По умолчанию сервер Apache использует в качестве корневого каталога сайта (DocumentRoot) каталог со своей документацией. То, что мы видим приведённую выше страницу, означает, что веб-сервер работает, однако у нас отсутствует собственно веб-сайт, поскольку нет никакого содержания.

Создания HTML-страниц с помощью Bluefish

Для создания сайта можно использовать специально предназначенную среду разработки — Bluefish. Перед созданием каких-либо страниц создадим подкаталог в месте, предназначенном для размещения файлов контента веб-сервера, /var/www, и для простоты разрешим изменять его содержимое всем локальным пользователям:

# mkdir /var/www/site
# chmod o+w /var/www/site

Создадим с помощью редактора Bluefish HTML-страницу:

  1. Откроем bluefish

  1. Откроем диалог создания новой HTML-страницы
    • PspoClasses/080730/bluefish_page_configuration.png

  2. Зададим заголовок страницы и удалим лишние заголовки
    • PspoClasses/080730/bluefish_page_configuration_ambigous_headers_removed.png

  1. Сгенерируем страницу и добавим содержимое страницы

  1. Добавим содержимое страницы.
    • PspoClasses/080730/bluefish_page_final.png

  2. Сохраним полученный результат
    • PspoClasses/080730/bluefish_page_save.png

Сохраним её под именем index.html в свою домашнюю директорию и скопируем её в /var/www/site/.

Затем отредактируем файл конфигурации /etc/httpd/conf/httpd.conf. Поменяем в нём поле DocumentRoot следующим образом:

# DocumentRoot: The directory out of which you will serve your /Root
# documents. By default, all requests are taken from this directory, but
# symbolic links and aliases may be used to point to other locations.
#
DocumentRoot "/var/www/site"

Теперь, после перезапуска apache командой service httpd restart, в браузере при обращении к данной машине можно будет увидеть только что созданную страницу.

Подходы к автоматизированному созданию веб-сайтов

Продемонстрированный подход к созданию HTML-страниц вручную, хоть и полезен для знакомства с языками разметки, но является устаревшим. Практика создания HTML-страниц вручную на данный момент по большей части ушла в прошлое. Дело в том, что при таком подходе требуется очень много усилий для поддержания сайта в актуальном состоянии. Ранее существовала даже специальная профессия — «контенщик», человек, которому платили за регулярные обновления сайта (она существует и сейчас, но имеет несколько иную специфику). Задача создания осмысленной структуры сайта так же не слишком проста. В дополнение ко всему, вручную очень легко случайно или по незнанию написать HTML-код, который будет отображаться некоторыми браузерами некорректно.

В какой-то момент произошло осознание того, что дизайн сайта и его наполнение информацией, и представление его виде HTML — это различные задачи, которые стоит решать по отдельности. Появилось два подхода к решению задачи наполнения сайта информацией:

  • Сайт может представлять собой ответственную структуру. Информация, в таком случае, попадает на сайт после прохождения непростого жизненного цикла: какой-нибудь отдел пишет запрос, запрос обрабатывается службой контента, которая обращается к авторам; авторы пишут текст, текст вычитывается редактором, шеф утверждает текст, и лишь затем текст попадает в нужное место на сайте. Иногда этапов намного меньше, их может быть всего два — один человек готовит информацию, другой размещает её. В любом случае, до появления на сайте информация должна пройти сколько-нибудь этапов обработки.
  • Может существовать сообщество людей (к примеру — учителя, ALT Linux team, любители пива). Члены сообщества могут не быть ни веб-дизайнерами, ни веб-программистами, однако им может быть надо оперативно пополнять информацию на сайте наиболее простым способом. В этом случае, когда речь идет о совместном использовании и редактировании контента, важнее всего простота работы.

Для представления информации в виде веб-страниц используются веб-движки. То есть, помимо веб-сервера, на сервере имеется еще одна программа, которая при запросе от клиента агрегирует хранящуюся на сайте информацию, представленную в специальном виде, и формирует из неё HTML-страницы. Таких движков достаточно много, и среди них тоже можно выделить две большие группы:

  • CMS (Content Management System, системы управления контентом). Это инструменты людей, занимающихся сайтостроением. В них есть уже готовые большое количество готовых модулей, например, системы поддержки блогов, документооборота, внедрения оригинального дизайна.
    • Одним из наиболее развитых инструментов такого плана является движок (точнее, application server) Zope, написанный на Python. Под него существуют специальные программы, например, реализации системы управления содержимым сайта.

    • Сайт ALTLinux использует другой аналогичный движок — Joomla.

    • Сайт fosscenter.ru сделан на движке Drupal. Drupal интересен легкостью установки и удобством управления, однако написан на PHP и в некоторой степени функционально и архитектурно перегружен.

    • Существует и движок, ориентированный на сайты поддержки учебного процесса — Moodle. Сайты, сделанные на нем, выглядят как система управления учебными курсами.

    • В любом случае, портальный движок обязательно должен сопровождаться ответственным системным администратором, который в этом движке разбирается. Кроме того, существует множество коммерческих портальных движков.
  • Вики (Wiki). Это технология, упрощающая групповую работу с информационным наполнением сайта. На гавайском языке «wiki» означает «быстро». Основная концепция этой технологии — создание веб-страницы должно занимать времени не больше, чем просто набор текста. Кроме того, должна быть максимально упрощена процедура отмены изменений. В отличие от портальных решений, значительная часть которых не бесплатна, существуют десятки свободных wiki-движков.

Использование Wiki

В качестве движка Wiki рассмотрим движок MoinMoin. Он написан на Python и является разумным компромиссом между готовой работающей программой и гибко настраиваемой системой, которую так же и удобно перепрограммировать и расширять. На самих дисках с ПСПО moin отсутствует, однако установить его достаточно просто, если подключить школьный репозиторий и выполнить следующую команду.

# apt-get update && apt-get install moin

Следующим шагом будет создание экземпляра wiki-сайта, для чего существует специальный сценарий moin-instance-setup. Его следует запустить с именем вики-узла (последнее должно включать только английские буквы, цифры и дефис):

# moin-instance-setup school
Checking configuration sanity for httpd: DONE
Stopping libhttpd.ep service: DONE
Starting libhttpd.ep service: DONE
Moin-Moin school installation is finished:
        Wiki pages: /var/www/wiki/school
        Wiki url: http://localhost.localdomain/school
        Additional Apache config file: /etc/httpd/conf/addon-modules.d/moin-school.conf
Edit /var/www/wiki/school/cgi-bin/wikiconfig.py to set your site up.

При запуске показываются сведения о том, где находятся файлы настроек и содержимого и какой используется веб-адрес.

После этого следует зайти с помощью браузера на адрес http://localhost/school и завести там учётную запись, например с именем Admin (для этого так же можно перейти по адресу http://localhost/school/UserPreferences).

Для задания суперпользователя Wiki нужно изменить файл /var/www/wiki/school/cgi-bin/wikiconfig.py, где необходимо задать переменной superuser в качестве значения список имен супер-пользователей. Например, следующая команда дает права супер-пользователя пользователю с именем Admin:

# sed 's/#superuser = \[u"YourName", \]/superuser = [u"Admin", ]/' -i /var/www/wiki/school/cgi-bin/wikiconfig.py

(данная команда заменяет закомментированную по умолчанию строку #superuser = \[u"YourName", \] на строку superuser = [u"Admin", ])

После того, как в MoinMoin появилась учетная запись суперпользователя, можно установить необходимые пакеты локализации и сменить интерфейс системы на русский. Это можно сделать на странице http://localhost/school/SystemPagesSetup:

../wiki_setup_language.png

Для запрещения создания новых пользователей в MoinMoin, входящем в состав ПСПО, проще всего создать необходимых пользователей, а затем запретить изменения в каталоге, где MoinMoin хранит информацию о пользователях:

# chmod u-w /var/www/wiki/school/data/user

(Подробнее про это можно прочитать на сайте MoinMoin)

Если этого не сделать, каждый желающий может зарегистрировать себе пользователя, что может привезти к нежелательным последствиям. Перед добавлением нового пользователя придётся вернуть разрешение на запись:

# chmod u+w /var/www/wiki/school/data/user

После заведения пользователей следует установить стартовую страницу wiki-сайта. Для одноязычной вики следует раскомментировать (и, при необходимости, отредактировать) следующую строчку в файле /var/www/wiki/school/cgi-bin/wikiconfig.py:

page_front_page = u'MyStartingPage';

Теперь можно приступать к редактированию содержимого wiki-сайта. При переходе на адрес http://localhost/school появляется сообщение об отсутствующей странице. Это ситуация достаточно типична для содержимого wiki-сайтов: ссылка на страницу есть, а страницы ещё нет.

../wiki_missing_start_page.png

Для создания страницы выберем вариант «Создать страницу с нуля» и введем некоторый текст, содержащий ссылку на другую страницу. Для идентификации страниц wiki используется CamelCase.

../wiki_edit_start_page.png

Теперь у wiki-сайта есть главная страница, содержащая ссылку на (ещё не созданную) страницу НашаШкола. Нажав на эту ссылку, можно создать страниу с информацией о школе — и так далее.

../wiki_new_start_page1.png

MoinMoin позволяет создавать страницы с ссылками, таблицами, рисунками, поддерживает персональные страницы пользователей и страницы категорий, а также поддерживает (как и все wiki) историю изменения страницы. Внешний вид MoinMoin при необходимости полностью настраивается.


Сведения о ресурсах

Готовность (%)

Продолжительность (ак. ч.)

Подготовка (календ. ч.)

Полный текст (раб. д.)

Предварительные знания

Level

Maintainer

Start date

End date

90

1

1

1

1

ConstantinYershow, Allena, VsevolodKrishchenko


CategoryLectures CategoryPspo CategoryMpgu CategoryUneex

PspoClasses/080722/05Wiki (последним исправлял пользователь eSyr 2009-03-22 23:53:52)