Я установил virtualmin на свой VPS для управления своими сайтами. Он работает отлично и, как и ожидалось, уже почти год. Недавно я хотел добавить некоторые функции на один из моих сайтов, и мне нужна интеграция с git.
Я правильно установил git и gitweb на свой сервер, и я могу создавать репозитории и просматривать их в разделе http://sub.domain.com/git/gitweb.cgi Вот текущее соответствующее дерево каталогов:
/home/user/domains/sub.domain.com/public_html/git/
drwxr-sr-x user user .
drwxr-x--- user user ..
-rw-r--r-- user user git-favicon.png
-rw-r--r-- user user git-logo.png
-rwxr-xr-x user user gitweb.cgi
-rw-r--r-- user user gitweb.css
drwxrwx--- apache user reponame.git
/home/user/domains/sub.domain.com/public_html /git/reponame.git/
drwxrwx--- apache user .
drwxr-sr-x user user ..
drwxrwx--- apache user branches
-rwxrwx--- apache user config
-rwxrwx--- user user description
-rwxrwx--- apache user HEAD
drwxrwx--- apache user hooks
drwxrwx--- apache user info
drwxrwx--- apache user objects
drwxrwx--- apache user refs
Но у меня есть несколько вопросов:
Когда я посещаю http://sub.domain.com/git/gitweb.cgi , указывается владелец как «Апач». Почему? как я могу это изменить?
Обычно, чтобы создать новый репозиторий git, я делаю что-то вроде:
$ mkdir proj
$ cd proj
$ git init {{1 }} Инициализированный пустой репозиторий Git в /home/user/proj/.git/
// здесь я создаю файлы или копирую их откуда-то еще
$ git add * .php {{ 1}} $ git add README
$ git commit -m 'initial version'
Но после создания репозитория в virtualmin я могу найти новый каталог с именем 'reponame.git', но не каталог '.git'. Когда я пытаюсь запустить любую команду git (например, git status), я получаю сообщение «фатально: эта операция должна выполняться в дереве работы». Как я могу работать с этим репозиторием?
Вы устанавливали Virtualmin с помощью сценария автоустановки install.sh, который мы предоставляем по Virtualmin.com? Или Вы устанавливали Virtualmin вручную?
Поведение Вы описываете средства Ваши сценарии, не выполняется с помощью suexec, а скорее как пользователь Apache. При использовании сценария установки suexec должен быть настроен, по умолчанию для всех типов сценария. Если Вы установили вручную, необходимо будет установить это сами, а также перекомпилировать Apache (или, установить apache2-suexec-custom пакет и настроить его для / домой при использовании Debian/Ubuntu) установить suexec docroot на / домой.
У нас есть некоторая документация о ручных установках на нашем веб-сайте, но ручная установка все еще требует довольно значительного знания и инвестиций в достижение. Мы рекомендуем использовать сценарий установки на недавно установленном Классе поддерживаемая ОС, как зарегистрировано на нашей странице Download.
Я ничего не знаю о gitweb, таким образом, я оставлю те вопросы оставшимися без ответа.
Относительно проблемы владения: в некоторых случаях конфигурация PHP, установленная менеджером пакетов (например, apt), переопределяет конфигурацию Virtualmin fcgid. Решение в этом случае - отредактировать /etc/apache2/mods-available/php5.conf, закомментировать строку SetHandler application / x-httpd-php
, а затем запустить apache2ctl graceful
.