Requirements
Hardware Requirements
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, an Apache web
server, an entry level server with 2Gig RAM and a 100 Megabit
network card. This would provide more than adequate performance.
A small 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 businesses.
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:
- Backups - the business should always configure its own backup in any event
- Hardware redundancy - ie failover spare servers, disks etc
- The safety and protection of the hosts hardware
- Backup power generation
- Backup connectivity options of the host ie more than one connection to the internet is preferable
Software Requirements
If the business elects to have their own on-site web-server there are many software bundles that will provide the necessary infrastructure of:
- PHP a versions later than 5.1
- MySQL version 4.3 or above - innodb transaction compliant tables are required
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:
- PHP
Any version greater than 5.1 will work. PHP works on all operating systems so webERP is
therefore operating system independent. If transfer of EDI orders is required the ftp extensions for PHP will be needed. If using translations the gettext extension for PHP is also required. The graphing functions also require the GD extension.
- MySQL-Max
with Innodb transactional tables support. Innodb was introduced in
2001 to MySQL and has Oracle like functionality – with similar
speed. MySQL later than version 4 has Innodb tables in by default. Since MySQL represents such good
value for money it has been used. An example configuration file my.cnf normally under /usr/local/mysql/var is available in the mysql documentation to show typical settings for the Innodb configuration.
The expected size of the data is useful although additional data files can be created retrospectively as necessary. Note that only the tables that require transaction support are defined as Innodb tables.
- A web server. Apache makes the most sense – but
most web servers are supported by PHP in various forms.
- If the web server is accessible over the Internet and not just over a LAN then encrypted communications are required. The openssl and mod-ssl modules for apache can be easily used to ensure all data is transmitted in
encrypted form.
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.
Using Apache with mod_ssl
and openssl
secure sockets makes sense where
there is any data transmitted over the Internet and not just over a
LAN.
Using webERP with a Wiki
Wikis are an unfortunate name for a marvellous business tool. They are a genre of software that allow user editing of a web-site. webERP 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. webERP 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:
- Credit control History
- Customer Service Inquiries Log
- Sales call Log
If an integrated wiki is enabled from
Setup->General->Configuration Settings
then select the wiki application to integrate with. webERP 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 webERP 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 webERP 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:
- "default_read_acl" => "*" - this setting determines who can read the page by default "*" means anyone can read change this to "?" for only registered users
- "default_comment_acl" => "*" - this determines who can comment on the page by default "*" allows anyone to comment on the page - change this to "?" for just registered users
- "allow_registration" => "1" - change this to "0" to ensure that unuathorised people need to contact the system administrator to register