50 lines
1.4 KiB
Plaintext
50 lines
1.4 KiB
Plaintext
|
#!/bin/bash
|
||
|
|
||
|
die() { echo "$@"; exit 1; }
|
||
|
|
||
|
id | grep '=0(root)' || die "you must run this as root"
|
||
|
umask 0022
|
||
|
|
||
|
cd ~apache
|
||
|
rm -rf gitolite-home
|
||
|
mkdir gitolite-home
|
||
|
export GITOLITE_HTTP_HOME
|
||
|
GITOLITE_HTTP_HOME=/var/www/gitolite-home
|
||
|
PATH=$PATH:$GITOLITE_HTTP_HOME/bin
|
||
|
|
||
|
cd gitolite-home
|
||
|
git clone /tmp/gitolite.git gitolite-source
|
||
|
|
||
|
cd gitolite-source
|
||
|
src/gl-system-install $GITOLITE_HTTP_HOME/bin $GITOLITE_HTTP_HOME/share/gitolite/conf $GITOLITE_HTTP_HOME/share/gitolite/hooks
|
||
|
|
||
|
echo '$ENV{GIT_HTTP_BACKEND} = "/usr/libexec/git-core/git-http-backend";' > 1
|
||
|
echo '$ENV{PATH} .= ":$ENV{GITOLITE_HTTP_HOME}/bin";' >> 1
|
||
|
cat /var/www/gitolite-home/share/gitolite/conf/example.gitolite.rc >> 1
|
||
|
\mv 1 /var/www/gitolite-home/share/gitolite/conf/example.gitolite.rc
|
||
|
|
||
|
gl-setup -q tester
|
||
|
|
||
|
chown -R apache.apache $GITOLITE_HTTP_HOME
|
||
|
|
||
|
cat <<EOF1 > /etc/httpd/conf.d/gitolite.conf
|
||
|
SetEnv GIT_PROJECT_ROOT /var/www/gitolite-home/repositories
|
||
|
ScriptAlias /git/ /var/www/gitolite-home/bin/gl-auth-command/
|
||
|
ScriptAlias /gitmob/ /var/www/gitolite-home/bin/gl-auth-command/
|
||
|
SetEnv GITOLITE_HTTP_HOME /var/www/gitolite-home
|
||
|
SetEnv GIT_HTTP_EXPORT_ALL
|
||
|
|
||
|
<Location /git>
|
||
|
AuthType Basic
|
||
|
AuthName "Private Git Access"
|
||
|
Require valid-user
|
||
|
AuthUserFile /tmp/gitolite-http-authuserfile
|
||
|
</Location>
|
||
|
EOF1
|
||
|
|
||
|
htpasswd -bc /tmp/gitolite-http-authuserfile tester tester
|
||
|
map "htpasswd -b /tmp/gitolite-http-authuserfile % %" u{1..6}
|
||
|
|
||
|
service httpd restart
|
||
|
|