notify: Do not pass notification texts via pipes
[aur.git] / INSTALL
blobd95691124ba5ffc074a93442784d59e81de61f5a
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     # git config --local transfer.hideRefs '^refs/'
50     # git config --local transfer.hideRefs '!refs/'
51     # ln -s ../../git-interface/git-update.py hooks/update
52     # chown -R aur .
54 7) Install the git-auth wrapper script:
56     # cd /srv/http/aurweb/git-interface/
57     # make && make install
59 8) Configure sshd(8) for the AUR. Add the following lines at the end of your
60    sshd_config(5) and restart the sshd. Note that OpenSSH 6.9 or newer is
61    needed!
63     Match User aur
64         PasswordAuthentication no
65         AuthorizedKeysCommand /usr/local/bin/aur-git-auth "%t" "%k"
66         AuthorizedKeysCommandUser aur
68 9) If you want to enable smart HTTP support with nginx and fcgiwrap, you can
69    use the following directives:
71     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))$" {
72         fastcgi_pass   unix:/run/fcgiwrap.sock;
73         include        fastcgi_params;
74         fastcgi_param  SCRIPT_FILENAME /usr/lib/git-core/git-http-backend;
75         fastcgi_param  PATH_INFO /aur.git/$3;
76         fastcgi_param  GIT_HTTP_EXPORT_ALL "";
77         fastcgi_param  GIT_NAMESPACE $1;
78         fastcgi_param  GIT_PROJECT_ROOT /srv/http/aurweb/;
79     }
81    Sample systemd unit files for fcgiwrap can be found under conf/.