# Installation Procedure for IVLE # =============================== # Target Platform: Ubuntu 7.10 # # IMPORTANT: This is NOT a shell script. It has interactive sections and # things that need to be customized. # It is written like a shell script so it can be mostly cut-and-pasted into # the shell, but it can't simply be executed. # While other install guides in this package are generic, this one is very # specific to our intended configuration. It will be very helpful if trying to # set up IVLE on Ubuntu 7.06 or higher; less helpful for other platforms. # This refers to ivle.conf, also included. # # Author: Matt Giuca # Date: 29/1/2008 sudo vim /etc/apt/sources.list # Gutsy by default had the CD-ROM packages selected, and the Internet packages # commented out. (A comment in the apt sources list said it was because it # failed to verify - IMPORTANT?? Probably not.) # Comment out line 4 (deb cdrom:...) # Uncomment ALL the lines for main, restricted and universe # (deb http:...gutsy main restricted, deb-src ... main restricted # deb http:...gutsy universe) # Universe is important for pysvn (python-svn) later on # :wq ########################################################################## # Apt packages ########################################################################## sudo apt-get update sudo apt-get install subversion sudo apt-get install gcc libc6 libc6-dev make sudo apt-get install apache2 libapache2-mod-python sudo apt-get install python2.5-dev python-svn python-webpy python-numpy python-matplotlib sudo apt-get install postgresql python-pygresql python-ldap sudo apt-get install php5 php5-pgsql # Note: I had a lot of trouble with the python-svn package. # After playing around a bit it started working. # python -c 'import pysvn' # to test if it worked. # Do Not install python-svn-dbg. ########################################################################## # Python packages needed by IVLE or student code ########################################################################## # # See trunk/doc/dependencies.txt # CJSON wget 'http://pypi.python.org/packages/source/p/python-cjson/python-cjson-1.0.5.tar.gz' tar -zxvf python-cjson-1.0.5.tar.gz cd python-cjson-1.0.5 ./setup.py build sudo ./setup.py install cd .. # NLTK for student code wget 'http://prdownloads.sourceforge.net/nltk/nltk-0.9.2.tar.gz' tar -xzvf nltk-0.9.2.tar.gz wget 'http://prdownloads.sourceforge.net/nltk/nltk-data-0.9.2.zip' unzip nltk-data-0.9.2.zip cd nltk-0.9.2 sudo python setup.py install cd .. sudo mkdir /usr/share/nltk sudo mv data /usr/share/nltk/ sudo chmod -R g+r /usr/share/nltk/data # Beautiful Soup for student code # via apt-get sudo apt-get install python-beautifulsoup # or wget 'http://www.crummy.com/software/BeautifulSoup/download/BeautifulSoup.tar.gz' tar -xzvf BeautifulSoup.tar.gz cd BeautifulSoup* sudo python setup.py install cd .. # LXML for student code sudo apt-get install python-lxml # Documentation packages needed for tutorial system: Docutils, Epydoc # wget each of these, untar them, and then do: sudo python ./setup.py install http://docutils.sourceforge.net/docutils-snapshot.tgz http://downloads.sourceforge.net/epydoc/epydoc-3.0.1.tar.gz?use_mirror=optusnet # Or using apt-get # (Note: epydoc doesn't work on Fiesty using apt-get) sudo apt-get install python-docutils python-epydoc ########################################################################## # Configure postgres ########################################################################## # # Some of these instructions follow # https://help.ubuntu.com/community/PostgreSQL # 1. install the base packages # Set the postgres user's postgres password sudo -u postgres psql template1 # At the prompt type (substituting <***password***> with a real one. ALTER USER postgres WITH ENCRYPTED PASSWORD '<***password***>'; \q ########################################################################## # Installing ivle ########################################################################## # # Check out the IVLE trunk export IVLE_SVN=ivle_svn svn co https://ivle.svn.sourceforge.net/svnroot/ivle/trunk $IVLE_SVN cd $IVLE_SVN # Create a postgres database # (only need the first line if it was previously created and is now changed) sudo -u postgres dropdb ivle sudo -u postgres createdb ivle sudo -u postgres psql -d ivle < userdb/users.sql # Set up IVLE ./setup.py listmake ./setup.py config # "Root directory" - type "/" or "/ivle" (without the quotes) # "UID of web server process" - 1000 at this stage (informatics) # Leave others default. # Note: This will cause IVLE to get installed to /opt/ivle ./setup.py build sudo ./setup.py install # Create a user sudo ./makeuser.py [OPTIONS] 'Firstname Lastname' -p # role = guest/student/tutor/lecturer/admin # Configure the Apache HTTP server sudo cp doc/setup/ivle.conf /etc/apache2/sites-available # MODIFY the first few lines so it is specific to your server. vim /etc/apache2/sites-available/ivle.conf # Replace the existing config link with the ivle one cd /etc/apache2/sites-enabled/ sudo ln -fs /etc/apache2/sites-available/ivle.conf 000-default # Make the directory corresponding to the directory for saved session # objects in the apache config ivle.conf. Make sure it is owned by www-data, # or at least readable and writable by it. sudo mkdir /home/informatics/sessions sudo chown www-data:www-data /home/informatics/sessions # Restart the server sudo apache2ctl -k restart ########################################################################## # User management server: usrmgt-server ########################################################################## # To start the user management server: cd /opt/ivle/scripts sudo ./usrmgt-server # Note that the port number and database password are recorded in # the automatically created init.d script: doc/setup/usrmgt-server.init # To run it at boot time: sudo cp doc/setup/usrmgt-server.init /etc/init.d sudo chown root:root /etc/init.d/usrmgt-server sudo chmod 700 /etc/init.d/usrmgt-server # so world can't read database magic sudo update-rc.d usrmgt-server defaults 99 # create symlinks in /etc/rc*.d ########################################################################## # Setting up phpBB Forum in IVLE ########################################################################## # This should all be run from the SVN directory # Create a postgres database # (only need the first line if it was previously created and is now changed) sudo -u postgres dropdb ivle_forum sudo -u postgres createdb ivle_forum sudo -u postgres psql -d ivle_forum < userdb/forum_schema.sql sudo -u postgres psql -d ivle_forum < userdb/forum_data.sql #Change to the installed IVLE directory cd /opt/ivle # Fix permissions for install cd www/php/phpBB3 # At very minimum you apache user must be able to write to # cache/ files/ store/ images/avatars/upload config.php sudo chown -R www-data:www-data . ########################################################################## # Installing Pound reverse proxy (optional) ########################################################################## sudo apt-get install pound # edit /etc/default/pound so that the line reading # startup=0 # instead reads # startup=1 # # copy pound.cfg to /etc/pound/pound.cfg # edit IP addresses in pound.cfg