我正在尝试安装GitLab,但我想将它安装在我的VPS上的Apache Web服务器上.我知道GitLab是为nginx构建的,但老实说我不想使用它.我想知道如何能够进行设置mysite.com将在/ var / www / html中检索文件(如index.html,包含...

我正在尝试安装GitLab,但我想将它安装在我的VPS上的Apache Web服务器上.
我知道GitLab是为nginx构建的,但老实说我不想使用它.我想知道如何能够进行设置
mysite.com将在/ var / www / html中检索文件(如index.html,包含更多文件的文件夹等)
lab.mysite.com将检索GitLab.
我听说你应该使用一个虚拟主机,但请记住,我仍然是一个业余爱好充其量的这种东西,所以如果这里的任何人都很友好,可以做一个简短的分步指南做这个,我很欣赏这一点.
注意:在我使用this guide to install GitLab之前,不过这是针对Nginx的,所以我想知道我是否要使用本指南但是然后添加到它上面,或者如果我说这一切都错了.
解决方法:
默认情况下,GitLab将安装nginx,但通常不会将nginx添加到系统的服务管理器(service或systemctl).这使得在尝试启用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
现在我们需要一个Apache虚拟主机来指向gitlab安装.
将一个虚拟主机添加到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
我希望这可以帮助别人!
本文标题为:linux – 尝试在CentOS 7上的Apache上安装GitLab


- 解决:apache24 安装后闪退和配置端口映射和连接超时设置 2023-09-11
- CentOS_mini下安装docker 之 安装docker CE 2023-09-23
- CentOS7安装GlusterFS集群的全过程 2022-10-10
- IIS搭建ftp服务器的详细教程 2022-11-15
- 【转载】CentOS安装Tomcat 2023-09-24
- 利用Docker 运行 python 简单程序 2022-10-16
- KVM虚拟化Linux Bridge环境部署的方法步骤 2023-07-11
- 阿里云ECS排查CPU数据分析 2022-10-06
- nginx中封禁ip和允许内网ip访问的实现示例 2022-09-23
- 教你在docker 中搭建 PHP8 + Apache 环境的过程 2022-10-06