GitリモートリポジトリはBitbucketを普段使いしているが、
サンプルなどあんまりプッシュしすぎると煩雑になるので、
もっと気楽に使うリポジトリとしてGitbucketをMacに導入する
Apacheのインストール
MacにデフォルトでインストールされているApacheを使用する
割と新しいバージョンがインストールされている
$ apachectl -v
Server version: Apache/2.4.9 (Unix)
Server built: Sep 9 2014 14:48:20
起動/終了確認
$ sudo apachectl start
http://localhost/ へのアクセスを確認
$ sudo apachectl stop
Apache Tomcatのインストール
http://tomcat.apache.org/ から apache-tomcat-8.0.18.zip ダウンロードして
~/Applications/apache-tomcat-8.0.18 に設置する
起動/終了確認
$ cd ~/Applications/apache-tomcat-8.0.18
$ ./startup.sh
http://localhost:8080/ へのアクセスを確認
$ ./shutdown.sh
Apache Tomcatの管理画面にアクセスできるようにする
変更前
<tomcat-users xmlns="http://tomcat.apache.org/xml"
...
<!--
<role rolename="tomcat"/>
<role rolename="role1"/>
<user username="tomcat" password="tomcat" roles="tomcat"/>
<user username="both" password="tomcat" roles="tomcat,role1"/>
<user username="role1" password="tomcat" roles="role1"/>
-->
</tomcat-users>
変更後
<tomcat-users xmlns="http://tomcat.apache.org/xml"
...
<role rolename="admin-gui"/>
<role rolename="admin-script"/>
<role rolename="manager-gui"/>
<role rolename="manager-status"/>
<role rolename="manager-script"/>
<role rolename="manager-jmx"/>
<user username="tomcat" password="tomcat" roles="admin-gui,admin-script,manager-gui,manager-status,manager-script,manager-jmx"/>
</tomcat-users>
Gitbucketのインストール
https://github.com/takezoe/gitbucket から gitbucket.war をダウンロードして
~/Applications/apache-tomcat-8.0.18/webapps/gitbucket.war に設置する
起動/終了確認
$ cd ~/Applications/apache-tomcat-8.0.18
$ ./startup.sh
http://localhost:8080/gitbucket/ へのアクセスを確認
$ ./shutdown.sh
Gitbucketのホームディレクトリを変更する
リポジトリのバックアップも考慮してGitbucketのホームディレクトリをDropbox以下に設定する
Tomcatが展開したgitbucketディレクトリ内の設定ファイルweb.xmlを変更する
$ cd /Applications/apache-tomcat-8.0.18/webapps/gitbucket/WEB-INF/
$ cp web.xml web.org.xml
$ vi web.xml
変更前
<!-- ===================================================================== -->
<!-- Optional configurations -->
<!-- ===================================================================== -->
<!--
<context-param>
<param-name>gitbucket.home</param-name>
<param-value>PATH_TO_DATADIR</param-value>
</context-param>
-->
変更後
<!-- ===================================================================== -->
<!-- Optional configurations -->
<!-- ===================================================================== -->
<context-param>
<param-name>gitbucket.home</param-name>
<param-value>/Users/user/Dropbox/Gitbucket</param-value>
</context-param>
起動/終了確認
$ cd ~/Applications/apache-tomcat-8.0.18
$ ./startup.sh
http://localhost:8080/gitbucket/ へのアクセスを確認
$ ./shutdown.sh
Gitbucketのデフォルトホームディレクトリは削除しておく
$ rm -rf ~/.gitbucket
ApacheとTomcatの連携
Tomcatの設定
HTTP Connectorを無効化してHTTP/1.1の8080ポート待ち受けを停止
変更前
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />
変更後
<!--
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />
-->
AJP Connectorが有効なことを確認
<!-- Define an AJP 1.3 Connector on port 8009 -->
<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />
Apacheの設定
$ sudo cp /etc/apache2/httpd.conf /etc/apache2/httpd.org.conf
$ sudo vi /etc/apache2/httpd.conf
以下のモジュールが有効になっていることを確認する
LoadModule proxy_module libexec/apache2/mod_proxy.so
LoadModule proxy_ajp_module libexec/apache2/mod_proxy_ajp.so
httpd.confでは
Include /private/etc/apache2/other/*.conf
と定義されており、otherディレクトリのconfを読み込むようなので
other/gitbucket.confを作成して/gitbucket/の転送先を定義する
ちなみに、/etcはシンボリックリンクで/private/etcを指す
$ sudo vi /etc/apache2/other/gitbucket.conf
内容は以下のとおり、
<Location /gitbucket/>
ProxyPass ajp://localhost:8009/gitbucket/
</Location>
起動/終了確認
$ cd ~/Applications/apache-tomcat-8.0.18
$ ./startup.sh
$ sudo apachectl start
http://localhost/gitbucket/ へのアクセスを確認
$ ./shutdown.sh
$ sudo apachectl stop