Apache 无法使用我自己的url访问gitlab

Apache 无法使用我自己的url访问gitlab,apache,gitlab,virtualhost,Apache,Gitlab,Virtualhost,我试图在自己的网络上安装gitlab,并使用apache虚拟主机通过我的url ie git.myname.com访问它。我安装了gitlab omnibus,然后用- 外部url“” web_服务器['external_users']=['www-data'] ngingx['enable']=false 然后编辑/etc/apache2/sites available/000 default.conflike- #LogLevel alert rewrite:trace6 #RewriteC

我试图在自己的网络上安装gitlab,并使用apache虚拟主机通过我的url ie git.myname.com访问它。我安装了gitlab omnibus,然后用-

外部url“”

web_服务器['external_users']=['www-data']

ngingx['enable']=false

然后编辑
/etc/apache2/sites available/000 default.conf
like-

#LogLevel alert rewrite:trace6
#RewriteCond %{REQUEST_URI} ^/[\w\.-]+/[\w\.-]+/repository/archive [OR]
#RewriteCond %{REQUEST_URI} ^/api/v3/projects/.*/repository/archive [OR]
#RewriteCond %{REQUEST_URI} ^/[\w\.-]+/[\w\.-]+/(info/refs|git-upload-pack|git-receive-pack)$
#RewriteRule .* http://localhost:8081%{REQUEST_URI} [P,QSA]

<VirtualHost *:80>
    ServerAdmin webmaster@localhost
    DocumentRoot /var/www/html/
    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>


<VirtualHost *:80>
  ServerName git.myname.com
  ServerSignature Off
  ProxyPreserveHost On

  <Location />
    Require all granted

    ProxyPassReverse http://127.0.0.1:8080
    ProxyPassReverse http://git.myname.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

</VirtualHost>
日志级别警报重写:trace6 #重写cond%{REQUEST_URI}^/[\w\.-]+/[\w\.-]+/repository/archive[或] #重写cond%{REQUEST_URI}^/api/v3/projects/*/repository/archive[或] #重写COND%{REQUEST_URI}^/[\w\.-]+/[\w\.-]+/(info/refs | git upload pack | git receive pack)$ #重写规则。*http://localhost:8081%{REQUEST_URI}[P,QSA] 服务器管理员webmaster@localhost DocumentRoot/var/www/html/ ErrorLog${APACHE_LOG_DIR}/error.LOG CustomLog${APACHE\u LOG\u DIR}/access.LOG组合 ServerName git.myname.com 服务器签名关闭 代理主机 要求所有授权 ProxyPassReversehttp://127.0.0.1:8080 ProxyPassReversehttp://git.myname.com/ 重新启动发动机 重写cond%{DOCUMENT\u ROOT}/%{REQUEST\u FILENAME}-F 重写规则。*http://127.0.0.1:8080%{REQUEST_URI}[P,QSA] #需要下载附件 DocumentRoot/opt/gitlab/embedded/service/gitlab-rails/public gitlab可以通过
localhost:8080
访问,但是
git.myname.com
总是导致带有gitlab徽标的内部服务器错误
sudo/etc/init.d/apache2 start
不起作用。我甚至用同样的脚本创建了
gitlab.conf
,但仍然存在问题。我如何解决这个问题

/var/log/apache2/error.log
显示

AH01144:没有对URL/(方案“http”)有效的协议处理程序。 如果您使用的是DSO版本的mod_proxy,请确保该代理 子模块包含在使用LoadModule的配置中


好的,我解决了问题。如果您将来也要这样做,那么上面的内容就是您使用自己的url托管gitlab服务器所需要遵循的。通过运行以下命令可以解决此问题

sudo a2enmod proxy_html
sudo a2enmod proxy
sudo a2enmod rewrite
sudo a2enmod proxy_balancer
sudo a2enmod proxy_connect
sudo a2enmod proxy_html
sudo a2enmod proxy_headers
sudo a2enmod headers
sudo a2enmod proxy_ajp

sudo systemctl restart apache2