Установка MoinMoin и Nginx в Ubuntu 14.04

Published by Leave your thoughts

MoinMoin – это высокопроизводительная открытая вики-платформа, написанная в Python. Она позволяет создавать многофункциональные вики-сайты и поддерживает широкие сообщества пользователей. На платформе MoinMoin созданы открытые вики таких организаций, как Ubuntu, Apache, FreeBSD и многие другие.

Данное руководство поможет установить MoinMoin на свежий сервер Ubuntu 14.04 при помощи Nginx и uWSGI. Данная установка предназначена для одного вики-сайта.

Требования

Для выполнения руководства нужно иметь:

  • Не-root пользователя с расширенными правами.
  • Предварительно настроенный свежий сервер Ubuntu 14.04.
  • Текстовый редактор; в данном руководстве используется vi, но можно его любым другим редактором.

Установка uWSGI

Для начала нужно установить сервер приложений uWSGI.

Обновите список пакетов:

sudo apt-get update

Для установки uWSGI лучше всего использовать pip, менеджер приложений Python. Установите pip и дополнительные библиотеки Python:

sudo apt-get install python-pip python-dev

После установки pip установите последний стабильный релиз uWSGI:

sudo pip install http://projects.unbit.it/downloads/uwsgi-lts.tar.gz

Если установка uWSGI прошла успешно, на экране появится сообщение:

############## end of uWSGI configuration #############
total build time: 36 seconds
*** uWSGI is ready, launch it with /usr/local/bin/uwsgi ***
Successfully installed uWSGI
Cleaning up...

Сервер uWSGI успешно установлен и готов к работе.

Установка MoinMoin

Прежде чем запустить установку MoinMoin, проверьте эту страницу и выберите версию платформы. Найдите последний доступный релиз MoinMoin и скопируйте его URL в буфер обмена.

Примечание: В данном руководстве показано, как установить версию 1.9.8. При необходимости замените URL-адрес в следующей команде ссылкой на более актуальную версию.

Для загрузки архива MoinMoin используйте команду wget.

cd ~
wget http://static.moinmo.in/files/moin-1.9.8.tar.gz

Распакуйте архив:

tar zxvf moin-1.9.8.tar.gz

Откройте каталог, который был получен после распаковки архива MoinMoin:

cd moin-*

Чтобы собрать Python-приложение MoinMoin и скопировать его в /usr/local, запустите:

sudo python setup.py install --prefix=/usr/local

В Python 2.7 скрипт устанавливает пакет с кодом MoinMoin в /usr/local/lib/python2.7/dist-packages/, а остальные данные в /usr/local/share/moin.

Теперь установка приложения MoinMoin завершена, но MoinMoin требует предварительной настройки.

Настройка MoinMoin

Сначала нужно подготовить конфигурационные файлы MoinMoin.

Перейдите в каталог установки:

cd /usr/local/share/moin

Скопируйте образец конфигурации сервера (moin.wsgi) в текущий каталог:

sudo cp server/moin.wsgi .

Откройте конфигурационный файл сервера для редактирования:

sudo vi moin.wsgi

После строки import sys, os вставьте следующий код:

sys.path.insert(0, '/usr/local/lib/python2.7/dist-packages/')
sys.path.insert(0, '/usr/local/share/moin/')

Сохраните и закройте файл. Эти строки указывают расположение кода MoinMoin и конфигурационных файлов вики.

Затем откройте uwsgi.ini:

sudo vi uwsgi.ini

Добавьте в этот файл следующие строки:

[uwsgi]
uid = www-data
gid = www-data
socket = /usr/local/share/moin/moin.sock
chmod-socket = 660
logto = /var/log/uwsgi/uwsgi.log
chdir = /usr/local/share/moin/
wsgi-file = moin.wsgi
master
workers = 3
max-requests = 200
harakiri = 30
die-on-term

Сохраните и закройте файл. Файл uwsgi.ini будет использоваться для загрузки приложения MoinMoin и сервера uWSGI. Данный код определяет пользователя, сокет, конфигурационные файлы и логи сервера, которые будет использовать приложение. При необходимости можно отредактировать количество рабочих процессов, максимальное количество запросов и продолжительность сессии.

Создайте каталог /var/log/uwsgi для хранения логов приложения uWSGI:

sudo mkdir -p /var/log/uwsgi
sudo chown www-data /var/log/uwsgi

После этого нужно создать initctl-скрипт, предназначенный для запуска приложения MoinMoin. Этот скрипт включит MoinMoin при загрузке сервера и позволит управлять uWSGI при помощи команд:

start moin
stop moin

Создайте и откройте файл moin.conf:

sudo vi /etc/init/moin.conf

Добавьте в него код:

description "moin uwsgi service"
start on runlevel [2345]
stop on runlevel [!2345]
chdir /usr/local/share/moin
exec /usr/local/bin/uwsgi /usr/local/share/moin/uwsgi.ini
respawn

Сохраните и закройте файл. Строки chdir и exec должны отображать расположение установки MoinMoin, а также бинарных файлов и uwsgi.ini сервера uWSGI.

Теперь можно запустить сервер приложений:

sudo start moin

Но сначала рекомендуется отредактировать настройки вики.

Настройка вики

Откройте каталог установки MoinMoin и скопируйте файл wikiconfig.py:

cd /usr/local/share/moin
sudo cp config/wikiconfig.py .

Откройте файл:

sudo vi wikiconfig.py

В нём можно отладить работу вики. Как минимум, нужно отредактировать следующие параметры:

  • sitename: укажите название вики-сайта.
  • page_front_page: раскомментируйте эту строку, чтобы у сайта появилась стартовая страница.
  • superuser: укажите имя администратора сайта и раскомментируйте строку.

Найдите все эти строки, удалите символ # и внесите свои данные, например:

sitename = u'My Wiki'
page_front_page = u"FrontPage"
superuser = [u"WikiAdmin", ]

Сохраните и закройте файл. Помните: это файл Python, потому нужно сохранить все существующие абзацные отступы.

Перед запуском приложения нужно изменить права собственности и права доступа к каталогам MoinMoin:

sudo chown -R www-data: /usr/local/share/moin
sudo chmod -R o-rwx /usr/local/share/moin

Запустите uWSGI:

sudo start moin

Теперь платформа MoinMoin работает; осталось установить и настроить веб-сервер Nginx.

Установка и настройка Nginx

Установите Nginx при помощи apt:

sudo apt-get install nginx

Откройте каталог sites-available и создайте файл блока server (так называются виртуальные хосты Nginx) для вики-сайта:

cd /etc/nginx/sites-available
sudo vi moin

Примечание: В данном руководстве файл хоста называется moin.

Вставьте в файл следующий код, внеся соответствующие поправки:

server {
server_name wiki.example.com;
access_log /var/log/nginx/access.log;
error_log /var/log/nginx/error.log;
location / {
include uwsgi_params;
uwsgi_pass unix:///usr/local/share/moin/moin.sock;
uwsgi_modifier1 30;
}
}

Так выглядит стандартная конфигурация Nginx. При желании можно внести какие-либо изменения согласно требованиям сервера.

Затем создайте символьную ссылку на новый виртуальный хост в sites-enabled:

cd /etc/nginx/sites-enabled
sudo ln -s ../sites-available/moin .

После этого удалите символьную ссылку на default, стандартный файл server-блока:

sudo rm default

Перезапустите Nginx, чтобы обновить настройки:

sudo service nginx restart

Теперь вики-сайт работает. Он доступен по IP-адресу или имени хоста сервера.

Создание суперпользователя вики

Теперь нужно создать аккаунт суперпользователя (то есть администратора сайта и блока). Его имя указано в поле superuser в файле wikiconfig.py (см. раздел Настройка вики). В дальнейшем нужно использовать это имя.

Откройте браузер и введите свой IP или имя хоста:

http://wiki.example.com

На экране должна появиться стартовая страница сайта.

Кликните по ссылке Login.

Name:
Password:
If you do not have an account, you can create one now. Forgot your password?

Кликните по ссылке you can create one now. На странице Create Account введите имя, указанное в конфигурационном файле (в данном примере настройки это имя WikiAdmin), пароль и адрес электронной почты, а затем нажмите Create Profile.

Если создание аккаунта прошло успешно, на экране появится:

User account created! You can use this account to login now…

Заключение

Теперь вики-платформа MoinMoin установлена и полностью готова к работе, можно приступать к наполнению сайта контентом, создать пользователей, изменить конфигурацию или тему.

Tags: , , ,

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *


*

Можно использовать следующие HTML-теги и атрибуты: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>