How to run WordPress 2.5 on CD/DVD

In this tutorial you will learn how to create a fully working version of WordPress running from a CD or DVD.

1. The first step is to download and install the DWebPro server:

http://www.dwebpro.com/download

DWebPro is a web server (like Apache and IIS) developed for distributing dynamic web site on CD/DVD and as install packages. It’s FREE for non commercial use, so you can use it for your personal projects without any cost.

2. Then you have to download and install the following additional packages (from http://www.dwebpro.com/addons):

  • PHP 5.2
  • MySQL Server 5.0
  • phpMyAdmin 2.6

When you install PHP, chose the ISAPI (recommended) mode. It’s faster than CGI, especially when the web site is executed from a CD/DVD.

The installation of both DWebPro and the preconfigured packages is pretty straight forward, just run the installer and follow the steps (Next, Next, Next, … Finish!).

3. Download the WordPress 2.5 source code from http://wordpress.org/download/.

http://wordpress.org/download/

4. Open the Windows Explorer and browse to the deploy\www folder of DWebPro (usually C:\DWebPro\deploy\www).

This folder is the DWebPro document root, where we will place the WordPress files.

5. Remove any file and folder from the deploy\www directory except the following two folders:

  • deploy\www\bin
  • deploy\www\phpMyAdmin

6. Extract the content of the WordPress package into the deploy\www folder.

7. Rename the deploy\www\wp-config-sample.php file into deploy\www\wp-config.php

8. Edit the new deploy\www\wp-config.php file as follows:

if (isset($_SERVER['HTTP_X_REWRITE_URL'])) {
    $_SERVER['REQUEST_URI'] = $_SERVER['HTTP_X_REWRITE_URL'];
}

ini_set('smtp_port', dwebpro_getvar('DWEBPRO_SMTPSERVER_PORT'));

define('DB_NAME', 'wordpress');
define('DB_USER', 'root');
define('DB_PASSWORD', '');
define('DB_HOST', '127.0.0.1:' . dwebpro_getvar('DWEBPRO_MYSQL_PORT'));
define('DB_CHARSET', 'utf8');
define('DB_COLLATE', '');

define('SECRET_KEY', '9D15849CD4ED003E8ADFCD2F57848CDD855E08CF29DF9A8469542BF3B0F3D800');

9. Start DWebPro.

You can start DWebPro using the “Start DWebPro” icon on the desktop or the on in Start -> Programs -> DWebPro

10. A this point you should see the familiar phpMyAdmin interface.

11. Create a new database named “wordpress”.

12. Navigate to the root

If, for instance, the address bar in your browser displays http://127.0.0.1:8080/phpMyAdmin/index.php you have to remove the phpMyAdmin/index.php and navigate to http://127.0.0.1:8080/

If, for instance, the address bar in your browser displays http://127.0.0.1:8081/phpMyAdmin/index.php you have to remove the phpMyAdmin/index.php and navigate to http://127.0.0.1:8081/

13. Execute the WordPress installation as usual and write down the admin password.

14. Close the browser and DWebPro.

15. Open the deploy\http.ini file.

In order to make Wordpress working on CD/DVD we need to make some small adjustments to the DWebPro configuration:

[Browser]
OpenUrl=1
Url=http://##DWEBPRO_HOSTNAME##:##DWEBPRO_WEBSERVER_PORT##/

[MySQL]
CopyDataToHardDisk=1
DestinationDir=##DWEBPRO_TEMP##\wordpress

The above settings tell DWebPro to open the default browser on startup (OpenUrl) with the Wordpress web site (Url) and to copy the Wordpress database files (CopyDataToHardDisk) on the user file system (DestinationDir). In this way Wordpress will be able to read/write the database contents.

18. Let’s burn Wordpress on CD/DVD.

Open your favorite burning utility (es. Nero) and burn the whole deploy folder into a CD/DVD.

19. Run Wordpress from CD/DVD

Start the dwebpro.exe from the CD/DVD created in the previous steps and here it is: your Wordpress running from CD/DVD.

Addition for using permalink

DWebPro provides a mod_rewrite equivalent named “URL Rewrite Engine”. To enable the engine, open the deploy\http.ini and edit it as follows:

[WebServer]
RewriteEngine.Start=1
RewriteEngine.FileName=##DWEBPRO_PATH##\rewrite.ini
RewriteEngine.ReloadOnEveryRequest=0

Then create a text file in the deploy folder, rename it into rewrite.ini and edit it as follows:

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]