Perl
Mojolicious

Mojoliciousインストール メモ

More than 1 year has passed since last update.

Perl WEBアプリケーションフレームワークMojoliciousインストールのメモです。
windows上でvagrantにてcentos7を立ててそこにインストールします。

Mojoliciousテスト環境構築

設定

  • HostOS: windows10

    • vagrant
    • virtualbox
  • GuestOS: CentOS7

    • perlbrew
    • cpanm
    • Perl 5.20.3
    • mojolicious

備考

  • Windowsではvagrantでcentos7を入れる場合、C:\Users[username].vagrant.d\boxes\centos-VAGRANTSLASH-7\XXXX\virtualbox Vagrantfile で
  config.vm.synced_folder ".", "/home/vagrant/sync", type: "rsync"

をコメントアウトする必要があるかもしれない。

  • mojoliciousはperl5.20以上だと、同梱ライブラリで動作するとのことなので 5.20.3を選択している。

以下、手順

windows上で以下を実行

mkdir mojotest && cd mojotest
vagrant init centos/7

次のようにファイルを編集、作成する。(Vagrantfile, provison.sh)
Vagrantfile

# -*- mode: ruby -*-
# vi: set ft=ruby :
Vagrant.configure(2) do |config|
  config.vm.box = "centos/7"
  config.vm.network "private_network", ip: "192.168.33.20"
  config.vm.synced_folder ".", "/home/vagrant/sync" ,disabled: true
  config.vm.provision "shell", :path => "provision.sh", privileged: false
end

provision.sh

#!/usr/bin/env bash

PERL_INSTALL_VERSION='perl-5.20.3'
echo "**exec user:"
whoami
################################################
echo "**yum install"

sudo yum -y install perl vim gcc  git
sudo yum install -y -q ntp
sudo systemctl start  ntpd
sudo systemctl enable ntpd
sudo timedatectl set-timezone Asia/Tokyo

# centos7
sudo sed -i -e 's/^PasswordAuthentication no/PasswordAuthentication yes/g' /etc/ssh/sshd_config
sudo systemctl restart sshd
sudo sed -i -e 's/SELINUX=enforcing/SELINUX=permissive/g' /etc/selinux/config

sudo systemctl disable firewalld
sudo systemctl stop firewalld
sudo systemctl disable NetworkManager
sudo systemctl stop NetworkManager
sudo systemctl enable network
sudo systemctl start network
################################################
echo "**perlbrew"
cd ~
export PERLBREW_ROOT=$HOME/.perlbrew
#if [[ ! -d $HOME/.perlbrew ]]; then
  curl -L http://xrl.us/perlbrewinstall --insecure | bash
  ~/.perlbrew/bin/perlbrew init
  echo 'source ~/.perlbrew/etc/bashrc' >> ~/.bashrc
  source ~/.bashrc
#fi
perlbrew install -v $PERL_INSTALL_VERSION -D ccflags=-fPIC
perlbrew list
perlbrew switch $PERL_INSTALL_VERSION
perlbrew   install-cpanm    
cpanm Mojolicious
mojo version

echo "**End"
  • 次を実行して待つ
vagrant up
  • テストアプリ
    • できたらゲストOSのcentos7にSSHログインして以下を実行。
cd ~
mkdir ~/mojo_welcome; cd ~/mojo_welcome
mojo generate lite_app
morbo myapp.pl