2018年1月13日土曜日

Vagrantでmoinmoinをインストールした仮想マシン(Ubuntu16.04)を構築する

moinmoinはpython製のwikiソフトウェアです。
以下のVagrantfileを使用して、moinmoinがインストールされた仮想マシン(Ubuntu16.04)を構築する事ができます。
仮想マシン構築後、ブラウザでhttp://192.168.55.104/にアクセスします。

Vagrantfile
VAGRANTFILE_API_VERSION = "2"

Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
  config.vm.box = "bento/ubuntu-16.04"
  config.vm.hostname = "ub1604moinmoin"
  config.vm.provider :virtualbox do |vbox|
     vbox.name = "ub1604moinmoin"
     vbox.cpus = 2
     vbox.memory = 2048
     vbox.customize ["modifyvm", :id, "--nicpromisc2","allow-all"]
  end
  config.vm.network "private_network", ip: "192.168.55.104", :netmask => "255.255.255.0"
  config.vm.network "public_network", ip:"192.168.1.104", :netmask => "255.255.255.0"
  config.vm.provision "shell", inline: <<-SHELL
sed -i.bak -e "s#http://archive.ubuntu.com/ubuntu/#http://ftp.riken.jp/pub/Linux/ubuntu/#g" /etc/apt/sources.list
# update packages
apt-get update
#DEBIAN_FRONTEND=noninteractive apt-get -y -o Dpkg::Options::="--force-confdef" -o Dpkg::Options::="--force-confold" upgrade
locale-gen ja_JP.UTF-8
localectl set-locale LANG=ja_JP.UTF-8

apt-get -y install apache2 libapache2-mod-wsgi

wget http://static.moinmo.in/files/moin-1.9.9.tar.gz
tar xvfz moin-1.9.9.tar.gz

cd moin-1.9.9
python setup.py install --force --prefix /usr/local --record=install.log
cd /usr/local/share/moin
cp server/moin.wsgi .
cp config/wikiconfig.py  .

cat << EOF > /etc/apache2/sites-available/moinmoin.conf
<VirtualHost *>
  ServerName ub1604moinmoin

  WSGIDaemonProcess moin processes=1 threads=25
  WSGIScriptAlias / /usr/local/share/moin/moin.wsgi
  <Directory "/usr/local/share/moin/">
    WSGIProcessGroup moin
    WSGIApplicationGroup %{GLOBAL}
    Require all granted
  </Directory>
</VirtualHost>
EOF

sed -i -e "s|#sys.path.insert(0, 'PREFIX/lib/python2.7/site-packages')|sys.path.insert(0, '/usr/local/lib/python2.7/site-packages')|" /usr/local/share/moin/moin.wsgi
sed -i -e "s|#sys.path.insert(0, '/path/to/farmconfigdir')|sys.path.insert(0, '/usr/local/share/moin')|" /usr/local/share/moin/moin.wsgi

cat << EOF >> /usr/local/share/moin/wikiconfig.py
    page_front_page = u"FrontPage"
    superuser = [u"wikiadmin", ]
EOF

cd /usr/local/share
chown -R www-data:www-data moin
chmod -R ug+rwX moin
chmod -R o-rwx moin

a2ensite moinmoin.conf
a2dissite 000-default.conf

systemctl restart apache2.service

echo 'access to http://192.168.55.104/'
SHELL
end

○moinmoinの画面


0 件のコメント:

コメントを投稿