Project

General

Profile

Start with existing CentOS installation » History » Version 21

Amber Herold, 03/08/2010 02:35 PM

1 1 Amber Herold
h1. Start with existing CentOS installation
2 5 Amber Herold
3
{{>toc}}
4 1 Amber Herold
5 13 Amber Herold
h2. 3 Download additional software 
6 2 Amber Herold
7 13 Amber Herold
h3. 3.1 Install the additional package repositories 
8 2 Amber Herold
9
*NOTE*
10
11
There are several additional CentOS repositories that you can install.
12
These repositories provide additional packages, such as patented software (MP3 players),
13
closed source applications (Flash plugin, Adobe Acrobat Reader)
14
and lesser used packages (python numpy, Gnu Scientific Library).
15
But some repositories install packages over other packages,
16
which can cause problems and conflicts (ATrpms is bad at this). So I recommend only installing
17
EPEL and RPM Fusion. Read more here:
18
"CentOS Additional Repositories":http://wiki.centos.org/AdditionalResources/Repositories 
19
20 13 Amber Herold
h4. 3.1.1 Extra Packages for Enterprise Linux (EPEL) 
21 2 Amber Herold
22 12 Amber Herold
* http://fedoraproject.org/wiki/EPEL
23
* contains a wealth of packages required for appion
24 2 Amber Herold
25
.Download repository rpm and install
26
27
<pre>
28
$ sudo rpm -Uvh http://download.fedora.redhat.com/pub/epel/5/`uname -i`/epel-release-5-3.noarch.rpm
29
</pre>
30 1 Amber Herold
31 13 Amber Herold
h4. 3.1.2 RPM Fusion 
32 2 Amber Herold
33 12 Amber Herold
* http://rpmfusion.org/
34
* good for mp3 and other patent limited software
35 2 Amber Herold
36
.Download repository rpms and install
37
38
<pre>
39
$ sudo rpm -Uhv http://download1.rpmfusion.org/free/el/updates/testing/5/`uname -i`/rpmfusion-free-release-5-0.1.noarch.rpm
40
$ sudo rpm -Uvh http://download1.rpmfusion.org/nonfree/el/updates/testing/5/`uname -i`/rpmfusion-nonfree-release-5-0.1.noarch.rpm
41
</pre>
42
43 13 Amber Herold
h3. 3.2 Update current packages 
44 2 Amber Herold
45
.Update the updater to make life easier
46
47
<pre>
48
$ sudo yum -y update yum
49
</pre>
50
51
.Update all packages
52
53 1 Amber Herold
<pre>
54
$ sudo yum -y update
55
</pre>
56
57
*NOTE*
58 2 Amber Herold
Download was over 129 MB (in July 2009). If you have a slow internet connection you can setup presto/deltarpms, "see this email]":http://www.linux-archive.org/centos-development/222706-presto-deltarpm.html 
59 18 Amber Herold
You may want to restart your computer when this completes.
60 2 Amber Herold
61 19 Amber Herold
h4. .Install Complete list of additional packages:
62 2 Amber Herold
63 12 Amber Herold
* *python tools*: python-tools python-devel
64
* *general applications*: subversion ImageMagick grace gnuplot python-matplotlib
65
* *Tilt Picker*: wxPython numpy scipy python-imaging
66
* *FindEM*: gcc-gfortran compat-gcc-34-g77
67
* *Ace 2*: gcc-objc fftw3-devel gsl-devel
68
* *Sinedon*: mysql mysql-server MySQL-python
69
* *DBEM*: httpd php php-mysql phpMyAdmin
70
* *Xmipp MPI*: gcc-c++ openmpi-devel libtiff-devel
71
* *MRC tools*: php-devel gd-devel re2c fftw2-devel php-gd
72
* *UCSF Chimera imaging*: xorg-x11-server-Xvfb
73 2 Amber Herold
74
<pre>
75
$ sudo yum -y install \
76
python-tools python-devel python-matplotlib \
77
subversion ImageMagick grace gnuplot \
78
wxPython numpy scipy python-imaging \
79
gcc-gfortran compat-gcc-34-g77 \
80
gcc-objc fftw3-devel gsl-devel \
81
mysql mysql-server MySQL-python \
82
httpd php php-mysql phpMyAdmin  \
83
gcc-c++ openmpi-devel libtiff-devel \
84
php-devel gd-devel re2c fftw2-devel php-gd \
85
xorg-x11-server-Xvfb
86
</pre>
87
88
If you have an nVidia video card and setup RPM fusion, install the nVidia binary, will speed things up especially for UCSF Chimera
89
90
<pre>
91
$ sudo yum -y install nvidia-x11-drv
92
</pre>
93
94
.Clean up packages to save drive space
95
96
<pre>
97
$ sudo yum clean all
98
</pre>
99
100
.Re-index the hard drive, this will come in handy later
101
102 1 Amber Herold
<pre>
103 2 Amber Herold
$ sudo updatedb
104
</pre>
105
106
.Enable servers on reboot
107
108
<pre>
109
$ sudo /sbin/chkconfig httpd on
110
</pre>
111
112
<pre>
113
$ sudo /sbin/chkconfig mysqld on
114
</pre>
115
116
You can further configure this with the GUI and turn off unnecessary items
117
118
<pre>
119
$ system-config-services
120
</pre>
121
122
.Reboot the computer
123 1 Amber Herold
124 2 Amber Herold
<pre>
125
$ sudo reboot
126
</pre>
127 1 Amber Herold
128 21 Amber Herold
h2. 4 mrc.so PHP Extension Installation
129 13 Amber Herold
130 20 Amber Herold
-Refer to [[Start_with_existing_ANY_Linux_flavor_OS#5-Processing-server-side-installation|Processing server-side installation]]-
131
132
h3. Install mrc PHP extension
133
134
http://emg.nysbc.org/software/mrctools/mrc_so.php
135 2 Amber Herold
136
----
137
138 17 Amber Herold
h2. 5 Compile and setup Appion python programs 
139 2 Amber Herold
140 13 Amber Herold
h3. 5.1 Compile FindEM 
141 2 Amber Herold
142 12 Amber Herold
* Goto pyappion/findem folder to make findem.exe
143 2 Amber Herold
144 12 Amber Herold
* Compile the libraries and binary
145 2 Amber Herold
146
<pre>
147
$ make
148
</pre>
149
150 12 Amber Herold
* Test findem.exe to see if it runs
151 2 Amber Herold
152
<pre>
153
$ make test
154
</pre>
155
156
*WARNING*
157
Only if the first part fails, you must add the path to libg2c.so library file.
158
Otherwise skip to next section.
159
160 11 Amber Herold
* locate libg2c.so library file
161 2 Amber Herold
162
<pre>
163
$ ls /usr/lib/gcc/`uname -i`-redhat-linux/3.4.6/libg2c.so
164
</pre>
165
166 1 Amber Herold
<pre>
167 2 Amber Herold
$ locate libg2c.so
168
</pre>
169
170 1 Amber Herold
* Edit Makefile with location of libg2c.so
171 2 Amber Herold
172
<pre>
173
$ nano Makefile
174
</pre>
175 1 Amber Herold
176 11 Amber Herold
* Example: EXLIBS=-L/usr/lib/gcc/i386-redhat-linux/3.4.6/ -lg2c
177
* Re-compile
178 2 Amber Herold
179 13 Amber Herold
h3. 5.2 Compile Ace2 
180 2 Amber Herold
181
*WARNING*
182
ace2 typically requires fftw 3.2 or greater, but you can remove the FFTW_WISDOM_ONLY flag in Image.m
183
184 1 Amber Herold
*NOTE*
185 2 Amber Herold
64 bit binaries are included with pyappion
186 1 Amber Herold
187 11 Amber Herold
* Goto pyappion/ace2
188 1 Amber Herold
* compile the libraries and binary
189 11 Amber Herold
* test to see if program runs
190 2 Amber Herold
191
<pre>
192
$ make
193
$ ./ace2.exe -h
194 1 Amber Herold
$ ./ace2correct.exe -h
195 2 Amber Herold
$ mv -v ./ace2*.exe ../bin
196
</pre>
197
198 13 Amber Herold
h3. 5.3 Compile Radermacher module 
199 2 Amber Herold
200 11 Amber Herold
* Goto pyappion/radermacher
201 2 Amber Herold
202 11 Amber Herold
* compile the libraries and binary
203 1 Amber Herold
204 2 Amber Herold
<pre>
205 1 Amber Herold
$ python ./setup.py build
206 2 Amber Herold
</pre>
207
208 11 Amber Herold
* install module globally
209 2 Amber Herold
210
<pre>
211
$ sudo python ./setup.py install
212
</pre>
213
214 1 Amber Herold
* test installed module
215 2 Amber Herold
216
<pre>
217
$ python
218
</pre>
219
220
<pre>
221
>>> import radermacher
222
>>> <Ctrl-D>
223
</pre>
224
225 13 Amber Herold
h3. 5.4 Test PyAppion 
226 2 Amber Herold
227 11 Amber Herold
* Go into pyappion directory
228
* Add leginon to PYTHONPATH if Leginon is built locally
229 2 Amber Herold
230
<pre>
231
$ export PYTHONPATH="$LEGINONPATH:$PYTHONPATH"
232
</pre>
233
234 11 Amber Herold
* Add pyappion lib to PYTHONPATH
235 2 Amber Herold
236
<pre>
237
$ export PYTHONPATH="/your-complete-path-to-pyappion/lib:$PYTHONPATH"
238
</pre>
239 1 Amber Herold
240
* Run the test script
241 2 Amber Herold
242
<pre>
243
$ ./check.sh
244
</pre>
245
246
*NOTE*
247
You can ignore EMAN, MATLAB, and UCSF Chimera errors at this point
248
249
----
250
251 13 Amber Herold
h2. 6 Setup MySQL (appiondata) databases 
252 2 Amber Herold
253 13 Amber Herold
Refer to [[Start_with_existing_ANY_Linux_flavor_OS#2-Setup-MySQL-databases|Setup MySQL databases]]
254 2 Amber Herold
255
h3. Configure MySQL 
256
257
Edit the configuration file:
258
259
<pre>
260
$ sudo nano /etc/my.cnf
261
</pre>
262
263
Add or edit the following lines:
264
265
<pre>
266
query_cache_type = 1
267
query_cache_size = 100M
268
query_cache_limit= 100M
269
</pre>
270
271
Restart MySQL
272
273
<pre>
274
$ sudo /sbin/service mysqld restart
275
</pre>
276
277
h3. Configure phpMyAdmin 
278
279
Edit the phpMyAdmin config file:
280
281
<pre>
282
$ sudo nano /etc/phpMyAdmin/config.inc.php
283
</pre> 
284
285
and change the following lines:
286
287
<pre>
288
$cfg['Servers'][$i]['AllowRoot']     = FALSE;
289
</pre>
290
291
Edit the phpMyAdmin apache config file:
292 1 Amber Herold
293
<pre>
294 2 Amber Herold
$ sudo nano /etc/httpd/conf.d/phpMyAdmin.conf
295
</pre>
296
297
and change the following lines:
298
299 1 Amber Herold
<pre>
300 2 Amber Herold
<Directory /usr/share/phpMyAdmin/>
301
   order deny,allow
302
   deny from all
303
   allow from 127.0.0.1
304
   allow from YOUR_IP_ADDRESS
305
</Directory>
306
</pre>
307
308
----
309
310 13 Amber Herold
h2. 7 Install webpages (appionweb)
311 2 Amber Herold
312 14 Amber Herold
Refer to [[Start_with_existing_ANY_Linux_flavor_OS#3-Web-server-side-installation|Web server side installation]]
313 2 Amber Herold
314
h3. Install MRC Tools 
315
316 1 Amber Herold
h4. Compile MRC tools 
317 2 Amber Herold
318 13 Amber Herold
* Go to your php devel directory and untar the archive
319
* If unsure where it is, use info.php to find it under *extension_dir*
320 2 Amber Herold
321
<pre>
322
$ cd /usr/include/php/ext/
323
$ sudo mkdir mrc
324 1 Amber Herold
$ sudo chmod 777 mrc
325 2 Amber Herold
$ sudo chown $USER mrc
326
</pre>
327 1 Amber Herold
328 13 Amber Herold
* Unpackage MRC Tools from http://emg.nysbc.org/software/mrctools/
329 2 Amber Herold
330
<pre>
331
$ tar zxvf ~/php_mrc.tgz
332
$ cd mrc/
333
</pre>
334
335 13 Amber Herold
* Compile and install the MRC module
336 2 Amber Herold
337
<pre>
338
$ phpize
339
$ ./configure 
340
$ make
341
$ sudo make install
342 1 Amber Herold
</pre>
343 2 Amber Herold
344
h4. Configure PHP for MRC Tools 
345
346 13 Amber Herold
* Edit your php configuration file php.ini to add "mrc.so" extension.
347 1 Amber Herold
348 2 Amber Herold
<pre>
349
$ sudo nano /etc/php.d/mrc.ini
350 1 Amber Herold
</pre>
351 2 Amber Herold
352 13 Amber Herold
* add mrc.so to extensions
353 2 Amber Herold
354
<pre>
355 1 Amber Herold
; Enable mrc extension module
356 2 Amber Herold
extension=mrc.so
357
</pre>
358
359 13 Amber Herold
* To test MRC tools, go to this website:
360 2 Amber Herold
http://emg.nysbc.org/software/mrctools/mrc_so.php
361
362
h3. Configure PHP 
363
364 13 Amber Herold
* increase the memory limit, EM images are big 64MB:
365 2 Amber Herold
366
<pre>
367
memory_limit = 256M; Maximum amount of memory
368
</pre>
369
370 13 Amber Herold
* Turn error display on:
371 2 Amber Herold
372
<pre>
373
display_errors = On
374
</pre>
375
376 1 Amber Herold
<pre>
377
error_reporting = E_ALL & ~E_NOTICE
378
</pre>
379 2 Amber Herold
380 13 Amber Herold
* restart the webserver
381 2 Amber Herold
382
<pre>
383
$ sudo /sbin/service httpd restart
384
</pre>
385
386
h3. Install DBEM and project php source 
387
388 15 Amber Herold
Please consult the other [[Start_with_existing_ANY_Linux_flavor_OS#3-Web-server-side-installation|Install guide]]
389 2 Amber Herold
390
h3. Configuration 
391
392
h4. configure apache 
393
394 13 Amber Herold
* allow REMOTE_HOST lookups in apache
395 2 Amber Herold
396
<pre>
397
$ sudo nano /etc/httpd/conf/httpd.conf
398
</pre>
399
400 13 Amber Herold
* turn _HostnameLookups_ to On
401 2 Amber Herold
402
<pre>
403
HostnameLookups On
404
</pre>
405
406 13 Amber Herold
* restart the webserver
407 2 Amber Herold
408
<pre>
409
$ sudo /sbin/service httpd restart
410
</pre>
411
412
h4. configure project_1_2, dbem_1_5_1, and dbem_1_5_1/processing 
413 1 Amber Herold
414 15 Amber Herold
Please consult the other [[Start_with_existing_ANY_Linux_flavor_OS#3-Web-server-side-installation|Install guide]]
415 2 Amber Herold
416
h3. Initialize database tables from the web tools 
417
418 16 Amber Herold
Please consult [[Start_with_existing_ANY_Linux_flavor_OS#4-Create-a-test-project-and-processing-database|Create a test project and processing database]]
419 2 Amber Herold
420
h3. Potential problems 
421
422
h4. Firewall settings 
423
424
You may need to configure your firewall to allow incoming HTTP (port 80) and MySQL (port 3306) traffic:
425
426
<pre>
427
$ system-config-securitylevel
428
</pre>
429
430
h4. Security-enhanced linux 
431
432
"Security-enhanced linux (SELinux)":http://en.wikipedia.org/wiki/Security-Enhanced_Linux  may be preventing your files from loading. To fix this run the following command:
433
434
<pre>
435
$ sudo /usr/bin/chcon -R -t httpd_sys_content_t /var/www/html/
436
</pre>
437
438
see "this website":http://docs.fedoraproject.org/selinux-apache-fc3/sn-simple-setup.html  for more details on SELinux
439
440
----
441
442 13 Amber Herold
h2. 8 Install external packages 
443
444 2 Amber Herold
*Please follow individual package installation instruction provided with them*
445
446
h3. Compile Xmipp for OpenMPI 
447
448 13 Amber Herold
* For more info, see http://xmipp.cnb.csic.es/twiki/bin/view/Xmipp/InstallingTheSoftware
449
* Go into Xmipp source directory
450
* Find openmpi directory
451 2 Amber Herold
452
<pre>
453
$ locate libmpi.so
454
</pre>
455
456
<pre>
457
/usr/lib/openmpi/1.2.7-gcc/lib/libmpi.so
458
</pre>
459
460 13 Amber Herold
* Setup Xmipp to use openmpi by changing three lines in SConstruct
461 2 Amber Herold
462
<pre>
463
$ cp SConstruct SConstruct.orig
464
</pre>
465
466
<pre>
467
$ nano SConstruct
468
</pre>
469
470
<pre>
471
opts.Add('MPI_INCLUDE', 'MPI headers dir ', '/usr/lib/openmpi/1.2.7-gcc/include/')
472
opts.Add('MPI_LIBDIR', 'MPI libraries dir ', '/usr/lib/openmpi/1.2.7-gcc/lib/')
473
opts.Add('MPI_LIB', 'MPI library', 'mpi')
474
</pre>
475
476 13 Amber Herold
* Compile
477 2 Amber Herold
478
<pre>
479
$ sudo mpi-selector --yes --system --set `rpm --qf '%{NAME}-%{VERSION}-gcc-%{ARCH}\n' -q openmpi`
480
</pre>
481
482
<pre>
483
$ export PATH=$PATH:/usr/lib/openmpi/1.2.7-gcc/bin
484
</pre>
485
486
<pre>
487
$ ./scons.configure
488
</pre>
489
490
you should see the line:
491
492
<pre>
493
* Checking for MPI ... yes
494
</pre>
495
496
<pre>
497
$ ./scons.compile
498
</pre>
499
500 13 Amber Herold
h2. 9 Install a PBS job submission system
501 2 Amber Herold
502
You'll need to install a "Portable Batch System":http://en.wikipedia.org/wiki/Portable_Batch_System for job submission, such as "TORQUE":http://en.wikipedia.org/wiki/TORQUE_Resource_Manager . I know Torque comes with Fedora 10, but not CentOS.
503
504 13 Amber Herold
* An RPM is available in the EPEL testing section
505 2 Amber Herold
506
<pre>
507
$ sudo yum -y --enablerepo=epel-testing install torque
508
</pre>
509
510
or another way to get packages
511
512
<pre>
513
$ wget http://centos.karan.org/el5/extras/testing/`uname -i`/RPMS/torque-2.1.9-1.el5.kb.`uname -i`.rpm
514
$ sudo yum -y localinstall --nogpgcheck torque-2.1.9-1.el5.kb.`uname -i`.rpm
515
$ #sudo rpm -Uhv torque-2.1.9-1.el5.kb.`uname -i`.rpm
516
</pre>
517
518
After installing torque it needs to be configured. Sorry, we have no documentation for configuring torque at this time. You may try http://www.clusterresources.com/products/torque-resource-manager.php