InstallationGuide » History » Version 1

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