3
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

OracleXEの稼働しているUbuntuにGitLabを入れようとしたらドハマリした話

Last updated at Posted at 2016-03-31

##経緯

###インストール

OracleXEのインストールされたUbuntu(14.04)GitLab CE(8.6.1)公式ページ参照でインストール

###gitlab.rbを修正してなんやかんや

ここを参照してgitlab.rbに加筆

/etc/gitlab/gitlab.rb
...
external_url 'http://localhost'
unicorn['worker_timeout'] = 180
...

記述後、$ sudo gitlab-ctl reconfigureしてブラウザにて接続すると「502」エラー。

external_urlへ明示的にポート8080を指定

/etc/gitlab/gitlab.rb
...
external_url 'http://localhost:8080'
...

修正後、ブラウザにて接続すると「XDBに対するユーザ名とパスワード~~」というBasic認証の画面が。

どうやらOracleXEにはApex(Oracle Application Express)というWebアプリケーションがついてくるらしく、そこでポート8080を使用している模様。

###じゃあexternal_urlのポートを変えてみよう

/etc/gitlab/gitlab.rb
...
external_url 'http://localhost:8081'
...

修正後、ブラウザにて接続すると再び「502」エラー。
このあたりで/var/log/gitlab/unicorn/unicorn_stderr.log/var/log/gitlab/nginx/gitlab_error.logを見だす

  • その時点での/var/log/gitlab/unicorn/unicorn_stderr.logのエラー
/var/log/gitlab/unicorn/unicorn_stderr.log
...
E, [2016-03-30T15:44:57.159072 #32405] ERROR -- : adding listener failed addr=127.0.0.1:8080 (in use)
E, [2016-03-30T15:44:57.159146 #32405] ERROR -- : retrying in 0.5 seconds (4 tries left)
...

リスナーのポートが変わっていない…?

###どうやらポート設定が問題のようだ

ポートの問題と特定するもそもそもunicornだのnginxだのがよくわかっておらず、
いろいろイジっているうちに/var/log/gitlab/unicorn/unicorn_stderr.logが更新されなくなった(permissionを変更してしまったらしい)り、
/etc/gitlab/gitlab.rbを初期化しようと思ってrmしたら再作成されずテンプレートから引っ張って来て
修正後ブラウザから接続すると「404」エラー(この404エラーがググっても全然出てこなくてハマった、/var/log/gitlab/nginx/gitlab_error.logでは/var/opt/gitlab/nginx/html/index.htmlがnot found状態)になったりで、
ええいままよと再インストールを決断

###そして再インストールへ

単純にアンインストール・インストールを実行しても状況変わらず

$ sudo apt-get remove gitlab-ce=8.6.1-ce.0
$ sudo apt-get install gitlab-ce=8.6.1-ce.0
/* /etc/gitlab/gitlab.rbは再作成されず */
$ sudo gitlab-ctl reconfigure
/* ブラウザ接続も404エラーのまま */
$ sudo apt-get --purge remove gitlab-ce=8.6.1-ce.0
$ sudo apt-get install gitlab-ce=8.6.1-ce.0
/* /etc/gitlab/gitlab.rbは再作成されず */
$ sudo gitlab-ctl reconfigure
/* ブラウザ接続も404エラーのまま */

###もうアタッマきて関連するディレクトリをrm

$ sudo rm -rf /opt/gitlab
$ sudo rm -rf /var/opt/gitlab
$ sudo rm -rf /var/log/gitlab
$ sudo rm -rf /etc/gitlab

###GitLabの実行ユーザでやってたら怒られた

$ curl -sS https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.deb.sh | sudo bash
shell-init: カレントディレクトリの取得時にエラーが発生しました : getcwd: 親ディレクトリにアクセスできません: そのようなファイルやディレクトリはありません
Detected operating system as Ubuntu/trusty.
...

実行ユーザのhomeがさっきrmったところにあったのが原因だそう。
cd /して解決

###改めてGitLabをインストール
公式手順通り
今度は/etc/gitlab/gitlab.rbが再作成された!

###今までの経験を活かして/etc/gitlab/gitlab.rbを修正

/etc/gitlab/gitlab.rb
...
external_url 'http://localhost:10080'
...
##################
# GitLab Unicorn #
##################
...
unicorn['worker_timeout'] = 180
...
## Advanced settings
unicorn['listen'] = '127.0.0.1'
unicorn['port'] = 8888
...
################
# GitLab Nginx #
################
...
# nginx['listen_port'] = nil # override only if you use a reverse proxy: https://gitlab.com/gitlab-org/omnibus-gitlab/blob/master/doc/settings/nginx.md#setting-the-nginx-listen-port
nginx['listen_port'] = 10080
...

結局いじったのは

/etc/gitlab/gitlab.rb
external_url 'http://localhost:10080'
unicorn['worker_timeout'] = 180
unicorn['listen'] = '127.0.0.1'
unicorn['port'] = 8888
nginx['listen_port'] = 10080

の5行。

###お約束の$ sudo gitlab-ctl reconfigureを実行しブラウザから接続してみると…
夢にまで見たサービスログイン画面が!!

##まとめ
結局Apexを動かしてるサーバアプリケーションは探さなかったので、そっちでポート変えれば一番早かったかもしれない…。
既にApachenginxが稼働しているサーバにGitLabを入れるって情報はそこそこ拾えたんだけど。
そもそもLinuxのリソースが足りない&OracleXEサーバのリソースが余ってるからって安易に同居させようと思ったのが間違い。

3
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?