blob: 3aad5156aa7f07064c3b5ad411f0e865c1086365 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
|
Setup on Arch Linux
===================
1) Clone the AUR project:
$ cd /srv/http/
$ git clone git://projects.archlinux.org/aurweb.git
2) Setup a web server with PHP and MySQL. Configure the web server to redirect
all URLs to /index.php/foo/bar/. The following block can be used with nginx:
location ~ .* {
rewrite ^/(.*)$ /index.php/$1 last;
}
3) Copy conf/config.proto to conf/config and adjust the configuration.
4) Create a new MySQL database and a user and import the AUR SQL schema:
$ mysql -uaur -p AUR </srv/http/aurweb/schema/aur-schema.sql
5) Create a new user:
# useradd -U -d /srv/http/aurweb -c 'AUR user' aur
6) Initialize the Git repository:
# mkdir /srv/http/aurweb/aur.git/
# cd /srv/http/aurweb/aur.git/
# git init --bare
# ln -s ../../git-interface/git-update.py hooks/update
# chown -R aur .
7) Install the git-auth wrapper script:
# cd /srv/http/aurweb/git-interface/
# cp git-auth.sh /usr/local/bin/aur-git-auth
# chmod 755 /usr/local/bin/aur-git-auth
8) Configure sshd(8) for the AUR. Add the following lines at the end of your
sshd_config(5) and restart the sshd. Note that OpenSSH 6.9 or newer is
needed!
Match User aur
PasswordAuthentication no
AuthorizedKeysCommand /usr/local/bin/aur-git-auth "%t" "%k"
AuthorizedKeysCommandUser aur
9) If you want to enable smart HTTP support with nginx and uWSGI, you can use
the following directives:
location ~ ^/([a-z0-9][a-z0-9.+_-]*)\.git/(.*)$ {
include uwsgi_params;
uwsgi_modifier1 9;
uwsgi_param PATH_INFO /aur.git/$2;
uwsgi_param GIT_NAMESPACE $1;
uwsgi_pass unix:/run/uwsgi/smarthttp/aurweb.sock;
}
For the uWSGI configuration, the following template can be used:
[uwsgi]
plugins = cgi
uid = aur
processes = 1
threads = 8
env = GIT_HTTP_EXPORT_ALL=
env = GIT_PROJECT_ROOT=/srv/http/aurweb
cgi = /usr/lib/git-core/git-http-backend
|