Назад | Перейти на главную страницу

связать ртутное репо с веб-сервером

У меня такая ситуация:

На той же машине у меня есть ртутный сервер и веб-сервер. Репозиторий проекта находится в / var / hg / repos / myproyect, а общедоступные файлы для веб-сервера находятся в / usr / share / nginx / www.

Есть ли способ связать (ln) каталог репо с сервером общедоступного пути? когда я делаю

ln /var/hg/repos/myproject/.hg/store/data/ /ush/share/nginx/www/myproject

и я вставил в браузер http://iptoserver.com/myproject ничего не показано

Я заметил, что данные хранятся в .hg с расширением .i

Вы почти наверняка должны настроить hgweb для обслуживания репозитория, а не для сброса необработанных файлов.

В Публикация репозиториев и HGWeb шаг за шагом В вики-статьях это подробно рассматривается, но вот основные моменты:

  1. Создайте файл hgweb.conf (обычно в /usr/local/etc/ или что-то зависящее от виртуального хоста в многопользовательских средах).

    [paths]
    myproject = /var/hg/repos/myproject
    
    [web]
    allow_archive = gz
    contact = Some Name <EMail@Example.com>
    
  2. Скопируйте файл hgweb.cgi из каталога установки в каталог cgi-bin. Скорее всего: cp /usr/share/mercurial/www/hgweb.cgi /var/www/cgi-bin/ (Вы все равно поняли идею).

  3. Отредактируйте файл hgweb.cgi, установите расположение файла конфигурации с # 1.
  4. Настройте nginx для fcgi:

    location /hg/ {
        fastcgi_pass    127.0.0.1:9000;
        include         fastcgi_hg;
        fastcgi_intercept_errors    off;
    
        limit_except GET HEAD {
            auth_basic  'Example';
            auth_basic_user_file /srv/hg.htpasswd;
        }
    }
    
  5. Настройте fcgi include (fastcgi_hg) для hg:

    include fastcgi_params;
    fastcgi_split_path_info ^(/hg)(.*)$;
    fastcgi_param  SCRIPT_NAME        $fastcgi_script_name;
    fastcgi_param  PATH_INFO          $fastcgi_path_info;
    fastcgi_param  AUTH_USER          $remote_user;
    fastcgi_param  REMOTE_USER        $remote_user;
    
  6. Перезапустите nginx, и Боб - ваш дядя!