InstallationGuide » History » Version 2

Anonymous, 07/05/2007 03:58 PM

1 1 Anonymous
= Installation Guide =
2 1 Anonymous
3 1 Anonymous
This guide describes the installation procedure for ''ProCKSI''. 
4 1 Anonymous
5 1 Anonymous
 * '''Release''': procksi_8-2
6 1 Anonymous
 * '''Environment''': Cluster with one head node and two compute nodes 
7 1 Anonymous
         
8 1 Anonymous
All installations must be done with ''root'' access.
9 1 Anonymous
10 1 Anonymous
11 1 Anonymous
12 1 Anonymous
13 1 Anonymous
= System Design and Requirements =
14 1 Anonymous
15 1 Anonymous
== Cluster Design ==
16 1 Anonymous
The cluster is assumed to have a ''head node'' and several ''compute nodes''. 
17 1 Anonymous
18 1 Anonymous
 * The head node runs the webserver, the file server, the central database server, the email server, and the server for the queuing system. It can be used as a compute node itself. 
19 1 Anonymous
 * The compute nodes run the calculations.
20 1 Anonymous
 
21 1 Anonymous
22 2 Anonymous
[[Image(source:/ProCKSI/trunk/documentation/ClusterDesign.png)]]
23 2 Anonymous
24 1 Anonymous
== Software Requirements ==
25 1 Anonymous
We are assuming the following software components to be already installed the head node:
26 1 Anonymous
27 1 Anonymous
 * Operating system:	''Centos4'' (''RHEL4'')
28 1 Anonymous
 * Webserver: 	        Apache2 
29 1 Anonymous
 * Database:	        MySQL
30 1 Anonymous
 * Email server:	Postfix (SMTP) 
31 1 Anonymous
 * Queuing system:	PBS torque + maui
32 1 Anonymous
33 1 Anonymous
34 1 Anonymous
The compute nodes only requires the following components:
35 1 Anonymous
36 1 Anonymous
 * Operating system:	''Centos4'' (''RHEL4'')
37 1 Anonymous
 * Queuing system:	PBS torque
38 1 Anonymous
39 1 Anonymous
40 1 Anonymous
The configuration for these components will be described later in this installation guide.
41 1 Anonymous
42 1 Anonymous
43 1 Anonymous
44 1 Anonymous
= URL and Email Forwarding =
45 1 Anonymous
ProCKSI uses URL and email forwarding in order to provide a stable internet address and corresponding email addresses.
46 1 Anonymous
47 1 Anonymous
48 1 Anonymous
49 1 Anonymous
== Provider ==
50 1 Anonymous
Provider:	''www.planetdomain.com/ukcheap/home.jsp''[[BR]] Login: 	nkrasnogor[[BR]] Password: 	[BBSRC GRANT NUMBER][[BR]] 
51 1 Anonymous
52 1 Anonymous
53 1 Anonymous
== Domains ==
54 1 Anonymous
ProCKSI's main domain name is __''www.procksi.net''__, which is redirected to __''procksi.cs.nott.ac.uk''__, which is an alias for __''procksi0.cs.nott.ac.uk''__. All other domain names are redirected to its main domain name.
55 1 Anonymous
56 1 Anonymous
  	
57 1 Anonymous
58 1 Anonymous
||'''Domain Name''' ||'''Redirected to'''                       ||'''Expires at'''
59 1 Anonymous
||www.procksi.net   ||procksi.cs.nott.ac.uk                     ||11-01-2011 
60 1 Anonymous
||www.procksi.org   ||[http://www.procksi.net/ www.procksi.net] ||11-01-2011 
61 1 Anonymous
||www.procksi.com   ||[http://www.procksi.net/ www.procksi.net] ||11-01-2011 
62 1 Anonymous
||www.procksi.info  ||[http://www.procksi.net/ www.procksi.net] ||11-01-2008 
63 1 Anonymous
64 1 Anonymous
 
65 1 Anonymous
66 1 Anonymous
67 1 Anonymous
== DNS Settings	 ==
68 1 Anonymous
The primary and secondary DNS servers must be set as follows:
69 1 Anonymous
70 1 Anonymous
 ||Primary	||ns1.iprimus.com.au
71 1 Anonymous
 ||Secondary	||ns2.iprimus.com.au 
72 1 Anonymous
73 1 Anonymous
74 1 Anonymous
75 1 Anonymous
The following changes must be made manually in ''Advanced DNS settings'':
76 1 Anonymous
77 1 Anonymous
 ||CNAME    ||*.procksi.net	||procksi.cs.nott.ac.uk.
78 1 Anonymous
 ||CNAME    ||*.procksi.org	||www.procksi.net.
79 1 Anonymous
 ||CNAME    ||*.procksi.com	||www.procksi.net.
80 1 Anonymous
 ||CNAME    ||*.procksi.info	||www.procksi.net.
81 1 Anonymous
82 1 Anonymous
      
83 1 Anonymous
84 1 Anonymous
85 1 Anonymous
== Email Settings ==
86 1 Anonymous
The following email addresses must be created and redirected to ''procksi@cs.nott.ac.uk'', which must be available:
87 1 Anonymous
88 1 Anonymous
 	
89 1 Anonymous
90 1 Anonymous
 ||admin@procksi.net	||redirected to	||procksi@cs.nott.ac.uk
91 1 Anonymous
 ||develop@procksi.net	||		||procksi@cs.nott.ac.uk   
92 1 Anonymous
 ||info@procksi.net	||      	||procksi@cs.nott.ac.uk
93 1 Anonymous
 ||research@procksi.net	||       	||procksi@cs.nott.ac.uk
94 1 Anonymous
 ||pbs@procksi.net	||		||procksi@cs.nott.ac.uk
95 1 Anonymous
 ||webmaster@procksi.net||		||procksi@cs.nott.ac.uk
96 1 Anonymous
97 1 Anonymous
The following changes must be made manually in ''Advanced DNS settings:''
98 1 Anonymous
99 1 Anonymous
 ||MX    ||@.procksi.net    ||mailhost.planetdomain.com    ||10
100 1 Anonymous
101 1 Anonymous
 
102 1 Anonymous
103 1 Anonymous
104 1 Anonymous
== Domain Usage Monitoring ==
105 1 Anonymous
The usage of ProCKSI's domains is monitored. 
106 1 Anonymous
107 1 Anonymous
||Provider	||''www.sitemeter.org'' 
108 1 Anonymous
||Login:	||s18procksi[[BR]] 
109 1 Anonymous
||Password:	||FAKUIL
110 1 Anonymous
111 1 Anonymous
 
112 1 Anonymous
113 1 Anonymous
All HTML documents must contain the following code in order to be tracked correctly.
114 1 Anonymous
115 1 Anonymous
{{{
116 1 Anonymous
<!-- Site Meter -->
117 1 Anonymous
	<script type="text/javascript" src="http://s18.sitemeter.com/js/counter.js?site=s18procksi">
118 1 Anonymous
	</script>
119 1 Anonymous
	<noscript>
120 1 Anonymous
		<a href="http://s18.sitemeter.com/stats.asp?site=s18procksi" target="_top">
121 1 Anonymous
			<img	src=[http://s18.sitemeter.com/meter.asp?site=s18procksi http://s18.sitemeter.com/meter.asp?site=s18procksi]
122 1 Anonymous
    				alt="Site Meter" border="0"/>
123 1 Anonymous
		</a>
124 1 Anonymous
	</noscript>
125 1 Anonymous
126 1 Anonymous
<!-- Copyright (c)2006 Site Meter -->
127 1 Anonymous
}}}
128 1 Anonymous
 
129 1 Anonymous
130 1 Anonymous
131 1 Anonymous
= Data Management and Exchange  =
132 1 Anonymous
 The head node and all compute nodes must be able to communicate with each other and exchange data. Therefore, a common user management and shared file system is necessary.
133 1 Anonymous
134 1 Anonymous
 
135 1 Anonymous
136 1 Anonymous
137 1 Anonymous
== User Management ==
138 1 Anonymous
 Make the following changes on the head node and each compute node:
139 1 Anonymous
140 1 Anonymous
 * Add a new user into ''/etc/passwd'': ''[[BR]] ''''procksi:x:510:510:ProCKSI-Server:/home/procksi:/bin/bash''
141 1 Anonymous
 * Add an entry for the new user into ''/etc/shadow'' if desired: ''[[BR]] ''''procksi:[ENCRYPTED_PASSWORD]:13483:0:99999:7:::''
142 1 Anonymous
 * Add a new group into ''/etc/group'', and add all users who should have access:''[[BR]] ''''procksi:x:510:dxb[[BR]] ''The members for group procksi are now: ''procksi'', ''dxb''
143 1 Anonymous
 * Generate home directory for ''procksi''
144 1 Anonymous
  
145 1 Anonymous
146 1 Anonymous
147 1 Anonymous
== Firewall ==
148 1 Anonymous
 All network traffic using the internal (private) network is trusted and considered to be secure. So no firewall is needed on the internal network interface (eth1).
149 1 Anonymous
150 1 Anonymous
 * Modify ''/etc/sysconfig/iptables'' on the head node and on each compute node. [[BR]] If ETH1 is on the private network, add[[BR]] -A RH-Firewall-1-INPUT -i eth1 -j ACCEPT[[BR]] directly after[[BR]] -A RH-Firewall-1-INPUT -i lo -j ACCEPT 
151 1 Anonymous
 * Restart the firewall on the head node and on each compute node:[[BR]] /sbin/service iptables restart
152 1 Anonymous
 
153 1 Anonymous
154 1 Anonymous
 Changes in the firewall settings regarding the external network interface (eth0) will be described in other sections where necessary.
155 1 Anonymous
156 1 Anonymous
 
157 1 Anonymous
158 1 Anonymous
159 1 Anonymous
== Host Name Resolution ==
160 1 Anonymous
As each node consists of two network interfaces (= multihomed host), the host name resolution must be configured correctly in order to prioritize the internal, trusted network for communication between different nodes.
161 1 Anonymous
162 1 Anonymous
 * The official hostname for each node must be set to the ''internal'' name of the machine in ''/etc/sysconfig/network''. This is an example for the head node:[[BR]] HOSTNAME=procksi0-priv.cs.nott.ac.uk[[BR]] The compute nodes must be named and configured accordingly.
163 1 Anonymous
 * Add the following to ''/etc/hosts'' on the head node:[[BR]] 127.0.0.1  procksi0-priv.cs.nott.ac.uk  procksi0-priv  localhost.localdomain  localhost[[BR]] and alter the line for each compute node (procksi1, procksi2) accordingly.
164 1 Anonymous
 * Add the following to ''/etc/hosts'' on the head node and each compute node:[[BR]] 192.168.199.10	procksi0-priv.cs.nott.ac.uk   procksi0-priv  [[BR]] 192.168.199.11 	procksi1-priv.cs.nott.ac.uk   procksi1-priv  [[BR]] 192.168.199.12 	procksi2-priv.cs.nott.ac.uk   procksi2-priv  [[BR]] Edit ''/etc/host.conf'' so that local setting in ''/etc/hosts'' take precedence over DNS:[[BR]] order hosts,bind
165 1 Anonymous
166 1 Anonymous
== Data Access ==
167 1 Anonymous
 The head node hosts a RAID system of hard disks that will store all data generated by ProCKSI on all compute nodes and the head node itself. This partition must be accessible by all nodes and is exported as a network file system (NFS) therefore. Executables used by ProCKSI must be installed locally on each compute node for better performance.
168 1 Anonymous
169 1 Anonymous
 * Add the following to the end of ''/etc/exports'' on the head node (''procki0''):[[BR]] /home/procksi           procksi?-priv.cs.nott.ac.uk(sync,rw,no_root_squash)
170 1 Anonymous
 * Add the following to the end of ''/etc/fstab'' on each compute node (''procksi1'', ''procksi2''):[[BR]] procksi0:/home/procksi	/home/procksi	nfs	bg,hard,intr	0 0[[BR]] procksi0:/usr/local/procksi	/usr/local/procksi	nfs	bg,hard,intr	0 0
171 1 Anonymous
 * Make the NFS daemons start at bootup. Enter at the command line of the head node and each compute node:[[BR]] /sbin/chkconfig nfs on
172 1 Anonymous
 * Start the NFS daemons. Enter at the command line on the head node and on each compute node:[[BR]] /sbin/service nfsd start
173 1 Anonymous
 * Generate the following temp directory on the head node and each compute node, at best on a separate partition:[[BR]] /scratch
174 1 Anonymous
175 1 Anonymous
176 1 Anonymous
177 1 Anonymous
178 1 Anonymous
179 1 Anonymous
== Time Synchronisation ==
180 1 Anonymous
 The system time on all nodes must be synchronized as a) data is written/read on/from a common, shared file system or even expires after a certain period of time and must be deleted, and b) system logs are maintained independently but entries must be able to be associated with each other.
181 1 Anonymous
182 1 Anonymous
 * Add your own time server to ''/etc/ntp/ntpservers:''[[BR]] marian.cs.nott.ac.uk
183 1 Anonymous
 * Modify ''/etc/ntp.conf'' (at the of the file):[[BR]] server	marian.cs.nott.ac.uk[[BR]] restrict	marian.cs.nott.ac.uk mask 255.255.255.255 nomodify notrap noquery
184 1 Anonymous
 * Make the NTP daemon start at bootup. Enter at the command line:[[BR]] /sbin/chkconfig ntpd on
185 1 Anonymous
 * Start the NTP daemon. Enter at the command line:[[BR]] /sbin/service ntpd start
186 1 Anonymous
187 1 Anonymous
188 1 Anonymous
189 1 Anonymous
= Queuing System =
190 1 Anonymous
 The queueing system (resource manager) is the heart of the distributed computing on a cluster. It consists of three parts, the server, the scheduler, and the machine-oriented mini-server (MOM) executing the jobs.
191 1 Anonymous
192 1 Anonymous
 
193 1 Anonymous
194 1 Anonymous
 We are assuming the following configuration:
195 1 Anonymous
196 1 Anonymous
 ||PBS TORQUE|| version 2.1.6           ||server, basic scheduler, mom 
197 1 Anonymous
 ||MAUI      || version 3.2.6.p18	||scheduler
198 1 Anonymous
199 1 Anonymous
200 1 Anonymous
 The sources can be obtained from:
201 1 Anonymous
202 1 Anonymous
 ||PBS TORQUE ||http://www.clusterresources.com/pages/products/torque-resource-manager.php
203 1 Anonymous
 ||MAUI       ||http://www.clusterresources.com/pages/products/maui-cluster-scheduler.php
204 1 Anonymous
 
205 1 Anonymous
206 1 Anonymous
 The install directories for ''TORQUE'' and ''MAUI'' will be:
207 1 Anonymous
208 1 Anonymous
 ||PBS TORQUE ||''/usr/local/torque''
209 1 Anonymous
 ||MAUI       ||''/usr/local/maui''
210 1 Anonymous
 
211 1 Anonymous
212 1 Anonymous
213 1 Anonymous
== TORQUE ==
214 1 Anonymous
215 1 Anonymous
=== Register new services ===
216 1 Anonymous
  Edit ''/etc/services'' and add at the end:
217 1 Anonymous
{{{
218 1 Anonymous
  # PBS/Torque services
219 1 Anonymous
220 1 Anonymous
  pbs           15001/tcp    # pbs_server
221 1 Anonymous
  pbs           15001/udp    # pbs_server
222 1 Anonymous
  pbs_mom       15002/tcp    # pbs_mom <-> pbs_server
223 1 Anonymous
  pbs_mom       15002/udp    # pbs_mom <-> pbs_server
224 1 Anonymous
  pbs_resmom    15003/tcp    # pbs_mom resource management
225 1 Anonymous
  pbs_resmom    15003/udp    # pbs_mom resource management
226 1 Anonymous
  pbs_sched     15004/tcp    # pbs scheduler (pbs_sched)
227 1 Anonymous
  pbs_sched     15004/udp    # pbs scheduler (pbs_sched)
228 1 Anonymous
}}}
229 1 Anonymous
  
230 1 Anonymous
231 1 Anonymous
  
232 1 Anonymous
233 1 Anonymous
234 1 Anonymous
=== Setup and Configuration on the Head Node ===
235 1 Anonymous
 Extract and build the distribution TORQUE on the head node. Configure server, monitor and clients to use secure file transfer (scp).[[BR]] 	export TORQUECFG=/usr/local/torque[[BR]]  	tar -xzvf TORQUE.tar.gz[[BR]]  	cd TORQUE[[BR]] Configuration for a 64bit machine with the following compiler options:
236 1 Anonymous
237 1 Anonymous
 	FFLAGS   = “-m64 -march=nocona -O3 -fPIC"
238 1 Anonymous
 	CFLAGS   = “-m64 -march=nocona -O3 -fPIC"
239 1 Anonymous
 	CXXFLAGS = “-m64 -march=nocona -O3 -fPIC"
240 1 Anonymous
 	LDFLAGS	 = “-L/usr/local/lib -L/usr/local/lib64"
241 1 Anonymous
242 1 Anonymous
    	./configure 	--enable-server --enable-monitor --enable-clients [[BR]] 	 	
243 1 Anonymous
                        --with-server-home=$TORQUECFG --with-rcp=scp --disable-filesync --with-server-name
244 1 Anonymous
   	make
245 1 Anonymous
    	make install 
246 1 Anonymous
247 1 Anonymous
 
248 1 Anonymous
249 1 Anonymous
If not configures otherwise, binaries are installed in ''/usr/local/bin'' and ''/usr/local/sbin''. You should have these directories included in your path. But you can configure TORQUE to have the binaries in the default system directory with[[BR]] 	
250 1 Anonymous
251 1 Anonymous
./configure --bindir=/usr/bin --sbindir=/usr/sbin
252 1 Anonymous
253 1 Anonymous
 
254 1 Anonymous
255 1 Anonymous
 Initialise/configure the queueing system's server daemon (pbs_server):[[BR]] 	pbs_server -t create
256 1 Anonymous
257 1 Anonymous
 [[BR]] Set the PBS operator and manager (must be a valid user name). [[BR]] 	qmgr[[BR]] 	> set server_name = procksi0-priv.cs.nott.ac.uk
258 1 Anonymous
259 1 Anonymous
 	> set server scheduling = true[[BR]] 	> set server operators += “root@procksi.cs.nott.ac.uk" [[BR]] 	> set server operators += “procksi@ procksi.cs.nott.ac.uk" [[BR]] 	> set server managers  += “root@ procksi.cs.nott.ac.uk" [[BR]] 	> set server managers  += “procksi@ procksi.cs.nott.ac.uk" [[BR]] 
260 1 Anonymous
261 1 Anonymous
 Allow only procksi and root to submit jobs into the queue:[[BR]] 	> set server acl_users = “root, procksi" [[BR]] 	> set server acl_user_enable = true
262 1 Anonymous
263 1 Anonymous
 
264 1 Anonymous
265 1 Anonymous
 Set the default queue to batch[[BR]] 	> set server default_queue=batch
266 1 Anonymous
267 1 Anonymous
 
268 1 Anonymous
269 1 Anonymous
 Set email address for email that is sent by PBS:[[BR]] 	> set mail_from = pbs@procksi.net	
270 1 Anonymous
271 1 Anonymous
 
272 1 Anonymous
273 1 Anonymous
 Allow submissions from compute hosts (only):
274 1 Anonymous
275 1 Anonymous
 	> set server allow_node_submit = true
276 1 Anonymous
  	> set server submit_hosts = procksi0-priv.cs.nott.ac.uk[[BR]]                               procksi1-priv.cs.nott.ac.uk[[BR]]                               procksi2-priv.cs.nott.ac.uk
277 1 Anonymous
278 1 Anonymous
 
279 1 Anonymous
280 1 Anonymous
 Restrict nodes that can access the PBS server:
281 1 Anonymous
282 1 Anonymous
 	> set server acl_hosts = procksi0-priv.cs.nott.ac.uk[[BR]]                              procksi1-priv.cs.nott.ac.uk[[BR]]                              procksi2-priv.cs.nott.ac.uk
283 1 Anonymous
284 1 Anonymous
 	> set acl_host_enable = true[[BR]] And set in ''torque.cfg'' in order to use the internal interface:
285 1 Anonymous
{{{
286 1 Anonymous
 	SERVERHOST procksi0-priv.cs.nott.ac.uk
287 1 Anonymous
 	ALLOWCOMPUTEHOSTSUBMIT true
288 1 Anonymous
}}}
289 1 Anonymous
 
290 1 Anonymous
291 1 Anonymous
 Configure the main queue ''batch'':[[BR]] 	> create queue batch queue_type=execution[[BR]] 	> set queue batch started=true[[BR]] 	> set queue batch enabled=true[[BR]] 	> set queue batch resources_default.nodes=1
292 1 Anonymous
293 1 Anonymous
 Configure queue ''test ''accordingly''.''[[BR]] 
294 1 Anonymous
295 1 Anonymous
 Configure default node to be used (see below):
296 1 Anonymous
297 1 Anonymous
 	> set server default_node = slave
298 1 Anonymous
299 1 Anonymous
 Specify all compute nodes to be used by creating/editing ''$TORQUECFG/server_priv/nodes.'' This may include the same machine where pbs_server will run. If the compute nodes have more than one processor, just add np=X after the name with X being the number of processors. Add node attributes so that a subset of nodes can be requested during the submission stage.
300 1 Anonymous
301 1 Anonymous
{{{
302 1 Anonymous
 	procksi0-priv.cs.nott.ac.uk		np=1	procksi head
303 1 Anonymous
 	procksi1-priv.cs.nott.ac.uk		np=2    procksi slave slave1
304 1 Anonymous
 	procksi2-priv.cs.nott.ac.uk		np=2    procksi slave slave2
305 1 Anonymous
}}}
306 1 Anonymous
307 1 Anonymous
 Although the head node (procksi0) has two processors as well, we only allow one processor to be used for the queueing system as the other processor will be used for handling all frontend communication and I/O. (Make sure that hyperthreading technology is disabled on the head node and all compute nodes!)
308 1 Anonymous
309 1 Anonymous
 
310 1 Anonymous
311 1 Anonymous
 Build packages for the compute nodes and copy them to each compute node:[[BR]] 	cd $TORQUE[[BR]] 	make packages[[BR]] 	scp torque-package-mom-linux-i686.sh 	procksi1|procksi2[[BR]] 	scp torque-package-clients-linux-i686.sh procksi1|procksi2[[BR]] 	[[BR]] 
312 1 Anonymous
313 1 Anonymous
314 1 Anonymous
=== Setup and Configuration on the Compute Nodes ===
315 1 Anonymous
 Install prepared packes. A directory similar to ''$TORQUECFG'' will be automatically created.
316 1 Anonymous
317 1 Anonymous
 	psh compute torque-package-mom-linux-i686.sh -install[[BR]] 	psh compute torque-package-clients-linux-i686.sh -install
318 1 Anonymous
319 1 Anonymous
 
320 1 Anonymous
321 1 Anonymous
 Check if the nodes know the head node[[BR]] 	$TORQUECFG/server_name[[BR]] 	procksi0-priv.cs.nott.ac.uk
322 1 Anonymous
323 1 Anonymous
 [[BR]] Configure the compute nodes by creating/editing ''$TORQUECFG/mom_priv/config''. The first line specifies the PBS server, the second line specifies hosts which can be trusted to access mom services as non-root, and the last line allows to copy data via NFS without using SCP.
324 1 Anonymous
325 1 Anonymous
{{{
326 1 Anonymous
  $pbsserver     procksi0-priv.cs.nott.ac.uk
327 1 Anonymous
  $loglevel      255
328 1 Anonymous
  $restricted    procksi?-priv.cs.nott.ac.uk
329 1 Anonymous
  $usecp         procksi0-priv.cs.nott.ac.uk:/home/procksi  /home/procksi
330 1 Anonymous
}}}
331 1 Anonymous
332 1 Anonymous
 [[BR]] Start the queueing system (manually) in the correct order. 
333 1 Anonymous
334 1 Anonymous
 * Start the mom:			''/usr/local/sbin/pbs_mom''
335 1 Anonymous
 * Kill the server: 			''/usr/local/sbin/qterm -t quick''
336 1 Anonymous
 * Start the server:			''/usr/local/sbin/pbs_server''	
337 1 Anonymous
 * Start the scheduler:		''/usr/local/sbin/pbs_sched'' 
338 1 Anonymous
 If you want to use MAUI as the final scheduler, keep in mind to kill pbs_sched after testing the TORQURE installation.
339 1 Anonymous
340 1 Anonymous
341 1 Anonymous
342 1 Anonymous
 Check that all nodes are properly configured and correctly reporting[[BR]] 	qstat -q[[BR]] 	pbsnodes -a
343 1 Anonymous
344 1 Anonymous
 
345 1 Anonymous
346 1 Anonymous
347 1 Anonymous
=== Prologue and Epilogue Scripts ===
348 1 Anonymous
 The ''prologue'' script is executed just before the submitted job starts. Here, it generates a unique temp directory for each job in ''/scratch''. It must be installed on each node:
349 1 Anonymous
350 1 Anonymous
 	cp $PROCKSI/install/prologue $TORQUECFG/mom_priv
351 1 Anonymous
 	chmod 500 $TORQUECFG/mom_priv/prologue
352 1 Anonymous
353 1 Anonymous
 
354 1 Anonymous
355 1 Anonymous
 The ''epilogue'' script is executed right after the submitted job has ended. Here, it deletes the job's temp directory from ''/scratch.'' It must be installed on each node:
356 1 Anonymous
357 1 Anonymous
 	cp $PROCKSI/install/epilogue $TORQUECFG/mom_priv
358 1 Anonymous
 	chmod 500 $TORQUECFG/mom_priv/epilogue
359 1 Anonymous
360 1 Anonymous
 
361 1 Anonymous
362 1 Anonymous
 
363 1 Anonymous
364 1 Anonymous
365 1 Anonymous
== MAUI ==
366 1 Anonymous
367 1 Anonymous
=== Register new services ===
368 1 Anonymous
 Edit ''/etc/services'' and add at the end:
369 1 Anonymous
370 1 Anonymous
{{{ 
371 1 Anonymous
  # PBS/MAUI services
372 1 Anonymous
  pbs_maui      42559/tcp    # pbs scheduler (maui)
373 1 Anonymous
  pbs_maui      42559/udp    # pbs scheduler (maui)
374 1 Anonymous
}}}
375 1 Anonymous
376 1 Anonymous
===  ===
377 1 Anonymous
378 1 Anonymous
=== Setup and Configuration on the Head Node ===
379 1 Anonymous
 Extract and build the distribution MAUI.
380 1 Anonymous
381 1 Anonymous
 	export MAUIDIR=/usr/local/maui [[BR]] 	tar -xzvf MAUI.tar.gz[[BR]]  	cd TORQUE[[BR]] 
382 1 Anonymous
383 1 Anonymous
 Configuration for a 64bit machine with the following compiler options:
384 1 Anonymous
385 1 Anonymous
 	FFLAGS   = “-m64 -march=nocona -O3 -fPIC"
386 1 Anonymous
 	CFLAGS   = “-m64 -march=nocona -O3 -fPIC"
387 1 Anonymous
 	CXXFLAGS = “-m64 -march=nocona -O3 -fPIC"
388 1 Anonymous
 	LDFLAGS	 = “-L/usr/local/lib -L/usr/local/lib64"
389 1 Anonymous
390 1 Anonymous
 	./configure --with-pbs=$TORQUECFG --with-spooldir=$MAUIDIR[[BR]]  	make[[BR]]
391 1 Anonymous
  	make install 
392 1 Anonymous
393 1 Anonymous
394 1 Anonymous
395 1 Anonymous
 Fine-tune MAUI in $''MAUIDIR/maui.cfg''[[BR]] 	
396 1 Anonymous
{{{
397 1 Anonymous
        SERVERHOST            procksi0-priv.cs.nott.ac.uk
398 1 Anonymous
399 1 Anonymous
        # primary admin must be first in list
400 1 Anonymous
        ADMIN1                procksi
401 1 Anonymous
        ADMIN1                root
402 1 Anonymous
        
403 1 Anonymous
        # Resource Manager Definition
404 1 Anonymous
        RMCFG[PROCKSI0-PRIV.CS.NOTT.AC.UK]		
405 1 Anonymous
        TYPE=PBS [[BR]] 			
406 1 Anonymous
        HOST=PROCKSI0-PRIV.CS.NOTT.AC.UK 		
407 1 Anonymous
        PORT=15001
408 1 Anonymous
 	EPORT=15004	[CAN BE ALTERNATIVELY: 15017 - TRY!!!]
409 1 Anonymous
 	SERVERPORT            42559
410 1 Anonymous
 	SERVERMODE            NORMAL
411 1 Anonymous
412 1 Anonymous
 	# Node Allocation:
413 1 Anonymous
 	NODEALLOCATIONPOLICY  PRIORITY
414 1 Anonymous
 	NODECFG[DEFAULT] PRIORITY='- JOBCOUNT'
415 1 Anonymous
}}}
416 1 Anonymous
 Configure attributes of compute nodes:
417 1 Anonymous
418 1 Anonymous
 	qmgr
419 1 Anonymous
 	> set node procksi0.cs.nott.ac.uk properties = “procksi, head"
420 1 Anonymous
 	> set node procksi1.cs.nott.ac.uk properties = “procksi, slave"
421 1 Anonymous
 	> set node procksi0.cs.nott.ac.uk properties = “procksi, slave"
422 1 Anonymous
423 1 Anonymous
 Request job to be run on specific nodes (on submission):
424 1 Anonymous
425 1 Anonymous
 * Run on any compute node: 	qsub -q batch -l nodes=1:procksi
426 1 Anonymous
 * Run on any slave node:	qsub -q batch -l nodes=1:slave
427 1 Anonymous
 * Run on head node:		qsub -q batch -l nodes=1:head
428 1 Anonymous
429 1 Anonymous
430 1 Anonymous
 Start the MAUI scheduler manually. Make sure that pbs_sched is not running any longer.
431 1 Anonymous
432 1 Anonymous
 * Start the scheduler:			''/usr/local/sbin/maui''
433 1 Anonymous
 
434 1 Anonymous
435 1 Anonymous
 Make the entire queueing system start at bootup:[[BR]]  	cp /home/procksi/latest/install/pbs_head-node /etc/init.d/pbs [[BR]]  	/sbin/chkconfig --add pbs[[BR]]  	/sbin/chkconfig pbs on
436 1 Anonymous
437 1 Anonymous
438 1 Anonymous
439 1 Anonymous
440 1 Anonymous
=== Setup and Configuration on the Compute Nodes ===
441 1 Anonymous
    __Attention:__ 	If the head node is a compute node itself, do NOT proceed with the following steps as the head node was configured in the previous step!
442 1 Anonymous
443 1 Anonymous
    
444 1 Anonymous
445 1 Anonymous
 Make the entire queueing system start at bootup:[[BR]]  	cp /home/procksi/latest/install/pbs_compute-node /etc/init.d/pbs[[BR]]  	/sbin/chkconfig --add pbs[[BR]]  	/sbin/chkconfig pbs on
446 1 Anonymous
447 1 Anonymous
448 1 Anonymous
= Cluster Monitoring =
449 1 Anonymous
450 1 Anonymous
== Ganglia ==
451 1 Anonymous
  “Ganglia is a scalable distributed monitoring system for high-performance computing systems such as clusters and Grids."
452 1 Anonymous
453 1 Anonymous
  See [http://ganglia.sourceforge.net/ http://ganglia.sourceforge.net] for information on requirements, configuration and installation.
454 1 Anonymous
455 1 Anonymous
  
456 1 Anonymous
457 1 Anonymous
  
458 1 Anonymous
459 1 Anonymous
460 1 Anonymous
== !JobMonarch ==
461 1 Anonymous
  !JobMonarch is an add-on to Ganglia which provides PBS job monitoring through the web browser.
462 1 Anonymous
463 1 Anonymous
  See [http://subtrac.rc.sara.nl/oss/jobmonarch/wiki/Documentation http://subtrac.rc.sara.nl/oss/jobmonarch/wiki/Documentation] for information on requirements, configuration and installation.
464 1 Anonymous
465 1 Anonymous
466 1 Anonymous
= Additional Software  =
467 1 Anonymous
468 1 Anonymous
== PERL Libraries ==
469 1 Anonymous
Please make sure that the following libraries are installed in the official library directory and install all depending libraries, if necessary. For ''Image::Magick'', use the corresponding libraries that come with the main installation.
470 1 Anonymous
471 1 Anonymous
[[BR]] 
472 1 Anonymous
473 1 Anonymous
||Error[[BR]]Image::Magick[[BR]] Digest::MD5[[BR]] Config::Simple[[BR]] DBI[[BR]] CGI[[BR]] CGI::Session[[BR]] Data::!FormValidator[[BR]] HTML::Template[[BR]] HTML::Template::Pro[[BR]] MIME::Lite[[BR]] !FreezeThaw[[BR]] Storable||  0.17008[[BR]]6.0.7[[BR]]2.36[[BR]]4.58[[BR]]1.53[[BR]]3.25[[BR]]4.13[[BR]]4.40[[BR]]2.8[[BR]]0.64[[BR]]3.01[[BR]]0.43[[BR]]2.12  ||Time::Format[[BR]]IMAP::Client[[BR]]File::Copy[[BR]] WWW::Mechanize[[BR]]Time::Local[[BR]]Clone[[BR]]SOAP::Lite[[BR]]||  1.02[[BR]]2.2.9[[BR]]2.08[[BR]]1.20[[BR]]1.13[[BR]]0.22[[BR]]0.69  ||
474 1 Anonymous
475 1 Anonymous
	
476 1 Anonymous
477 1 Anonymous
PERL modules are installed best with the CPAN shell:
478 1 Anonymous
479 1 Anonymous
	Perl -MCPAN -eshell
480 1 Anonymous
481 1 Anonymous
482 1 Anonymous
483 1 Anonymous
484 1 Anonymous
485 1 Anonymous
486 1 Anonymous
== Third Party Executables for ProCKSI ==
487 1 Anonymous
Generate the following directories on each compute node to contain important executables:
488 1 Anonymous
489 1 Anonymous
 * ''/usr/local/procksi''/''Cluster/''
490 1 Anonymous
 * ''/usr/local/procksi''/''!DaliLite''
491 1 Anonymous
 * ''/usr/local/procksi''/''MaxCMO''
492 1 Anonymous
 * ''/usr/local/procksi''/''!MolScript''
493 1 Anonymous
494 1 Anonymous
495 1 Anonymous
For the following installation of the ProCKSI server components, the following executables must be present:
496 1 Anonymous
497 1 Anonymous
 * ''/usr/local/procksi/Cluster/qclust''
498 1 Anonymous
 * ''/usr/local/procksi/!DaliLite/!DaliLite''
499 1 Anonymous
 * ''/usr/local/procksi/MaxCMO/ProtCompVNS''
500 1 Anonymous
 * ''/usr/local/procksi/molauto''
501 1 Anonymous
 * ''/usr/local/procksi/molscript''
502 1 Anonymous
503 1 Anonymous
504 1 Anonymous
505 1 Anonymous
== Image Software ==
506 1 Anonymous
507 1 Anonymous
=== Installation ===
508 1 Anonymous
   * Install ''!ImageMagick'' from www.imagemagick.org if not already installed.
509 1 Anonymous
   * Install ''!MolScript'' from www.avatar.se/molscript. Please link the MesaGL libraries instead of the OpenGL libraries; a modified makefile can be found under ''/www/PROCKSI/install/Makefile.molscript''
510 1 Anonymous
 
511 1 Anonymous
512 1 Anonymous
513 1 Anonymous
=== Virtual Display  ===
514 1 Anonymous
!MolScript needs an X display in order to generate images (jpg, gif, …). Its possible to use the console X display for the OpenGL bits even if it is not logged in. Therefore, ''procksi'' must be authenticated and allowed to use this X display virtually.
515 1 Anonymous
516 1 Anonymous
517 1 Anonymous
518 1 Anonymous
On each node copy magic cookie file for x-authentication:
519 1 Anonymous
520 1 Anonymous
 cp /home/procksi/latest/install/:0.Xauth /var/gdm/:0.Xauth
521 1 Anonymous
522 1 Anonymous
On each node copy scripts for automatic x-authentication:
523 1 Anonymous
524 1 Anonymous
 cp /home/procksi/latest/install/procksixauth /usr/local/sbin/procksixauth
525 1 Anonymous
 cp /home/procksi/latest/install/:0 /etc/X11/gdm/Init/:0
526 1 Anonymous
527 1 Anonymous
Restart the X display manager for the changes to take effect:
528 1 Anonymous
529 1 Anonymous
 /usr/sbin/gdm-restart
530 1 Anonymous
531 1 Anonymous
532 1 Anonymous
533 1 Anonymous
The virtual X display can be used with unix socket :0, e.g.:
534 1 Anonymous
535 1 Anonymous
 molauto protein.pdb | DISPLAY=unix:0.0 molscript -jpeg -out protein.jpeg
536 1 Anonymous
537 1 Anonymous
538 1 Anonymous
= ProCKSI Server Component =
539 1 Anonymous
540 1 Anonymous
== Installation and Basic Configuration ==
541 1 Anonymous
This section describes the installation and configuration of the ProCKSI server component. This includes the configuration of the web server and the database.
542 1 Anonymous
543 1 Anonymous
544 1 Anonymous
545 1 Anonymous
The server component will be installed into the home directory of the user ''procksi''. Therefore, make sure that it is on a separate partition / hard disk with much space. In the best case, this will be a RAID system.
546 1 Anonymous
547 1 Anonymous
548 1 Anonymous
549 1 Anonymous
Get the latest release of the server component, referred to in the following as ''RELEASE'', and extract it into ''/home/procksi/RELEASE.'' 
550 1 Anonymous
551 1 Anonymous
	tar -xvzf RELEASE.tgz[[BR]] 
552 1 Anonymous
553 1 Anonymous
Create a softlink from ''RELEASE'' to a generic directory ''/home/procksi/latest''. This will be accessed by the web server:
554 1 Anonymous
555 1 Anonymous
	ln -s /home/procksi/RELEASE /home/procksi/latest
556 1 Anonymous
557 1 Anonymous
In order to test new versions, referred in the following as ''TEST'', before taking them officially online, create a softlink from ''TEST'' to a generic directory ''/home/procksi/test''. This will be accessed by the web server:
558 1 Anonymous
559 1 Anonymous
	ln -s /home/procksi/TEST /home/procksi/test
560 1 Anonymous
561 1 Anonymous
In case that you want to bring the test version online, just delete the softlinks and repeat the previous steps for the new release. Please make sure that always both softlinks exist!
562 1 Anonymous
563 1 Anonymous
564 1 Anonymous
565 1 Anonymous
Change into the administrative directory and run the installation script. Change the server settings, database settings and directory settings if necessary.
566 1 Anonymous
567 1 Anonymous
 cd /home/procksi/latest/admin
568 1 Anonymous
 ./configure.pl
569 1 Anonymous
570 1 Anonymous
571 1 Anonymous
572 1 Anonymous
573 1 Anonymous
== Database Configuration ==
574 1 Anonymous
Make sure that the MySQL daemon is running, and that it will start at boot time:
575 1 Anonymous
576 1 Anonymous
 /sbin/service mysqld start
577 1 Anonymous
 /sbin/chkconfig --add mysqld[[BR]] /sbin/chkconfig mysqld on
578 1 Anonymous
579 1 Anonymous
580 1 Anonymous
581 1 Anonymous
Make sure that you have access to the MySQL database management as ''root'' and login as user ''root ''with the corresponding password:
582 1 Anonymous
583 1 Anonymous
 mysql -u root -p
584 1 Anonymous
585 1 Anonymous
586 1 Anonymous
587 1 Anonymous
Create new mysql users ''procksi_user ''and ''procksi_admin'':
588 1 Anonymous
589 1 Anonymous
 USE mysql;[[BR]] INSERT INTO user SET host='localhost', user='procksi_user', 		password=PASSWORD('''password_procksi_user''');[[BR]] INSERT INTO user SET host='localhost', user='procksi_admin', 			password=PASSWORD('''password_procksi_admin''');[[BR]] FLUSH PRIVILEGES;
590 1 Anonymous
591 1 Anonymous
Repeat these steps analogously for ''procksi0-priv, procksi1-priv, procksi2-priv.''
592 1 Anonymous
593 1 Anonymous
594 1 Anonymous
595 1 Anonymous
Create a new database:
596 1 Anonymous
597 1 Anonymous
 CREATE DATABASE procksi_latest;
598 1 Anonymous
599 1 Anonymous
600 1 Anonymous
601 1 Anonymous
Give privileges to users  ''procksi_user ''and ''procksi_admin'' for all compute nodes:
602 1 Anonymous
603 1 Anonymous
 GRANT ALL ON procksi_latest.* TO procksi_admin@localhost [[BR]]  		WITH GRANT OPTION;[[BR]] GRANT SELECT, UPDATE, INSERT, DELETE ON procksi_latest.* [[BR]]  		TO procksi_user@localhost;[[BR]] GRANT ALL ON procksi_latest.* TO procksi_admin@procksi0.cs.nott.ac.uk [[BR]]  		WITH GRANT OPTION;[[BR]] GRANT SELECT, UPDATE, INSERT, DELETE ON procksi_latest.* [[BR]]  		TO procksi_user@procksi0.cs.nott.ac.uk;[[BR]] GRANT SELECT, UPDATE, INSERT, DELETE ON procksi_latest.* [[BR]]  		TO procksi_user@procksi1.cs.nott.ac.uk;[[BR]] GRANT SELECT, UPDATE, INSERT, DELETE ON procksi_latest.* [[BR]]  		TO procksi_user@procksi2.cs.nott.ac.uk;[[BR]] FLUSH PRIVILEGES;
604 1 Anonymous
605 1 Anonymous
If you change the password for ''procksi_user'', please make sure that you also change it in ''/home/procksi/latest/config/main.ini''
606 1 Anonymous
607 1 Anonymous
608 1 Anonymous
609 1 Anonymous
Import the main database ''procksi_latest'' from the backup given in ''/home/procksi/RELEASE/admin'':
610 1 Anonymous
611 1 Anonymous
 ''msysql -u procksi_admin -p procksi_latest < procksi_latest.sql ''
612 1 Anonymous
613 1 Anonymous
614 1 Anonymous
615 1 Anonymous
In order to create a database ''procksi_test'' for the test version, repeat the previous steps and set the privileges accordingly.
616 1 Anonymous
617 1 Anonymous
   
618 1 Anonymous
619 1 Anonymous
620 1 Anonymous
== Web Server Configuration ==
621 1 Anonymous
Make the following changes to the Apache configuration file (''/etc/httpd/conf/httpd.conf''):
622 1 Anonymous
623 1 Anonymous
{{{
624 1 Anonymous
 User  			procksi
625 1 Anonymous
 Group 			procksi
626 1 Anonymous
 !ServerAdmin		procksi@cs.nott.ac.uk
627 1 Anonymous
 !ServerName 		procksi.cs.nott.ac.uk
628 1 Anonymous
 !DocumentRoot /home/procksi/latest/html
629 1 Anonymous
 <Directory /home/procksi/latest/html">
630 1 Anonymous
    !AllowOverride !AuthConfig
631 1 Anonymous
 </Directory>
632 1 Anonymous
 !LogFormat "%t %h %l %u \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined
633 1 Anonymous
 !LogFormat "%t %h %l %u \"%r\" %>s %b" common
634 1 Anonymous
 !LogFormat "%t %{Referer}i -> %U" referer
635 1 Anonymous
 !LogFormat "%t %{User-agent}i" agent
636 1 Anonymous
637 1 Anonymous
 #Exclude Logging of Ganglia Requests
638 1 Anonymous
 !SetEnvIf Request_URI "ganglia" ganglia
639 1 Anonymous
640 1 Anonymous
 #
641 1 Anonymous
 # The location and format of the access logfile (Common Logfile Format).
642 1 Anonymous
 # If you do not define any access logfiles within a <!VirtualHost>
643 1 Anonymous
 # container, they will be logged here.  Contrariwise, if you *do*
644 1 Anonymous
 # define per-<!VirtualHost> access logfiles, transactions will be
645 1 Anonymous
 # logged therein and *not* in this file.
646 1 Anonymous
 #
647 1 Anonymous
648 1 Anonymous
 !CustomLog /home/procksi/latest/logs/access.log common env=!ganglia
649 1 Anonymous
650 1 Anonymous
 #
651 1 Anonymous
 # If you would like to have agent and referer logfiles, uncomment the
652 1 Anonymous
 # following directives.
653 1 Anonymous
 #
654 1 Anonymous
655 1 Anonymous
 !CustomLog /home/procksi/latest/logs/referer.log referer env=!ganglia
656 1 Anonymous
 !CustomLog /home/procksi/latest/logs/agent.log agent env=!ganglia
657 1 Anonymous
658 1 Anonymous
 #
659 1 Anonymous
 # For a single logfile with access, agent, and referer information
660 1 Anonymous
 # (Combined Logfile Format), use the following directive:
661 1 Anonymous
 #
662 1 Anonymous
 #!CustomLog logs/access_log combined env=!ganglia
663 1 Anonymous
664 1 Anonymous
 !ScriptAlias /cgi-bin/ /home/procksi/latest/cgi-bin/
665 1 Anonymous
666 1 Anonymous
 <Directory "/home/procksi/latest/cgi-bin">
667 1 Anonymous
     !AllowOverride None
668 1 Anonymous
     Options None
669 1 Anonymous
     Order allow,deny
670 1 Anonymous
     Allow from all
671 1 Anonymous
 </Directory>
672 1 Anonymous
673 1 Anonymous
 Alias 	/data/ 		/home/procksi/latest/data/
674 1 Anonymous
 Alias 	/images/ 	/home/procksi/latest/images/
675 1 Anonymous
 Alias 	/styles/ 	/home/procksi/latest/styles/
676 1 Anonymous
 Alias 	/applets/ 	/home/procksi/latest/applets/
677 1 Anonymous
 Alias 	/scripts/ 	/home/procksi/latest/scripts/
678 1 Anonymous
679 1 Anonymous
 !AddLanguage de .de
680 1 Anonymous
 !AddLanguage en .en
681 1 Anonymous
 !AddLanguage es .es
682 1 Anonymous
 !AddLanguage fr .fr 
683 1 Anonymous
 !LanguagePriority en es de fr
684 1 Anonymous
685 1 Anonymous
 Alias /errordocs/ "/home/procksi/errordocs"
686 1 Anonymous
 <!IfModule mod_negotiation.c>
687 1 Anonymous
     <!IfModule mod_include.c>
688 1 Anonymous
         <Directory /home/procksi/errordocs>
689 1 Anonymous
             !AllowOverride none
690 1 Anonymous
             Options !MultiViews !IncludesNoExec !FollowSymLinks
691 1 Anonymous
             !AddType text/html .shtml
692 1 Anonymous
             <!FilesMatch "\.shtml[!.$]">
693 1 Anonymous
                 !SetOutputFilter INCLUDES
694 1 Anonymous
             </!FilesMatch>
695 1 Anonymous
         </Directory>
696 1 Anonymous
697 1 Anonymous
         !ErrorDocument 400 /errordocs/400_BAD_REQUEST
698 1 Anonymous
         !ErrorDocument 401 /errordocs/401_UNAUTHORIZED
699 1 Anonymous
         !ErrorDocument 403 /errordocs/403_FORBIDDEN
700 1 Anonymous
         !ErrorDocument 404 /errordocs/404_NOT_FOUND
701 1 Anonymous
         !ErrorDocument 405 /errordocs/405_METHOD_NOT_ALLOWED
702 1 Anonymous
         !ErrorDocument 406 /errordocs/406_NOT_ACCEPTABLE
703 1 Anonymous
         !ErrorDocument 408 /errordocs/408_REQUEST_TIMEOUT
704 1 Anonymous
         !ErrorDocument 410 /errordocs/410_GONE
705 1 Anonymous
         !ErrorDocument 411 /errordocs/411_LENGTH_REQUIRED
706 1 Anonymous
         !ErrorDocument 412 /errordocs/412_PRECONDITION_FAILED
707 1 Anonymous
         !ErrorDocument 413 /errordocs/413_REQUEST_ENTITY_TOO_LARGE
708 1 Anonymous
         !ErrorDocument 414 /errordocs/414_REQUEST_URI_TOO_LARGE
709 1 Anonymous
         !ErrorDocument 415 /errordocs/415_UNSUPPORTED_MEDIA_TYPE
710 1 Anonymous
         !ErrorDocument 500 /errordocs/500_INTERNAL_SERVER_ERROR
711 1 Anonymous
         !ErrorDocument 501 /errordocs/501_NOT_IMPLEMENTED
712 1 Anonymous
         !ErrorDocument 502 /errordocs/502_BAD_GATEWAY
713 1 Anonymous
         !ErrorDocument 503 /errordocs/503_SERVICE_UNAVAILABLE
714 1 Anonymous
         !ErrorDocument 506 /errordocs/506_VARIANT_ALSO_VARIES
715 1 Anonymous
     </!IfModule>
716 1 Anonymous
 </!IfModule>
717 1 Anonymous
718 1 Anonymous
 <Location /server-status>
719 1 Anonymous
     !SetHandler server-status
720 1 Anonymous
     Order deny,allow
721 1 Anonymous
     Deny from all
722 1 Anonymous
     Allow from .cs.nott.ac.uk
723 1 Anonymous
 </Location>
724 1 Anonymous
725 1 Anonymous
 <Location /server-info>
726 1 Anonymous
     !SetHandler server-info
727 1 Anonymous
     Order deny,allow
728 1 Anonymous
     Deny from all
729 1 Anonymous
     Allow from .cs.nott.ac.uk
730 1 Anonymous
 </Location>
731 1 Anonymous
}}} 
732 1 Anonymous
733 1 Anonymous
Make sure that the server accepts connections to port 80. Check the firewall settings in  ''/etc/sysconfig/iptables'' for the following entry:[[BR]] 	-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
734 1 Anonymous
735 1 Anonymous
736 1 Anonymous
737 1 Anonymous
Make sure that the apache daemon is running, and that it will start at boot time:
738 1 Anonymous
739 1 Anonymous
 /sbin/service httpd start
740 1 Anonymous
 /sbin/chkconfig --add httpd[[BR]] /sbin/chkconfig httpd on
741 1 Anonymous
742 1 Anonymous
743 1 Anonymous
744 1 Anonymous
745 1 Anonymous
== Email Configuration ==
746 1 Anonymous
The ProCKSI server component send emails to the user for several occasions. In order to make sure that they are delivered correctly even when the internet is temporarily not available, a local SMTP server (''postfix'') is set up. This will accect emails from the private network only, store them temporarily (if necessary), and forward them to an email relay server.
747 1 Anonymous
748 1 Anonymous
749 1 Anonymous
750 1 Anonymous
Make sure that ''postfix'' is the default mailing software (and not ''sendmail''!).
751 1 Anonymous
752 1 Anonymous
 system-switch-mail -activate postfix
753 1 Anonymous
754 1 Anonymous
Make the following changes to the ''postfix ''configuration file (''/etc/postfix/main.cf''):
755 1 Anonymous
756 1 Anonymous
{{{
757 1 Anonymous
 myhostname = procksi0.cs.nott.ac.uk
758 1 Anonymous
 mydomain = cs.nott.ac.uk
759 1 Anonymous
 myorigin = $mydomai
760 1 Anonymous
 inet_interfaces = all
761 1 Anonymous
 mydestination = $myhostname, localhost!.$mydomain, localhost
762 1 Anonymous
 mynetworks_style = subnet
763 1 Anonymous
 virtual_alias_maps = hash:/etc/postfix/virtual
764 1 Anonymous
 relayhost = marian.cs.nott.ac.uk
765 1 Anonymous
}}}
766 1 Anonymous
767 1 Anonymous
Create or modify /etc/postfix/virtual:
768 1 Anonymous
769 1 Anonymous
{{{
770 1 Anonymous
 root            root@localhost
771 1 Anonymous
 postmaster      postmaster@localhost
772 1 Anonymous
 adm             root@localhost
773 1 Anonymous
}}}
774 1 Anonymous
775 1 Anonymous
Generate the corresponding database file (''virtual.db''):
776 1 Anonymous
777 1 Anonymous
 postmap /etc/postfix/virtual
778 1 Anonymous
779 1 Anonymous
 
780 1 Anonymous
781 1 Anonymous
Make sure that the postfix daemon is running, and that it will start at boot time:
782 1 Anonymous
783 1 Anonymous
 /sbin/service postfix start[[br]]
784 1 Anonymous
 /sbin/chkconfig --add postfix[[BR]] 
785 1 Anonymous
 /sbin/chkconfig postfix on[[br]]
786 1 Anonymous
787 1 Anonymous
Make sure that the firewall is not open for port 25 or port 28!
788 1 Anonymous
789 1 Anonymous
Check that the STMTP server in ''/home/procksi/latest/conf/main.ini'' is set correctly set to ''procksi0.cs.nott.ac.uk''
790 1 Anonymous
791 1 Anonymous
792 1 Anonymous
793 1 Anonymous
794 1 Anonymous
== Garbage Cleanup Scheduling ==
795 1 Anonymous
After a certain period of time, given in ''/home/procksi/latest/conf/main.ini'', sessions and requests expire and must be deleted. 
796 1 Anonymous
797 1 Anonymous
798 1 Anonymous
799 1 Anonymous
Edit ''procksi's'' crontab file taking effect for the ''latest'' and ''test'' version:
800 1 Anonymous
801 1 Anonymous
 crontab -e[[BR]] 
802 1 Anonymous
{{{
803 1 Anonymous
 0-59/1 * * * * /home/procksi/latest/cron/check_sessions.sh
804 1 Anonymous
 1-59/1 * * * * /home/procksi/latest/cron/check_tasks.sh
805 1 Anonymous
 2-59/1 * * * * /home/procksi/latest/cron/check_requests.sh
806 1 Anonymous
}}}
807 1 Anonymous
808 1 Anonymous
Analogously for ''/home/procksi/test''
809 1 Anonymous
810 1 Anonymous
 
811 1 Anonymous
812 1 Anonymous
813 1 Anonymous
== Linking External Software ==
814 1 Anonymous
Make sure that all links in ''/home/procksi/latest/bin'' point to the correct files of the operating system: 
815 1 Anonymous
816 1 Anonymous
 sh, compress, bzip2, gzip, zip, ppmz, qsub
817 1 Anonymous
818 1 Anonymous
819 1 Anonymous
820 1 Anonymous
Make sure that all further executable links in ''/home/procksi/latest/bin'' point to the correct files on the file system: 
821 1 Anonymous
822 1 Anonymous
 exec_cluster, exec_!DaliLite, exec_MaxCMO, exec_molauto, exec_molscript