Project

General

Profile

Web Server Installation » History » Version 15

Amber Herold, 04/02/2010 04:31 PM

1 1 Amber Herold
h1. Web Server Installation
2
3
4 6 Amber Herold
5 1 Amber Herold
The following applies to the computer that will host the web-accessable image viewers ( a part of dbem tools) and project manager (a part of project tools).
6
7 9 Amber Herold
h2. Differences between Linux flavors
8
9 1 Amber Herold
Different Linux flavors often put web server and mysql-related files in different locations. This can be confusing. From experience, we found the equivalent on CentOS vs SuSE. Here we list them for reference. If your system use a different naming and you are willing to share your experience, please send us the list. We will add it here:
10
11
Table 4.4. Different File locations and Commands on CentOS vs SUSE
12
13 9 Amber Herold
|_.File or Command Head|_.CentOS|_.SuSE|
14
| php.ini|/etc/| /etc/php5/apache2/|
15
| httpd.conf|/etc/httpd/conf/|/etc/php5/apache2/|
16
| default document_root|/var/www/html/|/srv/www/htdocs/|
17
| apache start/stop/restart command head|/etc/init.d/httpd|/etc/init.d/apache2|
18
| mysql start/stop/restart command head|/etc/init.d/mysqld|/etc/init.d/mysql|
19
20 15 Amber Herold
h2. Web Server Prerequisites
21 9 Amber Herold
22 15 Amber Herold
The myamiweb files are mostly php scripts that run at the web server. PHP, PHP-devel, gd, and fftw3 packages are required before installation of myamiweb and the mrc extension that handles the display of mrc files. Some of these packages may be found on the SuSE Linux DVD or included in common package repository. MySQL and the Apache Web Server can be downloaded from their respective websites.
23 1 Amber Herold
24
25 15 Amber Herold
h3. Install PHP, PHP-devel, gd, and fftw3
26
27
28
Use the installation tools available for your linux distribution.
29
For example, to install gd as php extension you may use
30
31
<pre>
32
CentOS> yum install php-gd
33
SuSE10.2 and above> zypper install php-gd
34
</pre>
35
36
* Likewise, use the SuSE Linux YaST2 utility or zypper (openSuSE 10.2 and above) to install.
37
* "A list of required CENTOS rpms and instruction":http://emg.nysbc.org/bb/viewtopic.php?t=238 can be found at dbemtools bulletin board at leginon.org.
38
39
Use the following table to find the prerequisite packages required for your distribution of linux:
40
41
Prerequisite packages for myamiweb
42
43 1 Amber Herold
|_.Name:|_.Download site:|_.yum package name|_.SuSE rpm name|
44 11 Amber Herold
| Apache| "www.apache.org":http://www.apache.org| httpd| apache2|
45 1 Amber Herold
| php| "www.php.net":http://www.php.net| php| php|
46
| php-devel*| "rpmfind.net/linux/RPM/Development_Languages_PHP.html":http://rpmfind.net/linux/RPM/Development_Languages_PHP.html| php-devel| php-devel|
47
| 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|
48 11 Amber Herold
| fftw3 library (including development libraries and header *)| "www.fftw.org":http://www.fftw.org  (Use fftw3.x)| fftw3-devel| fftw3-devel|
49 1 Amber Herold
50
* 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.
51 11 Amber Herold
52 1 Amber Herold
53 6 Amber Herold
h2. Configure php.ini
54 1 Amber Herold
55
Edit the following two sections in php.ini (found as /etc/php.ini on CentOS and /etc/php5/apache2/php.ini on SuSE) so that they look like the following:
56
57 11 Amber Herold
<pre>
58 1 Amber Herold
register_argc_argv = On
59
60
short_open_tag = On
61
62
max_execution_time = 300     ; Maximum execution time of each script, in seconds
63
max_input_time = 300     ; Maximum amount of time each script may spend parsing request data
64
memory_limit = 256M      ; Maximum amount of memory a script may consume (8MB)
65 11 Amber Herold
</pre>
66 1 Amber Herold
67
You may want to increase max_input_time and memory_limit if the server is heavily used. At NRAMM, max_input_time=600 and memory_limit=4000M.
68
69 11 Amber Herold
h2. Apache Web Server
70
71 1 Amber Herold
1. Install the Apache Web Server with the YaST or yum utility.
72
73
2. Find "httpd.conf".
74 11 Amber Herold
 This is /etc/httpd/conf/httpd.conf on CentOS and /etc/php5/apache2/httpd.conf on SuSE
75 1 Amber Herold
76 7 Amber Herold
3. Edit the "httpd.conf" configuration file to look like the following:
77 11 Amber Herold
 <pre>
78
 DirectoryIndex index.htm index.shtm index.html index.shtml index.php
79
 </pre>
80 7 Amber Herold
81 11 Amber Herold
 *Note:* It may be possible to edit httpd.conf in YaST2 as well.
82 4 Amber Herold
83 3 Amber Herold
4. Restart the web server.
84 1 Amber Herold
85
<pre>
86
      apachectl restart
87
           or
88
      /etc/init.d/httpd restart     (ON CentOS)
89
           or
90
      /etc/init.d/apache2 restart   (ON SuSE)
91 11 Amber Herold
</pre>                  
92 1 Amber Herold
93
      If you want to start the web server automatically at boot on SuSE
94
95 11 Amber Herold
<pre>
96 3 Amber Herold
       SuSE >chkconfig apache2 on
97 11 Amber Herold
</pre>
98 1 Amber Herold
99 11 Amber Herold
h2. Check php information
100 1 Amber Herold
101
Create the following info.php in your web server document root directory (/var/www/html on CentOS. /srv/www/htdocs on SuSE. You can find its location in httpd.conf mentioned above under the line starting DocumentRoot).
102
103
<pre>
104
<?php
105 7 Amber Herold
phpinfo();
106 1 Amber Herold
?>
107
</pre>
108
109
Visit this page at http://yourhost/info.php
110
111
You will see comprehensive tables of php and apache information, including the location of the addition .ini files, extension, include path, and what extension is enabled.
112
113
Here is an example screen shot of the part of the info.php page that tells you where php.ini and other configuration files are.
114 6 Amber Herold
115 11 Amber Herold
!http://emg.nysbc.org/software/leginon/images/images/phpini.png!
116
117
118 1 Amber Herold
h2. mrctools Installation
119 7 Amber Herold
120 13 Amber Herold
Follow [[mrctools installation|these instructions]] to install mrctools which will allow viewing of mrc files in a web browser.
121
122 6 Amber Herold
h2. Web Interface (myamiweb) Linux Installation
123 1 Amber Herold
124
php and java scripts for viewing images and Leginon information through the web server.
125
126
127 7 Amber Herold
1. Move the myami/myamiweb directory to your Apache web directory
128 6 Amber Herold
129 3 Amber Herold
Example:
130 1 Amber Herold
<pre>
131 6 Amber Herold
> cd [webdirectory]   // /var/www/html in this example
132
> cp [path_to_myami_download_location]/myami/myamiweb .
133 7 Amber Herold
</pre>
134 3 Amber Herold
135 6 Amber Herold
2. Copy config.php.template to config.php and edit the latter by adding these MySQL parameters:
136 7 Amber Herold
"config.php" should be located in /var/www/html/myamiweb/ on CentOS and /srv/www/htdocs/myamiweb/ on SuSE.
137 1 Amber Herold
138 6 Amber Herold
<pre>
139
<?php
140 1 Amber Herold
// --- define myamiweb tools base --- //
141 6 Amber Herold
142
// This should be changed if the myamiweb directory is located 
143
// in a sub-directory of the Apache web directory.
144
// ex. myamiweb is in /var/www/html/applications/myamiweb/ then
145
// change to  define('BASE_PATH',"applications/myamiweb");
146 3 Amber Herold
define('BASE_PATH',"myamiweb"); 
147 6 Amber Herold
148
// Administrator email address
149 3 Amber Herold
define('ADMIN_EMAIL', "example@scripps.edu");
150 6 Amber Herold
151
// --- Set your MySQL database server parameters
152
define('DB_HOST', "localhost");		// DB Host name 
153
define('DB_USER', "usr_object");	// DB User name
154
define('DB_PASS', "");		        // DB Password
155
define('DB_LEGINON', "leginondb");	// Leginon database name
156 1 Amber Herold
define('DB_PROJECT', "projectdb");	// Project database name
157
</pre>
158 8 Amber Herold
159
* Enable the processing plug-in by uncommenting out the following line in the file`myamiweb/config.php`
160
161
<pre>
162
addplugin("processing");
163
</pre>
164
165
* Copy `myamiweb/processing/config_processing.php.template` to `myamiweb/processing/config_processing.php`
166
* Edit `myamiweb/processing/config_processing.php`
167
168
<pre>
169
$PROCESSING_DB_HOST = "your_db_host";
170
$PROCESSING_DB_USER = "usr_object";
171
$PROCESSING_DB_PASS = ""; 
172
$PROCESSING_DB = "";
173
</pre>
174
175
Remember that the last line should be kept empty as this will be set dynamically.
176
We will not include the processing host or cluster registration now. It is covered in the last part of this document.
177 6 Amber Herold
178 1 Amber Herold
3. Test the set-up by visiting http://yourhost/myamiweb