Это говорит Вам ту версию 1.17 Perl URI
модуль недоступен (yum whatprovides 'perl(URI)'
).
Что касается httpd-mmn
, это обеспечивается httpd
пакет; возможно, тот, который Вы установили, является неверной версией (rpm -q --whatprovides httpd-mmn
).
Если бы у Вас есть своего рода панель управления, такая как CPanel, установленный затем, это установило бы свой собственный httpd и Perl, означая, что Вы не сможете достигнуть пакеты в основе repo. Говорите со своим поставщиком панели, если это верно.
Вы можете установить на сервере два виртуальных хоста, указывающих на один и тот же корень документа. Один виртуальный хост обслуживает веб-сайт, а другой - ртутный репозиторий с hgweb.wscgi. Таким образом, вы можете настроить аутентификацию внутри второй конфигурации vhost.
<VirtualHost *:80>
ServerName www.example.com
ServerAlias example.com
DocumentRoot /www/domain/public_html/site/
</VirtualHost>
<VirtualHost *:80>
ServerName repo.example.com
DocumentRoot /www/domain/public_html/site/
# auth setup
....
</VirtualHost>
Если вы предпочитаете использовать .htaccess, вы также можете использовать другие имена для файлов htaccess, используя директиву AccessFileName в конфигурации vhost.
Например:
AccessFileName .acl
Обычно я использую SSH вместо hgweb для push и pull. Схема также работает, если вы нажимаете прямо в каталог сайта, однако я не рекомендую этого делать по нескольким причинам. Во-первых, для переноса в небезопасный репозиторий все равно потребуется проверка (это можно легко исправить с помощью входящего перехвата), во-вторых, если вы испортили развертывание, гораздо проще исправить, если каталог вашего сайта отделен от каталога репозитория, кроме того, отдельные каталоги позволяют передавать данные в общий репозиторий без развертывания (например, когда вам нужно переместить коды, которые не готовы к работе, с одной машины разработки на другую машину разработки).
Итак, схема работает так:
Использование SSH также будет более безопасным, чем использование hgweb, поскольку процесс Apache не должен иметь возможность писать ни в «активный» каталог сайта, ни в «чистый» каталог репозитория. Проталкивание через SSH означает, что доступ на запись в эти каталоги требуется только пользователю SSH.
Без чистого репозитория это выглядит немного проще:
, но вы теряете упомянутые выше преимущества.