Различия между версиями 1 и 12 (по 11 версиям)
Версия 1 от 2008-07-23 12:42:23
Размер: 8222
Редактор: eSyr
Комментарий:
Версия 12 от 2008-08-26 23:49:31
Размер: 13707
Редактор: VsevolodKrishchenko
Комментарий:
Удаления помечены так. Добавления помечены так.
Строка 2: Строка 2:
== О том, как ни с того, ни с сего сделать школьный вебсайт ==
=== Apache ===
Для начала установим web-сервер. В связи с тем, что на момент начала создания ПСПО в apache 2.0 были проблемы с безопасностью (при включении mod_proxy веб-сервер превращался в open proxy), в ПСПО используется apache 1.3, хотя в большинстве дистрибутивов сейчас используется apache 2.2.
Для развертывания web-сайта достаточно установить пакет apache. В случае ПСПО web-сервер будет работоспособен сразу после установки.
Строка 3: Строка 7:
Как ни с того, ни с сего сделать школьный вебсайт. Тут есть одна небольшая прблема, связаная с тем, что ПСПО делалась на сонове двольно тсарой ветки, и в ней ещё не было до кнца принятго решения, какую версию апача использовать. Поэтому то, чт лектор будет расск. про апач 1. На апаче 2.2 это делается точно также, но в тличие от апча 1, делается одной кмандой. Запустим apache:
{{{
# service httpd start
Starting libhttpd.ep service:
DONE
}}}
Строка 5: Строка 14:
Первым делом уст. http-серврер. Никт уже давн не занимается тем, что редактирует редакторм html-страницы и предст. это в виде вебсайта. В чём пафос утвреждения: чт такое прсмтр ведсайта: вы зходите по http на сервре, сервер тдаёт некий текст, обычно в формате html, это такой язык разметки, ваш прграмма, называемая брузер, умеет показывать эти html-страницы красивым образом и браб. разнго рода деятельность. Вопрос: откуда берутся эти html-ные массивы данных. Раньше как это делалось: запускалась программа, писался размеченный текст, и схранялся как html, или писался
этот html при помщи редактра. Если вам надо писать школьный сайт, кторый рабтает, то надо представтиь,во чт вы вляпыветесь: пмимо адм. вебсервера, надо потр. часы на создание дестяка хтмл-страниц, друг на друга ведущих, и кзывается, чт через плгода оно теряет актуальность, а, поскольку трапртавали том, что есть сайт, т начальство тредует его бновлять. В общем, это какая-то прост бяка плучается, кторую забесплатно никт делать не будет. Соответственно, была профессия контентщик.
Теперь при попытке зайти по доменному имени или IP-адресу используемой машины будет показано следующее:
Строка 8: Строка 16:
Кроме того, структура должна быть спланироваа, это должно как-т выглядеть, крме тго, редактируя html вручную, мжно доиться того, что оно нормаьлно нигде не будет пказываться. {{attachment:PspoClasses/080730/ssh_port_forwarding_remote_server.png}}
Строка 10: Строка 18:
Дошл того, что поняли, чт генерацией html должна заниматься машина, дизайнм --- дизайнеры. А контент делается тдеьлно. В результате, получается два способа организации
 * Некий непростй workflow. В этм случае было бы неплохо орг. путешествие документа по глубинам рараб. сайта, пока он не попадёт в публикацию
 * Второй вариант --- есть неке собщесто людей, кторые не веб-дизайнеры, не веб-прграммисты, но задача которых состоит в пополнении информации на сайте наиболее простым спосбом. При чём, может в зависимсти от функциональнсти на требоваться. А в случае, если речь идёт некоем совм. исп. контент, мы упираемся в первую очередь в простоту работы. И те, и другие работы, то есть, организция некоего удобного для польз. прстранства, чтобы н мог пред. некие услуги поверх, делается с помощью такой вещи, как веб-движок. Т есть, поверх веб-сервера запущегна некая прграмма, которая всасывает данные и фрм. контент. Таких движков чртова прорва. В первм случае это порталы --- большие инстр. для людей, кторые занимаются постр. веб-сайтов --- готовый куск под названием блог, сист. документооборота, готвое мест, где дизайнер может внедрить дизайн. Наиболее пробвинутый, хтя не чень известный движок, называется Zope. altlinux крутится на joomla, fosscenter --- на drupal. Drupal двольно интересная штука, челвек, который этим не занимается, лектор, смог за час эго устанвить и настроить. Смущают только две вещи --- оно на php и слишко мнстровый движок. Такое входит в состав pspo, и вроде есть в ветке --- moodle. ЕдинственнеЮ, чт с пмощью moodle нельзя сделать ---- написать сайт, чтбы н выглядил как сйт, а не как learning management system.
Это означает, что apache работает, однако отсутствует собственно сайт --- контент.
Строка 14: Строка 20:
Вот лектор назвал всякие названия, единственное, что нужно отметить --- к каждму такму проекту нужен системный администратор. Нам, простым смертным, это доступно, но, если не следить, то оно плох развивается. Вторй вариант --- восп. техн., которые упрщают рабту с сайтами. Оно происх. от wikiwiki, что на гавайском означает быстр-быстр. Концепция --- чтобы создание сайта занимала не дольше, чем вбивание текста в текстовое окно. На самом деле, wiki-движков дост. много, и то, что лектор хочет предложить вашему вниманию... Он очень небольшой. Вполне себе изолированный. Давайте апач запустим. Если пройдём по 10.30.5.1, то увидим дефолтную страницу, что означает, чт своих страниц сейчас нет. Моин, это очередной движок, кторый тличатеся тем, чт написан на питоне, а не на похапе. === Bluefish ===
Строка 16: Строка 22:
Для установки достаточно сказать moin-instance-setup base Для создания сайта можно использовать специально предназначенную среду разработки --- Bluefish.
По умолчанию Bluefish использует в качестве рабочего каталога `/var/www`. Создадим в нём подкаталог:
{{{
# cd /var/www/
# mkdir site
# cd site/
}}}

Создадим с помощью bluefish html-страницу:

1. {{attachment:PspoClasses/080730/bluefish.png}}

2. {{attachment:PspoClasses/080730/bluefish_page_configuration.png}}

3. {{attachment:PspoClasses/080730/bluefish_page_configuration_title.png}}

4. {{attachment:PspoClasses/080730/bluefish_page_configuration_ambigous_headers_removed.png}}

5. {{attachment:PspoClasses/080730/bluefish_page_generated.png}}

6. {{attachment:PspoClasses/080730/bluefish_page_final.png}}

7. {{attachment:PspoClasses/080730/bluefish_page_save.png}}

Сохраним её под именем index.html.
## локально и потом скопируем из под рута. --- откуда и куда? иллюстрацию бы.

Затем отредактируем `/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, в браузере, при обращении к данной машине, можно будет увидеть только что созданную страницу.
Перезапустить web-сервер можно следующей командой:
{{{
# service httpd restart
Checking configuration sanity for httpd: DONEStopping libhttpd.ep service: DONEStarting libhttpd.ep service: DONE
}}}
##()
##Чем хорош блюфиш --- ненужные заголовки можно поудалять, а как пишутся нужные, можно не запоминать.

=== Wiki ===

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

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

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

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

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

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

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

 * Порталы. Это инструменты людей, занимающихся сайтостроением. В них есть уже готовые системы поддержки блогов, документооборота, внедрения оригинального дизайна. Наиболее развитым инструментом такого плана является портальный движок Zope, написанный на Python. Под него существуют специальные программы, например, реализации cms. Сайт altlinux использует другой аналогичный движок --- joomla. fosscenter.ru сделан на движке Drupal. Drupal интересен легкостью установки и удобством управления, однако написан на PHP и перегружен. Существует движок, ориентированный на learning content --- Moodle. Сайты, сделанные на нем, выглядят спецефически, как learning management system. В любом случае, портальный движок обязательно должен сопровождаться ответственным системным администратором.
 
 * wikiwiki. Это технологии, упрощающие работу с сайтами. На гавайском английском название означает "быстро-быстро"(искаженное quick-quick). Основная концепция этой технологии --- создание веб-страницы должно занимать времени не больше, чем просто набор текста. Кроме того, должна быть максимально упрощена процедура отмены изменений. В отличие от портальных решений, большинство из которых не бесплатны, свободных wiki-движков существует несколько сотен. В качестве примера будет рассматриваться движок moin. Он написан на Python и является разумным компромиссом между готовой работающей структурой и вещью, которая гибко настраивается и удобно перепрограммируется. В состав ПСПО 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
Строка 24: Строка 123:
|| 0 || 1 || 1 || 1 || || 1 || ConstantinYershow, [[Allena]], VsevolodKrishchenko || || || || 52 || 1 || 1 || 1 || || 1 || ConstantinYershow, [[Allena]], VsevolodKrishchenko || || ||

Wiki

О том, как ни с того, ни с сего сделать школьный вебсайт

Apache

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

Запустим apache:

# service httpd start
Starting libhttpd.ep service:
DONE

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

PspoClasses/080730/ssh_port_forwarding_remote_server.png

Это означает, что apache работает, однако отсутствует собственно сайт --- контент.

Bluefish

Для создания сайта можно использовать специально предназначенную среду разработки --- Bluefish. По умолчанию Bluefish использует в качестве рабочего каталога /var/www. Создадим в нём подкаталог:

# cd /var/www/
# mkdir site
# cd site/

Создадим с помощью bluefish html-страницу:

1. PspoClasses/080730/bluefish.png

2. PspoClasses/080730/bluefish_page_configuration.png

3. PspoClasses/080730/bluefish_page_configuration_title.png

4. PspoClasses/080730/bluefish_page_configuration_ambigous_headers_removed.png

5. PspoClasses/080730/bluefish_page_generated.png

6. PspoClasses/080730/bluefish_page_final.png

7. PspoClasses/080730/bluefish_page_save.png

Сохраним её под именем index.html.

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

# service httpd restart
Checking configuration sanity for httpd:  DONEStopping libhttpd.ep service: DONEStarting libhttpd.ep service: DONE

Wiki

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

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

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

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

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

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

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

52

1

1

1

1

ConstantinYershow, Allena, VsevolodKrishchenko


CategoryLectures CategoryPspo CategoryMpgu CategoryUneex

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