Go Back   vb.org Archive > vBulletin Article Depository > Read An Article > vBulletin 3 Articles

Reply
 
Thread Tools
Tutorial: How to run vBulletin onto your PC
TECK's Avatar
TECK
Join Date: Nov 2001
Posts: 4,182

 

Canada
Show Printable Version Email this Page Subscription
TECK TECK is offline 06-04-2002, 10:00 PM

This tutorial is [high]vBulletin.org and cPublisher.com copyrighted[/high]. 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.

[high]UPDATES:[/high] To receive an email when this tutorial is updated, click here.

[high]TOOLS NEEDED[/high]
- PHP windows .zip package - 4.4MB (for more info, visit www.php.net)
- Apache Server no_ssl .msi binary - 3.2MB (for more info, visit www.apache.org)
- MySQL windows installation files - 13.3MB (for more info, visit www.mysql.com)

[high]NOTE:[/high] The have been some problems with the php4ts.dll library. If you cannot restart your Apache server, download this file and replace your current one, or download latest PHP snap.

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


[high]PHP Binary INSTALLATION[/high]
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 [high]%SYSTEMROOT%[/high] 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 = johndoe@myisp.com


06. Save and close the php.ini file.

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

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

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

IMPORTANT: Make sure you select a custom setup and install Apache to [high]C:\Network[/high], 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.

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

NOTE: Make sure you browse to [high]C:\Network\MySQL[/high] 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.

[high]FINAL STEPS[/high]
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 Velocd's tutorial)

[high]TOOLS NEEDED[/high]
- Open Command Window PowerToy - 0.5MB (for more info, visit Microsoft 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.

[high]BACKUP PROCEDURE[/high]
01. Create a new folder, called 'C:\sqlback'.

02. Right-click on the [high]C:\Network\MySQL\bin[/high] 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 [high]cmd[/high] in the 'Open:' area and hit Enter.
At the CMD prompt, type [high]C:[/high] and hit Enter.
Type [high]cd network[/high] and hit Enter.
Type [high]cd mysql[/high] and hit Enter.
Type [high]cd bin[/high] and hit Enter.

03. At the prompt, type:
mysqldump --opt -u[high]USERNAME[/high] -p[high]PASSWORD[/high] [high]DATABASENAME[/high] > 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.

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

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

02. At the prompt, type:
mysql -u[high]USERNAME[/high] -p[high]PASSWORD[/high] [high]DATABASENAME[/high] < c:/sqlback/bk060502.sql

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

[high]OTHER TUTORIALS[/high]
- How to make a reliable database backup
- Upgrade your hacked board in less then 30 minutes
Reply With Quote
  #212  
Old 11-28-2002, 11:25 PM
NTLDR's Avatar
NTLDR NTLDR is offline
Coder
 
Join Date: Apr 2002
Location: Bristol, UK
Posts: 3,644
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Apache will work with or without SP1.
Reply With Quote
  #213  
Old 11-29-2002, 12:05 AM
Mr. X's Avatar
Mr. X Mr. X is offline
 
Join Date: Oct 2001
Location: Iowa
Posts: 149
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Ok. I ask because it says here that SP1 is required, but they dont say why.
Reply With Quote
  #214  
Old 11-29-2002, 12:36 AM
Mr. X's Avatar
Mr. X Mr. X is offline
 
Join Date: Oct 2001
Location: Iowa
Posts: 149
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

ok, apache is up and running, but Im getting the same error about putting LoadModule php4_module c:/network/php/sapi/php4apache2.dll in the httpd.conf file, and Apache will not start. If I remove it, it will start. I've read this entire thread to see if there were any fixes and there arent. Is the php4apache2.dll file causing trouble? I cant go further on this tutorial until Apache starts with this file loaded.
Reply With Quote
  #215  
Old 11-29-2002, 01:46 AM
Mr. X's Avatar
Mr. X Mr. X is offline
 
Join Date: Oct 2001
Location: Iowa
Posts: 149
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Sweet, I have vB working right now. The php4ts.dll needed to be replaced with the latest snapshot for php4apache2.dll to work for some reason. Still alien to me, but it worked. I even installed phpmyadmin 2.3.3 RC1. I feel more l33t today.

Thanks for the tutorial. Finally I can test out things on my own PC before butchering my real forums
Reply With Quote
  #216  
Old 11-29-2002, 07:00 AM
Mr. X's Avatar
Mr. X Mr. X is offline
 
Join Date: Oct 2001
Location: Iowa
Posts: 149
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Damn. Well apparently something went seriously fubar, and when I rebooted, mysql would not start. I spent over an hour reading why, and gave up, reinstalled mysql cleanly. Made sure it worked, then rebooted, came back and its running again. Apparently it has a problem with starting from a service. Hope it doesnt come back because Im sure as hell not reinstalling it everytime it fails.

Also, how come the Create Database option doesnt show up? I just get Flush this and that, but no Create Database option. I had it before I reinstalled but now its gone. Im using the alpha of MySQLGUI which is pretty cool and I can create stuff fine there, but not in in the program that comes with the installation.

Oh yeah, why is my General Options page in the adminCP freaking out? It keeps refreshing like crazy. Wtf?
Reply With Quote
  #217  
Old 11-29-2002, 10:25 AM
TECK's Avatar
TECK TECK is offline
 
Join Date: Nov 2001
Location: Canada
Posts: 4,182
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Create it manually. They changed some of the options. To do this, simply go to your /mysql/data and create there a folder named for example "vbulletin". That will be your database.
I also noticed that in some systems, apache will not load properly the php4apache2.dll module. The solve this issue, simply install either 2.0.36 or any 1.xx version. That will solve your compatibility problem.
Reply With Quote
  #218  
Old 11-29-2002, 03:14 PM
Mr. X's Avatar
Mr. X Mr. X is offline
 
Join Date: Oct 2001
Location: Iowa
Posts: 149
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Everything is up and running, and after several reboots, mysql starts fine. The winmysqladmin-nt program isnt a big deal. I installed phpmyadmin and the mysql control panel alpha so creating databases is no prob. Also I sovled my problem with php by installing a new version of php4ts.dll.

I installed vb and it runs great, the only problem Im having is when I click on General Options, and it refreshes crazy, going in a loop for some reason. Any ideas?
Reply With Quote
  #219  
Old 11-29-2002, 06:03 PM
TECK's Avatar
TECK TECK is offline
 
Join Date: Nov 2001
Location: Canada
Posts: 4,182
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

What apache version you used? And from what PHP version you grabbed the php4ts.dll file?
Attach it here, zipped, so I can upload it onto my site and link it onto the first post.
Reply With Quote
  #220  
Old 11-29-2002, 09:58 PM
Mr. X's Avatar
Mr. X Mr. X is offline
 
Join Date: Oct 2001
Location: Iowa
Posts: 149
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

I setup Apache 2.0.43, MySQL 4.0.5 Beta and PHP 4.2.3. The php4ts.dll file was from some snapshot, but I cant remember which. I stumbled across it reading a plethora of mailing list posts about the bug. I'll try to track it down but in the mean time I've attached the file. As soon as I replaced this file, php4apache2.dll was able to load fine.

Still having issues though with AdminCP.
Attached Files
File Type: zip php4ts.zip (548.9 KB, 166 views)
Reply With Quote
  #221  
Old 12-04-2002, 02:49 AM
Mike Gaidin's Avatar
Mike Gaidin Mike Gaidin is offline
 
Join Date: Oct 2001
Location: Michigan
Posts: 247
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Ok, I'm trying to do step 3 under the mysql installation...

03. Go to tab Databases. Right click on the name of your computer and select 'Create Database':
Database Name: vbulletin

Click on 'Create the Database' and close the window.


The only problem is that when I right click on the name of my computer it brings up a menu that says...

Flush Hosts
Flush Logs
Flush Tables
Flush Threads


What do I do? Or what am I doing wrong?
Reply With Quote
Reply

Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT. The time now is 11:58 PM.


Powered by vBulletin® Version 3.8.12 by vBS
Copyright ©2000 - 2024, vBulletin Solutions Inc.
X vBulletin 3.8.12 by vBS Debug Information
  • Page Generation 0.10318 seconds
  • Memory Usage 2,340KB
  • Queries Executed 28 (?)
More Information
Template Usage:
  • (1)SHOWTHREAD
  • (1)ad_footer_end
  • (1)ad_footer_start
  • (1)ad_header_end
  • (1)ad_header_logo
  • (1)ad_navbar_below
  • (1)ad_showthread_beforeqr
  • (1)footer
  • (1)forumjump
  • (1)forumrules
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (1)modsystem_article
  • (1)navbar
  • (4)navbar_link
  • (120)option
  • (1)pagenav
  • (1)pagenav_curpage
  • (4)pagenav_pagelink
  • (2)pagenav_pagelinkrel
  • (11)post_thanks_box
  • (11)post_thanks_button
  • (1)post_thanks_javascript
  • (1)post_thanks_navbar_search
  • (11)post_thanks_postbit_info
  • (10)postbit
  • (1)postbit_attachment
  • (11)postbit_onlinestatus
  • (11)postbit_wrapper
  • (1)spacer_close
  • (1)spacer_open
  • (1)tagbit_wrapper 

Phrase Groups Available:
  • global
  • inlinemod
  • postbit
  • posting
  • reputationlevel
  • showthread
Included Files:
  • ./showthread.php
  • ./global.php
  • ./includes/init.php
  • ./includes/class_core.php
  • ./includes/config.php
  • ./includes/functions.php
  • ./includes/class_hook.php
  • ./includes/modsystem_functions.php
  • ./includes/functions_bigthree.php
  • ./includes/class_postbit.php
  • ./includes/class_bbcode.php
  • ./includes/functions_reputation.php
  • ./includes/functions_post_thanks.php 

Hooks Called:
  • init_startup
  • init_startup_session_setup_start
  • init_startup_session_setup_complete
  • cache_permissions
  • fetch_postinfo_query
  • fetch_postinfo
  • fetch_threadinfo_query
  • fetch_threadinfo
  • fetch_foruminfo
  • style_fetch
  • cache_templates
  • global_start
  • parse_templates
  • global_setup_complete
  • showthread_start
  • showthread_getinfo
  • forumjump
  • showthread_post_start
  • showthread_query_postids
  • showthread_query
  • bbcode_fetch_tags
  • bbcode_create
  • showthread_postbit_create
  • postbit_factory
  • postbit_display_start
  • post_thanks_function_post_thanks_off_start
  • post_thanks_function_post_thanks_off_end
  • post_thanks_function_fetch_thanks_start
  • post_thanks_function_fetch_thanks_end
  • post_thanks_function_thanked_already_start
  • post_thanks_function_thanked_already_end
  • fetch_musername
  • postbit_imicons
  • bbcode_parse_start
  • bbcode_parse_complete_precache
  • bbcode_parse_complete
  • postbit_display_complete
  • post_thanks_function_can_thank_this_post_start
  • postbit_attachment
  • pagenav_page
  • pagenav_complete
  • tag_fetchbit_complete
  • forumrules
  • navbits
  • navbits_complete
  • showthread_complete