Your SlideShare is downloading. ×
Aegir
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×

Introducing the official SlideShare app

Stunning, full-screen experience for iPhone and Android

Text the download link to your phone

Standard text messaging rates apply

Aegir

420
views

Published on

Breakfast presentation about Aegir hosting system - by Thimo Thoeye

Breakfast presentation about Aegir hosting system - by Thimo Thoeye

Published in: Technology, Business

0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
420
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
12
Comments
0
Likes
1
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. thimo@puresign.be Aegir @tthoeye Pure Sign Breakfast Presentation 22/02/2012Thursday 23 February 2012
  • 2. Overview ‣ From 40,000 feet ‣ Interface ‣ Architecture ‣ Use Cases ‣ Extending Aegir ‣ ResourcesThursday 23 February 2012
  • 3. A View from 40,000 feetThursday 23 February 2012
  • 4. What is Aegir A View from 40,000 feetThursday 23 February 2012
  • 5. What is Aegir The Giant of the seas A View from 40,000 feetThursday 23 February 2012
  • 6. What is Aegir The Giant of the seas A Drupal that creates Drupals (drupalception) A View from 40,000 feetThursday 23 February 2012
  • 7. What is Aegir The Giant of the seas A Drupal that creates Drupals (drupalception) Mass create/migrate/duplicate/backup sites A View from 40,000 feetThursday 23 February 2012
  • 8. InterfaceThursday 23 February 2012
  • 9. Interface ‣ Content Types ‣ Servers ‣ Platforms ‣ Sites ‣ Tasks ‣ Install ‣ Migrate ‣ Clone ‣ Backup ‣ ...Thursday 23 February 2012
  • 10. Database Servers Database port/user/password Web Servers Require an Aegir user and shared ssh keys A restart command Create Your Own ... ServersThursday 23 February 2012
  • 11. Only a ‘Verify’ Task ServersThursday 23 February 2012
  • 12. Actual Drupal Installations Located in /var/aegir/platforms Can be built from a makefile PlatformsThursday 23 February 2012
  • 13. PlatformsThursday 23 February 2012
  • 14. SitesThursday 23 February 2012
  • 15. SitesThursday 23 February 2012
  • 16. ArchitectureThursday 23 February 2012
  • 17. Everything is a Node ArchitectureThursday 23 February 2012
  • 18. Everything is a Node Server / Platform / Site nodes ArchitectureThursday 23 February 2012
  • 19. Everything is a Node Server / Platform / Site nodes Correspond to a Drush alias @server_localhost @platform_colibreo @site.example.com ... ArchitectureThursday 23 February 2012
  • 20. Everything is a Node Server / Platform / Site nodes Correspond to a Drush alias @server_localhost @platform_colibreo @site.example.com ... Task nodes drush  hosting-­‐task  88 drush  hosting-­‐dispatch ArchitectureThursday 23 February 2012
  • 21. Everything is a Node Server / Platform / Site nodes Correspond to a Drush alias @server_localhost @platform_colibreo @site.example.com ... nid Task nodes drush  hosting-­‐task  88 drush  hosting-­‐dispatch ArchitectureThursday 23 February 2012
  • 22. Drupal 6 ArchitectureThursday 23 February 2012
  • 23. Drupal 6 Hostmaster Profile ArchitectureThursday 23 February 2012
  • 24. Drupal 6 Hostmaster Profile Eldir Theme Modules ArchitectureThursday 23 February 2012
  • 25. Drupal 6 Hostmaster Profile Eldir Theme Modules • hosting_dns • hosting_server • hosting_platform • hosting_site • hosting_client • hosting_task • hosting_migrate • ... ArchitectureThursday 23 February 2012
  • 26. Drupal 6 Drush Hostmaster Profile Eldir Theme Modules • hosting_dns • hosting_server • hosting_platform • hosting_site • hosting_client • hosting_task • hosting_migrate • ... ArchitectureThursday 23 February 2012
  • 27. Drupal 6 Drush Hostmaster Profile Provision Eldir Theme Modules • hosting_dns • hosting_server • hosting_platform • hosting_site • hosting_client • hosting_task • hosting_migrate • ... ArchitectureThursday 23 February 2012
  • 28. Drupal 6 Drush Hostmaster Profile Provision Eldir Theme DNS Modules Platform • hosting_dns • hosting_server • hosting_platform • hosting_site • hosting_client • hosting_task • hosting_migrate ... • ... ArchitectureThursday 23 February 2012
  • 29. Drupal 6 Drush Hostmaster Profile Provision Eldir Theme DNS Modules Platform • hosting_dns • migrate.provision.inc • hosting_server • delete.provision.inc • hosting_platform • verify.provision.inc • hosting_site • ... • hosting_client • hosting_task • hosting_migrate ... • ... ArchitectureThursday 23 February 2012
  • 30. Drupal 6 Drush Hostmaster Profile Provision Eldir Theme DNS Modules Platform • hosting_dns • migrate.provision.inc • hosting_server • delete.provision.inc • hosting_platform • verify.provision.inc • hosting_site • ... • hosting_client • hosting_task • hosting_migrate ... • ... ArchitectureThursday 23 February 2012
  • 31. Use CasesThursday 23 February 2012
  • 32. Use Cases ‣ Mass-update client sites ‣ Manage dev - staging - production ‣ Create a SaaS productThursday 23 February 2012
  • 33. Extending AegirThursday 23 February 2012
  • 34. Extend ‣ Sending extra information to drush ‣ Create new Tasks ‣ Use it for evilThursday 23 February 2012
  • 35. Sending information to drushThursday 23 February 2012
  • 36. Excellent article by mig5 http://community.aegirproject.org/node/75 Learn how to Create a hosting submodule Extend ‘Create Site’ form Send information to the backend Customize VirtualHost Configuration Sending information to drushThursday 23 February 2012
  • 37. Create Custom TasksThursday 23 February 2012
  • 38. Create Custom Tasks Define task for context (server/platform/site) function hook_hosting_tasks() { $options = array(); $options[site][clone] = array( title => t(Clone), description => t(Make a copy of a site.), weight => 5, dialog => TRUE, ); return $options; } Create Custom TasksThursday 23 February 2012
  • 39. Create Drush Command Task calls provision-task_name drush command function hook_drush_command() { $items[provision-clone] = array( description => Clone a site between platforms., arguments => array( @new_site => dt(The Drush alias of the new site... @platform_name => dt(The Drush alias of... examples => array( drush @site provision-clone @new_site @pla... ), bootstrap => DRUSH_BOOTSTRAP_DRUPAL_ROOT ); return $items; } Create Custom TasksThursday 23 February 2012
  • 40. Implement hooks Hook into hosting task execution (in task.drush.inc) drush_HOOK_hosting_task_validate drush_HOOK_pre_hosting_task drush_HOOK_hosting_task drush_HOOK_post_hosting_task Create Custom TasksThursday 23 February 2012
  • 41. Implement hooks Hook into provision (in task.provision.inc) drush_HOOK_pre_provision_TASK drush_HOOK_provision_TASK drush_HOOK_post_provision_TASK Create Custom TasksThursday 23 February 2012
  • 42. Use it for EvilThursday 23 February 2012
  • 43. Use it for Evil Defining new Content Types Use it for EvilThursday 23 February 2012
  • 44. Use it for Evil Defining new Content Types Use it for EvilThursday 23 February 2012
  • 45. Use it for Evil Define tasks on the new types Use it for EvilThursday 23 February 2012
  • 46. Use it for Evil Interact with existing types Use it for EvilThursday 23 February 2012
  • 47. Integrate custom software And let Aegir believe it’s Drupal Create drush alias Build custom ‘services’ e.g. To let Aegir write VirtualHost configuration for catalogs Use it for EvilThursday 23 February 2012
  • 48. ResourcesThursday 23 February 2012
  • 49. Resources community.aegirproject.org api.aegirproject.org drupal.org/project/hostmaster drupal.org/project/provision #aegir ... ResourcesThursday 23 February 2012
  • 50. Resources 2.x Roadmap Port the frontend to D7 From a hub-spoke to a mesh model Modularization Statistics improvements Full DNS Support ... ResourcesThursday 23 February 2012
  • 51. thimo@puresign.be @tthoeye Questions?Thursday 23 February 2012