From: Matthew G. <gr...@mu...> - 2002-05-21 18:53:29
|
Just tried the install script. It failed on my box on line 126 and 129. I'm running Debian(sid) and "sed" version 3.02 It looks like "sed's" "-E" has changed to "-e" in version 3.02 After swapping "-E"'s for "-e"'s it ran to completion and did a decent job making guesses. On Mon, May 13, 2002 at 02:11:48AM -0400, James E. Flemer wrote: > Hey All ... > I just wrote a quick start on an install script, it > doesn't do anything yet, just collect info. I want to test > it on as many systems as possible and see how well it > guesses install paths and such. (Also to make sure it works > on systems other than mine). You can run it from anywhere, > it doesn't have to be in a phpESP directory. Take a look, > test, fix, patch, complain. :-) > > -James > #!/bin/sh > > me=`basename "$0"` > > usage () { > echo "$me: [options]" > exit 1; > } > > cat <<EOF > ============================================================ > Welcome to phpESP -- php Easy Survey Package > ============================================================ > EOF > > euid=`id -u | sed s/\\n//` > > if [ $euid = 0 ]; then > echo 'We appear to be running as root, good!' > echo '' > else > cat <<EOF > You do not appear to be running as root. It is suggested > that you run this script as root. If you do not have root > access then press enter to continue, otherwise press ^C to > abort then run again as root. > EOF > read junk > fi > > cat <<EOF > Step One: Information > ===================== > First you will be asked several questions about where and > how you would like to install phpESP. All questions have > default values in square brackets ([]), just press enter if > you want the default. You will have a chance to confirm all > options later. > > EOF > > echo 'Database Information:' > read -p 'Host name of mysql server [localhost]: ' dbhost > read -p 'Mysql username to use [phpesp]: ' dbuser > read -p 'Mysql password for user [phpesp]: ' dbpass > read -p 'Name of database to use [phpesp]: ' dbname > read -p 'Does this database exist yet? [y/N]: ' dbdex > read -p 'Does this user exist yet? [y/N]: ' dbuex > case $dbdex in > [Yy]*) > read -p 'Has the database been initialized with phpESP.sql? [y/N]: ' dbdinit > ;; > *) > ;; > esac > if [ -z "$dbhost" ]; then dbhost='localhost'; fi > if [ -z "$dbuser" ]; then dbuser='phpesp'; fi > if [ -z "$dbpass" ]; then dbpass='phpesp'; fi > if [ -z "$dbname" ]; then dbname='phpesp'; fi > if [ -z "$dbdex" ]; then dbdex='n'; fi > if [ -z "$dbuex" ]; then dbuex='n'; fi > if [ -z "$dbdinit" ]; then dbdinit='n'; fi > > phpprefix='' > phpconfig=`which php-config 2>/dev/null` > if [ ! -z "$phpconfig" ]; then > phpprefix=`$phpconfig --prefix` > else > for i in /usr /usr/local /opt; do > if [ -d "$i/lib/php" ]; then > phpprefix="$i" > break > fi > done > fi > if [ -z "$phpprefix" ]; then > defpath="$HOME/phpESP" > else > defpath="$phpprefix/lib/php/contrib/phpESP" > fi > > htdocs='' > for i in /www /var/www /usr/www /usr/local/www /usr/local/apache "$HOME/public_html"; do > if [ -d "$i/htdocs" ]; then > htdocs="$i/htdocs" > break > elif [ -d "$i" -a x"$i" != x"/usr/local/apache" ]; then > htdocs="$i" > break > fi > done > if [ -z "$htdocs" ]; then htdocs='/usr/local/apache/htdocs'; fi > > cat <<EOF > > Filesystem Path Information: > NOTE: Do not install phpESP (the first question) in a web > accessable directory. This means do *not* put it inside a > 'htdocs/' or inside a 'public_html/' directory. If you do > so, you risk leaking sensative database passwords! > Do install the management stub and the survey stub inside > a 'htdocs/' or 'public_html/' directory (second & third > questions). > EOF > read -p "Path to install phpESP [$defpath]: " ipath > read -p "Path to install management stub [$htdocs/phpESP]: " mpath > read -p "Path to install survey stub [$htdocs/surveys]: " spath > if [ -z "$ipath" ]; then ipath="$defpath"; fi > if [ -z "$mpath" ]; then mpath="$htdocs/phpESP"; fi > if [ -z "$spath" ]; then spath="$htdocs/surveys"; fi > > domain=`hostname`; > if echo "$domain" | grep -q '\..*\.'; then > domain=`echo "$domain" | cut -f 2,3 -d .` > fi > > cat <<EOF > > Web Path Information: > These questions all apply to URLs. A best guess will be > made for you and made the default, but please check them! > EOF > tmp="www.$domain" > read -p "Host name of webserver [$tmp]: " webhost > if [ -z "$webhost" ]; then webhost="$tmp"; fi > tmp="http://$webhost"`echo "$mpath" |sed -E 's,.*/(www|htdocs|public_html)/,/,'` > read -p "URL to management stub [$tmp]: " murl > if [ -z "$murl" ]; then murl="$tmp"; fi > tmp="http://$webhost"`echo "$spath" |sed -E 's,.*/(www|htdocs|public_html)/,/,'` > read -p "URL to survey stub [$tmp]: " surl > if [ -z "$surl" ]; then surl="$tmp"; fi > > cat <<EOF > > Configuration Options: > EOF > read -p "Enable phpESP to send email (for backup) [y/N]: " allowemail > read -p "Use authentication for survey management [Y/n]: " authdesign > read -p "Allow authentication for survey taking [Y/n]: " authresponse > read -p "Default language [en]: " lang > if [ -z "$allowemail" ]; then allowemail="n"; fi > if [ -z "$authdesign" ]; then authdesign="y"; fi > if [ -z "$authresponse" ]; then authresponse="y"; fi > if [ -z "$lang" ]; then lang="en"; fi > > cat <<EOF > > Step Two: Review > ================ > Press enter to see a summary of the installation settings. > Each one will be numbered, to change a setting enter the > number and press enter. To continue enter "0" or just press > enter. > EOF > while true; do > cat <<EOF > > 1) Mysql server: $dbhost > 2) Mysql username: $dbuser > 3) Mysql password: $dbpass > 4) Mysql database: $dbname > 5) Database exists? $dbdex > 6) DB User exists? $dbuex > > 7) Install path: $ipath > 8) Management path: $mpath > 9) Survey path: $spath > > 10) Webserver name: $webhost > 11) Management URL: $murl > 12) Survey URL: $surl > > 13) Allow Email? $allowemail > 14) Auth managment? $authdesign > 15) Auth surveys? $authresponse > 16) Language: $lang > EOF > > read -p "Enter a number or press enter: " number > if [ -z "$number" -o x"$number" = x"0" ]; then > break > fi > done -- brought to you by, Matthew Gregg... one of the friendly folks in the IT Lab. --------------------------------------\ The IT Lab (http://www.itlab.musc.edu) \____________________ Probably the world's premier software development center. Serving: Programming, Tools, Ice Cream, Seminars |