PC-BSD Day 15: PAMP your website
One application that always finds its way to my desktop is Apache-MySQL-PHP in one of its incarnations. MAMP for Mac OSX, XAMPP for Windows XP and my portable USB drive and LAMP for my Ubuntu box. In the latter case -and on *BSD- it shouldn’t be necessary to work with an *AMP package. Installing the various component via the software repositories or packages is a matter of entering the proper commands. Making them work together is a completely different ballgame, one I haven’t had the time to master yet. Plus, I want to play and test with websites not with setting up a webserver. For PC-BSD I simply used PAMP, which is available as PBI package.
The PBI installer took care of everything and left me with a new entry under Internet. The PAMP submenu gives access to the start/stop functions. PAMP sets itself apart from XAMPP and MAMP by making a distinction between root and personal websites and folders. In this way it is simple to create personal websites on a local box for each of the users. Each user will find a /public_html folder in his/her own /home/user folder.
I want a local webserver to test out updates and upgrades for the various websites I maintain. My main Dutch website will be the portal for my upcoming book release. It is run by Joomla 1.0.x with a small collection of extensions. Each update of an extension or Joomla itself needs to be tested before I apply them on the life site. Besides, Joomla 1.5 is shaping up and I want to test that with the main site and three company sites I wish to migrate to Joomla. Then there is this weblog. WordPress is working towards a major upgrade with changes in the database. That will break some plugins and testing the upgrade locally is definitely a big â€œoh yes!â€.
Downloading the packages from the Joomla and WordPress websites straight to the /public_html folders was not allowed by default. It’s annoyance at first, but it does show that the simple PAMP install does come with some sensible security settings. And changing the access rights to the folder is easy enough. After that it was a matter of unpacking the packages (Konquerer and Ark are a nice couple here).
Via Internet -> PAMP I went to Open Personal Web Site. I unpacked each into it’s own folder with no index.html or index.php in the root, so I got a list of folders. Clicking on Joomla brought me straight to the installer. Both Joomla and WordPress require a mysql database. In order to create them I went to Open Web Site which provides a link to PHPMyAdmin. Of course, entering http://localhost/phpmyadmin does the trick as well. Like XAMPP and MAMP, PAMP has a default MySQL user root without a password. It saves the hassle of remembering a new password. The field Create new database is evident enough and two new databases were created.
The Joomla wizard is straightforward enough. I did forget to change the access right to the newly created joomla folder, as a result of which the installer could not write the new configuration.php itself. With Bluefish I created the new configuration.php file and after changing the access rights (remember, very unsafe but it’s for a non-public test setting only) that problem was fixed as well.
Wordpress requires you to alter the wp-config-sample.php file manually and add the proper database information. This is one of the reasons I always like to have Bluefish on my desktop. It integrates nicely with Konquerer and is very simple to use as a PHP editor. Finishing the installation of WordPress was a breeze after that.
Since I was on a roll I decided to add three additional CMS packages to my personal website: Mediawiki, eGroupware and SugarCRM. SugarCRM could be added and installed without a glitch. Mediawiki was more troublesome. It requires PHP5 to run properly (I used the most recent version of Mediawiki. There are older versions that can run with PHP4). The good thing is that PAMP comes with a PHP switch (under Internet -> PAMP -> Advanced -> Set PHP version). I stopped Apache, changed to PHP5 and restarted Apache. Nope, Mediawiki was still giving the same error message.
eGroupware became a real enigma. I could see the folder under /public_html, I could browse to the folder and the index.php file under Konquerer, but I couldn’t see the folder on my personal website. Checking and changing the access rights didn’t solve the problem yet and I am still looking.
Anyway, three out of five isn’t too bad and the two packages I really need to work with are no easily accessible on my PC-BSD box. The PAMP implementation of *AMP is one of the easiest and versatile I know and I like the way it is integrated in the menu. It’s very simple to navigate to your personal web folder, extract the packages you want to work with and then play with the CMS. One thing I couldn’t find yet -and which is available for XAMPP- is TomCat. There are some Java-based packages I want to test out in the near future. Feel free to offer suggestions about that. For today, playing time is over. There is work to be done.