CentOS で Dokku

ホーム  
目次


CentOS 7   Nginx   Dokku

Dokku が正式にサポートしているのは、Ubuntu と Debian のみですが、実験的に (experimental) CentOS 7もサポートしています。

Dokkuを使うには、最低 1GB のメモリーが必要です。

Dokku を CentOS で使うには、Webサーバーを Nginx にする必要があります。

CentOSでは、Dokku Setup(Dokku の設定) は手動で行う必要があります。

Conoha

今回も VPS として Conoha を使います。Conohaのホームページは下記です。

レンタルサーバーならConoHa|登録者数13万アカウント突破

Conoha VPS の申し込みページは下記です。

VPSならConoHa|登録者数13万アカウント突破 - 期間限定キャンペーン実施中

2019年2月8日18:00までは30日間無料キャンペーンをやっています。

WEB広告限定キャンペーン| VPSならConoHa

Conoha はキャンペーンをよくやっています。登録前に、検索したほうが良いでしょう。

サーバーの作成

登録が終わりましたら、ログインしてコントロールパネルの左上の「サーバー追加」 をクリックします。

「!GB」を選択します。

「CentOS 7.6(64bit)」を選択して、下へスクロール

「root パスワード」(必須)と「ネームタグ」(任意)を入力する。

「root パスワード」は必ずメモしておいてください。

左下の「追加」をクリック

起動中になったら、設定したネームタグをクリック

「IPアドレス」をメモする。

以上でサーバーの作成は完了しました。右上のアカウント名をクリックして、 表示されるメニューから「ログアウト」を選択してログアウトします。

SSH の設定

GitHub に登録済みの「公開鍵」を用意してください。 公開鍵の作り方は「 公開鍵」を参照してください。

ターミナルを起動して次のように入力してサーバーへログインします。 「xxxx.xxx.xxx.xxxx」はサーバーのIPアドレスです。

ssh root@xxx.xxx.xxx.xxx
Are you sure you want to continue connecting (yes/no)? yes
root@xxx.xxx.xxx.xxx's password:
[root@xxx-xxx-xxx-xxx ~]#

次の手順で公開鍵をサーバーの公開鍵にペーストしてください。

  1. 次のコードでサーバーの秘密鍵を開く
    vi .ssh/authorized_keys

  2. s」と入力して編集モードに切り替えて公開鍵をペーストします。

  3. [esc」キーを押してとコマンドモードに戻します

  4. :w」エンターで保存、 「:q」エンターで終了します。

一度ログアウトして、パスワードなしでログインできるか確かめます。

# exit
$ ssh root@xxx.xxx.xxx.
#

Nginx のインストール

準備

root の状態のままで「/etc/yum.repos.d/nginx.repo」を作成します。

sudo vi /etc/yum.repos.d/nginx.repo

i」と入力して編集モードにして、次のコードをペーストします。

[nginx]
name=nginx repo
baseurl=https://nginx.org/packages/centos/7/$basearch/
gpgcheck=0
enabled=1

esc」キーでコマンドモードに戻し、 「:w」エンターで保存して、 「:q」エンターで終了します。

インストール

次のコマンドで Nginx をインストールします。

yum install nginx

次のコマンドで再起動時に Nginx が自動的に起動するように設定します。
systemctl enable nginx

次のコマンドで Nginx を起動します。

systemctl start nginx

ファイアーウォールの設定

ポート80 (HTTP) とポート443 (HTTPS)のアクセスを許可します。

firewall-cmd --permanent --zone=public --add-service=http

success」と返ってきます。

firewall-cmd --permanent --zone=public --add-service=https

success」と返ってきます。

firewall-cmd --reload

success」と返ってきます。

実行

ブラウザで新規ウィンドウが新規タブを開き、サーバーのIPアドレスで、 ページが表示されるか確認します。

Dock のインストール

インストール

次のコードを実行します。
wget https://raw.githubusercontent.com/dokku/dokku/v0.14.5/bootstrap.sh;
sudo DOKKU_TAG=v0.14.5 bash bootstrap.sh

インストールされたか確認します。

dokku version
0.14.5

不要になったファイルを削除します。

rm bootstrap.sh

「通常ファイル 'bootstrap.sh' を削除しますか? 」と聞かれたら 「yes」と答えます。

dokku ユーザーの設定

Dokku をインストールすると自動的に dokku ユーザーが作られます。

まずパスワードを設定します。

passwd dokku

sudo コマンドが使えるようにします。

gpasswd -a dokku wheel

dokku ユーザのホームディレクトリに移動します。

su dokku
cd
pwd
/home/dokku

sudo」コマンドが使えるか確認します。 「sudo」コマンドを初めて使う時には警告文が出ますが、 気にせずパスワードを入力してください。

sudo echo "aaa"
aaa

dokku の設定

次のコマンドで「rsa」というファイルを作ります (名前はなんでもかまいません)

vi rsa

i」と入力して編集モードにし、公開鍵をペーストしてください。

esc」キーを押してコマンドモードに戻し、 「:w」エンターで保存して、「:q」 エンターで終了してください。

次のコマンドで dokku のための特殊な公開鍵を生成します。「name」 の部分はなんでもかまいません

sudo dokku ssh-keys:add name rsa

次のコードで dokku のドメインを設定します。「xxx.xxx.xxx」の部分は、 サーバーのIPアドレスです。

dokku domains:add-global xxx.xxx.xxx

次のコードでアプリケーションのレポジトリを作ります。「haskell-web-app 」の部分がアプリケーションの名前です。

dokku apps:create haskell-web-app

ログアウト

以上でサーバーでの作業は一旦終わりです。ログアウトするには「exit」 コマンドを使います。 $ exit
exit
# exit
ログアウト

ユーザーを何度も切り替えていた場合は、そのすべてをさかのぼって 「exit」することになります。

大事なこと

「Dookuの設定で」で作成た「公開鍵」は、 Dokku でデプロイするための「公開鍵」です。 そのため、dokkuユーザーへ「ssh」でログインすることはできません。 dokku ユーザーで作業する場合は、 まず root にログインしてから dokku ユーザーへ切り替えて cd コマンドで dokku のホームディレクトリへ移動してください。

Haskell アプリのサーバーへのデプロイは 「Dokku デプロイ」 で説明しています。

CentOSへデプロイしたアプリをブラウザに表示するには、アプリのポートに合わせた ファイアーウォールの設定が必要です。その方法も 「Dokku デプロイ」 で説明しています。


4656 visits
Posted: Feb. 07, 2019
Update: Feb. 07, 2019

ホーム   ページトップ