Project

General

Profile

Appion Home » History » Version 13

Amber Herold, 03/31/2010 03:26 PM

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