search
LoginSignup
18

More than 5 years have passed since last update.

posted at

updated at

Vagrant+Movable Type+AWS S3を使って月額10円~でサイトを運用する ~導入編~

目次

概要

パソコン上に作成した仮想マシンに自動インストールした静的出力型のCMSから生成したコンテンツをAWS S3にアップロードする

特徴

  • だれでも簡単に、CMSを使ったサイト運用環境を手に入れられる
  • CMSサーバと公開サーバを分けることでコストを最小化出来る
  • ターミナルソフト、FTPソフトどちらも不要

潔さ

  • 石ころを積み重ねたセキュリティ(PCの紛失盗難だけには注意)
  • 原石を磨かない美意識(user名、database名等は初期設定のまま)

動作環境

  • Windows/Mac(Windows環境しか動作確認していません)
  • VirtualBoxインストール済
  • Vagrantインストール済

用意するもの

  • Movable Typeのソフトウェア(商用ソフトなのでライセンスは遵守する)
  • AWSアカウント

手順

仮想マシンの作成

自分のパソコンの任意の場所に「MT」というフォルダを作成する。

例:C:\Users\username\MT

コマンドプロンプトを立ち上げて「MT」フォルダに移動する
$ cd MT
仮想マシンを立ち上げる
$ vagrant init chef/centos-6.5

$ vagrant up

※仮想マシンの立ち上げ時にSSHが通らない場合はこちらを参照

自動インストールに必要なファイルの設置

「MT」フォルダ内に次の3つのファイルを設置する

  • MovableTypeのZIPファイル
  • provision.sh(下記、provision.sh内の内容をすべてコピーして、メモ帳等のテキストエディタに貼り付けて、ファイル名「provision.sh」で保存)
provision.sh
#!/bin/sh
sudo yum install -y unzip

# Perl
sudo yum -y install perl
sudo yum -y install perl-CGI

# Apache
sudo yum -y install httpd
echo "AddHandler cgi-script .cgi .pl" >> /etc/httpd/conf/httpd.conf

# MySQL
sudo yum -y install mysql-server
mysql -u root mysql -e "GRANT ALL PRIVILEGES ON *.* TO root@'%';"
echo "[client]" >> /etc/my.cnf
echo "default-character-set = utf8" >> /etc/my.cnf
echo "[mysqld]" >> /etc/my.cnf
echo "character-set-server = utf8" >> /etc/my.cnf

# Perl Module
sudo yum -y install netpbm*
sudo yum -y install perl-YAML
sudo yum -y install cpan
yes '' | cpan -i CGI
yes '' | cpan -i Image::Size
yes '' | cpan -i IPC::Run
yes '' | cpan -i File::Spec
yes '' | cpan -i CGI::Cookie
yes '' | cpan -i LWP::UserAgent
yes '' | cpan -i DBI
yes '' | cpan -i DBD::mysql

# Movable Type
sudo mkdir /var/www/cgi-bin/mt
unzip /vagrant/MT-*.zip
sudo cp -r /home/vagrant/MT-*/mt-static/ /var/www/html/
sudo cp -r /home/vagrant/MT-*/* /var/www/cgi-bin/mt/
sudo cp -r /home/vagrant/MT-*/*/ /var/www/cgi-bin/mt/
sudo rm -rf /home/vagrant/MT-*/
sudo cp /vagrant/mt-config.cgi /var/www/cgi-bin/mt
sudo chmod 755 /var/www/cgi-bin/mt/*.cgi
sudo chmod 777 /var/www/html/
sudo chmod 777 /var/www/html/mt-static/support/

# iptables
service iptables stop
chkconfig iptables off

# service
sudo chkconfig mysqld on
sudo chkconfig httpd on

# timezone
cp /usr/share/zoneinfo/Japan /etc/localtime
echo "TZ=Japan" >> /etc/sysconfig/httpd
echo "export TZ" >> /etc/sysconfig/httpd

# daemon restart
/etc/init.d/httpd restart
/etc/init.d/mysqld restart
  • mt-config.cgi
mt-config.cgi
Movable Type Configuration File
##
## This file defines system-wide
## settings for Movable Type. In
## total, there are over a hundred
## options, but only those
## critical for everyone are listed
## below.
##
## Information on all others can be
## found at:
##  http://www.movabletype.jp/documentation/config

#======== REQUIRED SETTINGS ==========

CGIPath        /cgi-bin/mt/
StaticWebPath  /mt-static/
StaticFilePath /var/www/html/mt-static

#======== DATABASE SETTINGS ==========

ObjectDriver DBI::mysql
Database test
DBHost localhost

#======== MAIL =======================
EmailAddressMain noreply@example.com
MailTransfer sendmail
SendMailPath /usr/lib/sendmail

DefaultLanguage ja

ImageDriver NetPBM

例:
C:\Users\username\MT\MT-6_1_2.zip
C:\Users\username\MT\provision.sh
C:\Users\username\MT\mt-config.cgi

パソコン/仮想マシン間の共有フォルダを作成する

「MT」フォルダ内に「www」フォルダを作成し、更にその下に「html」フォルダを作る

  • フォルダ名:\www\html

例:C:\Users\username\MT\www\html

仮想マシン起動時に、自動的に「MT」フォルダ内に生成された「Vagrantfile」をメモ帳等で開き以下をend行の前に追記する

Vagrantfile
Vagrant.configure(2) do |config|

 config.vm.network "private_network", ip: "192.168.33.10"
 config.vm.synced_folder "../MT/www/html", "/var/www/html"
 config.vm.provision :shell, :path => "provision.sh"
end

仮想マシンを再起動する
$ vagrant reload

プロビジョニングの開始

MovableTypeほかライブラリの自動インストールを始める
$ vagrant provision

~10分以上掛かるので、鼻くそほじりながら待つ~

インストールが終わる

MovableTypeの初期設定とサイトの構築

管理画面にアクセスする
http://192.168.33.10/cgi-bin/mt/mt.cgi
「アカウントの作成」画面が表示されるので適当なアカウントを作成しログインする

とりあえずテキトー記事を1つ投稿して、再構築ボタンをクリックする

AWS S3にアップロード

「MT」フォルダの\www\html\フォルダ以下のファイル及びフォルダをS3の管理画面からアップロードする

例:C:\Users\username\MT\www\html\index.htmlほか

アップロード方法はAmazon S3 での静的ウェブサイトのホスティングで確認する
S3でホスティング?って人は月額10円~でレンタルサーバーを始める方法を確認する

S3側の表示で404,403エラーが出る場合は、こちらを参照

仮想マシンをシャットダウンする
$ vagrant halt

後日、サイトを更新する

コマンドプロンプトから
$ cd MT
$ vagrant up
仮想マシンが立ち上がってから管理画面にアクセスする

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
What you can do with signing up
18