myexperiment-hackers
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[myexperiment-hackers] [2885] trunk/installers: Made a few tweaks to Ubu


From: noreply
Subject: [myexperiment-hackers] [2885] trunk/installers: Made a few tweaks to Ubuntu installer and added Fedora installer with instructions
Date: Tue, 20 Dec 2011 13:19:49 -0500 (EST)

Revision
2885
Author
drn05r
Date
2011-12-20 13:19:48 -0500 (Tue, 20 Dec 2011)

Log Message

Made a few tweaks to Ubuntu installer and added Fedora installer with instructions

Modified Paths

Added Paths

Diff

Modified: trunk/installers/fedora/README.txt (2884 => 2885)


--- trunk/installers/fedora/README.txt	2011-12-19 10:29:20 UTC (rev 2884)
+++ trunk/installers/fedora/README.txt	2011-12-20 18:19:48 UTC (rev 2885)
@@ -1,21 +1,19 @@
-myExperiment Fedora Installer Instructions
-==========================================
+myExperiment Fedora/RedHat/CentOS Installer Instructions
+========================================================
 
-04/11/2011 THIS INSTALLER IS STILL UNDER TESTING AND WILL BE ADDED SHORTLY.
+The files in this directory are an installer for myExperiment on Fedora 13 and
+consequently RedHat 6 and CentOS 6.0.  The installer is designed to work on a 
+freshly installed version of the operating systems, you may have problems if 
+you are installing on an existing system.
 
-The files in this directory are an installer for myExperiment on Fedora 13
-that has had all the latest updates installed (based on updates available on
-23/10/2011).  The installer is designed to work on a freshly installed version
-of Ubuntu, you may have problems if you are installing on an existing system.
-
-install.bash is the main install script and can be downloaded and run from
+install.bash is the main install script and can be downloaded and run from 
 the current working directory as follows:
 
   /bin/bash install.bash
 
-This install script requires the settings file, settings.bash, which needs to
-be kept in th same directory.  This can be created by copying the 
-default_settings.bash to settings.bash and making the followiing changes 
+This install script requires the settings file, settings.bash, which needs to be 
+kept in the same directory.  This can be created by copying the
+default_settings.bash to settings.bash and making the following changes
 before running install.bash:
 
 myexp_root_password - Choose a password for the root account of MySQL.  If for
@@ -25,28 +23,34 @@
 myexp_user_password - Choose a password for the account that myExperiment uses
 to access databases it creates for storing myExperiment data.
 
-fq_server_name - The fully-qualified server name for a machine, e.g
-myexperiment.example.org
+fq_server_name - The fully-qualified server name and domain for your server,
+i.e. the A record. E.g. myexperiment.example.org
 
-exim_smarthost - The mail server you want to user as a relay for emails
-e.g. smtp.example.org
+exim_smarthost_server - The mail server you want to user as a relay for emails.
+E.g. smtp
 
+exim_smarthost_domain - The mail server you want to user as a relay for emails.
+E.g. example.org
 
+myexp_cname - The location you intend to host the myExperiment site.  This may
+be the same as fq_server_name.
+E.g. myexperiment.example.org
+
+
 == Post-installation configuration ==
 
-The installer is designed to work on a freshly installed version of Ubuntu and
-will do minimal configuration of myExperiment.  To do further configuration
-you will need to edit settings.yml in the config directory of the SVN checkout
-of myExperiment by default this /var/rails/myexperiment/config/.
+The installer is designed to work on a freshly installed version of Fedora 13 / 
+RedHat 6 / CentOS 6.0 and will do minimal configuration of myExperiment.  To do 
+further configuration you will need to edit settings.yml in the config directory 
+of the SVN checkout of myExperiment by default this /var/rails/myexperiment/config/.  
 
-After updating the settings file you will need to restart the myExperiment
-server.  To do this go to the file
-/var/rails/myexperiment/tmp/pids/mongrel.pid
-and copy the process id number in this file then run:
+Some configuration may require restarting Apache using the following command:
 
-kill process_id
-rm /var/rails/myexperiment/tmp/pids/mongrel.pid
-ruby var/rails/myexperiment/script/server -d
+sudo service httpd restart
 
-== Outstanding issues ==
-Sending email generating by myExperiment has yet to be sorted out.
+
+== Further Information ==
+
+Please refer to the wiki page:
+
+	http://wiki.myexperiment.org/index.php/Developer:FedoraInstallation

Added: trunk/installers/fedora/default_settings.bash (0 => 2885)


--- trunk/installers/fedora/default_settings.bash	                        (rev 0)
+++ trunk/installers/fedora/default_settings.bash	2011-12-20 18:19:48 UTC (rev 2885)
@@ -0,0 +1,113 @@
+#!/bin/bash
+install_dir="/var/rails/myexperiment" # Where to check the myExperiment SVN
+branch="trunk"
+mysql_root_password="changeme"
+mysql_user_name="myexp"
+mysql_user_password="changeme"
+rdoc=1 # Set to 0 for no RDoc Ruby Gem documentation
+ri=1 # Set to 0 for no RI Ruby Gem documentation
+rake_version="0.8.7"
+rails_version="2.3.14"
+passenger_version="2.2.15"
+fq_server_name="hostname.domain"
+sendmail_smarthost_server="smtp"
+sendmail_smarthost_domain="domain"
+myexp_cname="myexp.domain" # Where your myexperiment will be hosted can be the same as $fq_server_name
+
+# Build fully-qualified server name for the smarthost (relay) to be used by Sendmail
+sendmail_smarthost="${sendmail_smarthost_server}.${sendmail_smarthost_domain}"
+
+# Sendmail patch for relaying email
+sendmail_patch="--- a/sendmail.mc       2011-10-25 12:50:51.320183676 +0100
++++ b/sendmail.mc       2011-12-19 18:36:21.538188432 +0000
+@@ -23,7 +23,7 @@
+ dnl # Uncomment and edit the following line if your outgoing mail needs to
+ dnl # be sent out through an external mail server:
+ dnl #
+-dnl define(\`SMART_HOST', \`smtp.your.provider')dnl
++define(\`SMART_HOST', \`${sendmail_smarthost}')dnl
+ dnl #
+ define(\`confDEF_USER_ID', \`\`8:12'')dnl
+ dnl define(\`confAUTO_REBUILD')dnl
+@@ -171,6 +171,14 @@
+ dnl MASQUERADE_DOMAIN(localhost.localdomain)dnl
+ dnl MASQUERADE_DOMAIN(mydomainalias.com)dnl
+ dnl MASQUERADE_DOMAIN(mydomain.lan)dnl
++FEATURE(always_add_domain)dnl
++FEATURE(\`masquerade_entire_domain')dnl
++FEATURE(\`masquerade_envelope')dnl
++FEATURE(\`allmasquerade')dnl
++MASQUERADE_AS(\`${sendmail_smarthost_domain}')dnl
++MASQUERADE_DOMAIN(\`${sendmail_smarthost_domain}')dnl
++MASQUERADE_AS(${sendmail_smarthost_domain})dnl
++dnl
+ MAILER(smtp)dnl
+ MAILER(procmail)dnl
+ dnl MAILER(cyrusv2)dnl"
+
+# myExperiment settings file patch
+settings_patch='--- default_settings.yml        2011-11-28 18:40:40.337937711 +0000
++++ settings.yml        2011-11-28 19:00:56.231831591 +0000
+@@ -75,7 +75,7 @@
+ #
+ #            NOTE: No trailing slash.
+ 
+-base_uri: http://www.example.com
++base_uri: http://'${myexp_cname}'
+ 
+ # admins - Set "admins" to the list of usernames of people that are
+ #          administrators of this installation.  This is "Username" that is set
+@@ -302,19 +302,16 @@
+ # solr_enable - Set solr_enable to true to enable the search facility - this
+ #               requires a running solr server.
+
+-solr_enable: false
++solr_enable: true
+
+ # smtp - Email configuration.  These details are used to connect to a SMTP
+ #        server instead of sendmail.
+
+ smtp:
+
+-  :address:        "smtp.example.com"
++  :address:        "'${sendmail_smarthost}'"
+   :port:           25,
+-  :domain:         ""
+-  :authentication: :login
+-  :user_name:      "username"
+-  :password:       "password"
++  :domain:         "'${sendmail_smarthost_domain}'"
+
+ # show_debug - Shows query statistics in the footer: "Queries in Controller",
+ #              "Queries in View" and "Query Time".
+'
+
+# Apache config for myExperiment
+apache_config="LoadModule passenger_module /usr/lib/ruby/gems/1.8/gems/passenger-${passenger_version}/ext/apache2/mod_passenger.so
+PassengerRoot /usr/lib/ruby/gems/1.8/gems/passenger-${passenger_version}
+PassengerRuby /usr/bin/ruby
+PassengerDefaultUser ${USER}
+RailsEnv development
+
+<VirtualHost *:80>
+        ServerAdmin address@hidden
+        ServerName ${myexp_cname}
+        DocumentRoot ${install_dir}/public
+	PassengerTempDir ${install_dir}/tmp
+        <Directory ${install_dir}/public/>
+                AllowOverride all
+                Options -MultiViews
+        </Directory>
+</VirtualHost>"
+
+# Configure options for (Ruby) gem install
+if [ $rdoc == 0 ]; then
+        nordoc="--no-rdoc"
+else
+        nordoc=""
+fi
+if [ $ri == 0 ]; then
+        nori="--no-ri"
+else
+        nori=""
+fi

Added: trunk/installers/fedora/install.bash (0 => 2885)


--- trunk/installers/fedora/install.bash	                        (rev 0)
+++ trunk/installers/fedora/install.bash	2011-12-20 18:19:48 UTC (rev 2885)
@@ -0,0 +1,124 @@
+#!/bin/bash
+echo ""
+echo "+----------------------------------------------------------------------------------------------+"
+echo "|        Welcome to the myExperimemt Installer for Fedora 13 / Red Hat 6 / CentOS 6.0!         |"
+echo "| Go to http://wiki.myexperiment.org/index.php/Developer:FedoraInstallation for more details.  |"
+echo "+----------------------------------------------------------------------------------------------+"
+echo ""
+
+settings_file=`dirname $0`/settings.bash 
+source $settings_file || { echo "Could not find settings file at $settings_file. Aborting ..."; exit 1;}
+
+echo "Extending timeout for sudo commands in /etc/sudoers"
+echo "Defaults     timestamp_timeout = 3600" | sudo tee -a /etc/sudoers > /dev/null || { echo "Failed to disable sudo prompt timeout. Aborting ..."; exit 2; }
+
+echo "Installing required Yum packages"
+sudo yum update || { echo "Failed to update apt-get. Aborting ..."; exit 3; }
+sudo -n yum install -y subversion make patch gcc glibc-devel gcc-c++ ruby ruby-devel rdoc irb rubygems httpd httpd-devel mysql mysql-devel mysql-server ruby-mysql java subversion mlocate libxml2-devel libcurl-devel ImageMagick-devel ruby-RMagick graphviz sendmail sendmail-cf policycoreutils-python || { echo "Failed to install required Yum packages. Aborting ..."; exit 4; }
+
+echo "Writing patch files to temporary directory"
+tempdir=$(mktemp -d /tmp/myexp_installer.XXXXXXXXXX) || { echo "Could not create temporary file for writing patches to. Aborting ..."; exit 5; }
+cd $tempdir || { echo "Could not find temporary directory. Aborting ..."; exit 6; }
+echo "$sendmail_patch" > sendmail.patch || { echo "Could not write sendmail config patch file. Aborting ... "; exit 7; } 
+echo "$settings_patch" > settings.patch || { echo "Could not write settings patch file. Aborting ..."; exit 8; }
+
+echo "Configuring Apache, MySQL and Sendmail"
+sudo chkconfig httpd on || { echo "Failed to Apache to applications started at boottime. Aborting ..."; exit 9; }
+sudo chkconfig mysqld on || { echo "Failed to MySQL to applications started at boottime. Aborting ..."; exit 10; }
+sudo chkconfig sendmail on || { echo "Failed to MySQL to applications started at boottime. Aborting ..."; exit 11; }
+sudo cp /etc/hosts ${tempdir}/ || { echo "Failed to copy hosts file to ${tempdir}. Aborting ..."; exit 12; }
+cat ${tempdir}/hosts | sed "s/localhost /localhost $myexp_cname /g" | sudo tee /etc/hosts >/dev/null || { echo "Failed to add myExperiment CName to /etc/hosts. Aborting ..."; exit 13; }
+sudo /etc/init.d/mysqld start || { echo "Failed to to start MySQL. Aborting ..."; exit 14; }
+sudo patch /etc/mail/sendmail.mc  $tempdir/sendmail.patch || { echo "Could not patch sendmail.mc. Aborting ..."; exit 15; }
+sudo m4 /etc/mail/sendmail.mc | sudo tee /etc/mail/sendmail.cf >/dev/null || { echo "Could not write sendmail config to sendmail.cf. Aborting ..."; exit 16; }
+sudo setsebool -P httpd_can_sendmail=1 || { echo "Could not write set httpd_can_sendmail=1. Aborting ..."; exit 17; }
+sudo /etc/init.d/sendmail start || { echo "Failed to to start Sendmail. Aborting ..."; exit 18; }
+
+echo "Installing Rake version $rake_version and Rails version $rails_version Ruby Gems"
+sudo gem install $nordoc $nori rake --version $rake_version || { echo "Could not install Rake Ruby Gem (version $rake_version). Aborting ..."; exit 19; }
+sudo gem install $nordoc $nori rails --version $rails_version || { echo "Failed to install Rails Ruby Gem (v$rails_version) and dependencies. Aborting ..."; exit 20; }
+
+echo "Installing Ruby Gems required by myExperiment"
+sudo gem install ${nordoc} ${nori} rubyzip --version 0.9.4 || { echo "Could not install rubyzip (v0.9.4). Aborting ..."; exit 21; }
+sudo gem install ${nordoc} ${nori} libxml-ruby rmagick dsl_accessor ruby-openid openurl ruby-hmac marc || { echo "Could not install all remaining generic Ruby Gems required by myExperiment. Aborting ..."; exit 22; }
+sudo gem install ${nordoc} ${nori} curb --version 0.7.15 || { echo "Could not install rubyzip (v0.7.15).. Aborting ..."; exit 23; }
+
+echo "Checking out myExperiment codebase from SVN"
+cd /
+for idir in `echo ${install_dir} | awk 'BEGIN{RS="/"}{print $1}'`; do
+        if [ -n ${idir} ]; then
+                if  [ ! -d ${idir} ]; then
+                        sudo mkdir ${idir} || { echo "Could not create directory ${idir} in `pwd`.  Aborting ..."; exit 24; }
+                fi
+                cd ${idir}
+        fi
+done
+sudo chown $USER:apache $install_dir || { echo "Could not update permissions on $install_dir. Aborting ..."; exit 25; }
+svn checkout svn://rubyforge.org/var/svn/myexperiment/$branch $install_dir || { echo "Could not checkout SVN to $install_dir. Aborting ..."; exit 26; }
+cd ${install_dir}/config/ || { echo "Could not find config directory for myExperiment. Aborting ..."; exit 27; }
+
+echo "Setting up config files for myExperiment"
+cat database.yml.pre | sed "s/username: root/username: $mysql_user_name/" | sed "s/password:/password: $mysql_user_password/" > database.yml || { echo "Could not create database.yml file with appropriate configuration settings. Aborting ..."; exit 28; }
+cp default_settings.yml settings.yml || { echo "Could not copy default_settings.yml to settings.yml ..."; exit 29; }
+patch settings.yml $tempdir/settings.patch || { echo "Could not patch settings.yml. Aborting ..."; exit 30; }
+cp captcha.yml.pre captcha.yml || { echo "Could not create captcha.yml file.  Aborting ..."; exit 31; }
+cd ..
+
+echo "Setting up myExperiment databases in MySQL"
+sudo mysqladmin -u root password $mysql_root_password || { echo "Could not set MySQL root password. Assuming this is already set."; }
+mysql -u root -p$mysql_root_password -e "CREATE USER '$mysql_user_name'@'localhost' IDENTIFIED BY '$mysql_user_password'; CREATE DATABASE m2_development; CREATE DATABASE m2_production; CREATE DATABASE m2_test; GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,INDEX,ALTER,DROP,CREATE TEMPORARY TABLES,CREATE VIEW,SHOW VIEW ON m2_development . * TO '$mysql_user_name'@'localhost';GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,INDEX,ALTER,DROP,CREATE TEMPORARY TABLES,CREATE VIEW,SHOW VIEW ON m2_production . * TO '$mysql_user_name'@'localhost';GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,INDEX,ALTER,DROP,CREATE TEMPORARY TABLES,CREATE VIEW,SHOW VIEW ON m2_test . * TO '$mysql_user_name'@'localhost';" || { echo "Could not create myExperiment databases in MySQL and set up appropriate access for the $mysql_user_name user. Aborting ..."; exit 32; }
+
+echo "Migrating myExperiment database"
+rake db:migrate || { echo "Could not migrate myExperiment data model to a MySQL database. Aborting ..."; exit 33; }
+
+echo "Starting Solr (search) server and indexing"
+rake solr:start || { echo "Could not start Solr server. Aborting ..."; exit 34; }
+
+echo "Adding Firewall rules for mongrel webserver on IPv4 and IPv6"
+sudo iptables -D INPUT -j REJECT --reject-with icmp-host-prohibited || { echo "Could not delete rule from iptables. Aborting ..."; exit 35; }
+sudo iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT || { echo "Could not add rule from iptables. Aborting ..."; exit 36; }
+sudo iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 25 -j ACCEPT || { echo "Could not add rule from iptables. Aborting ..."; exit 37; }
+sudo iptables -A INPUT -j REJECT --reject-with icmp-host-prohibited  || { echo "Could not add rule from iptables. Aborting ..."; exit 38; }
+sudo service iptables save  || { echo "Could not save new iptables rules. Aborting ..."; exit 39; }
+sudo restorecon -v /etc/sysconfig/iptables || { echo "Could not restorecon for /etc/sysconfig/iptables. Aborting ..."; exit 40; }
+sudo service iptables restart || { echo "Could not restart iptables. Aborting ..."; exit 41; }
+
+sudo ip6tables -D INPUT -j REJECT --reject-with icmp6-adm-prohibited || { echo "Could not delete rule from ip6tables. Aborting ..."; exit 42; }
+sudo ip6tables -A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT || { echo "Could not add rule from ip6tables. Aborting ..."; exit 43; }
+sudo ip6tables -A INPUT -m state --state NEW -m tcp -p tcp --dport 25 -j ACCEPT || { echo "Could not add rule from ip6tables. Aborting ..."; exit 44; }
+sudo ip6tables -A INPUT -j REJECT --reject-with icmp6-adm-prohibited || { echo "Could not delete rule from ip6tables. Aborting ..."; exit 45; }
+sudo service ip6tables save || { echo "Could not save new ip6tables rules. Aborting ..."; exit 46; }
+sudo restorecon -v /etc/sysconfig/ip6tables || { echo "Could not restorecon for /etc/sysconfig/ip6tables. Aborting ..."; exit 47; }
+sudo service ip6tables restart || { echo "Could not restart ip6tables. Aborting ..."; exit 48; }
+
+echo "Installing and configuring Passenger Gem (mod_rails)";
+sudo gem install passenger --version ${passenger_version} || { echo "Could not install Passnger Gem version ${passenger_version}. Aborting ..."; exit 49; }
+sudo su -c "yes | /usr/lib/ruby/gems/1.8/gems/passenger-2.2.15/bin/passenger-install-apache2-module" || { echo "Could not install Apache2 module for Passenger. Aborting ..."; exit 50; }
+echo "${apache_config}" | sudo tee /etc/httpd/conf.d/myexp.conf > /dev/null || { echo "Could not add bespoke myExperiment Apache configuration. Aborting ..."; exit 51; }
+sudo chmod -R 755 ${install_dir}/public || { echo "Failed to chmod ${install_dir}/public and its files/subdirectories. Aborting ..."; exit 52; }
+sudo chmod 755 ${install_dir} || { echo "Failed to chmod ${install_dir}. Aborting ..."; exit 53; }
+sudo chcon -t httpd_sys_script_exec_t -R ${install_dir} || { echo "Failed to chcon (httpd_sys_script_exec_t) ${install_dir} and its files/subdirectories. Aborting ..."; exit 54; }
+sudo chcon -t httpd_sys_content_t -R ${install_dir}/public || { echo "Failed to chcon (httpd_sys_content_t) ${install_dir}/public and its files/subdirectories. Aborting ..."; exit 55; }
+sudo chcon -t httpd_log_t -R ${install_dir}/log || { echo "Failed to chcon (httpd_log_t) ${install_dir}/log and its files. Aborting ..."; exit 56; }
+sudo chcon -t httpd_tmpfs_t -R  ${install_dir}/tmp || { echo "Failed to chcon (httpd_tmpfs_t) ${install_dir}/tmp and its files. Aborting ..."; exit 57; }
+sudo setsebool -P httpd_can_network_connect=1 || { echo "Could not write set httpd_can_network_connect=1. Aborting ..."; exit 58; }
+sudo setenforce 0 || { echo "Could not temporarily setenforce = 0. Aborting ..."; exit 59; }
+sudo service httpd start || { echo "Could not start Apache. Aborting ..."; exit 60; }
+sudo grep httpd /var/log/audit/audit.log | audit2allow -M passenger || { echo "Could not create policy package passenger.pp. Aborting ..."; exit 61; }
+sudo semodule -i passenger.pp || { echo "Could not add policy package passenger.pp using semodule. Aborting ..."; exit 62; }
+sudo rm passenger.pp passenger.te || { echo "Could not remove files creates by audit2allow. Aborting ..."; exit 63; }
+sudo setenforce 1 || { echo "Could not temporarily setenforce = 1. Aborting ..."; exit 64; }
+sudo service httpd restart || { echo "Could not restart Apache. Aborting ..."; exit 65; }
+
+echo "Removing extended sudo timeout from /etc/sudoers"
+sudo cp /etc/sudoers  ${tempdir}/ || { echo "Could not make a copy of sudoers in temporary directory.  Aborting ..."; exit 66; }
+sudo cat ${tempdir}/sudoers | sed "s/Defaults     timestamp_timeout = 3600//" | sudo tee /etc/sudoers > /dev/null || { echo "Could not remove extended timeout for sudo.  Aborting ..."; exit 67; }
+
+echo "Removing temporary directory created for writing patch files to"
+sudo rm -rf ${tempdir} || { echo "Could not remove temporary directory used by patch files."; exit 68; }
+
+echo ""
+echo "+-----------------------------------------------------------------------------------------+"
+echo "|   myExperiment is now fully installed. Go to http://$myexp_cname/ to use myExperiment   |"
+echo "+-----------------------------------------------------------------------------------------+"
+

Modified: trunk/installers/ubuntu/README.txt (2884 => 2885)


--- trunk/installers/ubuntu/README.txt	2011-12-19 10:29:20 UTC (rev 2884)
+++ trunk/installers/ubuntu/README.txt	2011-12-20 18:19:48 UTC (rev 2885)
@@ -47,3 +47,11 @@
 Some configuration may require restarting Apache using the following command:
 
 sudo apache2ctl restart
+
+
+== Further Information ==
+
+Please refer to the wiki page:
+
+        http://wiki.myexperiment.org/index.php/Developer:UbuntuInstallation
+

Modified: trunk/installers/ubuntu/install.bash (2884 => 2885)


--- trunk/installers/ubuntu/install.bash	2011-12-19 10:29:20 UTC (rev 2884)
+++ trunk/installers/ubuntu/install.bash	2011-12-20 18:19:48 UTC (rev 2885)
@@ -16,7 +16,7 @@
 
 echo "Installing required APT packages"
 sudo apt-get update || { echo "Could not update apt-get. Aborting ..."; exit 4; }
-sudo -n apt-get install -y build-essential exim4 ruby ruby1.8-dev libzlib-ruby rdoc irb rubygems rake apache2 apache2-dev libapache2-mod-fcgid libfcgi-ruby1.8 libmysql-ruby gcj-4.4-jre-headless subversion libopenssl-ruby1.8 libcurl3 libcurl3-gnutls libcurl4-openssl-dev mysql-server graphicsmagick imagemagick librmagick-ruby1.8 libmagick9-dev graphviz mlocate wget || { echo "Could not install required APT packages. Aborting ..."; exit 5; }
+sudo -n apt-get install -y build-essential exim4 ruby ruby1.8-dev libzlib-ruby rdoc irb rubygems rake apache2 apache2-dev libapache2-mod-fcgid libfcgi-ruby1.8 libmysql-ruby gcj-4.4-jre-headless subversion libopenssl-ruby1.8 libcurl3 libcurl3-gnutls libcurl4-openssl-dev mysql-server graphicsmagick imagemagick librmagick-ruby1.8 libmagick9-dev graphviz mlocate || { echo "Could not install required APT packages. Aborting ..."; exit 5; }
 
 echo "Installing Rake version ${rake_version} and Rails version ${rails_version} Ruby Gems"
 sudo gem install rake ${nordoc} ${nori} --version ${rake_version} || { echo "Could not install Rake Ruby Gem (version ${rake_version}). Aborting ..."; exit 6; }
@@ -32,10 +32,12 @@
 fi
 sudo gem install ${nordoc} ${nori} mongrel_cluster rubyzip libxml-ruby rmagick dsl_accessor ruby-openid openurl curb marc || { echo "Could not install all remaining generic Ruby Gems required by myExperiment. Aborting ..."; exit 11; }
 
-echo "Making OAuth Ruby Gem compatible with Rails ${rails_version}"
+echo "Patching bug in Ubuntu 10.04 version of Ruby 1.8.7"
 tempdir=$(mktemp -d /tmp/myexp_installer.XXXXXXXXXX) || { echo "Could not create temporary file for writing patches to. Aborting ..."; exit 12; }
 cd ${tempdir} || { echo "Could not find temporary directory. Aborting ..."; exit 13; }
 echo "${net_http_patch}" > net_http.patch || { echo "Could not write net/http patch file. Aborting ..."; exit 14; }
+
+echo "Patching settings file to provide minimal configuration"
 echo "${settings_patch}" > settings.patch || { echo "Could not write settings patch file. Aborting ..."; exit 15; }
 sudo updatedb || { echo "Could not run updatedb so that http.rb that needs updating can be located. Aborting ..."; exit 16; }
 net_http_file=`locate net/http.rb`

reply via email to

[Prev in Thread] Current Thread [Next in Thread]