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