Как настроить gitolite для одного домена в Plesk - PullRequest
0 голосов
/ 28 января 2011

Как настроить gitolite для одного домена панели plesk.

Когда я использую пользователя / bin / bash, созданного plesk, домашняя папка становится / var / www / vhosts / {user} /

Затем после установки gitolite пользователь все еще не использует папку $ HOME / bin / для поиска двоичного файла gitolite и использует системный двоичный файл, поэтому всегда, когда я пытаюсь клонировать gitolite-admin, получается пустой каталог.

Как настроить пользователя домена plesk ssh для использования папки $ HOME / bin для доступа к репозиторию gitolite и его двоичным файлам?

Я использую CentOS 5 с Plesk 10.0.1

Спасибо.

Ответы [ 2 ]

0 голосов
/ 23 июня 2011

Я предполагаю, что вы используете некоторые переменные, такие как:

Domain: gartz.com.br 
Username: gartz

Зайдите в свою панель plesk и добавьте SSH / bin / bash доступ для пользователя, которого вы не хотите устанавливать в gitolite repositorie.

Теперь SSH войдите на ваш сервер с правами root . И введите su - gartz, теперь вы находитесь в вашем пользовательском Bash.

Введите pwd, он покажет ваш ${HOME} как: /var/www/vhosts/gartz.com.br/

Вернитесь к суперпользователю и добавьте привилегии, чтобы пользователь мог написать собственную домашнюю папку и добавить папку git:

$ chown gartz:psacln /var/www/vhosts/gartz.com.br/
$ su - gartz
$ mkdir git

Теперь у вас есть это: /var/www/vhosts/gartz.com.br/git

Загрузите ваш gitolite в папку git, затем добавьте пользователя, который будет иметь доступ только к вашим репозиториям git, например, используя суффикс или префикс git: adduser gartz.git

Отредактируйте ваш файл passwd, чтобы ваш пользователь git имел те же идентификаторы от обычного пользователя, и измените домашнюю папку на правильную папку git. (вам снова понадобятся привилегии root)

$ cat /etc/passwd | grep gartz

Это покажет что-то вроде этого:

gartz:x:10004:2524::/var/www/vhosts/gartz.com.br:/bin/bash

Теперь отредактируйте другого пользователя gartz.git, чтобы он был таким:

gartz.git:x:10004:2524::/var/www/vhosts/gartz.com.br/git:/bin/bash

Добавьте папку .ssh с авторизованными ключами для вашего ключа RSA. Затем войдите в свою оболочку, используя учетную запись, например gartz.git, установите свой gitolite прямо сейчас.

$ git clone git://github.com/sitaramc/gitolite
$ cd gitolite/src
$ ./gl-easy-install -q gitolite gitserver sitaram

Идите на свой компьютер и клонируйте своего gitolite-admin:

$ git clone gartz.git@gartz.com.br:gitolite-admin

Измените свой конфигурационный файл, добавьте ключи и репозитории, совершите коммит и нажмите.

Вы можете сделать это для любого домена, который вы хотите. Для получения дополнительной информации установка git http://progit.org/book/ch4-8.html

0 голосов
/ 24 февраля 2011

Я использовал панель Plesk для добавления доступа ssh-пользователя к удаленному домену, например:

{SSH_USER} = имя пользователя ssh моего домена

SO в моем $ HOME я создалпапку с именем $ HOME / git и дайте ей разрешения, затем создайте псевдоним пользователя {SSH_USER} .git, который использует тот же UID / GID от пользователя {SSH_USER}.

/var/www/vhosts/<domain>/# mkdir git

Если вы вошли в систему как ROOTизмените разрешение на ваш {SSH_USER}: psacln

# chown -R {SSH_USER}:psacln ./git

Теперь, используя вашу корневую учетную запись, создайте нового пользователя с именем {SSH_USER} .git, где домашняя папка - это папка git, которую вы уже создали.

Найдите ваш uid и gid:

# id
uid=10004({SSH_USER}) gid=2524(psacln) groups=2524(psacln)

Теперь создайте нового пользователя:

# sudo adduser {SSH_USER}.git -d /var/www/vhosts/<domain>/git -g 2524 -u 10004

Войдите в систему как {SSH_USER} .git

# su - {SSH_USER}.git

Установитьтвой гитолит.Все будет работать.

Когда вы пытаетесь войти в домен git, вам нужно набрать:

git clone {SSH_USER}.git@<domain>:<repo_name>

Вы можете сделать это для любого домена на вашем сервере, имея единую администрацию gitolite длядомены.

...