USVN — переводим хост на SSL

В предыдущем посте я рассказал, как настроить usvn для управления свн на сервере.

Сейчас я тут решил переехать с локальной виртуальной машины на удаленный сервер и соответственно свн поднять там. В целом все делал как и раньше, но решил сайт перевести на ssl соединение.

Сделать это очень просто.

1. Генерирует SSL сертификат.

openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout mysitename.key -out mysitename.crt

На выходе получаем два файла, которые в последствии будем использовать.

2. Подключаем ssl на nginx, для чего нужно изменить значение listen с 80 на 443 и добавить опции, выкладываю итоговый конфиг nginx:

server {
        listen  443;
        server_name  svn.site.com;

        ssl on;
        ssl_certificate /usr/local/etc/nginx/ssl/svn.site.com.crt;
        ssl_certificate_key /usr/local/etc/nginx/ssl/svn.site.com.key;

        access_log  /var/log/nginx/svn.2kumba.com_access.log;

        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   /usr/local/www/nginx-dist;
        }
        root /usr/local/www/usvn-1.0/public/;

         location /medias {
                try_files       $uri
                                @usvn-backend;
        }

        location  / {
            fastcgi_pass   php-backend;
            fastcgi_param  SCRIPT_FILENAME  /usr/local/www/usvn-1.0/public/index.php;
            include        fastcgi_params;
        }

        location @usvn-backend {
            fastcgi_pass   php-backend;
            fastcgi_param  SCRIPT_FILENAME  /usr/local/www/usvn-1.0/public/index.php;
            include        fastcgi_params;
        }

}

Где путь «/usr/local/etc/nginx/ssl/» это путь к папке где лежит сгенерированный сертификат.

3. Подключаем ssl для apache, для этого добавляю просто перед нужным Location параметры, включащие поддержку ssl. При этом стоит заметить что в этом случае ssl включится для всех хостов которые обслуживаются апачем, но так как  апач у меня используется только для svn то мне это по барабану.

Мой конфиг апача:

 SSLEngine on
    SSLCertificateFile /usr/local/etc/apache22/ssl/svn.site.com.crt
    SSLCertificateKeyFile /usr/local/etc/apache22/ssl/svn.site.com.key

<Location /usvn/svn>
    DAV svn
    SVNParentPath /usr/local/www/usvn-1.0/files/svn
    SVNListParentPath off
    SVNPathAuthz on
    AuthzSVNAnonymous Off

    AuthType Basic
    AuthName "svn repository"
    AuthUserFile /usr/local/www/usvn-1.0/files/htpasswd
    AuthzSVNAccessFile /usr/local/www/usvn-1.0/files/authz
    Require valid-user
</Location>

Путь к SSL сертификатам указывайте тот же что и для nginx. Я себе просто сделал симлинк для удобства.

Рестартуем nginx, apache и все должно уже работать через https://

One Thought on “USVN — переводим хост на SSL

  1. Pingback: Блог неизвестного разработчика » Blog Archive » Среда разработки — установка и настройка usvn

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Post Navigation