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
|
#!/bin/bash
# Here do anything needed to install the service
# i.e. apt-get install -y foo or bzr branch http://myserver/mycode /srv/webroot
############################################################################################################
# Set debugging
###########################################################################################################
set -ux
############################################################################################################
# Get configuration values
###########################################################################################################
PORT=`config-get default_port`
############################################################################################################
# Install packages
############################################################################################################
apt-add-repository ppa:charmers/charm-helpers
apt-get update
apt-get install -y gearman-server \
gearman-tools \
libgearman-client-perl \
libgearman-client-async-perl \
python-gearman.libgearman \
libgearman-dev \
uuid-dev \
libevent-dev \
php-pear \
php5-dev \
charm-helper-sh \
make
############################################################################################################
# Install Gearman/PHP drivers
############################################################################################################
pecl install "channel://pecl.php.net/gearman-0.7.0"
echo "extension=gearman.so" > /etc/php5/conf.d/gearman.ini
############################################################################################################
# Enable gearmand on startup
############################################################################################################
sed -e "s/^ENABLED=.*/ENABLED=\"true\"/" -i /etc/default/gearman-server
############################################################################################################
# Setup standard port
#############################################################################################################
sed -e "s/^DAEMON_OPTS=.*/DAEMON_OPTS=\"-d -l=\/var\/log\/gearman -p $PORT --pidfile=\/var\/run\/gearmand.pid\"/" -i /etc/default/gearman-server
############################################################################################################
# Open the necessary ports
############################################################################################################
[ -x /usr/bin/open-port ] && open-port ${PORT}/TCP
|