Hi Mark:
It\'s very easy to install php on a the excelent Cobalt Raq3 Server. First of all you need to download the last version of php from
\"http://www.php.net/do_download.php?download_file=php-4.0.4pl1.tar.gz&source_site=www.php.net\"
then upload it to your server. After this login as root via telnet to your server and go to the directory where is the php file. Once you\'re on it do execute the command \"tar xvzf php-4.0.4pl1.tar.gz\" it will create a directory called php-4.0.4pl1.
Now you have the php source and need to make it work for your system. Now go to the php-4.0.4pl1 directory, at this moment you need to custom it for you, with the configure script. The standard configure parameters are \"./configure --with-apxs=/usr/sbin/apxs --with-mysql --enable-track-vars\" thar allows you to run php as an apache module with mysql support (if you need another parameter, ej: other db engine support, imap support etc, you\'ll need to find the parameters lines at www.php.net). Once the configure script end ,and if it don\'t show you any error message, type \"make\" to compile the source (this will take a few minutes). When the command \"make\" ends, type \"make install\" to copy the binaries to the right places on the fs. Now you have php installed on your system. At this moment you need to configure apache to accept php pages. Go to the /etc/httpd/conf/ directory. Write cp httpd.conf httpd.conf.back (to make a back up of your configure file). Then open httpd.conf with a text editor like \"vi\" or \"emacs\" and add or uncomment (the commented lines have # as first chaacrter) the next lines:
firt look in the file for a section called (you will find two) at the end of the first add the next line \" LoadModule php4_module /usr/lib/apache/libphp4.so\" at the end of the second add \" AddModule mod_php4.c \" and save it. Now Write cp srm.conf srm.conf.back (to make a back up of your configure file). open it and uncomment or add the next lines (you will find them) AddType application/x-httpd-php .php
AddType application/x-httpd-php .php3
AddType application/x-httpd-php-source .phps
and after the DirectoryIndex sentence add index.php and index.php3 (now your server will recognize the just like index.html). Now restart apache writing \"/etc/httpd/init.d/httpd restart\" and lets rock!!!.
If you have any problem just contact me. In next lines i\'ll post one cobalt http.conf example and one cobalt srm.conf example both are of php working system.
------------HERE START http.conf ------------
##
httpd.conf -- Apache HTTP server configuration file
##
This is the main server configuration file. See URL http://www.apache.org/
fo: instructions.
Do NOT simply read the instructions in here without understanding
what they do, if you are unsure consult the online docs. You have been
warned.
Originally by Rob McCool
Dynamic Shared Object (DSO) Support
#
To be able to use the functionality of a module which was built as a DSO you
have to place corresponding `LoadModule\' lines at this location so the
directives contained in it are actually available before they are used.
Please read the file README.DSO in the Apache 1.3 distribution for more
details about the DSO mechanism and run `httpd -l\' for the list of already
built-in (statically linked and thus always available) modules in your httpd
binary.
#
Example:
LoadModule foo_module libexec/mod_foo.so
#
Documentation for modules is in \"/home/httpd/manual/mod\" in HTML format.
Extra Modules
#LoadModule php_module modules/mod_php.so
#LoadModule php3_module modules/libphp3.so
#LoadModule perl_module /usr/lib/apache/libperl.so
LoadModule php4_module /usr/lib/apache/libphp4.so
Reconstruction of the complete module list from all available modules
(static and shared ones) to achieve correct module execution order.
[WHENEVER YOU CHANGE THE LOADMODULE SECTION ABOVE UPDATE THIS, TOO]
#ClearModuleList
Extra Modules
#AddModule mod_php.c
#AddModule mod_php3.c
#AddModule mod_perl.c
AddModule mod_php4.c
ServerType is either inetd, or standalone.
ServerType standalone
If you are running from inetd, go to \"ServerAdmin\".
Port: The port the standalone listens to. For ports < 1023, you will
need httpd to be run as root initially.
Port 80
HostnameLookups: Log the names of clients or just their IP numbers
e.g. www.apache.org (on) or 204.62.129.132 (off)
The default is off because it\'d be overall better for the net if people
had to knowingly turn this feature on.
HostnameLookups off
If you wish httpd to run as a different user or group, you must run
httpd as root initially and it will switch.
User/Group: The name (or #number) of the user/group to run httpd as.
On SCO (ODT 3) use User nouser and Group nogroup
On HPUX you may not be able to use shared memory as nobody, and the
suggested workaround is to create a user www and use that user.
NOTE that some kernels refuse to setgid(Group) or semctl(IPC_SET)
when the value of (unsigned)Group is above 60000;
don\'t use Group nobody on these systems!
User httpd
Group httpd
ServerAdmin: Your address, where problems with the server should be
e-mailed.
ServerAdmin admin@www.yourdomain.com
ServerRoot: The directory the server\'s config, error, and log files
are kept in.
NOTE! If you intend to place this on a NFS (or otherwise network)
mounted filesystem then please read the LockFile documentation,
you will save yourself a lot of trouble.
ServerRoot /etc/httpd
BindAddress: You can support virtual hosts with this option. This option
is used to tell the server which IP address to listen to. It can either
contain \"*\", an IP address, or a fully qualified Internet domain name.
See also the VirtualHost directive.
#BindAddress *
ErrorLog: The location of the error log file. If this does not start
with /, ServerRoot is prepended to it.
ErrorLog /var/log/httpd/error
LogLevel: Control the number of messages logged to the error_log.
Possible values include: debug, info, notice, warn, error, crit,
alert, emerg.
LogLevel warn
The following directives define some format nicknames for use with
a CustomLog directive (see below).
LogFormat \"%v %h %l %u %t \\"%r\\" %>s %b \\"%{Referer}i\\" \\"%{User-Agent}i\\"\" combined
LogFormat \"%h %l %u %t \\"%r\\" %>s %b\" common
LogFormat \"%{Referer}i -> %U\" referer
LogFormat \"%{User-agent}i\" agent
The location of the access logfile (Common Logfile Format).
If this does not start with /, ServerRoot is prepended to it.
CustomLog /var/log/httpd/access combined
If you would like to have an agent and referer logfile uncomment the
following directives.
#CustomLog logs/referer_log referer
#CustomLog logs/agent_log agent
If you prefer a single logfile with access, agent and referer information
(Combined Logfile Format) you can use the following directive.
#CustomLog logs/access_log combined
PidFile: The file the server should log its pid to
PidFile /var/run/httpd.pid
ScoreBoardFile: File used to store internal server process information.
Not all architectures require this. But if yours does (you\'ll know because
this file is created when you run Apache) then you must ensure that
no two invocations of Apache share the same scoreboard file.
ScoreBoardFile /var/log/httpd/httpd_status
The LockFile directive sets the path to the lockfile used when Apache
is compiled with either USE_FCNTL_SERIALIZED_ACCEPT or
USE_FLOCK_SERIALIZED_ACCEPT. This directive should normally be left at
its default value. The main reason for changing it is if the logs
directory is NFS mounted, since the lockfile MUST BE STORED ON A LOCAL
DISK. The PID of the main server process is automatically appended to
the filename.
#
#LockFile /var/lock/httpd.lock
ServerName allows you to set a host name which is sent back to clients for
your server if it\'s different than the one the program would get (i.e. use
\"www\" instead of the host\'s real name).
#
Note: You cannot just invent host names and hope they work. The name you
define here must be a valid DNS name for your host. If you don\'t understand
this, ask your network administrator.
ServerName www.yourdomain.com
UseCanonicalName: (new for 1.3) With this setting turned on, whenever
Apache needs to construct a self-referencing URL (a url that refers back
to the server the response is coming from) it will use ServerName and
Port to form a \"canonical\" name. With this setting off, Apache will
use the hostname:port that the client supplied, when possible. This
also affects SERVER_NAME and SERVER_PORT in CGIs.
UseCanonicalName on
CacheNegotiatedDocs: By default, Apache sends Pragma: no-cache with each
document that was negotiated on the basis of content. This asks proxy
servers not to cache the document. Uncommenting the following line disables
this behavior, and proxies will be allowed to cache the documents.
#CacheNegotiatedDocs
Timeout: The number of seconds before receives and sends time out
Timeout 300
KeepAlive: Whether or not to allow persistent connections (more than
one request per connection). Set to \"Off\" to deactivate.
KeepAlive On
MaxKeepAliveRequests: The maximum number of requests to allow
during a persistent connection. Set to 0 to allow an unlimited amount.
We reccomend you leave this number high, for maximum performance.
MaxKeepAliveRequests 100
KeepAliveTimeout: Number of seconds to wait for the next request
KeepAliveTimeout 15
Server-pool size regulation. Rather than making you guess how many
server processes you need, Apache dynamically adapts to the load it
sees --- that is, it tries to maintain enough server processes to
handle the current load, plus a few spare servers to handle transient
load spikes (e.g., multiple simultaneous requests from a single
Netscape browser).
It does this by periodically checking how many servers are waiting
for a request. If there are fewer than MinSpareServers, it creates
a new spare. If there are more than MaxSpareServers, some of the
spares die off. These values are probably OK for most sites ---
MinSpareServers 5
MaxSpareServers 10
Number of servers to start --- should be a reasonable ballpark figure.
StartServers 5
Limit on total number of servers running, i.e., limit on the number
of clients who can simultaneously connect --- if this limit is ever
reached, clients will be LOCKED OUT, so it should NOT BE SET TOO LOW.
It is intended mainly as a brake to keep a runaway server from taking
Unix with it as it spirals down...
MaxClients 150
MaxRequestsPerChild: the number of requests each child process is
allowed to process before the child dies.
The child will exit so as to avoid problems after prolonged use when
Apache (and maybe the libraries it uses) leak. On most systems, this
isn\'t really needed, but a few (such as Solaris) do have notable leaks
in the libraries.
MaxRequestsPerChild 30
Proxy Server directives. Uncomment the following line to
enable the proxy server:
#ProxyRequests On
To enable the cache as well, edit and uncomment the following lines:
#CacheRoot /var/cache/httpd
#CacheSize 5
#CacheGcInterval 4
#CacheMaxExpire 24
#CacheLastModifiedFactor 0.1
#CacheDefaultExpire 1
#NoCache a_domain.com another_domain.edu joes.garage_sale.com
Listen: Allows you to bind Apache to specific IP addresses and/or
ports, in addition to the default. See also the VirtualHost command
Listen 80
global ssl setup
<IfModule mod_ssl.c>
SSLSessionCache dbm:/var/log/httpd/ssl_scache
SSLSessionCacheTimeout 300
SSLMutex file:/var/log/httpd/ssl_mutex
SSLRandomSeed startup file:/dev/urandom 512
SSLRandomSeed connect builtin
Location of a secondary signing authority certificate. Uncomment and edit
the location if necessary if you install a secondary certificate.
#SSLCACertificateFile /etc/httpd/conf/ca-bundle
</IfModule>
uncomment this for debugging
#
#PerlModule Apache::Status
#<Location /mod_perl/>
#SetHandler perl-script
#PerlHandler Apache::Status
#</Location>
<Perl>
use Apache:😛erlSections();
use Cobalt::Ssl;
Only a temp variable until we go the whole hog.
my (@ssl_conf,$ip,$group,$rewrite_rules,$proto,$ret);
open(HTTPD_CONF,\"/etc/httpd/conf/httpd.conf\") ||
die \"What ? We can\'t read our own configuration file?: $!\";
O.K. What we bassically want to do is build up new section in the conf file
for SSL sections.
while(<HTTPD_CONF>) {
if (/<VirtualHost [\d\.]+>$/ ... /<\/VirtualHost>$/) {
if ( /<VirtualHost ([\d\.]+)>/o ) {
New section. Clean up.
$ip = $1;
@ssl_conf = ();
$group = undef;
}
# Skip this bit, we don\'t need it now..
next if (/^<VirtualHost/);
# Just need to grab the group name out before we get on with
# the real work.
if ( /DocumentRoot \\/home\\/sites\\/([^\\/]+)\\/web/ ){
$group = $1;
}
# These two are for the rewrite options
s/http/https/go if (/^Rewrite/);
s/80/443/go if (/^Rewrite/);
push @ssl_conf, $_;
# Hardcoded, issues with mod_perl and cobalt modules.
if (/^<\\/Virtual/ and (-f \"/etc/httpd/ssl/$group\")) {
$ret = ssl_cert_check(\"/home/sites/$group/certs/\");
if ($ret=~/^2/o) {
$PerlConfig .= \"Listen $ip:443\\n\";
$PerlConfig .= \"<VirtualHost $ip:443>\\n\";
$PerlConfig .= \"SSLengine on\\n\";
$PerlConfig .= \"SSLCertificateFile /home/sites/$group/certs/certificate\\n\";
$PerlConfig .= \"SSLCertificateKeyFile /home/sites/$group/certs/key\\n\";
$PerlConfig .= join(\'\', @ssl_conf);
} elsif (ssl_cert_check(\"/home/sites/home/certs/\") =~ /^2/ ) {
$PerlConfig .= \"Listen $ip:443\\n\";
$PerlConfig .= \"<VirtualHost $ip:443>\\n\";
$PerlConfig .= \"SSLengine on\\n\";
$PerlConfig .= \"SSLCertificateFile /home/sites/home/certs/certificate\\n\";
$PerlConfig .= \"SSLCertificateKeyFile /home/sites/home/certs/key\\n\";
$PerlConfig .= join(\'\', @ssl_conf);
} else {
print STDERR \"Site $group has invalid certificate: $ret\\n\";
}
}
}
}
close HTTPD_CONF;
O.K. Now we\'re done with that ugliness the Rewrite rules to provide transistion
from the user to the admin server need to be different depending on whether we have
ssl active or not.
if ( ssl_cert_check(\"/home/sites/home/certs/\") =~ /2/ ) {
$proto = \'https\';
} else {
$proto = \'http\';
}
This many seem a little tortured as a way to do this, but the
quoting is hell.
$rewrite_rules =
\'RewriteEngine On
RewriteCond %{HTTP_HOST} ([:]+)
RewriteCond %{DOCUMENT_ROOT} !-d
RewriteRule .* proto://servername:81/.cobalt/error/forbidden.html [L,R]
RewriteCond %{HTTP_HOST} ([:]+)
RewriteRule /admin/?$ proto://servername:81/.cobalt/sysManage/index.html [L,R]
RewriteCond %{HTTP_HOST} ([:]+)
RewriteRule /siteadmin/?$ proto://servername:81/.cobalt/siteManage/%1/index.html [L,R]
RewriteCond %{HTTP_HOST} ([:]+)
RewriteRule /personal/?$ proto://servername:81/.cobalt/personal/index.html [L,R]
RewriteCond %{HTTP_HOST} ([:]+)
RewriteRule /.cobalt/(.+) proto://servername:81/.cobalt/$1 [L,R]
RewriteCond %{HTTP_HOST} ([:]+)
RewriteRule /cgi-bin/.cobalt/(.+) proto://servername:81/cgi-bin/.cobalt/$1 [L,R]
\';
$rewrite_rules =~ s/servername/%1/g;
$rewrite_rules =~ s/proto/$proto/g;
$PerlConfig .= $rewrite_rules;
if ( -f \"/etc/DEBUG\" ) {
print STDERR Apache:😛erlSections->dump();
}
</Perl>
VirtualHost: Allows the daemon to respond to requests for more than one
server address, if your server machine is configured to accept IP packets
for multiple addresses. This can be accomplished with the ifconfig
alias flag, or through kernel patches like VIF.
Any httpd.conf or srm.conf directive may go into a VirtualHost command.
See also the BindAddress entry.
#<VirtualHost host.some_domain.com>
#ServerAdmin webmaster@host.some_domain.com
#DocumentRoot /www/docs/host.some_domain.com
#ServerName host.some_domain.com
#ErrorLog logs/host.some_domain.com-error_log
#TransferLog logs/host.some_domain.com-access_log
#</VirtualHost>
NameVirtualHost 200.54.123.21
<VirtualHost 200.54.123.21>
ServerName www.yourdomain.com
ServerAdmin admin
DocumentRoot /home/sites/home/web
RewriteEngine on
RewriteCond %{HTTP_HOST} !200.54.123.21(:80)?$
RewriteCond %{HTTP_HOST} !www.yourdomain.com(:80)?$
RewriteRule /(.) http://www.yourdomain.com/$1 [L,R]
RewriteOptions inherit
AliasMatch /~([/]+)(/(.))? /home/sites/home/users/$1/web/$3
AliasMatch /users/([/]+)(/(.*))? /home/sites/home/users/$1/web/$3
</VirtualHost>
-------------HERE ENDS httpd.conf------------
-------------HERE STARTS srm.conf------------
##
srm.conf -- Apache HTTP server configuration file
##
With this document, you define the name space that users see of your http
server. This file also defines server settings which affect how requests are
serviced, and how results should be formatted.
more information.
Originally by Rob McCool; Adapted for Apache
DocumentRoot: The directory out of which you will serve your
documents. By default, all requests are taken from this directory, but
symbolic links and aliases may be used to point to other locations.
DocumentRoot /home/sites/home/web
UserDir: The name of the directory which is appended onto a user\'s home
directory if a ~user request is recieved.
UserDir web
DirectoryIndex: Name of the file or files to use as a pre-written HTML
directory index. Separate multiple entries with spaces.
DirectoryIndex index.php index.php3 index.html index.htm index.shtml home.html home.htm
FancyIndexing is whether you want fancy directory indexing or standard
FancyIndexing on
AddIcon tells the server which icon to show for different files or filename
extensions
AddIconByEncoding (CMP,/icons/compressed.gif) x-compress x-gzip
AddIconByType (TXT,/icons/text.gif) text/
AddIconByType (IMG,/icons/image2.gif) image/
AddIconByType (SND,/icons/sound2.gif) audio/
AddIconByType (VID,/icons/movie.gif) video/
AddIcon /icons/binary.gif .bin .exe
AddIcon /icons/binhex.gif .hqx
AddIcon /icons/tar.gif .tar
AddIcon /icons/world2.gif .wrl .wrl.gz .vrml .vrm .iv
AddIcon /icons/compressed.gif .Z .z .tgz .gz .zip
AddIcon /icons/a.gif .ps .ai .eps
AddIcon /icons/layout.gif .html .shtml .htm .pdf
AddIcon /icons/text.gif .txt
AddIcon /icons/c.gif .c
AddIcon /icons/p.gif .pl .py
AddIcon /icons/f.gif .for
AddIcon /icons/dvi.gif .dvi
AddIcon /icons/uuencoded.gif .uu
AddIcon /icons/script.gif .conf .sh .shar .csh .ksh .tcl
AddIcon /icons/tex.gif .tex
AddIcon /icons/bomb.gif core
AddIcon /icons/back.gif ..
AddIcon /icons/hand.right.gif README
AddIcon /icons/folder.gif DIRECTORY
AddIcon /icons/blank.gif BLANKICON
DefaultIcon is which icon to show for files which do not have an icon
explicitly set.
DefaultIcon /icons/unknown.gif
AddDescription allows you to place a short description after a file in
server-generated indexes.
Format: AddDescription \"description\" filename
ReadmeName is the name of the README file the server will look for by
default. Format: ReadmeName name
#
The server will first look for name.html, include it if found, and it will
then look for name and include it as plaintext if found.
#
HeaderName is the name of a file which should be prepended to
directory indexes.
ReadmeName README
HeaderName HEADER
IndexIgnore is a set of filenames which directory indexing should ignore
Format: IndexIgnore name1 name2...
IndexIgnore .?? ~ # HEADER README* RCS
AccessFileName: The name of the file to look for in each directory
for access control information.
AccessFileName .htaccess
TypesConfig describes where the mime.types file (or equivalent) is
to be found.
TypesConfig /etc/httpd/conf/mime.types
DefaultType is the default MIME type for documents which the server
cannot find the type of from filename extensions.
DefaultType text/plain
AddEncoding allows you to have certain browsers (Mosaic/X 2.1+) uncompress
information on the fly. Note: Not all browsers support this.
AddEncoding x-compress Z
AddEncoding x-gzip gz
AddLanguage allows you to specify the language of a document. You can
then use content negotiation to give a browser a file in a language
it can understand. Note that the suffix does not have to be the same
as the language keyword --- those with documents in Polish (whose
net-standard language code is pl) may wish to use \"AddLanguage pl .po\"
to avoid the ambiguity with the common suffix for perl scripts.
AddLanguage aa .aa
AddLanguage ab .ab
AddLanguage af .af
AddLanguage am .am
AddLanguage ar .ar
AddLanguage as .as
AddLanguage ay .ay
AddLanguage az .az
AddLanguage ba .ba
AddLanguage be .be
AddLanguage bg .bg
AddLanguage bh .bh
AddLanguage bi .bi
AddLanguage bn .bn
AddLanguage bo .bo
AddLanguage br .br
AddLanguage ca .ca
AddLanguage co .co
AddLanguage cs .cs
AddLanguage cy .cy
AddLanguage da .da
AddLanguage de .de
AddLanguage dz .dz
AddLanguage el .el
AddLanguage en .en
AddLanguage eo .eo
AddLanguage es .es
AddLanguage et .et
AddLanguage eu .eu
AddLanguage fa .fa
AddLanguage fi .fi
AddLanguage fj .fj
AddLanguage fo .fo
AddLanguage fr .fr
AddLanguage fy .fy
AddLanguage ga .ga
AddLanguage gd .gd
AddLanguage gl .gl
AddLanguage gn .gn
AddLanguage gu .gu
AddLanguage ha .ha
AddLanguage he .he
AddLanguage hi .hi
AddLanguage hr .hr
AddLanguage hu .hu
AddLanguage hy .hy
AddLanguage ia .ia
AddLanguage id .id
AddLanguage ie .ie
AddLanguage ik .ik
AddLanguage is .is
AddLanguage it .it
AddLanguage iu .iu
AddLanguage ja .ja
AddLanguage jw .jw
AddLanguage ka .ka
AddLanguage kk .kk
AddLanguage kl .kl
AddLanguage km .km
AddLanguage kn .kn
AddLanguage ko .ko
AddLanguage ks .ks
AddLanguage ku .ku
AddLanguage ky .ky
AddLanguage la .la
AddLanguage ln .ln
AddLanguage lo .lo
AddLanguage lt .lt
AddLanguage lv .lv
AddLanguage mg .mg
AddLanguage mi .mi
AddLanguage mk .mk
AddLanguage ml .ml
AddLanguage mn .mn
AddLanguage mo .mo
AddLanguage mr .mr
AddLanguage ms .ms
AddLanguage mt .mt
AddLanguage my .my
AddLanguage na .na
AddLanguage ne .ne
AddLanguage nl .nl
AddLanguage no .no
AddLanguage oc .oc
AddLanguage om .om
AddLanguage or .or
AddLanguage pa .pa
AddLanguage pl .pl
AddLanguage ps .ps
AddLanguage pt .pt
AddLanguage qu .qu
AddLanguage rm .rm
AddLanguage rn .rn
AddLanguage ro .ro
AddLanguage ru .ru
AddLanguage rw .rw
AddLanguage sa .sa
AddLanguage sd .sd
AddLanguage sg .sg
AddLanguage sh .sh
AddLanguage si .si
AddLanguage sk .sk
AddLanguage sl .sl
AddLanguage sm .sm
AddLanguage sn .sn
AddLanguage so .so
AddLanguage sq .sq
AddLanguage sr .sr
AddLanguage ss .ss
AddLanguage st .st
AddLanguage su .su
AddLanguage ta .ta
AddLanguage te .te
AddLanguage tg .tg
AddLanguage th .th
AddLanguage ti .ti
AddLanguage tk .tk
AddLanguage tl .tl
AddLanguage tn .tn
AddLanguage to .to
AddLanguage tr .tr
AddLanguage ts .ts
AddLanguage tt .tt
AddLanguage tw .tw
AddLanguage ug .ug
AddLanguage uk .uk
AddLanguage ur .ur
AddLanguage uz .uz
AddLanguage vi .vi
AddLanguage vo .vo
AddLanguage wo .wo
AddLanguage xh .xh
AddLanguage yi .yi
AddLanguage yo .yo
AddLanguage za .za
AddLanguage zh .zh
AddLanguage zu .zu
LanguagePriority allows you to give precedence to some languages
in case of a tie during content negotiation.
Just list the languages in decreasing order of preference.
LanguagePriority en
Redirect allows you to tell clients about documents which used to exist in
your server\'s namespace, but do not anymore. This allows you to tell the
clients where to look for the relocated document.
Format: Redirect fakename url
Aliases: Add here as many aliases as you need (with no limit). The format is
Alias fakename realname
Note that if you include a trailing / on fakename then the server will
require it to be present in the URL. So \"/icons\" isn\'t aliased in this
example.
Alias /icons/ /usr/admserv/icons/
Alias /cobalt_error/ /usr/admserv/html/.cobalt/error/
<Location /cobalt_error/>
PerlModule Cobalt::HtmlLocale
SetHandler perl-script
PerlHandler Cobalt::HtmlLocale
</Location>
ScriptAlias: This controls which directories contain server scripts.
Format: ScriptAlias fakename realname
ScriptAlias /cgiwrapDir/ /usr/cgiwrap/
If you want to use server side includes, or CGI outside
ScriptAliased directories, uncomment the following lines.
AddType allows you to tweak mime.types without actually editing it, or to
make certain files to be certain types.
Format: AddType type/subtype ext1
For example, the PHP3 module (not part of the Apache distribution)
will typically use:
AddType application/x-httpd-php .php3
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps
The following is for PHP/FI (PHP2):
AddType application/x-httpd-php .phtml
AddHandler allows you to map certain file extensions to \"handlers\",
actions unrelated to filetype. These can be either built into the server
or added with the Action command (see below)
Format: AddHandler action-name ext1
To use CGI scripts:
Action cgi-wrapper /cgiwrapDir/cgiwrap
#AddHandler cgi-wrapper .cgi
#AddHandler cgi-wrapper .pl
To use server-parsed HTML files
#AddType text/html .shtml
#AddHandler server-parsed .shtml
Uncomment the following line to enable Apache\'s send-asis HTTP file
feature
#AddHandler send-as-is asis
If you wish to use server-parsed imagemap files, use
#AddHandler imap-file map
To enable type maps, you might want to use
#AddHandler type-map var
To enable the perl module (if you have it installed), uncomment
the following section
#
#Alias /perl/ /home/httpd/perl/
#<Location /perl>
#SetHandler perl-script
#PerlHandler Apache::Registry
#Options +ExecCGI
#</Location>
Action lets you define media types that will execute a script whenever
a matching file is called. This eliminates the need for repeated URL
pathnames for oft-used CGI file processors.
Format: Action media/type /cgi-script/location
Format: Action handler-name /cgi-script/location
MetaDir: specifies the name of the directory in which Apache can find
meta information files. These files contain additional HTTP headers
to include when sending the document
#MetaDir .web
MetaSuffix: specifies the file name suffix for the file containing the
meta information.
#MetaSuffix .meta
Customizable error response (Apache style)
these come in three flavors
#
1) plain text
#ErrorDocument 500 \"The server made a boo boo.
n.b. the (\") marks it as text, it does not get output
#
2) local redirects
#ErrorDocument 404 /missing.html
to redirect to local url /missing.html
#ErrorDocument 404 /cgi-bin/missing_handler.pl
n.b. can redirect to a script or a document using server-side-includes.
#
3) external redirects
#ErrorDocument 402 http://some.other_server.com/subscription_info.html
#
ErrorDocument 401 /cobalt_error/authorizationRequired.html
ErrorDocument 403 /cobalt_error/forbidden.html
ErrorDocument 404 /cobalt_error/fileNotFound.html
ErrorDocument 500 /cobalt_error/internalServerError.html
mod_mime_magic allows the server to use various hints from the file itself
to determine its type.
#MimeMagicFile /etc/httpd/conf/magic
The following directives disable keepalives and HTTP header flushes.
The first directive disables it for Netscape 2.x and browsers which
spoof it. There are known problems with these.
The second directive is for Microsoft Internet Explorer 4.0b2
which has a broken HTTP/1.1 implementation and does not properly
support keepalive when it is used on 301 or 302 (redirect) responses.
BrowserMatch \"Mozilla/2\" nokeepalive
BrowserMatch \"MSIE 4\.0b2;\" nokeepalive downgrade-1.0 force-response-1.0
The following directive disables HTTP/1.1 responses to browsers which
are in violation of the HTTP/1.0 spec by not being able to grok a
basic 1.1 response.
BrowserMatch \"RealPlayer 4\.0\" force-response-1.0
BrowserMatch \"Java/1\.0\" force-response-1.0
BrowserMatch \"JDK/1\.0\" force-response-1.0
Alias /cobalt-images/ /usr/admserv/html/.cobalt/images/
---------------HERE ENDS srm.conf------------
Mark Tyers wrote:
Being a newbie to Linux and having been asked to develop for a RAQ3 server, I would like to use my PHP knowledge to create sites to be run on it. The problem is that PHP is not installed and after asking for help was told that if I wanted it I would need to do it myself :-(
I have logged in to the server and can ftp and run admin but how do I install and configure PHP when I have to work through a web browser.
Pleasseeee help (preferably with words of under two syllables as I am new to linux apache)
Many thank
Mark