Exotic Ideas..
Angad's Blog
About this blog
I am Angad Singh. I have served as the Sun Campus Ambassador of JIIT University, Noida (India) from August 2007 to July 2008 and as a Campus Ambassador Tech Lead from July 2008 to July 2009. This was my sun blog. Here I jotted down all my random scribblings, reports on all activities I conducted as CA at my university, my little projects, hacks, geeky stuff and new technology I came across, all the way to things I learnt in my exciting journey with Sun..
About Me
View Angad Singh's profile on LinkedIn
Technorati Authority
View blog authority
Subscribe
Search

10 Recent Entries
Archives
« November 2009
SunMonTueWedThuFriSat
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
     
       
Today
Links
My..
Blogs that interest me
 

Today's Page Hits: 706

Best Viewed in..

Mozilla Firefox

Locations of visitors to this page
« NetBeans Newsletter... | Main | Searching Source... »
Friday Jul 04, 2008
Belenix.net Website Overhauled!

Since the past 10 days I have been working on a new version of the Belenix website. The website has undergone a major overhaul in terms of looks as well as features. Moinak had announced about a new Belenix server coming up courtesy Al Hopper and the Genunix folks about a month ago, along with a call for some help with the Belenix website. I replied and asked I could help, mentioning that I have some programming / maintenance / hacking around experience with Drupal and cook up any kind of website using drupal's modules and have managed servers in the past (my new blog, the college youth club portal, the sun club website, the virtual installfest website, college library website, etc). I also suggested some ideas for overhauling the site. Soon I was welcomed by the team and Moinak made an account for me on the new server. There's a couple of reasons I had taken up interest in it. One being that I wanted to give back to the community somehow. I am (right now) not that much into OS development, so I saw contributing to the website as a great way to give back something. Secondly, the plus point was that the website was made upon Drupal, of which I am a die-hard fan. And thirdly, I found it a great opportunity to work on a production Solaris server and sharpen my server admin skills. I had been more or less a linux/windows server guy till now with the administration of college servers I was responsible for and was always looking for an opportunity to get hands on to a Solaris server. It paves way for learning all the Dtrace hacking of Drupal for performance increase, security, debugging, etc. It's great. I've always wanted to find a converged opportunity covering both Solaris and web development.

was is
Was Is

So it took about 6 days for the development and 4 days for the migration and deployment of the website on to the Solaris host. The initial discussions did only take place on a private mail discussion with me, Moinak, Ananth, Shiv, Pradhap, Sriram and Anil.

The website needed a new theme. It had the old-style fixed width theme with little pizazz and I aimed to replace it with a new fluid width theme which would utilize page space most efficiently, providing more blocks to plugin stuff and make it more of a community portal rather than just a website. The belenix-discuss mailing list did not have a web frontend (as opposed to the other opensolaris hosted mailing lists having Jive forums) and so I saw it as a good opportunity to Drupalize the mailing list with listhandler and mailhandler providing a neat mailing list to forum bridge. The power and utility of a web-based forum is far more than a mailing list in my opinion (thought that opinion may be countered by many open source folks). It easier to search for answers, subscribe on a per-forum or per-discussion thread basis, see pictures of members, have a member rating system for motivation, see their number of posts (thus showing their "weight" in the community), etc. Next in mind was to create a dynamic community driven version of the Fanspeak section, where members can contribute not only screenshots or videos but also tips, tricks and code samples. More on that later (read community scoopzone below). We could probably also do with a planetopensolaris and planetnetbeans style blog aggregator of the blogs of the Belenix team to start with and then start a system to induce more Belenix community blogs. More ideas like an event management system and login integration of the mailing list with the website popped up and I mentioned all of them. The agenda ofcourse was to first have a revamped look and feel, an overhaul of the site and launch important new features. We initially discussed this on email and I even met Moinak and Shiv at the BOSUG meet when the Crossbow talk took place.

Once I was ready with half the work done, I showed it to the Belenix team for review. They suggested discussing it in the open. I had initially thought of just launching the new website and announcing all the good news together in one go, but they were right, its an open community and even website development should be discussed in the open. So I posted the first status update a week ago. At the same time, I introduced my idea of having a "Community ScoopZone", a Slashdot just for the Belenix Community ;).

I came to know about Belenix an year ago when I was appointed as a Sun Campus Ambassador. I've known, learned, explored, used, evangelised/promoted Belenix as much as OpenSolaris since then. I'd say that it is the Sun CA program which is spreading a lot of awareness about Sun's opensource technologies amongst university students and getting them to go and participate in them. Moinak has indeed spearheaded the Belenix community very well and we are all proud of what he is and has done. I joined the BOSUG and Belenix community aliases once I started using OpenSolaris and Belenix, to connect with the community, get to know about the latest developments, to get some support, and to give some if I can. I always wanted to give back and the website is a good way to do that.

The pain came when I had to move the Drupal instance from my laptop to the solaris server. I relate my migration story here. It took time to migrate the website to the host. The website has been hanging around on the server for 2 days now (uploaded there on June 2nd 2008). I have had a lot of problems making it work on the server, and it really wasn't as easy as just moving my drupal instance to the server. There were a lot of "Drupal on Solaris" glitches to address and PHP and Apache configuration directives to tweak to make it work up there, except the usual gotchas involved with a website running on a UNIX system (though that wasn't new).

I had uploaded the website as well as imported the database and loaded up the frontpage only to see a blank white screen - what is ubiquotously called the "White Screen of Death" in webapp lingo. I checked the error_log file , found some weird PHP errors, asked help at Drupal.org (my thread). All necassary measure to be taken when migrating a drupal instance across hosts were taken (put site in maintenance mode, disable clean URL's, etc.). mod_rewrite wasn't enabled so I turned it on and also enabled local .htaccess support for drupal's .htaccess settings to work. I tried reading up drupal documentation and adjusting php.ini as well as httpd.conf settings (increased php's memory limit, enabled all errors and notice reporting, etc.). I ultimately found out from Scott Matton's Blog about "Drupal 6 on OpenSolaris", that my include_path wasn't having reference to a "." ! That is why php wasn't able to include *.inc files required by drupal core and thus the Fatal Errors for function calls. I could finally get the site working and posted the solution to my own thread at Drupal :)

Anyway, after that I set the file upload path, setup the crontab (and mistakenly deleted the old ones!), add a security directy to .htaccess to disallow the public to run /cron.php, setup httpd-ssl.conf and uploaded some incorrect keys.

There were 2 problems then: no IMAP support in PHP (which is required for the forum-mailing-list bridge to work), and SSL wasn't working (was blocking port 443 somehow). From there I called Moinak for help, as things could get messy if I myself tried to recompile PHP on a Solaris server to include IMAP support and I had no idea about SSL configuration (besides openssl config is lengthy and scary). He has somehow broken his head against httpd.conf and enabled port 443 and even got the SSL handshake and issue of certificate to the browser, although it still doesn't open and gives a Data Transfer Interrupted. He is working on IMAP for PHP as well.

For now, I have disabled secure logins, so you can very much login the normal way (meaning the functionality of the site is not at all affected, it was just an additional security measure). The forums section wont show mails from belenix-discuss yet either :)

Here's a round up of all the new features of the Belenix website:

With this system in place, one day we hope to see all users and fans of the Belenix Community on a map :)

Please visit the new website at www.belenix.net. Belenix.org still points to the old website currently, and the DNS settings will be updated soon.

There is new bug category called "website" at the Issue Tracker of the Belenix Development Sourceforge project.

The new website is up and running now. It's time for you to go out and explore the new stuff. Please report any problems, suggestions, feature-requests, etc at the sourceforge tracker or if you think it is important then on this belenix-discuss thread itself.

Register, mark your location on the map, start scooping, spread the word !

This might be useful for someone. Here are a few pages I found handy for debugging drupal:

Update (June 5th 2008): 
The Belenix Forum section provides a forum based frontend to the community mailing list of the Belenix Distribution. Posts and threads are sync'ed between the mailing list and this forum.

Here's how it works:

Once you register, you can create a new a forum topic. When you do so, it will get emailed to belenix-discuss@opensolaris.org. Even replies to forum topic will get emailed, thus creating threads at the mailing list. An hourly cronjob runs which fetches email from an IMAP email account subscribed to the belenix-disuss@opensolaris.org mailing list, so vice versa, when a new email is received at belenix-discuss mailing list, a forum topic or comment is created (depending upon the subject), with authorship of the the person "From" which the email has come. If the user doesn't exist on the website, it will automatically be created by Drupal. If that person tries to register at the website later, he will be told that a user already exists with that email address, so in that case he will have to "request new password" to access the account. mail@belenix.org is subscribed to belenix-discuss@opensolaris.org for mail retrieval and sending to create the bridge. All mails from the forum will have a From field like <user's email address> <mail@belenix.org>. This is an advantage-cum-necassity as this will allow a user who is registered at the website but not the mailing list (though you subscribe to the mailing list from the website too) to post to the list (as the mail will be sent from mail@belenix.org, which is subscribed). This is the best that can be done as we don't have direct access to the list's mailman admin interface. All attachments on the forum will appear as links to those files at the website in the emails and vice versa. The belenix-discuss signature will automatically be stripped off when the messages appear on the forum. "Re: , AW:,FWD:,fwd:,[belenix-discuss]" will be stripped from the topic as well.

Note that only mails posted as of the time of creation of the bridge, 06:00 PM (IST) July 5th 2007, will appear on the forum. To see any previous messages, you should go to the belenix-discuss mailing list archives.

IMAP is now working on the server and so is the Drupal mail system. The forum-mailing list bridge is fully functional.

Technorati Tags: ,,,,,,,

Posted at 06:30PM Jul 04, 2008 by Angad Singh in OpenSolaris  |  Comments[6]  |  del.icio.us digg slashdot technorati Stumble It! Share on Facebook furl reddit Share on Twitter    

Comments:

This is awesome dude

Posted by Tirthankar on July 04, 2008 at 11:00 PM IST #

My pleasure :)

Posted by Angad Singh on July 04, 2008 at 11:15 PM IST #

Great site, you've done a outstanding job. Congrats!

Posted by markscheck on July 05, 2008 at 10:20 AM IST #

Hi Angad,

Why don't you use coolstack ??
Coolstack comes with many php extensions like imap and dtrace.

Cool Stack Package Required, PHP Extension;
CSKphplibs, Curl, dba, gd, gettext, gmp, imap, odbc, tidy, pdo_odbc
CSKncurses,Ncurses
CSKtds, pdo_dblib, mssql

Cool Stack is a collection of some of the most commonly used open source applications optimized for the Sun Solaris OS platform. By using these binaries you will enjoy the best levels of performance from your system, while also reducing your time-to-service.

http://cooltools.sunsource.net/coolstack/
http://blogs.sun.com/shanti/entry/where_is_1_3
http://blogs.sun.com/shanti/entry/dtrace_support_for_php

Posted by phpknights on July 10, 2008 at 07:09 AM IST #

Most of the CoolStack Components are already in the SFW gate included as default part of SXCE like PHP5, Curl, ncurses etc, along with the Dtrace probes. However the Coolstack does deliver a newer version of Perl and includes imap which are not yet in SXCE but will be in going forward.

The compilation of these Components in the SFW gate are identical in most part to what is done in Coolstack except for the few missing pieces. So for our purposes the bundled Components in SXCE are enough for now.

Posted by Moinak Ghosh on July 11, 2008 at 11:10 PM IST #

For a server setup of a community portal like Belenix.org, we'd prefer a customized stripped down version of the webstack rather than the complete package :)

Posted by Angad Singh on July 12, 2008 at 04:12 AM IST #

Post a Comment:
  • HTML Syntax: NOT allowed
Creative Commons License

This work by Angad Singh is licensed under a Creative Commons Attribution-Noncommercial-Share Alike 3.0 Unported License.