20
19
sudo vim /etc/apt/sources.list
22
# 7.10 (Gutsy) specific #
24
21
# Gutsy by default had the CD-ROM packages selected, and the Internet packages
25
22
# commented out. (A comment in the apt sources list said it was because it
26
23
# failed to verify - IMPORTANT?? Probably not.)
27
24
# Comment out line 4 (deb cdrom:...)
29
# End 7.10 (Gutsy) specific #
31
26
# Uncomment ALL the lines for main, restricted and universe
32
27
# (deb http:...gutsy main restricted, deb-src ... main restricted
33
28
# deb http:...gutsy universe)
34
29
# Universe is important for pysvn (python-svn) later on
32
##########################################################################
34
##########################################################################
37
36
sudo apt-get update
40
37
sudo apt-get install subversion
41
38
sudo apt-get install gcc libc6 libc6-dev make
43
sudo apt-get install python2.4-dev
45
sudo apt-get install python2.5-dev
39
sudo apt-get install apache2 libapache2-mod-python
40
sudo apt-get install python2.5-dev python-svn python-webpy
41
sudo apt-get install python-numpy python-matplotlib
42
sudo apt-get install postgresql python-pygresql python-ldap
43
sudo apt-get install php5 php5-pgsql
45
# Note: I had a lot of trouble with the python-svn package.
46
# After playing around a bit it started working.
47
# python -c 'import pysvn'
48
# to test if it worked.
49
# Do Not install python-svn-dbg.
51
##########################################################################
47
52
# Python packages needed by IVLE or student code
53
##########################################################################
48
55
# See trunk/doc/dependencies.txt
58
# Note: apt-get install python-cjson puts it in an unexpected place.
59
# Setup doesn't handle this correctly, so just install by hand:
49
61
wget 'http://pypi.python.org/packages/source/p/python-cjson/python-cjson-1.0.5.tar.gz'
51
62
tar -zxvf python-cjson-1.0.5.tar.gz
53
64
cd python-cjson-1.0.5
55
66
sudo ./setup.py install
58
# 6.06 (Dapper) specific
59
wget 'http://webpy.org/static/web.py-0.22.tar.gz'
60
tar -zxvf web.py-0.22.tar.gz
62
python ./setup.py build
63
sudo python ./setup.py install
66
sudo apt-get install python-svn python-webpy python2.4-gtk2 python-matplotlib
67
# End 6.06 (Dapper) specific
69
# 7.10 (Gutsy) specific
70
sudo apt-get install python-svn python-webpy python-numpy python-matplotlib
71
# Note: I had a lot of trouble with the python-svn package.
72
# After playing around a bit it started working.
73
# python -c 'import pysvn'
74
# to test if it worked.
75
# Do Not install python-svn-dbg.
76
# End 7.10 (Gutsy) specific
70
# NLTK for student code
71
wget 'http://prdownloads.sourceforge.net/nltk/nltk-0.9.2.tar.gz'
72
tar -xzvf nltk-0.9.2.tar.gz
73
wget 'http://prdownloads.sourceforge.net/nltk/nltk-data-0.9.2.zip'
74
unzip nltk-data-0.9.2.zip
77
sudo python setup.py install
79
sudo mkdir /usr/share/nltk
80
sudo mv data /usr/share/nltk/
81
sudo chmod -R g+r /usr/share/nltk/data
83
# Beautiful Soup for student code
85
sudo apt-get install python-beautifulsoup
87
wget 'http://www.crummy.com/software/BeautifulSoup/download/BeautifulSoup.tar.gz'
88
tar -xzvf BeautifulSoup.tar.gz
91
sudo python setup.py install
94
# LXML for student code
95
sudo apt-get install python-lxml
97
# Python Imaging Library for student code
98
sudo apt-get install python-imaging
100
# Elementtree 1.3a for student code
101
# Needs libtidy for 'TidyHTML' parts
102
sudo apt-get install libtidy-0.99-0
104
svn co http://svn.effbot.org/public/tags/elementtree-1.3a3-20070912/ elementtree1.3
106
sudo python setup.py install
109
# SimpleTAL for student code
110
sudo apt-get install python-simpletal
112
# SciPy for student code
113
sudo apt-get install python-scipy
115
# Documentation packages needed for tutorial system: Docutils, Epydoc
116
# wget each of these, untar them, and then do: sudo python ./setup.py install
118
http://docutils.sourceforge.net/docutils-snapshot.tgz
119
http://downloads.sourceforge.net/epydoc/epydoc-3.0.1.tar.gz?use_mirror=optusnet
122
# (Note: epydoc doesn't work on Fiesty using apt-get)
124
sudo apt-get install python-docutils python-epydoc
126
##########################################################################
128
##########################################################################
130
# Some of these instructions follow
131
# https://help.ubuntu.com/community/PostgreSQL
132
# 1. install the base packages
134
# Set the postgres user's postgres password
135
sudo -u postgres psql template1
136
# At the prompt type (substituting <***password***> with a real one.
137
ALTER USER postgres WITH ENCRYPTED PASSWORD '<***password***>';
140
##########################################################################
142
##########################################################################
78
144
# Check out the IVLE trunk
79
svn co https://ivle.svn.sourceforge.net/svnroot/ivle/trunk ivle_svn
80
# Says the SourceForge certificate authority is not trusted.
81
# I chose "Accept (p)ermanently" - Problem??
83
# NOTE: From this point onwards it is 7.10 (Gutsy) specific. This is because I
84
# never was able to get IVLE to build with all dependencies on Dapper.
146
export IVLE_SVN=ivle_svn
147
svn co https://ivle.svn.sourceforge.net/svnroot/ivle/trunk $IVLE_SVN
150
# Create a postgres database
151
# (only need the first line if it was previously created and is now changed)
152
sudo -u postgres dropdb ivle
153
sudo -u postgres createdb ivle
154
sudo -u postgres psql -d ivle < userdb/users.sql
88
157
./setup.py listmake
91
# "Root directory" - type "/"
160
# "Root directory" - type "/" or "/ivle" (without the quotes)
92
161
# "UID of web server process" - 1000 at this stage (informatics)
93
162
# Leave others default.
94
163
# Note: This will cause IVLE to get installed to /opt/ivle
97
166
sudo ./setup.py install
168
# Make the directory containing the svn auth. Make sure it is owned by
169
# www-data, or at least readable and writable by it.
170
# Make the SVN directory for IVLE
171
sudo mkdir /opt/ivle/svn
172
sudo chown -R www-data:www-data /opt/ivle/svn
100
sudo ./makeuser.py <username>
102
# Set up the Apache HTTP server
103
sudo apt-get install apache2 libapache2-mod-python
105
# DO: Copy the file "ivle.conf" from this package to
106
# /etc/apache2/sites-available.
175
sudo ./makeuser.py [OPTIONS] <login> 'Firstname Lastname' <rolenm> -p <password>
176
# role = guest/student/tutor/lecturer/admin
178
# Configure the Apache HTTP server
179
sudo cp doc/setup/ivle.conf /etc/apache2/sites-available
107
180
# MODIFY the first few lines so it is specific to your server.
181
vim /etc/apache2/sites-available/ivle.conf
109
183
# Replace the existing config link with the ivle one
110
184
cd /etc/apache2/sites-enabled/
111
185
sudo ln -fs /etc/apache2/sites-available/ivle.conf 000-default
187
# Make the directory corresponding to the directory for saved session
188
# objects in the apache config ivle.conf. Make sure it is owned by www-data,
189
# or at least readable and writable by it.
191
sudo mkdir /home/informatics/sessions
192
sudo chown www-data:www-data /home/informatics/sessions
113
194
# Restart the server
114
195
sudo apache2ctl -k restart
117
# Installing postgres
118
# ===============================
120
# Some of these instructions follow
121
# https://help.ubuntu.com/community/PostgreSQL
122
# 1. install the base packages
124
sudo apt-get install postgresql
125
sudo apt-get install python-pygresql
127
# Set the postgres user's postgres password
128
sudo -u postgres psql template1
129
# At the prompt type (substituting <***password***> with a real one.
130
ALTER USER postgres WITH ENCRYPTED PASSWORD '<***password***>';
134
cd <<ivle source directory>>/userdb
135
sudo -u postgres createdb ivle
136
sudo -u postgres psql -d ivle < users.sql
197
##########################################################################
198
# User management server: usrmgt-server
199
##########################################################################
200
# To start the user management server:
202
sudo ./usrmgt-server <port> <usrmgt-password>
203
# usrmgt-password is the password entered in setup.py config (usrmgt_magic)
204
# Note that the port number and usrmgt password are recorded in
205
# the automatically created init.d script: doc/setup/usrmgt-server.init
207
# To run it at boot time:
208
sudo cp doc/setup/usrmgt-server.init /etc/init.d
209
sudo chown root:root /etc/init.d/usrmgt-server
210
sudo chmod 700 /etc/init.d/usrmgt-server # so world can't read database magic
211
sudo update-rc.d usrmgt-server defaults 99 # create symlinks in /etc/rc*.d
213
##########################################################################
214
# Setting up phpBB Forum in IVLE
215
##########################################################################
216
# This should all be run from the SVN directory
218
# Create a postgres database
219
# (only need the first line if it was previously created and is now changed)
220
sudo -u postgres dropdb ivle_forum
221
sudo -u postgres createdb ivle_forum
222
sudo -u postgres psql -d ivle_forum < userdb/forum_schema.sql
223
sudo -u postgres psql -d ivle_forum < userdb/forum_data.sql
225
#Change to the installed IVLE directory
227
# Fix permissions for install
229
# At very minimum you apache user must be able to write to
230
# cache/ files/ store/ images/avatars/upload config.php
231
sudo chown -R www-data:www-data .
233
##########################################################################
234
# Installing Pound reverse proxy (optional)
235
##########################################################################
140
237
sudo apt-get install pound
142
239
# edit /etc/default/pound so that the line reading