blob: 45c9a63e60c80e2b25c0157aa94cb26d8d2735c5 (
plain)
- #!/bin/bash
- #
- # /usr/local/sbin/localezcreate
- # Copyright 2001-2002 Jonas Smedegaard <dr@jones.dk>
- #
- # $Id: localezcreate,v 1.9 2002-04-10 01:12:13 jonas Exp $
- #
- # Create local eZ Publish site
- #
- set -e
- # Defaults
- defaultmaildomain=`hostname -d`
- defaultdomain="ez.$defaultmaildomain"
- defaultuid="www-data"
- # Input
- dbuser="$1"
- host="$2"
- fqdn="$3"
- db="$4"
- mailuser="$5"
- maildomain="$6"
- uid="$7"
- gid="$8"
- dbpasswd="$9"
- if [ $# \< 2 -o $# \> 9 ]; then
- echo "\$#: $#"
- echo "Usage: `basename $0` dbuser host [fqdn [db [mailuser [maildomain [ uid [ gid [dbpasswd ]]]]]]]"
- echo
- echo " dbuser: MySQL database user"
- echo " host: hostname (and only that - no dots!)"
- echo " fqdn: Fully qualified domain name (default here is <host>.$defaultdomain)"
- echo " db: MySQL database name"
- echo " mailuser: User part of mail address (default is <dbuser>)"
- echo " maildomain: Domain part of mail address (default here is $defaultmaildomain)"
- echo " uid: System user id (default is $defaultuid)"
- echo " gid: System group id (default is <uid>"
- echo " dbpasswd: MySQL database password (default is to ask for it)"
- echo
- echo " Example: `basename $0` bilbo news news.forum.com"
- exit 1
- fi
- # Attempt to find MySQL root password
- if [ -f /root/.my.cnf ]; then
- dbrootpw=$(grep password /root/.my.cnf | awk -F= '{print $2}' | head -1 | sed 's/^ //g')
- else
- echo -n "Enter MySQL root password: "
- read -s dbrootpw
- echo
- fi
- pkg="ezpublish"
- srcdir="/usr/src/ezpublish"
- sqldir="/usr/share/ezpublish/sql"
- bindir="/usr/share/ezpublish/bin"
- tarballs="lib data install www"
- sqlfile="publish_mysql.sql"
- sqlfile2="data_mysql.sql"
- [ "x$uid" == "x" ] && uid="$defaultuid"
- gid="$uid"
- [ "x$fqdn" == "x" ] && fqdn="$host.$defaultdomain"
- [ "x$db" == "x" ] && db="ez_2_2_$host"
- [ "x$mailuser" == "x" ] && mailuser="$uid"
- [ "x$maildomain" == "x" ] && maildomain="$defaultmaildomain"
- if [ "x$dbpasswd" == "x" ]; then
- echo -n "Enter MySQL password for $dbuser: "
- read -s dbpasswd
- echo
- fi
- home=`getent passwd $uid | awk -F: '{print $6}';`
- basedir="$home/web_$fqdn"
- adminhost="admin.$fqdn"
- adminbasedir="$basedir/admin"
- webcfg="/etc/apache/vhosts.d/$fqdn"
- #TODO: Make sure $basedir, $db, $dbuser and $webcfg doesn't exist
- if [ "$(basename $0)" = "${pkg}betarecreate" ]; then
- mysqladmin -uroot -p$dbrootpw drop $db
- rm -rf $basedir
- fi
- echo "Creating database $db"
- mysqladmin -uroot -p$dbrootpw create $db
- echo "GRANT SELECT,INSERT,UPDATE,DELETE ON $db.* TO '$dbuser'@localhost IDENTIFIED BY '$dbpasswd';" | mysql -uroot -p$dbrootpw
- echo "Inject initial data into database"
- cat $sqldir/$sqlfile | mysql -uroot -p$dbrootpw $db
- echo -n "Unpacking tarballs:"
- su $uid -c "
- mkdir $basedir
- cd $basedir
- for tarball in $tarballs; do
- echo -n \" \$tarball\"
- tar -xz -C $basedir -f $srcdir/\$tarball.tar.gz
- done
- echo
- "
- echo "Adding demo data to database"
- mysql -u$dbuser -p$dbpasswd $db < $sqldir/$sqlfile2
- echo "Configuring website"
- su $uid -c "
- cd $basedir
- $bindir/modfix.sh >/dev/null
- $bindir/secure_modfix.sh >/dev/null
- mkdir -p override
- echo \"[site]
- SiteURL=$fqdn
- AdminSiteURL=admin.$fqdn
- UserSiteURL=$fqdn
- SiteTitle=$host eZ site
- Keywords=$host $maildomain
- SiteAuthor=someone at $maildomain
- SiteCopyright=someone © 2001
- SiteDescription=a web application suite
- SiteKeywords=Content Management System, CMS, e-commerce
- Database=$db
- User=$dbuser
- Password=$dbpasswd
- [eZUserMain]
- DefaultCountry=58
- [eZTradeMain]
- OrderSenderEmail=$mailuser@$maildomain
- OrderReceiverEmail=$mailuser@$maildomain
- mailToAdmin=$mailuser@$maildomain
- ForceSSL=disabled
- ApacheUser=UserApacheRunsAs
- [eZForumMain]
- ReplyAddress=$mailuser@$maildomain
- \" > override/site.ini.append
- "
- echo "Configuring Apache"
- echo "# Generated for $pkg by $(basename $0)
- <VirtualHost *>
- ServerName $fqdn
- ServerAdmin $mailuser@$maildomain
- DocumentRoot $basedir
- user $uid
- group $gid
- <Directory $basedir>
- Options FollowSymLinks
- AllowOverride None
- </Directory>
- php_flag magic_quotes_gpc off
- RewriteEngine On
- RewriteRule ^/stats/store/(.*).gif\$ $basedir/ezstats/user/storestats.php [S=4]
- RewriteRule ^/filemanager/filedownload/([^/]+)/(.*)\$ $basedir/ezfilemanager/files/\$1 [T=\"application/oct-stream\",S=3]
- RewriteRule .*/ezmediacatalogue/catalogue/(.*)\$ $basedir/ezmediacatalogue/catalogue/\$1 [T=\"application/oct-stream\",S=2]
- RewriteRule ^/xmlrpc.*\$ $basedir/index_xmlrpc.php [S=1]
- RewriteRule !\.(gif|css|jpg|png|jar)\$ $basedir/index.php
- </VirtualHost>
- <VirtualHost *>
- ServerName $adminhost
- ServerAdmin $mailuser@$maildomain
- DocumentRoot $basedir
- user $uid
- group $gid
- <Directory $basedir>
- Options FollowSymLinks
- AllowOverride None
- </Directory>
- php_flag magic_quotes_gpc off
- RewriteEngine On
- RewriteRule .*/ezmediacatalogue/catalogue/(.*)\$ $basedir/ezmediacatalogue/catalogue/\$1 [T=\"application/oct-stream\",S=1]
- RewriteRule !\.(gif|css|jpg|png|jar) $basedir/index_admin.php
- </VirtualHost>
- <VirtualHost *>
- ServerName www.$fqdn
- RewriteEngine On
- RewriteRule / http://$fqdn/ [R]
- </VirtualHost>" > $webcfg
- echo "Done!"
- echo "Remember to reload Apache..."
|