Differences between revisions 15 and 16
Revision 15 as of 2008-08-31 23:33:48
Size: 14962
Comment:
Revision 16 as of 2008-09-02 04:43:42
Size: 15020
Comment:
Deletions are marked like this. Additions are marked like this.
Line 3: Line 3:

Вы заходите по протоколу http на сервер, сервер отдаёт вам некий текст, обычно в формате html, это такой язык разметки, то есть язык организации гипертекстовых данных, ваша программа, называемая браузер, т.е. нафигатор, умеет показывать эти html-страницы красивым образом (то есть, где в качестве гипертекста участвует картинка, показывается картинка, где ссылка - ссылка...) и обрабатывать разного рода деятельность (например, вы тыкаете мышкой на ссылку, и она эту ссылку тоже показывает). Вопрос: откуда берутся эти html-ные массивы данных?
Line 18: Line 21:
По умолчанию сервер Apache использует в качестве корневого каталога сайта (DocumentRoot) каталог со своей документацией. То, что мы видим приведённую выше страницу, означает, что веб-сервер работает, однако отсутствует собственно сайт --- контент. По умолчанию сервер Apache использует в качестве корневого каталога сайта (DocumentRoot) каталог со своей документацией. То, что мы видим приведённую выше страницу, означает, что веб-сервер работает, однако у нас отсутствует собственно веб-сайт, поскольку нет никакого содержания.
Line 22: Line 25:
Для создания сайта можно использовать специально предназначенную среду разработки --- Bluefish.

Перед созданием каких-либо страниц создадим подкаталог в месте, предназначенном для размещения файлов контента веб-сервера, `/var/www`:
Для создания сайта можно использовать специально предназначенную среду разработки --- Bluefish. Перед созданием каких-либо страниц создадим подкаталог в месте, предназначенном для размещения файлов контента веб-сервера, {{{/var/www}}}, и для простоты разрешим изменять его содержимое всем локальным пользователям:
Line 26: Line 27:
# cd /var/www/
# mkdir
site
# cd site/
# mkdir /var/www/site
# chmod o+w /var/www/site
Line 31: Line 31:
Создадим с помощью bluefish html-страницу:
Создадим с помощью редактора Bluefish html-страницу:
Line 34: Line 33:
  . {{attachment:PspoClasses/080730/bluefish.png}} ## . {{attachment:PspoClasses/080730/bluefish.png}}
Line 37: Line 36:
 1. Зададим заголовок страницы
  . {{attachment:PspoClasses/080730/bluefish_page_configuration_title.png}}
 1. Удалим лишние заголовки
 1. Зададим заголовок страницы и удалим лишние заголовки
## . {{attachment:PspoClasses/080730/bluefish_page_configuration_title.png}}
## 1. Удалим лишние заголовки
Line 41: Line 40:
 1. Сгенерируем страницу
  .{{attachment:PspoClasses/080730/bluefish_page_generated.png}}
 1. Сгенерируем страницу и добавим содержимое страницы
## .{{attachment:PspoClasses/080730/bluefish_page_generated.png}}
Line 52: Line 51:
Затем отредактируем `/etc/httpd/conf/httpd.conf`. Поменяем в нём поле DocumentRoot: Затем отредактируем `/etc/httpd/conf/httpd.conf`. Поменяем в нём поле DocumentRoot следующим образом:
Line 60: Line 59:
Теперь, после перезапуска apache, в браузере, при обращении к данной машине, можно будет увидеть только что созданную страницу. Перезапустить веб-сервер можно следующей командой `service httpd restart`:
{{{
# service httpd restart
Checking configuration sanity for httpd: DONEStopping libhttpd.ep service: DONEStarting libhttpd.ep service: DONE
}}}
##()
##Чем хорош блюфиш --- ненужные заголовки можно поудалять, а как пишутся нужные, можно не запоминать.
Теперь, после перезапуска apache командой {{{service httpd restar}}}, в браузере при обращении к данной машине можно будет увидеть только что созданную страницу.
Line 68: Line 61:
=== Wiki === === Использование Wiki ===
Line 72: Line 65:
##вы заходите по протокуолу http на сервр, сервер отдаёт вам некий текст, обычно в формате html, это такой язык разметки, то есть язык организации гипертекстовых данных, ваша программа, называемая браузер, т.е. нафигатор, умеет показывать эти html-страницы красивым образом (то есть, где в качестве гипертекста участвует картинка, показывается картинка, где ссылка - ссылка...) и обрабатывать разного рода деятельность (например, вы тыкаете мышкой на ссылку, и она эту ссылку тоже показывает). Вопрос: откуда берутся эти html-ные массивы данных?
Line 88: Line 80:
 * wikiwiki. Это технологии, упрощающие работу с сайтами. На гавайском английском название означает "быстро-быстро"(искаженное quick-quick). Основная концепция этой технологии --- создание веб-страницы должно занимать времени не больше, чем просто набор текста. Кроме того, должна быть максимально упрощена процедура отмены изменений. В отличие от портальных решений, большинство из которых не бесплатны, свободных wiki-движков существует несколько сотен. В качестве примера будет рассматриваться движок moin. Он написан на Python и является разумным компромиссом между готовой работающей структурой и вещью, которая гибко настраивается и удобно перепрограммируется. В состав ПСПО moin  не входит, однако установаить его достаточно просто.  * Wiki. Это технологии, упрощающие группувую работу с информационным наполнением сайта сайтами. На гавайском языке "wiki" означает "быстро". Основная концепция этой технологии --- создание веб-страницы должно занимать времени не больше, чем просто набор текста. Кроме того, должна быть максимально упрощена процедура отмены изменений. В отличие от портальных решений, большинство из которых не бесплатны, свободных wiki-движков существует несколько сотен. В качестве примера будет рассматриваться движок moin. Он написан на Python и является разумным компромиссом между готовой работающей структурой и вещью, которая гибко настраивается и удобно перепрограммируется. В состав ПСПО moin не входит, однако установить его достаточно просто.

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

Wiki

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

Вы заходите по протоколу http на сервер, сервер отдаёт вам некий текст, обычно в формате html, это такой язык разметки, то есть язык организации гипертекстовых данных, ваша программа, называемая браузер, т.е. нафигатор, умеет показывать эти html-страницы красивым образом (то есть, где в качестве гипертекста участвует картинка, показывается картинка, где ссылка - ссылка...) и обрабатывать разного рода деятельность (например, вы тыкаете мышкой на ссылку, и она эту ссылку тоже показывает). Вопрос: откуда берутся эти html-ные массивы данных?

Веб-сервер Apache

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

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

# apt-get install apache && service httpd start

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

PspoClasses/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/.

Владельца 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 restar, в браузере при обращении к данной машине можно будет увидеть только что созданную страницу.

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

Однако, тот подход, что был только что продемонстрирован, является устаревшим. Практика создания html-страниц вручную на данный момент по большей части ушла в прошлое.

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

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

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

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

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

  • Порталы. Это инструменты людей, занимающихся сайтостроением. В них есть уже готовые системы поддержки блогов, документооборота, внедрения оригинального дизайна. Наиболее развитым инструментом такого плана является портальный движок Zope, написанный на Python. Под него существуют специальные программы, например, реализации cms. Сайт altlinux использует другой аналогичный движок --- joomla. fosscenter.ru сделан на движке Drupal. Drupal интересен легкостью установки и удобством управления, однако написан на PHP и перегружен. Существует движок, ориентированный на learning content --- Moodle. Сайты, сделанные на нем, выглядят спецефически, как learning management system. В любом случае, портальный движок обязательно должен сопровождаться ответственным системным администратором.
  • Wiki. Это технологии, упрощающие группувую работу с информационным наполнением сайта сайтами. На гавайском языке "wiki" означает "быстро". Основная концепция этой технологии --- создание веб-страницы должно занимать времени не больше, чем просто набор текста. Кроме того, должна быть максимально упрощена процедура отмены изменений. В отличие от портальных решений, большинство из которых не бесплатны, свободных wiki-движков существует несколько сотен. В качестве примера будет рассматриваться движок moin. Он написан на Python и является разумным компромиссом между готовой работающей структурой и вещью, которая гибко настраивается и удобно перепрограммируется. В состав ПСПО moin не входит, однако установить его достаточно просто.

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

Чтобы запустить эту службу, выполним:

# 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.

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

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

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

http://localhost/school/UserPreferences

http://localhost/school/SystemPagesSetup


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

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

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

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

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

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

Level

Maintainer

Start date

End date

55

1

1

1

1

ConstantinYershow, Allena, VsevolodKrishchenko


CategoryLectures CategoryPspo CategoryMpgu CategoryUneex

PspoClasses/080722/05Wiki (last edited 2009-03-22 20:53:52 by eSyr)