スーパーユーザーコミュニティの皆さん、私はこのフォーラムを初めて利用するので、これを簡単に説明します。私はアマチュアのCentOSシステム管理者です。私は行くにつれて自分自身を教えていますが、最近つまずきにぶつかりました。 GitLabをインストールしようとしていますが、VPSのApacheWebサーバーにインストールしたいと思います。
GitLabがnginx用に構築されていることは知っていますが、正直言って使いたくありません。どうすればセットアップできるのだろうと思っていました。
あなたは仮想ホストを使用することになっていると聞きましたが、覚えておいてください、私はまだこの種のものでせいぜいアマチュアなので、ここの誰かが親切で短いステップバイステップガイドを作るのに十分ですこれ、これをいただければ幸いです。
注:使用する前に GitLabをインストールするためのこのガイド ただし、これはNginx用であるため、このガイドを使用してから追加するのか、それとも追加するのか疑問に思いました。これについてはすべて間違っています。
VPSをワイプしたので、もう一度やり直すことができます。 LAMPやGitなどのインストール方法を知っているので、この「ステップバイステップ」ガイドのどの時点でインストールする必要があるかを教えてください。
たくさんありがとう、マイルズ。
私は以前にGitlabsを実行したことがありますが、Apacheを使用したことはありませんが、Googleですばやく検索すると、情報が不足していることがわかりました。一般に、GitlabsとApacheをインストールし、Gitlabs構成を編集し、ApacheユーザーをGitlabsグループに追加し、ApacheがnginxではなくGitlabsをホストするようにVirtualHostsファイルを作成し、新しいVirtualHostsファイルを有効にし、Apacheを変更する必要があるようです。必要に応じて、ApacheとGitlabsを再起動します。これらのリンク [1][2][3][4][5] はるかに詳細に行き、あなたを助けるはずです。
私は最近、ここにいくつかの指示を含めて、これに答えました:
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
これが誰かに役立つことを願っています!