A friend and I were approached by the University to design and build a forum for hackers - something that is a fairly interesting task with strange requirements and constraints. We had the following criteria:
The forum must be secure to attacks - it will attract the type of people who would try and would be highly embarrassing for everybody involved.
The forum must run on phpBB - the person maintaining the software after our initial development is familiar with the code and it’s flaws.
The forum must have several type of groups with different scopes - it will be used for hacking challenges and the University hacking team (Netizens) alike.
The forum needs to look “hacker-ish” - a modern and relevant system seems more responsive to users irregardless of that being the truth.
Considerations
The following are the considerations we had whilst designing the forum software:
Security - The system must be secure against attacks and should employ all modern security methods to prevent attacks. Even with these considerations, one should also think about making sure that there is a plan after there is a breach also and how one would be detected.
Speed - We guess our user base to be no more than 500 users at any one point (peaking during a competition) and possibly no more than 50,000 users before a new system is implemented (possibly several years down the line). If we times these assumptions by a considerable larger number we believe we should be safe. One server should be ample power for the purpose of this system.
Style - We must also consider the style of the system after the functionality as our task is also to present the user with a nice user interface. Neither of us are particularly designers, but I believe we are more than capable of creating a hacker like style that people will enjoy using.
Tools
We have decided to use the following setup:
Debian - Simple and we both have experience with this operating system.
lighttpd - Originally looked at using nginx but it proved more effort than it was actually worth.
mysql - Was quick to get up and running and seems to be a well tested, feature complete database.