[KUSANAGI] MarkdownなCMS picoをインストールしてみた


WordPressの高速実行環境として名高いKUSANAGIですが、実は普通のLAMPマシンとして動かすこともできます。Markdown大好きな私としては、ヒアドキュメントでいい感じにマークアップしてくれる環境はないものかと思案していたところ、PicoというDB不使用かつ軽量な素敵CMSを発見。さくらのクラウド KUSANAGI環境にインストールしてみました。

Windows 10 のメモ帳でつくる Kindle 本: Markdown 記法で書く電子書籍

■ kusanagiをlampとしてプロビジョニングする

いつものように、KUSANAGIサーバーを建てたあとのyum updateを行います。

yum --enablerepo=remi,remi-php56 update -y
reboot

再起動後、kusanagiユーザーでログインし直すまでは環境変数祭りなので根気よく1行1行コンソールからペーストします。気が向いたらスタートアップスクリプトを書くのもよいでしょう。

KUSANAGI_PW=RN82R5TE3GTELQN2Q3EMDETDDDFRM3M8
DBROOT_PW=7N2EHRNTL4MM84LLELLRTD8E22DT5GE2

FQDN=pico.example.com
KUSANAGI_PROFILE=${FQDN}
KUSANAGI_DBNAME=pico
KUSANAGI_DBUSER=pico
KUSANAGI_DBPW=DETNRDET3HRHEHE8MMDQTNH8RMBNR4MB

ADMINGROUP_ID=nullpopopo
ADMINUSER_ID=nullpopopo
ADMINUSER_PW=H7N2EF8QGRRRFDTFMQEDGDTLMANENEMH
ADMINUSER_AUTHKEY="ssh-rsa AAAAB(略)=="

kusanagi init --tz tokyo --lang ja --keyboard ja --passwd ${KUSANAGI_PW} --nophrase --dbrootpass ${DBROOT_PW} --httpd --php7

kusanagi provision --lamp --noemail --fqdn ${FQDN} --dbname ${KUSANAGI_DBNAME} --dbuser ${KUSANAGI_DBUSER} --dbpass ${KUSANAGI_DBPW} ${KUSANAGI_PROFILE}

groupadd -g 500 ${ADMINGROUP_ID}
useradd -g 500 -u 500 ${ADMINUSER_ID}
echo ${ADMINUSER_PW} | passwd --stdin ${ADMINGROUP_ID}
echo -e "${ADMINUSER_ID}\t\tALL=(ALL)\t\tNOPASSWD: ALL" | tee /etc/sudoers.d/${ADMINUSER_ID}
mkdir -p /home/${ADMINUSER_ID}/.ssh
echo ${ADMINUSER_AUTHKEY} | tee /home/${ADMINUSER_ID}/.ssh/authorized_keys
chown -R ${ADMINUSER_ID}. /home/${ADMINUSER_ID}/.ssh
chmod -R go-rwx /home/${ADMINUSER_ID}/.ssh

cp -p /etc/ssh/sshd_config{,.ORIG}
echo -e "\nAllowUsers ${ADMINUSER_ID} kusanagi@127.0.0.1" | tee -a /etc/ssh/sshd_config
systemctl restart sshd

上記コマンドでは、kusanagi init、kusanagi provisionをしてから、管理者ユーザー nullpopopo を作成してNOPASSWDでsudoできるようにしています。ことのついでに、kusanagiユーザーとして外部ホストからsshできないようにしてsshdを再起動しています。

ちなみに、kusanagiのプロビジョニングのオプションでDB関連は省略できず・・・なので、無駄にデータベースができてしまうのですが、まあ、LAMPだからね。仕方ないね。

■ Picoインストール

管理者ユーザーとしてsshログイン後、 sudo su - kusanagi でkusanagiユーザーにスイッチします。インストールの手順は公式のドキュメント通りで非常に簡単です。

cd /home/kusanagi/*/DocumentRoot/
git clone https://github.com/picocms/pico.git .
curl -sS https://getcomposer.org/installer | php
php composer.phar install
cp -pr content-sample content
cd /home/kusanagi/*/DocumentRoot/content
mv index.md{,.ORIG}

それでは早速ヒアドキュメントでMarkDownを生成しましょう。

cat << _EOL_ | tee index.md

# これは見出しである
## これは小見出しである

1. 項目
1. 項目
1. 項目

日本語だってきっと書ける  

|ハンドル|本名|
|:----|:----|
| (っ´∀`)っ ゃー | ぬるぽぽぽ |

[トップページ](http://pico.example.com/)

_EOL_

それではブラウザで見てみましょう。

ね、簡単でしょう?

[amazonjs asin="4774182702" locale="JP" title="Atom実践入門──進化し続けるハッカブルなエディタ (WEB+DB PRESS plus)"]