aboutsummaryrefslogtreecommitdiff
path: root/README
blob: cceed2c8c91ed0debe3f5413c91fc5f841f3c064 (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
70
71
=====================
= Gentoaster README =
=====================

Prerequisites
=============

php5-cli
php5-dev
php5-mysql
gearmand
gearman-php-ext
qemu-img
syslinux
sfdisk
git
websockify

PHP must be configured with mysqli support. The Gearman PHP extension has to be installed manually, as follows:

wget http://pecl.php.net/get/gearman-0.7.0.tgz
tar xvf gearman-0.7.0.tgz
cd gearman-0.7.0
phpize
./configure
make
sudo make install

Add "extension=gearman.so" to your php.ini (for both CLI and CGI if you have separate configs)

Websockify can be installed as follows:

cd /usr/share
git clone https://github.com/kanaka/websockify.git
ln -s /usr/share/websockify/websockify /usr/bin/websockify

Installation
============

cd /usr/share
git clone http://git.overlays.gentoo.org/gitroot/proj/gentoaster.git
Configure settings in config.php and web/config.php as appropriate
Run php5 install.php as root
Configure a webserver of your choice (I'd recommend nginx with PHP-FPM) to server the web folder on the address you specified

Running
=======

The installer will start the daemon for you automatically, but if you need to do this yourself later, run the following as root:

/etc/init.d/gentoaster start

The daemon MUST be ran as root for it to work, otherwise all builds will fail.

Now that the daemon is running, you can try a build, using the sample client:

php5 /usr/share/gentoaster/client.php /usr/share/gentoaster/configs/minimal.ini

This will give you some output similar to the following:

Job sent, handle was H:lucidity:3 - hash 6085655f187a8442f82c43ebf98e5fdb

You can check on the status of that build by running the following:

php5 /usr/share/gentoaster/status.php <handle hash>

Where <handle hash> is the hash returned by client.php (for example 6085655f187a8442f82c43ebf98e5fdb)

If the build is still running, you'll get a progress percentage. If it's finished, the return code and result message will be shown.

If you've setup a webserver, you can also use the WebUI at the address you've configured