Рубрика:
Администрирование /
Информационный портал
|
Facebook
Мой мир
Вконтакте
Одноклассники
Google+
|
ПАВЕЛ МАЛАХОВ, фрилансер, 24pm@mail.ru
Создание сайта вики семейства
Эта статья открывает серию статей проекта по созданию «Википедии по своим правилам». Будет подробно описан процесс создания и настройки вики семейства
В январе 2001 года появилось еще одно доказательство того, что наш мир не настолько эгоистичен и коммерциализирован, как можно подумать, увлекшись новостными каналами или безуспешно пытаясь избавиться от кредитной зависимости.
Ныне широко известный проект Википедия, основанный в США Джимми Уэйлсом и Ларри Сэнгером, предоставляет всему миру не только возможность пользоваться самым полным бесплатным электронным энциклопедическим словарем с более чем 40 миллионами статей на более чем 290 языках, но и пополнять его силами добровольцев. Движок Википедии MediaWiki [1] является также бесплатным и свободно распространяемым, что позволило большому количеству сайтов присоединиться к миссии специально созданного для этого Фонда Викимедия [2] по созданию и распространению образовательных и справочных электронных изданий. Сам Фонд также расширяет свою деятельность и сейчас уже имеет 16 проектов на этом движке. Все они многоязычные, что уже подразумевает (в этом движке) наличие семейства сайтов.
Журнал «Системный администратор» совместно с сайтом СисадминВики [3] решили поддержать благородную инициативу Фонда Викимедия и запустили учебный проект по созданию функционального аналога Википедии. Ввиду своего масштаба технологии построения вики семейства Википедии отличаются от тех, что мы будем применять в нашем проекте, но функционально мы постараемся приблизиться к этому уникальному источнику знаний.
В предлагаемой серии статей мы будем постепенно разворачивать сайт вики семейства, подробно комментируя весь процесс и обильно снабжая ссылками на дополнительный материал. Кроме самих статей, будет доступен и сам сайт, накотором можно вживую увидеть результат выполнения всех описанных действий. Причем для каждого этапа будет доступен свой сайт, т.е. сайт, получившийся на первом шаге, будет продублирован и все дальнейшие изменения применены кего копии. Аналогично для второго сайта. Таким образом, мы сохраним возможность пользоваться и этими статьями и сайтами-примерами даже после завершения проекта. Всего планируется пока что три этапа (см. рис. 1):
- Одиночный сайт.
- Сайт вики семейства (один язык, несколько разделов).
- Многоязыковой сайт вики семейства, с несколькими разделами в каждом языке.
Рисунок 1. Вики семейство. Вход
Общая точка входа для всех сайтов: http://wikifamily.sysadminwiki.ru.
Все настройки будем выполнять поэтапно, наращивая функционал. Таким образом, те, кому не нужны все возможности, смогут остановиться на любом шаге и получить работающий сайт. Описанный алгоритм позволит добавлять в проект сколько угодно вики. В конечном итоге мы получим:
- Один движок для всех вики, т.е. используется один набор PHP-файлов для всех разделов и языков. Это значительно облегчит обновление движка.
- Одна база данных. Для каждой вики свой префикс к таблицам.
- Единый центр авторизации проекта для всех вики. Пользователь в одной вики автоматически является пользователем остальных.
- Общее хранилище изображений и других файлов.
- Многоязычность.
- Разграничение пользовательских прав на разных вики.
В интернете для подобных сайтов можно встретить два равнозначных определительных: «вики семейство» и «вики ферма». Мы будем использовать первое.
Движок MediaWiki написан на PHP и для хранения данных может использовать одну из следующих СУБД: MySQL (MariaDB), PostgreSQL, SQLite, Oracle [4]. В качестве веб-сервера мы будем использовать Apache. Все это программное обеспечение доступно как для Unix/Linux, так и для Windows. Так как наиболее распространенным хостингом является первый вариант, то его и будем использовать в примерах. Однако отличие для Windows будет заключаться только вскриптах автоматизации и командах, алгоритм же и приведенные справочные ресурсы остаются актуальными. Сам Фонд Викимедия использует в своих проектах связку LAMP (Linux + Apache + MariaDB/MySQL + PHP).
Для нашего показательного проекта выберем форму внутрикорпоративного вики сайта. Сначала это будет общая для всех одиночная вики, затем мы добавим несколько вики для разных отделов, и на третьем этапе создадим иноязычные вики для филиалов с такой же (или иной) разбивкой по отделам.
Сайту дадим условное DNS-имя: MyWiki.ru. Наша вики может быть как полностью изолированной от интернета внутрикорпоративной, так и доступной из интернета с ограничениями прав. Все сказанное остается верным для обоих случаев, кроме случаев использования внешних ресурсов, но на это мы обратим внимание в надлежащем месте.
Статью целиком читайте в журнале «Системный администратор», №07-08 за 2016 г. на страницах 36-39.
PDF-версию данного номера можно приобрести в нашем магазине.
- Сайт MediaWiki движка Википедии – https://www.mediawiki.org.
- Фонд Викимедия, владелец MediaWiki, Википедии и ряда других проектов – https://wikimediafoundation.org.
- Сайт СисадминВики – http://sysadminwiki.ru.
- Требования для установки – https://www.mediawiki.org/wiki/Manual:Installation_requirements/ru.
- Описание всех переменных конфигурационного файла – https://www.mediawiki.org/wiki/Manual:Configuration_settings/ru.
- Настройка короткого адреса вики страниц – https://www.mediawiki.org/wiki/Manual:Short_URL/ru.
- Описание директивы RewriteRule веб-сервера Apache – http://www.shtogrin.com/library/web/mod_rewrite/doc/RewriteRule.
- Малахов П. Многоликий Apache. // «Системный администратор», №12, 2005 г. – С. 63-65 (http://samag.ru/archive/article/600).
- Визуальный Редактор – https://www.mediawiki.org/wiki/Extension:VisualEditor.
- Справочная страница для администратора сайта под управлением MediaWiki – https://www.mediawiki.org/wiki/Manual:System_administration/ru.
Facebook
Мой мир
Вконтакте
Одноклассники
Google+
|