From 20aaffd05379b748bb7455bdbbee2d92a13c370a Mon Sep 17 00:00:00 2001 From: Liam McLoughlin Date: Thu, 11 Aug 2011 21:19:05 +0100 Subject: Added basic installer script and updated README appropriately --- README | 14 +++++++----- install.php | 74 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 83 insertions(+), 5 deletions(-) create mode 100644 install.php diff --git a/README b/README index ddf981e..7a06bf4 100644 --- a/README +++ b/README @@ -4,7 +4,7 @@ Foreword ======= -Right now I'm developing this on Ubuntu/Debian, so the following instructions are for those platforms. This will eventually run on Gentoo, of course. +Right now I'm developing this on Ubuntu/Debian, so the following instructions are for those platforms. If you install the appropriate prerequisites, it will work on Gentoo too, of course. Prerequisites @@ -39,16 +39,18 @@ Installation cd /usr/share git clone http://git.overlays.gentoo.org/gitroot/proj/gentoaster.git - +Configure settings in config.php and web/config.php as appropriate +Run php5 install.php as root +Configure a webserver of your choice to server the web folder on the address you specified Running ======= -There's no init script for the daemon yet, so simply run as follows: +The installer will start the daemon for you automatically, but if you need to do this yourself later, run the following as root: -sudo php5 /usr/share/gentoaster/daemon.php & +/etc/init.d/gentoaster start -Note the use of sudo, the daemon MUST be ran as root for it to work, otherwise all builds will fail. +The daemon MUST be ran as root for it to work, otherwise all builds will fail. Now that the daemon is running, you can try a build, using the sample client: @@ -65,3 +67,5 @@ php5 /usr/share/gentoaster/status.php Where is the hash returned by client.php (for example 6085655f187a8442f82c43ebf98e5fdb) If the build is still running, you'll get a progress percentage. If it's finished, the return code and result message will be shown. + +If you've setup a webserver, you can also use the WebUI at the address you've configured diff --git a/install.php b/install.php new file mode 100644 index 0000000..8bb3515 --- /dev/null +++ b/install.php @@ -0,0 +1,74 @@ + 0) { + $mysqlPassword = " -p ".escapeshellarg(MYSQL_PASSWORD)." "; + } else { + $mysqlPassword = " "; + } + + // Drop any existing database here + system('echo "DROP DATABASE IF EXISTS '.$mysqlDatabase.';" | mysql -u '.$mysqlUsername.$mysqlPassword); + + // Create a new database + system('echo "CREATE DATABASE '.$mysqlDatabase.';" | mysql -u '.$mysqlUsername.$mysqlPassword); + + // Import the database dump into that database + system('mysql -u '.$mysqlUsername.$mysqlPassword.$mysqlDatabase.' < gentoaster.sql'); + } else { + die("SQL file not found, check GENTOASTER_PATH\n"); + } + + // Add the initscript for the daemon + echo "Adding initscript symlink\n"; + system("rm -f /etc/init.d/gentoaster"); + system("ln -s ".GENTOASTER_PATH."/gentoaster /etc/init.d/gentoaster"); + system("chmod +x ".GENTOASTER_PATH."/gentoaster"); + + echo "Starting Gentoaster daemon\n"; + exec("/etc/init.d/gentoaster start"); + + echo "If you didn't see any errors, the install was successful\n"; + echo "Try visiting the site at ".GENTOASTER_URL." to make sure everything works\n"; \ No newline at end of file -- cgit v1.2.3-65-gdbad