Page Index Toggle Pages: 1
Topic Tools
Normal Topic installing YaBB on Windows, Apache and Perl. (Read 7,666 times)
Elfen
Full Member
***
Offline



Posts: 452
installing YaBB on Windows, Apache and Perl.
Sep 12th, 2012 at 8:05pm
Post Tools
Excuse the typoes. I was sleep typing again. But to those who profess on the belief of the users installing YaBB on WAMP, XAMPP or any other easy install, this is for you...

Bare with me, I have to install it in sections: Parts I & II

Installing YaBB on Windows, Apache and Perl.

I: Don’t say I did not warn you…

As I have always said in the past about YaBB, it is that its one of the more secure forums out there. Chances are low that you will have somebody trying to break into your forum and render it useless. Mind you, there have been YaBB forums broken into and hacked into tiny bits until they were useless, but it was not done through YaBB. What I am saying is the attack on the forum happened because the attack went through the weaknesses of the operating system: Windows. By this I mean: Windows 95/98, Windows Me, Windows 2000 (non-server/client version), Windows XP/XP Media Center, Windows Vista and Windows 7 are all not secure to be run as a webserver to provide content and services. These systems are easy to get into and any website running on them are vulnerable to attacks. Running YaBB on these systems, you are basically stripping away any protection YaBB has and leaving it naked for would be hackers to do as they please with it and take down your forum. If you are going to put together a webserver and put a forum on it, and you can only do it on Windows, do it on the Windows Server Edition version: Windows NT, Windows 2000 Server, Windows 2003 Server, Windows 2008 Server, and as far as I know Windows 2010 Server Edition.

Another warning I must give is Windows Internet Information Services (IIS) is not a secure Web Server Software. IIS has its place but its not serving live and always changing content that a forum would have. You can do things on IIS that cheats on its security, thus making it a weak and insecure system. If you want to use IIS, you will need to do a lot of work to it to give it some security, but such work is beyond the scope of this article. It’s easier to install Apache Webserver. But mind you, no version of Windows with IIS or Apache installed includes Perl. Perl has to be installed onto Windows before YaBB can be installed and used. We’ll discuss installing YaBB later.

One last warning is where you have your forum and server running. Having your server and forum running on a home DSL/Cable/FiOS network I would have to discourage. Running a server from home exposes your router and your other connected devices to intrusion and attack. They are also not fast enough to keep up with a traffic heavy site. Most tiny cable modem and connected routers can only handle a few connections at a time. Having you, your family and your TV running all at the same time limits what is left for the server to manage your forum members to access the forum with. I have seen and set up professional internet connections at people’s homes for their businesses, but the average joe out there can not afford $250 - $500 a month for such a professional line. $99 a month for TV/Phone and Internet is not worth the headaches when your server and forum is not able to serve content when there is no bandwidth to provide content on. In fact, in most internet systems like this – you make a phone call, you wont be able to be on the internet because voice services sucks up all the bandwidth such lines take.

Now, if you are really adamant about having a server at home and having a forum on it, I will discuss how it is done. Just don’t come crying to me when your site is hacked because you put it on a weak system or your forum members can’t connect because there is no bandwidth for your server and forum because your mom is talking to her sister – your auntie - long distance for the next 3 hours.

Lets say, You Have Been Warned.



II: Now, lets build that webserver.

As stated before on my YaBB Installation on Linux Article, you can use any PC that you have of find in the street to run a webserver. Anything that you can install Windows on, you can install the other programs to make it a webserver and run your forum on. A minimum system should have a hard drive with 10GB, a cheap video card (one built into on most mother boards is fine), a 500Mhz or better PIII CPU or AMD equivalent, and a case for it. Keyboard, Mouse and Monitor will also be nice since you will need it to set up all this software but wont once its up and running. Basically any machine you find in the trash or flea market today, desktop or laptop! I would recommend a laptop because it has all these things built in.

Though I recommend a minimum of 500Mhz Pentium III (or AMD equivalent), you can do this on a Pentium 100 system. Years ago, I built a server on a Dell Latitude P100 laptop running Windows 98. I still have it and run it in awe to see that it is still capable of doing this. But because of its speed and power, I can only have about 5 to 8 users connected to YaBB at the same time at any given time. This is not good by today’s standards, but in 1999 when YaBB started out and everyone was on a 486DX, Pentium or Pentium Pro processor, this was the best thing since sliced bread! But by today’s standards, you need something with a little more power and speed. A Pentium II at 250Mhz I would consider as a minimum system to build a worthwhile and workable server. But if you have the money to buy a brand new system, then fine. Just make sure that the system you get has at least one network port on it. A Celeron Processor of the same speed works just as well.

Once you have your PC (or laptop) all together, its time to install Windows on it. What version you install is on you but you have been warned about installing a weak system for a webserver and only install a Server Edition of Windows. But if you must install XP or anything after that, please do yourself the favor of installing the Pro, Business or Ultimate version of that Windows. If anything, they do give you some protection over the Home versions, which have little to no protection at all. When the system is installed, connect to Microsoft and other websites (like Adobe) and perform a software update. This will insure that your system will be up to date against all known system weaknesses open to those attacks.

Also install any software that you will need like text editors. NotePad and WordPad maybe nice put they are not powerful or have tools to look over configuration or Perl Program files. (Do not install your webserver at this point.) I prefer and recommend Text Wrangler, though you could choose something else. Do not install MicroSoft Office or video editing software! This is a webserver, not your personal machine to do homework, run your business, games or video projects on! At best, doing this will slow down your machine. At worst, your machine gets hacked into and you lose everything!
« Last Edit: Sep 13th, 2012 at 5:10pm by Elfen »  
Back to top
 
IP Logged
 
Elfen
Full Member
***
Offline



Posts: 452
Re: installing YaBB on Winows, Apache and Perl.
Reply #1 - Sep 12th, 2012 at 8:09pm
Post Tools
Installing YaBB on Windows, Apache and Perl. (Parts III & IV)

III: Perl

Perl is a computer programming language, which allows you to write programs to run on your computer. YaBB is a program and a series of modules written in Perl that will run on any system that has Perl on it.

Since Perl is an interpretive Computer Language, meaning that Perl sees the Perl code written in the program and converts each instruction one by one into machine code for the CPU to run, programs written in Perl can seem slow. But you would only know this if you known and seen the difference between Perl native code run against Perl Complied code. This difference can only be about .0572 of a second, imperceptible to you. The nice thing about Perl being an interpretive language is that is there is something wrong with the program, it will give you an error message and stop the program at that point. A compiled program with errors in it will crash and even damage files on a PC. Another plus with Perl is that you can modify the code as needed, which is done often on YaBB. With compiled programs, you cannot modify it and are stuck with its results. In fact being able to modify YaBB is one of its biggest plus.

But installing YaBB on Apache posses a problem: it does not have Perl. Perl has to be installed separately in order to use YaBB on Apache. Here you are lucky because you can install what version of Perl you want. Though there are many versions of Perl for Windows, for ease of installation, lovely upgrades and an access to a large repository of modules through CPAN and their own libraries, I recommend Indigo Perl. Strawberry Perl and Activestate Perl are other excellent choices to take for the same reason. There are closed versions of Perl that are not upgradeable or can’t access huge libraries of modules like CPAN. Those I do not recommend to the point where I do not write down their names. It is up to you to Caveat Emptor – Latin for “Let the Buyer Beware!” Though Perl is free in most cases, it is up to you to find that Perl that can work for you, have access to the libraries and can be upgraded. That is why I recommend IndigoPerl, Strawberry Perl and Activestate Perl.

So which to install first, Perl or Apache? Both can be installed at any time and at one’s choosing, but I prefer to install Perl first because Perl works on a system level and can be used with other things besides a webserver. After installing Perl, you can run a test program in the command window to see if it works. Typing “Perl –v” in the command window will tell you what version it is and also show that it is working. Once you have Perl running on your server, now you can install Apache.

Currently there are several versions of Perl: from Perl 5.8.6 to Perl 5.14. There are some versions floating around from 5.6 and 5.4. They all work with YaBB, though you should get 5.8.6 as a minimum version of Perl. Perl 5.8.6 is very stable and has been around for a few years. Perl 5.10 was recently released two years ago, and in its initial release there were some bugs but they were fixed by now in the later versions that are out.



IV: Apache Webserver.

Apache is the next thing to install. It’s an easy installation by downloading it from the apache website. I prefer to download it on another machine and then put a copy on a USB Stick or CD ROM for future and recovery use. In fact, you should have a copy of Windows, Perl and Apache backed up and saved away in case something happens to your system and need to rebuild it.

The Apache file you download will be the Windows 32bit Binary file, which will be in ‘.rar’ format. You will need a program like WinRAR to extract it. When you do, you will have an Apache Installer file in ‘.msi’ format.

Double clicking the Apache Installer icon will start the install process. This install process will ask a few simple questions. After those questions are answered, Apache will be installed. To test it, open up Internet Explorer and type ‘http://localhost’ . This will give you Apache test page. If you do not, that means that Apache is not running. You just have to double click its icon if it’s on the desktop or go through the StartMenu -> Programs -> Apache http Server 2.2 -> Monitor Apache Servers. The latter will bring up an Apache Monitor and tell you if Apache is running or not, if not then click on the Start buton to get it going. Then go back to Internet Explorer and try again. This time it should work.
  
Back to top
 
IP Logged
 
Elfen
Full Member
***
Offline



Posts: 452
Re: installing YaBB on Winows, Apache and Perl.
Reply #2 - Sep 12th, 2012 at 8:14pm
Post Tools
Installing YaBB on Windows, Apache and Perl. (Parts V & VI)

V: YaBB

Once you have Perl and Apache running, installing YaBB will take a few steps.

Download the latest version of YaBB and put it in ‘My Documents’ Folder on the Desktop. If you are using XP, Vista or Win7, Windows will be able to extract the folders and files from the YaBB.zip file (currently at this time it is: YaBB_2.5_AE.zip). Double clicking on it will extract the files in a folder labeled: YaBB_2.5_AE. Opening this folder will give you the files README.txt and VERSION.txt, and folders Quick-Guide, cgi-bin and public_html. It is these last two folders cgi-bin and public_html that has YaBB in them and you need to pay attention to them.

Double-click on public_html and it will open showing another folder: yabbfiles. Right-click on the yabbfiles folder and scroll down to COPY to copy the folder into memory for the time being.

Now open by double clicking the ‘My Computer’ icon and then the ‘Local Disk (C:)’. There you will see a list of folders for C:, double-click Program Files, then Apache Software Foundation, then Apache2.2. There you will see a folder named or labled ‘htdocs’ double click this folder and past the yabbfiles folder in there. When done, you have completed 30% of the process to install YaBB on Windows through Apache.

The next step is to go back to the YaBB folder where you copied the yabbfiles folder from, and double-click the cgi-bin folder. When the cgi-bin folder is open, there is a ‘yabb2’ folder in there. Right-click on the yabb2 folder and scroll down to COPY to copy the folder into memory for the time being.

Now go back to the Apache folder where the cgi-bin and htdocs folders are in. Double click the cgi-bin folder and paste the yabb2 folder in there. Once the copying is done, you are now 60% done installing YaBB on your Windows/Apache server. The next part is the hard part and is divided in two sections.

First, find where your Perl is. This is information is for your Shebang line. Since I’m using IndigoPerl-9.02, it is installed at C:\perl-5.10.0. From there look for the perl.exe file. This will complete your shebang line, in my case it is #!c:/perl-5.10.0/bin/perl.exe. Your version of Perl will be different but maybe similar too.

Once you have your shebang line, open with Wordpad the following files: AdminIndex.pl, FixFile.pl, Setup.pl and YaBB.pl. Highlight the top line which says ‘#!/usr/bin/perl -’ and paste your shebang line information in its place. Save each file when done. Now 80% of the work is done.

In browser, open page to localhost/cgi-bin/yabb/Setup.pl
When asked for password, type in ‘admin’

In setting the paths for YaBB, click the ‘Insert’ button for Absolute Path and then click on ‘Autofill the forms below’. Make sure that all entries have a full directory and full urls with your domain name in it on the right side. Finally at the bottom of the page, click on ‘Save Settings’.

Give it a while to process.

Note: if you get a blank page at this section, it means that your files and folders are not writable. You need to check your YaBB folders and file permissions and uncheck the ‘Read-only’ option, apply and OK. Refreshing the page should bring the section that did not loaded.

Also Note: if you do not have your domain name setup yet, you can use ‘localhost’ as a domain name (not localhost.com, localhost.org, localhost.net, just ‘localhost’). When you get your domain name and have the site online, you can change ‘localhost’ to your domain name in the forum’s administration panel under ‘Path Settings’.

Next page will show you the installed modules on both Perl and YaBB. If there are missing modules, you can always add them later through the Perl CPan Library. With the set up I have, these are the missing modules found:

Net::SMTP:TLS - used to send emails through SMTP:TLS, and not needed to run YaBB unless you want to send emails through Perl. You can use another email system like hMailServer to send emails for YaBB. You would need to configure that in the Adminstration Panel later on.

Compress:Bzip2 – used for the back up feature. Its does not effect the forum itself but as a forum administrator and owner, you will need to back up your forum, mainly the: Boards, Members, Messages, Modules, Sources Templates and Variables folders. You also need to back up the Paths.pl and YaBB.pl files.

Crypt:SSLeay – used for YaBB Spell Checker’s “GoogieSpell.” Without this module, it just means that your members must do their own spell checking. This does not effect the over forum.

After saving this page, the next page is System Set up. Fill in the options you have for your forum: Forum Name/Title, your email, domain name (if any at this time), etc.

The next page is ‘Checking System Files’ where the forum’s set up is checked. If there is an error or issues, you will be alerted to fix them and maybe hinted on how to fix them. In my installation, there were no issues to fix. Click on the ‘Continue’ button to do ‘Forum Settings’.

Next page will be the forum itself, saying that it is in Maintenance Mode, and asking you to log back in as the administrator. User = admin , Password = admin. Once logged in, you will see the forum as it is - blank. Click on the ‘Admin’ button on the button bar. At this point YaBB is running. You will need to go to the Admin Panel to make changes to the forum and get it out of Maintenance Mode. Also go to the ‘View/Delete Members’ page in the admin panel and give the admin user a new password!

Congratulations – It’s A YaBB Forum Done On Windows/Perl/Apache!

But it is a blank forum. All you have to do is make and shape the forum and its sections with the Forum Configurations and add forum sections and posts to get it stated. Put it online, make a few adjustments like adding the domain name in the administration panel, and tells your friends about it. Then watch it grow. All you have to do is administer it. As its owner, you can give administration and moderator rights to those you trust to help you run the site. At this point do a File Property on the YaBB files and the Admin, Modules, Sources, Help folders and set them to ‘Read-only’.

And that’s it.

IV: My Notes

This was done on a Compaq Presario 2700 running a Pentium III at 1Ghz with 256megs of RAM and a 30gb hard drive running Windows XP Professional with Service Pack 2. I originally tried to set up WAMP on it but it would not work no matter how many times I tried. I kept getting some sort of ‘kernal32.ddl’ error with WAMP. This was happening on any machine that I tried to install WAMP on. Maybe it is a bad release, bad download or something; I don’t know. I hope the WAMP developers read this so they can fix their software!

The time it took to install Perl and Apache on this system was faster than installing those all-in-one packages. The time it too to install YaBB here was the same as with the other all-in-one systems. This is because copying and pasting files is equal in time. But setting up YaBB through the Setup.pl file was a bit faster in this set up than in other systems. I’ll chalk this up because the all-in-one systems are running PHP and MySQL, which are not needed by YaBB and can slow down a webserver if it is not powerful or lacks in RAM. Nor is the simplicity of installing Perl and Apache any more difficult because these all-in-one programs (WAMP) require that you must install Perl separately with it. Programs like XAMPP and IndigoAMP installs Perl with Apache, PHP and MySQL. The Perl on these all-in-one systems may not be upgradeable, so Caveat Emptor – Buyer Beware. I personally know that Indigo Perl on IndigoAMP is upgradeable, as is their versions of Perl, so I can trust it.

Once Apache and Perl are running on the system, it was rather easy to install YaBB. Since I wrote the Linux and Mac OSX YaBB install files, I can say since they use Apache and Perl, their install procedures were similar and simple, if not the same.
  
Back to top
 
IP Logged
 
Elfen
Full Member
***
Offline



Posts: 452
Re: installing YaBB on Winows, Apache and Perl.
Reply #3 - Sep 12th, 2012 at 8:20pm
Post Tools
Problem:

I found that in order for most web server installers to install their program and the web server itself to work, it must be connected to a router, either wired or wirelessly; though not connected to the internet. It must think that is it connected to some sort of network.

Windows check to see if it is connected to a router in order to make an ethernet port to work and all ports openned. Without this, you can have issues in trying to make this work. I did, and this is the solution I found.

Note: This is not required for Linux, Unix or Mac OSX.
« Last Edit: Sep 12th, 2012 at 8:21pm by Elfen »  
Back to top
 
IP Logged
 
JonB
YaBB Administrator
YaBB Next Team
Operations Team
Beta Testers
Support Team
*****
Offline



Posts: 4,036
Location: Land of the Blazing Sun!

YaBB 2.6.1
Re: installing YaBB on Winows, Apache and Perl.
Reply #4 - Sep 13th, 2012 at 1:03am
Post Tools
These are not on-topic in support, they contain unvetted information and totally subjective opinions.

Therefore they belong in Area 51 - Non-support how-to's - Server-Side

Thanks for working on them and sharing.

Cool

« Last Edit: Sep 13th, 2012 at 1:11am by JonB »  

I find your lack of faith disturbing.
Back to top
IP Logged
 
Dandello
YaBB Administrator
YaBB Next Team
Operations Team
Beta Testers
Support Team
*****
Offline



Posts: 2,489
Location: Earth

YaBB 2.6.1
Re: installing YaBB on Winows, Apache and Perl.
Reply #5 - Sep 13th, 2012 at 1:27am
Post Tools
Elfen wrote on Sep 12th, 2012 at 8:20pm:
It must think that is it connected to some sort of network.


Um, yeah, that does make sense - Windows needs to know about localhost and 127.0.0.1 to run a httpd server and you need network capability for that as (in Windows logic) you need to be on a network to even have an IP address.

Also (from Tech-faq Quote:
The loopback construct gives a computer or device capable of networking the capability to validate or establish the IP stack on the machine.
  

If you only have one solution to a problem you're not trying hard enough!
Back to top
WWW  
IP Logged
 
Elfen
Full Member
***
Offline



Posts: 452
Re: installing YaBB on Winows, Apache and Perl.
Reply #6 - Sep 13th, 2012 at 5:09pm
Post Tools
JonB wrote on Sep 13th, 2012 at 1:03am:
These are not on-topic in support, they contain unvetted information and totally subjective opinions.

Therefore they belong in Area 51 - Non-support how-to's - Server-Side

Thanks for working on them and sharing.

Cool



Thank you for moving them.

I did these installs in a day on 4 different machines, and came up with the same problems (as listed) on all. Furthermore finding that some 'quick and easy installers' puts Apache and Perl as applications and not as services really urks me in that it totally dismisses the fact one needs a stable webserver and not something that was patched together with chicken wire and duct tape. In Windows you can kill in application, its harder to kill a service but its doable.

What I said about using user versions vs server versions of windows is true. One can put together a webserver with XP Home, but the OS is so weak on security, hackers will tear it down and render it useless. In fact this happened to a forum I was on that was alive for over 10 years. Because it was on Windows 2000 (non-server edition), some hackers came in through a Windows Com Port and basically formatted the drive on the spot! 10 years, 23 gigbytes of posts and files, 103,000 users - GONE! Back ups? The admin dared say "I kept them on the server!" So they are gone.

It is great that people can go out there and build online communities with software like YaBB, but if they are going to install it on a home machine, they should not cry if somebody who does not like them hack their creation to shreds. To be a Forum Owner and admin, one has to take precautions to make sure that any attempted attacks on the system does not go through. This might be too much for some though.

Dandello wrote on Sep 13th, 2012 at 1:27am:
Elfen wrote on Sep 12th, 2012 at 8:20pm:
It must think that is it connected to some sort of network.


Um, yeah, that does make sense - Windows needs to know about localhost and 127.0.0.1 to run a httpd server and you need network capability for that as (in Windows logic) you need to be on a network to even have an IP address.

Also (from Tech-faq Quote:
The loopback construct gives a computer or device capable of networking the capability to validate or establish the IP stack on the machine.


Windows is really a major headache when it comes to this. One three of the four machines 127.0.0.1 did not work either unless it was plugged into a router or another PC with a crossover cable. Why is this, I don't know. Even wirelessly it did not work unless it was connected also. In my mind, what should have taken minutes to do, took hours instead. And the nuts it, I know my stuff.
  
Back to top
 
IP Logged
 
Page Index Toggle Pages: 1
Topic Tools