summaryrefslogtreecommitdiffstats
path: root/INSTALL
blob: 34e1a0077fb8eb56b8f7a8583f9f7ac89c534615 (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
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) Generate templates for new Git repositories:

   $ /srv/http/aurweb/scripts/git-integration/gen-templates.py

6) Clone the OpenSSH project, apply the aurweb sshd patch and run `make`:

   $ cd /srv/http/aurweb/
   $ git clone git://anongit.mindrot.org/openssh.git
   $ cd openssh
   $ git checkout V_6_8_P1
   $ git am ../scripts/git-integration/0001-Patch-sshd-for-the-AUR.patch
   $ autoreconf
   $ ./configure
   $ make

7) Create and edit the sshd configuration:

   $ cd /srv/http/aurweb/
   $ umask 077
   $ mkdir .ssh/
   $ ssh-keygen -f .ssh/ssh_host_rsa_key -N '' -t rsa
   $ cp scripts/git-integration/sshd_config .ssh/

8) Create a new user and change ownership of the .ssh directory:

   # useradd -U -d /srv/http/aurweb -c 'AUR user' aur
   # chown aur:aur /srv/http/aurweb/.ssh/

9) Add, enable and start systemd unit files for the new sshd:

   # cp /srv/http/aurweb/conf/aur-sshd.socket /etc/systemd/system/
   # cp /srv/http/aurweb/conf/aur-sshd@.service /etc/systemd/system/
   # systemctl enable aur-sshd.socket
   # systemctl start aur-sshd.socket