またどこかのCTOになった人のブログ

またどこかのCTOになった人が書いてます。最近はCakePHP3とConoHaのネタが多いです。

ConoHaのイメージを使って、GitLabサーバを構築してサブドメインを設定してみた。

前回契約したConoHaサーバですが、色々なアプリケーションサーバのイメージが最初から準備されているようです。
インフラ知識皆無な自分にとっては優しい仕様です。どこかの偉い人、ありがとうございます。


さて、とりあえず色々と作りたいものはあるのですが、まずはソース管理が最初かなと思いました。
ので、前職でも採用していた「GitLab」を使うことにしました。
見てみるとGitLabのイメージもあります。これは大勝利の予感がします。

ConoHaのコントロールパネルからGitLabサーバを作ってみる

注意点は特になかったです。
秘密鍵は必須かなと思ってましたので、途中で作成した秘密鍵のpemファイルを必ず保存しておくぐらいでしょうか。
あ、pemファイルが何かぐらいは知っています。
アレですよね。接続する時に使う大事な鍵ですよね。知ってます。
※本当にこのぐらいのインフラ知識しかありません。

ブラウザでアクセスしてみる

サーバを作成するとIPアドレスが勝手に吐き出されるので、そのIPアドレス目掛けてブラウザでアクセスしてみると、無事にGitLabのログイン画面が表示されます。これだけで感動です。
初回アクセス時はrootユーザでのアクセスになるようです。
rootユーザのパスワード変更しやがれっぽい画面が出てくるので、パスワード設定してみました。
設定したパスワードはちゃんと保存しておきましょう。

GitLabにSSHでアクセスしてみる

サーバ作成時に保存したはずのpemファイルでアクセスします。
自分の場合は「どこに何があるかわからなくなる」のがイヤなので、この手のファイルは一箇所にまとめてしまいます。
開発はMacでやっていますので、お好きな場所に保存するといいかと思います。
参考までに自分の場合はこの辺に置いてみました。

  /Users/ユーザ/develop/key/gitlab.pem


※developディレクトリとkeyディレクトリは新規作成です


MacからのSSH接続はコンソールから実行できます。
以下のような感じです。

  cd /Users/ユーザ/develop/key
  ssh -i "gitlab.pem" root@999.999.99.99

999〜と記載している部分は構築したGitLabサーバのIPアドレスになります。
ConoHaのコントロールパネルを見れば書いてあります。

Administratorユーザの名称を変更する

これは別に変更しなくてもいいと思います。
自分がやりたかったことは、GitLabの各プロジェクトをAdministratorユーザで作成してマージやデプロイ自体は別ユーザでやりたかっただけなので。
プロジェクト作成用のユーザを作ればよくね? と後から思ったのですがもういいです。

ユーザ名の変更はGitLab画面上から実行できます。
右上のアイコンから「Setting」を開いて、その画面から「Account」を選択すれば設定画面が出てきます。
自分はここでAdministratorユーザの名前を「gitlab」に変更しました。
「Change username」部分です。
名前を変更すると次回ブラウザからアクセスする時のユーザ名も変わります。

作成したGitLabサーバにドメインを割り当てる

IPアドレス直接でログインするのもアレなので、ドメインを設定することにしました。
何か昔やったことがあるのですが、今となっては設定方法がよくわかりません。
よくわからないのに「サブドメインがいいな」と自分でハードルを上げてしまいました。

この作業をやっている時、Macに表示されているコンソール画面をチラ見されて「すっごーい」と某フレンズ的な賞賛をされたのですが、自分でもよくわかっていないので某フレンズのようにはなれないのです。


話を戻します。
ConoHaを使っているので、とりあえずドメインはお名前.comで借りました。
サブドメインじゃなければ、きっと作成したGitLabサーバのIPアドレスを割り当てればいいんだと思います。
が、「サブドメインがいいよね、フフ」なんて思ってしまったばかりに、サブドメイン設定をしなければいけません。

とは言え、きっとお名前.com先生がそんなの簡単に設定できるようにしてくれているだろうと信じてコントロールパネルをごにょごにょ触ってみました。
結果、「多分、DNS設定のナントカ部分だな。何か聞いたことあるし」的なノリで実施してみることに。


お名前.comのドメインNAVIからログイン。
契約しているドメイン一覧が表示されますので、対象のドメインを選択しました。
選択後、画面上部にタブが出てくると思いますので、「ドメイン設定」をポチっと。
何か設定画面ぽいのが出てきましたので、そこから「DNS関連機能の設定」を選択。
内部ドメイン一覧が表示されました。またかよ。


文句を言っても仕方がないので、対象のドメインを選択して次へ。
また何か色々メニューが出てきました。この辺で「え、これ合ってるの…?」と不安になっていました。
が、メニューを見ていたら「DNSレコード設定を利用する」とかいうものが書いてあります。
説明文には「AレコードやMXレコードの設定が必要な場合にご利用ください」との記述。

こ れ だ

勘を働かせて設定ボタンを押したところ、出てきました。
前にAWSの方で見たことのあるような感じの画面です。ここで設定すればいいはずです、多分。


サブドメインはAレコードに設定すればよさそうなので、とりあえず設定するサブドメインを入力してIPアドレスを設定しました。
お名前.comのコントロールパネル上だと以下のような感じです。


・sample-site.infoというドメインを契約済み
・gitlab.sample-site.infoというサブドメインを設定する場合
 ホスト名:gitlabと入力
 VALUE:作成したGitLabのIPアドレス


で、保存しました。
きっとこれでできているはずです。

GitLabサーバの方に作成したサブドメイン設定を記述する

調べてみたところ、コンフィグファイルに設定が必要らしいです。
へーそうなのねと深く考えずに設定することにします。

rootユーザでSSHにログインして、以下のファイルを開きます。
どうでもいいですが、自分はvim派です。

  vim /etc/gitlab/gitlab.rb

開くと設定が何か色々書いてありますが、修正箇所は1箇所だけです。

  external_url 'http://gitlab.sample-site.info/'


設定が終わったらファイルを保存して、GitLabのコンフィグファイルの再読み込みを実行します。

  gitlab-ctl reconfigure


そう言えば、GitLabはApacheではなく「nginx」で稼働しているらしいです。
エンジンエックスと読むことを知らず、ずっと「ンギックス」と読んでいました。
まぁどうでもいいですね。

設定したサブドメインにブラウザからアクセスしてみる

今回の場合だと http://gitlab.sample-site.info/ になります。
アクセスできなかった場合は慌てず騒がず、時間を置いてからアクセスしてみてください。
ドメインの書き換えが終わったら多分接続できると思います。きっとできます。


というわけで、運任せとか勘任せなどもありましたがインフラ知識皆無な自分にもGitLabサーバの構築ができました。
嬉しかったので、前職の部下に「一人でできたよ!」とLINEをブチ込んでおきました。


ネタではなく、本当にインフラできないのです。
前途多難ですが、しばらくConoHaサーバとの戦いが続きます。