Panel-GZW - RMLL 2010
Transcription
Panel-GZW - RMLL 2010
« Rencontres Mondiales du Logiciel Libre 2010 » By Gaëtan Trellu – GoldZone Web Schedule 1. Introduction 2. Functions 3. Architecture 4. Project 5. Conclusion 2 Panel-GZW ? Web interface for managing web platform on Unix/Linux environment Open Source solution Very easy for system administrators and customers 3 Why this solution ? Actually, the existing solutions are not totally useful for our needs. Goals : • Simplify the management • The panel stay independant • Easier for the user 4 Compare some solutions Open source Free Easy Independant Panel-GZW Plesk VHCS ISP Config 5 Modulare Schedule 1. Introduction 2. Functions 3. Architecture 4. Project 5. Conclusion 6 Fonctions (1/2) Manage FTP users • Add, delete, rights, ... Manage cronjobs • Add, delete, edit Manage domains name • Subdomain, alias, MX, … Manage statistics • Visitors, pages, navigators, ... 7 Fonctions (2/2) Manage mails • Mailboxes, alias, ... Manage pre-installs • Blog, gallery, forum, CMS, … Manage databases • Users, databases, ... 8 Multi-languages and Panel-GZW ? Always with the functions purpose by the CakePHP framework, Panel-GZW can use many languages The lang files are available in « .po » format 9 Schedule 1. Introduction 2. Functions 3. Architecture 4. Project 5. Conclusion 10 Design pattern Panel-GZW WebApp SQL Flow Framework Database Daemon Script SQL Flow DBI connectors 11 Standards used PHP language CakePHP framework (MVC model) MySQL databases engine Perl language for the daemon 12 Fonctional environment Panel-GZW work in Unix/Linux environements (*BSD, Debian GNU/Linux, Red Hat, etc...) Non-Unix environments (Microsoft) need some adaptations (may be are you ok ?) 13 MVC, what does it mean ? Model | View | Contoller Model : Data description and database access View : Display on the screen (Humain Interface Machine) Controller : Chains of availables functions 14 Why CakePHP framwork ? Respect the MVC model Use relationship databases Can be connected with many databases engines (MySQL, PosgreSQL, Oracle, Sybase, ...) Huge community behind the project 15 Architecture Models Controllers Views Locales Database Composants Models Controllers Elements Views Locales Elements 16 Exemple d'infrastructure Web Mail DNS Databases Panel-GZW -----------------Daemon GZW FTP -----------------NFS 17 Why use a daemon ? Increase the security (never system command in PHP) execute Split the interactive part and the tasks part 18 How work the daemon ? The daemon is write in Perl language, he is connected with the database by a DBI connector The daemon will find the new events in « robot » table and then will execute the system tasks 19 Daemon architecture Database Database … … daemon daemon ... ... panel-gzwd.pl ./bin/ DBI connector ./lib/ ./templates/ Select events Edit events 20 Schedule 1. Introduction 2. Functions 3. Architecture 4. Project 5. Conclusion 21 Summary Main functions : • Web hosting • Intranet for smalls business, ... Architecture : • Modular • Standards technologies Environnements : • Unix • Linux 22 The Panel-GZW project (1/3) Lead developper : Gaëtan Trellu Development steps : • Fonctional model (February 2007 december 2007) • Architecture model (January 2008 december 2008) • Prototype (June 2009 – october 2009) • Version 1 (July 2010) 23 – – The Panel-GZW project (2/3) Humans ressources : • Concepter : Gaëtan Trellu • Coordinator : Gaëtan Trellu • Developpers : » Gaëtan Trellu » Nicolas Bourges • Testers : » Models : GoldZone Web » Prototypes : Semantys, Induct 24 The Panel-GZW project (3/3) Technicals ressources • Developpement environments : » PIII 1Ghz, 512Mo Ram » Bi-Xeon 3Ghz, 4Go Ram • Technicals environments : » Debian GNU/Linux Lenny, CentOS » Apache / PHP / Perl » MySQL » Firefox, Safari, Internet Explorer 25 The numbers (1/2) 6400 lignes de code Plus de 500 téléchargements depuis le mois d'octobre 2009 Développement du panel actif et évolue par palier Our solution is already present in some business 26 The numbers (2/2) Charge consommée : • Models : 100 days (60 + 40) • Prototype : 200 days (160 + 40) • Version 1 : 50 days Estimations (to do) : • Version 1 : 150 days (90 + 60) 27 Schedule 1. Introduction 2. Functions 3. Architecture 4. Project 5. Conclusion 28 Conclusion (1/2) The Panel-GZW is available under tarball Tarball content : • WebApp • SQL structure • « README.txt » file Wiki documentation is on line 29 Conclusion (2/2) Open source product Open to contributors : • Developpers (suggests, new modules, ...) • Compagny (exigences, ...) Need more testers (business, users, ...) 30 Thanks Nous remercions les sites pilotes ainsi que les contributeurs de nous avoir fait confiance. Contact : – Mail : [email protected] – Phone : +336 73 95 93 30 – Website : http://www.panel-gzw.com 31 32