slitaz-forge annotate tank/tank @ rev 467

tank: add arm.slitaz.org vhost
author Christophe Lincoln <pankso@slitaz.org>
date Sun Mar 02 19:58:22 2014 +0100 (2014-03-02)
parents cad23317627c
children a2364c457fb3
rev   line source
pankso@54 1 #!/bin/sh
pankso@186 2 #
pankso@75 3 # Tank - Admin Tank, backup, update and give stats.
pankso@54 4 #
pankso@388 5 # (C) 2012-2014 SliTaz - GNU General Public License.
pankso@54 6 # Author: Christophe Lincoln <pankso@slitaz.org>
pankso@54 7 #
pankso@389 8 . /lib/libtaz.sh
pankso@54 9
pankso@54 10 REPOS="/home/slitaz/repos"
pankso@54 11 WWW="/home/slitaz/www"
pankso@54 12 VHOST="$WWW/tank"
pankso@54 13 WEBSITE="$WWW/website"
pankso@54 14 BACKUPS="/home/backups"
pankso@188 15 LOGFILE="/var/log/tank.log"
pankso@54 16
pankso@54 17 usage() {
pankso@186 18 cat << EOT
pankso@186 19
pankso@186 20 Usage: $(basename $0) [command]
pankso@54 21 Commands:
pankso@112 22 backup|-b Backup files and MySQL DB
pankso@112 23 adduser Add user on Tank and create people files
pankso@112 24 up-stats Update Awstats statistics (run by cron)
pankso@389 25 online Show online users
pankso@297 26
pankso@112 27 up-tank Update http://tank.slitaz.org/
pankso@112 28 up-people Update http://people.slitaz.org/
pankso@112 29 up-pro Update http://pro.slitaz.org/
pankso@112 30 up-boot Update http://boot.slitaz.org/
pankso@112 31 up-cook Update http://cook.slitaz.org/
pankso@212 32 up-roadmap Update http://roadmap.slitaz.org/
pankso@388 33 up-bugs Update http://bugs.slitaz.org/
pankso@467 34 up-irc Update http://irc.slitaz.org/
pankso@467 35 up-arm Update http://arm.slitaz.org/
pankso@186 36
pankso@186 37 EOT
pankso@54 38 }
pankso@54 39
pankso@54 40 case "$1" in
pankso@54 41 backup|-b)
pankso@54 42 # Backup config files and SQL db.
pankso@68 43 echo "TODO" ;;
pankso@112 44 up-tank)
pankso@212 45 # Update Tank web interface
pankso@54 46 echo -e "\nUpdating: tank.slitaz.org..."
pankso@54 47 cd $REPOS/slitaz-forge
pankso@186 48 [ "$2" == "--nohg" ] || hg pull -u
pankso@104 49 rm -rf $VHOST/*.* $VHOST/images
pankso@297 50 cp -a tank/web/* $VHOST
pankso@54 51 echo "" ;;
pankso@112 52 up-people)
pankso@212 53 # Update People web interface
pankso@54 54 echo -e "\nUpdating: people.slitaz.org..."
pankso@54 55 cd $REPOS/slitaz-forge
pankso@186 56 [ "$2" == "--nohg" ] || hg pull -u
pankso@54 57 rm -rf $WWW/people/*
pankso@297 58 cp -a people/* $WWW/people
pankso@54 59 echo "" ;;
pankso@106 60 up-pro)
pankso@212 61 # Update Pro website
pankso@106 62 echo -e "\nUpdating: pro.slitaz.org..."
pankso@106 63 cd $REPOS/slitaz-forge
pankso@186 64 [ "$2" == "--nohg" ] || hg pull -u
pankso@259 65 rm -rf $WWW/pro/web/*
pankso@259 66 cp -a pro/* $WWW/pro/web
pankso@106 67 echo "" ;;
pankso@112 68 up-boot)
pankso@212 69 # Update Web Boot interface
pankso@54 70 echo -e "\nUpdating: boot.slitaz.org..."
pankso@54 71 cd $REPOS/slitaz-forge
pankso@186 72 [ "$2" == "--nohg" ] || hg pull -u
pankso@54 73 rm -rf $WWW/boot/*
pankso@297 74 cp -a boot/* $WWW/boot
pankso@54 75 echo "" ;;
pankso@112 76 up-cook)
pankso@212 77 # Update Web Boot interface
pankso@112 78 echo -e "\nUpdating: cook.slitaz.org..."
pankso@297 79 cd $REPOS/cookutils
pankso@297 80 [ "$2" == "--nohg" ] || hg pull -u
pankso@298 81 cd $REPOS/slitaz-forge
pankso@298 82 [ "$2" == "--nohg" ] || hg pull -u
pankso@299 83 cp -a cook/* $WWW/cook
pankso@297 84 # We use symlinks for cooker's
pankso@297 85 cd $WWW/cook && rm -f style.css
pankso@297 86 ln -s $REPOS/cookutils/web/style.css .
pankso@300 87 cd $WWW/cook/cross && rm -f style.css
pankso@300 88 ln -s $REPOS/cookutils/web/style.css .
pascal@383 89 for web in stable undigest backports cross/arm cross/x86_64
pankso@297 90 do
pankso@301 91 echo "Linking: $web CSS/CGI files"
pankso@297 92 cd $WWW/cook/$web
pankso@297 93 for file in style.css cooker.cgi cookiso.cgi
pankso@297 94 do
pankso@297 95 rm -f $file
pankso@297 96 ln -s $REPOS/cookutils/web/$file .
pankso@297 97 done
pankso@301 98 # header.html
pankso@301 99 echo "Linking: $web/header.html"
pankso@301 100 rm -f header.html
pankso@301 101 ln -s ../header.html .
pankso@297 102 done
pankso@301 103
pankso@297 104 # No ISO's for undigest and ARM.
pankso@297 105 rm -f \
pankso@297 106 $WWW/cook/undigest/cookiso.cgi \
pankso@297 107 $WWW/cook/cross/arm/cookiso.cgi
pankso@112 108 echo "" ;;
pankso@212 109 up-roadmap)
pankso@212 110 # Update Roadmap Web interface
pankso@212 111 echo -e "\nUpdating: roadmap.slitaz.org..."
pankso@212 112 cd $REPOS/slitaz-forge
pankso@212 113 [ "$2" == "--nohg" ] || hg pull -u
pankso@297 114 cp -a roadmap/* $WWW/roadmap
pankso@212 115 echo "" ;;
pankso@388 116 up-bugs)
pankso@388 117 # Update Bugs Web interface
pankso@388 118 bugs="$WWW/bugs"
pankso@388 119 echo -e "\nUpdating: bugs.slitaz.org..."
pankso@388 120 cd $REPOS/tazbug
pankso@388 121 [ "$2" == "--nohg" ] || hg pull -u
pankso@388 122 cp -a web/* ${bugs}
pankso@388 123 cp README ${bugs}
pankso@388 124 chown -R www.www ${bugs}
pankso@388 125 echo "" ;;
pankso@402 126 up-irc)
pankso@401 127 # Update IRC interface
pankso@401 128 echo -e "\nUpdating: irc.slitaz.org..."
pankso@401 129 cd $REPOS/slitaz-forge
pankso@401 130 [ "$2" == "--nohg" ] || hg pull -u
pankso@401 131 rm -rf $WWW/irc/images $WWW/irc/lib
pankso@401 132 cp -a irc/* $WWW/irc
pankso@401 133 echo "" ;;
pankso@467 134 up-arm)
pankso@467 135 # Update ARM Web interface
pankso@467 136 echo -e "\nUpdating: arm.slitaz.org..."
pankso@467 137 cd $REPOS/slitaz-forge
pankso@467 138 [ "$2" == "--nohg" ] || hg pull -u
pankso@467 139 cp -a arm/* $WWW/arm
pankso@467 140 echo "" ;;
pankso@112 141 up-stats)
pankso@189 142 echo -e "\nUpdating all awstats databases..." | tee -a $LOGFILE
pankso@189 143 date >> $LOGFILE
pankso@187 144 for vh in pro boot cook people tank
pankso@54 145 do
pankso@188 146 /var/www/cgi-bin/awstats.pl \
pankso@188 147 -config=$vh.slitaz.org -update 2>&1 | tee -a $LOGFILE
pankso@189 148 done && echo "" ;;
pankso@112 149 adduser)
pankso@54 150 echo ""
slaxemulator@279 151 if [ -d /home/$user ]; then
slaxemulator@279 152 echo -e "User $user already exists...\n" && exit 1
slaxemulator@279 153 fi
pankso@54 154 if [ -n "$2" ]; then
pankso@54 155 user=$2
pankso@54 156 else
pankso@54 157 echo -n "User name: " && read user
pankso@54 158 fi
pankso@239 159 if [ -n "$3" ]; then
pankso@239 160 gecos="$3"
pankso@239 161 else
pankso@239 162 echo -n "Real name: " && read name
pankso@239 163 fi
pankso@254 164 if [ -n "$4" ]; then
pankso@254 165 pass=$4
pankso@254 166 else
pankso@254 167 echo -n "Password: " && read pass
pankso@254 168 fi
pankso@54 169 echo "Adding user: $user"
pankso@254 170 adduser -D -g "$gecos" $user -G users
pankso@254 171 echo $user:$pass | chpasswd --md5
pankso@246 172 addgroup $user slitaz
pankso@54 173 # HG access
pankso@254 174 #echo "$user:$pass" >> /etc/lighttpd/plain.passwd
pankso@54 175 # Public dir at http://people.slitaz.org/~$user/
pankso@59 176 sed -i s/'%user%'/"$user"/ /home/$user/Public/index.html
pankso@250 177 sed -i s/'%name%'/"$gecos"/ /home/$user/Public/profile.php
pankso@239 178 # Empty Shell profile
pankso@54 179 cat > /home/$user/.profile << EOF
pankso@54 180 # ~/.profile: Executed by Bourne-compatible login SHells.
pankso@54 181 #
pankso@54 182 EOF
pankso@247 183 #chown -R $user.$user /home/$user
pankso@54 184 echo -e "Done\n" ;;
pankso@389 185 online)
pankso@389 186 echo -n "Bugs online users: "
pankso@389 187 colorize 34 "$(ls /tmp/bugs/sessions | wc -l)" ;;
pankso@54 188 *)
pankso@54 189 usage ;;
pankso@54 190 esac
pankso@54 191 exit 0