Clonweb: Difference between revisions

From CLONWiki
Jump to navigation Jump to search
Boiarino (talk | contribs)
No edit summary
 
(39 intermediate revisions by 5 users not shown)
Line 1: Line 1:
== RHEL6 ==
* yum install httpd-devel php (php-mysql ?)
== old stuff ==
TO BE: Sun X4100 server, currently old desktop.
IP address:
clonweb/129.57.167.42
TO BE IP address:
clonweb-new/129.57.167.26/00:11:43:35:48:4A
''clonweb'' is CLON group web server holding monitoring and utility tools as well as documentation.
''clonweb'' is CLON group web server holding monitoring and utility tools as well as documentation.
It assume to be viewed by everybody but can be modified by CLON system experts only.
It assume to be viewed by everybody but can be modified by CLON system experts only.
It is running RHEL4 in almost standard configuration, with extra 'clonweb' partition from file server
It is running RHEL4 in almost standard configuration, with extra 'clonweb' partition from file server
mounted as '/www' where all CLON applications are held. There are some restrictions since 'clonweb' is
mounted as '/www' where all CLON applications are held. There are some restrictions: 'clonweb' is not
visible from outside of JLAB firewalls. Access to 'clonweb' is opened through port 80 only, so only web browsing
visible from outside of JLAB firewall. Access to 'clonweb' is opened through port 80 only, so only web browsing
shell be used. Main index.html menu contains full list of applications running on 'clonweb'.
shell be used. Main index.html menu contains full list of applications running on 'clonweb'.


Those restrictions includes:  
Following procedures were used to install an applications:
 
== apache ==


Following procedures were used to install an applications:
See [[Apache]] for Apache and PHP installation procedure.


== wiki ==


== apache: ==
Wiki were moved to [[Clonwiki]] machine, reference link will point you there.


== phpmyadmin ==


   su
   su
   download 'httpd-2.2.3.tar.gz' from web to '/usr/local/download/'
   download 'phpMyAdmin-2.9.1.1-english.tar.gz' from web to '/usr/local/downloads'
   cp /usr/local/download/httpd-2.2.3.tar.gz /usr/local/src
   cp phpMyAdmin-2.9.1.1-english.tar.gz /www/apache2.2.3/htdocs
   cd /usr/local/src
   cd /www/apache2.2.3/htdocs
   gunzip httpd-2.2.3.tar.gz
   gunzip phpMyAdmin-2.9.1.1-english.tar.gz
   tar xvf httpd-2.2.3.tar
   tar xvf phpMyAdmin-2.9.1.1-english.tar
   mv httpd-2.2.3 httpd-2.2.3_clonweb
   mv phpMyAdmin-2.9.1.1-english phpMyAdmin
   cd /usr/local/src/httpd-2.2.3_clonweb
  cd phpMyAdmin
  ./configure --enable-module=so --prefix=/www/apache2.2.3
  cp config.sample.inc.php config.inc.php
  make
 
  make install
Edit config.inc.php setting following ('controlpass' must be the root password to mysql):
If 'holla' is not set message 'The configuration file now needs a secret passphrase
(blowfish_secret).' will shows up ('holla' can be any word ???):
 
  $cfg['blowfish_secret'] = 'holla'; /* YOU MUST FILL IN THIS FOR COOKIE AUTH! */
  $cfg['Servers'][$i]['host'] = 'clondb1.jlab.org';
  $cfg['Servers'][$i]['controluser'] = 'root';
  $cfg['Servers'][$i]['controlpass'] = '********';
 
Change config file's owner to 'apache' and set maximum protective mode:
 
  chown apache.apache config.inc.php
  chmod 400 config.inc.php
 
NOTE: make sure that 'mysql -h clondb1 -u root -p' works from clonweb; if not, grant
appropriate mysql privileges.
 
NOTE: following procedure was recommended but did not worked for me:
 
  mkdir config
  chmod 777 config
  cp config.sample.inc.php config/config.inc.php
  chmod 666 config/config.inc.php
  open browser (as 'root' ?), type following URL:
      http://clonweb/phpMyAdmin/scripts/setup.php
  Click on the "Add" button in the "Servers" section and fill in the following
  fields:
      Server hostname: clondb1.jlab.org
        (This is the host that your MySQL server is running on)
      Server port: 3306
        (the port your MySQL server is configured to use)
      Password for config auth: ....
        (the root password for your MySQL server)
  Press the button that says "Add" in green. Then press the "Save" button in
  the "Configuration" section.
  Now copy the configuration file into the main directory and delete the config
  directory:
      cp config/config.inc.php ./
      rm -rf config
   Assuming your MySQL server is running, you are now ready to connect to it and
  administer it with phpMyAdmin.
 
 
Start a Web browser and enter the following URL: http://clonweb/phpMyAdmin/
 
== preparations for dual apachies ==
 
from web:
 
    If you need to run two different apache installations on the same box, the quickest way, IMO, is to have two separate conf files for the
servers (/usr/local/apache/conf/httpd-server1.conf and /usr/local/apache/conf/httpd-server2.conf). In your startup script, you will need
to tell apache where to find the conf file, which I think is -f, but that's off the top of my head. The drawback here is that if both servers
need to share the machine name (both departments use http://foo), then at least one server will need to be on a non-standard port,
giving you something like http://foo and http://foo:8080. That's fine. It works. It's just extra work for one department.
  Now, if one machine will run both servers, but under different names (i.e., foo1 and foo2) you can use apache's vhosting capabilites. I've
never had to do this, so I don't know how to. :) The conf file that comes with the distro is pretty well documented, so it shouldn't be too
difficult to figure.
  A third option is to use .htaccess. I'm going to assume that some form of authentication is going to be used. If not, one department
could just as easily look at http://foo1 as changing from http://foo/dept1 to http://foo/dept2. Using .htaccess, you can restrict access to
the directories on a per-user basis (which can present maintenance issues) and serve all content off one server. I don't know all the
particulars of your situation, but this is what I would lean toward if I could.
 
see also page http://httpd.apache.org/docs/2.0/vhosts/examples.html, in particular:
 
The server has two IP addresses. On one (172.20.30.40), we will serve the "main" server, server.domain.com and on the other (172.20.30.50),
we will serve two or more virtual hosts. Server configuration:
    Listen 80
    # This is the "main" server running on 172.20.30.40
    ServerName server.domain.com
    DocumentRoot /www/mainserver
    # This is the other address
    NameVirtualHost 172.20.30.50
    <VirtualHost 172.20.30.50>
    DocumentRoot /www/example1
    ServerName www.example1.com
    # Other directives here ...
    </VirtualHost>
    <VirtualHost 172.20.30.50>
    DocumentRoot /www/example2
    ServerName www.example2.org
    # Other directives here ...
    </VirtualHost>
Any request to an address other than 172.20.30.50 will be served from the main server. A request to 172.20.30.50
with an unknown hostname, or no Host: header, will be served from www.example1.com.
 
The server machine has two IP addresses (192.168.1.1 and 172.20.30.40). The machine is sitting between an internal (intranet)
network and an external (internet) network. Outside of the network, the name server.example.com resolves to the external
address (172.20.30.40), but inside the network, that same name resolves to the internal address (192.168.1.1).
The server can be made to respond to internal and external requests with the same content, with just one VirtualHost section.
Server configuration:
    NameVirtualHost 192.168.1.1
    NameVirtualHost 172.20.30.40
    <VirtualHost 192.168.1.1 172.20.30.40>
    DocumentRoot /www/server1
    ServerName server.example.com
    ServerAlias server
    </VirtualHost>
Now requests from both networks will be served from the same VirtualHost.
Note:
  On the internal network, one can just use the name server rather than the fully qualified host name server.example.com.
  Note also that, in the above example, you can replace the list of IP addresses with *, which will cause the server to respond the same
  on all addresses.
 
 
 
 
NOTES:
 
smartd fails on boot startup 17-jan-2007

Latest revision as of 13:08, 28 September 2012

RHEL6

  • yum install httpd-devel php (php-mysql ?)

old stuff

TO BE: Sun X4100 server, currently old desktop.

IP address:

clonweb/129.57.167.42

TO BE IP address:

clonweb-new/129.57.167.26/00:11:43:35:48:4A

clonweb is CLON group web server holding monitoring and utility tools as well as documentation. It assume to be viewed by everybody but can be modified by CLON system experts only. It is running RHEL4 in almost standard configuration, with extra 'clonweb' partition from file server mounted as '/www' where all CLON applications are held. There are some restrictions: 'clonweb' is not visible from outside of JLAB firewall. Access to 'clonweb' is opened through port 80 only, so only web browsing shell be used. Main index.html menu contains full list of applications running on 'clonweb'.

Following procedures were used to install an applications:

apache

See Apache for Apache and PHP installation procedure.

wiki

Wiki were moved to Clonwiki machine, reference link will point you there.

phpmyadmin

 su
 download 'phpMyAdmin-2.9.1.1-english.tar.gz' from web to '/usr/local/downloads'
 cp phpMyAdmin-2.9.1.1-english.tar.gz /www/apache2.2.3/htdocs
 cd /www/apache2.2.3/htdocs
 gunzip  phpMyAdmin-2.9.1.1-english.tar.gz
 tar xvf phpMyAdmin-2.9.1.1-english.tar
 mv phpMyAdmin-2.9.1.1-english phpMyAdmin
 cd phpMyAdmin
 cp config.sample.inc.php config.inc.php

Edit config.inc.php setting following ('controlpass' must be the root password to mysql): If 'holla' is not set message 'The configuration file now needs a secret passphrase (blowfish_secret).' will shows up ('holla' can be any word ???):

 $cfg['blowfish_secret'] = 'holla'; /* YOU MUST FILL IN THIS FOR COOKIE AUTH! */
 $cfg['Servers'][$i]['host'] = 'clondb1.jlab.org';
 $cfg['Servers'][$i]['controluser'] = 'root';
 $cfg['Servers'][$i]['controlpass'] = '********';

Change config file's owner to 'apache' and set maximum protective mode:

 chown apache.apache config.inc.php
 chmod 400 config.inc.php

NOTE: make sure that 'mysql -h clondb1 -u root -p' works from clonweb; if not, grant appropriate mysql privileges.

NOTE: following procedure was recommended but did not worked for me:

 mkdir config
 chmod 777 config
 cp config.sample.inc.php config/config.inc.php
 chmod 666 config/config.inc.php
 open browser (as 'root' ?), type following URL:
     http://clonweb/phpMyAdmin/scripts/setup.php
 Click on the "Add" button in the "Servers" section and fill in the following
 fields:
     Server hostname:	clondb1.jlab.org
        (This is the host that your MySQL server is running on)
     Server port:	3306
        (the port your MySQL server is configured to use)
     Password for config auth:	....
        (the root password for your MySQL server)
 Press the button that says "Add" in green. Then press the "Save" button in
 the "Configuration" section.
 Now copy the configuration file into the main directory and delete the config
 directory:
     cp config/config.inc.php ./
     rm -rf config
 Assuming your MySQL server is running, you are now ready to connect to it and
 administer it with phpMyAdmin.


Start a Web browser and enter the following URL: http://clonweb/phpMyAdmin/

preparations for dual apachies

from web:

   If you need to run two different apache installations on the same box, the quickest way, IMO, is to have two separate conf files for the
servers (/usr/local/apache/conf/httpd-server1.conf and /usr/local/apache/conf/httpd-server2.conf). In your startup script, you will need
to tell apache where to find the conf file, which I think is -f, but that's off the top of my head. The drawback here is that if both servers 
need to share the machine name (both departments use http://foo), then at least one server will need to be on a non-standard port,
giving you something like http://foo and http://foo:8080. That's fine. It works. It's just extra work for one department.
  Now, if one machine will run both servers, but under different names (i.e., foo1 and foo2) you can use apache's vhosting capabilites. I've
never had to do this, so I don't know how to. :) The conf file that comes with the distro is pretty well documented, so it shouldn't be too
difficult to figure.
  A third option is to use .htaccess. I'm going to assume that some form of authentication is going to be used. If not, one department
could just as easily look at http://foo1 as changing from http://foo/dept1 to http://foo/dept2. Using .htaccess, you can restrict access to
the directories on a per-user basis (which can present maintenance issues) and serve all content off one server. I don't know all the
particulars of your situation, but this is what I would lean toward if I could.

see also page http://httpd.apache.org/docs/2.0/vhosts/examples.html, in particular:

The server has two IP addresses. On one (172.20.30.40), we will serve the "main" server, server.domain.com and on the other (172.20.30.50), 
we will serve two or more virtual hosts. Server configuration:
    Listen 80
    # This is the "main" server running on 172.20.30.40
    ServerName server.domain.com
    DocumentRoot /www/mainserver
    # This is the other address
    NameVirtualHost 172.20.30.50
    <VirtualHost 172.20.30.50>
    DocumentRoot /www/example1
    ServerName www.example1.com
    # Other directives here ...
    </VirtualHost>
    <VirtualHost 172.20.30.50>
    DocumentRoot /www/example2
    ServerName www.example2.org
    # Other directives here ...
    </VirtualHost>
Any request to an address other than 172.20.30.50 will be served from the main server. A request to 172.20.30.50
with an unknown hostname, or no Host: header, will be served from www.example1.com.
The server machine has two IP addresses (192.168.1.1 and 172.20.30.40). The machine is sitting between an internal (intranet)
network and an external (internet) network. Outside of the network, the name server.example.com resolves to the external 
address (172.20.30.40), but inside the network, that same name resolves to the internal address (192.168.1.1).
The server can be made to respond to internal and external requests with the same content, with just one VirtualHost section.
Server configuration:
    NameVirtualHost 192.168.1.1
    NameVirtualHost 172.20.30.40
    <VirtualHost 192.168.1.1 172.20.30.40>
    DocumentRoot /www/server1
    ServerName server.example.com
    ServerAlias server
    </VirtualHost>
Now requests from both networks will be served from the same VirtualHost.
Note:
  On the internal network, one can just use the name server rather than the fully qualified host name server.example.com.
  Note also that, in the above example, you can replace the list of IP addresses with *, which will cause the server to respond the same
  on all addresses.



NOTES:

smartd fails on boot startup 17-jan-2007