• Welcome to Overclockers Forums! Join us to reply in threads, receive reduced ads, and to customize your site experience!

Newbie Guide to Setting up Your Own Apache Server on Windows

Overclockers is supported by our readers. When you click a link to make a purchase, we may earn a commission. Learn More.

diggingforgold

Member
Joined
Apr 21, 2001
Location
Augusta Twp, MI
This guide has many guides inside it. First is AppServ (Apache, PHP, MySQL installation package). It is easy to install, and easy to run for basic server needs. A more advanced server installation package is BigApache. This includes Apache (HTML, PHP, MySQL, Perl, Python, ASP:Apache, and Java-JBoss with Tomcat), Mercury POP3 and SMTP Email Server. ZoneEdit with DirectUpdate, No-IP, FileZilla FTP Server, and more are discussed as well in this guide. Please feel free to skip the stuff you already know about or don't need.

I am also combining all these guides and more (screenshots, updated newbie guides, news, etc..) in a nice little site called Kubels.net. Your welcome to stop by.

--Before You Begin--

Minimum System Requirements:

You can install a web server on almost any computer system over almost any connection. These are the minimum system requirements as layed out by Apache for Win32:
  • x86 Family Processor
  • Win9x/ME, WinNT, Win2K, WinXP Home, WinXP Pro
  • Must have TCP/IP Networking Installed
  • If you have Win95, you must have Winsock2 installed (or must reinstall Winsock2 after installing DUN)
  • If you have WinNT 4.0, you must have SP3 or SP6
  • Connection to the internet (preferably one that is always on, and that does not block port 80, but there are ways around this issue).

It should also be noted that some ISP's have limitations for server hosting under their TOS. I have found that Comcast and WideOpenWest permit hosting, as long as they are not for "business enterprise" use. WideOpenWest, in particular, "prefers" that you use uncommon ports for server useage (80 is a common port). Verizon DSL, Cox, and Adelphia, for example, do not permit any hosting of any servers for any use at all- no exceptions.

Open/Forward Ports:

You will need to open (firewall) or forward (router) the following ports to your server:

21 - FTP
25 - SMTP
80 - HTTP
110 - POP3
3306 - SQL
14147 - FTP
40019 - DIRECTUPDATE


Optional Pre-Install Tasks:

Doing maintenance to your computer couldn't hurt (scandisk/chkdsk, defrag, etc...). Also, installing Apache on a NTFS is also advisable (but not required). But the primary problem most people run into is that they already have some type of server installed and don't know it. Most of the time, it's IIS (which may be installed on your WinNT, Win2K, or WinXP system). So lets go through the steps to disable OR uninstall IIS so it doesn't interfere with Apache when it wants to serve a page. If you don't have IIS, skip this...

To Disable IIS:
  1. Open Services (START> RUN> type in "services.msc" without quotes and press enter).
  2. Select "IIS Admin Services"
  3. Stop the service.
  4. Right clicking on the IIS service and click "Properties".
  5. Under the "General" tab, and under "Start Up Type", change it to "Disabled".
  6. Do the same steps for the following services as well:
    -FTP Publishing Service
    -Simple Mail Transport Protocol (SMTP) Service
    -World Wide Web Publishing Service
To Uninstall IIS:
  1. Open Control Panel (START> RUN> type in "control" without quotes and press enter).
  2. Double click on Add/Remove Programs.
  3. Click on Add/Remove Windows Components.
  4. Uncheck Internet Information Services (IIS).
  5. Follow the rest of the instructions to uninstall. Restart if prompted.
Congrats, your finished with this part. If you have any other server installed, you should be able to disable it much like IIS was disabled.



--Don't have a Domain Name? (Use No-IP)--

The first thing you need is an easy to remember address. Instead of having to memorize your dynamic IP address every few days, you can get a dynamic DNS update client and a .no-ip.com domain for free. In newbie language- this client will link your ever-changing dynamic IP address to your .no-ip.com domain name whenever your IP changes. All you need to do is sign up for the free account and download the windows client from the following link:

http://www.no-ip.com/
  1. Go to http://www.no-ip.com and sign up for a free no-ip account.
  2. After you sign up, you will need to check your mail and click the link in your email from no-ip to activate your account.
  3. After you click the link, your browser will open, and you will be directed to a No-IP page that says your account was activated. Click the login link to continue.
  4. If it asks for your email address and password to login, type in the email and password that you used when you signed up. If you are already logged in, continue to the next step.
  5. Click on the Hosts/Redirects link on the "YOUR NO-IP" menu on the left.
  6. Click "Add" on the menu on the left.
  7. Under "Hostname" you want to type in a unique name (ex. jeffsrig).
  8. Below that is a list of free domains (no-ip.info, no-ip.com, hopto.org, etc...). Choose one that you like.
  9. Under "Host Type", you generally want to stick with "DNS Host (A)" (will map your hostname to your IP address using the No-IP DUC Client), but depending on your needs, you can choose whichever. Click on the "?" to the right of them for more information.
  10. "IP Address" should automatically display your current IP address. If this is incorrect, you can change it, but it really doesn't matter because the client (we will install it later) will update this for us.
  11. "Assign to Group" doesn't really apply since you will most likely not be registering multiple no-ip hostnames to your single server. But this is what you would use if you are dealing with multiple no-ip names.
  12. "Allow Wildcards" is optional. This will make it so if anyone types in something.yoururl.no-ip.com, they will be directed to your server, rather than get a 404.
  13. I won't get into "Mail Options", since this only applies to mailserver needs, but this is where you would put in your mx records.
  14. Click the "Create Host" button to continue.
  15. You should now get a screen that says something about the hostname being added. It can take about 5 minutes for their systems to process this, so in the meantime, lets setup the client.
  16. Click on the "Downloads" tab on the top of the page.
  17. On the menu to the left, click "Windows".
  18. Select No-IP DUC. You can download it from CNET, or below from one of the other mirrors.
  19. Install the client, and if asked, YES, you want to install it as a service!
  20. No-IP should run. If not, start it up.
  21. It will either display a small setup window when you first install it, or you will have to click the "EDIT" button. In either case, you want to type in the address and password that you setup your no-ip account with.
  22. Click OK.
  23. Your no-ip name should list in the white box, and you should see a smilie. You can close this window to make this run in the background. You will never need to open or mess with any of these settings ever again as long as you have selected to run this as a service or each time Windows starts. It should run in the background and update your no-ip address with your new IP address every time it changes.
  24. Now you have a no-ip address. But if you try typing it in your browser, you will get nothing. Thats because we haven't install a server yet. We will discuss this later...


--Have a Domain Name? (Use ZoneEdit and DirectUpdate)--

Do you have your own domain name? Do you want your domain name to work on your server (even if it has a dynamic IP address)? If so, we will be doing 3 steps to achieve this.
  • Create a ZoneEdit Account
  • Contact Your Registrar
  • Download DirectUpdate Client
Please remember that ZoneEdit and DirectUpdate have nothing to do with your No-IP address. This is if you want your domain name (.com, .net, .org, etc...) to point to your server.

This gets a little more complicated, so let's take this one step at a time:

Create a ZoneEdit Account:
Many of the cheaper domain registrars (like godaddy) do not offer a free DNS service with the purchase of a domain name. Instead, you either have to supply your own DNS servers, or rely on cheap domain cloaking. ZoneEdit is a very useful, free DNS service which allows you to interface ZoneEdit with a DirectUpdate client- which essentially points your domain to your IP, and thus, your server.

http://www.zoneedit.com
  1. Visit the site above and sign up for a free ZoneEdit account.
  2. Please use valid information. Fill in your Full Name, your Home Address, City, State, Zip, Country, Phone Number, a valid Email Address.
  3. Under "Select Service Option", choose "Free Trial - up to 5 zones".
  4. Click "Sign Up Now".
  5. You will now see a page saying that a confirmation email will be dispatched to your email address within an hour.
  6. Check your email after 1 hour. You will get an email from ZoneEdit that includes your username, password, and other pertinent information. Use this login information to login to ZoneEdit.com.
  7. The first message will as you what zone you wish to edit. Click the "Add Zones" link.
  8. Enter your domain name and click the "Add Zone" button.
  9. The next page will say something important about you being required to contact your registrar and have them change your domains nameservers to the ones listed on that page. Write down those nameservers! You will need them later!
  10. Until your nameservers are changed, you will receive a warning message saying your nameservers are incorrect. Ignore these messages for now, and lets make some basic changes to your zone settings. Click on "Start editing your domain before it goes live" on the bottom of the page.
  11. You should now be on the view page. Click on "IP Addresses" to change your IP Address settings.
  12. Under name, type in "www" (without quotes), and then under numeric IP, type in your IP address. Then click "Add New IP Address".
  13. You should get a confirmation page asking you want both www.yourdomain.com and yourdomain.com to point to your IP. Click Yes.
  14. The rest of the settings are not required for anything else that I am going to discuss in this guide. So log off ZoneEdit.
Contact Your Registrar:
Depending on your Registrar, you can either login and change your nameserver settings, or you will have to email them and request they be changed for your domain. Use the nameservers ZoneEdit told you to use. It usually takes a few days when you make a change like this, and usually longer if you have to email them. So be patient. To find out if your nameservers are set, login to ZoneEdit.com and see if that warning message is there. While you wait, we can setup DirectUpdate...

Download Direct Update:
DirectUpdate is the program that communicates with ZoneEdit. It tells ZoneEdit what your new IP address is every so often, and ZoneEdit updates its' nameservers with your IP address. That way, when people visit your domain, they will reach your IP address, and thusly, your server. It works using the same technique No-IP uses. But the programs are NOT related.

http://www.directupdate.net
  1. Download DirectUpdate from the site above and install it using the "Typical (full)" install option.
  2. Click on the "Status" tab.
  3. Next to "Accounts", click the "Create..." button.
  4. Under "Account Type", select "ZoneEdit.com"
  5. Next to "Domain", type in your domain WITHOUT www, like this: "yourdomain.com"
  6. Next to "User Name" and "Password", fill in with your login information you received from ZoneEdit.
  7. Click OK.
  8. Repeat steps 3 through 7, but instead of excluding www, we will include it, like this: "www.yourdomain.com".
  9. Once you are finished, click Exit. DirectUpdate and ZoneEdit will now keep your domain pointing to your up-to-date IP address.
Remember! You still have to wait for your nameservers to be updated before your domain will point to your IP address. This may take a few days. In the meantime, you will have to connect to your server by either using localhost, yourname.no-ip.com, or your IP.



--The Choice-- (BigApache or AppServ)

BigApache is an Enterprise ready server package. If you need HTML, PHP, MySQL, Perl, Python, ASP:Apache, and Java (JBoss with Tomcat)- then use this.

AppServ is an Entry Level server package. It includes Apache, PHP, and MySQL. It does not include MercuryMail, but if you want it, there is a guide on how to install it later on in this sticky. I personally use AppServ because I prefer the simplicity of it all.

Please choose one (BigApache or AppServ). Installing both on the same machine will cause havok.



--AppServ--
Do not install if you have already installed BigApache instead!

Appserv is an easy to use (open source) software installer package that includes Apache (the HTTP server), PHP, MySQL, Perl, and a few other spiffy features and support. AppServ is a "single step" installation package of all the goodies you need to get your feet wet. It will only ask you a few questions for setup purposes, most can be left at default (except for username, password, email address, etc...). It also installs all this stuff as a service if you want it to be. It's so easy to do!
  1. Download the latest final-version appserv installation file from http://prdownloads.sourceforge.net/appserv. If you are concerned about stability, stick with a version that does NOT use PHP5. This new version is reported to cause problems with older code and MySQL.
  2. Double click on the appserv file (appserv-win32-x.x.x.exe) to begin installation.
  3. The first window will ask you to fill in three fields. You can set server name to "localhost", or you can use your no-ip subdomain, or use your domain name (yourdomain.com) if you are using ZoneEdit and DirectUpdate. Enter your email address for the administrators email. Enter "80" for the port to open for HTTP, unless you have another port in mind.
  4. The second window will ask you to fill in a new username and a new password. This is up to you. Leave charset at "latin1".
  5. AppServ now has enough information to begin installation. The third window ("Please stand by") will show you the progress of installation.
  6. The final window will let you know setup is complete. Make sure you check "Start Apache" and "Start MySQL". Then click the "Close" button.
  7. Once it finishes, a WinMySQLAdmin program may flash up and then hide to the taskbars notification area (it may show as a stoplight). It may also popup some newly created appserv directories where the uninstall is hidden. Don't worry about that. Close them if they get in your way. Apache should be installed as a service and the only way to stop it now is to disable the service.
  8. You should now open or forward port 80 on your firewall or router if you have not already done so.
  9. To make sure your server is running, visit http://localhost. You should be able to see a AppServ welcome page.
  10. To make sure your server is broadcasting outside of your network, type your IP address in Internet Explorer. If you don't know your IP address, visit http://www.whatismyip.com. If your No-IP or domain name are working, you can try those too.

Installation is complete! Your root server directory (the place where you can throw pictures, web pages, and other directories in order to "publish" them online) is at "C:\appserv\www\".

Example: C:\appserv\www\index.htm is basically the same thing as http://123.456.789.01/index.htm on the web. The only difference is one is being run through Apache. So when you change C:\appserv\www\index.htm, you are also changing http://123.456.789.01/index.htm - because they are the same file. Get it? Great!



--Email Server (Mercury Mail Trasport )--
For use with AppServ. BigApache already includes Mercury!

Mercury should not be installed (using these instructions) if you have already installed BigApache! Email is very essential to a complete server, because many PHP scripts need to use a mail server to work correctly. Also, having your own domain means you can theoretically control as many email addresses as you can setup with your domain. Email is just about as essential as FTP, because many PHP scripts need to use a mail server to work correctly. Also, having your own domain means you can theoretically control as many email addresses as you can setup with your domain. A free and very lite program that I like to use is the Mercury Mail Transport System. It only takes up a few MB of disk space and RAM. It can also be installed on any Windows version from 95 up. Mercury has been around, as freeware, since 1992, so you can rest assured it will be dependable. Installing Mercury Mail is a breeze, but there's a long installation process. I will walk you through the setup that most personal servers will use. These steps are only likely to work with version 4.01a. Please PM me if they update Mercury, or if the link below is broken.

ftp://ftp.usm.maine.edu/pegasus/mercury32/m32-401a.exe

  1. Click the link above to download Mercury/32 4.01a.
  2. Double click on m32-401a.exe to begin the install process.
  3. WinZip Self-Extractor will begin. Click on the "Setup".
  4. The Mercury/32 Setup program will be displayed. Click the "New Installation" button.
  5. Click the "No Netware Support" button.
  6. Click the "OK, accept this directory" button.
  7. Click the "No Pegasus Mail integration" button.
  8. Click the "OK, accept this directory" button.
  9. You should now see a list of protocol modules. To be able to send and receive email, you will need both POP3 and SMTP protocols installed. Select "MercuryS" and "MercuryP". You may select additional protocols to install if you wish, but this guide will not go through the steps of setting them up. Click the "OK, continue installation" button.
  10. You should now see two SMTP client module buttons. Since most mail servers will blacklist emails that originate from an SMTP server using a dynamic IP address to prevent spam, you should click "Install MercuryC". This module will allow you to relay your outgoing emails to another SMTP server (such as the one provided by your ISP). If you have a static IP address, you can "Install MercuryE", but this guide will not go through the steps of setting up the MercuryE cient.
  11. Type your domain name that is used with your server. Alternatively, you can use your No-IP address. It should be typed in the form yourname.com or yourname.no-ip.com. You can also use your static IP address. It should be typed in brackets in the form [123.456.78.9].
  12. Type the username for the postmaster. Admin is fine.
  13. Type the address of your SMTP server (usually provided to you by your ISP). Example: smtp.comcast.net. Click the "OK, continue installation" button.
  14. Click the "Normal" button.
  15. Click the "OK, accept this directory" button.
  16. Click the "Install Mercury/32" button.
  17. Mercury is now installed. A folder may be displayed with a few program shortcuts. Minimize that folder, and bring the Mercury/32 Setup application back into focus. Click the "Exit" button.
  18. Bring the Mercury for Win32 folder back into focus (the folder that you minimized in step 18).
  19. Copy (CTRL+C) the Mercury Loader Shortcut and paste it (CTRL+V) to your Startup folder. You can access your Startup folder by clicking Start > Programs > Startup. This will make the Mercury Loader start whenever Windows starts.
  20. Start the Mercury Loader for the first time by clicking Start > Programs > Startup > Mercury Loader.
  21. Click on Configuration > MercuryC SMTP Client.
  22. If your ISP's SMTP server (the server Mercury is borrowing to send mail) requires SMTP Authentication, input your ISP email addresses username and password. Click the "Save" button.
  23. Click on Configuratuon > Manage Local Users.
  24. Now we are going to add a username. Click the "Add" button. Under Username, type in the users name (example: diggingforgold). Personal name is whatever you want (example: Jeff). Mail password is this accounts password. APOP secret is optional. I usually leave it blank. Click the "OK" button to add that user to the local user list.
  25. Click the "Close" button when you are finished adding users.

You have finished setting up the mail server. Your SMTP address, in case your wondering, is the exact same address you typed in step 11 of the Mercury/32 Setup process (example: yourname.com). Your POP3 address is also the same.





--BigApache--
Do not install if you have already installed AppServ!

BigApache is an open source project. It includes support for HTML, PHP, MySQL, Perl, Python, ASP:Apache, and Java (JBoss with Tomcat). It also includes MercuryMail as well, which really cuts the time of installing a mailserver. You can find BigApaches' SourceForge project page here. Your probably need not follow each and every step, because it really is a breeze to install, but just for those that might run into problems, here's the step-by-step instructions.

Download BigApache v1.06

Installing BigApache:

  1. Download BigApacheComplete-1.06.zip and extract it to your desktop.
  2. Double-click on BigApache-1.06 Setup.exe to begin the installation.
  3. Click anywhere to continue.
  4. Click the Ok button on the ports testing dialog. This will scan for ports needed for BigApache and its components. If it warns you that a port is in use, you should open or forward those ports to your server as soon as possible.
  5. Type your server name. This should be your registered domain name, your no-ip name, or your static IP address. If you aren't sure what to put here, type "localhost" without quotes. Click the Ok button to continue.
  6. Type your admin email address. this should be admin@ your domain, your no-ip name, or your static IP address. If you aren't sure, type an email address you use now. Click the Ok button to continue.
  7. Click the Next button to continue.
  8. Click the Next button to continue.
  9. These are just notes. Click the Next button to continue.
  10. If you agree to the liscense agreement, click the Yes button to continue.
  11. Leave the directory as C:\ and click the Next button to continue.
  12. Select setup type typical and click the Next button to continue.
  13. Click the Next button to accept the default program folder.
  14. Click the Next button to begin the installation.
  15. Click the Install button to continue.
  16. Click the Continue button.
  17. Setup will now copy and install BigApache. This will take a few minutes. If you did not open or forward the required ports, you will get the same errors again during this step.
  18. Type a username and password to setup a secured stats directory, and click the Ok button to continue.
  19. Choose Fast-CGI and click Ok to continue.
  20. Type a canonical name for your mail server. Since you haven't setup any subdomains yet, you can just type your domain name, IP address, or No-IP subdomain. The Name Server setting can be left blank. Click the Ok button to continue.
  21. Click the Next button to continue.
  22. Yes, you do want to restart. Click the Close button, and your system will restart.
  23. Upon restart, click anywhere to continue.
  24. Type a password for MySQL and click the Ok button.

Installation is complete! Your root server directory (the place where you can throw pictures, web pages, and other directories in order to "publish" them online) is at "C:\BigApache\Apache\htdocs\".

Example: C:\BigApache\Apache\htdocs\ is basically the same thing as http://123.456.789.01/index.htm on the web. The only difference is one is being run through Apache. So when you change C:\BigApache\Apache\htdocs\index.htm, you are also changing http://123.456.789.01/index.htm - because they are the same file. Get it? Great!



Configuring Mercury/32 Mailserver

  1. Start Mercury/32 by clicking Start > Programs > BigApache > Mercury > Mercury Start.
  2. Click the Configuration menu, and select Protocol Modules.
  3. If you have a dynamic IP address, I recommend only selecting MercuryS, MercuryP, MercuryC, and MercuryW. Click the Ok button.
  4. Restart Mercury/32 by clicking the File menu, and selecting Exit. Now go back to Start > Programs > BigApache > Mercury > Mercury Start.
  5. Click the Conficuration menu, and select Mercury Core Module.
  6. Make sure your domain, IP address, or No-IP subdomain is listed next to "Internet name for this system".
  7. Click the Local Domain tab.
  8. Click the Change Entry button.
  9. Next to local host or server, type "localhost" without quotes. Next to Internet name, type the same name you entered in #6. Click the Ok button.
  10. Click the Ok button again to close the Mercury Core Module window.
  11. Click the Configuration menu, and select MercuryS SMTP Server.
  12. Make sure the same name you typed for #6 is displayed next to "announce myself as". If not, type it in, and then click Ok to close the SMTP Server configuration window.
  13. Click the Configuration menu, and select MercuryC SMTP Client.
  14. Next to "smarthost name", type the name of your ISP's SMTP server. Most email services blacklist any mailserver that has a dynamic IP (to prevent spam). To overcome this, any mail that is sent from your server to any place outside of your domain will have to be sent using SmartHost (another SMTP server). This will prevent mail sent from your server from being blacklisted. Example: My ISP is Comcast, so I use the server "smtp.comcast.net".
  15. If your ISP's SMTP server requires authentication, type a username and password.
  16. If your ISP's SMTP server requires you to check your mail before sending mail, you may also have to select "Authenticate via prior pop3 connection" and type their POP3 server address.
  17. Click the Save button to close the SMTP Client window.
  18. If you want to setup user accounts, you can do so by clicking the Configuration menu, and select "Manage Local Users". This is self-explanatory, but if you run into problems, click the Help button for assistence.
  19. In order for Mercury/32 to start when Windows does, we will have to add Mercury Start to the startup folder. To do so, go to Start > Programs > BigApache > Mercury > and drag "Mercury Start" to the Startup folder located in Start > Programs > Startup.



--FTP Server (FileZilla)--

FileZilla is a totally free FTP server. FTP stands for File Transfer Protocol, and is the most poplular method for uploading files remotely to a web server. You can visit FileZilla's SourceForge project page here. As with BigApache, you probably don't need to follow each step, since it is really easy to install, but here's the step-by-step instructions for those that need it.

Download FileZilla FTP Server v.0.9.4b

Installing FileZilla Server:
  1. Download and double click on FileZilla_Server_0_9_4d.exe to begin installation.
  2. If you agree with the license agreement, click the I Agree button.
  3. Click the Next button to accept the Standard install type.
  4. Click the Next button to accept the default install directory.
  5. Click the Install button to install the default startup settings.
  6. Once setup has finished, it should say "Completed". You can click the Close button to exit the installation utility.
  7. To start FileZilla, double click on the FZ icon in the notification area of your taskbar.
  8. When FileZilla starts for the first time, it will display the Connect to Server dialog box. Leave the settings how they are (Server Address: 127.0.0.1, Port: 14147, Server Password: [Blank]), but place a checkmark next to "Always connect to this server". Click the Ok button to connect. If everything worked correctly, it should say "Logged on".

Configuring Users:

Adding users is as simple as clicking on the Edit menu, and selecting Users. Under Users, you will see an Add button. Click it, type in a username, and click ok. You can enable a password by placing a check next to Password, and then typing a password.

Configuring Directory Access:

To set a users directory access, click on Shared Folders page, and select the user from the list that you want to edit. Under Shared Folders, click the Add button. Choose a directory you wish to assign to that user (example: C:\BigApache\Apache\htdocs\username\).

Configuring Privileges:

You can give certain users or groups certain levels of access. Simply select a user that you wish to assign privileges to, and place a check next to the privilege you want that user to have.

ACCESS TYPES:
  • READ means that user can read/open files.
  • WRITE means they can upload files.
  • DELETE means that user can delete files.
  • APPEND means users can append to uploads, and its also needed for resuming/pausing uploads if their client supports it.
  • CREATE means the user can create directories.
  • DELETE means the user can remove directories.
  • LIST means the user can get a listing of directories and files (this is required to avoid getting a 550 Error)
  • +SUBDIRS means the user can access subdirectories with the same priviledges that you made above.
Configuring Anonymous Account:
An anonymous account is required for many browsers (such as FireFox) to be able to access and display the contents of a directory (in much the same way HTTP does in browsers). First you need to create an account named "anonymous" (with no password). Second, you will need to give that user access to a directory (example: C:\BigApache\Apache\htdocs\). Third, you will need to give that user READ and LIST privileges. If you want to let the user navigate through subdirectories, also give the user +SUBDIR access. Once your finished, you can type ftp://yoursite.no-ip.com and you will be able to display, via FTP, the directory contents.
 
Last edited:
*** Please note that since I switched this guide to BigApache, most of these instructions will not work. I am in the process of updating everything now. ***


--PHP-Nuke--

PHP-Nuke is a web portal that makes delivering live web pages to the viewers extremely easy. If you have never been to a PHP-Nuke powered web site, just look around. Many review sites use Nuke, including many clans, and our very own folding team 32 site as well.

  1. Download PHP-Nuke from http://www.phpnuke.org/modules.php?name=Downloads
  2. Extract the PHP-Nuke zipped file into your C:\AppServ\www\ directory. Rename the "PHP-Nuke-x.x" folder to "phpnuke" (for the sake of making this guide easier).
  3. Navigate to your site's phpMyAdmin. If you are on your AppServ server, you can simply visit http://localhost/phpmyadmin/ in your favorite browser. If you have a ghetto secured phpmyadmin, you will need to input your username and password.
  4. Under "Create New Database" type in "nuke" and then click the "Create" button. This will create a new PHP-Nuke database where PHP-Nuke data will be stored.
  5. Now you should see a new page that says "Database phpnuke has been created." Click on the "SQL" tab below that.
  6. Under "Or Location of the textfile" is a text field followed by a button that says "Browse". You want to find the "nuke.sql" file that should be in the c:\AppServ\www\phpnuke\sql\ directory.
  7. Once you select the nuke.sql file, click the "go" button on the popup window to have that file uploaded automatically.
  8. Now you should see "Your SQL-query has been executed successfully", followed by all the code that the nuke.sql file contained.
  9. Exit phpMyAdmin.
  10. Delete everything except for the "html" folder in your phpnuke directory.
  11. Open the html folder, select all files, and cut (CTRL+X) all files.
  12. Navigate back to the phpnuke folder and paste (CTRL+V) the files that you cut.
  13. Delete the now empty html folder.
  14. Open the config.php file (located in your phpnuke folder) in WordPad. Scroll down until you see the username root. Change root to your database username, and password to your password. Save and exit WordPad.
  15. Visit http://localhost/phpnuke/ to visit your nuke portal. If you want PHP-Nuke to load when someone types in your no-ip address, you can just cut and paste the contents of the phpnuke folder into your c:\appserv\www\ folder.
  16. Follow the instructions on the nuke portal main page (setting up super user). If you need any help beyond this, visit phpnukes main page and search for your solution.




--phpBB2--

This is another open source project that developes free forums much like vB, only FREE and OPENSOURCE! Go here for a step by step instruction on how to install it. It involves creating databases in mySQL, but it's very simple if you just follow these instructions:

  1. Download latest final release of phpBB from http://www.phpbb.com/downloads.php. You want the "Full Package" in ZIP Format.
  2. Unpackage the zipped phpBB2 file into c:\AppServ\www\. You may want to rename this folder to just "phpbb2". This way, it will make it easier to remember the URL when you go to type it in later on.
  3. Navigate to your site's phpMyAdmin. If you are on your AppServ server, you can simply visit http://localhost/phpmyadmin/ in your favorite browser. If you have a ghetto secured phpmyadmin, you will need to input your username and password.
  4. Under "Create New Database" type in "phpbb2" and then click the "Create" button. This will create a new phpBB2 database where phpBB2 data will be stored.
  5. Click the "SQL" tab.
  6. Below "Run SQL query/queries on database phpbb2" will be a big textbox. Type in the following:

    grant all privileges on phpbb2.* to phpbb2@localhost identified by 'YOURPASSWORDHERE'
  7. Click the "go" button. If everything went well, you should see the "Your SQL-query has been executed successfully" on the top of the page. You can now close myPhpAdmin and all popups that go with it. YEY!
  8. Click or type in the following address to setup phpBB2: http://localhost/phpBB2/install/install.php
  9. Choose "MySQL 4.x" for Database Type.
  10. Database Name is "phpbb2" without quotes.
  11. Database Username is "phpbb2" without quotes.
  12. Database Password is whatever you typed in on step #6 for YOURPASSWORDHERE.
  13. Administrator Email Address is whatever address you use (the one you typed in during AppServ installation is fine).
  14. Administrator Username is whatever you want to be called on the forums (ex. diggingforgold).
  15. Administrator Password (and Confirm Password) is whatever you want your login password to be on the forums.
  16. Click the start install button. You should receive a message saying your admin username has been created. Click Finish installation.
  17. Be sure to delete both "contrib" and "install" directories. They are located in the "c:\AppServ\www\phpbb2\" directory.
  18. Your phpBB2 forums can now be accessed via http://localhost/phpbb2/ or through your no-ip link (ex. http://yoururl.no-ip.com/phpbb2/).



--BlogMod--

BLOG is a mut of the term "web log", hence blog. BlogMod is a Blog PHP 'hack' (if you will) that makes setting up the original PHP Blog much easier to deal with.

http://www.bloggingdoctor.com/index.php?blogid=7

Installing BlogMod
  1. Download blogmod from the site above. If you end up liking it, remember to visit the site later and give him a good hotscripts review.
  2. Unzip blogmod.zip.
  3. If you are on the server and are using appserv, navigate to "c:\appserv\www\" and create a new folder called "blogmod" without quotes.
  4. Cut and paste all of the blogmod files and folders from the "source" folder into your newly created "blogmod" directory.
  5. Navigate to your site's phpMyAdmin. If you are on your AppServ server, you can simply visit http://localhost/phpmyadmin/ in your favorite browser. If you have a ghetto secured phpmyadmin, you will need to input your username and password.
  6. Under "Create New Database" type in "blogmod" and then click the "Create" button. This will create a new blogmod database where blogmod entries will be stored.
  7. Now you should see a new page that says "Database blogmod has been created." Click on the "[Edit]" link just below that.
  8. A small new windows should popup. Click on the "Import Files" tab.
  9. Under "Location of the textfile" is a text field followed by a button that says "Browse". You want to find the "database.sql" file that should be in the following directory: "C:\AppServ\www\blogmod\misc\"
  10. Once you find the database.sql file, click the "go" button on the popup window to have that file uploaded automatically.
  11. Now you should see "Your SQL-query has been executed successfully", followed by all the code that the database.sql file contained. Click on the "SQL" tab.
  12. Below "Run SQL query/queries on database blogmod" will be a big textbox. Type in the following:

    grant all privileges on blogmod.* to blogmod@localhost identified by 'YOURPASSWORDHERE'

    Of course, you want to type your password instead of YOURPASSWORDHERE. But leave the two ' marks how they are. You will need to remember this password for editing the config.php file (discussed later in this guide).
  13. Click the "go" button. If everything went well, you should see the "Your SQL-query has been executed successfully" on the top of the page. You can now close myPhpAdmin and all popups that go with it. YEY!

Setting BlogMod Preferences

Well installation of BlogMod was the first step, but in order to get it to run, you need to setup some things. Setting up BlogMod only requires you to edit just a few PHP files. If you can follow the instructions without messing up, it should be a piece of cake.
  1. Open the following folder: "C:\AppServ\www\blogmod\lib\"
  2. Open config.php with wordpad or your favorite php editing application.
  3. Edit admin access constants. login_username will be your blog username (usually your first name for blogs is your username). login_password is the password for that username. Make it up. comment_password is optional. Leave it blank if you want anyone to be able to post comments, or fill in a password to only allow those with the password to be able to post comments.
  4. Edit database connection constants. db_server is going to be localhost. The db_name is going to be blogmod. The db_username will also be blogmod. And db_password is going to be the password that I told you not to forget (in step #12).
  5. Edit site configuration. This is very self explanitory (see the comments in the file for help here).
  6. Edit time configuration. If you are unsure what number you are, double click the time on the Windows task bar, and then click on the time zone tab. I live in GMT -05:00 (Eastern), so my number will be -5. My server is my main rig, and it is also in -5 zone, so for me, both pref_currenttimezone and pref_servertimezone will be equal to -5. If you are totally confused, set them equal to nothing ("").
  7. Edit other configurations. This is optional. I left them all at their defailt values. See the comments in the file to see what they all mean. They are all pretty nifty features to have.
  8. Edit blog behaviour constants. These can also be left as default, but if you want to fiddle around with these settings, you can read the comments to find out what they do. Pretty self explanitory. Here is mine as an example:
  9. Save the file and exit. Now look at your blog to see how it looks. You may notice that the profile on the right is not you. That's because it is the programmers personal info. You need to edit another file to change that stuff.

    Your blogmod link: http://localhost/blogmod/

Setting up BlogMod Profile and Links
  1. Open the following folder: "C:\AppServ\www\blogmod\lib\"
  2. Open html_user.php with wordpad or your favorite php editing application.
  3. Find and edit what you wish under "html_myprofile". This is where you can change the name, date of birth, status, occupation, interests, books, or even add more things if you would like. They are all added in a profile field in the upper right corner when you view your blog. I'm not going to get into details because I think even a newbie can replace someone elses name with his own.
  4. Find and edit what you wish under html_mylinks. This is just a nice list of links found below your profile and search field on the right hand side.
  5. Find and edit what you will under html_myblogs. This is basically a list of all your favorite blogs that you read once in a while. You can convert it into a list of whatever links, though, if thats what you want to do. Below is an example of mine. I plan to add more blog links later when I read other interesting people and ask their permission to link to their site.
  6. Other editing is optional, but these seem to be the most important of the bunch. Please remember that when you edit other peoples code, to keep the authors "credits" comments intact. This is a matter of courtesy, and sometimes legality when using another persons work.
  7. Save and exit. Now open your blog to see how it looks.

    Your blogmod link: http://localhost/blogmod/

Logging In and Posting Your Blog
  1. Open your browser. Visit your admin control panel. http://localhost/blogmod/index.php?selfview=1. Click login at the top, and login with the login info you typed in the PHP file we edited above.
  2. You should have the following options:
    Add Blog Entry :: Edit Current Entry :: Remove Current Entry :: Logout
    They are self explanitory. Take a moment to get used to the setup, and blog away!
  3. When refering people to your site, you want to use the following format/URL: http://yoururl.no-ip.com/blogmod/




--TimerShot--


TimerShot is a Microsoft PowerToy developed primarily for Windows XP. It's a simple program that takes snapshots from your webcam at designated intervals and allows you to save them to a location that you specify on your hard drive, or on a network location. We are going to use this application to save a webcam shot to our server. This image can then be included in your personal web site, or in your blogmod. It will update however often that person refreshes their browser. Simple, eh?
  1. Download the Webcam TimerShot PowerToy from Microsoft at the following site: http://www.microsoft.com/windowsxp/pro/downloads/powertoys.asp The link to the download is on the lower right corner of the page. The full descrition is in the bottom middle area of the page.
  2. Install TimerShot by doubleclicking.
  3. Open TimerShot, located in Start> Programs> PowerToys for Windows XP> TimerShot.
  4. Click the >> button to expand into advanced mode (if it is not already open).
  5. Choose the device you want to take a snapshot from under "Device".
  6. Choose the interval and picture size according to your preference.
  7. Specify a filename. Something without spaces or special characters is ideal for coding purposes. (Ex. digicampic.jpg).
  8. Under "Save In:", type in your server directory. (Ex. "C:\AppServ\www\" without quotes)
  9. Click Apply Settings.
  10. If you are posting this picture in a web page (or blog), then insert the HTML code that points to your picture.
This is ideal for things like "my webcam pic" on a personal web site, or threads like "Pictures (See our Members)" in the O/Community forum. It's also very easy to do since you have your own server! Have Fun!




--Class.Upload--


This script will create a very simple form to allow others to upload images (jpg, jpeg, gif, png) onto your server using PHP. You can also set maximum file size, maximum image size (pixels), etc...


  1. Download the script from the attachment at the bottom of this post.
  2. Extract the classupload.zip file into your root server directory- c:\appserv\www\
  3. Create another directory in your root server directory called "pictures". You can change this directory name and location later when you edit the index.php file.
  4. Open index.php with your favorite php editor (wordpad works nicely).
  5. Edit the variables to fit your needs. It's a very simple script to mess around with and edit to get your feet wet, and it's totally customizable to fit your needs. If you want to add HTML, you can generally do this before the <?php and/or after the ?>.
  6. Test out your upload by visiting http://localhost/classupload/index.php. If you mess up, just delete everything and restart from step 1.
  7. You can make this a secured service (only those with a password and username can access) by applying the same steps in "securing phpmyadmin" to this directory.

For tons of scripts, I suggest you visit http://hotscripts.com. Many are free/open source like this one, and it can be a sort of fun thing to get into.
 

Attachments

  • classupload.zip
    11.1 KB · Views: 668
Last edited:
--FAQ--

100MB+ is too large for me to download on dialup. Can you burn this to CD for me?

Sure. All I ask is that you cover the cost of the CD and a stamp. I can also include any of the freeware applications discussed here, as long as their license agreement does not prevent me from distributing it this way.


I can see my web page by visiting http://localhost, but I can't see it outside my network or by using my domain. What could be wrong?

There are many possible problems that can show this symptom. We will take them step by step below. After each step, check to see if it resolved your problem.
  1. Is your server running? To start up your server, click on Start > Programs > BigApache > Apache > Apache Start.
  2. Did you open port 80? Go to your firewall setup and open port 80, or if you have a router, go to router setup and forward port 80 to your server. Windows Firewall will also block port 80 by default, so either add port 80 as an exception, or disable Windows Firewall altogether.
  3. Try accessing your site using your external IP address. If this works, it is probably a problem with your domain (or no-ip). Remember that most domain name changes take several days to take effect. No-IP should work immediately if it is installed correctly.
  4. Is your ISP blocking port 80? Some ISP's block port 80 in an effort to stop users from setting up web servers. To change your broadcasting port, go to C:\BigApache\Apache\conf\httpd.conf (open in notepad). Now perform a search for the words "Port 80". Change the number 80 to 8989, or something similar that is available and that your ISP does not block. You will also have to open/forward this port on your firewall/router.


I put an index.htm (or other name) file in a directory, and when I try to visit that directory, it shows a default apache directory listing instead of the index.htm page. Why?

This probably is due to the fact that you need to include index.htm (or other name) to your httpd.conf file.
  1. Open C:\BigApache\Apache\conf\httpd.conf and do a search for the word DirectoryIndex.
  2. After that word, you will notice a list of various webpage filenames. These are the filenames that Apache will open automatically when someone visits a root directory. The items near the beginning of the list have a higher priority than those last. Add the word "index.htm" (or whatever other filename you want) to the list.
  3. Save the file, by selecting File > Save.
  4. Now restart Apache by clicking Start > Programs > BigApache > Apache > Server Restart.
Now check the directory again. Your filename that you wanted to load should work whenever someone visits that directory.


I'm getting some kind of sendmail error on phpBB2 or some other php script. What's wrong?

This error occurs when a php script attempts to send mail using your servers mail function. If you did not define a SMTP server in your php.ini file, and if you do not have a mail server installed locally, php can't send the mail, and you will get this error. Perform the following steps to fix this problem.
  1. Open your php.ini file in Notepad. The default location is C:\WINDOWS\php.ini.
  2. Perform a search for "Mail Function" (without quotes).
  3. If you have installed a working SMTP server, make SMTP to either localhost, or your internal IP address (example 192.168.0.100). If you do not have a working SMTP server installed, change your SMTP server to the SMTP server that your ISP gave you.
  4. Make sendmail_from your (admin) email address.
  5. Save the file and exit php.ini.
  6. Restart Apache by going to Start> Programs> BigApache > Apache > Apache Restart.


I'm trying to browse around my site or download a file using FTP on my browser, but I'm getting an unauthorized or "no anonymous access allowed (530)" error.

To fix this problem, you need to make an anonymous user account in FileZilla. Just make sure the priveledges are set to READ, LIST, and +SUBDIR.


Whenever I use an FTP client to access my server, I can successfully connect to the server, but I keep getting a 550 error.

This error comes because most FTP clients automatically request a file or directory list of the folder that you have access to. If LIST is disabled, the client will receive a 550 (not authorized) error. To fix this, you will need to allow LIST privileges for that user.


Is there a way to install all of this manually?

If for any reason you run into problems with BigApache, there is a guide that tells you what you need and how to install everything piece by piece. Here is the link. Thanks go out to G-PHoRCe for finding this.


What happened to the AppServ guide?

I decided to replace AppServ with BigApache, since it included more up-to-date pre-configured components. I am in the process of converting it from vB code to HTML, and I will post it as an HTML attachment just below this paragraph once it's finished. If you want the vB code backup of that guide (saved as a txt file), just PM me and I will send it to you.
 
Last edited:
Wow two minutes ago I thought to myself, maybe I will learn apache over spring break. Then when I searched for new threads this baby popped up. Coincidence? Maybe, but I think its fate.

thanks.
 
Thanks :D. I updated the view and switched around some stuff so it's easier to read. About the sticky- they have a lot of stickies in this room as it is, so it probably wont make it... but if it can be stickyized, I'm not objecting ;)

Every once in a while, when I learn something new about apache on windows that I think I can share with newbies like me, I will post it here.

If there are any newbies out there that have tried this guide and some of the services explained here, please post a followup and tell us what problems you ran into, and any fixes if possible. I want to make this as newbie friendly as possible, but so far, I only have my personal experiences to go by. Also- if you think anything can be better explained, please let me know!

Thanks!
 
Last edited:
Definite recommendation for STICKY!! This is great, I've been wanting to get into apache but didn't have the time to sit down and work through it (know networking, web stuff very iffy). This is a very good newb guide.
 
you could have not been anymore helpful for creating this guide. I mean i have been wanting to leanr and become familiar with web servers and such but i had no idea where to start, you have help out a huge amount by giving no excuse and a huge jump start, to get a server up.Thanks a millions
 
This seems to be mine as well as other users(mainly from phpbb.com) problem but i have not found a sound solution to the problem.

Failed sending email :: PHP ::

DEBUG MODE

Line : 234
File : c:\appserv\www\phpbb2\includes\emailer.php
i know this is becuase i dont have a email server up so my question is how to create my own email server so i can get email to
[email protected]. and also use this for my forums.
thanks
 
blackhabit said:
This seems to be mine as well as other users(mainly from phpbb.com) problem but i have not found a sound solution to the problem.

Failed sending email :: PHP ::

DEBUG MODE

Line : 234
File : c:\appserv\www\phpbb2\includes\emailer.php
i know this is becuase i dont have a email server up so my question is how to create my own email server so i can get email to
[email protected]. and also use this for my forums.
thanks


Yup, thats the dreaded sendmail error. You need an SMTP server to make it work, and good news is it doesnt have to be internal. The easiest thing to do is use the SMTP server that your ISP gives you (check your main ISP email settings, and whatever SMTP address it uses, use it on the php.ini file).

Check the --Sendmail Errors-- section of this guide for how to properly fix this problem... It's located at the bottom of my second post.

After you do this, go back to phpbb2 admin panel, and click on the configuration link. Then under mail settings, type in that same SMTP address for use with phpbb2. It should work perfectly without any more errors- as long as your ISP's SMTP server is running efficiently.

As far as SMTP servers on your own server- Once I figure out a good free one, I will post!

EDIT: I'm looking into this one right now - EDIT Free SMTP Server Sucks... Now looking into Mercury Mail by Pegasus. EDIT: Cant get Mercury to work either... You might have luck though...
 
Last edited:
Yep. You can go through a normal registrar. I will adding to this guide on how to setup a domain name with a dynamic IP once I have time and feel untired ;).

For my parents house for sale site, I used godaddy.com. Fairly cheap price...
 
Back