Wednesday, July 20, 2016

I set up phpBB3 on Ubuntu Server

I agreed to put together a quick web forum for a group in which I participate, and I figured that phpBB3 would be a safe choice. Since PHP is (in my understanding) usually run on Linux platforms, I decided to try Ubuntu again, despite my previous problems with it. This time, though, I went with Ubuntu Server. I'll note that Ubuntu Server doesn't have a GUI (by default), so everything I did was from the command line.

Starting fresh, I grabbed the official Ubuntu Server 16 ISO from the official web site and put it in a Generation 1 Hyper-V machine with 512 MB of RAM. Setup went smoothly; the pseudo-GUI guided me through the whole process. It gave me a list of optional features to install, and since I was going to need a web stack, I chose to add LAMP. When the system came online, I updated all the things that wanted it. To set a static IP, I used nano to adjust some config file somewhere, and then I just rebooted. Nano is a very easy-to-use text editor, though I couldn't figure out how to select anything for copy/pasting.

Installing phpBB3 was as simple as sudo apt-get install phpbb3. It asked me for some configuration, I provided it, and it installed. I then deviated slightly from the instructions to make phpBB accessible from the root of my website rather than a subdirectory, and then everything went south. Neither the intended path nor the root path worked from a web browser, and browsing to things that should have been there produced permission errors. I did manage to bump into a phpBB component, but it threw an error about not having mysql_connect. I tried various things, but probably only broke it more.

So I uninstalled and reinstalled phpBB3. That might have been a little much, since I think I had only messed up its registration with Apache. I followed the instructions to the letter this time, but still got the MySQL error. Some Googling determined that the function it's trying to use is so deprecated as to be completely gone. I had to hunt down yet another textual configuration file and set the database provider to a more modern one. That worked, and I got to use a web browser to configure phpBB as I wanted.

When I tried to register a new user, though, I got a 500 server error. When I finally found a relevant log file with useful errors (which was difficult given my lack of Linux command line experience), I saw that there was a PHP syntax issue in the captcha module. Since I'll be manually approving new members anyway, I just disabled anti-spam features in the phpBB web controls, and that fixed the problem.

And with that, I had a working phpBB forum. (Well, I jumped through some hoops splitting a PFX certificate into CER and KEY and getting Apache to serve my site using it, a procedure which also happened to remove the extra subdirectory in web paths. Hooray!) All in all, I was moderately inconvenienced in that I had to finagle stuff to work around phpBB problems, but at least this episode of Linux adventuring ended well.

No comments:

Post a Comment