There are many possible configurations that could run this application. The scale of the enterprise obviously will have a significant bearing on the final configuration.
Each client connection to the web server and database engine will also consume RAM so the more connections the larger the RAM requirement. Similarly disk space required is a function of the volume of customers, suppliers and transactions. Suffice it to say that due to the efficiency of the components of the system the demands on the hardware are exceptionally light by client server application standards.
As a guide, an installation for up to 50 simultaneous users could consist of the following: a Linux operating system, using nginx, lighthttpd, hiawatha or apache with even an entry level hardware server. This would provide more than adequate performance. A NAS or SAN with disk redundancy would be preferred in larger installations. With multiple servers with with SMP, load balancing, a separate database server, and large amounts of RAM the limit on database size and the number can be scaled to the most demanding enterprises.
In practise most businesses will elect to outsource the hardware to a web-hosting company where dedicated servers can be rented for minimal cost. When using the hosting facilities of a 3rd party it is important to consider the infrastructure that the host has in place:
If the business elects to have their own on-site web-server there are many software bundles that will provide the necessary infrastructure of:
The latest binaries can be downloaded separately for both by following the above links but in a windows environment the apache2triad bundle provides all the software required and comes with a convenient installer.
In a windows/linux/unix environment the XAMPP also provides all the software required and is easy to install.
Installing either of the above two server software bundles will provide all you need to get going. To get the latest and greatest revisions of the individual components you need:
The system could be used with many other database servers but it is tested and developed on MySQL. Independent benchmarks show that MySQL is one of the fastest for most common database tasks, particularly at establishing connections – since this is required for every page, MySQL is therefore ideally suited to the web environment.
Wikis are an unfortunate name for a marvellous business tool. They are a genre of software that allow user editing of a web-site. KwaMoja defines the names for wiki pages and provides a structure for the information held on the wiki - where users can add their experiences and information about customer, products and suppliers. KwaMoja links to a customer page - if the page does not exist then there is a prompt to create it - it is then up to the business how they implement the wiki into their business. Possible scenarios might be that the customer page contains links to:
If an integrated wiki is enabled from
Setup->General->Configuration Settings
then select the wiki application to integrate with. KwaMoja has links from the Selection menus for Items (SelectProduct.php), Customers (SelectCustomer.php) and Suppliers (SelectSupplier.php). Clicking on the link brings up the wiki if the page does not currently exist you will be able to create it - in future it will go directly to the page created.
The KwaMoja product link to the wiki might contain details about the development of the item, links to drawings, specification, warranty, instructions, competing products and competitor product details. Some thought about how the wiki is structured is required. The more this tool is used the more indispensible and value it will provide to the business as a single integrated business knowledge base.
The wacko wiki is very lightweight and imposes minimal additional overhead on a web-server and is possibly one of the most functional and flexible wikis available.
Simply install this on the same web server as your KwaMoja install and provide the path to the wiki in Setup->General->Configuration Settings.
You should make the wiki only visible to registered users - see the configuration pages of the wacko wiki - in particular the setting in config.inc.php for: