/[projects]/misc/xoa-installer/xoa-installer.sh
ViewVC logotype

Annotation of /misc/xoa-installer/xoa-installer.sh

Parent Directory Parent Directory | Revision Log Revision Log


Revision 3199 - (hide annotations) (download) (as text)
Tue May 30 09:44:50 2017 UTC (7 years ago) by torben
File MIME type: application/x-sh
File size: 3191 byte(s)
add node for building enterprise version
1 torben 2956 #!/bin/bash
2    
3    
4 torben 2990 # Note: this script works on debian 7/wheezy and debian 8/jessie
5 torben 2989 #
6     # If running on a raspberry 1(A/B) raspian/wheezy - downgrade node.js to 5.4.0
7     # Please note that raspian/wheezy for arm defaults to gcc 4.6
8 torben 3183 # <strike>gcc 4.7</strike> is needed for compiling node-js modules
9     # 2017-01-03 gcc 4.8 is required
10 torben 2956
11 torben 3062 BRANCH=stable
12 torben 2956
13 torben 3199 #Uncomment next line if you want to trick into building enterprise version
14     #export XOA_PLAN=4
15 torben 2956
16 torben 3176 ###################################
17     # Exit bash if a command fails
18     set -e
19     # also exit if a part of a pipe fails
20     set -o pipefail
21    
22    
23    
24 torben 2956
25 torben 3180 phymem=$(free -m|awk '/^Mem:/{print $2}')
26     swapmem=$(free -m|awk '/^Swap:/{print $2}')
27     total=$(expr $phymem + $swapmem)
28     if [ $total -le 1536 ] ; then
29     echo not enough memory: $total
30     exit
31     fi
32    
33 torben 2956 if [ "$1" == "clean" ] ; then
34 torben 3194 echo cleaning global npm packages
35     npm uninstall -g gulp
36     npm uninstall -g node-gyp
37     npm uninstall -g bcrypt
38 torben 3195 npm uninstall -g yarn
39 torben 3194
40 torben 2956 echo cleaning xo-web
41     rm -rf xo-web
42    
43     echo cleaning xo-server
44     rm -rf xo-server
45    
46     echo cleaning .npm
47     rm -rf .npm
48    
49     echo cleaning .node-gyp
50     rm -rf .node-gyp
51    
52     echo cleaning .cache
53     rm -rf .cache
54    
55     echo done
56     exit
57     fi
58    
59 torben 2957
60 torben 2958 if [ ! -x "/usr/bin/curl" ] ; then
61     echo "installing curl"
62     apt-get install curl || exit
63     fi
64    
65 torben 2961 if [ ! -x "/usr/bin/gcc" ] ; then
66     echo "installing build-essential"
67     apt-get install build-essential || exit
68     fi
69 torben 2962
70 torben 2983 if [ ! -f "/usr/include/libpng12/png.h" ] ; then
71     echo "installing libpng"
72 torben 2986 apt-get install libpng12-dev || exit
73 torben 2983 fi
74    
75 torben 2962 if [ ! -x "/usr/bin/redis-server" ] ; then
76     echo "installing redis-server"
77     apt-get install redis-server || exit
78     fi
79 torben 2980
80     if [ ! -x "/usr/bin/git" ] ; then
81     echo "installing git"
82 torben 2986 apt-get install git || exit
83 torben 2980 fi
84 torben 2961
85 torben 2990
86 torben 2957 if [ ! -x "/usr/local/bin/n" ] ; then
87     echo "installing node.js bootstrap"
88     curl -o /usr/local/bin/n https://raw.githubusercontent.com/visionmedia/n/master/bin/n || exit
89     chmod +x /usr/local/bin/n
90     fi
91    
92     if [ ! -x "/usr/local/bin/node" ] ; then
93     echo "installing node.js"
94 torben 3182 n lts || exit
95 torben 2957 fi
96    
97 torben 2959 if [ ! -x "/usr/local/bin/gulp" ] ; then
98     echo "installing gulp"
99 torben 2986 npm install -g gulp || exit
100 torben 2959 fi
101 torben 2957
102 torben 3195 if [ ! -x "/usr/local/bin/yarn" ] ; then
103     echo "installing yarn"
104     npm install -g yarn || exit
105 torben 2963 fi
106 torben 2957
107 torben 3195
108 torben 2979 if [ ! -x "/usr/local/bin/node-gyp" ] ; then
109     echo "installing node-gyp"
110 torben 2986 npm install -g node-gyp || exit
111 torben 2979 fi
112    
113 torben 2982 if [ ! -d "/usr/local/lib/node_modules/bcrypt" ] ; then
114 torben 2981 echo "installing bcrypt"
115 torben 3180 npm install -g --unsafe-perm bcrypt || exit
116 torben 2981 fi
117 torben 2959
118 torben 2956 if [ ! -d "xo-web" ] ; then
119     git clone -b $BRANCH https://github.com/vatesfr/xo-web.git
120     else
121     cd xo-web
122     git pull
123     cd ..
124     fi
125    
126    
127     if [ ! -d "xo-server" ] ; then
128     git clone -b $BRANCH https://github.com/vatesfr/xo-server.git
129     else
130     cd xo-server
131     git pull
132     cd ..
133     fi
134    
135    
136     # xo-server
137 torben 2959 echo "building xo-server"
138 torben 2956 cd xo-server
139 torben 3195 yarn
140 torben 2956 cd ..
141    
142    
143 torben 2991
144 torben 2956 #xo-web
145 torben 2959 echo "building xo-web"
146 torben 2956 cd xo-web
147 torben 3195 yarn
148 torben 2956 cd ..
149    
150 torben 2991
151 torben 3186 dir=`dirname $0`
152 torben 3109
153 torben 2990 if [ ! -f "/etc/xo-server/config.yaml" ] ; then
154     if [ ! -d "/etc/xo-server" ] ; then
155     mkdir /etc/xo-server
156     fi
157 torben 3186 copy $dir/config.yaml /etc/xo-server/config.yaml
158 torben 2984 fi
159    
160 torben 3176 echo Installing plugins
161     npm install --global xo-server-transport-email
162     npm install --global xo-server-transport-xmpp
163 torben 3177 npm install --global xo-server-backup-reports
164    
165 torben 3176 #npm install --save xo-server-usage-report
166    
167    
168 torben 3109 #restartxo

Properties

Name Value
svn:executable *

  ViewVC Help
Powered by ViewVC 1.1.20