KanonConductor

view kanon-setup @ 32:640e6a9509aa

fixed merge garbage.
author chris
date Mon, 28 Mar 2011 04:13:15 +0900
parents ca083cbc2c09
children 818a2d559b52
line source
1 #!/bin/bash
3 export KANON_OPT=/opt/kanon
4 export KANON_VAR=/var/opt/kanon
6 if [ -f /etc/debian_version ]
7 then
8 OS='debian'
9 APACHE_USER=www-data
10 elif [ -f /etc/redhat-release ]
11 then
12 APACHE_USER=apache
13 CHK=`egrep "CentOS release 5|Red Hat Enterprise Linux .* 5" /etc/redhat-release`
14 if [ "$CHK" != '' ]
15 then
16 OS='rhel5'
17 else
18 OS='rhel6'
19 fi
20 else
21 echo "サポートされていないOSです。"
22 echo "現在サポートされいているOSは、"
23 echo ""
24 echo " * Ubuntu 10.10 Server"
25 echo " * Debian GNU/Linux, GNU/kFreeBSD 6.0"
26 echo " * RedHat Enterprise Linux 6.0"
27 echo " * Oracle Enterprise Linux 6.0"
28 echo " * CentOS 5.x (Experimental)"
29 echo ""
30 echo "です。"
31 exit
32 fi
34 if [ "$USER" != 'root' ]
35 then
36 echo "rootでコマンドを実行してください。"
37 fi
40 if [ -d /opt/kanon ]
41 then
42 echo "=========================================================================="
43 echo "注意!! このマシンには既にKanonがインストールされているかも。確認してね♪"
44 echo "=========================================================================="
45 fi
46 echo ""
47 echo "このコマンドはKanonをインストールするよ。"
48 echo "既にkanonインストールされている場合は、上書きされて消えちゃうの。"
49 echo -n "Kanonをインストールする?(y/n) "
50 read YN
52 if [ "$YN" != "y" ]
53 then
54 echo "インストールを中断したよ。"
55 exit
56 fi
58 ### install ubuntu package
59 case $OS in
60 debian)
61 apt-get update
62 apt-get -y install `cat pkglist.debian`
63 ;;
64 rhel6)
65 yum -y install `cat pkglist.rhel6`
66 ;;
67 rhel5)
68 # Add EPEL Repository. For python26, python26-devel, python26-mod_wsgi.
69 EPEL_RPM_URL="http://download.fedora.redhat.com/pub/epel/5/i386/epel-release-5-4.noarch.rpm"
70 wget $EPEL_RPM_URL
71 rpm -Uvh epel-release-5-4.noarch.rpm
72 rm -f epel-release-5-4.noarch.rpm
73 yum -y install `cat pkglist.rhel5`
75 # Add Kanon Repository. For Subversion 1.6 with Python26.
76 cp -f resource/kanon.repo /etc/yum.repos.d/kanon.repo
77 yum -y install subversion-1.6.15 mod_dav_svn-1.6.15
78 ;;
79 *)
80 ;;
81 esac
83 ### install files
84 cp -fr opt/* /opt
85 if [ "$OS" = "rhel5" ]
86 then
87 # FIXME CentOS 5.x では n オプションがないため 強制上書きになってしまう.
88 cp -fr etc/* /etc
89 else
90 cp -frn etc/* /etc
91 fi
94 ### setup configuration
95 python2.6 resource/virtualenv.py /opt/kanon
96 source /opt/kanon/bin/activate
98 ## setup sitecustomize for python
99 if [ -f /etc/python2.6/sitecustomize.py ]
100 then
101 CHK=`grep "setdefaultencoding" /etc/python2.6/sitecustomize.py`
102 if [ "$CHK" = '' ]
103 then
104 cat opt/kanon/lib/python2.6/site-packages/sitecustomize.py >> /etc/python2.6/sitecustomize.py
105 fi
106 fi
109 if [ "$OS" = "rhel5" ]
110 then
111 # Install Extra Package for CentOS 5.X
112 easy_install "mercurial==1.7.3"
113 easy_install bzr
114 easy_install pygments
115 fi
117 easy_install http://svn.edgewall.org/repos/genshi/tags/0.6.0/
118 easy_install http://ftp.edgewall.com/pub/babel/Babel-0.9.5.zip
119 easy_install http://www.i-act.co.jp/project/products/downloads/Trac-0.12.2.ja1.zip
120 easy_install xlrd
121 easy_install https://github.com/hvr/trac-git-plugin/zipball/v0.12.0.5
122 # bzr co lp:trac-bzr /tmp/trac-bzr-install
123 #easy_install --prefix /opt/kanon /tmp/trac-bzr-install
124 #rm -fr /tmp/trac-bzr-install
127 ### install trac plugins
128 easy_install http://svn.edgewall.com/repos/trac/plugins/0.12/mercurial-plugin
130 #resource/pluginsディレクトリのプラグインをインストール
131 pushd .
133 cd resource/trac-plugins
134 for i in `ls -1 .`
135 do
136 cd $i;python setup.py install
137 cd ..
138 done
139 cd ../..
141 # install plugins from web site
142 rm -fr /tmp/kanon_build
143 for i in `cat pluginlist`
144 do
145 cd /tmp
146 svn co $i kanon_build
147 cd kanon_build
148 python setup.py install
149 cd ..
150 rm -fr kanon_build
151 done
152 popd
155 ### setup apache and restart
156 case $OS in
157 debian)
158 cp resource/trac_hook.py /usr/lib/python2.6/dist-packages/bzrlib/plugins
159 if [ ! -f /etc/apache2/sites-available/kanon ]
160 then
161 cp resource/httpd.conf /etc/apache2/sites-available/kanon
162 fi
163 a2enmod expires
164 a2enmod auth_digest
165 a2enmod dav_fs
166 a2ensite kanon
167 service apache2 stop
168 service apache2 start
169 ;;
170 rhel6)
171 mkdir -p /usr/lib/python2.6/site-packages/bzrlib/plugin
172 cp resource/trac_hook.py /usr/lib/python2.6/site-packages/bzrlib/plugin
173 if [ ! -f /etc/httpd/conf.d/kanon.conf ]
174 then
175 cp resource/httpd.conf /etc/httpd/conf.d/kanon.conf
176 fi
177 echo 0 > /selinux/enforce
178 CHK=`grep SELINUX=enforcing /etc/selinux/config`
179 if [ ! "$CHK" = '' ]
180 then
181 cat /etc/selinux/config |sed 's/SELINUX=enforcing/SELINUX=disabled/' > /tmp/selinux_config
182 mv /tmp/selinux_config /etc/selinux/config
183 fi
184 echo "SELinuxが無効化されました"
185 service httpd stop
186 service httpd start
187 ;;
188 rhel5)
189 mkdir -p /var/opt/kanon/trac/.egg-cache
190 chown $APACHE_USER:$APACHE_USER -R /var/opt/kanon/trac/.egg-cache/
191 mkdir -p /usr/lib/python2.6/site-packages/bzrlib/plugin
192 cp resource/trac_hook.py /usr/lib/python2.6/site-packages/bzrlib/plugin
193 if [ ! -f /etc/httpd/conf.d/kanon.conf ]
194 then
195 cp resource/httpd.conf /etc/httpd/conf.d/kanon.conf
196 fi
197 echo 0 > /selinux/enforce
198 CHK=`grep SELINUX=enforcing /etc/selinux/config`
199 if [ ! "$CHK" = '' ]
200 then
201 cat /etc/selinux/config |sed 's/SELINUX=enforcing/SELINUX=disabled/' > /tmp/selinux_config
202 mv /tmp/selinux_config /etc/selinux/config
203 fi
204 echo "SELinuxが無効化されました"
205 mv /etc/httpd/conf.d/python.conf /etc/httpd/conf.d/python.conf.disabled
206 service httpd stop
207 service httpd start
208 ;;
209 *)
210 ;;
211 esac
214 # データディレクトリが存在しない場合作成
215 if [ ! -d "$KANON_VAR/trac" ]
216 then
217 mkdir -p "$KANON_VAR/trac"
218 fi
220 if [ ! -d "$KANON_VAR/hg" ]
221 then
222 mkdir -p "$KANON_VAR/hg"
223 fi
225 if [ ! -d "$KANON_VAR/bzr" ]
226 then
227 mkdir -p "$KANON_VAR/bzr"
228 fi
230 if [ ! -d "$KANON_VAR/svn" ]
231 then
232 mkdir -p "$KANON_VAR/svn"
233 fi
235 if [ ! -d "$KANON_VAR/git" ]
236 then
237 mkdir -p "$KANON_VAR/git"
238 fi
240 # setup SampleProject
241 if [ ! -d "$KANON_VAR/trac/SampleProject" ]
242 then
243 /opt/kanon/bin/kanon-create-project SampleProject svn default
244 svn import SampleProject file:///var/opt/kanon/svn/SampleProject/ -m "initial import."
245 chown $APACHE_USER.$APACHE_USER -R /var/opt/kanon/svn/SampleProject
246 fi
248 chown $APACHE_USER.$APACHE_USER -R /etc/opt/kanon
250 echo "Kanon Team Conductorのインストールが完了しました。"
251 echo $KANON_OPT"/bin/kanon-create-project コマンドでプロジェクトを作成してください。"