Ded Serius

 

Ded Serius - Installation Instructions for Apache / FrontPage / PHP 4.3.8 / MySQL 4.0.2 / SSL Ded Serius
Michel Verdier

Create Your Badge
 
 
 
 

Y2KMatrix

 
 

Today's Fortune

 
 

Halloween Document

 
 

RedHat 7.1 MILO Alpha

 
 

Archive AWT Java Tutorial

 
 

Apache/FrontPage/PHP
Linux Instructions

 
 

Quick n Dirty Samba

 
 

HTML 3.2 Tutorial

 
 

KDE Screenshots
(UNIX Desktops)

 
 

Slackware

 
 

Resume

 
 

Music

 
 
 
 

Verbose

NonSSL

Steps 

Follow these links in the order they should be installed...

Step Version
N/A
3.23.22-beta
FrontPage 2000 Server Extensions for Unix, Version 4

 


OpenSSL Steps (Optional) {coming soon}

  • OpenSSL - (Optional)
openssl-0.9.5a
  • Apache Shared Memory Library -(Optional)
mm-1.1.3
  • ModSSL - (Optional)
mod_ssl-2.6.5-1.3.12


gd1.3
php-3.0.14
Apache-1.3.12

Background:

While not the "Official" how-to, this site has taken significant enough traffic over the past year, that I felt it only fair to make it current.  I put this site together because I was running Front-Page 98 extensions on a Red Hat box for a client I was doing y2k work for.  I'm not very fond of Red Hat as a server, although it does have it's merits.  My preference is Slack, and, I seem to be in good company

While it was fairly trivial to get the patches applied on a Red Hat box, that's to be expected.  If you're running Red Hat and don't want to put anything special in your web-server, you can simply get the apache-fp-patched server from Ready To Run Software, or Microsoft, and, be done with it.  If you want to read the archived version of this How-To, it's right here.  Again, if you don't need SSL support, you'll save quite a bit of time, if you follow the instructions right here.   

But, I realize your time is limited, and, you'd like to get down to the (./configure && make && make install)s, so, here you are.  (Note:  All links open up a new window.  I find it more useful to have several windows open than to have to re-navigate to lost links.  If you want to close one, it's trivial to do so.) 


Back UP!!!:

    Before even starting this process ensure you get a good back up of your existing DocumentRoot, and configuration files for your Apache Server
Steps Command(s) Notes
Back up Configuration Files tar czvf /backup- destination/apache.conf.tgz /usr/local/apache/conf Typically, this will be in one of the following directories:
  • /usr/local/apache/conf
  • /var/lib/apache/conf

Replace /backup-destination with the path of the directory to which you're tarring your configuration files.

The important files are httpd.conf, srm.conf and access.conf

Back up Web Files tar czvf /backup- destination/apache.docs.tgz /usr/local/apache/htdocs Typically, this will be in one of the following directories:
  • /usr/local/apache/htdocs
  • /var/lib/htdocs

or any number of other places depending on your UNIX/Linux distribution.

Replace /backup-destination with the path of the directory to which you're tarring your web content

Also, if you're using per-user webs, you might want to back up /home (or, whereever your user directories are).


Install MySQL:

Steps Command(s) Notes
Install Base MySQL cd /usr/src

tar xzvf mysql-3.23.22-beta.tar.gz

cd mysql-3.23.22-beta

./configure -with-mysqld-user=mysql -localstatedir=/mysql

make

make install

 

By default, MySQL will install it's databases to /usr/local/var.  If you're Serius about running database servers, you should put the database on it's own partition.  I'm giving you advice, here, but, it's possible someone might disagree.  Either way, my databases are on their own partition and by convention named /mysql
  • /mysql

With respect to the user, you can run the user as anything you want.  I use mysql and create a UNIX user named mysql.  I also create a UNIX group named mysql and have mysql be the default group for user mysql.

It's only relevant when you get into UNIX permissions problems with the MySQL user.  By default /mysql will have root.root permissions, and the mysql daemon won't start because it doesn't have permissions to do so.

This is trivial.  If you agree with the above philosophy, simply groupadd mysql; adduser mysql in default group mysql and then do the following:

chown mysql.mysql /mysql

chmod 0750 /mysql -Rf

This will ensure that no user can access the mysql databases, unless you add them to the mysql group.

It's your choice, either way.

Start/(Stop?) the mysql database server If you already have the server installed:

mysqladmin -p shutdown
mysqladmin -p start

Otherwise, you'll need to create the default tables:

/usr/local/bin/mysql_install_db

/usr/local/bin/safe_mysqld

 

You'll also need to set up the start-up scripts on your respective system.  Typically, they're found in /etc/rc.d, or /etc/init.d depending on whether you run SysV, or BSD style Linux.  Since you're here to learn about Slackware Apache/FrontPage, I'll assume you're using BSD-style.

My script follows.  Copy the following, tweak the parameters for your hardware/configuration into a file in /etc/rc.d/ (I use rc.mysql) and add a call to it in rc.M:

#!/bin/sh
ulimit -H -S -u 1024 1> /dev/null 2> /dev/null 
# Up the file-handle limits 
# Set hard/soft limit 
ulimit -H -S -n 8192 1> /dev/null 2> /dev/null
/usr/local/libexec/mysqld --user=mysql -l/mysql/servername.log \
-O max_sort_length=64 \ 
-O key_buffer=96M -O table_cache=1024 \ 
-O sort_buffer=96M --skip-locking \ 
-O record_buffer=32M --data=/mysql > /dev/null &

Install MySQL Perl Modules
  • data-dumper
  • data-showtable
  • dbi
  • Msql-Mysql
Data Dumper:

cd /usr/src
tar xzvf /pathto/data-dumper-2_101_tar.gz
cd Data-Dumper-2.101
perl Makefile.PL
make
make test
make install   

Data ShowTable:

cd /usr/src
tar xzvf data-showtable-3_3_tar.gz
cd Data-ShowTable-3.3
perl Makefile.PL
make
make test
make install

Data DBI:

cd /usr/src
tar xzvf dbi-1_13_tar.gz
cd DBI-1.13
perl Makefile.PL
make
make test 

make install

Data Msql-Mysql:

cd /usr/src
tar xzvf msql-mysql-modules-1_2214_tar.gz
cd Msql-Mysql-modules-1.2214
perl Makefile.PL -static
touch README
make
make install

Most of the modules (All?) are installed on a stock Slackware 7.x distribution, so, you shouldn't need to do this.  But, if you're anal and want the freshest stuff, be my guest.

The most current versions of these modules can be downloaded from the MySQL contributors site.

When you Compile DBI, //(proxy will get skipped).

Current Versions:

  • Data Dumper = 2.101
  • Data ShowTable = 3.3
  • DBI = 1.13
  • Msql-Mysql = 1.2214

As Of:  2000-09-12 23:09:21


Install FrontPage 2000 Server Extensions:

Steps Command(s) Notes
Install Apache 1.3.12 cd /usr/src
tar xzvf /path to Apache/apache_1.3.12.tar.gz
cd apache_1.3.12
./configure --enable-module=expires \
--enable-module=headers \
--enable-module=log_agent \
--enable-module=log_referer \
--enable-module=usertrack

make

make install

* Don't do this if you're server is publicly accessible until you've made it not publicly accessible!!!

/usr/local/apache/bin/apachectl stop

/usr/local/apache/bin/apachectl start

Pull your server off the wire, at this point!  The Apache you're about to compile and start will not have parsing for PHP3 embedded.  Your scripts will be visible.  You might be able to get away with not following this warning if your web server is running and you haven't issued the apachectl stop/start command.  Just pray the power doesn't recycle on your server.  You've been Warned!  

If you do restart the server, it won't if you've enabled php3_asp_tags On.  In this case, edit your httpd.conf to comment out that line.  It's your responsibility to know how to do this.  

If vi /usr/local/apache/conf/httpd.conf, it's

/php3_asp_tags

i#

<ctrl>]

:w[RETURN]

Then, restart it, and work quickly.  >:)

Keep in mind a "restart" signal to the apachectl command will not restart the server if you're moving from version 1.3.x to 1.3.y.  Again, you've been warned.

The deal here is that you need to have the Apache source distribution in the /usr/src directory before you begin the Front Page procedure(s).

The reason for this is that you need to have the source distribution in a specific spot before you can patch the source with the apache-fp patch.  

In other words:  You can put Front Page Apache on your server with the step below, but, you can't have the PHP/MySQL/SSL, etc. built into it.

If you don't do this step, then, when you add the other modules and build Apache with the FrontPage Extensions, you'll have your permissions so mucked up, it'll take you days to get the front-page extensions to work within your apache server, even if it was compiled correctly.

Additionally, the FrontPage installation is going to ask you where your httpd.conf file is located.  Once you complete this step, it will live in /usr/local/apache/conf/httpd.conf.  If this isn't a new server, apache will preserve your configuration, and, you'll have to tweak it a little.  If it's a brand new apache, you'll have to modify the httpd.conf file, anyway.

I'm sure I just opened myself up to a slew of feedback, but, simply stated:  that's what happens.  >:)

Install Front Page 2000 Server Extensions

cd /usr/local
tar xzvf /path to Front Page 2000/fp40.linux.tar.gz
cd frontpage
ln -s version4.0 currentversion

cd currentversion

Sorry:  You have to stop the web-server, now.

./change_server.sh

cd currentversion/bin
./fpsrvadm.exe -o install

(This one will take a while.  I don't care how fast your server is.)

If you have existing frontpage information in your DocumentRoot, you might run into problems with the install script.  I can't help you much here, but, it can happen if you have frontpage information below the -m virtualweb you're installing.  Here's what I do.  Don't try it, unless you understand what the following does:

find /var/www -name '*_vti*' -exec rm -Rf {} \;

After this step, I'd suggest trying to connect to the server from a FrontPage client, or Visual Interdev.  If it works, you're getting close.

After the change_server.sh step, you'll be able to connect through frontpage client.  I'd suggest you do this, to ensure, your permissions are getting close to where they need to be.

Stay Off the fp_install.sh script.  This will open your server to arbitrary administration!


Install GD 1.3:

Steps Command(s) Notes
Install GD 1.3 cd /usr/ 

tar xzvf /path to/gd1.3.tar.gz 

cd gd1.3 make 

cd .. 

cp libgd* /lib 

Add /usr/gd1.3 to your PATH statement with export PATH=$PATH:/usr/gd1.3 {You'll probably want this line in your /etc/profile} 

ldconfig -v

Tom Boutelle, the maintainer of the library no longer supports gif.  The reason I run php-3.0.14 is due to the change away from his gd1.3 library, which I need to support various image routines in my applications.  I've tried the jpeg libraries, but, was ultimately disappointed by the performance penalty.  I'm sticking with gd1.3, for now.  If you don't need image-parsing routines, you can skip this step.

If you need a gzipped tarball of it, let me know, and, I'll give you a copy of mine .


Install PHP:

Steps Command(s) Notes
Compile PHP3 cd /usr/src

tar xzvf /path to/php-3.0.14.tar.gz

cd php-3.0.14

./configure --with-apache=/usr/src/apache_1.3.12 --with-mysql=/usr/local --with-gd=/usr/gd1.3

make

make install

No major feat, here.  If you want a different version of PHP that doesn't require the gd1.3 library use that instead.  Hell, I've heard you can even use this procedure to install PHP4 with the above...

See Wes for details.  He's also got MSSQL Support.  Don't ask.  >:)


Install Apache:

Steps Command(s) Notes
Compile and Install Apache cd /usr/src/apache_1.3.12 patch -p0 < /usr/local/frontpage/version4.0/apache-fp/fp-patch-apache_1.3.12

cp mod_frontpage.c src/modules/extra/

./configure --enable-module=expires \
--enable-module=headers \
--enable-module=log_agent \
--enable-module=log_referer \
--enable-module=usertrack \
--activate-module=src/modules/php3/libphp3.a \
--add-module=mod_frontpage.c
make
make install 

/usr/local/apache/sbin/apachectl stop 

/usr/local/apache/sbin/apachectl start

This part's pretty much a no-brainer, and, you're about done, now.

The only caviat is to add the php3_asp_tags On directive to your httpd.conf file.  The benefit is that you can use <% %> instead of <? ?> or <?php ?> for your tags.  This makes FrontPage Express, FrontPage 2000 and Visual Interdev behave.

 Let me know if this worked for you.  -- van

  Apache Web Server 1.3.12

Brought to you By Ded Serius Music

77,738 hits since September 13, 2000.

Mail me, with your comments.
I updated this page on Sunday August 01, 2010 7:13:32 PM Van

If you just came here for the MIDIs:

Taxi SourceForge Logo
Apache 1.3b6

Powered by MySQL 3.21.33
Privacy Statement

Mail comments to Van
Slackware Linux 8.x

Powered by PHP3
©Copyright 2010 Ded Serius Music

Tailored after the Layout of PHP3.NET