如何在Ubuntu14.04上使用Nginx安装MoinMoin

来自菜鸟教程
跳转至:导航、​搜索

介绍

MoinMoin 是一个用 Python 编写的高性能开源 Wiki 引擎。 它提供了一个功能丰富的 wiki,拥有庞大的用户社区,并且非常可定制且易于使用。 MoinMoin 被多个组织用于其公共 wiki,例如 Ubuntu、Apache、FreeBSD 等。

在本教程中,我们将向您展示如何在全新的 Ubuntu 14.04 服务器上设置您自己的 MoinMoin wiki,使用 Nginx 作为 Web 服务器,使用 uWSGI 作为应用程序引擎。 此特定设置适用于单个 wiki,它非常快速且节省内存。

先决条件

在开始阅读本指南之前,您应该在服务器上设置一个单独的非 root 用户帐户。 您可以通过完成 Ubuntu 14.04 初始服务器设置中的步骤 1-4 来了解如何执行此操作。

本指南假设您有一个全新的 Ubuntu 14.04 服务器。

本教程使用 vi 打开和编辑文件。 如果您喜欢其他编辑器,请随意使用它来代替 vi(如果适用)。

让我们开始吧!

安装 uWSGI

首先,让我们安装 uWSGI,我们将使用它作为应用程序服务器。

首先,使用以下命令更新您的 Apt 数据库:

sudo apt-get update

安装 uWSGI 的一种简单方法是使用 Python 包管理器 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 Releases。 您可能希望使用最新的通用版本。

找到 MoinMoin 的最新通用版本并将其 URL 复制到剪贴板:

编写本教程时可用的最新通用版本是 1.9.8,因此示例 URL 指的是 1.9.8 版本。 使用此 wget 命令将 MoinMoin 存档下载到您的主目录(替换您复制的下载 URL):

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

现在用 tar 解压存档:

tar zxvf moin-1.9.8.tar.gz

切换到通过提取 MoinMoin 存档创建的目录:

cd moin-*

要构建 MoinMoin Python 应用程序并将其复制到 /usr/local,请运行以下命令:

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

假设您使用的是 Python 2.7,Python 脚本会将 MoinMoin 代码包安装到 /usr/local/lib/python2.7/dist-packages/,并将其余 MoinMoin 数据安装到 /usr/local/share/moin

现在 MoinMoin Python 应用程序已安装,但尚未配置。 现在让我们配置它。

配置 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 代码的位置和 wiki 配置文件所在的位置配置应用程序。

接下来,创建并打开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 文件将用于通过 uWSGI 应用程序服务器加载 MoinMoin 应用程序。 在这里,我们指定应用程序应该使用的用户、套接字和服务器配置和日志文件等。 随意调整工作人员的数量、最大请求数或可接受的会话持续时间 (harakiri)。

现在创建 /var/log/uwsgi 目录,这是我们配置 uWSGI 应用程序以将其日志写入的位置:

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

接下来,让我们创建一个 initctl 脚本,用于启动我们的 MoinMoin 应用程序。 此脚本将在服务器启动时启用 MoinMoin,并允许您使用 start moinstop moin 控制 uWSGI 应用程序。

使用以下命令创建并打开 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

保存并退出。 重要的是 chdirexec 行中的路径准确反映 MoinMoin 的安装位置,以及 uwsgi 二进制文件和 uwsgi.ini 文件存在的位置。

您现在可以启动应用程序服务器(sudo start moin),但我们将首先对 Wiki 配置进行一些更改。

配置 Wiki

现在 uWSGI 应用程序服务器已准备就绪,我们将要配置实际的 Wiki。

切换到 MoinMoin 安装目录并复制示例 wikiconfig.py 文件:

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

现在打开文件进行编辑:

sudo vi wikiconfig.py

在这里,我们可以配置 Wiki 的各个方面。 至少,我们要配置以下项目:

  • sitename:您的 Wiki 标题
  • page_front_page:取消注释此行以启用正常的首页
  • superuser:您想用作 Wiki 管理员的用户名。 此项目也必须取消注释

找到以下行(如有必要,通过删除 # 取消注释它们),然后根据自己的喜好更改突出显示的值:

    sitename = u'My First 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 作为我们的 Web 服务器,所以现在让我们安装和配置它。

使用 apt 安装 Nginx:

sudo apt-get install nginx

现在切换到 sites-available 目录,并为 Wiki 创建一个新的服务器块配置文件。 我们将调用我们的 moin

cd /etc/nginx/sites-available
sudo vi 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 服务器块的符号链接:

sudo rm default

现在 moin 服务器块将成为默认值。

重新启动 Nginx 以加载新设置:

sudo service nginx restart

您的新 Wiki 已启动并运行! 它在您的服务器的 IP 地址或主机名中可用。

创建 Wiki 超级用户

在使用 Wiki 之前,您要做的最后一件事是创建超级用户帐户。 此帐户拥有博客的管理员权限。 我们在本教程的 Configure Wiki 部分的 wikiconfig.py 文件的 superuser 字段中配置了此用户的名称,因此请确保使用相同的名称这里。

在 Web 浏览器中通过其 IP 地址或主机名连接到您的服务器:http://wiki.example.com

您将看到以下首页:

点击页面顶部的登录链接。

在登录页面,点击你现在可以创建一个链接。

在创建帐户页面,输入与您的超级用户配置相匹配的名称(示例使用“WikiAdmin”),以及您的密码和电子邮件地址,然后单击 创建配置文件 按钮。

如果一切顺利,您应该会看到以下成功消息:

就是这样! 您的 wiki 现在可以使用了。

结论

现在您的 MoinMoin wiki 已启动并运行,您已准备好使用它进行协作! 随意添加内容和用户,或更改其配置和主题。