Настройка RhodeCode на сервере под управлением ISPmanager


Установку проводим по инструкции из первой части (Установка Hg/Git/Svn хранилища репозитария Rhodecode), а в ISPManager нам потребуется только отредактировать конфигурационный файл Apache и привести его к виду Reverse proxy:

На сервере конфигурационные файлы находятся в каталоге /etc/apache2/vhosts/www-root/

Обязательно активируем два модуля для обратного проксирования при помощи Apache:

# a2enmod proxy
# a2enmod proxy_http

В случае RhodeCode для ReverseProxy получается следующий конфигурационный файл:

<VirtualHost 5.188.43.85:80 5.188.43.84:80>
        ServerName gitswag.com
        ServerAdmin webmaster@gitswag.com
        AddDefaultCharset off
        AssignUserID www-root www-root
        CustomLog /var/www/httpd-logs/gitswag.com.access.log combined
        ErrorLog /var/www/httpd-logs/gitswag.com.error.log
        ServerAlias www.gitswag.com

        Redirect / https://gitswag.com

</VirtualHost>

<VirtualHost 5.188.43.85:443 5.188.43.84:443>
        ServerName gitswag.com
        ServerAlias www.gitswag.com
        ServerAdmin webmaster@gitswag.com
        AddDefaultCharset off
        SSLEngine on
        SSLCertificateFile "/var/www/httpd-cert/www-root/gitswag.com_le1.crt"
        SSLCertificateKeyFile "/var/www/httpd-cert/www-root/gitswag.com_le1.key"
        SSLHonorCipherOrder on
        SSLProtocol +TLSv1 +TLSv1.1 +TLSv1.2
        SSLCipherSuite EECDH:+AES256:-3DES:RSA+AES:!NULL:!RC4
        Header always set Strict-Transport-Security "max-age=31536000; preload"
        AssignUserID www-root www-root
        CustomLog /var/www/httpd-logs/gitswag.com.access.log combined
        ErrorLog /var/www/httpd-logs/gitswag.com.error.log

        <Proxy *>
          Order allow,deny
          Allow from all
        </Proxy>

        ProxyPreserveHost On

        ProxyPass / http://127.0.0.1:10020/
        ProxyPassReverse / http://127.0.0.1:10020/

        SSLCertificateChainFile "/var/www/httpd-cert/www-root/gitswag.com_le1.ca"
</VirtualHost>