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. Зададим заголовок страницы и удалим лишние заголовки

  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 --- это различные задачи, которые стоит решать по отдельности. Появилось два подхода к решению задачи наполнения сайта информацией:

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

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

# 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

58

1

1

1

1

ConstantinYershow, Allena, VsevolodKrishchenko


CategoryLectures CategoryPspo CategoryMpgu CategoryUneex