3 echo 1>&2 Usage: $0 gforge.company.com apacheuser apachegroup
7 echo "$1" | egrep '^([[:alnum:].\-_])*$' -q
9 if [ $found_host -ne 0 ]; then
10 echo 1>&2 "invalid hostname"
14 getent passwd $2 > /dev/null
16 if [ $found_apacheuser -ne 0 ]; then
17 echo 1>&2 "invalid apache user"
20 #validate apache group
21 getent group $3 > /dev/null
23 if [ $found_apachegroup -ne 0 ]; then
24 echo 1>&2 "invalid apache group"
28 #echo "$4" | egrep '^([0-9]){1,3}\.([0-9]){1,3}\.([0-9]){1,3}\.([0-9]){1,3}$' -q
30 #if [ $found_ip -ne 0 ]; then
31 # echo 1>&2 "invalid IP address"
36 if [ ! -d /opt/gforge ]; then
37 echo 1>&2 "/opt/gforge didn't exist - error - make sure you've got permission"
41 if [ ! -d /var/lib/gforge ]; then
42 echo 1>&2 "/var/lib/gforge didn't exist - error - make sure you've got permission"
52 mkdir localizationcache
53 if [ ! -f /usr/bin/php5 ]; then
54 ln -s /usr/bin/php /usr/bin/php5
60 if [ ! -d homedirs/groups ]; then
61 ln -s /home/groups homedirs/groups
64 #Create default location for SVN repositories
66 if [ ! -d /svnroot ]; then
67 ln -s /var/lib/gforge/svnroot /svnroot
70 #Create default location for CVS repositories
72 if [ ! -d /cvsroot ]; then
73 ln -s /var/lib/gforge/cvsroot /cvsroot
78 #restricted shell for cvs accounts
79 cp plugins/scmcvs/bin/cvssh.pl /bin/
80 chmod 755 /bin/cvssh.pl
82 #Create default location for gforge config files
84 cp etc/local.inc.example /etc/gforge/local.inc
85 cp etc/gforge-httpd.conf.example /etc/gforge/httpd.conf
87 #copy the scmcvs plugin config to /etc/gforge/
88 if [ ! -d /etc/gforge/plugins/scmcvs ]; then
89 mkdir /etc/gforge/plugins/scmcvs
91 cp plugins/scmcvs/etc/plugins/scmcvs/config.php /etc/gforge/plugins/scmcvs/config.php
93 #copy the scmsvn config files to /etc/gforge/
94 if [ ! -d /etc/gforge/plugins/scmsvn ]; then
95 mkdir /etc/gforge/plugins/scmsvn
97 cp plugins/scmsvn/etc/plugins/scmsvn/config.php /etc/gforge/plugins/scmsvn/config.php
99 #copy the cvstracker config files to /etc/gforge/
100 if [ ! -d /etc/gforge/plugins/cvstracker ]; then
101 mkdir /etc/gforge/plugins/cvstracker
103 cp plugins/cvstracker/etc/plugins/cvstracker/config.php /etc/gforge/plugins/cvstracker/config.php
105 #copy the svntracker config files to /etc/gforge/
106 if [ ! -d /etc/gforge/plugins/svntracker ]; then
107 mkdir /etc/gforge/plugins/svntracker
109 cp plugins/svntracker/etc/plugins/svntracker/config.php /etc/gforge/plugins/svntracker/config.php
111 #symlink plugin www's
113 if [ ! -d plugins/ ]; then
117 if [ ! -d cvstracker ]; then
118 ln -s ../../plugins/cvstracker/www/ cvstracker
120 if [ ! -d svntracker ]; then
121 ln -s ../../plugins/svntracker/www/ svntracker
123 if [ ! -d scmcvs ]; then
124 ln -s ../../plugins/scmcvs/www scmcvs
126 if [ ! -d scmsvn ]; then
127 ln -s ../../plugins/scmsvn/www/ scmsvn
132 chown -R root:$3 /opt/gforge
133 chmod -R 644 /opt/gforge/
134 cd /opt/gforge && find -type d | xargs chmod 755
135 chown -R $2:$3 /var/lib/gforge/uploads
136 chmod -R 755 /opt/gforge/cronjobs/
138 if [ ! -d /etc/gforge ]; then
139 echo 1>&2 "/etc/gforge didn't exist - error - make sure you've got permission"
142 chown -R root:$3 /etc/gforge/
143 chmod -R 644 /etc/gforge/
144 cd /etc/gforge && find -type d | xargs chmod 755
145 cd /etc/gforge && find -type f -exec perl -pi -e "s/apacheuser/$2/" {} \;
146 cd /etc/gforge && find -type f -exec perl -pi -e "s/apachegroup/$3/" {} \;
147 cd /etc/gforge && find -type f -exec perl -pi -e "s/gforge\.company\.com/$1/" {} \;
150 echo "noreply: /dev/null" >> /etc/aliases
152 # create symlink for fckeditor
153 cd /opt/gforge/www && ln -s ../utils/fckeditor/www/ fckeditor