Project

General

Profile

Install the MRC PHP Extension » History » Version 57

Amber Herold, 05/24/2010 04:00 PM

1 21 Amber Herold
h1. Install the MRC PHP Extension
2 1 Amber Herold
3 9 Amber Herold
MRC Tools is installed as a php extension and is required for displaying mrc files live on the web browser.
4 1 Amber Herold
5 6 Amber Herold
h2. Make sure you have installed the prerequisite packages
6 1 Amber Herold
7 24 Amber Herold
You may find installation information for the following packages under [[Install Web Server Prerequisites]].
8 6 Amber Herold
9
h3. php-devel
10
11 27 Neil Voss
You can check whether php-devel is installed by typing:
12
<pre>phpize</pre>
13 46 Amber Herold
Do not worry about any error message as long as the command is found.
14
15 4 Amber Herold
16 6 Amber Herold
h3. php-GD/FFTW3-devel
17 4 Amber Herold
18 6 Amber Herold
Make sure that php-GD and FFTW 3 devel libraries are installed.
19 4 Amber Herold
20 8 Amber Herold
*TODO:* provide a screenshot of info.php when correctly installed.
21 4 Amber Herold
22 11 Amber Herold
*Note:*
23 10 Amber Herold
MRCtools are compiled and added to php extension with php-devel package. MRCtools use GD and FFTW3 that need to be compiled from their development libraries while the extension is compiled. If GD and FFTW3 sources were downloaded and compiled directly on your computer, these development files are included. If (as in most cases) GD and FFTW3 are installed from rpm, they are not included. An error message will appear when you attempt to compile mrctools. In this case, you will need separate download and installation of GD-devel and FFTW3-devel. Search http://rpmfind.net/linux/rpm2html/ for GD-devel and FFTW3-devel for the rpm distribution needed for your system. More information on the gd library can be found "here":http://www.php.net/manual/en/image.requirements.php. If you find that you can only view images as png instead of jpg, it may be that you do not have gd _jpeg_ support installed.
24 1 Amber Herold
25 10 Amber Herold
h2. MRC Tools Installation
26 4 Amber Herold
27 27 Neil Voss
h3. Go to myami/php_mrc directory
28 5 Amber Herold
29 28 Neil Voss
h3. Compile and install the MRC module
30
31 1 Amber Herold
<pre>
32 27 Neil Voss
phpize
33
./configure 
34
make
35
sudo make install
36 4 Amber Herold
</pre>
37 17 Amber Herold
38 48 Amber Herold
h3. Check that the mrc.so module exists in your php module directory 
39
40
(e.g., @/usr/lib64/php/modules@ on 64bit CentOS/RHEL/Fedora). If you are unsure where the php module directory is, use http://localhost/info.php to find it under *extension_dir*.
41 29 Neil Voss
42 1 Amber Herold
<pre>
43 30 Neil Voss
ls /usr/lib64/php/modules
44 27 Neil Voss
  mrc.so
45 1 Amber Herold
</pre>
46
47 54 Eric Hou
For Suse
48
49
<pre>
50
ls /usr/lib64/php5/extensions
51
  mrc.so
52
</pre>
53
54 1 Amber Herold
55 4 Amber Herold
56 31 Neil Voss
h3. Edit your php configuration file, @php.ini@.
57 1 Amber Herold
58 49 Amber Herold
If your linux distro does not have a /etc/php.d/ or /etc/php.d/conf.d/ directory where other .ini files reside, you may need to follow the alternate instructions below titled: _Alternative approach if mrc module does not show up in info.php output_.
59 1 Amber Herold
60 32 Neil Voss
* Confirm the location of "additional .ini files parsed" from the info.php web page (/etc/php.d in this example)
61 57 Amber Herold
and create a file called  "mrc.ini" in this directory. This may be done with the following series of commands:
62 12 Amber Herold
<pre>
63 31 Neil Voss
cd /etc/php.d
64
sudo touch /etc/php.d/mrc.ini
65 33 Neil Voss
sudo chmod 666 mrc.ini
66 34 Neil Voss
echo "; Enable mrc extension module" > mrc.ini
67 1 Amber Herold
echo "extension=mrc.so" >> mrc.ini
68 33 Neil Voss
sudo chmod 444 mrc.ini
69
cat mrc.ini
70 19 Amber Herold
</pre>
71 4 Amber Herold
72 31 Neil Voss
*OR*
73
74 32 Neil Voss
* Add the "mrc.so" extension to the end of the *extension section*
75
<pre>
76
extension=mrc.so
77
</pre>
78 4 Amber Herold
79 36 Neil Voss
h3. Restart your webserver
80 1 Amber Herold
81 50 Amber Herold
Example commands:
82 1 Amber Herold
<pre>
83 50 Amber Herold
#SuSe
84
/etc/init.d/apache2 restart 
85
86
#CentOS
87
sudo /sbin/service httpd restart 
88 4 Amber Herold
</pre>
89
90 36 Neil Voss
h3. Verify the mrc tools installation
91 4 Amber Herold
92
93
Visit or refresh http://yourhost/info.php which you created earlier. It should have a section looking like this (The version should correspond to what you've just installed):
94
95
!http://emg.nysbc.org/software/leginon/images/images/phpmrc.png!
96
97
If mrc is not listed, the extension did not get added in the right order.
98 1 Amber Herold
99 51 Amber Herold
h3. Alternative approach if mrc module does not show up in info.php output
100 4 Amber Herold
101
1. find in the info.php web page the location of "additional .ini files parsed" in the first table (such as /etc/php.d/conf.d/*).
102
103
2. Go to the directory and make a copy of any ini file to use as a template for mrc.ini
104 1 Amber Herold
105 4 Amber Herold
<pre>
106
      >cd [additional_ini_directory]
107 1 Amber Herold
      >cp gd.ini mrc.ini
108
</pre>
109 4 Amber Herold
110 1 Amber Herold
3. Edit mrc.ini to the following
111
112 4 Amber Herold
<pre>
113
      ; comment out next line to disable mrc extension in php
114 1 Amber Herold
      extension=mrc.so
115
</pre>
116 4 Amber Herold
117 1 Amber Herold
4. Comment out mrc extension from php.ini (found in /etc/php.ini/ on a typical PHP installation)
118
119 4 Amber Herold
<pre>
120 1 Amber Herold
      ;extension=mrc.so
121
</pre>
122 4 Amber Herold
123 16 Amber Herold
5. Restart your webserver
124 1 Amber Herold
125 4 Amber Herold
<pre>
126 1 Amber Herold
      > /etc/init.d/httpd restart
127
</pre>
128 4 Amber Herold
129 1 Amber Herold
h4. Test the MRC module installation
130
131 55 Jim Pulokas
In the myami/php_mrc directory, you will find two test scripts, "ex1.php" and "ex2.php" and a test MRC image "mymrc.mrc". 
132 1 Amber Herold
133 55 Jim Pulokas
Copy them to your top level web directory (for example on CentOS: /var/www/html/):
134 43 Neil Voss
<pre>
135 55 Jim Pulokas
cp ex1.php ex2.php mymrc.mrc /var/www/html/
136 39 Neil Voss
</pre>
137 37 Neil Voss
138 44 Neil Voss
Run the scripts with the following commands and visit the corresponding pages from the web server:
139 56 Jim Pulokas
The expected results are shown below. If you get the same images, you've installed the extension properly.
140
Note:  the "display" command is part of the ImageMagick package, which you may have to install.
141 1 Amber Herold
142 44 Neil Voss
web server: http://localhost/ex1.php
143
144 1 Amber Herold
<pre>
145 41 Neil Voss
php -q ex1.php | display
146 1 Amber Herold
</pre>
147
148
* gd module test result:
149
!http://emg.nysbc.org/attachments/57/ex1.php.png!
150 44 Neil Voss
151
web server: http://localhost/ex2.php
152 1 Amber Herold
153
<pre>
154 41 Neil Voss
php -q ex2.php | display
155 1 Amber Herold
</pre>
156 3 Amber Herold
157
* fftw module test result:
158
!http://emg.nysbc.org/attachments/58/ex2.php.png!
159 1 Amber Herold
160
Test files work but images not showing up in the ImageViewers?
161
[[Troubleshooting Notes|Here's one way this was fixed.]]
162 22 Amber Herold
163
______
164
165 47 Amber Herold
[[Download Appion and Leginon Files|< Download Appion and Leginon Files]] | [[Install the Web Interface|Install the Web Interface >>]]
166 25 Amber Herold
167
168
______