Project

General

Profile

Install the MRC PHP Extension » History » Version 45

Christopher Irving, 05/17/2010 04:09 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
Do not worry about any error message and long as the command is found.
14 4 Amber Herold
15 6 Amber Herold
h3. php-GD/FFTW3-devel
16 4 Amber Herold
17 6 Amber Herold
Make sure that php-GD and FFTW 3 devel libraries are installed.
18 4 Amber Herold
19 8 Amber Herold
*TODO:* provide a screenshot of info.php when correctly installed.
20 4 Amber Herold
21 11 Amber Herold
*Note:*
22 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.
23 1 Amber Herold
24 10 Amber Herold
h2. MRC Tools Installation
25 4 Amber Herold
26 27 Neil Voss
h3. Go to myami/php_mrc directory
27 5 Amber Herold
28 28 Neil Voss
h3. Compile and install the MRC module
29
30 1 Amber Herold
<pre>
31 27 Neil Voss
phpize
32
./configure 
33
make
34
sudo make install
35 4 Amber Herold
</pre>
36 17 Amber Herold
37 27 Neil Voss
h3. Check that the mrc.so module exists in your php module directory (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*.
38 29 Neil Voss
39 1 Amber Herold
<pre>
40 30 Neil Voss
ls /usr/lib64/php/modules
41 27 Neil Voss
  mrc.so
42 1 Amber Herold
</pre>
43
44
45 4 Amber Herold
46 31 Neil Voss
h3. Edit your php configuration file, @php.ini@.
47 1 Amber Herold
48 31 Neil Voss
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 (in part 2).
49 1 Amber Herold
50 32 Neil Voss
* Confirm the location of "additional .ini files parsed" from the info.php web page (/etc/php.d in this example)
51 31 Neil Voss
and create a file called  "mrc.ini" in this directory.
52 12 Amber Herold
<pre>
53 31 Neil Voss
cd /etc/php.d
54
sudo touch /etc/php.d/mrc.ini
55 33 Neil Voss
sudo chmod 666 mrc.ini
56 34 Neil Voss
echo "; Enable mrc extension module" > mrc.ini
57 1 Amber Herold
echo "extension=mrc.so" >> mrc.ini
58 33 Neil Voss
sudo chmod 444 mrc.ini
59
cat mrc.ini
60 19 Amber Herold
</pre>
61 4 Amber Herold
62 31 Neil Voss
*OR*
63
64 32 Neil Voss
* Add the "mrc.so" extension to the end of the *extension section*
65
<pre>
66
extension=mrc.so
67
</pre>
68 4 Amber Herold
69 36 Neil Voss
h3. Restart your webserver
70 1 Amber Herold
71 4 Amber Herold
<pre>
72 1 Amber Herold
/etc/init.d/apache2 restart #SuSe
73 36 Neil Voss
sudo /sbin/service httpd restart #CentOS
74 4 Amber Herold
</pre>
75
76 36 Neil Voss
h3. Verify the mrc tools installation
77 4 Amber Herold
78
h4. Check php information
79
80
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):
81
82
!http://emg.nysbc.org/software/leginon/images/images/phpmrc.png!
83
84
If mrc is not listed, the extension did not get added in the right order.
85
86
h4. Alternative approach if mrc module does not show up in info.php output
87
88
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/*).
89
90
2. Go to the directory and make a copy of any ini file to use as a template for mrc.ini
91 1 Amber Herold
92 4 Amber Herold
<pre>
93
      >cd [additional_ini_directory]
94 1 Amber Herold
      >cp gd.ini mrc.ini
95
</pre>
96 4 Amber Herold
97 1 Amber Herold
3. Edit mrc.ini to the following
98
99 4 Amber Herold
<pre>
100
      ; comment out next line to disable mrc extension in php
101 1 Amber Herold
      extension=mrc.so
102
</pre>
103 4 Amber Herold
104 1 Amber Herold
4. Comment out mrc extension from php.ini (found in /etc/php.ini/ on a typical PHP installation)
105
106 4 Amber Herold
<pre>
107 1 Amber Herold
      ;extension=mrc.so
108
</pre>
109 4 Amber Herold
110 16 Amber Herold
5. Restart your webserver
111 1 Amber Herold
112 4 Amber Herold
<pre>
113 1 Amber Herold
      > /etc/init.d/httpd restart
114
</pre>
115 4 Amber Herold
116 1 Amber Herold
h4. Test the MRC module installation
117
118
Download this MRC file "mymrc.mrc":http://emg.nysbc.org/attachments/55/mymrc.mrc and the following 2 scripts into the same directory to test the PHP mrc extension. 
119
* gd module testing script "ex1.php":http://emg.nysbc.org/attachments/53/ex1.php
120
* fftw module testing script "ex2.php":http://emg.nysbc.org/attachments/54/ex2.php
121
122 37 Neil Voss
<pre>
123 43 Neil Voss
cd /var/www/html/ #CentOS
124
sudo wget http://emg.nysbc.org/attachments/download/55/mymrc.mrc
125
sudo wget http://emg.nysbc.org/attachments/download/53/ex1.php
126
sudo wget http://emg.nysbc.org/attachments/download/54/ex2.php
127 39 Neil Voss
</pre>
128 37 Neil Voss
129 44 Neil Voss
Run the scripts with the following commands and visit the corresponding pages from the web server:
130
The expected results are shown below. If you get the same images, you've installed the extension properly. 
131 1 Amber Herold
132 44 Neil Voss
web server: http://localhost/ex1.php
133
134 1 Amber Herold
<pre>
135 41 Neil Voss
php -q ex1.php | display
136 1 Amber Herold
</pre>
137
138
* gd module test result:
139
!http://emg.nysbc.org/attachments/57/ex1.php.png!
140 44 Neil Voss
141
web server: http://localhost/ex2.php
142 1 Amber Herold
143
<pre>
144 41 Neil Voss
php -q ex2.php | display
145 1 Amber Herold
</pre>
146 3 Amber Herold
147
* fftw module test result:
148
!http://emg.nysbc.org/attachments/58/ex2.php.png!
149 1 Amber Herold
150
Test files work but images not showing up in the ImageViewers?
151
[[Troubleshooting Notes|Here's one way this was fixed.]]
152 22 Amber Herold
153
______
154
155
[[Check php information|< Check php information]] | [[Install the Web Interface|Install the Web Interface >>]]
156 25 Amber Herold
157
158
______