web-dev-qa-db-ja.com

CentOS7のApacheにGitLabをインストールしようとしています

スーパーユーザーコミュニティの皆さん、私はこのフォーラムを初めて利用するので、これを簡単に説明します。私はアマチュアのCentOSシステム管理者です。私は行くにつれて自分自身を教えていますが、最近つまずきにぶつかりました。 GitLabをインストールしようとしていますが、VPSのApacheWebサーバーにインストールしたいと思います。

GitLabがnginx用に構築されていることは知っていますが、正直言って使いたくありません。どうすればセットアップできるのだろうと思っていました。

  • mysite.comは、/ var/www/html内のファイル(index.html、より多くのファイルを含むフォルダーなど)を取得します。
  • lab.mysite.comはGitLabを取得します。

あなたは仮想ホストを使用することになっていると聞きましたが、覚えておいてください、私はまだこの種のものでせいぜいアマチュアなので、ここの誰かが親切で短いステップバイステップガイドを作るのに十分ですこれ、これをいただければ幸いです。

注:使用する前に GitLabをインストールするためのこのガイド ただし、これはNginx用であるため、このガイドを使用してから追加するのか、それとも追加するのか疑問に思いました。これについてはすべて間違っています。

VPSをワイプしたので、もう一度やり直すことができます。 LAMPやGitなどのインストール方法を知っているので、この「ステップバイステップ」ガイドのどの時点でインストールする必要があるかを教えてください。

たくさんありがとう、マイルズ。

4
Miles Jefferson

私は以前にGitlabsを実行したことがありますが、Apacheを使用したことはありませんが、Googleですばやく検索すると、情報が不足していることがわかりました。一般に、GitlabsとApacheをインストールし、Gitlabs構成を編集し、ApacheユーザーをGitlabsグループに追加し、ApacheがnginxではなくGitlabsをホストするようにVirtualHostsファイルを作成し、新しいVirtualHostsファイルを有効にし、Apacheを変更する必要があるようです。必要に応じて、ApacheとGitlabsを再起動します。これらのリンク [1][2][3][4][5] はるかに詳細に行き、あなたを助けるはずです。

0
torchhound

私は最近、ここにいくつかの指示を含めて、これに答えました:

https://stackoverflow.com/a/41168476/1856589

これが再投稿と見なされるかどうかはわかりませんが、ここにもう一度説明します。



デフォルトでは、GitLabはnginxをインストールしますが、通常、システムのサービスマネージャー(serviceまたはsystemctl)にnginxを追加しません。これにより、Apacheを有効にしようとすると混乱します(nginxがデフォルトのポート80を使用しているため、Apacheは起動しません)。

デフォルトのインストール手順に従ってGitlabをインストールしたとすると、Nginxサービスはgitlab-ctlサービスマネージャー(インストールされたGitlab)。

Nginxを停止するには、コマンドラインからrootとして以下を実行します。

gitlab-ctl stop nginx

ポート80が空いたので、Apacheを起動できます(まだインストールしていない場合はApacheをインストールすることを忘れないでください/手順はRHELシステム用です-Ubuntuなどに応じて変更してください)。あなたがrootユーザーであると仮定します:

yum install -y httpd;
systemctl start httpd;
systemctl enable httpd;

Gitlab構成ファイルを編集してnginxを無効にし、gitlabにApacheを使用するように指示しましょう。

vi /etc/gitlab/gitlab.rb

ドメインまたはIPのいずれかを以下に追加します。

external_url 'http://git.yourdomain.com/'

検索:

# web_server['external_users'] = []

次のように変更します(先頭の「#」を削除することを忘れないでください):

web_server['external_users'] = ['Apache']

検索:

# nginx['enable'] = true

への変更:

nginx['enable'] = false

そして最後に、次のコマンドで「再コンパイル」を実行する必要があります。

gitlab-ctl reconfigure

gitlab-ctl restart

次に、Apache構成。 Gitlabをインストールすると、gitlab-wwwというユーザーグループが追加されました。 Apacheユーザーにそのグループへのアクセスを許可する必要があります。以下は、Apacheをインストールし、ユーザーApache(48)が存在することを前提としています。

Gitlabが自分自身をインストールしたグループを確認するには、次のコマンドを実行します。

getent group

次に、Apacheのユーザーを変更して、gitlab-wwwグループに追加します。

usermod Apache --append --groups gitlab-www

次に、gitlabインストールを指すApache仮想ホストが必要です。

仮想ホストをApacheのconf.dディレクトリに追加します(これにより新しいファイルが作成されます):

vi /etc/httpd/conf.d/gitlab.conf

以下を追加します(必要に応じて微調整します)。

<VirtualHost *:80>
    ServerName git.yourdomain.com
    ServerSignature Off

    ProxyPreserveHost On

    <Location />
      Order deny,allow
      Allow from all

      ProxyPassReverse http://127.0.0.1:8080
      ProxyPassReverse http://git.yourdomain.com/
    </Location>

    RewriteEngine on
    RewriteCond %{DOCUMENT_ROOT}/%{REQUEST_FILENAME} !-f
    RewriteRule .* http://127.0.0.1:8080%{REQUEST_URI} [P,QSA]

    # needed for downloading attachments
    DocumentRoot /opt/gitlab/embedded/service/gitlab-Rails/public

    ErrorLog /var/log/httpd/error_log
    CustomLog /var/log/httpd/access_log combined env=!dontlog
</VirtualHost>

...そしてApacheを再起動します:

systemctl start httpd

Selinuxのような問題に遭遇するかもしれません-デバッグの目的で許容するように設定することができます。

setenforce 0

これが誰かに役立つことを願っています!

3
recurse