Remove legacy code
[aur.git] / INSTALL
blobd68fa26919ce2e736ac401a02603b5821f2c22d6
1 Setup on Arch Linux
2 ===================
4 1) Clone the AUR project:
6    $ cd /srv/http/
7    $ git clone git://projects.archlinux.org/aurweb.git
9 2) Setup a web server with PHP and MySQL. Configure the web server to redirect
10    all URLs to /index.php/foo/bar/. The following block can be used with nginx:
12     server {
13         listen       80;
14         server_name  aur.local aur;
16         root   /srv/http/aurweb/web/html;
17         index  index.php;
19         location ~ ^/[^/]+\.php($|/) {
20             fastcgi_pass   unix:/var/run/php-fpm/php-fpm.sock;
21             fastcgi_index  index.php;
22             fastcgi_split_path_info ^(/[^/]+\.php)(/.*)$;
23             fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
24             fastcgi_param  PATH_INFO        $fastcgi_path_info;
25             include        fastcgi_params;
26         }
28         location ~ .* {
29             rewrite ^/(.*)$ /index.php/$1 last;
30         }
31     }
33 3) Copy conf/config.proto to conf/config and adjust the configuration (pay
34    attention to disable_http_login, enable_maintenance and aur_location).
36 4) Create a new MySQL database and a user and import the AUR SQL schema:
38     $ mysql -uaur -p AUR </srv/http/aurweb/schema/aur-schema.sql
40 5) Create a new user:
42     # useradd -U -d /srv/http/aurweb -c 'AUR user' aur
44 6) Initialize the Git repository:
46     # mkdir /srv/http/aurweb/aur.git/
47     # cd /srv/http/aurweb/aur.git/
48     # git init --bare
49     # ln -s ../../git-interface/git-update.py hooks/update
50     # chown -R aur .
52 7) Install the git-auth wrapper script:
54     # cd /srv/http/aurweb/git-interface/
55     # make && make install
57 8) Configure sshd(8) for the AUR. Add the following lines at the end of your
58    sshd_config(5) and restart the sshd. Note that OpenSSH 6.9 or newer is
59    needed!
61     Match User aur
62         PasswordAuthentication no
63         AuthorizedKeysCommand /usr/local/bin/aur-git-auth "%t" "%k"
64         AuthorizedKeysCommandUser aur
66 9) If you want to enable smart HTTP support with nginx and fcgiwrap, you can
67    use the following directives:
69     location ~ "^/([a-z0-9][a-z0-9.+_-]*?)(\.git)?/(git-(receive|upload)-pack|HEAD|info/refs|objects/(info/(http-)?alternates|packs)|[0-9a-f]{2}/[0-9a-f]{38}|pack/pack-[0-9a-f]{40}\.(pack|idx))$" {
70         fastcgi_pass   unix:/run/fcgiwrap.sock;
71         include        fastcgi_params;
72         fastcgi_param  SCRIPT_FILENAME /usr/lib/git-core/git-http-backend;
73         fastcgi_param  PATH_INFO /aur.git/$3;
74         fastcgi_param  GIT_HTTP_EXPORT_ALL "";
75         fastcgi_param  GIT_NAMESPACE $1;
76         fastcgi_param  GIT_PROJECT_ROOT /srv/http/aurweb/;
77     }
79    Sample systemd unit files for fcgiwrap can be found under conf/.