“Create & Self-Host Websites in 60 Seconds!”

» Advanced, High-Performance Web Server Software with Apache, PHP, MySQL - for Windows

  • Host websites after a simple 60 seconds 1-click installation!
  • Provides a complete web development and website hosting platform on which to create standards-based dynamic HTML + CSS + JavaScript sites running on PHP and MySQL!
  • Performance Optimized. Secured. And Fully Supported!
  • Built on standards and best-practices, with 7+ years of web-development and website hosting experience! (since 2003)
  • Now comes standard with WordPress, Drupal, Joomla, Magento, phpBB and MediaWiki (1-click install in any website and URL)!
System Websites Local DNS Web Applications Proxy Pass Components
Get Wamp-Developer Now »

"For your PC, Server, Laptop! Use it to develop and host websites at home, from office, or in a datacenter."

WAMP: Windows + Apache + MySQL + PHP | Developer: That's You!Developer - Thumbs Up

Building PHP 4.4.4

Building a Web Server, for Linux

Requirements

  • Apache2
  • [Optional] OpenSSL
  • [Optional] MySQL
  • [Optional] zlib

Download

  • Package(Linux source) : php-4.4.4.tar.bz2
  • Unpack with command...
    tar -xjf php-4.4.4.tar.bz2

Our Configuration

  • Install to : /usr/local/php
  • Module type : dynamically loaded modules, *.so
  • Additional support for : SSL(OpenSSL), compression(zlib), MySQL

Configuration Options

Displays a list of configuration options...

php-4.4.4]# ./configure --help

Build Instructions

Configure

Configure the php build with openssl, zlib, and mysql [libs]...

php-4.4.4]# ./configure --prefix=/usr/local/php-4.4.4 --with-apxs2=/usr/local/apache2/bin/apxs --with-openssl=/usr/local/ssl --with-zlib=/usr/local --with-mysql=/usr/local/mysql
  • --prefix=/usr/local/php-4.4.4
    [this is the installation location; default is '/usr/local' -- we will symlink '/usr/local/php-4.4.4' to '/usr/local/php']
  • --with-apxs2=/usr/local/apache2/bin/apxs
    [build a shared PHP Apache2 module; specify the optional pathname to the Apache2 apxs tool]
    [If user has /usr/local/apache2 running, and /usr/local/httpd-2.0.xx to replace the older running version; use path to non-symlinked, newer version]
  • --with-openssl=/usr/local/ssl
    [include OpenSSL support; leave off '=DIR' if openssl was not built with '--prefix=DIR']
  • --with-zlib=/usr/local
    [include zlib support; leave off '=DIR' if zlib was not built with '--prefix=DIR']
  • --with-mysql=/usr/local/mysql
    [include MySQL support, specifing the optional MySQL base directory; leave off '=DIR' if mysql was not built with '--prefix=DIR']
  • Optional
    • --with-config-file-path=DIR
      [leave this option out, unless you know what you are doing]
      [sets the path in which to look for php.ini, defaults to 'prefix/lib']
    • --enable-versioning
      [leave this option out, unless you know what you are doing]
      [provides the ability to run PHP 3 and PHP 4 concurrently]
Build and Install
  • php-4.4.4]# make
  • php-4.4.4]# make install
    [will also copy phplib 'libs/libphp4.so' to the Apache modules directory, and add the phplib LoadModule line to httpd.conf]
[sanity check] Runtime Linker

Verify that Apache module 'libphp4.so' is linking against the correct zlib and ssl libraries...

...]# ldd /usr/local/apache2/modules/libphp4.so
  • libcrypt.so.1 => /lib/libcrypt.so.1 ...
  • libz.so.1 => /usr/local/lib/libz.so.1 ...
  • libssl.so.0.9.8 => /usr/local/ssl/lib/libssl.so.0.9.8 ...
  • libcrypto.so.0.9.8 => /usr/local/ssl/lib/libcrypto.so.0.9.8 ...
Symlink

Form symlink from '/usr/local/php-4.4.4' to '/usr/local/php'...

  • ...]# cd /usr/local
  • /usr/local]# ln -s php-4.4.4 php

Setup

Create php.ini...

php-4.4.4]# cp php.ini-recommended /usr/local/php/lib/php.ini

Note that if PHP was not built with '--prefix=DIR' [php installed to default location], create php.ini under '/usr/local/lib/'

php.ini can also be placed under /etc/ for global settings -- make sure no old php.ini files reside under this directory.

Edit /usr/local/php/lib/php.ini...

  • Edit doc_root = "/usr/local/apache2/htdocs/"
    [the directory your web server will be serving content from]
  • Edit file_uploads = Off
    [turn file uploads off, for security reasons]

Configuration for Apache 2.0

Edit /usr/local/apache2/conf/httpd.conf

PHP as an Apache Module
LoadModule php4_module modules/libphp4.so

DirectoryIndex index.html index.html.var index.php index.php4

<Location />
	AddType text/html .php .phps
	AddHandler application/x-httpd-php .php
	AddHandler application/x-httpd-php-source .phps
</Location>
PHP as CGI

[Recommended] Method #1...

ScriptAlias /cgi-bin/ "/usr/local/apache2/cgi-bin/"

<Directory "/usr/local/apache2/cgi-bin">
	AllowOverride None
	Options None
	Order allow,deny
	Allow from all
</Directory>

Method #2...

AddHandler php-script .php
AddType text/html .php

Method #3...

AddHandler cgi-script .php
AddType text/html .php

Configuration for zlib

Modifications need to be made to php.ini to switch on zlib compression detection and encoding.

Edit php.ini...

  • [Recommended] Method 1 -- Leave the compression to Apache's mod_deflate:
    • output_buffering = On
    • output_handler =
    • zlib.output_compression = Off
  • Method 2 -- Redirect all of the output of your scripts to the 'ob_gzhandler' function:
    • output_buffering = On
    • output_handler = ob_gzhandler
    • zlib.output_compression = Off
  • Method 3 -- Transparent output compression using the zlib library:
    • output_buffering = Off
    • output_handler =
    • zlib.output_compression = On

Testing

Create file 'phpinfo.php', containing the following code...

<?php phpinfo(); ?>

Place 'phpinfo.php' under your document root directory.

Access URL http://localhost/phpinfo.php