Project

General

Profile

Appion Home » History » Version 26

Amber Herold, 04/01/2010 10:59 AM

1 1 Eric Hou
2 11 Amber Herold
h1. Complete Installation
3 6 Amber Herold
4
5 1 Eric Hou
6 16 Amber Herold
7 11 Amber Herold
h2. Four Parts of Leginon System
8 1 Eric Hou
9 11 Amber Herold
10 16 Amber Herold
!http://emg.nysbc.org/software/leginon/images/images/Leg_Proj_parts.png!
11 1 Eric Hou
12 11 Amber Herold
Leginon as a system that we distribute can be divided into three parts:
13 1 Eric Hou
14 6 Amber Herold
15 16 Amber Herold
16 11 Amber Herold
h2. Processing Server (Python-side)
17 1 Eric Hou
18
19 11 Amber Herold
Python (and some c) scripts that handle instrument control, data acquisition, and
20
processing.
21 1 Eric Hou
22
23
24
25 16 Amber Herold
26 11 Amber Herold
h2. Database Server (MySQL-side)
27 1 Eric Hou
28 11 Amber Herold
29
a MySQL server that handles the database
30
31
32 1 Eric Hou
33 11 Amber Herold
34 16 Amber Herold
35 11 Amber Herold
h2. Web Server (PHP-side)
36
37
38
This includes php and Java scripts at a webserver that we will create to retrieve image
39
and metadata from the database and file-storage system.
40
41
42 1 Eric Hou
43 11 Amber Herold
44 16 Amber Herold
45 11 Amber Herold
h2. File Server
46
47
48
This is up to you to set up to store lots of data coming out of Leginon system.
49
50
51
52
53 1 Eric Hou
54 11 Amber Herold
55 16 Amber Herold
56 11 Amber Herold
h2. What is in this chapter
57
58
59
60
Leginon runs under both the Linux and Microsoft Windows Operating systems. However, the
61
current php-mrctool can not be installed on Windows which means mrc images can not be viewed
62
on the web. See the section on Possible Computer Set-up Configurations for details.
63
64
65
The many components for the Leginon system are divided into packages and need to be
66
installed separately. It has been integrated with several third party software packages that
67
are necessary for its operation. The installation documentation will describe how to set-up
68
Leginon and give hints as to how to install and set-up the necessary third-party software.
69
This documentation is not intended to support the additional, but necessary third-party
70
software.
71
72
73
There has been interest in installing Leginon under Mac OS X. While this is possible in
74
theory, we have not been successful in installing a fully functional system. The two main
75
problems are (1) compilation of php-mrctool from the pre-installed php and (2) wxPython on Mac
76
is unable to hide bitmap objects which makes Leginon graphical user interface difficult to
77
use.
78
79
80 24 Amber Herold
See <link linkend="InstT_install">Installation Troubleshooting</link> and "Leginon Bulletin Board":http://emg.nysbc.org/bb/viewforum.php?f=2 searching
81 11 Amber Herold
for "install" if you run into problems.
82
83
84 1 Eric Hou
85 11 Amber Herold
86 16 Amber Herold
87 11 Amber Herold
h2.  Possible Computer Set-up Configurations
88
89
90
91
Computer(s) used for the whole Leginon system need to support five functions:
92
*  TEM/Camera control and data output (by python-side packages of Leginon
93
system)
94
95
96
*The computer attached to the microscope/camera is used for this function.
97
Therefore, it is on a Windows computer.
98
99
100
*  General Leginon operation such as target selection and image processing (processing
101
server of Leginon system)
102
103
104
*  Image data storage.
105
106
107
*  Other meta-data storage through MySQL database (by database server of Leginon
108
system)
109
110
111
*  Web server (using PHP-side of Leginon system).
112
113
114
*Important* The MRC module that is used to load mrc formatted files to the web
115
pages is not compiled on Windows. Therefore, this function must be on a linux box unless
116
you don't need to see the images***
117
118
119
120
121
122
The five functions can be distributed to five different computers on a network or all on
123
one single computer. However, since the latter minimal setup requires the use of the computer
124
attached to the microscope for all functions, it is not advisable.
125
126
127
Processing server of Leginion is a multi-platform software, meaning it can run on both
128
Microsoft Windows and Linux. It is also inherently designed to utilize distributed systems on
129
a network. MySQL used in the database server is also supported by multiple platforms. This is
130
not true for the Web server because the custom MRC module used in the web viewer only compiles
131
on linux machines. Therefore, one of the computer not part of the microscope must be a linux.
132
The following examples show several arrangements that take advantage of distributed system.
133
Other combinations are possible, but will basically be variations on one of the following
134
themes.
135 1 Eric Hou
136 11 Amber Herold
137 16 Amber Herold
138 11 Amber Herold
h2.  A: 1 Windows computer (attached to the Microscope) &amp; 1 Linux computer (for all
139
other functions, separate from the Microscope) (Good for single user and small-scale
140
acquisition)
141
142
143
144
145
146
*  Install the latest processing server side of Leginon release (and supporting
147
packages) on the Windows computer controlling the microscope and on the Linux computer
148
which is to run Leginon image acquisition and processing.
149
150
151
*  Install the additional modules needed for CCD camera and film interaction on the
152
Windows computer controlling the microscope.
153
154
155
*  Install MySQL, PHP, the Apache Web Server, and dbem tools only on the Linux
156
computer that will perform these functions, (i.e. NOT the computer controlling the
157
microscope).
158
159
160
161
162
163
164 1 Eric Hou
165 11 Amber Herold
166 16 Amber Herold
167 11 Amber Herold
h2.  B: 1 Windows computer (attached to the Microscope) &amp; 4 Linux computers (one for
168
each function) (Good for multiple microsopes, users and large-scale acquisition)
169
170
171
172
This is the set-up at NRAMM. It has the processing server side of Leginon installed on
173
the Windows computer attached to the microscope and on the Linux computer that is used for
174
running Leginon. A second Linux machine is dedicated to the database while the web-based
175
viewer is hosted by another server.
176
177
178
179
180
*  Install the python-side Leginon (and supporting packages) on the Windows computer
181
controlling the microscope and on the Linux computer that is to run Leginon. You can
182
make the latter installation accessable to any numbers of linux computers on your
183
network.
184
185
186
*  Install MySQL, PHP, the Apache Web Server, and dbem tools on the second Linux
187
computer that will serve as the database/web server/PHP host.
188
189
190
*  The computer hosting the data storage should be accessable by all linux
191
boxes.
192
193
194
195
196
197
198 1 Eric Hou
199 11 Amber Herold
200 16 Amber Herold
201 11 Amber Herold
h2.  C: 1 Windows computer (attached to the Microscope), 1 Windows computer running python-
202
and MySQL-side functions and 1 Linux computer as web server (Has been applied
203
successfully)
204
205
206
207
The data storage may be on one of these computers that is accessable by other
208
computers.
209
210
211
212
213 1 Eric Hou
214 11 Amber Herold
215 16 Amber Herold
216 11 Amber Herold
h2.  Ports that Leginon system uses:
217
218
219
220
This information is useful if you want to open specific ports between computers with a
221
firewall in between.
222
223
224
225
226
* MySQL normally uses port 3306 (but configurable in /etc/my.cnf)
227
228
229
* Leginon Client running on TEM host: port 55555
230
231
232
* Leginon main program on the processing server: dynamically assigned ports between
233
49152 and 65535
234
235
236
There is no strict port assignment since we could potentially have more than one
237
Leginon process running on the same linux host talking to different TEM hosts. It is
238
probably good enough if you only worry about opening up the first few of those ports in
239
your firewall (maybe 49152 through 49160, or something like that).
240
241
242
See more discussion at Leginon bulletin board thread on ""network problem, Leginon not seeing
243 24 Amber Herold
tecnai host":http://emg.nysbc.org/bb/viewtopic.php?t=7 "
244 11 Amber Herold
245
246
247
248
249
250 1 Eric Hou
251 11 Amber Herold
252 16 Amber Herold
253 15 Amber Herold
h2. Where to Register and download Leginon system
254 11 Amber Herold
255
256
257 24 Amber Herold
"http://www.leginon.org/":http://www.leginon.org is the home. Please
258 11 Amber Herold
register if you want to recieve support from Leginon team.
259
260 1 Eric Hou
261
*  python-side Leginon packages
262
263 23 Amber Herold
264 26 Amber Herold
direct link: <ulink url="http://emg.nysbc.org/software/leginon/"
265 25 Amber Herold
>http://emg.nysbc.org/software/leginon/</ulink>
266 1 Eric Hou
267 11 Amber Herold
268 25 Amber Herold
*  mrctools: including the tools for reading mrc images on the web
269 1 Eric Hou
270 11 Amber Herold
271 25 Amber Herold
direct link: <ulink url="http://emg.nysbc.org/software/mrctools/"
272
>http://emg.nysbc.org/software/mrctools/</ulink>
273 23 Amber Herold
274 1 Eric Hou
275 25 Amber Herold
*  dbemtools: including the tools for administration and webviewing
276 23 Amber Herold
277 1 Eric Hou
278 25 Amber Herold
direct link: <ulink url="http://emg.nysbc.org/software/dbemtools/"
279
>http://emg.nysbc.org/software/dbemtools/</ulink>
280 1 Eric Hou
281 25 Amber Herold
282
*  project tools (optional): For administration and webviewing of projects
283
284
285
direct link: <ulink url="http://emg.nysbc.org/software/dbemtools/"
286
>http://emg.nysbc.org/software/dbemtools/</ulink>
287
288
289
290
291
292
293
294
h2.  Processing server-side Leginon Installation
295
296
297
298 11 Amber Herold
For the lack of better name, processing server-side Leginon refers to packages that
299 1 Eric Hou
performs the general functions of image acquisition and processing. The instructions here are
300 11 Amber Herold
for Linux. Refer to Windows Installation for Windows specific instructions.
301
302 16 Amber Herold
303 1 Eric Hou
304 11 Amber Herold
h2. Download svn checkout script from Leginon website
305
306
307
308 26 Amber Herold
"http://www.leginon.org/":http://www.leginon.org/ Download
309 15 Amber Herold
svnget-1.6.sh to a convenient location such as your home directory.
310 11 Amber Herold
311
312
313
314 16 Amber Herold
315 11 Amber Herold
h2. Check out SVN Source Files from the depository
316
317
318
319
run svnget-1.6.sh. It does the
320 17 Amber Herold
following:<pre>mkdir Leginon-1.6-ALL
321 11 Amber Herold
cd Leginon-1.6-ALL
322
svn co http://emg.nysbc.org/svn/leginon/branches/1.6 Leginon
323 1 Eric Hou
svn co http://emg.nysbc.org/svn/pyami/branches/leg1.6 pyami
324 11 Amber Herold
svn co http://emg.nysbc.org/svn/pyScope/branches/leg1.6 pyScope
325
svn co http://emg.nysbc.org/svn/sinedon/branches/leg1.6 sinedon
326
svn co http://emg.nysbc.org/svn/numextension/branches/leg1.6 numextension
327
svn co http://emg.nysbc.org/svn/libcv/branches/leg1.6 libcv
328
svn co http://emg.nysbc.org/svn/ImageViewer/branches/leg1.6 ImageViewer</pre>
329
330
331
If the process fails, you probably do not have svn client installed. Skip to "Install
332
the supporting packages first if missing:", then try this again.
333
334
335
336
337 16 Amber Herold
338 11 Amber Herold
h2.  Perform system check:
339
340
341
342
In addition to the downloads from our svn depository, there are several other
343
requirements that you will get either from your OS installation source, or from its
344
respective website. The system check in the Leginon package checks your system to see if you
345
already have these requirements
346
347 1 Eric Hou
348 11 Amber Herold
349
<pre>cd your_download_area/Leginon-1.6-ALL/Leginon
350
python syscheck.py</pre>
351
352
353
354
If python is not installed, this, of course will not run. If you see any lines like "***
355
Failed...", then you have something missing. Otherwise, everything should result in
356
"OK".
357
358
359 1 Eric Hou
360
361
362
h2.  Install the supporting packages first if missing:
363
364 24 Amber Herold
365
366
Follow the instruction for your specific Linux distribution.
367
368
369
For example, SUSE users can use YaST to install them; RedHat and CentOS users can use
370
yum.
371
372
373
*SciPy may not build properly on some versions of SuSE due to an incompatible LAPACK
374
package that comes with SuSE. You can get scipy as well as a compatible LAPACK etc. from
375
http://repos.opensuse.org/science (need to specify your SuSE version and machine
376 1 Eric Hou
etc.)
377
378
379
380
381
382
h2.  Required supporting packages:
383
384
385
386
387 24 Amber Herold
|_.Name:|_.Download site:|_.yum package name|_.SuSE rpm name|
388 25 Amber Herold
|Python 2.4 or newer|"http://www.python.org":http://www.python.org|python|python-devel|
389
|wxPython 2.5.2.8 or newer|"http://www.wxpython.org":http://www.wxpython.org|wxPython|python-wxGTK|
390 26 Amber Herold
|MySQL Python client 1.2 or newer|<ulink url="http://sourceforge.net/projects/mysql-python"
391 25 Amber Herold
>http://sourceforge.net/projects/mysql-python</ulink>|MySQL-python|python-mysql|
392
|Python Imaging Library (PIL) 1.1.4 or newer|<ulink url="http://www.pythonware.com/products/pil/"
393
>http://www.pythonware.com/products/pil/</ulink>|python-imaging|python-imaging|
394 26 Amber Herold
|Python XML module 0.8.3 or newer|"http://pyxml.sourceforge.net":http://pyxml.sourceforge.net|PyXML|python-xml|
395 1 Eric Hou
|NumPy 1.0.1 or newer|"http://www.scipy.org":http://www.scipy.org|numpy|numpy|
396 26 Amber Herold
|SciPy 0.5.1 (tested, others may work)*|"http://www.scipy.org":http://www.scipy.org , <ulink
397
url="http://repos.opensuse.org/science"
398
>http://repos.opensuse.org/science</ulink>*|scipy|python-scipy|
399 1 Eric Hou
400
401 26 Amber Herold
402
403
*SciPy may not build properly on some versions of SuSE due to an incompatible LAPACK
404
package that comes with SuSE. You can get scipy as well as a compatible LAPACK etc. from
405
http://repos.opensuse.org/science (need to specify your SuSE version and machine
406
etc.)
407
408
409
410
411
412
h2.  Optional supporting packages:
413
414
415
416
417
418
*  For using Matlab to explore holefinding algorithm (Matlab HoleFinder)
419
420
421
pymat: <ulink url="http://sourceforge.net/projects/pymat"
422
>http://sourceforge.net/projects/pymat</ulink>
423
424
425
426
427
428
429
430
431
432
h2. Install the packages you downloaded from svn depository
433
434
435
436
Here are the packages you need to install with python installer inside the
437
Leginon-1.6-ALL folder.
438
439
440
441 11 Amber Herold
|_.Name:|_.Purpose:|
442 26 Amber Herold
| Leginon|modular TEM image acquisition|
443 11 Amber Herold
| pyami|general functions|
444
| pyScope|microscope control and monitoring|
445
| sinedon|Leginon/database interaction|
446
| numExtension|c extension for numerical processing|
447
| libCV|small c library of algorithm from computer vision field|
448
| ImageViewer|image viewing for tomography|
449
450
451
452
453
454
455
*  run syscheck.py again to make sure you have everything.
456
457 1 Eric Hou
458 19 Amber Herold
*  Install the package in _each folder_ with commands
459 11 Amber Herold
like
460
these<pre>cd /your_download_area/Leginon-1.6-ALL/Leginon
461 1 Eric Hou
python setup.py install
462 11 Amber Herold
463
cd ../pyami
464
python setup.py install
465
cd ../pyScope
466
python setup.py install
467
cd ../sinedon
468
python setup.py install
469
cd ../numextension
470
python setup.py install
471
cd ../libcv
472
python setup.py install
473
cd ../ImageViewer
474
python setup.py install</pre>
475
476
477
478
479
480
481
482
483 16 Amber Herold
484 11 Amber Herold
h2.  python-site-package-path: where the installed python
485
packages went:
486
487
488
Python installer put the packages you installed to its site-packages directory. This
489
enable all users on the same computer to access them. The easiest way to find where your
490
installed package is called by python is to load a module from the package using interactive
491
python command lines like this:
492
493
494
495
496
*  Start python command line from shell
497
498
499
500
<pre>> python</pre>
501
502
503
504
*  Import a module from the package. Let's try sinedon here. All packages installed
505
through the above setup.py script should go to the same place.
506
507
508
509
<pre>python> import sinedon</pre>
510
511
512
513 1 Eric Hou
*  If the module is loaded successfully, call the module attribute __path__ (two
514 11 Amber Herold
underscrolls before "path" and two underscrolls after) will return the location of the
515
module it is loaded from
516
517
518
519
<pre>python> sinedon.__path__
520
521
RETURNS, For example,
522 21 Amber Herold
python> <module 'sinedon' from '/usr/lib/python2.5/site-packages/sinedon/__init__.pyc'> </pre>
523 11 Amber Herold
524
525
In this case, /usr/lib/python2.5/site-packages/ is your python-site-package-path.
526
If you go to that directory, you will find all the packages you just installed.
527
528
529
530
531
532
533
534
535 16 Amber Herold
536 11 Amber Herold
h2.  Configure leginon.cfg:
537
538
539
Leginon can be configured at three levels:
540
541
542
543
544
*  A skeleton (default) configuration file is available:
545
546 1 Eric Hou
547 11 Amber Herold
548 19 Amber Herold
<pre> _<link linkend="package_path">[python-site-package-path]</link>_/Leginon/config/default.cfg</pre>
549 11 Amber Herold
550
551
552
*  Configurations for all users
553 1 Eric Hou
554 11 Amber Herold
555
556 19 Amber Herold
<pre> _<link linkend="package_path">[python-site-package-path]</link>_/Leginon/config/leginon.cfg</pre>
557 11 Amber Herold
558
559
560 1 Eric Hou
Example of the configuration that you should set: (Here we assume your leginon
561 11 Amber Herold
database is named "dbemdata", and Leginon log into the database as a user named
562
"usr_object" with no password
563
set).<pre>[Images]
564 19 Amber Herold
path: _your_storage_disk_path_/leginon
565 11 Amber Herold
</pre>
566
567 1 Eric Hou
568 11 Amber Herold
*  Configurations for individual users that overrides the all-user configuration if
569
exists
570
571
572
573
<pre> ~/leginon.cfg</pre>
574
575 1 Eric Hou
576 11 Amber Herold
577
This configuration should include all the minimal configuration above and
578
additional configuration for individual user for
579
convenience<pre>[User]
580 19 Amber Herold
Fullname: _your_name_  #The name you entered in the leginon administration web page. Note that it is case sensitive</pre>
581 11 Amber Herold
582
583
584
585
586
587
588
589 16 Amber Herold
590 11 Amber Herold
h2.  Names used in the example installation
591
592
593
From this point on, you will need to enter database user names for different
594
configuration files and settings. These are NOT Leginon user names but what is required by
595
MySQL database interaction. Consistent names are essential. In the example shown here, the
596
leginon database is called "dbemdata", the project database is called "projectdata". The
597
MySQL user name are the same, "usr_object", and in this case without a password.
598
599
600
601
602 16 Amber Herold
603 11 Amber Herold
h2.  Configure sinedon.cfg:
604
605
606
Sinedon is designed to be able to interact with multiple databases. It can be
607
configured at global or user level.
608
609
610
611
612
*  An example configuration file is available at:
613
614
615
616
<pre>/your_download_area/Leginon-1.6-ALL/sinedon/examples/sinedon.cfg</pre>
617
618 1 Eric Hou
619 11 Amber Herold
620
*  Configurations for all users should be placed at the following path
621
622
623
624 19 Amber Herold
<pre>  _<link linkend="package_path">[python-site-package-path]</link>_/sinedon/sinedon.cfg</pre>
625 11 Amber Herold
626
627
628 1 Eric Hou
*  Modify host,db,user,passwd to what is used. Note that the user here is MySQL user
629 11 Amber Herold
Leginon uses to communicate with the database for all Leginon users. For Leginon that
630
uses Project database, set the following:
631
632
633 1 Eric Hou
634
<pre>[global]
635
host: _your_database_host_
636
user: usr_object
637
passwd:
638 25 Amber Herold
639
[projectdata]
640 1 Eric Hou
db: projectdata
641
642
[leginondata]
643
db: dbemdata
644 25 Amber Herold
</pre>
645
646
647
648 23 Amber Herold
*  Add database configuration if you intend to use grid-inserting robot. The Robot2
649 25 Amber Herold
module uses the database to communicate to the robot. Applications that carries the
650
name "Robot" requires this to be set. In general, using the same database as the
651
general leginon database is fine.
652
653
654
655
<pre>[robot2]
656
db: dbemdata</pre>
657
658
659
660
661
662
663
664
665
666
667
668
669
h2. Database Server-side Installation
670
671
672
673
The following is for the computer that hosts the databases. This involves installing MySQL
674
server and creation/configuration of the leginon and project databases.
675
676
677
678
679
680
|_.Name:|_.Download site:|
681 26 Amber Herold
|MySQL-Server 5.0 or higher|"http://www.mysql.com":http://www.mysql.com|
682 25 Amber Herold
|MySQL-Client 5.0 or higher|"http://www.mysql.com":http://www.mysql.com|
683
684
685
686
687
688 11 Amber Herold
h2.  MySQL
689
690
691
692
693
694
*  Install MySQL-Server
695
696
697
698
699
*  Use your package installer (yum, zypper, YaST) if available.
700
701 1 Eric Hou
702 11 Amber Herold
OR
703
704
705 24 Amber Herold
*  Download the latest MySQL-server RPM for Linux from "www.mysql.com":http://www.mysql.com *  Install the MySQL-server rpm:
706 11 Amber Herold
707
708
<pre> rpm -Uvh MySQL-server-5.0.xx-y.i386.rpm</pre>
709
(substitute correct version numbers)
710
711
712
713
714
715
716
*  Install MySQL-Client
717
718
719
720
721
*  Use your package installer (yum, zypper, YaST) if available.
722
723
724
OR
725
726
727 24 Amber Herold
*  Download the latest MySQL-client RPM for Linux from "www.mysql.com":http://www.mysql.com *  Install the MySQL-client rpm:
728 11 Amber Herold
729
730
<pre> rpm -Uvh MySQL-client-5.0.xx-y.i386.rpm</pre>
731
(substitute correct version numbers)
732
733
734
735
736
737
738
*  MySQL configuration file is usually located in /usr/share/mysql. There are
739
several examples there:
740
741
742
743 22 Amber Herold
<pre>> ls /usr/share/mysql/my*
744 11 Amber Herold
/usr/share/mysql/my-huge.cnf
745
/usr/share/mysql/my-innodb-heavy-4G.cnf
746
/usr/share/mysql/my-large.cnf
747
/usr/share/mysql/my-medium.cnf
748
/usr/share/mysql/my-small.cnf
749 22 Amber Herold
> </pre>
750 11 Amber Herold
751
752
753
*  Configure my.cnf in /etc using my-huge.cnf as the template
754
755
756
757
758
* <pre>> cp /usr/share/mysql/my-huge.cnf /etc/my.cnf</pre>
759
760
761
762
*  Edit /etc/my.cnf to add or change query cache variables like these:
763
764
<pre>query_cache_type= 1
765
query_cache_size = 100M
766
query_cache_limit= 100M</pre>
767
768
769
770
771
772
773
774
*  start MySQL Server
775
776 22 Amber Herold
<pre> >/etc/init.d/mysqld start</pre>
777 11 Amber Herold
778
on some installation,
779
780 22 Amber Herold
<pre> >/etc/init.d/mysql start</pre>
781 11 Amber Herold
782
For future reference: start | stop | restart MySQL Server with similar
783
commands:
784
785 22 Amber Herold
<pre> >/etc/init.d/mysqld start
786
>/etc/init.d/mysqld stop
787
>/etc/init.d/mysqld restart</pre>
788 11 Amber Herold
789
If you want to start MySQL automatically at boot on SuSE
790
791 22 Amber Herold
<pre> SuSE >chkconfig mysql on
792 11 Amber Herold
</pre>
793
794
*  For future reference, the database location will be:
795
796
797
798 22 Amber Herold
<pre>> cd /var/lib/mysql
799 11 Amber Herold
Directory: /var/lib/mysql
800 22 Amber Herold
> ls
801 11 Amber Herold
yourdbserver.pid
802
ib_logfile0
803
mysql
804
mysql.sock
805
test
806 22 Amber Herold
> </pre>
807 11 Amber Herold
808
809
810
*  Create leginon database, here we call <link linkend="db_example_names"
811
>dbemdata</link>
812
813 22 Amber Herold
<pre> >mysqladmin create dbemdata</pre>
814 11 Amber Herold
815
816
817
*  Create project database, here we call <link linkend="db_example_names"
818
>projectdata</link> (optional)
819
820 22 Amber Herold
<pre> >mysqladmin create projectdata</pre>
821 11 Amber Herold
822
823
824
*  Connect to mysql db
825
826 22 Amber Herold
<pre>>mysql mysql
827 11 Amber Herold
828 22 Amber Herold
mysql> select user, password, host from user;
829 11 Amber Herold
+------+----------+-----------+
830
| user | password | host      |
831
+------+----------+-----------+
832
| root |          | localhost |
833
| root |          | host1     |
834
|      |          | host1     |
835
|      |          | localhost |
836
+------+----------+-----------+
837
4 rows in set (0.00 sec)</pre>
838
839
840
841
*  Create and grant privileges to a user called <link linkend="db_example_names"
842
>usr_object</link> for the databases on both the localhost and other hosts involved.
843
For example, use wild card '%' for all hosts. You may also set specific privilege to
844
the user. See MySQL Reference Manual for details
845
846 22 Amber Herold
<pre>mysql> create user usr_object@'localhost';
847
mysql> grant all privileges on dbemdata.* to usr_object@'localhost';
848
mysql> grant all privileges on projectdata.* to usr_object@'localhost';</pre>
849 11 Amber Herold
850
Similarly,
851 1 Eric Hou
852 22 Amber Herold
<pre>mysql> create usr_object@'%';
853
mysql> grant all privileges on dbemdata.* to usr_object@'%';
854
mysql> grant all privileges on projectdata.* to usr_object@'%';
855 11 Amber Herold
</pre>
856
857
*  Change Root passworld
858
859 22 Amber Herold
<pre>mysql> update user set password=password('_a passwd_') where user="root";
860 1 Eric Hou
Query OK, 2 rows affected (0.01 sec)
861 11 Amber Herold
Rows matched: 2  Changed: 2  Warnings: 0
862 1 Eric Hou
863 22 Amber Herold
mysql>^D or exit;</pre>
864 11 Amber Herold
From now on, you will need to specify the password to connect to the database as
865
root user like this:
866
867
<pre>>mysql -u root -p mysql</pre>
868
869 19 Amber Herold
_***If your password change does not take effect in your next
870 11 Amber Herold
database connection, you will need to flush the mysql pivileges cache as mysql root
871
and connecting with you old password (or no password in the above
872 19 Amber Herold
case):_
873 11 Amber Herold
874
<pre>>mysql -u root mysql</pre>
875 22 Amber Herold
<pre>mysql> flush privileges;
876
mysql>^D or exit;</pre>
877 11 Amber Herold
878
*  Check MySQL variables
879
880 22 Amber Herold
<pre>>mysql -u usr_object dbemdata
881 11 Amber Herold
882 22 Amber Herold
mysql> SHOW VARIABLES LIKE 'query%';
883 11 Amber Herold
+------------------------------+-----------+
884
| Variable_name                | Value     |
885
+------------------------------+-----------+
886
| ft_query_expansion_limit     | 20        |
887
| have_query_cache             | YES       |
888
| long_query_time              | 10        |
889
| query_alloc_block_size       | 8192      |
890 21 Amber Herold
| query_cache_limit            | 104857600 | <<---This should correspond to your change
891 11 Amber Herold
| query_cache_min_res_unit     | 4096      |
892 21 Amber Herold
| query_cache_size             | 104857600 | <<---This should correspond to your change
893
| query_cache_type             | ON        | <<---This should correspond to your change
894 11 Amber Herold
| query_cache_wlock_invalidate | OFF       |
895 1 Eric Hou
| query_prealloc_size          | 8192      |
896
+------------------------------+-----------+
897
10 rows in set (0.00 sec)
898
899
mysql> exit;</pre>
900 11 Amber Herold
901 22 Amber Herold
902 11 Amber Herold
903
*  Make sure MySQL is running
904
905
<pre>prompt:~> mysqlshow
906 1 Eric Hou
+--------------+
907 11 Amber Herold
| Databases    |
908
+--------------+
909
| mysql        |
910
| dbemdata     |
911
| projectdata  |
912
+--------------+</pre>
913 21 Amber Herold
914 1 Eric Hou
915 11 Amber Herold
916 22 Amber Herold
*  Or check with the following php script (if already installed)
917 11 Amber Herold
918
<pre><?
919
mysql_connect('your_host.your_institute.edu', 'usr_object', '','dbemdata');
920
echo mysql_stat();
921
?> </pre>
922
923
924
Output
925
926
<pre> Uptime: 1452562 Threads: 1 Questions: 618 Slow queries: 0 Opens: 117 Flush tables: 1 Open tables: 106 Queries per second avg: 0.000</pre>
927
928 1 Eric Hou
929
930
931
932 11 Amber Herold
933 1 Eric Hou
934 11 Amber Herold
935 1 Eric Hou
936
937
h2.  Web server set up and Installation
938
939
940 11 Amber Herold
941 1 Eric Hou
The following applies to the computer that will host the web-accessable image viewers ( a
942
part of dbem tools) and project manager (a part of project tools).
943
944 11 Amber Herold
945 1 Eric Hou
946 11 Amber Herold
h2. Differences between Linux flavors
947
948
949 1 Eric Hou
950
Different Linux flavors often put web server and mysql-related files in different
951
locations. This can be confusing. From experience, we found the equivalent on CentOS vs
952 11 Amber Herold
SuSE. Here we list them for reference. If your system use a different naming and you are
953
willing to share your experience, please send us the list. We will add it here:
954
955 1 Eric Hou
956 11 Amber Herold
957 14 Amber Herold
|_.File or Command Head|_.CentOS|_.SuSE|
958 11 Amber Herold
| php.ini|/etc/| /etc/php5/apache2/|
959
| httpd.conf|/etc/httpd/conf/|/etc/php5/apache2/|
960
| default document_root|/var/www/html/|/srv/www/htdocs/|
961
| apache start/stop/restart command head|/etc/init.d/httpd|/etc/init.d/apache2|
962
| mysql start/stop/restart command head|/etc/init.d/mysqld|/etc/init.d/mysql|
963
964
965 1 Eric Hou
966
967
968
969 11 Amber Herold
970
h2. Prerequisites for dbemtools, projecttools, and mrctools extension
971
972
973 1 Eric Hou
974 11 Amber Herold
The dbemtools are mostly php scripts that run at the web server. The followings are
975
required before installation of dbemtools and the mrc extension that handles mrc files to be
976
displayed. Some of these packages may be found on the SuSE Linux DVD or included in common
977
package repository. MySQL and the Apache Web Server can be downloaded from their respective
978
websites.
979 1 Eric Hou
980
981 11 Amber Herold
982 1 Eric Hou
|_.Name:|_.Download site:|_.yum package name|_.SuSE rpm name|
983 25 Amber Herold
| Apache|"www.apache.org":http://www.apache.org| httpd| apache2|
984
| php|"www.php.net":http://www.php.net| php| php|
985 26 Amber Herold
| php-devel*|<ulink url="http://rpmfind.net/linux/RPM/Development_Languages_PHP.html"
986 25 Amber Herold
>rpmfind.net/linux/RPM/Development_Languages_PHP.html</ulink>| php-devel| php-devel|
987 26 Amber Herold
| php-gd (including GD library, its development libraries and header *)|"www.php.ned/gd":http://www.libgd.org (Use gd2)| php-gd, gd-devel| php-gd,gd-devel|
988 24 Amber Herold
| fftw3 library (including development libraries and header *)|"www.fftw.org":http://www.fftw.org (Use fftw3.x)| fftw3-devel| fftw3-devel|
989
990 15 Amber Herold
991 11 Amber Herold
992
993
* mrctools are compiled and added to php extension with php-devel package. Mrctools use
994
GD and FFTW3 that need to be compiled from their development libraries while the extension
995
is compiled. If GD and FFTW3 sources were downloaded and compiled directly on your computer,
996
these development files are included. If (as in most cases) GD and FFTW3 are installed from
997
rpm, they are not included. An error message will appear when you attempt to compile
998
mrctools. In this case, you will need separate download and installation of GD-devel and
999 26 Amber Herold
FFTW3-devel. Search <ulink url="http://rpmfind.ned/linux/rpm2html/"
1000 25 Amber Herold
>http://rpmfind.net/linux/rpm2html/</ulink> for GD-devel and FFTW3-devel for the rpm
1001
distribution needed for your system.
1002 1 Eric Hou
1003 11 Amber Herold
1004
1005
1006 16 Amber Herold
1007 11 Amber Herold
h2. Installation tools
1008 1 Eric Hou
1009 11 Amber Herold
1010
1011
Use the installation tools available for your linux distribution.
1012
1013
1014
1015
1016
*  For example, Use yum utility to install.
1017
1018
1019
*  For example, Use the SuSE Linux YaST2 utility or zypper (openSuSE 10.2 and above)
1020
to install.
1021
1022
1023 26 Amber Herold
* "A list of required CENTOS
1024
rpms and instruction":http://emg.nysbc.org/bb/viewtopic.php?t=238 can be found at dbemtools bulletin board at
1025 11 Amber Herold
leginon.org.
1026 15 Amber Herold
1027 11 Amber Herold
1028
1029
1030
1031
1032
1033
1034 16 Amber Herold
1035 11 Amber Herold
h2.  PHP, PHP-devel, gd, and fftw3
1036
1037
1038
Install the packages using your installation tools if available. For example, to
1039
install gd as php extension you may use
1040
1041
1042
1043 17 Amber Herold
<pre>CentOS> yum install php-gd
1044 11 Amber Herold
SuSE10.2 and above> zypper install php-gd</pre>
1045
1046
1047
1048
1049
1050 16 Amber Herold
1051 11 Amber Herold
h2.  Configure php.ini
1052
1053
1054
1055
Edit the following two sections in php.ini (found as /etc/php.ini on CentOS and
1056 1 Eric Hou
/etc/php5/apache2/php.ini on SuSE) so that they look like the following:
1057 11 Amber Herold
1058
1059
1060
<pre>register_argc_argv = On</pre>
1061
1062
1063
1064
1065
<pre>short_open_tag = On</pre>
1066
1067
1068
1069
1070
<pre>max_execution_time = 300     ; Maximum execution time of each script, in seconds
1071
max_input_time = 300     ; Maximum amount of time each script may spend parsing request data
1072
memory_limit = 256M      ; Maximum amount of memory a script may consume (8MB)</pre>
1073
1074
1075
1076
You may want to increase max_input_time and memory_limit if the server is heavily used.
1077
At NRAMM, max_input_time=600 and memory_limit=4000M.
1078
1079
1080
1081
1082 16 Amber Herold
1083 11 Amber Herold
h2.  Apache Web Server
1084
1085
1086
1087
1088
1089
*  Install the Apache Web Server with the YaST or yum utility.
1090
1091
1092
*  Find "httpd.conf".
1093
1094
1095
This is /etc/httpd/conf/httpd.conf on CentOS and /etc/php5/apache2/httpd.conf on
1096
SuSE
1097
1098
1099
*  Edit the "httpd.conf" configuration file to look like the following:
1100
1101
1102
1103 22 Amber Herold
<pre><IfModule mod_dir.c>
1104 11 Amber Herold
DirectoryIndex index.htm index.shtm index.html index.shtml index.php
1105 22 Amber Herold
</IfModule></pre>
1106 11 Amber Herold
1107
1108 1 Eric Hou
(Note: It may be possible to edit httpd.conf in YaST2 as well.)
1109 11 Amber Herold
1110
1111
*  Restart the web server.
1112
1113
1114
1115 1 Eric Hou
<pre>apachectl restart
1116
or
1117
/etc/init.d/httpd restart     (ON CentOS)
1118
or
1119
/etc/init.d/apache2 restart   (ON SuSE)</pre>
1120
1121 21 Amber Herold
1122 11 Amber Herold
1123 22 Amber Herold
If you want to start the web server automatically at boot on SuSE
1124 11 Amber Herold
1125 1 Eric Hou
<pre> SuSE >chkconfig apache2 on
1126 11 Amber Herold
</pre>
1127
1128
1129
1130
1131
1132
1133
1134
1135
h2. Check php information
1136
1137
1138 16 Amber Herold
Create the following info.php in your web server document root directory (/var/www/html
1139 11 Amber Herold
on CentOS. /srv/www/htdocs on SuSE. You can find its location in httpd.conf mentioned above
1140
under the line starting
1141 1 Eric Hou
DocumentRoot).<pre><?php
1142
phpinfo();
1143 11 Amber Herold
?></pre>
1144
1145 16 Amber Herold
1146 11 Amber Herold
Visit this page at http://yourhost/info.php
1147
1148
1149
You will see comprehensive tables of php and apache information, including the location
1150
of the addition .ini files, extension, include path, and what extension is enabled.
1151
1152
1153 1 Eric Hou
Here is an example screen shot of the part of the info.php page that tells you where
1154 16 Amber Herold
php.ini and other configuration files are.
1155 11 Amber Herold
1156 1 Eric Hou
1157
1158
!http://emg.nysbc.org/software/leginon/images/images/phpini.png!
1159
1160
1161
1162
1163
1164
1165
h2.  mrctools Installation
1166
1167
1168
1169
mrctools are installed as php extension and are required for displaying mrc files live
1170
on the web browser.
1171
1172
1173
1174
h2.  Install php-devel packages on the web server if missing:
1175
1176
1177
You can check whether php-devel is installed by
1178 11 Amber Herold
typing<pre> >phpize</pre>
1179
1180
1181 22 Amber Herold
Follow the instruction for your specific Linux distribution.
1182 11 Amber Herold
1183
1184
For example, SUSE users can use YaST or zypper to install them
1185
1186
1187
1188
1189
1190
h2.  php-GD/FFTW3-devel
1191
1192 16 Amber Herold
1193 11 Amber Herold
1194
Follow instructions from the download site. These may be included already. If not,
1195
mrctools installation will fail.
1196
1197
1198
1199
1200
1201
h2.  mrctools Installation
1202 1 Eric Hou
1203 16 Amber Herold
1204 11 Amber Herold
1205
mrctools are installed from php devel directory. This is usually /usr/include/php/ext
1206
where you will find other php extension source such as gd. After the installation, mrc.so
1207
should be placed in php's extension directory (Look for "extension_dir" in
1208
http://your_host/<link linkend="install_infophp">info.php</link>
1209
1210
1211 1 Eric Hou
1212 11 Amber Herold
1213 26 Amber Herold
*  Download dbem tools from <ulink url="http://emg.nysbc.org/software/mrctools"
1214
>http://emg.nysbc.org/software/mrctools</ulink>.
1215
1216
1217
*  Follow the instruction at <ulink
1218
url="http://emg.nysbc.org/software/mrctools/mrc_so.php"
1219
>http://emg.nysbc.org/software/mrctools/mrc_so.php</ulink> for installation and
1220
testing. The next session about checking php information can also help debugging the
1221
installation
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
h2.  Check php information
1232
1233
1234
1235
Visit or refresh http://yourhost/info.php <link linkend="install_infophp">which you
1236 11 Amber Herold
created earlier</link>. It should have a section looking like this (The version should
1237
correspond to what you've just installed):
1238 16 Amber Herold
1239 11 Amber Herold
1240 1 Eric Hou
1241
!http://emg.nysbc.org/software/leginon/images/images/phpmrc.png!
1242
1243
1244
1245 11 Amber Herold
If mrc is not listed, the extension did not get added at the right order.
1246
1247
1248
1249
1250 16 Amber Herold
1251 11 Amber Herold
h2.  Alternative approach if mrc module does not show up in info.php output
1252
1253
1254
1255 1 Eric Hou
* find in the <link linkend="install_infophp">info.php web page</link> the location
1256 11 Amber Herold
of "additional .ini files parsed" in the first table (such as
1257
/etc/php.d/conf.d/*).
1258
1259
1260
*  Go to the directory and make a copy of any ini file to use as a template for
1261
mrc.ini
1262
1263
1264
1265
<pre>>cd [additional_ini_directory]
1266 22 Amber Herold
>cp gd.ini mrc.ini</pre>
1267
1268 11 Amber Herold
1269
1270
*  Edit mrc.ini to the following
1271
1272
1273 1 Eric Hou
1274 11 Amber Herold
<pre>; comment out next line to disable mrc extension in php
1275
extension=mrc.so</pre>
1276
1277
1278 1 Eric Hou
1279
*  Comment out mrc extension from php.ini (found in /etc/php.ini/ on a typical PHP
1280
installation)
1281
1282
1283
1284 11 Amber Herold
<pre>;extension=mrc.so</pre>
1285 22 Amber Herold
1286 11 Amber Herold
1287
1288
*  restart your webserver
1289
1290
1291
1292 25 Amber Herold
<pre>> /etc/init.d/httpd restart</pre>
1293
1294
1295 16 Amber Herold
1296 11 Amber Herold
1297 25 Amber Herold
1298
1299
1300
1301
1302
1303
h2.  Web Viewing Tools (dbemtools) Linux
1304
Installation
1305
1306
1307
1308
php and java scripts for viewing images and Leginon information through the web
1309
server.
1310
1311
1312
1313
1314
*  Download dbem tools from <ulink url="http://emg.nysbc.org/software/dbemtools"
1315 26 Amber Herold
>http://emg.nysbc.org/software/dbemtools</ulink>.
1316 25 Amber Herold
1317
1318 11 Amber Herold
*  Unpack the package in your [webdirectory]
1319
1320 1 Eric Hou
1321
1322
<pre>>cd [webdirectory]			#/var/www/html in this example
1323
[webdirectory>tar zxvf dbem_1_5_1.tgz</pre>
1324
1325
1326
1327
*  Copy config.php.template to config.php and edit the latter by adding these MySQL
1328
parameters:
1329 11 Amber Herold
1330 1 Eric Hou
"config.php" should be located in /var/www/html/dbem_1_5_1/ on CentOS and
1331 11 Amber Herold
/srv/www/htdocs/dbem_1_5_1/ on SuSE.
1332
1333
1334
1335
<pre><?
1336
// ---define dbem web tools base ---//
1337 21 Amber Herold
define('BASE_URL',"/dbem_1_5_1/";
1338 11 Amber Herold
// --- Leginon Viewer Configuration --- //
1339
1340
// --- Set your leginon MySQL database server parameters
1341
1342 1 Eric Hou
$DB_HOST    = "[your database host]";
1343 11 Amber Herold
$DB_USER    = "<link linkend="db_example_names">usr_object</link>";
1344
$DB_PASS    = "";
1345
$DB        = "<link linkend="db_example_names">dbemdata</link>";
1346
1347
// --- XML test dataset
1348
$XML_DATA = "test/viewerdata.xml";
1349
1350
// --- Project database config
1351
1352 1 Eric Hou
$PROJECT_URL = "/project_1_2";
1353
$PROJECT_DB_HOST = "[your database host]";
1354
$PROJECT_DB_USER = "<link linkend="db_example_names">usr_object</link>";
1355 11 Amber Herold
$PROJECT_DB_PASS = "";
1356
$PROJECT_DB = "<link linkend="db_example_names">projectdata</link>";
1357
</pre>
1358 1 Eric Hou
1359
1360
1361
*  Test the set-up by visiting http://yourhost/dbem_1_5_1
1362
1363 11 Amber Herold
1364
1365 16 Amber Herold
1366 11 Amber Herold
1367
1368
1369
1370
1371
h2.  Project management tools Linux Installation
1372
1373
1374
1375
Leginon sessions can be catagorized into different projects. The projects are created
1376
and viewed trhough a set of web tools. To access them, install the tools on the web server.
1377 16 Amber Herold
The same project management tools are also used to create and track appion processing
1378 11 Amber Herold
databases. If you want to use our processing pipeline, Appion, in the future, you must
1379
install this.
1380
1381
1382
1383
h2. Prerequisites for project tools
1384 16 Amber Herold
1385 1 Eric Hou
1386
1387 11 Amber Herold
installed dbemtools and its prerequisites
1388
1389
1390
1391 1 Eric Hou
1392
1393
h2. project tools
1394
1395 11 Amber Herold
1396
Current release: project 1.2.
1397 1 Eric Hou
1398
1399
1400
1401 26 Amber Herold
*  Download project tools from <ulink
1402
url="http://emg.nysbc.org/software/dbemtools"
1403
>http://emg.nysbc.org/software/dbemtools</ulink>.
1404
1405
1406
*  Unpack the package in your [webdirectory]
1407
1408
1409
1410
<pre>>cd [webdirectory]			#/var/www/html in this example
1411 24 Amber Herold
[webdirectory]>tar zxvf project_1_2.tgz</pre>
1412
1413
1414
1415
*  Go to the uncompressed directory
1416
project_1_2.<pre>> cd project_1_2</pre>
1417 22 Amber Herold
1418 11 Amber Herold
1419 25 Amber Herold
* Copy config.php.template to _config.php_
1420 11 Amber Herold
1421 1 Eric Hou
1422 17 Amber Herold
1423 11 Amber Herold
<pre>> cp config.php.template to config.php</pre>
1424
1425 19 Amber Herold
1426 11 Amber Herold
1427
* Edit _config.php_: You need to insert these MySQL
1428
parameters in project tool's config.php
1429
1430
1431
1432
<pre>// --- Project Configuration --- //
1433 19 Amber Herold
1434 11 Amber Herold
// --- Leginon database config
1435
$DBEM_PATH="../dbem_1_5_1/";
1436
1437
$DB_HOST  = "[your database host]";
1438 1 Eric Hou
$DB_USER  = "usr_object";
1439 11 Amber Herold
$DB_PASS  = "";
1440
$DB   = "<link linkend="db_example_names">dbemdata</link>";
1441
1442
// --- Project database config
1443
$PROJECT_DB_HOST = "[your database host]";
1444
$PROJECT_DB_USER = "<link linkend="db_example_names">usr_object</link>";
1445 1 Eric Hou
$PROJECT_DB_PASS = "";
1446 11 Amber Herold
$PROJECT_DB = "<link linkend="db_example_names">projectdata</link>";
1447
</pre>
1448
1449
1450 1 Eric Hou
1451 11 Amber Herold
*  Test the set-up by visiting http://yourhost/project_1_2
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
h2.  Other Tools
1464
1465
1466
This section includes tools that may help with Leginon development.
1467
1468 16 Amber Herold
1469 11 Amber Herold
1470
h2.  phpMyAdmin
1471
1472
1473
1474
1475 16 Amber Herold
1476 11 Amber Herold
*  Download phpMyAdmin from Yast2 or <ulink url="http://www.phpmyadmin.net"
1477 26 Amber Herold
>www.phpmyadmin.net</ulink>
1478 1 Eric Hou
1479
1480
1481
1482 26 Amber Herold
*  Download phpMyAdmin into the directory where the web server has been
1483
installed.
1484 24 Amber Herold
1485 26 Amber Herold
1486
1487
1488
1489
1490
*  Check phpMyAdmin installation:
1491
1492
1493
1494 11 Amber Herold
<pre>>rpm -qa |grep -i phpmyadmin </pre>
1495 22 Amber Herold
1496 1 Eric Hou
1497
1498
*  Install from tarball:
1499
1500
1501
1502
<pre>> cd [webdirectory]
1503
[webdirectory]>tar zxvf phpMyAdmin-2.x.tar.gz</pre>
1504 11 Amber Herold
1505
1506 1 Eric Hou
1507
or Install with yum if availabe:
1508
1509
1510
1511
<pre>> yum install phpMyAdmin</pre>
1512
1513
1514
1515
*  Create phpMyAdmin configuration file called config.inc.php from a
1516 11 Amber Herold
sample.
1517
1518 1 Eric Hou
1519
1520
<pre>[webdirectory]>cd phpMyAdmin
1521
(if you install with yum, the program directory is /usr/share/phpMyAdmin)
1522
1523
> cp config.sample.inc.php config.inc.php
1524
</pre>
1525
1526 11 Amber Herold
1527
1528 1 Eric Hou
*  Make sure these are set correctly in _config.inc.php_. Note that these are for MySQL which we set earlier.
1529 11 Amber Herold
You can set specific user, but it is safer just leave it blank.
1530 1 Eric Hou
1531
1532
1533
<pre>
1534
$cfg['Servers'][$i]['host']            = '[your host]';
1535
$cfg['Servers'][$i]['port']            = '';
1536
$cfg['Servers'][$i]['socket']          = '';
1537
$cfg['Servers'][$i]['connect_type']    = 'tcp';
1538
$cfg['Servers'][$i]['extension']       = 'mysql';
1539
$cfg['Servers'][$i]['compress']        = FALSE;
1540
$cfg['Servers'][$i]['controluser']     = '';
1541
$cfg['Servers'][$i]['auth_type']     = 'http';
1542
$cfg['Servers'][$i]['user']          = '';
1543 11 Amber Herold
$cfg['Servers'][$i]['password']      = '';
1544
</pre>
1545
1546
1547
1548
*  For additional security, you may restrict mysql root access
1549
1550
1551
1552 1 Eric Hou
<pre>
1553 11 Amber Herold
$cfg['Servers'][$i]['AllowRoot']     = FALSE;
1554 1 Eric Hou
</pre>
1555 11 Amber Herold
1556
1557
1558
*  If you want to access phpMyAdmin from another computer, you can add it to its
1559 1 Eric Hou
web access configuration file found as /etc/httpd/conf.d/phpMyAdmin.conf in a
1560 11 Amber Herold
typical installation
1561
1562
1563
1564 1 Eric Hou
<pre>
1565 11 Amber Herold
<Directory /usr/share/phpMyAdmin/>
1566 21 Amber Herold
order deny,allow
1567 11 Amber Herold
deny from all
1568
allow from 127.0.0.1
1569
allow from YOUR_IP_ADDRESS
1570
</Directory>
1571 21 Amber Herold
</pre>
1572 11 Amber Herold
1573
1574
1575
1576
1577
1578
1579
1580
1581
1582
1583
1584
1585
1586 16 Amber Herold
h2.  Windows installation
1587 11 Amber Herold
1588
1589
1590
1591 16 Amber Herold
h2.  Processing-side Leginon Windows Installation
1592 11 Amber Herold
1593
1594
1595
1596 16 Amber Herold
h2.  Install Python and Support Packages (Note that python 2.5 must be used):
1597 11 Amber Herold
1598 23 Amber Herold
1599 25 Amber Herold
1600
This list does not include pyton XML module because it is included in the python
1601
package for window.
1602
1603
1604
1605
|_.Name:|_.Download site:|
1606
|Python 2.5*|"http://www.python.org":http://www.python.org|
1607 26 Amber Herold
|Python for Windows extension (pywin32)|<ulink url="http://sourceforge.net/projects/pywin32/"
1608 25 Amber Herold
>http://sourceforge.net/projects/pywin32/</ulink>|
1609 26 Amber Herold
|wxPython 2.5.2.8 or newer|"http://www.wxpython.org":http://www.wxpython.org|
1610
|MySQL Python client 1.2 or newer|<ulink url="http://sourceforge.net/projects/mysql-python"
1611 25 Amber Herold
>http://sourceforge.net/projects/mysql-python</ulink>|
1612 24 Amber Herold
|Python Imaging Library (PIL) 1.1.4 or newer|<ulink url="http://www.pythonware.com/products/pil/"
1613
>http://www.pythonware.com/products/pil/</ulink>|
1614 26 Amber Herold
|NumPy 1.0b5 (tested, others may work)|"http://www.scipy.org":http://www.scipy.org|
1615 25 Amber Herold
|SciPy 0.5.1 or newer|"http://www.scipy.org":http://www.scipy.org|
1616 26 Amber Herold
|Tortoise SVN client|<ulink url="http://tortoisesvn.tigris.org"
1617
>http://tortoisesvn.tigris.org</ulink>|
1618 25 Amber Herold
1619
1620 11 Amber Herold
1621
1622
*Python 2.5 is the only python version that we have compiled numExtension. libCV and
1623 23 Amber Herold
comarray in. Therefore no other python version works for now.
1624 25 Amber Herold
1625
1626
Execute the installer file and follow the directions.
1627
1628
1629 11 Amber Herold
1630
1631
1632 23 Amber Herold
h2. Packages required from NRAMM
1633 25 Amber Herold
1634
1635 1 Eric Hou
1636 23 Amber Herold
Here are the packages you need to install with python installer
1637 25 Amber Herold
1638 24 Amber Herold
1639 26 Amber Herold
1640
|_.Name:|_.Purpose:|
1641
| Leginon|modular TEM image acquisition|
1642
| pyami|general functions|
1643
| sinedon|Leginon/database interaction|
1644
| pyScope|microscope control and monitoring|
1645
| ImageViewer|image viewing for tomography|
1646
1647
1648
1649
1650
Because numextension and libCV requires extra compilers, we have created window
1651
installer for them for python 2.5 and made them available through "http://www.leginon.org/":http://www.leginon.org/
1652 11 Amber Herold
1653
|_.Downloadfile Name|_.Installed Python Package File|_.Purpose:|
1654
|NumExtension-1.2.0.win32-py2.5.exe|numextension.pyd|c extension for numerical processing|
1655 1 Eric Hou
|libCV-0.2.win32-py2.5.exe|libCV.pyd|small c library of algorithm from computer vision field|
1656 11 Amber Herold
1657
1658
1659 16 Amber Herold
1660 11 Amber Herold
1661
1662
1663
h2. Check out SVN Source Files from the depository
1664
1665
1666
1667
Use your mouse to do the following
1668
* Create Leginon-1.6-ALL directory somewhere at your convenience
1669
1670 1 Eric Hou
1671 11 Amber Herold
* Change directory into Leginon-1.6-ALL
1672 17 Amber Herold
1673 1 Eric Hou
1674 11 Amber Herold
* Right-click the mouse botton in this directory window and select Tortoise svn
1675
Checkout in the menu:!http://emg.nysbc.org/software/leginon/images/images/svnmenu.png!
1676 17 Amber Herold
1677 11 Amber Herold
1678
* Set up svn checkout window like this for <link linkend="windows_packages">EACH
1679 1 Eric Hou
of the leginon packages</link>.!http://emg.nysbc.org/software/leginon/images/images/svnco.png!
1680 11 Amber Herold
1681
1682
1683
1684 16 Amber Herold
1685 11 Amber Herold
1686
1687 1 Eric Hou
1688 11 Amber Herold
h2. Install the packages you downloaded from NRAMM svn depository
1689
1690
1691
1692
1693
1694
* Start a command line Window from Start Menu
1695
1696
1697
* Install the package in each folder with commands such as
1698
<pre>cd Your_Download_Place\Leginon-1.6-ALL\leginon
1699
c:\\python25\python.exe setup.py install</pre>
1700
1701
1702
1703
1704
1705 16 Amber Herold
1706 11 Amber Herold
1707
1708
1709
h2. Download the two Window Installer Files from Leginon website
1710 24 Amber Herold
1711 15 Amber Herold
1712 11 Amber Herold
1713
"http://www.leginon.org/":http://www.leginon.org/ h2. Install individual packages
1714
1715
1716
1717
Excute the installer files and follow the instruction.
1718
1719 16 Amber Herold
1720 11 Amber Herold
1721
1722
1723
h2.  Mapping Drives:
1724
1725
1726
1727
If you plan to run Leginon directly on the Windows machine, such as in <link
1728
linkend="config_C">configuration C</link>, and your data files are served through a
1729
Samba server on a Linux machine, you will need to map the network drive. For example, if
1730 1 Eric Hou
your Samba server has a hostname your_smbserver, and you have set up a share called
1731 11 Amber Herold
[your_share_point] which points to /your_data_path/ and leginon data will be saved under a
1732
folder in /your_data_path/leginon/
1733
1734
1735 1 Eric Hou
1736 11 Amber Herold
1737
*  Start, My Computer
1738 1 Eric Hou
1739 11 Amber Herold
1740
*  Tools menu, Map network drive
1741
1742 1 Eric Hou
1743 17 Amber Herold
*  Use an unmapped drive such as Z:
1744 11 Amber Herold
1745
Enter shared path in Windows format
1746
as<pre>\\your_smbserver\your_share_point</pre>
1747 17 Amber Herold
1748 11 Amber Herold
1749
*  Add the drive and the Linux path to leginon.cfg on the Windows machine
1750
as<pre>[Drive Mapping]
1751
Z:/your_data_path</pre>
1752 17 Amber Herold
1753 11 Amber Herold
1754
*  Add image path to leginon.cfg on the Windows machine in Linux format
1755
as<pre>[Images]
1756
path:/your_data_path/leginon</pre>
1757
1758
1759
1760
1761
1762 16 Amber Herold
1763 11 Amber Herold
1764
1765
1766
h2.  Configure leginon.cfg:
1767
1768
1769
Follow instruction in "<link linkend="leginon_cfg">Configure leginon.cfg</link>" in
1770
the section for Linux installation but note the location of the configuration files
1771
follows. In addition, if the storage disk is mapped onto the Windows PC as drive Z, this
1772
mapping should be included in leginon.cfg. See above.
1773
1774
1775
1776
1777
*  Configurations for all users
1778 22 Amber Herold
1779 11 Amber Herold
1780
1781
<pre> <Python directory>\Lib\site-packages\Leginon\config\leginon.cfg</pre>
1782
1783
1784
Example:
1785
<pre> C:\Python25\Lib\site-packages\Leginon\config\leginon.cfg</pre>
1786
1787
1788
*  Configurations for individual users
1789 22 Amber Herold
1790 11 Amber Herold
1791
1792
<pre> <Home directory>\leginon.cfg</pre>
1793
1794
1795
Example:
1796
<pre> C:\Documents and Settings\Leginon User\leginon.cfg </pre>
1797
1798
1799
*  A skeleton (default) configuration file is available:
1800
1801
1802
1803
<pre> C:\Python25\Lib\site-packages\Leginon\config\default.cfg</pre>
1804
1805
1806
1807
1808
1809 1 Eric Hou
1810 16 Amber Herold
1811 11 Amber Herold
1812
1813
1814
h2.  Configure sinedon.cfg:
1815
1816
1817
Sinedon is designed to be able to interact with multiple databases.
1818
1819
Follow instruction in "<link linkend="sinedon_cfg">Configure sinedon.cfg</link>" in
1820
the section for Linux installation but note the location of the configuration files
1821
follows.
1822
1823
1824
1825
1826
* For all users, put sinedon.cfg with the installed package
1827
as<pre>C:\Python25\Lib\site-packages\sinedon\sinedon.cfg</pre>
1828 22 Amber Herold
1829 11 Amber Herold
1830
*  Your home directory on
1831
Windows:<pre>C:\Documents and Settings\your_name></pre>
1832
1833
1834
* the skeleton sinedon configuration file
1835
is<pre>C:\Python25\Lib\site-packages\sinedon\examples\sinedon.cfg</pre>
1836
1837
1838
1839
1840
1841 16 Amber Herold
1842 11 Amber Herold
1843
1844
1845 1 Eric Hou
h2.  Create Leginon and Leginon Client shortcut in Start menu menu under Leginon
1846 11 Amber Herold
1847
1848
1849
This instruction refers to Windows XP
1850
1851
1852 1 Eric Hou
1853 11 Amber Herold
1854
* Go to C:\Documents and Settings\All Users\Start Menu\Programs\ and create a new
1855
folder named Leginon.
1856 17 Amber Herold
1857 11 Amber Herold
1858
* In another window, go
1859 1 Eric Hou
to<pre>C:\Python25\Lib\site-packages\Leginon</pre>
1860 11 Amber Herold
1861
1862
* Create a shortcut from start-leginon.py as Leginon and a shortcut from
1863
launcher.py as Leginon Client.
1864 17 Amber Herold
1865 11 Amber Herold
1866
* Move the two shortcuts into
1867
<pre>C:\Documents and Settings\All Users\Start Menu\Programs\Leginon</pre>
1868
1869
1870
1871
1872
1873 16 Amber Herold
1874 11 Amber Herold
1875 1 Eric Hou
1876 11 Amber Herold
1877
h2.  Additional Software (Optional):
1878
1879
1880
TightVNC (http://www.tightvnc.com)
1881
1882
1883
1884
1885
1886 16 Amber Herold
1887 11 Amber Herold
1888
1889
1890
h2. Database server Windows Installation
1891 16 Amber Herold
1892 11 Amber Herold
1893
1894
1895
h2. We do not do this at NRAMM. Please follow the instruction in Linux installation and
1896
modify it for Windows at your own risk.
1897
1898
1899
1900
For a good Windows specific instruction for general PHP configuration with MySQL for
1901
Apache 2 in Windows, try http://www.artfulsoftware.com/php_mysql_win.html.
1902
1903
1904
1905
1906
1907 16 Amber Herold
1908 1 Eric Hou
1909 11 Amber Herold
1910
1911
h2.  Additional installation on the microscope computer:
1912
1913
1914
1915
The full leginon and its supporting packages need to be installed on the Windows computer
1916
controlling the microscope. Additional programs are required for communication with the CCD
1917
and extra functions for Tecnai scripting not supported as default by FEI Tecnai
1918 16 Amber Herold
microscopes
1919 11 Amber Herold
1920
1921
1922
h2.  Required supporting programs for the CCD camera from camera makers
1923
1924
1925 1 Eric Hou
1926
Install and register the following programs for CCD cameras from the two makes:
1927 14 Amber Herold
1928 11 Amber Herold
1929
1930
|_.Camera Make:|_.File:|
1931
| Gatan|TecnaiCCD.dll|
1932
| Tietz|CAMC4.exe*|
1933
1934
1935
1936
1937
* We have experienced slowness of the CAMC4.exe comes with later version Tecnai TUI/TIA.
1938
Replacing it with an earlier version of CAMC4.exe resolved the problem.
1939
1940 16 Amber Herold
1941 11 Amber Herold
1942
1943
1944
h2. Additional Package required from NRAMM for Gatan camera or camera that uses TIA
1945
1946 1 Eric Hou
1947 11 Amber Herold
1948 1 Eric Hou
For Gatan Camera or FEI Eagle Camera that uses TIA, comarray package need to be install
1949
with python
1950
1951 11 Amber Herold
1952
1953
|_.SVN Package Name|_.Installed Python Package Name|_.Reason for update:|
1954
|comarray|comarray|com module output conversion to array|
1955
1956
1957
1958
1959
1960
1961 17 Amber Herold
* <link linkend="window_svn">Check out the comarray package</link> from svn
1962 11 Amber Herold
depository with your SVN client
1963
1964
<pre>cd Leginon-1.6-ALL
1965 1 Eric Hou
svn co http://emg.nysbc.org/svn/comarray/branches/leg1.6 comarray</pre>
1966 11 Amber Herold
1967
* Start a command line Window from Start Menu
1968
1969
1970
* Install the package with commands such as
1971
<pre>cd Your_Download_Place\Leginon-1.6-ALL\comarray
1972
c:\\python25\python.exe setup.py install</pre>
1973
1974
1975
1976
1977
1978 16 Amber Herold
1979 11 Amber Herold
1980
1981
1982
h2.  Supporting programs for film exposure
1983
1984
1985 1 Eric Hou
1986
Install the following if you need film exposure on FEI Tecnai TEM through Leginon,
1987 11 Amber Herold
available through FEI. Please contact Max Otten: <email>mto@feico.com</email> and request
1988 14 Amber Herold
for adaexp.exe that works with your version of Tecnai user interface program.
1989 13 Amber Herold
1990 11 Amber Herold
1991
1992
|_.Name:|_.File:|
1993
| exposure adaptor|adaexp.exe|
1994
1995
1996
1997 16 Amber Herold
1998 11 Amber Herold
1999
2000
2001
h2.  Register adaexep.exe
2002
2003
2004
2005
*  From the command prompt:
2006
2007
<pre>adaexp.exe /regserver</pre>
2008
2009
*  From the program start menu under pyScope or
2010
C:\Python25\Lib\site-packages\pyScope\
2011
2012
<pre>updatecom.py</pre>
2013
2014
2015
2016
2017 16 Amber Herold
2018 11 Amber Herold
2019
2020 1 Eric Hou
2021 11 Amber Herold
h2. Modify instruments.cfg:
2022
2023
2024
2025
Sinedon now have full control of database interaction, therefore, the database
2026
configuration in leginon.cfg is no longer needed.
2027
2028
2029
2030
2031
* Modify the file instruments.cfg in the installed pyScope directory to that for
2032
your microscope and camera. For example, if your microscope uses Tecnai Scripting
2033
Interface and you have a Gatan camera that you interface through
2034
DigitalMicrograph:
2035
2036
2037
2038
<pre>[tem]
2039
class: tecnai.Tecnai
2040 1 Eric Hou
[camera]
2041 11 Amber Herold
class: gatan.Gatan</pre>
2042
2043
2044
2045
The file contains other examples of microscope and camera drivers that we
2046
distribute from NRAMM.
2047
2048
2049
2050
2051
2052 16 Amber Herold
2053 11 Amber Herold
2054
2055
2056
h2. Run updatecom.py
2057
2058
2059
2060
From a command line window:
2061
2062
2063
2064
<pre>cd C:\python25\Lib\Site-Packages\pyScope
2065
C:\python25\python.exe updatecom.py</pre>
2066
2067
2068
2069
This should generate a few files, including tecnaicom.py, gatancom.py and tietzcom.py,
2070
in the same directory.
2071
2072 16 Amber Herold
2073 11 Amber Herold
2074
2075
2076
h2. Additional setup on Tietz PXL camera (optional)
2077
2078
2079
2080
The actual Tietz PXL camera dimension is slightly larger than 2048 x 2048. If you'd like
2081 1 Eric Hou
to take the images using the maximum of 2048 x 2048 pixels, you may modify the function that
2082 11 Amber Herold
get camera dimension in tietz.py of pyScope package.
2083
2084
2085
*  Go to C:\Python25\Lib\site-packages\pyScope\
2086
2087
2088
*  Edit tietz.py with a plain text editor
2089
2090
2091
*  Find the lines:
2092
2093
2094
2095 1 Eric Hou
<pre> def getCameraSize(self):
2096 11 Amber Herold
# {'type': dict, 'values': {'x': {'type': int}, 'y': {'type': int}}}}
2097
x = self._getParameterValue('cpTotalDimensionX')
2098
y = self._getParameterValue('cpTotalDimensionY')
2099
return {'x': x, 'y': y}
2100 1 Eric Hou
</pre>
2101 11 Amber Herold
2102
2103
2104
*  Change the last line to:
2105
2106
2107
2108
<pre>    return {'x': 2048, 'y': 2048}</pre>
2109
2110 1 Eric Hou
2111 11 Amber Herold
2112
2113 16 Amber Herold
2114 11 Amber Herold
2115
2116
2117
h2.  Additional Software (Optional):
2118
2119 1 Eric Hou
2120 11 Amber Herold
TightVNC (http://www.tightvnc.com) if you get tired of going into the microscope room
2121
just to open the column valves.
2122
2123
2124
2125
2126
2127 16 Amber Herold
2128 11 Amber Herold
2129
2130 1 Eric Hou
2131 11 Amber Herold
h2.  What is next
2132 16 Amber Herold
2133 11 Amber Herold
2134
2135 1 Eric Hou
2136 11 Amber Herold
h2.  Perform Administration Setup
2137
2138
2139
See Next chapter on <link linkend="addusers">Leginon Administration Tools</link>.
2140 1 Eric Hou
2141 11 Amber Herold
2142 16 Amber Herold
2143 11 Amber Herold
2144
2145
2146
h2.  Create a test project
2147
2148
2149
See the chapter on <link linkend="project">Project Management Tools</link>.
2150 1 Eric Hou
2151 16 Amber Herold
2152 11 Amber Herold
2153
2154
2155
h2.  Perform Microscope Setup and Test run
2156
2157
2158
See the chapter on <link linkend="runleg_chapter">Start Leginon</link>.
2159
2160
2161 1 Eric Hou
2162 16 Amber Herold
2163 11 Amber Herold
2164
2165
2166
h2.  Backup Practices
2167 16 Amber Herold
2168 11 Amber Herold
2169
2170
2171
h2.  Ideal setup:
2172 16 Amber Herold
2173 11 Amber Herold
2174 1 Eric Hou
2175 11 Amber Herold
2176
h2.  Regular computer backup
2177
2178
2179
2180
To protect your program installation.
2181
2182 16 Amber Herold
2183 11 Amber Herold
2184 1 Eric Hou
2185 11 Amber Herold
2186
h2.  Full backup of the databases every night
2187
2188
2189
2190
The database is the metadata generated by Leginon named "dbemdata" in the installation
2191
example.
2192
2193 16 Amber Herold
2194 11 Amber Herold
2195
2196
2197 1 Eric Hou
h2. Full/Incremental/differential backup of the images
2198 11 Amber Herold
2199
2200
2201
The image files located in [your storage disk] should be backup in full at least once
2202
a month, and nightly in differential or incremental mode.
2203
2204 1 Eric Hou
2205 11 Amber Herold
2206 16 Amber Herold
2207 11 Amber Herold
2208
2209
2210
h2.  Current NRAMM setup:
2211
2212
2213
2214
Because our tape backup system is not on-site and the data have to transfer over slow
2215
network to perform the task, we have not been able to backup in the ideal setting. Here is
2216 16 Amber Herold
what we currently do:
2217 11 Amber Herold
2218
2219
2220
h2.  Regular computer backup
2221
2222
2223
2224
TSRI Research Computing provides regular back up service that does full backup of the
2225
computers every four weeks and incremental backup every night. The full backup expires in
2226
4 months and the incremental backup one month. We do this for the computers running
2227
Leginon main program, the database server, as well as the web server.
2228
2229 16 Amber Herold
2230 11 Amber Herold
2231
2232
2233
h2.  Regular backup &amp; tar of the databases every night
2234
2235
2236 16 Amber Herold
2237 11 Amber Herold
On top of the TSRI backup, we also tar the database everynight and store it on the
2238
institutional tape library.
2239
2240
2241
2242
2243
2244
h2.  rsync to a tape library of the image storage disk
2245
2246
2247
2248
As our image storage disks total 15T byte, we currently use rsync function to update a
2249
copy on our institutional tape library. It creates new files, updates old files, but does
2250 1 Eric Hou
not remove old files on the tape if it is removed on the storage disk. We do not think
2251
this is the best solution since it is not possible to retrieve old files that have been
2252
modified on a later time.