EBox
From Wikipedia, the free encyclopedia
eBox Platform | |
(Part of the GNU/Linux family) | |
Screenshot | |
eBox Platform running on a PPC Linkstation |
|
Developer | |
Warp Networks | |
Web site: www.ebox-platform.com | |
Release information | |
Release date: | November 30, 2005 info |
Current version: | 0.8.99 (February 13, 2007) info |
Source model: | Open Source |
License: | GPL |
Kernel type: | Linux 2.6 |
Support status | |
Supported |
- The correct title of this article is eBox. The initial letter is shown capitalized due to technical restrictions.
- This article concerns the software framework. For the eBox automobile see AC Propulsion eBox
eBox Platform is an open source framework and distribution, based on the GNU/Linux operating system, intended to manage services in a computer network.
It offers a layer of abstraction and management, accessible through a simple web interface, and also a simplified development environment for new features or customization.
eBox is licensed under GPL and started as an open-source, collaborative project of two companies[1]. It also takes part on Morfeo Project[2]. On 16th November 2006 eBox was officially approved as a NEOTEC project, receiving public funds from the CDTI (a Spanish public organisation, under the Ministry of Industry, Commerce and Tourism) to complete the development of version 1.0[3].
Contents |
[edit] Overview
[edit] Features
eBox Platform features are:
- Open source
- Linux kernel
- Debian GNU/Linux operating system
- Free software based services
- User friendly
- Easy to use graphical frontend
- High level abstraction of networking and workgroup services
- Context aware help, warning and error reporting
- Internationalization and multilanguage support
- eBox Platform Live-CD
- Efficient management
- Integration
- Centralized configuration storage system, exporting and importing to XML format
- Transactional configuration changes
- Log registry incorporated
- Automation
- Continuous monitorization of services availability and autocorrection of failures
- Automatic backup
- Component based installation and update
- Integration
- Hardware independent
[edit] Services
- Networking
- High level objects
- Firewall and router
- Filtering
- Redirection
- Multi-gateway
- Email server
- Instant messaging
- Web Proxy
- Virtual Private Network (VPN)
- Services
- Workgroup
- Shared directory
- Shared authentication including Windows' primary domain controller
- Shared storage (NAS)
- Shared printers
[edit] Development
eBox Platform uses an open source model, with all the source code available for its users.
[edit] Design
eBox is a web application using Apache webserver as foundation and Mason components as building blocks, mainly written in object oriented Perl, with some Javascript for visual improvements.
Its design incorporates modern programming techniques as:[4]:
- Design patterns: an Observer design pattern is used mainly to integrate different modules across eBox Platform. E.g. each service reports about which ports it needs to be open. Besides this, a Singleton holds global configuration and behaviour details.
- Presentation and logic decoupling: user interface uses CSS and Ajax, and include several Mason components, as a generic table used to configure services. Program logic is held inside library packages and CGI-like code.
- Fault tolerance: errors and warnings are managed through software exceptions, flowing from core to its handling routine.
It also offers debugging facilities, integrating the layout of the execution stack of the Perl 5 interpreter.
Each service's process is monitored so if it dies, it is respawned automatically.
[edit] Open Source Components
eBox is built upon common Open Source components:
- Apache
- Webserver
- mod_perl
- CGI engine
- OpenLDAP
- Shared users and groups
- OpenSSL
- Cryptography
- Netfilter/iptables
- Firewall
- NAT
- Bind
- Domain name server
- Squid
- Web proxy-cache
- DansGuardian
- Content filtering
- Postfix
- Mail server
- Jabberd
- Instant Messaging
- Ntpd
- Clock and date synchronization
- OpenVPN
- Virtual Private Network
- Samba
- Shared storage
- Primary Domain Controller for Windows clients
- Common Unix Printing System (CUPS)
- Shared printers
- Advanced Packaging Tool (APT)
- Software installation and upgrade
The main programming language used is the Open Source Perl, on top of Mason engine.
Documentation uses Docbook-XML to generate HTML pages. API reference uses Natural Docs.
eBox Platform Live CD is built using Morphix. The whole distribution uses Debian and Debian Installer for non-live media.
[edit] Community
Main eBox community work and support takes place at eBox users' mailing lists, with an English speaking and a Spanish speaking one.
There is also a very active group of Linkstation users which succedeed in porting eBox to PowerPC[5].
[edit] Documentation
[edit] Users
- Installation guide: holds instructions about different installation methods like CD and Debian packages, and how to get source code and run eBox from scratch
- User's guide: aimed at software users, introduces some concepts and terminology, and explain different services and use cases
[edit] Developers
- Developer's guide: targeted at software developers and translators, it explains basic API, module backend, component interaction, web fronted and includes a small example about how to build a sample module from the ground up
- API reference: class and method's description and parameters
[edit] References
- ^ GestiĆ³n libre para las empresas. Retrieved on 2007-03-04.
- ^ eBox at Morfeo Project. Retrieved on 2007-03-04.
- ^ eBox as a NEOTEC project. Retrieved on 2007-03-09.
- ^ eBox developer's guide. Retrieved on 2007-03-04.
- ^ eBox on FreeLink-Debian. Retrieved on 2007-03-04.
[edit] See also
- Linux
- Debian
- Iptables
- Postfix
- Jabber
- OpenVPN
- Squid
- DansGuardian
- DHCP
- NTP
- OpenLDAP
- Samba
- Common Unix Printing System (CUPS)