Installing PHPbb3 on CrystalTech servers
2008-03-16 22:30 by Ian
I’ll take questions for software that we didn’t write, but I can’t say that my answer will be what the developer will tell you. PHP is wonderful in the sense that it doesn’t require a compilation. It’s my favorite scripting language by far, and it’s become much more powerful over the years as it’s received object support and additional libraries.
PHP as it is installed on our production servers tends to be quiet about its error reporting, only informing the browser of fatal errors. For maximum clarity when your PHP isn’t working, it is highly advisable to run your site in a local development environment. That way you can enable verbose debugging messages. Once you have those, PHP literally tells you what went wrong. An error should give you a file name and line number. And the entire API can be found here:
This one was a breeze. Maybe that’s why we don’t get many questions about it. It can take advantage of htaccess files* but it isn’t dependent on them. Any how-to or tweak guide that you may see that involves htaccess will not apply to our Windows environment.
Also, I would like to issue a warning about this particular PHP package. Some of the people that work here use PHPbb and are familiar with its resource usage and configuration. This is a great package for a forum, but if you anticipate a good deal of traffic or more than a few dozen users at a time, you should be aware that support will be forced to disable your domain if PHPbb starts draining the availible resources from the shared server. You can aliviate this risk somewhat by archiving posts sooner (thereby lessening the load on the DB as well as PHPbb’s peak memory/CPU usage). But any serious forum should probably be run on a dedicated server where it can be either tightly controlled, or allowed to consume the resources it needs.
1. Download phpBB. I used version 3, so my URLs and directory references will reflect that.
2. Unzip the zip file to your local computer and establish and FTP connection to your domain.
3. Upload the phpBB3 folder. In my case, I did what most of our customers choose to do and created a subfolder off of the root. My URL to phpBB is now…
4. I would strongly recommend (if you haven’t already) read the installation guide:
In that file, we find these system requirements:
>>A webserver or web hosting account running on any major Operating System with support for PHP
Yes, CrystalTech has PHP enabled on virtually all but the cheapest plans.
>>A SQL database system
We support these options. Databases can be created from the control center under the database admin section.
MySQL 3.23 or above. We offer MySQL5 on new plans. Some older plans still offer MySQL4. Either will do. If your plan only allows for MySQL5, and you have a MySQL4 DB (common if you are changing your plan), you will want to migrate your DB to MySQL5. Migration is easy, and covered later in this (very long) post.
PHPbb also supports MSSQL Server 2000 or above (directly or via ODBC). This only truely makes sense if you have an MSSQL DB already doing something else on the server.
I have previously covered some basic MySQL tools here:
>>PHP 4.4.1 or 5.2.5 depending on your plan. I have managed to have no problems installing this on either version of PHP. If you do, email me the error, and I will take a look at it for you.
>>getimagesize() function need to be enabled.
It is. We have the entire GD library enabled.
>>zlib Compression support
>>Remote FTP support
Check. This library is amazing, by the way.
We do not support this, but it is not required for phpBB to function.
You will need to set permissions for three directories:
Give the EVERYONE user READ / WRITE / DELETE (not EXECUTE**). If this isn’t done, phpBB won’t be able to write to the filesystem.
In the advanced settings, you can use mail.domain.com for your SMTP server. This assumes that you have your DNS setup to point to our mailservers. The mail address that is doing the sending must actually exist on the server, or mail will not send.
Other than the email settings, the defaults that the wizard selects should be fine. Finish the wizard and download the configuration file. Use your FTP program to upload the config file to the phpBB3 directory. You might have to delete the existing config file first.
Next, rename the phpBB3/install directory***. In the fashion of a safety interlock, phpBB will not run while this directory still exists. Notes on that later.
Then click the “Done” button to finish the wizard and start using phpBB3.
Some general notes on open-source software under IIS:
- htaccess files: These will be completely ignored by IIS. They are really nice to have around because under Apache they can provide extra directory-level security. But most apps that use them can get by without them.
If your app is absolutely dependent on htaccess for safe operation, you will need a dedicated server. I’m afraid there is no way around it.
- Why the WRITE / EXECUTE combo is a security risk:
If you have (as many of our customers do) a directory that you allow uploads for, you should ALWAYS disallow EXECUTE for all users. If you do not disallow execute, a hacker could potentially upload a script and then execute the file that he uploaded.
- Renaming install directories. Please don’t forget to do this. If some nefarious character finds your open-source app running, one of the first things he will do is try and access the default installation directory. For maximum security, this directory would be deleted completely after you are certain that you are done with it. But at the very least, you can use the IIS permissions tool in the control center to disallow anonymous access to the directory. This should be done for the “Admin” directory as well, as it will insulate you from any security oversights in the software package by forcing IIS to obtain a valid username and password to view anything in the directory.