Merge branch 'master' of dev.sourcefabric.org:campcaster
This commit is contained in:
commit
991f56698b
|
@ -1,5 +1,4 @@
|
|||
<?php
|
||||
define('ACCESS_TYPE', 'restore');
|
||||
|
||||
/**
|
||||
* @package Campcaster
|
||||
|
@ -49,6 +48,8 @@ class Restore {
|
|||
*/
|
||||
private $gb;
|
||||
|
||||
private $ACCESS_TYPE = 'restore';
|
||||
|
||||
/**
|
||||
* @param GreenBox $gb
|
||||
* greenbox object reference
|
||||
|
@ -58,7 +59,7 @@ class Restore {
|
|||
global $CC_CONFIG;
|
||||
$this->gb =& $gb;
|
||||
$this->token = null;
|
||||
$this->logFile = $CC_CONFIG['bufferDir'].'/'.ACCESS_TYPE.'.log';
|
||||
$this->logFile = $CC_CONFIG['bufferDir'].'/'.$this->ACCESS_TYPE.'.log';
|
||||
if ($this->loglevel == 'debug') {
|
||||
$this->addLogItem("-I- ".date("Ymd-H:i:s")." construct\n");
|
||||
}
|
||||
|
|
|
@ -504,7 +504,8 @@ class StoredFile {
|
|||
|
||||
$storedFile->name = isset($p_values['filename']) ? $p_values['filename'] : $p_values["filepath"];
|
||||
// NOTE: POSTGRES-SPECIFIC KEYWORD "DEFAULT" BEING USED, WOULD BE "NULL" IN MYSQL
|
||||
$storedFile->id = isset($p_values['id']) && is_integer($p_values['id'])?"'".$p_values['id']."'":'DEFAULT';
|
||||
$storedFile->id = isset($p_values['id']) && is_integer($p_values['id'])?(int)$p_values['id']:null;
|
||||
$sqlId = !is_null($storedFile->id)?"'".$storedFile->id."'":'DEFAULT';
|
||||
$storedFile->ftype = isset($p_values['filetype']) ? strtolower($p_values['filetype']) : "audioclip";
|
||||
$storedFile->mime = (isset($p_values["mime"]) ? $p_values["mime"] : NULL );
|
||||
// $storedFile->filepath = $p_values['filepath'];
|
||||
|
@ -529,7 +530,7 @@ class StoredFile {
|
|||
$CC_DBC->query("BEGIN");
|
||||
$sql = "INSERT INTO ".$CC_CONFIG['filesTable']
|
||||
."(id, name, gunid, mime, state, ftype, mtime, md5)"
|
||||
."VALUES ({$storedFile->id}, '{$escapedName}', "
|
||||
."VALUES ({$sqlId}, '{$escapedName}', "
|
||||
." x'{$storedFile->gunid}'::bigint,"
|
||||
." '{$storedFile->mime}', 'incomplete', '$escapedFtype',"
|
||||
." now(), '{$storedFile->md5}')";
|
||||
|
|
|
@ -1,4 +0,0 @@
|
|||
<?php
|
||||
define('CAMPCASTER_VERSION', '1.6.0-alpha');
|
||||
define('CAMPCASTER_COPYRIGHT_DATE', '2010');
|
||||
?>
|
199
conf.php
199
conf.php
|
@ -1,83 +1,93 @@
|
|||
<?php
|
||||
/**
|
||||
* StorageServer configuration file
|
||||
*
|
||||
* configuration structure:
|
||||
*
|
||||
* <dl>
|
||||
* <dt>dsn<dd> datasource setting
|
||||
* <dt>tblNamePrefix <dd>prefix for table names in the database
|
||||
* <dt>authCookieName <dd>secret token cookie name
|
||||
* <dt>AdminsGr <dd>name of admin group
|
||||
* <dt>StationPrefsGr <dd>name of station preferences group
|
||||
* <dt>AllGr <dd>name of 'all users' group
|
||||
* <dt>storageDir <dd>main directory for storing binary media files
|
||||
* <dt>bufferDir <dd>directory for temporary files
|
||||
* <dt>transDir <dd>directory for incomplete transferred files
|
||||
* <dt>accessDir <dd>directory for symlinks to accessed files
|
||||
* <dt>validate <dd>enable/disable validator
|
||||
* <dt>useTrash <dd>enable/disable safe delete (move to trash)
|
||||
* <dt>storageUrlPath<dd>path-URL-part of storageServer base dir
|
||||
* <dt>storageXMLRPC<dd>XMLRPC server script address relative to storageUrlPath
|
||||
* <dt>storageUrlHost, storageUrlPort<dd>host and port of storageServer
|
||||
* <dt>archiveUrlPath<dd>path-URL-part of archiveServer base dir
|
||||
* <dt>archiveXMLRPC<dd>XMLRPC server script address relative to archiveUrlPath
|
||||
* <dt>archiveUrlHost, archiveUrlPort<dd>host and port of archiveServer
|
||||
* <dt>archiveAccountLogin, archiveAccountPass <dd>account info
|
||||
* for login to archive
|
||||
* <dt>sysSubjs<dd>system users/groups - cannot be deleted
|
||||
* </dl>
|
||||
*/
|
||||
define('CAMPCASTER_VERSION', '1.6.0-alpha');
|
||||
define('CAMPCASTER_COPYRIGHT_DATE', '2010');
|
||||
|
||||
include("campcaster_version.php");
|
||||
|
||||
// these are the default values for the config
|
||||
// These are the default values for the config.
|
||||
global $CC_CONFIG;
|
||||
|
||||
// Note that these values can be overridden by the user config file,
|
||||
// located in ~/.campcaster/storageServer.conf.php
|
||||
// To disable this, set this variable to false.
|
||||
define('ALLOW_CONF_OVERRIDE', false);
|
||||
|
||||
$CC_CONFIG = array(
|
||||
/* ================================================== basic configuration */
|
||||
// Database config
|
||||
'dsn' => array(
|
||||
'username' => 'test',
|
||||
'username' => 'test2',
|
||||
'password' => 'test',
|
||||
'hostspec' => 'localhost',
|
||||
'phptype' => 'pgsql',
|
||||
'database' => 'campcaster',
|
||||
'database' => 'campcaster2',
|
||||
),
|
||||
|
||||
// Name of the web server user
|
||||
'webServerUser' => 'www-data',
|
||||
|
||||
// prefix for table names in the database
|
||||
'tblNamePrefix' => 'cc_',
|
||||
|
||||
// main directory for storing binary media files
|
||||
'storageDir' => dirname(__FILE__).'/stor',
|
||||
|
||||
// directory for temporary files
|
||||
'bufferDir' => dirname(__FILE__).'/stor/buffer',
|
||||
|
||||
// directory for incomplete transferred files
|
||||
'transDir' => dirname(__FILE__).'/trans',
|
||||
|
||||
// directory for symlinks to accessed files
|
||||
'accessDir' => dirname(__FILE__).'/access',
|
||||
'cronDir' => dirname(__FILE__).'/backend/cron',
|
||||
|
||||
/* ================================================ storage configuration */
|
||||
"rootDir" => dirname(__FILE__),
|
||||
"smartyTemplate" => dirname(__FILE__)."/htmlUI/templates",
|
||||
"smartyTemplateCompiled" => dirname(__FILE__)."/htmlUI/templates_c",
|
||||
'pearPath' => dirname(__FILE__).'/3rd_party/php/pear',
|
||||
|
||||
'tblNamePrefix' => 'cc_',
|
||||
/* ================================================ storage configuration */
|
||||
// secret token cookie name
|
||||
'authCookieName'=> 'campcaster_session_id',
|
||||
|
||||
// name of admin group
|
||||
//'AdminsGr' => 'Admins',
|
||||
|
||||
// name of station preferences group
|
||||
'StationPrefsGr'=> 'StationPrefs',
|
||||
|
||||
// name of 'all users' group
|
||||
//'AllGr' => 'All',
|
||||
'TrashName' => 'trash_',
|
||||
'storageDir' => dirname(__FILE__).'/stor',
|
||||
'bufferDir' => dirname(__FILE__).'/stor/buffer',
|
||||
'transDir' => dirname(__FILE__).'/trans',
|
||||
'accessDir' => dirname(__FILE__).'/access',
|
||||
'pearPath' => dirname(__FILE__).'/3rd_party/php/pear',
|
||||
// 'zendPath' => dirname(__FILE__).'/../../../../usr/lib',
|
||||
'cronDir' => dirname(__FILE__).'/backend/cron',
|
||||
|
||||
// enable/disable validator
|
||||
'validate' => TRUE,
|
||||
|
||||
// enable/disable safe delete (move to trash)
|
||||
'useTrash' => TRUE,
|
||||
|
||||
/* ==================================================== URL configuration */
|
||||
'storageUrlPath' => '/campcaster/backend',
|
||||
'storageXMLRPC' => 'xmlrpc/xrLocStor.php',
|
||||
'storageUrlHost' => 'localhost',
|
||||
// path-URL-part of storageServer base dir
|
||||
'storageUrlPath' => '/campcaster/backend',
|
||||
|
||||
// XMLRPC server script address relative to storageUrlPath
|
||||
'storageXMLRPC' => 'xmlrpc/xrLocStor.php',
|
||||
|
||||
// host and port of storageServer
|
||||
'storageUrlHost' => 'localhost',
|
||||
'storageUrlPort' => 80,
|
||||
|
||||
/* ================================================ archive configuration */
|
||||
/* ================================================ remote link configuration */
|
||||
// path-URL-part of remote server base dir
|
||||
'archiveUrlPath' => '/campcaster/backend',
|
||||
|
||||
// XMLRPC server script address relative to archiveUrlPath
|
||||
'archiveXMLRPC' => 'xmlrpc/xrLocStor.php',
|
||||
|
||||
// host and port of archiveServer
|
||||
'archiveUrlHost' => 'localhost',
|
||||
// 'archiveUrlHost' => '192.168.30.166',
|
||||
'archiveUrlPort' => 80,
|
||||
|
||||
// account info for login to archive
|
||||
'archiveAccountLogin' => 'root',
|
||||
'archiveAccountPass' => 'q',
|
||||
|
||||
|
@ -143,59 +153,64 @@ $CC_CONFIG['permSequence'] = $CC_CONFIG['permTable'].'_id';
|
|||
$CC_CONFIG['subjSequence'] = $CC_CONFIG['subjTable'].'_id';
|
||||
$CC_CONFIG['smembSequence'] = $CC_CONFIG['smembTable'].'_id';
|
||||
|
||||
// system users/groups - cannot be deleted
|
||||
$CC_CONFIG['sysSubjs'] = array(
|
||||
'root', /*$CC_CONFIG['AdminsGr'],*/ /*$CC_CONFIG['AllGr'],*/ $CC_CONFIG['StationPrefsGr']
|
||||
);
|
||||
|
||||
// Add PEAR to the PHP path
|
||||
$old_include_path = get_include_path();
|
||||
set_include_path('.'.PATH_SEPARATOR.$CC_CONFIG['pearPath'].PATH_SEPARATOR.$old_include_path);
|
||||
|
||||
// See if a ~/.campcaster/storageServer.conf.php exists, and
|
||||
// overwrite the settings from there if any
|
||||
$this_file = null;
|
||||
if (isset($_SERVER["SCRIPT_FILENAME"])) {
|
||||
$this_file = $_SERVER["SCRIPT_FILENAME"];
|
||||
} elseif(isset($argv[0])) {
|
||||
$this_file = $argv[0];
|
||||
}
|
||||
if (!is_null($this_file)) {
|
||||
$fileowner_id = fileowner($this_file);
|
||||
$fileowner_array = posix_getpwuid($fileowner_id);
|
||||
$fileowner_homedir = $fileowner_array['dir'];
|
||||
$fileowner_name = $fileowner_array['name'];
|
||||
$home_conf = $fileowner_homedir . '/.campcaster/storageServer.conf.php';
|
||||
if (file_exists($home_conf)) {
|
||||
$default_config = $CC_CONFIG;
|
||||
$developer_name = $fileowner_name;
|
||||
include($home_conf);
|
||||
$user_config = $CC_CONFIG;
|
||||
$CC_CONFIG = $user_config + $default_config;
|
||||
}
|
||||
if (ALLOW_CONF_OVERRIDE) {
|
||||
// See if a ~/.campcaster/storageServer.conf.php exists, and
|
||||
// overwrite the settings from there if any
|
||||
$this_file = null;
|
||||
if (isset($_SERVER["SCRIPT_FILENAME"])) {
|
||||
$this_file = $_SERVER["SCRIPT_FILENAME"];
|
||||
} elseif(isset($argv[0])) {
|
||||
$this_file = $argv[0];
|
||||
}
|
||||
if (!is_null($this_file)) {
|
||||
$fileowner_id = fileowner($this_file);
|
||||
$fileowner_array = posix_getpwuid($fileowner_id);
|
||||
$fileowner_homedir = $fileowner_array['dir'];
|
||||
$fileowner_name = $fileowner_array['name'];
|
||||
$home_conf = $fileowner_homedir . '/.campcaster/storageServer.conf.php';
|
||||
if (file_exists($home_conf)) {
|
||||
$default_config = $CC_CONFIG;
|
||||
$developer_name = $fileowner_name;
|
||||
include($home_conf);
|
||||
$user_config = $CC_CONFIG;
|
||||
$CC_CONFIG = $user_config + $default_config;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Check that all the required directories exist.
|
||||
foreach (array('storageDir', 'bufferDir', 'transDir', 'accessDir', 'cronDir') as $d) {
|
||||
$test = file_exists($CC_CONFIG[$d]);
|
||||
if ( $test === FALSE ) {
|
||||
echo " * Error: directory {$CC_CONFIG[$d]} is missing.\n";
|
||||
echo " * Please run the install script again.\n";
|
||||
exit(1);
|
||||
} else {
|
||||
$rp = realpath($CC_CONFIG[$d]);
|
||||
}
|
||||
$CC_CONFIG[$d] = $rp;
|
||||
}
|
||||
//foreach (array('storageDir', 'bufferDir', 'transDir', 'accessDir', 'cronDir') as $d) {
|
||||
// $test = file_exists($CC_CONFIG[$d]);
|
||||
// if ( $test === FALSE ) {
|
||||
// echo " * Error: directory {$CC_CONFIG[$d]} is missing.\n";
|
||||
// echo " * Please run the install script again.\n";
|
||||
// exit(1);
|
||||
// } else {
|
||||
// $rp = realpath($CC_CONFIG[$d]);
|
||||
// }
|
||||
// $CC_CONFIG[$d] = $rp;
|
||||
//}
|
||||
|
||||
// Check that htmlUI/templates_c has the right permissions
|
||||
$ss=@stat($CC_CONFIG["smartyTemplateCompiled"]);
|
||||
$groupOwner = (function_exists('posix_getgrgid'))?@posix_getgrgid($ss['gid']):'';
|
||||
if (!empty($groupOwner) && ($groupOwner["name"] != $CC_CONFIG["webServerUser"])) {
|
||||
echo " * Error: Your directory permissions for {$CC_CONFIG['smartyTemplateCompiled']} are not set correctly.<br>\n";
|
||||
echo " * The group perms need to be set to the web server user, in this case '{$CC_CONFIG['webServerUser']}'.<br>\n";
|
||||
exit(1);
|
||||
}
|
||||
$fileperms=@fileperms($CC_CONFIG["smartyTemplateCompiled"]);
|
||||
if (!($fileperms & 0x0400)) {
|
||||
echo " * Error: Sticky bit not set for {$CC_CONFIG['smartyTemplateCompiled']}.<br>\n";
|
||||
exit(1);
|
||||
}
|
||||
//$ss=@stat($CC_CONFIG["smartyTemplateCompiled"]);
|
||||
//$groupOwner = (function_exists('posix_getgrgid'))?@posix_getgrgid($ss['gid']):'';
|
||||
//if (!empty($groupOwner) && ($groupOwner["name"] != $CC_CONFIG["webServerUser"])) {
|
||||
// echo " * Error: Your directory permissions for {$CC_CONFIG['smartyTemplateCompiled']} are not set correctly.<br>\n";
|
||||
// echo " * The group perms need to be set to the web server user, in this case '{$CC_CONFIG['webServerUser']}'.<br>\n";
|
||||
// exit(1);
|
||||
//}
|
||||
//$fileperms=@fileperms($CC_CONFIG["smartyTemplateCompiled"]);
|
||||
//if (!($fileperms & 0x0400)) {
|
||||
// echo " * Error: Sticky bit not set for {$CC_CONFIG['smartyTemplateCompiled']}.<br>\n";
|
||||
// exit(1);
|
||||
//}
|
||||
?>
|
|
@ -1,480 +0,0 @@
|
|||
#!/bin/bash
|
||||
#-------------------------------------------------------------------------------
|
||||
# Copyright (c) 2010 Sourcefabric O.P.S.
|
||||
#
|
||||
# This file is part of the Campcaster project.
|
||||
# http://campcaster.sourcefabric.org/
|
||||
# To report bugs, send an e-mail to bugs@campware.org
|
||||
#
|
||||
# Campcaster is free software; you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation; either version 2 of the License, or
|
||||
# (at your option) any later version.
|
||||
#
|
||||
# Campcaster is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with Campcaster; if not, write to the Free Software
|
||||
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
#
|
||||
#
|
||||
# Author : $Author: fgerlits $
|
||||
# Version : $Revision: 2292 $
|
||||
# Location : $URL: svn+ssh://tomash@code.campware.org/home/svn/repo/livesupport/trunk/livesupport/bin/postInstallStation.sh $
|
||||
#-------------------------------------------------------------------------------
|
||||
#-------------------------------------------------------------------------------
|
||||
# This script makes installation steps for the Campcaster network hub.
|
||||
#
|
||||
# Invoke as:
|
||||
# ./bin/hubSetup.sh
|
||||
#
|
||||
# To get usage help, try the -h option
|
||||
#
|
||||
#-------------------------------------------------------------------------------
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
# Determine directories, files
|
||||
#-------------------------------------------------------------------------------
|
||||
reldir=`dirname $0`/..
|
||||
basedir=`cd $reldir; pwd;`
|
||||
bindir=$basedir/bin
|
||||
etcdir=$basedir/etc
|
||||
srcdir=$basedir/src
|
||||
tools_dir=$srcdir/tools
|
||||
modules_dir=$srcdir/modules
|
||||
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
# Print the usage information for this script.
|
||||
#-------------------------------------------------------------------------------
|
||||
printUsage()
|
||||
{
|
||||
echo "Campcaster network hub install script.";
|
||||
echo "parameters";
|
||||
echo "";
|
||||
echo " -d, --directory The installation directory, required.";
|
||||
echo " -n, --hostname The remotely accessible hostname [default `hostname -f`].";
|
||||
echo " -D, --database The name of the Campcaster database.";
|
||||
echo " [default: CampcasterHub]";
|
||||
echo " -g, --apache-group The group the apache daemon runs as.";
|
||||
echo " [default: www-data]";
|
||||
echo " -r, --www-root The root directory for web documents served";
|
||||
echo " by apache [default: /var/www]";
|
||||
echo " -s, --dbserver The name of the database server host.";
|
||||
echo " [default: localhost]";
|
||||
echo " -u, --dbuser The name of the database user to access the"
|
||||
echo " database. [default: campcaster]";
|
||||
echo " -w, --dbpassword The database user password.";
|
||||
echo " [default: campcaster]";
|
||||
echo " -p, --postgresql-dir The postgresql data directory, containing";
|
||||
echo " pg_hba.conf [default: /etc/postgresql]";
|
||||
echo " -i, --postgresql-init-script The name of the postgresql init";
|
||||
echo " script [default: /etc/init.d/postgresql]";
|
||||
echo " -P, --skip-postgresql Don't modify posgresql configuration.";
|
||||
echo " -A, --skip-apache Don't modify apache configuration.";
|
||||
echo " -h, --help Print this message and exit.";
|
||||
echo "";
|
||||
}
|
||||
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
# Process command line parameters
|
||||
#-------------------------------------------------------------------------------
|
||||
CMD=${0##*/}
|
||||
|
||||
opts=$(getopt -o Ad:D:g:hi:n:p:Pr:s:u:w: -l apache-group:,database:,dbserver:,dbuser:,dbpassword:,directory:,help,hostname:,postgresql-dir:,postgresql-init-script:,skip-apache,skip-postgresql,www-root: -n $CMD -- "$@") || exit 1
|
||||
eval set -- "$opts"
|
||||
while true; do
|
||||
case "$1" in
|
||||
-S|--skip-apache)
|
||||
skip_apache="yes";
|
||||
shift;;
|
||||
-d|--directory)
|
||||
installdir=$2;
|
||||
shift; shift;;
|
||||
-D|--database)
|
||||
database=$2;
|
||||
shift; shift;;
|
||||
-g|--apache-group)
|
||||
apache_group=$2;
|
||||
shift; shift;;
|
||||
-h|--help)
|
||||
printUsage;
|
||||
exit 0;;
|
||||
-i|--postgresql-init-script)
|
||||
postgresql_init_script=$2;
|
||||
shift; shift;;
|
||||
-n|--hostname)
|
||||
hostname=$2;
|
||||
shift; shift;;
|
||||
-p|--postgresql-dir)
|
||||
postgresql_dir=$2;
|
||||
shift; shift;;
|
||||
-P|--skip-postgresql)
|
||||
skip_postgresql="yes";
|
||||
shift;;
|
||||
-r|--www-root)
|
||||
www_root=$2;
|
||||
shift; shift;;
|
||||
-s|--dbserver)
|
||||
dbserver=$2;
|
||||
shift; shift;;
|
||||
-u|--dbuser)
|
||||
dbuser=$2;
|
||||
shift; shift;;
|
||||
-w|--dbpassword)
|
||||
dbpassword=$2;
|
||||
shift; shift;;
|
||||
--)
|
||||
shift;
|
||||
break;;
|
||||
*)
|
||||
echo "Unrecognized option $1.";
|
||||
printUsage;
|
||||
exit 1;
|
||||
esac
|
||||
done
|
||||
|
||||
if [ "x$installdir" == "x" ]; then
|
||||
echo "Required parameter install directory not specified.";
|
||||
printUsage;
|
||||
exit 1;
|
||||
fi
|
||||
|
||||
if [ "x$dbserver" == "x" ]; then
|
||||
dbserver=localhost;
|
||||
fi
|
||||
|
||||
if [ "x$database" == "x" ]; then
|
||||
database=CampcasterHub;
|
||||
fi
|
||||
|
||||
if [ "x$dbuser" == "x" ]; then
|
||||
dbuser=campcaster;
|
||||
fi
|
||||
|
||||
if [ "x$dbpassword" == "x" ]; then
|
||||
dbpassword=campcaster;
|
||||
fi
|
||||
|
||||
if [ "x$apache_group" == "x" ]; then
|
||||
apache_group=www-data;
|
||||
fi
|
||||
|
||||
if [ "x$postgresql_dir" == "x" ]; then
|
||||
postgresql_dir=/etc/postgresql;
|
||||
fi
|
||||
|
||||
if [ "x$postgresql_init_script" == "x" ]; then
|
||||
postgresql_init_script=/etc/init.d/postgresql;
|
||||
fi
|
||||
|
||||
if [ "x$www_root" == "x" ]; then
|
||||
www_root=/var/www;
|
||||
fi
|
||||
|
||||
if [ "x$hostname" == "x" ]; then
|
||||
hostname=`hostname -f`
|
||||
fi
|
||||
|
||||
www_port=80
|
||||
|
||||
echo "Installing Campcaster network hub.";
|
||||
echo "";
|
||||
echo "Using the following installation parameters:";
|
||||
echo "";
|
||||
echo " installation directory: $installdir";
|
||||
echo " database server: $dbserver";
|
||||
echo " database: $database";
|
||||
echo " database user: $dbuser";
|
||||
echo " database user password: $dbpassword";
|
||||
echo " apache daemon group: $apache_group";
|
||||
echo " apache document root: $www_root";
|
||||
echo " postgresql data directory: $postgresql_dir";
|
||||
echo " postgresql init script: $postgresql_init_script";
|
||||
echo " hostname: $hostname";
|
||||
echo " www port: $www_port";
|
||||
echo ""
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
# The details of installation
|
||||
#-------------------------------------------------------------------------------
|
||||
ls_dbserver=$dbserver
|
||||
ls_dbuser=$dbuser
|
||||
ls_dbpassword=$dbpassword
|
||||
ls_database=$database
|
||||
|
||||
postgres_user=postgres
|
||||
|
||||
install_bin=$installdir/bin
|
||||
install_etc=$installdir/etc
|
||||
install_lib=$installdir/lib
|
||||
install_usr=$installdir/usr
|
||||
install_var_ls=$installdir/var/Campcaster
|
||||
|
||||
url_prefix=campcaster_hub
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
# Function to check for the existence of an executable on the PATH
|
||||
#
|
||||
# @param $1 the name of the exectuable
|
||||
# @return 0 if the executable exists on the PATH, non-0 otherwise
|
||||
#-------------------------------------------------------------------------------
|
||||
check_exe() {
|
||||
if [ -x "`which $1 2> /dev/null`" ]; then
|
||||
echo "Executable $1 found...";
|
||||
return 0;
|
||||
else
|
||||
echo "Executable $1 not found...";
|
||||
return 1;
|
||||
fi
|
||||
}
|
||||
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
# Check to see if this script is being run as root
|
||||
#-------------------------------------------------------------------------------
|
||||
if [ `whoami` != "root" ]; then
|
||||
echo "Please run this script as root.";
|
||||
exit ;
|
||||
fi
|
||||
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
# Check for required tools
|
||||
#-------------------------------------------------------------------------------
|
||||
echo "Checking for required tools..."
|
||||
|
||||
check_exe "sed" || exit 1;
|
||||
check_exe "psql" || exit 1;
|
||||
check_exe "php" || exit 1;
|
||||
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
# Check for the apache group to be a real group
|
||||
#-------------------------------------------------------------------------------
|
||||
group_tmp_file=/tmp/ls_group_check.$$
|
||||
touch $group_tmp_file
|
||||
test_result=`chgrp $apache_group $group_tmp_file 2> /dev/null`
|
||||
if [ $? != 0 ]; then
|
||||
rm -f $group_tmp_file;
|
||||
echo "Unable to use apache deamon group $apache_group.";
|
||||
echo "Please check if $apache_group is a correct user group.";
|
||||
exit 1;
|
||||
fi
|
||||
rm -f $group_tmp_file;
|
||||
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
# Install the new pg_hba.conf file
|
||||
#-------------------------------------------------------------------------------
|
||||
if [ "$skip_postgresql" != "yes" ]; then
|
||||
echo "Modifying postgresql access permissions...";
|
||||
|
||||
pg_config_dir=$postgresql_dir
|
||||
pg_config_file=pg_hba.conf
|
||||
pg_config_file_saved=pg_hba.conf.before-campcaster
|
||||
|
||||
if [ -f $pg_config_dir/$pg_config_file ] ; then
|
||||
mv -vf $pg_config_dir/$pg_config_file $pg_config_dir/$pg_config_file_saved ;
|
||||
fi
|
||||
cp -v $etcdir/$pg_config_file $pg_config_dir/$pg_config_file
|
||||
chown root:$postgres_user $pg_config_dir/$pg_config_file
|
||||
|
||||
# don't use restart for the init script, as it might return prematurely
|
||||
# and in the later call to psql we wouldn't be able to connect
|
||||
${postgresql_init_script} stop
|
||||
${postgresql_init_script} start
|
||||
fi
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
# Configuring Apache
|
||||
#-------------------------------------------------------------------------------
|
||||
if [ "$skip_apache" != "yes" ]; then
|
||||
echo "Configuring apache ..."
|
||||
CONFFILE=90_php_campcaster.conf
|
||||
AP_DDIR_FOUND=no
|
||||
for APACHE_DDIR in \
|
||||
/etc/apache/conf.d /etc/apache2/conf.d /etc/apache2/conf/modules.d \
|
||||
/etc/httpd/conf.d /etc/apache2/modules.d
|
||||
do
|
||||
echo -n "$APACHE_DDIR "
|
||||
if [ -d $APACHE_DDIR ]; then
|
||||
echo "Y"
|
||||
AP_DDIR_FOUND=yes
|
||||
cp -v $basedir/etc/apache/$CONFFILE $APACHE_DDIR
|
||||
break
|
||||
else
|
||||
echo "N"
|
||||
fi
|
||||
done
|
||||
if [ "$AP_DDIR_FOUND" != "yes" ]; then
|
||||
echo "###############################"
|
||||
echo " Could not configure Apache"
|
||||
echo " include following file into apache config manually:"
|
||||
echo " $basedir/etc/apache/$CONFFILE"
|
||||
echo "###############################"
|
||||
else
|
||||
echo "done"
|
||||
echo "Restarting apache...";
|
||||
AP_SCR_FOUND=no
|
||||
for APACHE_SCRIPT in apache apache2 httpd ; do
|
||||
echo -n "$APACHE_SCRIPT "
|
||||
if [ -x /etc/init.d/$APACHE_SCRIPT ]; then
|
||||
echo "Y"
|
||||
AP_SCR_FOUND=yes
|
||||
/etc/init.d/$APACHE_SCRIPT restart
|
||||
else
|
||||
echo "N"
|
||||
fi
|
||||
done
|
||||
if [ "$AP_SCR_FOUND" != "yes" ]; then
|
||||
echo "###############################"
|
||||
echo " Could not reload Apache"
|
||||
echo " please reload apache manually"
|
||||
echo "###############################"
|
||||
fi
|
||||
echo "done"
|
||||
fi
|
||||
fi
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
# Create the necessary database user and database itself
|
||||
#-------------------------------------------------------------------------------
|
||||
echo "Creating database user '$ls_dbuser' and database '$ls_database' ...";
|
||||
|
||||
# FIXME: the below might not work for remote databases
|
||||
|
||||
if [ "x$ls_dbserver" == "xlocalhost" ]; then
|
||||
su - $postgres_user -c "echo \"CREATE USER $ls_dbuser \
|
||||
ENCRYPTED PASSWORD '$ls_dbpassword' \
|
||||
CREATEDB NOCREATEUSER;\" \
|
||||
| psql template1" \
|
||||
|| echo "Couldn't create database user $ls_dbuser.";
|
||||
|
||||
su - $postgres_user -c "echo \"CREATE DATABASE \\\"$ls_database\\\" \
|
||||
OWNER $ls_dbuser ENCODING 'utf-8';\" \
|
||||
| psql template1" \
|
||||
|| echo "Couldn't create database $ls_database.";
|
||||
else
|
||||
echo "Unable to automatically create database user and table for";
|
||||
echo "remote database $ls_dbserver.";
|
||||
echo "Make sure to create database user $ls_dbuser with password";
|
||||
echo "$ls_dbpassword on database server at $ls_dbserver.";
|
||||
echo "Also create a database called $ls_database, owned by this user.";
|
||||
echo "";
|
||||
echo "The easiest way to achieve this is by issuing the following SQL";
|
||||
echo "commands to PostgreSQL:";
|
||||
echo "CREATE USER $ls_dbuser";
|
||||
echo " ENCRYPTED PASSWORD '$ls_dbpassword'";
|
||||
echo " CREATEDB NOCREATEUSER;";
|
||||
echo "CREATE DATABASE \"$ls_database\"";
|
||||
echo " OWNER $ls_dbuser ENCODING 'utf-8';";
|
||||
fi
|
||||
|
||||
|
||||
# TODO: check for the success of these operations somehow
|
||||
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
# Configuring modules
|
||||
#-------------------------------------------------------------------------------
|
||||
echo "Configuring modules ...";
|
||||
|
||||
cd $tools_dir/pear && ./configure --prefix=$installdir
|
||||
cd $modules_dir/alib && ./configure --prefix=$installdir
|
||||
cd $modules_dir/getid3 && ./configure --prefix=$installdir
|
||||
#cd $modules_dir/htmlUI && ./configure --prefix=$installdir \
|
||||
# --with-apache-group=$apache_group \
|
||||
# --with-www-docroot=$www_root \
|
||||
# --with-storage-server=$installdir/var/Campcaster/storageServer
|
||||
cd $modules_dir/storageAdmin && ./configure --prefix=$installdir \
|
||||
--with-storage-server=$installdir/var/Campcaster/storageServer \
|
||||
--with-phppart-dir=$installdir/var/Campcaster/storageAdmin
|
||||
cd $modules_dir/storageServer && \
|
||||
./configure --prefix=$installdir \
|
||||
--with-apache-group=$apache_group \
|
||||
--with-hostname=$hostname \
|
||||
--with-www-docroot=$www_root \
|
||||
--with-www-port=$www_port \
|
||||
--with-database-server=$dbserver \
|
||||
--with-database=$database \
|
||||
--with-database-user=$dbuser \
|
||||
--with-database-password=$dbpassword \
|
||||
--with-init-database=no \
|
||||
--with-url-prefix=$url_prefix
|
||||
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
# Install
|
||||
#-------------------------------------------------------------------------------
|
||||
echo "Installing modules ...";
|
||||
|
||||
mkdir -p $installdir
|
||||
#$tools_dir/pear/bin/install.sh -d $installdir || exit 1
|
||||
make -C $tools_dir/pear install
|
||||
make -C $modules_dir/alib install
|
||||
make -C $modules_dir/getid3 install
|
||||
make -C $modules_dir/storageServer install
|
||||
make -C $modules_dir/storageAdmin install
|
||||
|
||||
mkdir -p $install_var_ls/storageServer/var/tests
|
||||
for it in ex1.mp3 ex2.wav; do
|
||||
cp $modules_dir/storageServer/var/tests/$it \
|
||||
$install_var_ls/storageServer/var/tests
|
||||
done
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
# Create symlinks
|
||||
#-------------------------------------------------------------------------------
|
||||
echo "Creating symlinks...";
|
||||
|
||||
# create symlink for the PHP pages in apache's document root
|
||||
webentry=$www_root/$url_prefix
|
||||
rm -f $webentry
|
||||
ln -vs $install_var_ls $webentry
|
||||
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
# Setup directory permissions
|
||||
#-------------------------------------------------------------------------------
|
||||
echo "Setting up directory permissions..."
|
||||
|
||||
chgrp $apache_group $install_var_ls/storageServer/var/stor
|
||||
chgrp $apache_group $install_var_ls/storageServer/var/access
|
||||
chgrp $apache_group $install_var_ls/storageServer/var/trans
|
||||
chgrp $apache_group $install_var_ls/storageServer/var/stor/buffer
|
||||
|
||||
chmod g+sw $install_var_ls/storageServer/var/stor
|
||||
chmod g+sw $install_var_ls/storageServer/var/access
|
||||
chmod g+sw $install_var_ls/storageServer/var/trans
|
||||
chmod g+sw $install_var_ls/storageServer/var/stor/buffer
|
||||
|
||||
#chgrp $apache_group $install_var_ls/htmlUI/var/templates_c
|
||||
#chgrp $apache_group $install_var_ls/htmlUI/var/html/img
|
||||
|
||||
#chmod g+sw $install_var_ls/htmlUI/var/templates_c
|
||||
#chmod g+sw $install_var_ls/htmlUI/var/html/img
|
||||
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
# Initialize the database
|
||||
#-------------------------------------------------------------------------------
|
||||
echo "Initializing database...";
|
||||
|
||||
# create PHP-related database tables
|
||||
cd $install_var_ls/storageServer/var/install
|
||||
php -q install.php || exit 1;
|
||||
cd -
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
# Say goodbye
|
||||
#-------------------------------------------------------------------------------
|
||||
echo "Done."
|
||||
|
||||
|
||||
exit
|
||||
|
|
@ -4,7 +4,6 @@
|
|||
* @subpackage StorageServer
|
||||
* @copyright 2010 Sourcefabric O.P.S.
|
||||
* @license http://www.gnu.org/licenses/gpl.txt
|
||||
*
|
||||
*/
|
||||
|
||||
// Do not allow remote execution
|
||||
|
@ -16,30 +15,55 @@ if (isset($arr["DOCUMENT_ROOT"]) && ($arr["DOCUMENT_ROOT"] != "") ) {
|
|||
exit(1);
|
||||
}
|
||||
|
||||
echo "*************************\n";
|
||||
echo "* StorageServer Install *\n";
|
||||
echo "*************************\n";
|
||||
echo "**********************\n";
|
||||
echo "* Campcaster Install *\n";
|
||||
echo "**********************\n";
|
||||
|
||||
require_once(dirname(__FILE__).'/../conf.php');
|
||||
require_once(dirname(__FILE__).'/../backend/GreenBox.php');
|
||||
require_once(dirname(__FILE__).'/../backend/cron/Cron.php');
|
||||
require_once(dirname(__FILE__)."/installInit.php");
|
||||
|
||||
echo " *** Database Installation ***\n";
|
||||
|
||||
//sudo -u postgres createuser --no-superuser --no-createdb --no-createrole -A -P myuser
|
||||
|
||||
// Create the database user
|
||||
$command = "sudo -u postgres psql postgres --command \"CREATE USER {$CC_CONFIG['dsn']['username']} "
|
||||
." ENCRYPTED PASSWORD '{$CC_CONFIG['dsn']['password']}' CREATEDB NOCREATEUSER;\" 2>/dev/null";
|
||||
@exec($command, $output, $results);
|
||||
if ($results == 0) {
|
||||
echo " * User {$CC_CONFIG['dsn']['username']} created.\n";
|
||||
} else {
|
||||
echo " * User {$CC_CONFIG['dsn']['username']} already exists.\n";
|
||||
}
|
||||
|
||||
$command = "sudo -u postgres createdb {$CC_CONFIG['dsn']['database']} 2> /dev/null";
|
||||
@exec($command, $output, $results);
|
||||
if ($results == 0) {
|
||||
echo " * Database '{$CC_CONFIG['dsn']['database']}' created.\n";
|
||||
} else {
|
||||
echo " * Database '{$CC_CONFIG['dsn']['database']}' already exists.\n";
|
||||
}
|
||||
|
||||
// Connect to DB
|
||||
campcaster_db_connect(true);
|
||||
|
||||
// Install postgres scripting language
|
||||
$langIsInstalled = $CC_DBC->GetOne('select count(*) FROM pg_language WHERE lanname = \'plpgsql\'');
|
||||
if ($langIsInstalled == '0') {
|
||||
echo " * Installing Postgres scripting language\n";
|
||||
echo " * Installing Postgres scripting language...\n";
|
||||
$sql = "CREATE LANGUAGE 'plpgsql'";
|
||||
camp_install_query($sql);
|
||||
} else {
|
||||
echo " * Postgres scripting language already installed\n";
|
||||
echo " * Postgres scripting language already installed\n";
|
||||
}
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
// Install database tables
|
||||
//------------------------------------------------------------------------------
|
||||
if (!camp_db_table_exists($CC_CONFIG['subjTable'])) {
|
||||
echo " * Creating database table ".$CC_CONFIG['subjTable']."...";
|
||||
echo " * Creating database table ".$CC_CONFIG['subjTable']."...";
|
||||
$sql = "CREATE TABLE ".$CC_CONFIG['subjTable']." (
|
||||
id int not null PRIMARY KEY,
|
||||
login varchar(255) not null default'',
|
||||
|
@ -62,11 +86,11 @@ if (!camp_db_table_exists($CC_CONFIG['subjTable'])) {
|
|||
$CC_DBC->createSequence($CC_CONFIG['subjSequence']);
|
||||
echo "done.\n";
|
||||
} else {
|
||||
echo " * Skipping: database table already exists: ".$CC_CONFIG['subjTable']."\n";
|
||||
echo " * Skipping: database table already exists: ".$CC_CONFIG['subjTable']."\n";
|
||||
}
|
||||
|
||||
if (!camp_db_table_exists($CC_CONFIG['smembTable'])) {
|
||||
echo " * Creating database table ".$CC_CONFIG['smembTable']."...";
|
||||
echo " * Creating database table ".$CC_CONFIG['smembTable']."...";
|
||||
$sql = "CREATE TABLE ".$CC_CONFIG['smembTable']." (
|
||||
id int not null PRIMARY KEY,
|
||||
uid int not null default 0,
|
||||
|
@ -82,11 +106,11 @@ if (!camp_db_table_exists($CC_CONFIG['smembTable'])) {
|
|||
//$CC_DBC->createSequence($CC_CONFIG['smembSequence']);
|
||||
echo "done.\n";
|
||||
} else {
|
||||
echo " * Skipping: database table already exists: ".$CC_CONFIG['smembTable']."\n";
|
||||
echo " * Skipping: database table already exists: ".$CC_CONFIG['smembTable']."\n";
|
||||
}
|
||||
|
||||
if (!camp_db_table_exists($CC_CONFIG['permTable'])) {
|
||||
echo " * Creating database table ".$CC_CONFIG['permTable']."...";
|
||||
echo " * Creating database table ".$CC_CONFIG['permTable']."...";
|
||||
$sql = "CREATE TABLE ".$CC_CONFIG['permTable']." (
|
||||
permid int not null PRIMARY KEY,
|
||||
subj int REFERENCES ".$CC_CONFIG['subjTable']." ON DELETE CASCADE,
|
||||
|
@ -110,11 +134,11 @@ if (!camp_db_table_exists($CC_CONFIG['permTable'])) {
|
|||
//$CC_DBC->createSequence($CC_CONFIG['permSequence']);
|
||||
echo "done.\n";
|
||||
} else {
|
||||
echo " * Skipping: database table already exists: ".$CC_CONFIG['permTable']."\n";
|
||||
echo " * Skipping: database table already exists: ".$CC_CONFIG['permTable']."\n";
|
||||
}
|
||||
|
||||
if (!camp_db_table_exists($CC_CONFIG['sessTable'])) {
|
||||
echo " * Creating database table ".$CC_CONFIG['sessTable']."...";
|
||||
echo " * Creating database table ".$CC_CONFIG['sessTable']."...";
|
||||
$sql = "CREATE TABLE ".$CC_CONFIG['sessTable']." (
|
||||
sessid char(32) not null PRIMARY KEY,
|
||||
userid int REFERENCES ".$CC_CONFIG['subjTable']." ON DELETE CASCADE,
|
||||
|
@ -134,32 +158,29 @@ if (!camp_db_table_exists($CC_CONFIG['sessTable'])) {
|
|||
ON ".$CC_CONFIG['sessTable']." (login)";
|
||||
camp_install_query($sql);
|
||||
} else {
|
||||
echo " * Skipping: database table already exists: ".$CC_CONFIG['sessTable']."\n";
|
||||
echo " * Skipping: database table already exists: ".$CC_CONFIG['sessTable']."\n";
|
||||
}
|
||||
|
||||
/**
|
||||
* file states:
|
||||
* <ul>
|
||||
* <li>empty</li>
|
||||
* <li>incomplete</li>
|
||||
* <li>ready</li>
|
||||
* <li>edited</li>
|
||||
* <li>deleted</li>
|
||||
* </ul>
|
||||
* empty
|
||||
* incomplete
|
||||
* ready
|
||||
* edited
|
||||
* deleted
|
||||
*
|
||||
* file types:
|
||||
* <ul>
|
||||
* <li>audioclip</li>
|
||||
* <li>playlist</li>
|
||||
* <li>webstream</li>
|
||||
* </ul>
|
||||
* audioclip
|
||||
* playlist
|
||||
* webstream
|
||||
*
|
||||
* access types:
|
||||
* <ul>
|
||||
* <li>access</li>
|
||||
* <li>download</li>
|
||||
* </ul>
|
||||
* access
|
||||
* download
|
||||
*
|
||||
*/
|
||||
if (!camp_db_table_exists($CC_CONFIG['filesTable'])) {
|
||||
echo " * Creating database table ".$CC_CONFIG['filesTable']."...";
|
||||
echo " * Creating database table ".$CC_CONFIG['filesTable']."...";
|
||||
$sql =
|
||||
"CREATE TABLE ".$CC_CONFIG['filesTable']."
|
||||
(
|
||||
|
@ -243,11 +264,11 @@ if (!camp_db_table_exists($CC_CONFIG['filesTable'])) {
|
|||
//$CC_DBC->createSequence($CC_CONFIG['filesSequence']);
|
||||
|
||||
} else {
|
||||
echo " * Skipping: database table already exists: ".$CC_CONFIG['filesTable']."\n";
|
||||
echo " * Skipping: database table already exists: ".$CC_CONFIG['filesTable']."\n";
|
||||
}
|
||||
|
||||
if (!camp_db_table_exists($CC_CONFIG['playListTable'])) {
|
||||
echo " * Creating database table ".$CC_CONFIG['playListTable']."...";
|
||||
echo " * Creating database table ".$CC_CONFIG['playListTable']."...";
|
||||
$sql =
|
||||
"CREATE TABLE ".$CC_CONFIG['playListTable']."
|
||||
(
|
||||
|
@ -268,11 +289,11 @@ if (!camp_db_table_exists($CC_CONFIG['playListTable'])) {
|
|||
camp_install_query($sql);
|
||||
|
||||
} else {
|
||||
echo " * Skipping: database table already exists: ".$CC_CONFIG['playListTable']."\n";
|
||||
echo " * Skipping: database table already exists: ".$CC_CONFIG['playListTable']."\n";
|
||||
}
|
||||
|
||||
if (!camp_db_table_exists($CC_CONFIG['playListContentsTable'])) {
|
||||
echo " * Creating database table ".$CC_CONFIG['playListContentsTable']."...";
|
||||
echo " * Creating database table ".$CC_CONFIG['playListContentsTable']."...";
|
||||
$sql =
|
||||
"CREATE TABLE ".$CC_CONFIG['playListContentsTable']."
|
||||
(
|
||||
|
@ -325,7 +346,7 @@ if (!camp_db_table_exists($CC_CONFIG['playListContentsTable'])) {
|
|||
camp_install_query($sql);
|
||||
|
||||
} else {
|
||||
echo " * Skipping: database table already exists: ".$CC_CONFIG['playListContentsTable']."\n";
|
||||
echo " * Skipping: database table already exists: ".$CC_CONFIG['playListContentsTable']."\n";
|
||||
}
|
||||
|
||||
//if (!camp_db_sequence_exists($CC_CONFIG["filesSequence"])) {
|
||||
|
@ -343,7 +364,7 @@ if (!camp_db_table_exists($CC_CONFIG['playListContentsTable'])) {
|
|||
//}
|
||||
|
||||
if (!camp_db_table_exists($CC_CONFIG['accessTable'])) {
|
||||
echo " * Creating database table ".$CC_CONFIG['accessTable']."...";
|
||||
echo " * Creating database table ".$CC_CONFIG['accessTable']."...";
|
||||
$sql = "CREATE TABLE ".$CC_CONFIG['accessTable']." (
|
||||
gunid bigint, -- global unique id
|
||||
token bigint, -- access token
|
||||
|
@ -368,10 +389,10 @@ if (!camp_db_table_exists($CC_CONFIG['accessTable'])) {
|
|||
ON ".$CC_CONFIG['accessTable']." (parent)";
|
||||
camp_install_query($sql);
|
||||
} else {
|
||||
echo " * Skipping: database table already exists: ".$CC_CONFIG['accessTable']."\n";
|
||||
echo " * Skipping: database table already exists: ".$CC_CONFIG['accessTable']."\n";
|
||||
}
|
||||
|
||||
echo " * Inserting default users...\n";
|
||||
echo " * Inserting default users...\n";
|
||||
$gb = new GreenBox();
|
||||
$r = $gb->initData(true);
|
||||
if (PEAR::isError($r)) {
|
||||
|
@ -385,7 +406,7 @@ if (PEAR::isError($r)) {
|
|||
//------------------------------------------------------------------------------
|
||||
|
||||
if (!camp_db_table_exists($CC_CONFIG['transTable'])) {
|
||||
echo " * Creating database table ".$CC_CONFIG['transTable']."...";
|
||||
echo " * Creating database table ".$CC_CONFIG['transTable']."...";
|
||||
$sql = "CREATE TABLE ".$CC_CONFIG['transTable']." (
|
||||
id int not null, -- primary key
|
||||
trtok char(16) not null, -- transport token
|
||||
|
@ -436,14 +457,14 @@ if (!camp_db_table_exists($CC_CONFIG['transTable'])) {
|
|||
ON ".$CC_CONFIG['transTable']." (state)";
|
||||
camp_install_query($sql);
|
||||
} else {
|
||||
echo " * Skipping: database table already exists: ".$CC_CONFIG['transTable']."\n";
|
||||
echo " * Skipping: database table already exists: ".$CC_CONFIG['transTable']."\n";
|
||||
}
|
||||
|
||||
/**
|
||||
* Scheduler tables.
|
||||
*/
|
||||
if (!camp_db_table_exists($CC_CONFIG['scheduleTable'])) {
|
||||
echo " * Creating database table ".$CC_CONFIG['scheduleTable']."...";
|
||||
echo " * Creating database table ".$CC_CONFIG['scheduleTable']."...";
|
||||
$sql = "CREATE TABLE ".$CC_CONFIG['scheduleTable']."("
|
||||
." id bigint NOT NULL,"
|
||||
." playlist_id integer NOT NULL,"
|
||||
|
@ -460,7 +481,7 @@ if (!camp_db_table_exists($CC_CONFIG['scheduleTable'])) {
|
|||
." CONSTRAINT unique_id UNIQUE (id))";
|
||||
camp_install_query($sql);
|
||||
} else {
|
||||
echo " * Skipping: database table already exists: ".$CC_CONFIG['scheduleTable']."\n";
|
||||
echo " * Skipping: database table already exists: ".$CC_CONFIG['scheduleTable']."\n";
|
||||
}
|
||||
|
||||
|
||||
|
@ -478,7 +499,7 @@ if (!camp_db_table_exists($CC_CONFIG['scheduleTable'])) {
|
|||
|
||||
|
||||
if (!camp_db_table_exists($CC_CONFIG['backupTable'])) {
|
||||
echo " * Creating database table ".$CC_CONFIG['backupTable']."...";
|
||||
echo " * Creating database table ".$CC_CONFIG['backupTable']."...";
|
||||
$sql = "CREATE TABLE ".$CC_CONFIG['backupTable']." ("
|
||||
." token VARCHAR(64) NOT NULL,"
|
||||
." sessionId VARCHAR(64) NOT NULL,"
|
||||
|
@ -488,11 +509,11 @@ if (!camp_db_table_exists($CC_CONFIG['backupTable'])) {
|
|||
." PRIMARY KEY(token))";
|
||||
camp_install_query($sql);
|
||||
} else {
|
||||
echo " * Skipping: database table already exists: ".$CC_CONFIG['backupTable']."\n";
|
||||
echo " * Skipping: database table already exists: ".$CC_CONFIG['backupTable']."\n";
|
||||
}
|
||||
|
||||
if (!camp_db_table_exists($CC_CONFIG['prefTable'])) {
|
||||
echo " * Creating database table ".$CC_CONFIG['prefTable']."...";
|
||||
echo " * Creating database table ".$CC_CONFIG['prefTable']."...";
|
||||
//$CC_DBC->createSequence($CC_CONFIG['prefSequence']);
|
||||
$sql = "CREATE TABLE ".$CC_CONFIG['prefTable']." (
|
||||
id int not null,
|
||||
|
@ -514,36 +535,37 @@ if (!camp_db_table_exists($CC_CONFIG['prefTable'])) {
|
|||
ON ".$CC_CONFIG['prefTable']." (subjid)";
|
||||
camp_install_query($sql);
|
||||
|
||||
echo " * Inserting starting data into table ".$CC_CONFIG['prefTable']."...";
|
||||
echo " * Inserting starting data into table ".$CC_CONFIG['prefTable']."...";
|
||||
$stPrefGr = Subjects::GetSubjId($CC_CONFIG['StationPrefsGr']);
|
||||
Prefs::Insert($CC_CONFIG["systemPrefId"], 'stationName', "Radio Station 1");
|
||||
// $genres = file_get_contents( dirname(__FILE__).'/../genres.xml');
|
||||
// Prefs::Insert($CC_CONFIG["systemPrefId"], 'genres', $genres);
|
||||
echo "done.\n";
|
||||
} else {
|
||||
echo " * Skipping: database table already exists: ".$CC_CONFIG['prefTable']."\n";
|
||||
echo " * Skipping: database table already exists: ".$CC_CONFIG['prefTable']."\n";
|
||||
}
|
||||
|
||||
//------------------------------------------------------------------------
|
||||
// Install storage directories
|
||||
//------------------------------------------------------------------------
|
||||
echo " *** Directory Setup ***\n";
|
||||
foreach (array('storageDir', 'bufferDir', 'transDir', 'accessDir', 'cronDir') as $d) {
|
||||
$test = file_exists($CC_CONFIG[$d]);
|
||||
if ( $test === FALSE ) {
|
||||
@mkdir($CC_CONFIG[$d], 02775);
|
||||
if (file_exists($CC_CONFIG[$d])) {
|
||||
$rp = realpath($CC_CONFIG[$d]);
|
||||
echo " * Directory $rp created\n";
|
||||
echo " * Directory $rp created\n";
|
||||
} else {
|
||||
echo " * Failed creating {$CC_CONFIG[$d]}\n";
|
||||
echo " * Failed creating {$CC_CONFIG[$d]}\n";
|
||||
exit(1);
|
||||
}
|
||||
} elseif (is_writable($CC_CONFIG[$d])) {
|
||||
$rp = realpath($CC_CONFIG[$d]);
|
||||
echo " * Skipping directory already exists: $rp\n";
|
||||
echo " * Skipping directory already exists: $rp\n";
|
||||
} else {
|
||||
$rp = realpath($CC_CONFIG[$d]);
|
||||
echo " * WARNING: Directory already exists, but is not writable: $rp\n";
|
||||
echo " * WARNING: Directory already exists, but is not writable: $rp\n";
|
||||
//exit(1);
|
||||
}
|
||||
$CC_CONFIG[$d] = $rp;
|
||||
|
@ -553,16 +575,28 @@ foreach (array('storageDir', 'bufferDir', 'transDir', 'accessDir', 'cronDir') as
|
|||
// Storage directory writability test
|
||||
//------------------------------------------------------------------------
|
||||
|
||||
echo " * Testing writability of ".$CC_CONFIG['storageDir']."...";
|
||||
if (!($fp = @fopen($CC_CONFIG['storageDir']."/_writeTest", 'w'))) {
|
||||
echo "\nPlease make directory {$CC_CONFIG['storageDir']} writeable by your webserver".
|
||||
"\nand run install again\n\n";
|
||||
exit(1);
|
||||
} else {
|
||||
fclose($fp);
|
||||
unlink($CC_CONFIG['storageDir']."/_writeTest");
|
||||
}
|
||||
echo "done.\n";
|
||||
//echo " * Testing writability of ".$CC_CONFIG['storageDir']."...";
|
||||
//if (!($fp = @fopen($CC_CONFIG['storageDir']."/_writeTest", 'w'))) {
|
||||
// echo "\nPlease make directory {$CC_CONFIG['storageDir']} writeable by your webserver".
|
||||
// "\nand run install again\n\n";
|
||||
// exit(1);
|
||||
//} else {
|
||||
// fclose($fp);
|
||||
// unlink($CC_CONFIG['storageDir']."/_writeTest");
|
||||
//}
|
||||
//echo "done.\n";
|
||||
|
||||
|
||||
//
|
||||
// Make sure the Smarty Templates Compiled directory has the right perms
|
||||
//
|
||||
echo " * Setting dir permissions...\n";
|
||||
install_setDirPermissions($CC_CONFIG["smartyTemplateCompiled"]);
|
||||
install_setDirPermissions($CC_CONFIG["storageDir"]);
|
||||
install_setDirPermissions($CC_CONFIG["bufferDir"]);
|
||||
install_setDirPermissions($CC_CONFIG["transDir"]);
|
||||
install_setDirPermissions($CC_CONFIG["accessDir"]);
|
||||
|
||||
|
||||
//------------------------------------------------------------------------
|
||||
// Install Cron job
|
||||
|
@ -595,8 +629,8 @@ $cron->ct->addCron($m, $h, $dom, $mon, $dow, $command);
|
|||
$cron->closeCrontab();
|
||||
echo " Done.\n";
|
||||
|
||||
echo "**********************************\n";
|
||||
echo "* StorageServer Install Complete *\n";
|
||||
echo "**********************************\n";
|
||||
echo "*******************************\n";
|
||||
echo "* Campcaster Install Complete *\n";
|
||||
echo "*******************************\n";
|
||||
|
||||
?>
|
|
@ -61,4 +61,27 @@ function campcaster_db_connect($p_exitOnError = true) {
|
|||
}
|
||||
}
|
||||
|
||||
function install_setDirPermissions($filePath) {
|
||||
global $CC_CONFIG;
|
||||
$success = chgrp($filePath, $CC_CONFIG["webServerUser"]);
|
||||
$fileperms=@fileperms($filePath);
|
||||
$fileperms = $fileperms | 0x0010; // group write bit
|
||||
$fileperms = $fileperms | 0x0400; // group sticky bit
|
||||
chmod($filePath, $fileperms);
|
||||
|
||||
// Verify Smarty template dir permissions
|
||||
$fileGroup = filegroup($CC_CONFIG["smartyTemplateCompiled"]);
|
||||
$groupOwner = (function_exists('posix_getgrgid'))?@posix_getgrgid($fileGroup):'';
|
||||
if (!empty($groupOwner) && ($groupOwner["name"] != $CC_CONFIG["webServerUser"])) {
|
||||
echo " * Error: Your directory permissions for {$filePath} are not set correctly.<br>\n";
|
||||
echo " * The group perms need to be set to the web server user, in this case '{$CC_CONFIG['webServerUser']}'.<br>\n";
|
||||
echo " * Currently the group is set to be '{$groupOwner['name']}'.<br>\n";
|
||||
exit(1);
|
||||
}
|
||||
if (!($fileperms & 0x0400)) {
|
||||
echo " * Error: Sticky bit not set for {$filePath}.<br>\n";
|
||||
exit(1);
|
||||
}
|
||||
}
|
||||
|
||||
?>
|
|
@ -1,84 +0,0 @@
|
|||
#!/bin/bash
|
||||
#-------------------------------------------------------------------------------
|
||||
# Copyright (c) 2010 Sourcefabric O.P.S.
|
||||
#
|
||||
# This file is part of the Campcaster project.
|
||||
# http://campcaster.sourcefabric.org/
|
||||
# To report bugs, send an e-mail to bugs@campware.org
|
||||
#
|
||||
# Campcaster is free software; you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation; either version 2 of the License, or
|
||||
# (at your option) any later version.
|
||||
#
|
||||
# Campcaster is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with Campcaster; if not, write to the Free Software
|
||||
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
#
|
||||
#-------------------------------------------------------------------------------
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
# This script generates the nightly builds and logs.
|
||||
#-------------------------------------------------------------------------------
|
||||
|
||||
reldir=`dirname $0`/..
|
||||
basedir=`cd $reldir; pwd;`
|
||||
bindir=${basedir}/bin
|
||||
tmpdir=${basedir}/tmp
|
||||
logdir=${basedir}/tmp
|
||||
|
||||
cd ${basedir}
|
||||
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
# Update the source from the repository.
|
||||
#-------------------------------------------------------------------------------
|
||||
mv -f ${logdir}/nightlySvnUpdate.log ${logdir}/nightlySvnUpdate.log~
|
||||
svn update &> ${logdir}/nightlySvnUpdate.log
|
||||
ls -l ${logdir}/nightlySvnUpdate.log >> ${logdir}/nightlySvnUpdate.log
|
||||
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
# Generate the documentation.
|
||||
#-------------------------------------------------------------------------------
|
||||
mv -f ${logdir}/nightlyMakeDoxygen.log ${logdir}/nightlyMakeDoxygen.log~
|
||||
make doxygen &> ${logdir}/nightlyMakeDoxygen.log
|
||||
ls -l ${logdir}/nightlyMakeDoxygen.log >> ${logdir}/nightlyMakeDoxygen.log
|
||||
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
# Recompile the code.
|
||||
#-------------------------------------------------------------------------------
|
||||
mv -f ${logdir}/nightlyMakeRecompile.log ${logdir}/nightlyMakeRecompile.log~
|
||||
make recompile &> ${logdir}/nightlyMakeRecompile.log
|
||||
ls -l ${logdir}/nightlyMakeRecompile.log >> ${logdir}/nightlyMakeRecompile.log
|
||||
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
# Run the unit tests.
|
||||
#-------------------------------------------------------------------------------
|
||||
mv -f ${logdir}/nightlyMakeCheck.log ${logdir}/nightlyMakeCheck.log~
|
||||
make check &> ${logdir}/nightlyMakeCheck.log
|
||||
ls -l ${logdir}/nightlyMakeCheck.log >> ${logdir}/nightlyMakeCheck.log
|
||||
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
# Generate the test results report.
|
||||
#-------------------------------------------------------------------------------
|
||||
mv -f ${logdir}/nightlyMakeTestResults.log ${logdir}/nightlyMakeTestResults.log~
|
||||
make testresults &> ${logdir}/nightlyMakeTestResults.log
|
||||
ls -l ${logdir}/nightlyMakeTestResults.log >> ${logdir}/nightlyMakeTestResults.log
|
||||
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
# Generate the flawfinder report.
|
||||
#-------------------------------------------------------------------------------
|
||||
mv -f ${logdir}/nightlyMakeFlawfinder.log ${logdir}/nightlyMakeFlawfinder.log~
|
||||
make flawfinder &> ${logdir}/nightlyMakeFlawfinder.log
|
||||
ls -l ${logdir}/nightlyMakeFlawfinder.log >> ${logdir}/nightlyMakeFlawfinder.log
|
||||
|
|
@ -1,208 +0,0 @@
|
|||
#!/bin/bash
|
||||
#-------------------------------------------------------------------------------
|
||||
# Copyright (c) 2010 Sourcefabric O.P.S.
|
||||
#
|
||||
# This file is part of the Campcaster project.
|
||||
# http://campcaster.sourcefabric.org/
|
||||
# To report bugs, send an e-mail to bugs@campware.org
|
||||
#
|
||||
# Campcaster is free software; you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation; either version 2 of the License, or
|
||||
# (at your option) any later version.
|
||||
#
|
||||
# Campcaster is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with Campcaster; if not, write to the Free Software
|
||||
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
#
|
||||
#-------------------------------------------------------------------------------
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
# A script to set up the development environment for Campcaster
|
||||
#
|
||||
# Invoke as:
|
||||
# ./bin/setupDevelopmentEnvironmentAndLog.sh
|
||||
#-------------------------------------------------------------------------------
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
# Determine directories, files
|
||||
#-------------------------------------------------------------------------------
|
||||
reldir=`dirname $0`/..
|
||||
basedir=`cd $reldir; pwd;`
|
||||
bindir=$basedir/bin
|
||||
tmpdir=$basedir/tmp
|
||||
logdir=$basedir/tmp
|
||||
|
||||
usrdir=`cd $basedir/usr; pwd;`
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
# Print the usage information for this script.
|
||||
#-------------------------------------------------------------------------------
|
||||
printUsage()
|
||||
{
|
||||
echo "Campcaster development environment setup script.";
|
||||
echo "parameters";
|
||||
echo "";
|
||||
echo " -g, --apache-group The group the apache daemon runs as.";
|
||||
echo " [default: www-data]";
|
||||
echo " -h, --help Print this message and exit.";
|
||||
echo "";
|
||||
}
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
# Process command line parameters
|
||||
#-------------------------------------------------------------------------------
|
||||
CMD=${0##*/}
|
||||
|
||||
opts=$(getopt -o g:h -l apache-group:,help -n $CMD -- "$@") || exit 1
|
||||
eval set -- "$opts"
|
||||
while true; do
|
||||
case "$1" in
|
||||
-g|--apache-group)
|
||||
apache_group=$2;
|
||||
shift; shift;;
|
||||
-h|--help)
|
||||
printUsage;
|
||||
exit 0;;
|
||||
--)
|
||||
shift;
|
||||
break;;
|
||||
*)
|
||||
echo "Unrecognized option $1.";
|
||||
printUsage;
|
||||
exit 1;
|
||||
esac
|
||||
done
|
||||
|
||||
if [ "x$apache_group" = "x" ]; then
|
||||
apache_group=www-data;
|
||||
fi
|
||||
|
||||
#------------------------------------------------------------------------------
|
||||
# All steps are being logged
|
||||
#------------------------------------------------------------------------------
|
||||
echo "";
|
||||
echo "The compile process will be started. All steps are being logged in";
|
||||
echo "$logdir ";
|
||||
echo "";
|
||||
|
||||
#------------------------------------------------------------------------------
|
||||
# Cleaning the setup
|
||||
#------------------------------------------------------------------------------
|
||||
mv -f $logdir/make_modprod_distclean_setup.log \
|
||||
$logdir/make_modprod_distclean_setup.log~
|
||||
make -C $basedir modprod_distclean \
|
||||
> $logdir/make_modprod_distclean_setup.log 2>&1
|
||||
ls -l $logdir/make_modprod_distclean_setup.log \
|
||||
>> $logdir/make_modprod_distclean_setup.log
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
# Create the configure script, using setup parameters
|
||||
#-------------------------------------------------------------------------------
|
||||
# --prefix=$usrdir --with-www-docroot=$usrdir/var =/var/www
|
||||
# --with-hostname=localhost --with-apache-group=$apache_group
|
||||
# --enable-debug --with-configure-apache=no =yes
|
||||
#
|
||||
# --with-create-database=no =yes --with-create-odbc-data-source=no =yes
|
||||
# --with-init-database=no =yes --with-database=Campcaster-name
|
||||
# --with-database-user=test --with-database-password=test
|
||||
#
|
||||
# --with-station-audio-out=default
|
||||
# --with-studio-audio-out=default
|
||||
# --with-studio-audio-cue=default
|
||||
#
|
||||
|
||||
rm -rf $tmpdir/configure
|
||||
echo "Now Configure ... Development Environment";
|
||||
mv -f $logdir/configure_development_environment.log \
|
||||
$logdir/configure_development_environment.log~
|
||||
$bindir/autogen.sh \
|
||||
> $logdir/configure_development_environment.log 2>&1
|
||||
$basedir/configure --prefix=$usrdir --enable-debug \
|
||||
--with-hostname=localhost \
|
||||
--with-www-docroot=$usrdir/var \
|
||||
--with-apache-group=$apache_group \
|
||||
>> $logdir/configure_development_environment.log 2>&1
|
||||
ls -l $logdir/configure_development_environment.log \
|
||||
>> $logdir/configure_development_environment.log
|
||||
echo "";
|
||||
echo "Configure is done, the configure_development_environment.log is created";
|
||||
echo "";
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
# Compile step by step
|
||||
#-------------------------------------------------------------------------------
|
||||
echo "Now Compiling ... Tools";
|
||||
mv -f $logdir/make_install_tools_setup.log \
|
||||
$logdir/make_install_tools_setup.log~
|
||||
make -C $basedir tools_setup \
|
||||
> $logdir/make_install_tools_setup.log 2>&1
|
||||
ls -l $logdir/make_install_tools_setup.log \
|
||||
>> $logdir/make_install_tools_setup.log
|
||||
echo "Done Tools Setup, the make_install_tools_setup.log is created";
|
||||
echo "";
|
||||
echo "Now Compiling ... Doxytag";
|
||||
mv -f $logdir/make_doxytag_setup.log \
|
||||
$logdir/make_doxytag_setup.log~
|
||||
make -C $basedir doxytag_setup \
|
||||
> $logdir/make_doxytag_setup.log 2>&1
|
||||
ls -l $logdir/make_doxytag_setup.log \
|
||||
>> $logdir/make_doxytag_setup.log
|
||||
echo "Done Doxytag Setup, the make_doxytag_setup.log is created";
|
||||
echo "";
|
||||
echo "Now Configure ... Modules ... Products";
|
||||
mv -f $logdir/make_configure_modules_setup.log \
|
||||
$logdir/make_configure_modules_setup.log~
|
||||
make -C $basedir modules_setup \
|
||||
> $logdir/make_configure_modules_setup.log 2>&1
|
||||
ls -l $logdir/make_configure_modules_setup.log \
|
||||
>> $logdir/make_configure_modules_setup.log
|
||||
echo "Configure Modules is done, the make_configure_modules_setup.log is created";
|
||||
mv -f $logdir/make_configure_products_setup.log \
|
||||
$logdir/make_configure_products_setup.log~
|
||||
make -C $basedir products_setup \
|
||||
> $logdir/make_configure_products_setup.log 2>&1
|
||||
ls -l $logdir/make_configure_products_setup.log \
|
||||
>> $logdir/make_configure_products_setup.log
|
||||
echo "Configure Products is done, the make_configure_products_setup.log is created";
|
||||
echo "";
|
||||
echo "Now Compiling ... Modules ... Products";
|
||||
mv -f $logdir/make_compile_setup.log \
|
||||
$logdir/make_compile_setup.log~
|
||||
make -C $basedir compile \
|
||||
> $logdir/make_compile_setup.log 2>&1
|
||||
ls -l $logdir/make_compile_setup.log \
|
||||
>> $logdir/make_compile_setup.log
|
||||
echo "Compiling is done, the make_compile_setup.log is created";
|
||||
echo "";
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
# User setup
|
||||
#-------------------------------------------------------------------------------
|
||||
echo "Setting up user settings ...";
|
||||
|
||||
$bindir/user_setup.sh --apache-group=$apache_group || exit 1
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
# Checking what we have done
|
||||
#-------------------------------------------------------------------------------
|
||||
echo "Now Checking ...";
|
||||
mv -f $logdir/make_check_setup.log \
|
||||
$logdir/make_check_setup.log~
|
||||
make -C $basedir check \
|
||||
> $logdir/make_check_setup.log 2>&1
|
||||
ls -l $logdir/make_check_setup.log \
|
||||
>> $logdir/make_check_setup.log
|
||||
echo "Checking is be done, the make_check_setup.log is created";
|
||||
echo "";
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
# We're done
|
||||
#-------------------------------------------------------------------------------
|
||||
echo "Done."
|
||||
|
|
@ -1,236 +0,0 @@
|
|||
#!/bin/bash
|
||||
#-------------------------------------------------------------------------------
|
||||
# Copyright (c) 2010 Sourcefabric O.P.S.
|
||||
#
|
||||
# This file is part of the Campcaster project.
|
||||
# http://campcaster.sourcefabric.org/
|
||||
# To report bugs, send an e-mail to bugs@campware.org
|
||||
#
|
||||
# Campcaster is free software; you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation; either version 2 of the License, or
|
||||
# (at your option) any later version.
|
||||
#
|
||||
# Campcaster is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with Campcaster; if not, write to the Free Software
|
||||
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
#
|
||||
#-------------------------------------------------------------------------------
|
||||
# This script updates the configuration file of Campcaster Studio.
|
||||
#
|
||||
# Invoke as:
|
||||
# ./bin/updateStudioConfig.sh
|
||||
#
|
||||
# To get usage help, try the -h option
|
||||
#-------------------------------------------------------------------------------
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
# Determine directories, files
|
||||
#-------------------------------------------------------------------------------
|
||||
reldir=`dirname $0`/..
|
||||
basedir=`cd $reldir; pwd;`
|
||||
bindir=$basedir/bin
|
||||
etcdir=$basedir/etc
|
||||
docdir=$basedir/doc
|
||||
tmpdir=$basedir/tmp
|
||||
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
# Print the usage information for this script.
|
||||
#-------------------------------------------------------------------------------
|
||||
printUsage()
|
||||
{
|
||||
echo "Campcaster Studio post-install script.";
|
||||
echo "parameters";
|
||||
echo "";
|
||||
echo " -d, --directory The installation directory, required.";
|
||||
echo " -H, --host The fully qualified host name of the system";
|
||||
echo " [default: guess].";
|
||||
echo " -p, --port The port of the apache web server [default: 80]"
|
||||
echo " -P, --scheduler-port The port of the scheduler daemon to install"
|
||||
echo " [default: 3344]";
|
||||
echo " -o, --output-device The audio device of live-mode broadcast";
|
||||
echo " [default: default]";
|
||||
echo " -c, --cue-device The audio device of preview listening";
|
||||
echo " [default: default]";
|
||||
echo " -h, --help Print this message and exit.";
|
||||
echo "";
|
||||
}
|
||||
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
# Process command line parameters
|
||||
#-------------------------------------------------------------------------------
|
||||
CMD=${0##*/}
|
||||
|
||||
opts=$(getopt -o d:H:hp:P:c:o: -l directory:,host:,help,port:,scheduler-port:,cue-device:,output-device: -n $CMD -- "$@") || exit 1
|
||||
eval set -- "$opts"
|
||||
while true; do
|
||||
case "$1" in
|
||||
-d|--directory)
|
||||
installdir=$2;
|
||||
shift; shift;;
|
||||
-H|--host)
|
||||
hostname=$2;
|
||||
shift; shift;;
|
||||
-h|--help)
|
||||
printUsage;
|
||||
exit 0;;
|
||||
-p|--port)
|
||||
http_port=$2;
|
||||
shift; shift;;
|
||||
-P|--scheduler-port)
|
||||
scheduler_port=$2;
|
||||
shift; shift;;
|
||||
-o|--output-device)
|
||||
output_alsa_device=$2;
|
||||
shift; shift;;
|
||||
-c|--cue-device)
|
||||
cue_alsa_device=$2;
|
||||
shift; shift;;
|
||||
--)
|
||||
shift;
|
||||
break;;
|
||||
*)
|
||||
echo "Unrecognized option $1.";
|
||||
printUsage;
|
||||
exit 1;
|
||||
esac
|
||||
done
|
||||
|
||||
if [ "x$installdir" == "x" ]; then
|
||||
echo "Required parameter install directory not specified.";
|
||||
printUsage;
|
||||
exit 1;
|
||||
fi
|
||||
|
||||
if [ "x$hostname" == "x" ]; then
|
||||
hostname=`hostname -f`;
|
||||
fi
|
||||
|
||||
if [ "x$http_port" == "x" ]; then
|
||||
http_port=80;
|
||||
fi
|
||||
|
||||
if [ "x$scheduler_port" == "x" ]; then
|
||||
scheduler_port=3344;
|
||||
fi
|
||||
|
||||
if [ "x$output_alsa_device" == "x" ]; then
|
||||
output_alsa_device="default";
|
||||
fi
|
||||
|
||||
if [ "x$cue_alsa_device" == "x" ]; then
|
||||
cue_alsa_device="default";
|
||||
fi
|
||||
|
||||
echo "Making post-install steps for Campcaster Studio.";
|
||||
echo "";
|
||||
echo "Using the following installation parameters:";
|
||||
echo "";
|
||||
echo " installation directory: $installdir";
|
||||
echo " host name: $hostname";
|
||||
echo " web server port: $http_port";
|
||||
echo " scheduler port: $scheduler_port";
|
||||
echo " live broadcast device: $output_alsa_device";
|
||||
echo " preview device: $cue_alsa_device";
|
||||
echo ""
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
# The details of installation
|
||||
#-------------------------------------------------------------------------------
|
||||
ls_php_host=$hostname
|
||||
ls_php_port=$http_port
|
||||
ls_php_urlPrefix=campcaster
|
||||
|
||||
ls_alib_xmlRpcPrefix="xmlrpc/xrLocStor.php"
|
||||
ls_storage_xmlRpcPrefix="xmlrpc/xrLocStor.php"
|
||||
|
||||
ls_scheduler_host=$hostname
|
||||
ls_scheduler_port=$scheduler_port
|
||||
ls_scheduler_urlPrefix=
|
||||
ls_scheduler_xmlRpcPrefix=RC2
|
||||
ls_output_alsa_device=$output_alsa_device
|
||||
ls_cue_alsa_device=$cue_alsa_device
|
||||
|
||||
|
||||
install_bin=$installdir/bin
|
||||
install_etc=$installdir/etc
|
||||
install_lib=$installdir/lib
|
||||
install_tmp=$installdir/tmp
|
||||
install_var=$installdir/var
|
||||
|
||||
|
||||
# replace / characters with a \/ sequence, for sed below
|
||||
# the sed statement is really "s/\//\\\\\//g", but needs escaping because of
|
||||
# bash, hence the extra '\' characters
|
||||
install_var_s=`echo $install_var | sed -e "s/\//\\\\\\\\\//g"`
|
||||
ls_storage_xmlRpcPrefix_s=`echo $ls_storage_xmlRpcPrefix | \
|
||||
sed -e "s/\//\\\\\\\\\//g"`
|
||||
ls_alib_xmlRpcPrefix_s=`echo $ls_alib_xmlRpcPrefix | sed -e "s/\//\\\\\\\\\//g"`
|
||||
ls_php_urlPrefix_s=`echo $ls_php_urlPrefix | sed -e "s/\//\\\\\\\\\//g"`
|
||||
ls_scheduler_urlPrefix_s=`echo $ls_scheduler_urlPrefix | \
|
||||
sed -e "s/\//\\\\\\\\\//g"`
|
||||
ls_scheduler_xmlRpcPrefix_s=`echo $ls_scheduler_xmlRpcPrefix | \
|
||||
sed -e "s/\//\\\\\\\\\//g"`
|
||||
ls_output_alsa_device_s=`echo $ls_output_alsa_device | sed -e "s/\//\\\\\\\\\//g"`
|
||||
ls_cue_alsa_device_s=`echo $ls_cue_alsa_device | sed -e "s/\//\\\\\\\\\//g"`
|
||||
|
||||
replace_sed_string="s/ls_var_dir/$install_var_s/; \
|
||||
s/ls_php_urlPrefix/$ls_php_urlPrefix_s/; \
|
||||
s/ls_php_host/$ls_php_host/; \
|
||||
s/ls_php_port/$ls_php_port/; \
|
||||
s/ls_alib_xmlRpcPrefix/$ls_alib_xmlRpcPrefix_s/; \
|
||||
s/ls_audio_output_device/$ls_output_alsa_device_s/; \
|
||||
s/ls_audio_cue_device/$ls_cue_alsa_device_s/; \
|
||||
s/ls_scheduler_host/$ls_scheduler_host/; \
|
||||
s/ls_scheduler_port/$ls_scheduler_port/; \
|
||||
s/ls_scheduler_xmlRpcPrefix/$ls_scheduler_xmlRpcPrefix_s/;"
|
||||
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
# Function to check for the existence of an executable on the PATH
|
||||
#
|
||||
# @param $1 the name of the exectuable
|
||||
# @return 0 if the executable exists on the PATH, non-0 otherwise
|
||||
#-------------------------------------------------------------------------------
|
||||
check_exe() {
|
||||
if [ -x "`which $1 2> /dev/null`" ]; then
|
||||
echo "Executable $1 found...";
|
||||
return 0;
|
||||
else
|
||||
echo "Executable $1 not found...";
|
||||
return 1;
|
||||
fi
|
||||
}
|
||||
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
# Check for required tools
|
||||
#-------------------------------------------------------------------------------
|
||||
echo "Checking for required tools..."
|
||||
|
||||
check_exe "sed" || exit 1;
|
||||
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
# Customize the configuration files with the appropriate values
|
||||
#-------------------------------------------------------------------------------
|
||||
echo "Customizing configuration files..."
|
||||
|
||||
# customize the Campcaster Studio config file
|
||||
cat $install_etc/campcaster-studio.xml.template \
|
||||
| sed -e "$replace_sed_string" \
|
||||
> $install_etc/campcaster-studio.xml
|
||||
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
# Say goodbye
|
||||
#-------------------------------------------------------------------------------
|
||||
echo "Done."
|
||||
|
|
@ -1,352 +0,0 @@
|
|||
#!/bin/bash
|
||||
#-------------------------------------------------------------------------------
|
||||
# Copyright (c) 2010 Sourcefabric O.P.S.
|
||||
#
|
||||
# This file is part of the Campcaster project.
|
||||
# http://campcaster.sourcefabric.org/
|
||||
# To report bugs, send an e-mail to bugs@campware.org
|
||||
#
|
||||
# Campcaster is free software; you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation; either version 2 of the License, or
|
||||
# (at your option) any later version.
|
||||
#
|
||||
# Campcaster is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with Campcaster; if not, write to the Free Software
|
||||
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
#
|
||||
#-------------------------------------------------------------------------------
|
||||
# This script configures the environment for a developer.
|
||||
#
|
||||
# Invoke as:
|
||||
# ./bin/user_setup.sh
|
||||
#
|
||||
# To get usage help, try the -h option
|
||||
#-------------------------------------------------------------------------------
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
# Determine directories, files
|
||||
#-------------------------------------------------------------------------------
|
||||
reldir=`dirname $0`/..
|
||||
basedir=`cd $reldir; pwd;`
|
||||
bindir=$basedir/bin
|
||||
etcdir=$basedir/etc
|
||||
docdir=$basedir/doc
|
||||
srcdir=$basedir/src
|
||||
tmpdir=$basedir/tmp
|
||||
toolsdir=$srcdir/tools
|
||||
modules_dir=$srcdir/modules
|
||||
products_dir=$srcdir/products
|
||||
scheduler_dir=$products_dir/scheduler
|
||||
scheduler_bin_dir=$scheduler_dir/bin
|
||||
|
||||
usrdir=`cd $basedir/usr; pwd;`
|
||||
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
# Print the usage information for this script.
|
||||
#-------------------------------------------------------------------------------
|
||||
printUsage()
|
||||
{
|
||||
echo "Campcaster local user settings setup script.";
|
||||
echo "parameters";
|
||||
echo "";
|
||||
echo " -g, --apache-group The group the apache daemon runs as.";
|
||||
echo " [default: apache]";
|
||||
echo " -h, --help Print this message and exit.";
|
||||
echo "";
|
||||
}
|
||||
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
# Process command line parameters
|
||||
#-------------------------------------------------------------------------------
|
||||
CMD=${0##*/}
|
||||
|
||||
opts=$(getopt -o g:h -l apache-group:,help -n $CMD -- "$@") || exit 1
|
||||
eval set -- "$opts"
|
||||
while true; do
|
||||
case "$1" in
|
||||
-g|--apache-group)
|
||||
apache_group=$2;
|
||||
shift; shift;;
|
||||
-h|--help)
|
||||
printUsage;
|
||||
exit 0;;
|
||||
--)
|
||||
shift;
|
||||
break;;
|
||||
*)
|
||||
echo "Unrecognized option $1.";
|
||||
printUsage;
|
||||
exit 1;
|
||||
esac
|
||||
done
|
||||
|
||||
if [ "x$apache_group" == "x" ]; then
|
||||
apache_group=apache;
|
||||
fi
|
||||
|
||||
scheduler_base_port=3344
|
||||
|
||||
user=`whoami`
|
||||
# force localhost always
|
||||
hostname=localhost
|
||||
http_port=80
|
||||
scheduler_port=`expr $scheduler_base_port + $UID`
|
||||
scheduler_storage_pass=change_me
|
||||
dbserver=localhost
|
||||
database=Campcaster-$user
|
||||
dbuser=test
|
||||
dbpassword=test
|
||||
homedir=$HOME
|
||||
configdir=$homedir/.campcaster
|
||||
htmldir=$homedir/public_html
|
||||
output_device=default
|
||||
cue_device=default
|
||||
|
||||
|
||||
echo "Configuring Campcaster development environment for user $user.";
|
||||
echo "";
|
||||
echo "Using the following installation parameters:";
|
||||
echo "";
|
||||
echo " host name: $hostname";
|
||||
echo " web server port: $http_port";
|
||||
echo " scheduler port: $scheduler_port";
|
||||
echo " storage password for the scheduler: $scheduler_storage_pass";
|
||||
echo " database server: $dbserver";
|
||||
echo " database: $database";
|
||||
echo " database user: $dbuser";
|
||||
echo " database user password: $dbpassword";
|
||||
echo " apache daemon group: $apache_group";
|
||||
echo " home directory: $homedir";
|
||||
echo " configuration directory: $configdir";
|
||||
echo " web base directory: $htmldir";
|
||||
echo " output audio device: $output_device";
|
||||
echo ""
|
||||
|
||||
|
||||
# check for the apache group to be a real group
|
||||
group_tmp_file=/tmp/ls_group_check.$$
|
||||
touch $group_tmp_file
|
||||
test_result=`chgrp $apache_group $group_tmp_file 2> /dev/null`
|
||||
if [ $? != 0 ]; then
|
||||
rm -f $group_tmp_file;
|
||||
echo "Unable to use apache deamon group $apache_group.";
|
||||
echo "Please check if $apache_group is a correct user group,";
|
||||
echo "and that the current user is a member of this group.";
|
||||
exit 1;
|
||||
fi
|
||||
rm -f $group_tmp_file;
|
||||
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
# The details of installation
|
||||
#-------------------------------------------------------------------------------
|
||||
|
||||
installdir=$usrdir
|
||||
|
||||
ls_php_host=$hostname
|
||||
ls_php_port=$http_port
|
||||
ls_php_urlPrefix=~$user/campcaster
|
||||
|
||||
ls_alib_xmlRpcPrefix="xmlrpc/xrLocStor.php"
|
||||
ls_storage_xmlRpcPrefix="xmlrpc/xrLocStor.php"
|
||||
|
||||
ls_dbserver=$dbserver
|
||||
ls_dbuser=$dbuser
|
||||
ls_dbpassword=$dbpassword
|
||||
ls_database=$database
|
||||
|
||||
ls_scheduler_host=$hostname
|
||||
ls_scheduler_port=$scheduler_port
|
||||
ls_scheduler_urlPrefix=
|
||||
ls_scheduler_xmlRpcPrefix=RC2
|
||||
ls_tmp_dir=$installdir/tmp
|
||||
ls_scheduler_daemon_command="$scheduler_bin_dir/campcaster-scheduler_devenv.sh"
|
||||
|
||||
ls_audio_output_device=$output_device
|
||||
ls_audio_cue_device=$cue_device
|
||||
|
||||
# replace / characters with a \/ sequence, for sed below
|
||||
# the sed statement is really "s/\//\\\\\//g", but needs escaping because of
|
||||
# bash, hence the extra '\' characters
|
||||
installdir_s=`echo $installdir | sed -e "s/\//\\\\\\\\\//g"`
|
||||
ls_storage_xmlRpcPrefix_s=`echo $ls_storage_xmlRpcPrefix | \
|
||||
sed -e "s/\//\\\\\\\\\//g"`
|
||||
ls_alib_xmlRpcPrefix_s=`echo $ls_alib_xmlRpcPrefix | sed -e "s/\//\\\\\\\\\//g"`
|
||||
ls_php_urlPrefix_s=`echo $ls_php_urlPrefix | sed -e "s/\//\\\\\\\\\//g"`
|
||||
ls_scheduler_urlPrefix_s=`echo $ls_scheduler_urlPrefix | \
|
||||
sed -e "s/\//\\\\\\\\\//g"`
|
||||
ls_scheduler_xmlRpcPrefix_s=`echo $ls_scheduler_xmlRpcPrefix | \
|
||||
sed -e "s/\//\\\\\\\\\//g"`
|
||||
ls_tmp_dir_s=`echo $ls_tmp_dir | sed -e "s/\//\\\\\\\\\//g"`
|
||||
ls_scheduler_daemon_command_s=`echo $ls_scheduler_daemon_command | \
|
||||
sed -e "s/\//\\\\\\\\\//g"`
|
||||
|
||||
replace_sed_string="s/ls_install_dir/$installdir_s/; \
|
||||
s/ls_dbuser/$ls_dbuser/; \
|
||||
s/ls_dbpassword/$ls_dbpassword/; \
|
||||
s/ls_dbserver/$ls_dbserver/; \
|
||||
s/ls_database/$ls_database/; \
|
||||
s/ls_storageUrlPath/\/$ls_php_urlPrefix_s\/storageServer\/var/; \
|
||||
s/ls_php_urlPrefix/$ls_php_urlPrefix_s/; \
|
||||
s/ls_storage_xmlRpcPrefix/$ls_storage_xmlRpcPrefix_s/; \
|
||||
s/ls_alib_xmlRpcPrefix/$ls_alib_xmlRpcPrefix_s/; \
|
||||
s/ls_php_host/$ls_php_host/; \
|
||||
s/ls_php_port/$ls_php_port/; \
|
||||
s/ls_scheduler_urlPrefix/$ls_scheduler_urlPrefix_s/; \
|
||||
s/ls_scheduler_xmlRpcPrefix/$ls_scheduler_xmlRpcPrefix_s/; \
|
||||
s/ls_scheduler_host/$ls_scheduler_host/; \
|
||||
s/ls_scheduler_port/$ls_scheduler_port/; \
|
||||
s/ls_audio_output_device/$ls_audio_output_device/; \
|
||||
s/ls_audio_cue_device/$ls_audio_cue_device/; \
|
||||
s/ls_tmp_dir/$ls_tmp_dir_s/; \
|
||||
s/ls_scheduler_daemon_command/$ls_scheduler_daemon_command_s/; \
|
||||
s/ls_scheduler_storage_pass/$scheduler_storage_pass/;"
|
||||
echo
|
||||
echo $replace_sed_string
|
||||
echo
|
||||
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
# Function to check for the existence of an executable on the PATH
|
||||
#
|
||||
# @param $1 the name of the exectuable
|
||||
# @return 0 if the executable exists on the PATH, non-0 otherwise
|
||||
#-------------------------------------------------------------------------------
|
||||
check_exe() {
|
||||
if [ -x "`which $1 2> /dev/null`" ]; then
|
||||
echo "Executable $1 found...";
|
||||
return 0;
|
||||
else
|
||||
echo "Executable $1 not found...";
|
||||
return 1;
|
||||
fi
|
||||
}
|
||||
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
# Check for required tools
|
||||
#-------------------------------------------------------------------------------
|
||||
echo "Checking for required tools..."
|
||||
|
||||
check_exe "sed" || exit 1;
|
||||
check_exe "php" || exit 1;
|
||||
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
# Customize the configuration files with the appropriate values
|
||||
#-------------------------------------------------------------------------------
|
||||
echo "Customizing configuration files..."
|
||||
|
||||
mkdir -p $configdir
|
||||
|
||||
cat $modules_dir/storageServer/var/conf_only.php.template \
|
||||
| sed -e "$replace_sed_string" \
|
||||
> $configdir/storageServer.conf.php
|
||||
|
||||
#cat $modules_dir/authentication/etc/webAuthentication.xml.template \
|
||||
# | sed -e "$replace_sed_string" \
|
||||
# > $configdir/webAuthentication.xml
|
||||
#
|
||||
#cat $modules_dir/db/etc/connectionManagerFactory.xml.template \
|
||||
# | sed -e "$replace_sed_string" \
|
||||
# > $configdir/connectionManagerFactory.xml
|
||||
#
|
||||
#cat $modules_dir/db/etc/simpleConnectionManager.xml.template \
|
||||
# | sed -e "$replace_sed_string" \
|
||||
# > $configdir/simpleConnectionManager.xml
|
||||
#
|
||||
#cat $modules_dir/schedulerClient/etc/schedulerClientFactory.xml.template \
|
||||
# | sed -e "$replace_sed_string" \
|
||||
# > $configdir/schedulerClientFactory.xml
|
||||
#
|
||||
#cat $modules_dir/schedulerClient/etc/schedulerDaemonXmlRpcClient.xml.template \
|
||||
# | sed -e "$replace_sed_string" \
|
||||
# > $configdir/schedulerDaemonXmlRpcClient.xml
|
||||
#
|
||||
#cat $modules_dir/storageClient/etc/webAuthenticationClient.xml.template \
|
||||
# | sed -e "$replace_sed_string" \
|
||||
# > $configdir/webAuthenticationClient.xml
|
||||
#
|
||||
#cat $modules_dir/storageClient/etc/webStorage.xml.template \
|
||||
# | sed -e "$replace_sed_string" \
|
||||
# > $configdir/webStorage.xml
|
||||
#
|
||||
#cat $products_dir/scheduler/etc/campcaster-scheduler.xml.template \
|
||||
# | sed -e "$replace_sed_string" \
|
||||
# > $configdir/campcaster-scheduler.xml
|
||||
#
|
||||
#cat $products_dir/gLiveSupport/etc/campcaster-studio.xml.user-template \
|
||||
# | sed -e "$replace_sed_string" \
|
||||
# > $configdir/campcaster-studio.xml
|
||||
#
|
||||
#cat $products_dir/gLiveSupport/etc/authenticationClient.xml.user-template \
|
||||
# | sed -e "$replace_sed_string" \
|
||||
# > $configdir/authenticationClient.xml
|
||||
#
|
||||
#cat $products_dir/gLiveSupport/etc/storageClient.xml.user-template \
|
||||
# | sed -e "$replace_sed_string" \
|
||||
# > $configdir/storageClient.xml
|
||||
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
# Create the public html directory, and links to the PHP directories
|
||||
#-------------------------------------------------------------------------------
|
||||
echo "Creating public HTML directory and links to web interfaces..."
|
||||
|
||||
mkdir -p $htmldir
|
||||
rm -f $htmldir/campcaster
|
||||
ln -s $modules_dir $htmldir/campcaster
|
||||
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
# Setup storageServer
|
||||
#-------------------------------------------------------------------------------
|
||||
echo "Setting up storageServer..."
|
||||
|
||||
make -C $modules_dir/storageServer storage || exit 1
|
||||
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
# Setup directory permissions
|
||||
#-------------------------------------------------------------------------------
|
||||
echo "Setting up directory permissions..."
|
||||
|
||||
chgrp $apache_group $modules_dir/storageServer/var/stor
|
||||
chgrp $apache_group $modules_dir/storageServer/var/access
|
||||
chgrp $apache_group $modules_dir/storageServer/var/trans
|
||||
chgrp $apache_group $modules_dir/storageServer/var/stor/buffer
|
||||
chmod g+sw $modules_dir/storageServer/var/stor
|
||||
chmod g+sw $modules_dir/storageServer/var/access
|
||||
chmod g+sw $modules_dir/storageServer/var/trans
|
||||
chmod g+sw $modules_dir/storageServer/var/stor/buffer
|
||||
|
||||
chgrp $apache_group $modules_dir/htmlUI/var/templates_c
|
||||
chgrp $apache_group $modules_dir/htmlUI/var/html/img
|
||||
|
||||
chmod g+sw $modules_dir/htmlUI/var/templates_c
|
||||
chmod g+sw $modules_dir/htmlUI/var/html/img
|
||||
|
||||
cp $modules_dir/htmlUI/var/redirect.php $modules_dir/index.php
|
||||
cp $modules_dir/htmlUI/var/redirect.php $modules_dir/htmlUI/index.php
|
||||
cp $modules_dir/htmlUI/var/redirect.php $modules_dir/htmlUI/var/index.php
|
||||
cp $modules_dir/htmlUI/var/redirect.php $modules_dir/htmlUI/var/html/index.php
|
||||
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
# Say goodbye
|
||||
#-------------------------------------------------------------------------------
|
||||
echo "";
|
||||
echo "The HTML user interface for the Campcaster development environment";
|
||||
echo "for user $user is available at:";
|
||||
echo "http://$ls_php_host:$ls_php_port/$ls_php_urlPrefix/htmlUI/var";
|
||||
echo "";
|
||||
echo "Done."
|
||||
|
Loading…
Reference in New Issue