Back to vBulletin 3 Articles

Tutorial: How to run vBulletin onto your PC
by TECK 05 Jun 2002
Rating: (1 vote - 5.00 average)

This tutorial is vBulletin.org and cPublisher.com copyrighted. All rights reserved.
Please ask permission in this thread to copy the tutorial. If granted, post a link that points to this page.


This tutorial will teach you how to install Apache, PHP and MySQL binaries in win2K and winXP, in order to install vBulletin directly onto your PC. It's useful because you can run your own board on your PC, to test code hacks, updates, etc before you put them to your live board.

UPDATES: To receive an email when this tutorial is updated, click http://www.vbulletin.org/forum/member2.php?s=&action=addsubscription&threadid=39482.

TOOLS NEEDED
- http://www.php.net/downloads.php - 4.4MB (for more info, visit http://www.php.net)
- http://nagoya.apache.org/dist/httpd/binaries/win32/ - 3.2MB (for more info, visit http://www.apache.org)
- http://www.mysql.com/downloads/mysql-3.23.html - 13.3MB (for more info, visit http://www.mysql.com)

NOTE: The have been some problems with the php4ts.dll library. If you cannot restart your Apache server, download http://www.vbulletin.org/forum/showpost.php?s=&postid=326610 and replace your current one, or download http://snaps.php.net/win32/php4-win32-STABLE-latest.zip.

PC PREPARATION
Create a folder called Network in your local disk C: with the following 2 sub-folders:
|--[C:
|----[Network
|------[MySQL
|------[Php


PHP Binary INSTALLATION
01. Extract the contents of PHP .zip file to C:\Network\Php folder.

02. Copy the 'C:\Network\Php\php.ini-dist' file to your %SYSTEMROOT% directory (C:\WINDOWS for winXP; C:\WINNT for win2K).
In %SYSTEMROOT% folder, rename php.ini-dist to 'php.ini' and open it.

03. In php.ini, you will need to set the 'doc_root' to point to your web server(apache) document_root, like below:
; The root of the PHP pages, used only if nonempty.
; if PHP was not compiled with FORCE_REDIRECT, you SHOULD set doc_root
; if you are running php as a CGI under any web server (other than IIS)
; see documentation for security issues. The alternate is to use the
; cgi.force_redirect configuration below
doc_root = "c:\network\apache2\htdocs"


04. Still in php.ini, change the 'extension_dir' setting to point to your php-install-dir, like below:
; Directory in which the loadable extensions (modules) reside.
extension_dir = "c:\network\php"


05. Still in php.ini, change the 'mail function' setting to point to your ISP, like below:
[mail function]
; For Win32 only.
SMTP = smtp.myisp.com
; For Win32 only.
sendmail_from = email


06. Save and close the php.ini file.

07. In C:\Network\Php folder, find php4ts.dll file. Move it to the %SYSTEMROOT%\system32 folder.

NOTE: Make sure you MOVE that file, DO NOT copy it only.

Apache Server INSTALLATION
01. Run the .msi file. Enter the value localhost for 'Network Domain' and 'Server Name'.

IMPORTANT: Make sure you select a custom setup and install Apache to C:\Network, not to 'C:\Program Files\Apache Group'. It will create automatically the 'Apache2' folder for you. There is no need to install the documentation, it is available online.

02. Go to your Apache conf file (C:\Network\Apache2\conf\httpd.conf) and find:
#LoadModule ssl_module modules/mod_ssl.so

BELOW this, add:
LoadModule php4_module c:/network/php/sapi/php4apache2.dll

03. Still in httpd.conf, find:
AddType application/x-tar .tgz

BELOW this, add:
AddType application/x-httpd-php .php

04. Still in httpd.conf, set the files that Apache will serve if a directory is requested. Find:
DirectoryIndex index.html index.html.var

REPLACE it with:
DirectoryIndex index.php index.html index.php.var index.html.var

05. Save and close the httpd.conf file.

06. Restart Apache Server.

MySQL Binary INSTALLATION
01. Extract the .zip binary to a temp folder. Run the Setup.exe file.

NOTE: Make sure you browse to C:\Network\MySQL folder, when you select the install location.

02. Go to C:\Network\MySQL\bin and run the 'winmysqladmin.exe' file. The WinMySQLadmin 1.3 database manager will start.
First, it will ask you to enter a new username and password. Enter the following information:
Username: root
Password: password


Click on OK.

03. Go to Go to C:\Network\MySQL\bin\data folder and create a new folder called vbulletin. That is your database.

04. Open a CMD window and change it's location to your current MySQL /bin folder.

05. Set your Users:
\bin> mysql --user=root mysql
mysql> GRANT ALL PRIVILEGES ON *.* TO monty@localhost
-> IDENTIFIED BY 'some_pass' WITH GRANT OPTION;
mysql> GRANT ALL PRIVILEGES ON *.* TO monty@'%'
-> IDENTIFIED BY 'some_pass' WITH GRANT OPTION;
mysql> GRANT RELOAD,PROCESS ON *.* TO admin@localhost;
mysql> GRANT USAGE ON *.* TO dummy@localhost;


NOTE: There is no need to do all GRANT 3 statements, the first one is more then enough. The other two were presented to you so you learn mode about the GRANT/REVOKE commands.

These GRANT statements set up three new users:
monty
A full superuser who can connect to the server from anywhere, but who must use a password 'some_pass' to do so.
Note that we must issue GRANT statements for both monty@localhost and monty@'%'.
If we don't add the entry with localhost, the anonymous user entry for localhost that is created by mysql_install_db will take precedence when we connect from the local host, because it has a more specific Host field value and thus comes earlier in the user table sort order.

admin
A user who can connect from localhost without a password and who is granted the RELOAD and PROCESS administrative privileges. This allows the user to execute the mysqladmin reload, mysqladmin refresh, and mysqladmin flush-* commands, as well as mysqladmin processlist . No database-related privileges are granted.
(They can be granted later by issuing additional GRANT statements.)

dummy
A user who can connect without a password, but only from the local host.
The global privileges are all set to 'N'—the USAGE privilege type allows you to create a user with no privileges. It is assumed that you will grant database-specific privileges later.

FINAL STEPS
01. Go to Start > Programs > Startup
Delete the 'Monitor Apache Servers' and 'MySQL Admin' tools. They waist your resources for nothing and are not needed. I personally moved the MySQL Admin tool to another folder, in case I want to create later another database.

02. The C:\Network\Apache2\htdocs folder is your web root. Create there a sub-folder called 'forum'.
You know the rest of VB installation drill... Once you are done, call your forum index.php at:
http://localhost/forum

NOTE: If you experience any cookie problems, add this line to your vBulletin config.php file:
define('USE_COOKIE_WORKAROUND', 1);

That's all. No more uploads needed to test the hacks.
Please post here if you were successful with the localhost installation. It works perfectly for me on winXP.
------------------------------------------------------

BACKUP-RESTORE ON localhost
(See also http://www.vbulletin.org/forum/showthread.php?postid=263071#post263071)

TOOLS NEEDED
- http://download.microsoft.com/download/whistler/Install/2/WXP/EN-US/CmdHerePowertoySetup.exe PowerToy - 0.5MB (for more info, visit http://www.microsoft.com/windowsxp/pro/downloads/powertoys.asp site)

NOTE: This PowerToy adds an "Open Command Window Here" context menu option on file system folders, giving you a quick way to open a command window (cmd.exe) pointing at the selected folder.

BACKUP PROCEDURE
01. Create a new folder, called 'C:\sqlback'.

02. Right-click on the C:\Network\MySQL\bin folder and select 'Open Command Window Here'. A CMD window will open.

NOTE: You can also manually browse to the folder. Click on Start > Run > Type cmd in the 'Open:' area and hit Enter.
At the CMD prompt, type C: and hit Enter.
Type cd network and hit Enter.
Type cd mysql and hit Enter.
Type cd bin and hit Enter.

03. At the prompt, type:
mysqldump --opt -uUSERNAME -pPASSWORD DATABASENAME > c:/sqlback/bk060502.sql

NOTE: Change the highlighted values with your own. When done, you will see the command prompt.
060502: month date year (easier to remember the last date you backup your database). Change it with the corresponding date of your actual backup.

RESTORE PROCEDURE
This is useful if you want to import onto your localhost the live forum database.

01. Right-click on the C:\Network\MySQL\bin folder and select 'Open Command Window Here'.

02. At the prompt, type:
mysql -uUSERNAME -pPASSWORD DATABASENAME < c:/sqlback/bk060502.sql

NOTE: Change the highlighted values with your own. When done, you will see the command prompt.
------------------------------------------------------

OTHER TUTORIALS
- http://www.vbulletin.org/forum/showthread.php?s=&threadid=39558
- http://www.vbulletin.org/forum/showthread.php?s=&threadid=38545

vblts.ru supports vBulletin®, 2022-2024