KanonConductor

view kanon-setup @ 29:33c1dd977439

remove old code to upgrade subversion 1.6
author tanacasino
date Sat, 26 Mar 2011 13:31:03 +0900
parents a8f5df57133e
children ca083cbc2c09
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 echo "SELinuxが無効化されました"
179 service httpd stop
180 service httpd start
181 ;;
182 rhel5)
183 mkdir -p /var/opt/kanon/trac/.egg-cache
184 chown $APACHE_USER:$APACHE_USER -R /var/opt/kanon/trac/.egg-cache/
185 mkdir -p /usr/lib/python2.6/site-packages/bzrlib/plugin
186 cp resource/trac_hook.py /usr/lib/python2.6/site-packages/bzrlib/plugin
187 if [ ! -f /etc/httpd/conf.d/kanon.conf ]
188 then
189 cp resource/httpd.conf /etc/httpd/conf.d/kanon.conf
190 fi
191 echo 0 > /selinux/enforce
192 echo "SELinuxが無効化されました"
193 mv /etc/httpd/conf.d/python.conf /etc/httpd/conf.d/python.conf.disabled
194 service httpd stop
195 service httpd start
196 ;;
197 *)
198 ;;
199 esac
202 # データディレクトリが存在しない場合作成
203 if [ ! -d "$KANON_VAR/trac" ]
204 then
205 mkdir -p "$KANON_VAR/trac"
206 fi
208 if [ ! -d "$KANON_VAR/hg" ]
209 then
210 mkdir -p "$KANON_VAR/hg"
211 fi
213 if [ ! -d "$KANON_VAR/bzr" ]
214 then
215 mkdir -p "$KANON_VAR/bzr"
216 fi
218 if [ ! -d "$KANON_VAR/svn" ]
219 then
220 mkdir -p "$KANON_VAR/svn"
221 fi
223 if [ ! -d "$KANON_VAR/git" ]
224 then
225 mkdir -p "$KANON_VAR/git"
226 fi
228 # setup SampleProject
229 if [ ! -d "$KANON_VAR/trac/SampleProject" ]
230 then
231 /opt/kanon/bin/kanon-create-project SampleProject svn default
232 svn import SampleProject file:///var/opt/kanon/svn/SampleProject/ -m "initial import."
233 chown $APACHE_USER.$APACHE_USER -R /var/opt/kanon/svn/SampleProject
234 fi
236 echo "Kanon Team Conductorのインストールが完了しました。"
237 echo $KANON_OPT"/bin/kanon-create-project コマンドでプロジェクトを作成してください。"