Установка MoinMoin и Nginx в Ubuntu 14.04
Python, Ubuntu | Комментировать запись
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: MoinMoin, NGINX, Ubuntu 14.04, uWSGI