会社でGit使いたいって言ったらサラッとOKが出た。
ただ、GitBucketを自分でたてなきゃいけないので、やり方を調べとく。
会社ではCentOSサーバを、触っていい環境として与えてもらえたので、家のMacにVirtualBox入れて、CentOSをたてて試してみた!
環境
VirtualBox 4.3.28
CentOS-7-x86_64-Minimal-1503-01.iso
VirtualBoxのCentOSにssh接続するまでの設定は↓のページをみながらやった!
VirtualBoxにCentOS7をインストールしてみる - yk5656 diary
CentOS6とCentOS7では、ネットワーク設定のやり方が全然違っているので注意!
JDKをインストールする
↓のコマンドを打つと、インストールできる jdkがいっぱいでてくるので、『〜devel』がついてるものをインストールする
[root@localhost ~]# yum search openjdk
[root@localhost ~]# yum install java-1.8.0-openjdk-devel.x86_64
[root@localhost ~]# java -version openjdk version "1.8.0_45" OpenJDK Runtime Environment (build 1.8.0_45-b13) OpenJDK 64-Bit Server VM (build 25.45-b02, mixed mode)
環境変数を設定する。
ユーザ切り替えして、ユーザの.bashrcを編集する。
[root@localhost ~]# su <<ユーザ名>> [syobochim@localhost root]$ cd ~ [syobochim@localhost ~]$ ls -la 合計 12 drwx------. 2 syobochim syobochim 59 5月 31 17:03 . drwxr-xr-x. 3 root root 22 5月 31 17:05 .. -rw-r--r--. 1 syobochim syobochim 18 3月 6 07:06 .bash_logout -rw-r--r--. 1 syobochim syobochim 193 3月 6 07:06 .bash_profile -rw-r--r--. 1 syobochim syobochim 231 3月 6 07:06 .bashrc
javaの場所を知りたいときは↓
[syobochim@localhost ~]$ which java /usr/bin/java
.bashrcに↓を追記する
export JAVA_HOME=/usr/bin/java
sourceでファイルを再読み込みすれば、値が設定される。
[syobochim@localhost ~]$ source .bashrc [syobochim@localhost ~]$ echo $JAVA_HOME /usr/bin/java
Jettyを配置
Jettyを取得する。
Jetty Download Redirectにいって、欲しいバージョンのリンクをコピー
[syobochim@localhost ~]$ wget http://download.eclipse.org/jetty/stable-9/dist/jetty-distribution-9.2.11.v20150529.tar.gz bash: wget: コマンドが見つかりません
うっ。wgetコマンドがそのままでは入っていないので、yumインストールする。
[syobochim@localhost ~]$ sudo yum install wget
インストールが完了したら、↓でインストールができる。
[syobochim@localhost ~]$ wget http://download.eclipse.org/jetty/stable-9/dist/jetty-distribution-9.2.11.v20150529.tar.gz
ファイルを解凍
[syobochim@localhost ~]$ tar zxvf jetty-distribution-9.2.11.v20150529.tar.gz
/optの配下に移動+renameする。
/optは追加アプリケーションのソフトウェア・パッケージなどのためのディレクトリ。
参考:はじめてのCentOS ディレクトリ構造とファイル
今回は、起動させたいサービスがgitBucketなので、フォルダ名をgitbucketにしておく。
[syobochim@localhost ~]$ sudo mv jetty-distribution-9.2.11.v20150529 /opt/gitbucket
jettyを起動するためのユーザを作成+gitbucketフォルダの所有者を変更する。
[syobochim@localhost opt]$ sudo useradd -m jetty [syobochim@localhost opt]$ sudo chown -R jetty:jetty /opt/gitbucket/
Jettyのシンボリックリンクをを起動スクリプトに追加する。
[syobochim@localhost opt]$ sudo ln -s /opt/gitbucket/bin/jetty.sh /etc/init.d/gitbucket
gitbucketという名前のサービス(実態はjetty)をサービスに追加する。
ランレベルの説明:第10章 サービスとデーモン
chkconfig:
10.2.3. chkconfig ユーティリティの使用
[syobochim@localhost opt]$ sudo chkconfig --add gitbucket [syobochim@localhost opt]$ sudo chkconfig --level 345 gitbucket on [syobochim@localhost opt]$ sudo chkconfig --list 注記: この出力は SysV サービスのみであり、ネイティブな systemd のサービスは含まれていません。 systemd services. SysV 設定のデータはネイティブな systemd の設定によって上書きされます。 systemd サービスを一覧表示するには 'systemctl list-unit-files' を使用してください。 特定のターゲットにおいて有効化されているサービスを確認するには、 'systemctl list-dependencies [target]' 。 gitbucket 0:off 1:off 2:off 3:on 4:on 5:on 6:off netconsole 0:off 1:off 2:off 3:off 4:off 5:off 6:off network 0:off 1:off 2:on 3:on 4:on 5:on 6:off
設定ファイルを編集する。
[syobochim@localhost opt]$ sudo vi /etc/default/gitbucket
JETTY_HOME=/opt/gitbucket JETTY_USER=jetty JETTY_PORT=8080 JETTY_HOST=192.168.56.10 JETTY_LOGS=/opt/gitbucket/logs/
GitBucketをデプロイするためにwarを取得して、jettyのwebappsフォルダに配置する。
[syobochim@localhost gitbucket]$ cd /opt/gitbucket/webapps [syobochim@localhost webapps]$ sudo wget https://github.com/takezoe/gitbucket/releases/download/3.3/gitbucket.war --2015-05-31 18:38:32-- https://github.com/takezoe/gitbucket/releases/download/3.3/gitbucket.war github.com (github.com) をDNSに問いあわせています... 192.30.252.130 github.com (github.com)|192.30.252.130|:443 に接続しています... 接続しました。 HTTP による接続要求を送信しました、応答を待っています... 302 Found 場所: https://s3.amazonaws.com/github-cloud/releases/9350746/6171eb5a-078f-11e5-9931-31687bd87558.war?response-content-disposition=attachment%3B%20filename%3Dgitbucket.war&response-content-type=application/octet-stream&AWSAccessKeyId=AKIAISTNZFOVBIJMK3TQ&Expires=1433078779&Signature=6K3EHrHIuoj4zJpoc892362WktU%3D [続く] --2015-05-31 18:38:33-- https://s3.amazonaws.com/github-cloud/releases/9350746/6171eb5a-078f-11e5-9931-31687bd87558.war?response-content-disposition=attachment%3B%20filename%3Dgitbucket.war&response-content-type=application/octet-stream&AWSAccessKeyId=AKIAISTNZFOVBIJMK3TQ&Expires=1433078779&Signature=6K3EHrHIuoj4zJpoc892362WktU%3D s3.amazonaws.com (s3.amazonaws.com) をDNSに問いあわせています... 54.231.244.8 s3.amazonaws.com (s3.amazonaws.com)|54.231.244.8|:443 に接続しています... 接続しました。 HTTP による接続要求を送信しました、応答を待っています... 200 OK 長さ: 54920277 (52M) [application/octet-stream] `gitbucket.war' に保存中 100%[========================================================================>] 54,920,277 3.48MB/s 時間 16s 2015-05-31 18:38:50 (3.20 MB/s) - `gitbucket.war' へ保存完了 [54920277/54920277]
サービスを立ち上げてみる
[syobochim@localhost gitbucket]$ sudo service gitbucket start Starting Jetty: StartLog to /opt/gitbucket/logs/start.log 2015-05-31 18:42:29.269:INFO::main: Logging initialized @1138ms 2015-05-31 18:42:29.425:WARN:oejs.HomeBaseWarning:main: This instance of Jetty is not running from a separate {jetty.base} directory, this is not recommended. See documentation at http://www.eclipse.org/jetty/documentation/current/startup.html 2015-05-31 18:42:29.814:INFO::main: Redirecting stderr/stdout to /opt/gitbucket/logs/2015_05_31.stderrout.log . . . . . . OK Sun May 31 18:42:57 JST 2015
このままではアクセスできないので、ファイアウォールの設定を変更する
参考:CentOS 7 を VirtualBox にインストールし、Web サーバーの設定を行う(かなり変更点あり): ある SE のつぶやき
[syobochim@localhost default]$ sudo firewall-cmd --zone=public --add-port=8080/tcp --permanent success [syobochim@localhost default]$ sudo firewall-cmd --reload success
設定したURLにアクセスする。
私の場合は http://192.168.56.10:8080/gitbucket/
出た!!!!!
jetty起動まででつまづいたり、起動後にポート開いてないのに気づかなかったりと、前後はめちゃくちゃつまづいたけど、GitBucket自体はめっちゃ簡単に立ち上がった。
2015/06/01 追記
@soudai1025さんに、war直接起動すれば便利だよと教えていただいたので追記!
教えていただいたページ:2014-05-20
ありがとうございます!!確かにめっちゃ楽だ…!!