~azzar1/unity/add-show-desktop-key

« back to all changes in this revision

Viewing changes to doc/setup/install_proc.txt

  • Committer: mattgiuca
  • Date: 2008-02-05 01:41:15 UTC
  • Revision ID: svn-v3-trunk0:2b9c9e99-6f39-0410-b283-7f802c844ae2:trunk:409
Moved www/conf and www/common to a new directory lib. This separates the "web"
part of IVLE from what is becoming less web oriented (at least from Apache's
standpoint).
Modified setup.py to install this lib directory correctly and write conf in
the right place. Also adds the lib directory to ivle.pth.

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
1
# Installation Procedure for IVLE
2
2
# ===============================
3
3
 
4
 
# Target Platform: Ubuntu 8.04
 
4
# Target Machine: Ubuntu (Versions 6.06 and 7.10 - differences between
 
5
# versions noted)
5
6
#
6
7
# IMPORTANT: This is NOT a shell script. It has interactive sections and
7
8
# things that need to be customized.
10
11
 
11
12
# While other install guides in this package are generic, this one is very
12
13
# specific to our intended configuration. It will be very helpful if trying to
13
 
# set up IVLE on Ubuntu 8.04 or higher; less helpful for other platforms.
 
14
# set up IVLE on Ubuntu 7.06 or higher; less helpful for other platforms.
14
15
# This refers to ivle.conf, also included.
15
16
#
16
17
# Author: Matt Giuca
17
18
# Date: 29/1/2008
18
19
 
19
 
##########################################################################
 
20
sudo vim /etc/apt/sources.list
 
21
 
 
22
# 7.10 (Gutsy) specific #
 
23
 
 
24
# Gutsy by default had the CD-ROM packages selected, and the Internet packages
 
25
# commented out. (A comment in the apt sources list said it was because it
 
26
# failed to verify - IMPORTANT?? Probably not.)
 
27
# Comment out line 4 (deb cdrom:...)
 
28
 
 
29
# End 7.10 (Gutsy) specific #
 
30
 
 
31
# Uncomment ALL the lines for main, restricted and universe
 
32
# (deb http:...gutsy main restricted, deb-src ... main restricted
 
33
# deb http:...gutsy universe)
 
34
# Universe is important for pysvn (python-svn) later on
 
35
# :wq
 
36
 
 
37
sudo apt-get update
 
38
 
20
39
# Apt packages
21
 
##########################################################################
22
 
sudo apt-get install subversion build-essential debootstrap             \
23
 
                     apache2 libapache2-mod-python libapache2-svn       \
24
 
                     python2.5-dev python-svn python-webpy python-cjson \
25
 
                     postgresql python-pygresql php5 php5-pgsql         \
26
 
                     python-docutils python-epydoc python-ldap
27
 
 
28
 
##########################################################################
29
 
# Configure postgres
30
 
##########################################################################
31
 
 
32
 
# Set the postgres user's postgres password
33
 
sudo -u postgres psql template1
34
 
# At the prompt type (substituting <***password***> with a real one).
35
 
ALTER USER postgres WITH ENCRYPTED PASSWORD '<***password***>';
36
 
\q
37
 
 
38
 
##########################################################################
39
 
# Installing ivle
40
 
##########################################################################
41
 
#
 
40
sudo apt-get install subversion
 
41
sudo apt-get install gcc libc6 libc6-dev
 
42
# On 6.06 (Dapper):
 
43
sudo apt-get install python2.4-dev
 
44
# On 7.10 (Gutsy):
 
45
sudo apt-get install python2.5-dev
 
46
 
 
47
# Python packages needed by IVLE or student code
 
48
# See trunk/doc/dependencies.txt
 
49
wget 'http://pypi.python.org/packages/source/p/python-cjson/python-cjson-1.0.5.tar.gz'
 
50
 
 
51
tar -zxvf python-cjson-1.0.5.tar.gz
 
52
 
 
53
cd python-cjson-1.0.5
 
54
./setup.py build
 
55
sudo ./setup.py install
 
56
cd ..
 
57
 
 
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
 
61
cd webpy
 
62
python ./setup.py build
 
63
sudo python ./setup.py install
 
64
cd ..
 
65
 
 
66
sudo apt-get install python-svn python-webpy python2.4-gtk2 python-matplotlib
 
67
# End 6.06 (Dapper) specific
 
68
 
 
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
 
77
 
42
78
# Check out the IVLE trunk
43
 
 
44
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??
 
82
 
 
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.
 
85
 
 
86
# Set up IVLE
45
87
cd ivle_svn
46
 
 
47
 
# Create a postgres database
48
 
# (only need the first line if it was previously created and is now changed)
49
 
sudo -u postgres dropdb ivle
50
 
sudo -u postgres createdb ivle
51
 
sudo -u postgres createlang plpgsql ivle
52
 
sudo -u postgres psql -d ivle < userdb/users.sql
53
 
 
54
 
# Set up IVLE
55
88
./setup.py listmake
56
89
./setup.py config
57
90
 
58
 
# "Root directory" - type "/" or "/ivle" (without the quotes)
 
91
# "Root directory" - type "/"
59
92
# "UID of web server process" - 1000 at this stage (informatics)
60
93
# Leave others default.
61
94
# Note: This will cause IVLE to get installed to /opt/ivle
62
95
 
63
 
sudo ./setup.py build
 
96
./setup.py build
64
97
sudo ./setup.py install
65
98
 
66
 
# Make the directory containing the svn auth.
67
 
# Make sure it is owned by www-data.
68
 
sudo mkdir /opt/ivle/svn
69
 
sudo chown -R www-data:www-data /opt/ivle/svn
70
 
 
71
 
# Make the "repositories", "sessions" and "logs" directories in the home.
72
 
# Make sure they are owned by www-data.
73
 
cd /home/informatics
74
 
sudo mkdir -p repositories/users sessions logs
75
 
sudo chown -R www-data:www-data repositories sessions logs
76
 
 
77
 
cd /home/informatics/ivle_svn
78
 
 
79
99
# Create a user
80
 
sudo ./makeuser.py [OPTIONS] <login> 'Firstname Lastname' <rolenm> -p <password>
81
 
# role = guest/student/tutor/lecturer/admin
82
 
 
83
 
# Configure the Apache HTTP server
84
 
sudo cp doc/setup/ivle-both.conf /etc/apache2/sites-available/ivle
 
100
sudo ./makeuser.py <username>
 
101
 
 
102
# Set up the Apache HTTP server
 
103
sudo apt-get install apache2 libapache2-mod-python
 
104
 
 
105
# DO: Copy the file "ivle.conf" from this package to
 
106
# /etc/apache2/sites-available.
85
107
# MODIFY the first few lines so it is specific to your server.
86
 
# * Change ServerAdmin and ServerName (for error reporting).
87
 
# * Inside the first VirtualHost block, there are two ServerNames
88
 
#   (localhost and public.localhost). You must change these to the domains
89
 
#   for regular IVLE and published-browsing IVLE respectively.
90
 
# * Inside the second VirtualHost block, there is one ServerName
91
 
#   (svn.localhost). You must change this to the domain for svn access.
92
 
# * Change all paths beginning with /opt/ivle or /home/informatics to the
93
 
#   locations you have installed things in.
94
 
sudo vim /etc/apache2/sites-available/ivle
95
 
 
96
 
# Replace the default with the IVLE site.
97
 
sudo a2dissite default
98
 
sudo a2ensite ivle
99
 
 
100
 
# Restart Apache.
101
 
sudo /etc/init.d/apache2 restart
102
 
 
103
 
# Make sure the 3 domains given in Apache conf all lookup to your server.
104
 
# (By default these are localhost, public.localhost and svn.localhost).
105
 
# For testing purposes, this can be done by editing /etc/hosts, for example:
106
 
# 127.0.0.1     svn.localhost public.localhost
107
 
sudo vim /etc/hosts
108
 
 
109
 
##########################################################################
110
 
# User management server: usrmgt-server
111
 
##########################################################################
112
 
# To start the user management server:
113
 
cd /opt/ivle/scripts
114
 
sudo ./usrmgt-server <port> <usrmgt-password>
115
 
# usrmgt-password is the password entered in setup.py config (usrmgt_magic)
116
 
# Note that the port number and usrmgt password are recorded in
117
 
# the automatically created init.d script: doc/setup/usrmgt-server.init
118
 
 
119
 
# To run it at boot time:
120
 
sudo cp doc/setup/usrmgt-server.init /etc/init.d/usrmgt-server
121
 
sudo chown root:root /etc/init.d/usrmgt-server
122
 
sudo chmod 700 /etc/init.d/usrmgt-server  # so world can't read database magic
123
 
sudo update-rc.d usrmgt-server defaults 99  # create symlinks in /etc/rc*.d
124
 
 
125
 
##########################################################################
126
 
# Setting up phpBB Forum in IVLE
127
 
##########################################################################
128
 
# This should all be run from the SVN directory
129
 
 
130
 
# Create a postgres database
131
 
# (only need the first line if it was previously created and is now changed)
132
 
sudo -u postgres dropdb ivle_forum
133
 
sudo -u postgres createdb ivle_forum
134
 
sudo -u postgres psql -d ivle_forum < userdb/forum_schema.sql
135
 
sudo -u postgres psql -d ivle_forum < userdb/forum_data.sql
136
 
 
137
 
#Change to the installed IVLE directory
138
 
cd /opt/ivle
139
 
# Fix permissions for install
140
 
cd www/php/phpBB3
141
 
# At very minimum you apache user must be able to write to
142
 
# cache/ files/ store/ images/avatars/upload config.php
143
 
sudo chown -R www-data:www-data .
144
 
 
145
 
##########################################################################
146
 
# Installing Pound reverse proxy (optional)
147
 
##########################################################################
148
 
 
 
108
 
 
109
# Replace the existing config link with the ivle one
 
110
cd /etc/apache2/sites-enabled/
 
111
sudo ln -fs /etc/apache2/sites-available/ivle.conf 000-default
 
112
 
 
113
# Restart the server
 
114
sudo apache2ctl -k restart
 
115
 
 
116
#
 
117
# Installing postgres
 
118
# ===============================
 
119
#
 
120
# Some of these instructions follow
 
121
#     https://help.ubuntu.com/community/PostgreSQL
 
122
# 1. install the base packages
 
123
 
 
124
sudo apt-get install postgresql
 
125
sudo apt-get install python-pygresql
 
126
 
 
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***>';
 
131
\q
 
132
 
 
133
# Create a database
 
134
cd <<ivle source directory>>/userdb
 
135
sudo -u postgres createdb ivle
 
136
sudo -u postgres psql -d ivle < users.sql
 
137
 
 
138
#
 
139
# Installing Pound
149
140
sudo apt-get install pound
150
141
 
151
142
# edit /etc/default/pound so that the line reading
154
145
#     startup=1
155
146
#
156
147
# copy pound.cfg to /etc/pound/pound.cfg
157
 
# edit IP addresses in pound.cfg