Project

General

Profile

Start with existing CentOS installation » History » Version 23

Amber Herold, 03/08/2010 02:57 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 22 Amber Herold
"php_mrc_src_1_5_1.tgz":http://emg.nysbc.org/software/dwd.php?id=N1HDb4ac22efb5b38b05fd3575d42d3e4adc2
137
138 23 Amber Herold
139
-- build MRC as a php shared extension --
140
141
Download php_mrc_src_[x].tgz from http://emg.nysbc.org/software/mrctools
142
143
h4. cd to your php devel directory
144
145
> cd /usr/include/php/ext/
146
> mv [downloads]/php_mrc_src_[x].tgz .
147
148
h4. untar the archive
149
150
> tar zxvf php_mrc_src_[x].tgz
151
> cd mrc/
152
153
h4. Make sure that GD and FFTW 3 devel libraries are installed
154
155
> phpize
156
> ./configure 
157
> make
158
> make install
159
160
Shared Library Installation
161
162
h4.  mrc.so should be in your php extension directory
163
164
> ls /usr/lib/php/extensions
165
mrc.so
166
167
h4. Make sure that GD and FFTW 3 libraries are installed
168
169
170
# edit your  php configuration file php.ini to add "mrc.so" extension.
171
# You might also increase the memory_limit field. It is set to 8M by default. The more the merrier!
172
# 4kx4k float MRC image is about 64MB
173
> vi /etc/php.ini
174
175
# increase memory
176
## memory_limit = 256M; Maximum amount of memory
177
# check extension_dir value
178
## extension_dir = /usr/lib/php/extensions
179
180
[extension section]
181
182
h4. add the following at the end of the extension section
183
184
extension=mrc.so
185
186
OR if your linux distro has a /etc/php.d directory:
187
188
> cd /etc/php.d
189
> vi mrc.ini
190
191
h4. add the following lines
192
193
 ; Enable mrc extension module
194
 extension=mrc.so
195
196
197
h4. restart your webserver
198
199
> /etc/init.d/apache2 restart
200
201
OR
202
203
> /etc/init.d/httpd restart
204
205
206 2 Amber Herold
----
207
208 17 Amber Herold
h2. 5 Compile and setup Appion python programs 
209 2 Amber Herold
210 13 Amber Herold
h3. 5.1 Compile FindEM 
211 2 Amber Herold
212 12 Amber Herold
* Goto pyappion/findem folder to make findem.exe
213 2 Amber Herold
214 12 Amber Herold
* Compile the libraries and binary
215 2 Amber Herold
216
<pre>
217
$ make
218
</pre>
219
220 12 Amber Herold
* Test findem.exe to see if it runs
221 2 Amber Herold
222
<pre>
223
$ make test
224
</pre>
225
226
*WARNING*
227
Only if the first part fails, you must add the path to libg2c.so library file.
228
Otherwise skip to next section.
229
230 11 Amber Herold
* locate libg2c.so library file
231 2 Amber Herold
232
<pre>
233
$ ls /usr/lib/gcc/`uname -i`-redhat-linux/3.4.6/libg2c.so
234
</pre>
235
236 1 Amber Herold
<pre>
237 2 Amber Herold
$ locate libg2c.so
238
</pre>
239
240 1 Amber Herold
* Edit Makefile with location of libg2c.so
241 2 Amber Herold
242
<pre>
243
$ nano Makefile
244
</pre>
245 1 Amber Herold
246 11 Amber Herold
* Example: EXLIBS=-L/usr/lib/gcc/i386-redhat-linux/3.4.6/ -lg2c
247
* Re-compile
248 2 Amber Herold
249 13 Amber Herold
h3. 5.2 Compile Ace2 
250 2 Amber Herold
251
*WARNING*
252
ace2 typically requires fftw 3.2 or greater, but you can remove the FFTW_WISDOM_ONLY flag in Image.m
253
254 1 Amber Herold
*NOTE*
255 2 Amber Herold
64 bit binaries are included with pyappion
256 1 Amber Herold
257 11 Amber Herold
* Goto pyappion/ace2
258 1 Amber Herold
* compile the libraries and binary
259 11 Amber Herold
* test to see if program runs
260 2 Amber Herold
261
<pre>
262
$ make
263
$ ./ace2.exe -h
264 1 Amber Herold
$ ./ace2correct.exe -h
265 2 Amber Herold
$ mv -v ./ace2*.exe ../bin
266
</pre>
267
268 13 Amber Herold
h3. 5.3 Compile Radermacher module 
269 2 Amber Herold
270 11 Amber Herold
* Goto pyappion/radermacher
271 2 Amber Herold
272 11 Amber Herold
* compile the libraries and binary
273 1 Amber Herold
274 2 Amber Herold
<pre>
275 1 Amber Herold
$ python ./setup.py build
276 2 Amber Herold
</pre>
277
278 11 Amber Herold
* install module globally
279 2 Amber Herold
280
<pre>
281
$ sudo python ./setup.py install
282
</pre>
283
284 1 Amber Herold
* test installed module
285 2 Amber Herold
286
<pre>
287
$ python
288
</pre>
289
290
<pre>
291
>>> import radermacher
292
>>> <Ctrl-D>
293
</pre>
294
295 13 Amber Herold
h3. 5.4 Test PyAppion 
296 2 Amber Herold
297 11 Amber Herold
* Go into pyappion directory
298
* Add leginon to PYTHONPATH if Leginon is built locally
299 2 Amber Herold
300
<pre>
301
$ export PYTHONPATH="$LEGINONPATH:$PYTHONPATH"
302
</pre>
303
304 11 Amber Herold
* Add pyappion lib to PYTHONPATH
305 2 Amber Herold
306
<pre>
307
$ export PYTHONPATH="/your-complete-path-to-pyappion/lib:$PYTHONPATH"
308
</pre>
309 1 Amber Herold
310
* Run the test script
311 2 Amber Herold
312
<pre>
313
$ ./check.sh
314
</pre>
315
316
*NOTE*
317
You can ignore EMAN, MATLAB, and UCSF Chimera errors at this point
318
319
----
320
321 13 Amber Herold
h2. 6 Setup MySQL (appiondata) databases 
322 2 Amber Herold
323 13 Amber Herold
Refer to [[Start_with_existing_ANY_Linux_flavor_OS#2-Setup-MySQL-databases|Setup MySQL databases]]
324 2 Amber Herold
325
h3. Configure MySQL 
326
327
Edit the configuration file:
328
329
<pre>
330
$ sudo nano /etc/my.cnf
331
</pre>
332
333
Add or edit the following lines:
334
335
<pre>
336
query_cache_type = 1
337
query_cache_size = 100M
338
query_cache_limit= 100M
339
</pre>
340
341
Restart MySQL
342
343
<pre>
344
$ sudo /sbin/service mysqld restart
345
</pre>
346
347
h3. Configure phpMyAdmin 
348
349
Edit the phpMyAdmin config file:
350
351
<pre>
352
$ sudo nano /etc/phpMyAdmin/config.inc.php
353
</pre> 
354
355
and change the following lines:
356
357
<pre>
358
$cfg['Servers'][$i]['AllowRoot']     = FALSE;
359
</pre>
360
361
Edit the phpMyAdmin apache config file:
362 1 Amber Herold
363
<pre>
364 2 Amber Herold
$ sudo nano /etc/httpd/conf.d/phpMyAdmin.conf
365
</pre>
366
367
and change the following lines:
368
369 1 Amber Herold
<pre>
370 2 Amber Herold
<Directory /usr/share/phpMyAdmin/>
371
   order deny,allow
372
   deny from all
373
   allow from 127.0.0.1
374
   allow from YOUR_IP_ADDRESS
375
</Directory>
376
</pre>
377
378
----
379
380 13 Amber Herold
h2. 7 Install webpages (appionweb)
381 2 Amber Herold
382 14 Amber Herold
Refer to [[Start_with_existing_ANY_Linux_flavor_OS#3-Web-server-side-installation|Web server side installation]]
383 2 Amber Herold
384
h3. Install MRC Tools 
385
386 1 Amber Herold
h4. Compile MRC tools 
387 2 Amber Herold
388 13 Amber Herold
* Go to your php devel directory and untar the archive
389
* If unsure where it is, use info.php to find it under *extension_dir*
390 2 Amber Herold
391
<pre>
392
$ cd /usr/include/php/ext/
393
$ sudo mkdir mrc
394 1 Amber Herold
$ sudo chmod 777 mrc
395 2 Amber Herold
$ sudo chown $USER mrc
396
</pre>
397 1 Amber Herold
398 13 Amber Herold
* Unpackage MRC Tools from http://emg.nysbc.org/software/mrctools/
399 2 Amber Herold
400
<pre>
401
$ tar zxvf ~/php_mrc.tgz
402
$ cd mrc/
403
</pre>
404
405 13 Amber Herold
* Compile and install the MRC module
406 2 Amber Herold
407
<pre>
408
$ phpize
409
$ ./configure 
410
$ make
411
$ sudo make install
412 1 Amber Herold
</pre>
413 2 Amber Herold
414
h4. Configure PHP for MRC Tools 
415
416 13 Amber Herold
* Edit your php configuration file php.ini to add "mrc.so" extension.
417 1 Amber Herold
418 2 Amber Herold
<pre>
419
$ sudo nano /etc/php.d/mrc.ini
420 1 Amber Herold
</pre>
421 2 Amber Herold
422 13 Amber Herold
* add mrc.so to extensions
423 2 Amber Herold
424
<pre>
425 1 Amber Herold
; Enable mrc extension module
426 2 Amber Herold
extension=mrc.so
427
</pre>
428
429 13 Amber Herold
* To test MRC tools, go to this website:
430 2 Amber Herold
http://emg.nysbc.org/software/mrctools/mrc_so.php
431
432
h3. Configure PHP 
433
434 13 Amber Herold
* increase the memory limit, EM images are big 64MB:
435 2 Amber Herold
436
<pre>
437
memory_limit = 256M; Maximum amount of memory
438
</pre>
439
440 13 Amber Herold
* Turn error display on:
441 2 Amber Herold
442
<pre>
443
display_errors = On
444
</pre>
445
446 1 Amber Herold
<pre>
447
error_reporting = E_ALL & ~E_NOTICE
448
</pre>
449 2 Amber Herold
450 13 Amber Herold
* restart the webserver
451 2 Amber Herold
452
<pre>
453
$ sudo /sbin/service httpd restart
454
</pre>
455
456
h3. Install DBEM and project php source 
457
458 15 Amber Herold
Please consult the other [[Start_with_existing_ANY_Linux_flavor_OS#3-Web-server-side-installation|Install guide]]
459 2 Amber Herold
460
h3. Configuration 
461
462
h4. configure apache 
463
464 13 Amber Herold
* allow REMOTE_HOST lookups in apache
465 2 Amber Herold
466
<pre>
467
$ sudo nano /etc/httpd/conf/httpd.conf
468
</pre>
469
470 13 Amber Herold
* turn _HostnameLookups_ to On
471 2 Amber Herold
472
<pre>
473
HostnameLookups On
474
</pre>
475
476 13 Amber Herold
* restart the webserver
477 2 Amber Herold
478
<pre>
479
$ sudo /sbin/service httpd restart
480
</pre>
481
482
h4. configure project_1_2, dbem_1_5_1, and dbem_1_5_1/processing 
483 1 Amber Herold
484 15 Amber Herold
Please consult the other [[Start_with_existing_ANY_Linux_flavor_OS#3-Web-server-side-installation|Install guide]]
485 2 Amber Herold
486
h3. Initialize database tables from the web tools 
487
488 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]]
489 2 Amber Herold
490
h3. Potential problems 
491
492
h4. Firewall settings 
493
494
You may need to configure your firewall to allow incoming HTTP (port 80) and MySQL (port 3306) traffic:
495
496
<pre>
497
$ system-config-securitylevel
498
</pre>
499
500
h4. Security-enhanced linux 
501
502
"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:
503
504
<pre>
505
$ sudo /usr/bin/chcon -R -t httpd_sys_content_t /var/www/html/
506
</pre>
507
508
see "this website":http://docs.fedoraproject.org/selinux-apache-fc3/sn-simple-setup.html  for more details on SELinux
509
510
----
511
512 13 Amber Herold
h2. 8 Install external packages 
513
514 2 Amber Herold
*Please follow individual package installation instruction provided with them*
515
516
h3. Compile Xmipp for OpenMPI 
517
518 13 Amber Herold
* For more info, see http://xmipp.cnb.csic.es/twiki/bin/view/Xmipp/InstallingTheSoftware
519
* Go into Xmipp source directory
520
* Find openmpi directory
521 2 Amber Herold
522
<pre>
523
$ locate libmpi.so
524
</pre>
525
526
<pre>
527
/usr/lib/openmpi/1.2.7-gcc/lib/libmpi.so
528
</pre>
529
530 13 Amber Herold
* Setup Xmipp to use openmpi by changing three lines in SConstruct
531 2 Amber Herold
532
<pre>
533
$ cp SConstruct SConstruct.orig
534
</pre>
535
536
<pre>
537
$ nano SConstruct
538
</pre>
539
540
<pre>
541
opts.Add('MPI_INCLUDE', 'MPI headers dir ', '/usr/lib/openmpi/1.2.7-gcc/include/')
542
opts.Add('MPI_LIBDIR', 'MPI libraries dir ', '/usr/lib/openmpi/1.2.7-gcc/lib/')
543
opts.Add('MPI_LIB', 'MPI library', 'mpi')
544
</pre>
545
546 13 Amber Herold
* Compile
547 2 Amber Herold
548
<pre>
549
$ sudo mpi-selector --yes --system --set `rpm --qf '%{NAME}-%{VERSION}-gcc-%{ARCH}\n' -q openmpi`
550
</pre>
551
552
<pre>
553
$ export PATH=$PATH:/usr/lib/openmpi/1.2.7-gcc/bin
554
</pre>
555
556
<pre>
557
$ ./scons.configure
558
</pre>
559
560
you should see the line:
561
562
<pre>
563
* Checking for MPI ... yes
564
</pre>
565
566
<pre>
567
$ ./scons.compile
568
</pre>
569
570 13 Amber Herold
h2. 9 Install a PBS job submission system
571 2 Amber Herold
572
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.
573
574 13 Amber Herold
* An RPM is available in the EPEL testing section
575 2 Amber Herold
576
<pre>
577
$ sudo yum -y --enablerepo=epel-testing install torque
578
</pre>
579
580
or another way to get packages
581
582
<pre>
583
$ wget http://centos.karan.org/el5/extras/testing/`uname -i`/RPMS/torque-2.1.9-1.el5.kb.`uname -i`.rpm
584
$ sudo yum -y localinstall --nogpgcheck torque-2.1.9-1.el5.kb.`uname -i`.rpm
585
$ #sudo rpm -Uhv torque-2.1.9-1.el5.kb.`uname -i`.rpm
586
</pre>
587
588
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