#!/bin/sh
# Linux 用まあ、待て屋。ウェブインターフェース設定スクリプト
# for Fedora Core 6 PPC ちょうどいい実験環境があったからやってみた版
#   最小インストールが前提
# 2007/05 のたんぺ ◆Nonotanpe.

HTTPCNFDIR="/etc/httpd/conf"
HTMLDIR="/var/www/html"
CGIDIR="/var/www/cgi-bin"
SMBCNFDIR="/etc/samba"
FC6PPCRPM="fc6ppcrpm"
CELLSDK="cellsdk"
NBNAME="mty"

# 以下の二つは、smb.conf と msg.html と mtymgr にもハードコード
MTYDIR="/home/mty"
CONFDIR="/home/config"

addrpm()
{
  rpm -q --quiet $1
  if [ "$?" = 1 ]; then
    echo rpm -i $1.rpm
    rpm -i $1.rpm
  fi
}

apache()
{
  pushd "$FC6PPCRPM" >& /dev/null
  addrpm postgresql-libs-8.1.4-1.1.ppc
  addrpm mailcap-2.1.23-1.fc6.noarch
  addrpm file-4.17-8.ppc
  addrpm apr-1.2.7-10.ppc
  addrpm apr-util-1.2.7-3.ppc
  addrpm httpd-2.2.3-5.ppc
  popd >& /dev/null
  for F in index.html msg.html cmd.html; do
    install -m 444 -o apache -g apache -t "$HTMLDIR" $F
  done
  pushd "$HTMLDIR" >& /dev/null
  rm -f log.txt
  ln -s "$MTYDIR"/log.txt
  popd >& /dev/null
  install -m 555 -o apache -g apache -t "$CGIDIR" mtymgr
  pushd "$CGIDIR" >& /dev/null
  for F in mtydel mtylog mtyspeed mtystart mtystatus mtystop mtyup; do
    rm -f "$F"
    ln mtymgr "$F"
  done
  popd >& /dev/null
  pushd / >& /dev/null
  chkconfig httpd on
  /etc/init.d/httpd restart
  popd >& /dev/null
}

samba()
{
  pushd "$FC6PPCRPM" >& /dev/null
  addrpm gnutls-1.4.1-2.ppc
  addrpm libjpeg-6b-37.ppc
  addrpm libpng-1.2.10-7.ppc
  addrpm libtiff-3.8.2-6.fc6.ppc
  addrpm cups-libs-1.2.4-9.ppc
  addrpm logrotate-3.7.4-7.ppc
  addrpm samba-common-3.0.23c-2.ppc64
  addrpm samba-3.0.23c-2.ppc
  popd >& /dev/null
  sed -e "s/NETBIOSNAME/$NBNAME/" smb.conf > /tmp/smb.conf
  install -m 644 -o root -g root -t "$SMBCNFDIR" /tmp/smb.conf
  rm /tmp/smb.conf
  pushd / >& /dev/null
  chkconfig smb on
  chkconfig winbind on
  /etc/init.d/smb restart
  popd >& /dev/null
}

mty()
{
  if [ ! -d "$MTYDIR" ]; then
    mkdir "$MTYDIR"
  fi
  chown apache.apache "$MTYDIR"
  install -m 555 -o apache -g apache -t "$MTYDIR" mty
}

basic()
{
  loadkeys jp106
  pushd "$FC6PPCRPM" >& /dev/null
  addrpm dhclient-3.0.4-21.fc6.ppc
  popd >& /dev/null
  install -m 644 -o root -g root -t /etc/sysconfig/network-scripts ifcfg-eth0
  pushd / >& /dev/null
  /etc/init.d/network restart
  popd >& /dev/null
}

opt()
{
  pushd "$FC6PPCRPM" >& /dev/null
  addrpm openssh-4.3p2-10.ppc
  addrpm openssh-clients-4.3p2-10.ppc
  addrpm tcp_wrappers-7.6-40.2.1.ppc
  addrpm openssh-server-4.3p2-10.ppc

  addrpm unzip-5.52-2.2.1.ppc
  addrpm wget-1.10.2-7.ppc

  addrpm bzip2-1.0.3-3.ppc
  addrpm groff-1.18.1.1-11.1.ppc
  addrpm man-1.6d-1.1.ppc
  addrpm man-pages-ja-20060815-2.noarch

  addrpm make-3.81-1.1.ppc
  addrpm glibc-headers-2.5-3.ppc
  addrpm glibc-devel-2.5-3.ppc64
  popd >& /dev/null

  pushd "$CELLSDK" >& /dev/null
  addrpm ppu-binutils-3.3-72.ppc
  addrpm ppu-gcc-3.3-72.ppc
  addrpm spu-binutils-3.3-72.ppc
  addrpm spu-gcc-3.3-72.ppc
  addrpm libspe-1.2.0-0.ppc
  addrpm libspe-1.2.0-0.ppc64
  addrpm libspe-devel-1.2.0-0.ppc
  addrpm libspe-devel-1.2.0-0.ppc64
  popd >& /dev/null
}

config()
{
  rm -fr $CONFDIR
  mkdir "$CONFDIR"
  pushd "$CONFDIR" >& /dev/null
  ln -s "$CGIDIR"
  ln -s "$HTMLDIR"
  ln -s "$HTTPCNFDIR"/httpd.conf
  ln -s "$SMBCNFDIR"/smb.conf
  ln -s "$MTYDIR"/mty
  popd >& /dev/null
  addrpm sudo-1.6.8p12-10.ppc
  grep -v "^apache" /etc/sudoers > /tmp/sudoers
  echo "apache localhost = NOPASSWD: $CONFDIR/setup, /bin/chmod, /bin/rm" >> /tmp/sudoers
  install -m 440 -o root -g root -t /etc /tmp/sudoers
  rm /tmp/sudoers
}

main()
{
  if [ "$1" != "" ]; then
    NBNAME="$1"
  fi

  basic
# opt
  apache
  samba
  mty
  config
}

main ${1+"$@"}
exit 0
