322
by mattgiuca
Added doc/setup - a setup guide specific to our configuration. This is the |
1 |
# Installation Procedure for IVLE |
2 |
# =============================== |
|
3 |
||
797
by dcoles
Setup: Addition of an automatic jail builder. This means we no longer are |
4 |
# Target Platform: Ubuntu 8.04 |
322
by mattgiuca
Added doc/setup - a setup guide specific to our configuration. This is the |
5 |
# |
6 |
# IMPORTANT: This is NOT a shell script. It has interactive sections and |
|
7 |
# things that need to be customized. |
|
8 |
# It is written like a shell script so it can be mostly cut-and-pasted into |
|
9 |
# the shell, but it can't simply be executed. |
|
10 |
||
11 |
# While other install guides in this package are generic, this one is very |
|
12 |
# specific to our intended configuration. It will be very helpful if trying to |
|
13 |
# set up IVLE on Ubuntu 7.06 or higher; less helpful for other platforms. |
|
14 |
# This refers to ivle.conf, also included. |
|
15 |
# |
|
16 |
# Author: Matt Giuca |
|
17 |
# Date: 29/1/2008 |
|
18 |
||
483
by stevenbird
more cleanup of installation instructions; removed dapper-specific instructions as suggested by Matt Giuca |
19 |
########################################################################## |
20 |
# Apt packages |
|
21 |
########################################################################## |
|
22 |
||
322
by mattgiuca
Added doc/setup - a setup guide specific to our configuration. This is the |
23 |
sudo apt-get install subversion |
427
by mattgiuca
setup.py: Fix (put conf.py in wrong list in listmake) |
24 |
sudo apt-get install gcc libc6 libc6-dev make |
761
by mattgiuca
doc/setup/install_proc.txt: Many fixes and additions. |
25 |
sudo apt-get install apache2 libapache2-mod-python libapache2-svn |
757
by mattgiuca
doc/setup/install_proc.txt: Made a few minor corrections and notes. |
26 |
sudo apt-get install python2.5-dev python-svn python-webpy |
513
by stevenbird
test/test_framework/*, exercises/sample/* |
27 |
sudo apt-get install postgresql python-pygresql python-ldap |
517
by dcoles
forum: Added basic install documentation |
28 |
sudo apt-get install php5 php5-pgsql |
797
by dcoles
Setup: Addition of an automatic jail builder. This means we no longer are |
29 |
sudo apt-get install python-cjson |
563
by mattgiuca
install_proc: Notes on apt-get for epydoc and docutils. |
30 |
sudo apt-get install python-docutils python-epydoc |
31 |
||
483
by stevenbird
more cleanup of installation instructions; removed dapper-specific instructions as suggested by Matt Giuca |
32 |
########################################################################## |
33 |
# Configure postgres |
|
34 |
########################################################################## |
|
444
by drtomc
dispatch: Change the session timeout to 24 hours (there doesn't seem to be |
35 |
# |
36 |
# Some of these instructions follow |
|
37 |
# https://help.ubuntu.com/community/PostgreSQL |
|
38 |
# 1. install the base packages |
|
39 |
||
40 |
# Set the postgres user's postgres password |
|
41 |
sudo -u postgres psql template1 |
|
42 |
# At the prompt type (substituting <***password***> with a real one. |
|
43 |
ALTER USER postgres WITH ENCRYPTED PASSWORD '<***password***>'; |
|
44 |
\q |
|
45 |
||
480
by stevenbird
doc/setup/install_proc.txt |
46 |
########################################################################## |
444
by drtomc
dispatch: Change the session timeout to 24 hours (there doesn't seem to be |
47 |
# Installing ivle |
483
by stevenbird
more cleanup of installation instructions; removed dapper-specific instructions as suggested by Matt Giuca |
48 |
########################################################################## |
49 |
# |
|
322
by mattgiuca
Added doc/setup - a setup guide specific to our configuration. This is the |
50 |
# Check out the IVLE trunk |
483
by stevenbird
more cleanup of installation instructions; removed dapper-specific instructions as suggested by Matt Giuca |
51 |
|
480
by stevenbird
doc/setup/install_proc.txt |
52 |
export IVLE_SVN=ivle_svn |
53 |
svn co https://ivle.svn.sourceforge.net/svnroot/ivle/trunk $IVLE_SVN |
|
54 |
cd $IVLE_SVN |
|
55 |
||
444
by drtomc
dispatch: Change the session timeout to 24 hours (there doesn't seem to be |
56 |
# Create a postgres database |
494
by stevenbird
more cleanups of installation instructions based on silly misunderstandings |
57 |
# (only need the first line if it was previously created and is now changed) |
58 |
sudo -u postgres dropdb ivle |
|
444
by drtomc
dispatch: Change the session timeout to 24 hours (there doesn't seem to be |
59 |
sudo -u postgres createdb ivle |
480
by stevenbird
doc/setup/install_proc.txt |
60 |
sudo -u postgres psql -d ivle < userdb/users.sql |
444
by drtomc
dispatch: Change the session timeout to 24 hours (there doesn't seem to be |
61 |
|
322
by mattgiuca
Added doc/setup - a setup guide specific to our configuration. This is the |
62 |
# Set up IVLE |
63 |
./setup.py listmake |
|
64 |
./setup.py config |
|
65 |
||
494
by stevenbird
more cleanups of installation instructions based on silly misunderstandings |
66 |
# "Root directory" - type "/" or "/ivle" (without the quotes) |
322
by mattgiuca
Added doc/setup - a setup guide specific to our configuration. This is the |
67 |
# "UID of web server process" - 1000 at this stage (informatics) |
68 |
# Leave others default. |
|
69 |
# Note: This will cause IVLE to get installed to /opt/ivle |
|
70 |
||
71 |
./setup.py build |
|
72 |
sudo ./setup.py install |
|
73 |
||
761
by mattgiuca
doc/setup/install_proc.txt: Many fixes and additions. |
74 |
# Make the directory containing the svn auth. |
75 |
# Make sure it is owned by www-data. |
|
745
by dcoles
Docs: The '/opt/ivle/svn' directory has to be created before you can add a user |
76 |
sudo mkdir /opt/ivle/svn |
77 |
sudo chown -R www-data:www-data /opt/ivle/svn |
|
78 |
||
761
by mattgiuca
doc/setup/install_proc.txt: Many fixes and additions. |
79 |
# Make the "repositories" and "sessions" directories in the home. |
80 |
# Make sure they are owned by www-data. |
|
81 |
cd /home/informatics |
|
82 |
sudo mkdir repositories sessions |
|
766
by mattgiuca
setup/install_proc.txt: Minor fix. |
83 |
sudo chown -R www-data:www-data repositories sessions |
761
by mattgiuca
doc/setup/install_proc.txt: Many fixes and additions. |
84 |
|
322
by mattgiuca
Added doc/setup - a setup guide specific to our configuration. This is the |
85 |
# Create a user |
480
by stevenbird
doc/setup/install_proc.txt |
86 |
sudo ./makeuser.py [OPTIONS] <login> 'Firstname Lastname' <rolenm> -p <password> |
87 |
# role = guest/student/tutor/lecturer/admin |
|
88 |
||
89 |
# Configure the Apache HTTP server |
|
761
by mattgiuca
doc/setup/install_proc.txt: Many fixes and additions. |
90 |
sudo cp doc/setup/ivle-both.conf /etc/apache2/sites-available/ivle.conf |
322
by mattgiuca
Added doc/setup - a setup guide specific to our configuration. This is the |
91 |
# MODIFY the first few lines so it is specific to your server. |
761
by mattgiuca
doc/setup/install_proc.txt: Many fixes and additions. |
92 |
# * Change ServerAdmin and ServerName (for error reporting). |
93 |
# * Inside the first VirtualHost block, there are two ServerNames |
|
94 |
# (localhost and public.localhost). You must change these to the domains |
|
95 |
# for regular IVLE and published-browsing IVLE respectively. |
|
96 |
# * Inside the second VirtualHost block, there is one ServerName |
|
97 |
# (svn.localhost). You must change this to the domain for svn access. |
|
98 |
# * Change all paths beginning with /opt/ivle or /home/informatics to the |
|
99 |
# locations you have installed things in. |
|
480
by stevenbird
doc/setup/install_proc.txt |
100 |
vim /etc/apache2/sites-available/ivle.conf |
322
by mattgiuca
Added doc/setup - a setup guide specific to our configuration. This is the |
101 |
|
102 |
# Replace the existing config link with the ivle one |
|
103 |
cd /etc/apache2/sites-enabled/ |
|
104 |
sudo ln -fs /etc/apache2/sites-available/ivle.conf 000-default |
|
105 |
||
761
by mattgiuca
doc/setup/install_proc.txt: Many fixes and additions. |
106 |
# Make sure the 3 domains given in Apache conf all lookup to your server. |
107 |
# (By default these are localhost, public.localhost and svn.localhost). |
|
108 |
# For testing purposes, this can be done by editing /etc/hosts, for example: |
|
109 |
127.0.0.1 public.localhost |
|
110 |
127.0.0.1 svn.localhost |
|
444
by drtomc
dispatch: Change the session timeout to 24 hours (there doesn't seem to be |
111 |
|
322
by mattgiuca
Added doc/setup - a setup guide specific to our configuration. This is the |
112 |
# Restart the server |
113 |
sudo apache2ctl -k restart |
|
356
by drtomc
Add some doco on how to get the ivle database happening. |
114 |
|
517
by dcoles
forum: Added basic install documentation |
115 |
########################################################################## |
688
by apeel
setup.py now creates the /etc/init.d script for usrmgr-server, and install_proc.txt has instructions on installing it. |
116 |
# User management server: usrmgt-server |
117 |
########################################################################## |
|
118 |
# To start the user management server: |
|
119 |
cd /opt/ivle/scripts |
|
757
by mattgiuca
doc/setup/install_proc.txt: Made a few minor corrections and notes. |
120 |
sudo ./usrmgt-server <port> <usrmgt-password> |
121 |
# usrmgt-password is the password entered in setup.py config (usrmgt_magic) |
|
122 |
# Note that the port number and usrmgt password are recorded in |
|
688
by apeel
setup.py now creates the /etc/init.d script for usrmgr-server, and install_proc.txt has instructions on installing it. |
123 |
# the automatically created init.d script: doc/setup/usrmgt-server.init |
124 |
||
125 |
# To run it at boot time: |
|
796
by dcoles
Install: Fix minor typo in init script install steps so file is now copied to |
126 |
sudo cp doc/setup/usrmgt-server.init /etc/init.d/usrmgt-server |
688
by apeel
setup.py now creates the /etc/init.d script for usrmgr-server, and install_proc.txt has instructions on installing it. |
127 |
sudo chown root:root /etc/init.d/usrmgt-server |
128 |
sudo chmod 700 /etc/init.d/usrmgt-server # so world can't read database magic |
|
129 |
sudo update-rc.d usrmgt-server defaults 99 # create symlinks in /etc/rc*.d |
|
130 |
||
131 |
########################################################################## |
|
517
by dcoles
forum: Added basic install documentation |
132 |
# Setting up phpBB Forum in IVLE |
133 |
########################################################################## |
|
643
by dcoles
forum: Removed config.php from repository - it's a file we'll create |
134 |
# This should all be run from the SVN directory |
624
by dcoles
forum: Removed the subsilver2 style and phpBB installer |
135 |
|
136 |
# Create a postgres database |
|
137 |
# (only need the first line if it was previously created and is now changed) |
|
138 |
sudo -u postgres dropdb ivle_forum |
|
139 |
sudo -u postgres createdb ivle_forum |
|
140 |
sudo -u postgres psql -d ivle_forum < userdb/forum_schema.sql |
|
141 |
sudo -u postgres psql -d ivle_forum < userdb/forum_data.sql |
|
142 |
||
143 |
#Change to the installed IVLE directory |
|
520
by dcoles
forum: Fixed setup.py to include forum files in install, disabled |
144 |
cd /opt/ivle |
517
by dcoles
forum: Added basic install documentation |
145 |
# Fix permissions for install |
146 |
cd www/php/phpBB3 |
|
624
by dcoles
forum: Removed the subsilver2 style and phpBB installer |
147 |
# At very minimum you apache user must be able to write to |
148 |
# cache/ files/ store/ images/avatars/upload config.php |
|
643
by dcoles
forum: Removed config.php from repository - it's a file we'll create |
149 |
sudo chown -R www-data:www-data . |
520
by dcoles
forum: Fixed setup.py to include forum files in install, disabled |
150 |
|
483
by stevenbird
more cleanup of installation instructions; removed dapper-specific instructions as suggested by Matt Giuca |
151 |
########################################################################## |
480
by stevenbird
doc/setup/install_proc.txt |
152 |
# Installing Pound reverse proxy (optional) |
483
by stevenbird
more cleanup of installation instructions; removed dapper-specific instructions as suggested by Matt Giuca |
153 |
########################################################################## |
154 |
||
369
by drtomc
Add stuff on installing and configuring pound. |
155 |
sudo apt-get install pound |
156 |
||
157 |
# edit /etc/default/pound so that the line reading |
|
158 |
# startup=0 |
|
159 |
# instead reads |
|
160 |
# startup=1 |
|
161 |
# |
|
162 |
# copy pound.cfg to /etc/pound/pound.cfg |
|
437
by stevenbird
added note that IP addresses in pound.cfg need to be edited |
163 |
# edit IP addresses in pound.cfg |