Heroku互換オープンソフトウェアdokkuのセットアップ手順です。
- VPS: conoha
- サーバメモリ: 1GB
- OS: Ubuntu 16.04 (64bit)
サーバ構築時に設定したパスワードを用意して、SSH接続できるか確認してください。
ssh root@<IPアドレス> -p 22
ubuntuを最新の状態にします。質問が表示された時は「Yキー」または「enterキー」を押下してください。
sudo apt update
sudo apt dist-upgrade
sudo apt autoremove
ホスト名を設定します。
sed -i -e "s/localhost/`hostname`/g" /etc/hosts
dokkuをインストールします。
wget https://raw.githubusercontent.com/dokku/dokku/v0.11.2/bootstrap.sh
sudo dokku_TAG=v0.11.2 bash bootstrap.sh
dokkuインストール時にdokkuユーザが作成されています。セキュリティ強化のため、dokkuユーザをログインできるようにして、rootユーザをログインできないようにします。
mkdir -p /home/dokku/.ssh
cp /root/.ssh/authorized_keys /home/dokku/.ssh/authorized_keys
sed -i -e "s/PermitRootLogin yes/PermitRootLogin no/g" /etc/ssh/sshd_config
sudo service sshd restart
http://<IPアドレス> にアクセスして、ブラウザ上で初期設定を行います。
- Public Key
gitで使う公開鍵(SSHサーバーの公開鍵)を入力してください。サーバ構築時に設定している場合、入力済みになっていることもあります。
- Hostname
ドメインを入力してください。ドメインを持っていない場合、<IPアドレス>.xip.io を入力してください。
- Use virtualhost naming for apps
チェックしてください。
入力が完了したら、最後に一番下のボタンを押下します。ここからは、dokkuユーザでログインして操作してください。タイムゾーンと言語を日本向けに設定します。
dokku config:set --global TZ="Asia/Tokyo"
dokku config:set --global LANG="ja_JP.UTF-8"
データベースのMySQLをインストールします。
sudo dokku plugin:install https://github.com/dokku/dokku-mysql.git
データベースのMySQLをインストールします。
sudo dokku plugin:install https://github.com/dokku/dokku-postgres.git
ログを管理するためのプラグインをインストールします。
sudo dokku plugin:install https://github.com/michaelshobbs/dokku-logspout.git
Papertrailとの連携設定は Shipping dokku logs with Logspout to Papertrailを参照してください。
mysqlを使う場合のデータベース作成例です。データベースの接続方法が表示されます。この表示内容を確認して、あなたが作成したWebアプリのデータベース接続設定を書き換えてください。
dokku mysql:create <アプリ名>
dokkuアプリを作成します。
dokku apps:create <アプリ名>
Webアプリを格納したディレクトリに移動して、gitレポジトリ作成とサーバ登録を行ってください。git push コマンド実行中に強制終了させないように気をつけてください。
git init
git add .
git commit -m "initial commit"
git remote add dokku dokku@<ホスト名 or IPアドレス>:<アプリ名>
git push -v -f dokku master
- アプリの再起動
dokku ps:restart <アプリ名>
- アプリのログ表示
dokku logs <アプリ名> -t
- 全アプリの表示
dokku apps:list