<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xml:base="http://groups.drupal.org" xmlns:dc="http://purl.org/dc/elements/1.1/">
<channel>
 <title>Hostmaster2</title>
 <link>http://groups.drupal.org/hm2</link>
 <description>A group to discuss the automated provisioning and maintenance of multisite installations of Drupal using the Hostmaster2 install toolkit</description>
 <language>en</language>
<item>
 <title>A guided tour through the hostmaster installation wizard</title>
 <link>http://groups.drupal.org/node/12775</link>
 <description>&lt;p&gt;I just spent some time documenting the new installation wizard for hostmaster 2, and annotating it on this &lt;a href=&quot;http://www.flickr.com/photos/vertice/sets/72157605844950092/&quot;&gt;hostmaster wizard photoset&lt;/a&gt; on flickr.&lt;/p&gt;
&lt;p&gt;Example screenshot :&lt;br /&gt;
&lt;img src=&quot;http://groups.drupal.org/files/wizard - 2 - account.png&quot; /&gt;&lt;/p&gt;
&lt;div class=&quot;og_rss_groups&quot;&gt;&lt;a href=&quot;/hm2&quot;&gt;Hostmaster2&lt;/a&gt;&lt;/div&gt;</description>
 <comments>http://groups.drupal.org/node/12775#comments</comments>
 <category domain="http://groups.drupal.org/taxonomy/term/2000">admin</category>
 <category domain="http://groups.drupal.org/taxonomy/term/5594">hostmaster</category>
 <category domain="http://groups.drupal.org/taxonomy/term/883">install</category>
 <category domain="http://groups.drupal.org/taxonomy/term/2138">server</category>
 <category domain="http://groups.drupal.org/taxonomy/term/878">setup</category>
 <group domain="http://groups.drupal.org/hm2">Hostmaster2</group>
 <pubDate>Fri, 27 Jun 2008 19:01:28 +0000</pubDate>
 <dc:creator>adrian</dc:creator>
 <guid isPermaLink="false">12775 at http://groups.drupal.org</guid>
</item>
<item>
 <title>New hostmaster feature : Queue Dispatcher</title>
 <link>http://groups.drupal.org/node/12769</link>
 <description>&lt;p&gt;I&#039;ve built a new API for use in hm2, which allows you to define queues that would like to get triggered. I&#039;ve built the api so that defining 2 functions hook_hosting_queues and then the queue handler, gives you an impressive amount of free process accounting, and also configurability. &lt;img src=&#039;http://groups.drupal.org/files/queues - 2 - queue admin.png&#039; /&gt;&lt;/p&gt;
&lt;p&gt;What the queue dispatcher does, is it keeps a list of queues, when last they were triggered (dispatched), how frequently they need&lt;br /&gt;
to dispatch, how long have they taken (are they hung?) and exactly what they are busy with. The primary example of a queue&lt;br /&gt;
is the task queue, which translates all changes on the front ends, down to the back ends.&lt;/p&gt;
&lt;p&gt;Additionally, the dispatcher supports two types of queues, your typical serial queue (process x items every y seconds), but also&lt;br /&gt;
the far more complex batching type of queue. Batch queues are like the cron queue. You need to ensure that all your sites are&lt;br /&gt;
cronned every hour for instance, but it is unfeasible to try and cron all your sites every hour at a certain time.&lt;/p&gt;
&lt;p&gt;What batching does, is it knows how many items it needs to process, and in what amount of time it needs to do so. It balances the amount&lt;br /&gt;
of items being processed in one instance, until the amount of items per instance become too great, then they add another instance.&lt;/p&gt;
&lt;p&gt;As an example, if you have 100 sites that need to be cronned in an hour, it will cron 20 sites every 10 minutes, but once the number of sites per cron reaches 100, it will add another instance, until it reaches it&#039;s maximum amount of instances per interval. At 1000 sites,&lt;br /&gt;
it will have grown to do 100 sites every 5 minutes, keeping the load even the whole time.&lt;/p&gt;
&lt;p&gt;This will allow you the flexibility of configuring how frequently sites are backed up, statistics gathered, system monitoring take place,&lt;br /&gt;
and the api handles configuration, error handling and all the rest.&lt;/p&gt;
&lt;p&gt;It could even be possible (though most php internals people i&#039;ve spoken to don&#039;t recommend it) to run the dispatcher as a daemon,&lt;br /&gt;
for times when you need quick turnover of tasks -&amp;gt; sites.&lt;/p&gt;
&lt;div class=&quot;og_rss_groups&quot;&gt;&lt;a href=&quot;/hm2&quot;&gt;Hostmaster2&lt;/a&gt;&lt;/div&gt;</description>
 <enclosure url="http://groups.drupal.org/files/queues - 2 - queue admin.png" length="35004" type="image/png" />
 <group domain="http://groups.drupal.org/hm2">Hostmaster2</group>
 <pubDate>Fri, 27 Jun 2008 16:28:54 +0000</pubDate>
 <dc:creator>adrian</dc:creator>
 <guid isPermaLink="false">12769 at http://groups.drupal.org</guid>
</item>
<item>
 <title>Hostmaster 2  0.1 alpha2 released.</title>
 <link>http://groups.drupal.org/hm2/hostmaster-5.x-0.1-alpha2</link>
 <description>&lt;p&gt;I&#039;ve just published the 0.1-alpha2 release of hm2, which features extensive changes from the first alpha release 3 weeks ago.&lt;br /&gt;
We are now nearly feature complete for the 0.1 release, but there&#039;s still a fair amount of loose ends to clean up.&lt;/p&gt;
&lt;h4&gt;Release announcements:&lt;/h4&gt;
&lt;p&gt;Hostmaster : &lt;a href=&quot;http://drupal.org/node/275709&quot; title=&quot;http://drupal.org/node/275709&quot;&gt;http://drupal.org/node/275709&lt;/a&gt;&lt;br /&gt;
Provision : &lt;a href=&quot;http://drupal.org/node/275710&quot; title=&quot;http://drupal.org/node/275710&quot;&gt;http://drupal.org/node/275710&lt;/a&gt;&lt;br /&gt;
Hosting : &lt;a href=&quot;http://drupal.org/node/275708&quot; title=&quot;http://drupal.org/node/275708&quot;&gt;http://drupal.org/node/275708&lt;/a&gt;&lt;/p&gt;
&lt;h4&gt;Single Download:&lt;/h4&gt;
&lt;p&gt;For your convenience, I have packaged up the profile and all it&#039;s dependencies which you can download here : &lt;a href=&#039;http://hm2.bryght.com/hm_complete-5.x-0.1-alpha2.tar.gz&#039;&gt;Hostmaster 0.1 alpha2&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Extract this tarball into your profiles directory, and create a new site (not in the default directory) using the profile.&lt;br /&gt;
Remember, you need your own server and a unix based os to run hm2, and this is not production ready, so please don&#039;t&lt;br /&gt;
use it for anything critical yet.&lt;/p&gt;
&lt;p&gt;This package includes the hosting and provision modules, as well as Drush 1.3, Cvs Deploy 1.1 and Views 1.6.&lt;/p&gt;
&lt;div class=&quot;og_rss_groups&quot;&gt;&lt;a href=&quot;/hm2&quot;&gt;Hostmaster2&lt;/a&gt;&lt;/div&gt;</description>
 <comments>http://groups.drupal.org/hm2/hostmaster-5.x-0.1-alpha2#comments</comments>
 <category domain="http://groups.drupal.org/taxonomy/term/5594">hostmaster</category>
 <category domain="http://groups.drupal.org/taxonomy/term/5595">provisioning</category>
 <category domain="http://groups.drupal.org/taxonomy/term/664">release</category>
 <group domain="http://groups.drupal.org/hm2">Hostmaster2</group>
 <pubDate>Fri, 27 Jun 2008 16:19:44 +0000</pubDate>
 <dc:creator>adrian</dc:creator>
 <guid isPermaLink="false">12768 at http://groups.drupal.org</guid>
</item>
<item>
 <title>Managing permissions on a shared Drupal hosting</title>
 <link>http://groups.drupal.org/node/12066</link>
 <description>&lt;p&gt;I thought a bit about how to fix the problems regarding shared drupal hosting in the HM2 paradigm. I think I have a good solution and would like to have feedback on it before it gets implemented in full in HM2. But first things first...&lt;/p&gt;
&lt;h1&gt;The problem(s)&lt;/h1&gt;
&lt;p&gt;The way web hosting traditionally work is that all files are readable by the webserver and are thrown on the wire when the web client requests it. That&#039;s all fine and dandy when you&#039;re &lt;a href=&quot;http://kernel.org/&quot;&gt;kernel.org&lt;/a&gt; and want your files out as much as possible, but when you start talking about Drupal, things get more complicated.&lt;/p&gt;
&lt;h2&gt;Read permissions&lt;/h2&gt;
&lt;p&gt;First, you don&#039;t want anyone to read your files. Not only the web client, but the other web applications shouldn&#039;t be able to read your (e.g.) &lt;code&gt;settings.php&lt;/code&gt; file because that would mean they have read/write access to your database, which bypasses any access control you might have put on your nice Drupal website.&lt;/p&gt;
&lt;p&gt;So basically, out of the box, LAMP hosting opens this can of worm&lt;/p&gt;
&lt;h2&gt;Write permissions&lt;/h2&gt;
&lt;p&gt;To support file uploads and other &quot;fancy&quot; things, the webserver needs to be able to write to some (and only some) parts of the filesystem. This is generally accomplished by allowing everyone (or just the webserver) write access to the files/ directory (wherever it is is mostly irrelevant here).&lt;/p&gt;
&lt;p&gt;This creates an issue similar as the read permission issue: every other website can write to your files now.&lt;/p&gt;
&lt;h1&gt;Known solutions&lt;/h1&gt;
&lt;p&gt;Every shared hosting platform out there has their solution. I&#039;ll try to go around a few I know of.&lt;/p&gt;
&lt;h2&gt;open_basedir&lt;/h2&gt;
&lt;p&gt;&lt;a href=&quot;http://ca.php.net/features.safe-mode#ini.open-basedir&quot;&gt;open_basedir&lt;/a&gt; is a PHP configuration setting that restricts access to certain parts of the filesystem only. The &quot;home directory&quot; of the &quot;user&quot; is usually the only place where the scripts should have access to. All PHP function calls are then restricted to that directory.&lt;/p&gt;
&lt;p&gt;The main issue with that approach is that it doesn&#039;t really work properly. Without safe_mode (see below), it&#039;s fairly trivial to workaround the basedir restrictions using &lt;code&gt;system()&lt;/code&gt; calls, for example. Also, this approach assumes that all potential PHP extensions (curl, imap, etc...) respect this functionality, which is very often not the case.&lt;/p&gt;
&lt;p&gt;This theorically resolves the read and write issues.&lt;/p&gt;
&lt;h2&gt;safe_mode&lt;/h2&gt;
&lt;p&gt;When safe_mode is on, PHP checks to see if the owner of the current script matches the owner of the file to be operated on by a file function or its directory. Some hosting providers set the gid or the uid of hosted files to keep seperate website to access each other&#039;s file. This can easily be worked around by using system calls, which is why safe_mode also comes with a safe_mode_exec_dir directive that restricts allowed executables to those in a directory.&lt;/p&gt;
&lt;p&gt;Safe_mode has similar issues has the open_basedir directive in that it is wildly misimplemented through the PHP codebase and extensions. Relying on it for security is considered bad practice and the extension will be removed in PHP6.&lt;/p&gt;
&lt;p&gt;This theorically resolves the read and write permission issues.&lt;/p&gt;
&lt;h2&gt;environment variables&lt;/h2&gt;
&lt;p&gt;In a controled environment like HM, it&#039;s possible to set environment variables from the Apache configuration that is read as root by apache and can therefore be hidden from the www-data user. Those variables are then read by a modified settings.php to setup the database connection.&lt;/p&gt;
&lt;p&gt;That resolves the read issue, but not the write issue.&lt;/p&gt;
&lt;h2&gt;suexecphp or &quot;real UNIX permissions&quot;&lt;/h2&gt;
&lt;p&gt;This is, I hope, the &quot;proper&quot; solution to the problem. This implies using Apache&#039;s &lt;a href=&quot;http://httpd.apache.org/docs/2.0/suexec.html&quot;&gt;suexec support&lt;/a&gt; in conjunction with PHP&#039;s CGI mode (optionnally running with &lt;a href=&quot;http://www.fastcgi.com/&quot;&gt;FastCGI&lt;/a&gt; for &lt;a href=&quot;http://buytaert.net/drupal-webserver-configurations-compared&quot;&gt;better performance&lt;/a&gt;) to make the webserver run as a &quot;real user&quot;.&lt;/p&gt;
&lt;p&gt;This is how I think it should be implemented:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;each site has a &quot;user&quot; assigned to it (say &quot;userA&quot;)&lt;/li&gt;
&lt;li&gt;each hostmaster &quot;client&quot; is actually a &quot;group&quot;  (say &quot;groupA&quot;)&lt;/li&gt;
&lt;li&gt;the PHP environment runs in a userA:groupA environment (as opposed to www-data:www-data)&lt;/li&gt;
&lt;li&gt;the settings.php file is mode 600 (read/write only by the user: that takes care of the read problem)&lt;/li&gt;
&lt;li&gt;uploaded files can be similarly protected from writes&lt;/li&gt;
&lt;li&gt;the rest of the files in Drupal are owned by the hostmaster user and group, unless we want to give access to themes and modules to the &quot;user&quot;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;I think this reliably resolves all of the issues documented here, at the cost of some issues:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;performance cost: FastCGI is slower than mod_php, especially if it needs to have seperate users for seperate domains&lt;/li&gt;
&lt;li&gt;additionnal complications in the Apache setup: a configuration file needs to be created for each virtual domain (which we already do anyways, but some hosting platforms don&#039;t need that)&lt;/li&gt;
&lt;li&gt;a file manager gets hard to implement in an eventual control panel (that would run as the hostmaster user). The only solution I could find here was to use some web2FTP gateway: the file browser just becomes an FTP client. Note that in the context of the &quot;general shared hosting solution&quot;, the files could be owned by a user that would be the same username as the group and would therefore be a different user than the apache user, enhancing security...&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Note that this approach also has advantages from a generic shared hosting point of view. &quot;users&quot; have various privileges: FTP access, SSH access, Drupal site, email, all in a central database with ACLs to control which user has which accesses. &quot;groups&quot; become the &quot;control panel user&quot;: the group itself is the login/password to the control panel and can create users, only within its own group of course.&lt;/p&gt;
&lt;p&gt;Note finally that &quot;suexec&quot; is just one way to make sure that Apache runs as the proper user. There are other ways, namely &lt;a href=&quot;http://mpm-itk.sesse.net/&quot;&gt;mpm-itk&lt;/a&gt; which allows the use of mod_php...&lt;/p&gt;
&lt;p&gt;It&#039;s a bit rough for now, but you probably get the idea. I&#039;m interested in getting comments, feedbacks, flames, similar experiences, edit this page!&lt;/p&gt;
&lt;h1&gt;Comments? Questions?&lt;/h1&gt;
&lt;div class=&quot;og_rss_groups&quot;&gt;&lt;a href=&quot;/hm2&quot;&gt;Hostmaster2&lt;/a&gt;&lt;/div&gt;</description>
 <group domain="http://groups.drupal.org/hm2">Hostmaster2</group>
 <pubDate>Fri, 06 Jun 2008 19:12:47 +0000</pubDate>
 <dc:creator>anarcat@drupal.org</dc:creator>
 <guid isPermaLink="false">12066 at http://groups.drupal.org</guid>
</item>
<item>
 <title>Ubercart -- HostMaster2 integration notes</title>
 <link>http://groups.drupal.org/node/12062</link>
 <description>&lt;p&gt;This will be the page to describe potential ways of integrating ubercart for HostMaster2&#039;s billing/sales system.  I&#039;ll update this page with my thoughts as I experiment.&lt;/p&gt;
&lt;p&gt;Eclipse&lt;/p&gt;
&lt;div class=&quot;og_rss_groups&quot;&gt;&lt;a href=&quot;/hm2&quot;&gt;Hostmaster2&lt;/a&gt;&lt;/div&gt;</description>
 <group domain="http://groups.drupal.org/hm2">Hostmaster2</group>
 <pubDate>Fri, 06 Jun 2008 17:38:58 +0000</pubDate>
 <dc:creator>EclipseGc@drupal.org</dc:creator>
 <guid isPermaLink="false">12062 at http://groups.drupal.org</guid>
</item>
<item>
 <title>HostMaster Easy One Page Install</title>
 <link>http://groups.drupal.org/node/12059</link>
 <description>&lt;p&gt;Please share your steps on installing and setting up HostMaster and related dependencies (Apache, MySQL, cron, etc.).&lt;/p&gt;
&lt;h1&gt;Dedicated Server&lt;/h1&gt;
&lt;p&gt;TODO&lt;/p&gt;
&lt;h1&gt;On your Mac Laptop&lt;/h1&gt;
&lt;p&gt;For download, feel free to substitute CVS checkout&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Download Drupal 5 into your root web server docroot (e.g. &lt;code&gt;/Library/WebServer/Documents&lt;/code&gt;)&lt;/li&gt;
&lt;li&gt;Download the hostmaster install profile into the profiles folder, so that it is at /profiles/hostmaster&lt;/li&gt;
&lt;li&gt;Download required modules: views, drush, ...&lt;/li&gt;
&lt;li&gt;Create a new directory in the /sites folder with a name equivalent to your local machine -- this can be either 127.0.0.1, localhost, or your machine name (in my case,  &lt;code&gt;sleipnir.local&lt;/code&gt;) -- and copy over the settings.php file; NOTE: currently, the main hostmaster site can&#039;t be run out of the &quot;default&quot; folder&lt;/li&gt;
&lt;li&gt;Navigate to the new site created in the last step by going to it in your local web browser -- e.g. &lt;a href=&quot;http://sleipnir.local&quot; title=&quot;http://sleipnir.local&quot;&gt;http://sleipnir.local&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;You should now see the profile selection install screen -- select the Hostmaster option and install&lt;/li&gt;
&lt;li&gt;Once installed, run through the wizard&lt;/li&gt;
&lt;li&gt;The only snag you should hit is when it asks you what user/group to use for running the system; the default should show your currently logged in username (e.g. &#039;bmann&#039;), and the help instructions explain how to use vigr to add that user to a group. This does not work on Mac OS X. &lt;a href=&quot;http://osxdaily.com/2007/10/29/how-to-add-a-user-from-the-os-x-command-line-works-with-leopard/&quot;&gt;This page explains dscl&lt;/a&gt;, which is what is used on OS X. On Leopard, you&#039;ll need to run the following command: &lt;code&gt;sudo dscl . -append /Groups/_www GroupMembership bmann&lt;/code&gt; Alternately, you can also follow instructions on that page to ccreate a brand new &#039;hm&#039; user and add that user to the &#039;_www&#039; group.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Additional notes&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;I ended up using our Bryght Basic Drupal 5 SVN checkout for my D5 base install -- since we backported watchdog you&#039;ll need to edit the hostmaster.profile to comment out watchdog as a required module&lt;/li&gt;
&lt;/ul&gt;
&lt;div class=&quot;og_rss_groups&quot;&gt;&lt;a href=&quot;/hm2&quot;&gt;Hostmaster2&lt;/a&gt;&lt;/div&gt;</description>
 <group domain="http://groups.drupal.org/hm2">Hostmaster2</group>
 <pubDate>Fri, 06 Jun 2008 16:51:53 +0000</pubDate>
 <dc:creator>Boris Mann</dc:creator>
 <guid isPermaLink="false">12059 at http://groups.drupal.org</guid>
</item>
<item>
 <title>Hostmaster Roadmap</title>
 <link>http://groups.drupal.org/hm2/roadmap</link>
 <description>&lt;p&gt;This is a brief outline of development plans for HM2 over the next few weeks.  Planning at the weekly level will happen in the #hm2 room for irc.freenode.net, Fridays at 9:00AM PDT.&lt;/p&gt;
&lt;p&gt;Now that the first release is out, we will be revving pretty rapidly to get the bug fixes in, and to make this more usable.&lt;/p&gt;
&lt;h2&gt;0.1 - Single platform&lt;/h2&gt;
&lt;p&gt;Solid release for Drupal 5 platform.&lt;br /&gt;
Will not be able to upgrade.&lt;br /&gt;
Production ready.&lt;/p&gt;
&lt;h2&gt;0.2 - Multiple platforms&lt;/h2&gt;
&lt;p&gt;Support for more than one Drupal release.&lt;br /&gt;
Initially just 5.x to 5.x upgrades, but after this release, we will be working on porting provision&lt;br /&gt;
to D6, which will allow major version upgrades. (as part of the 0.2 release).&lt;/p&gt;
&lt;h2&gt;0.3 - Multiple servers&lt;/h2&gt;
&lt;p&gt;Support ssh as communication channel between multiple servers.&lt;br /&gt;
Move sites between servers, and support for multiple db servers&lt;br /&gt;
and moving between them.&lt;/p&gt;
&lt;h2&gt;0.4 - User interface improvements&lt;/h2&gt;
&lt;p&gt;Clean up and make user interface friendlier.&lt;/p&gt;
&lt;h2&gt;0.5 - Drupal 6 release of front end. [tentative]&lt;/h2&gt;
&lt;p&gt;Port hosting to drupal 6, and implement complete views support.&lt;/p&gt;
&lt;p&gt;As hosting is based on D5 atm, we have only implemented the&lt;br /&gt;
bare minimum of fields we need to create our default views.&lt;/p&gt;
&lt;p&gt;Re-doing this for views2 would not be effective use of our time,&lt;br /&gt;
so we&#039;re waiting for a d6 port before fully supporting views.&lt;/p&gt;
&lt;h2&gt;1.0 - Frozen API.&lt;/h2&gt;
&lt;p&gt;A &lt;a href=&quot;http://drupal.org/node/270263&quot;&gt;stable&lt;/a&gt;, &lt;a href=&quot;http://drupal.org/node/270261&quot;&gt;published API&lt;/a&gt; for Hostmaster modules that will be frozen during the whole lifetime of the 1.0 branch&lt;/p&gt;
&lt;h1&gt;From there on...&lt;/h1&gt;
&lt;h2&gt;Extension modules&lt;/h2&gt;
&lt;p&gt;There is also a host (pun intended) of provisioning tasks that it would be nice to see created:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;LDAP (open LDAP)&lt;/li&gt;
&lt;li&gt;Solr Search (Tomcat)&lt;/li&gt;
&lt;li&gt;Jabber (ejabberd)&lt;/li&gt;
&lt;li&gt;DNS (Bind -- Best done as hooks to bind Module?)&lt;/li&gt;
&lt;li&gt;Pound (load balancer)&lt;/li&gt;
&lt;li&gt;Email (Zimbra)&lt;/li&gt;
&lt;li&gt;An RDF triple store (needs more research)&lt;/li&gt;
&lt;li&gt;Asterisk (voicemail, proxy)&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Mass site operation modules&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Search (could be related to Solr)&lt;/li&gt;
&lt;li&gt;Statistics (info on nodes/comments/users etc. across all / many sites)&lt;/li&gt;
&lt;li&gt;Logging (centralized logging overview, might just be web interface for syslog)&lt;/li&gt;
&lt;li&gt;Spam / Comment moderation (we had some discussion about writing a Mollom module that works across sites)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Feel free to ping us if you are interested in pitching in to work on one or more aspects of HM2.&lt;/p&gt;
&lt;p&gt;Note that some actions were isolated &lt;a href=&quot;http://groups.drupal.org/node/11948#comment-39202&quot;&gt;in the last meeting&lt;/a&gt;.&lt;/p&gt;
&lt;div class=&quot;og_rss_groups&quot;&gt;&lt;a href=&quot;/hm2&quot;&gt;Hostmaster2&lt;/a&gt;&lt;/div&gt;</description>
 <group domain="http://groups.drupal.org/hm2">Hostmaster2</group>
 <pubDate>Fri, 06 Jun 2008 10:55:39 +0000</pubDate>
 <dc:creator>puregin</dc:creator>
 <guid isPermaLink="false">12050 at http://groups.drupal.org</guid>
</item>
<item>
 <title>Weekly hostmaster2 development meeting</title>
 <link>http://groups.drupal.org/node/11948</link>
 <description>&lt;p&gt;We have a weekly development meeting on #hm2 on irc.freenode.net, to discuss development, and make our weekly release.&lt;/p&gt;
&lt;p&gt;If you are interested in hostmaster 2, please join us.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://www.timeanddate.com/worldclock/meetingdetails.html?year=2008&amp;amp;month=6&amp;amp;day=6&amp;amp;hour=16&amp;amp;min=0&amp;amp;sec=0&amp;amp;p1=165&amp;amp;p2=256&amp;amp;p3=111&amp;amp;p4=184&quot; title=&quot;http://www.timeanddate.com/worldclock/meetingdetails.html?year=2008&amp;amp;month=6&amp;amp;day=6&amp;amp;hour=16&amp;amp;min=0&amp;amp;sec=0&amp;amp;p1=165&amp;amp;p2=256&amp;amp;p3=111&amp;amp;p4=184&quot;&gt;http://www.timeanddate.com/worldclock/meetingdetails.html?year=2008&amp;amp;mont...&lt;/a&gt;&lt;/p&gt;
&lt;div class=&quot;og_rss_groups&quot;&gt;&lt;a href=&quot;/hm2&quot;&gt;Hostmaster2&lt;/a&gt;&lt;/div&gt;</description>
 <comments>http://groups.drupal.org/node/11948#comments</comments>
 <group domain="http://groups.drupal.org/hm2">Hostmaster2</group>
 <pubDate>Mon, 02 Jun 2008 19:48:56 +0000</pubDate>
 <dc:creator>adrian</dc:creator>
 <guid isPermaLink="false">11948 at http://groups.drupal.org</guid>
</item>
<item>
 <title>Hostmaster 2 now tracks packages installed on system</title>
 <link>http://groups.drupal.org/node/10137</link>
 <description>&lt;p&gt;Just a quick note to let you guys know I implemented functionality whereby hostmaster finds all the modules / install profiles on any&lt;br /&gt;
platform it manages, and builds &#039;package&#039; and &#039;package release&#039; nodes out of them. These will be linked to sites through the package_instance junction table, so you will be able to see exactly what modules / themes are on the system, what version they are&lt;br /&gt;
and eventually whether they are enabled or not.&lt;/p&gt;
&lt;p&gt;All this is exported to views, so you can build views that do things like show you all the sites with a specific version of a certain module installed (like when a security release becomes available , to see which sites are vulnerable).&lt;/p&gt;
&lt;p&gt;The major thing wrong with it still, is i need to integrate cvs_deploy into the back end, as it has issues getting the package versions atm.&lt;/p&gt;
&lt;p&gt;Also, I plan to integrate to drupal.org when &lt;a href=&quot;http://drupal.org/node/157514&quot; title=&quot;http://drupal.org/node/157514&quot;&gt;http://drupal.org/node/157514&lt;/a&gt; hits, I will be generating packages and releases directly from d.o, and the system will be able to much more easily notify you of wth is going on on your sites.&lt;/p&gt;
&lt;p&gt;For security sake I will eventually keep track of checksums of all the files in projects to monitor when things have been changed.&lt;/p&gt;
&lt;p&gt;I also added arguments for the embedded views, so they are working again now.&lt;/p&gt;
&lt;div class=&quot;og_rss_groups&quot;&gt;&lt;a href=&quot;/hm2&quot;&gt;Hostmaster2&lt;/a&gt;&lt;/div&gt;</description>
 <comments>http://groups.drupal.org/node/10137#comments</comments>
 <group domain="http://groups.drupal.org/hm2">Hostmaster2</group>
 <pubDate>Wed, 26 Mar 2008 04:27:28 +0000</pubDate>
 <dc:creator>adrian</dc:creator>
 <guid isPermaLink="false">10137 at http://groups.drupal.org</guid>
</item>
<item>
 <title>Hostmaster - Project Goals</title>
 <link>http://groups.drupal.org/hm2/project-goals</link>
 <description>&lt;h4&gt;Open&lt;/h4&gt;
&lt;p&gt;This project is developed on drupal.org, using the tools provided by the community. After many discussions with many different developers working in this space, it has become apparent to me that many people have developed their own custom set of utilities and scripts to manage many of the issues this project encompasses.&lt;/p&gt;
&lt;p&gt;This project aims to be an open framework that will allow us to collaborate on a single set of community developed / maintained utilities, so that the quality and the capabilities will improve for all of us.&lt;/p&gt;
&lt;h4&gt;Easy&lt;/h4&gt;
&lt;p&gt;This functions on both a developer and a user level.&lt;/p&gt;
&lt;p&gt;For the user, the intent is to make the system as simple to install and operate as possible, which means drastically lowering the requirements for installing and getting up and running with the system. To that end the system has an installation wizard that steps you through everything from registering your first account, to configuring and verifying your server, to importing any sites that may already exist.&lt;/p&gt;
&lt;p&gt;The system will auto-detect as many of the settings it requires to run as is possible from within the confines of PHP, and will provide detailed and accurate inline documentation on the server configuration required, based on the configured settings.&lt;/p&gt;
&lt;p&gt;This system aims to be self documenting, to aid in troubleshooting, in the event that an error occurs. This documentation is both translatable and extendable when new services are enabled.&lt;/p&gt;
&lt;p&gt;For developers we aim to keep the implementation simple, clear and concise, and use as few as possible additional requirements outside of Drupal itself. We aim to provide extensive developer documentation, to lower the barrier for people wanting to integrate with the system.&lt;/p&gt;
&lt;p&gt;The system will exist entirely in contrib, and will never require any additional core patches for the base functionality.&lt;/p&gt;
&lt;p&gt;Basically, do everything possible to ensure that the user and developer experience is a positive one.&lt;/p&gt;
&lt;h4&gt;Useful&lt;/h4&gt;
&lt;p&gt;The system aims to help maintain many sites, not just when they are initially installed, but over the entire lifetime of the site.&lt;/p&gt;
&lt;p&gt;It is designed to install new sites, provisioning all the required services (such as Apache, Mysql and DNS), with the flexibility to provision additional services (such as Mail, LDAP etc.) through optional contributed modules.&lt;/p&gt;
&lt;p&gt;It provides the ability to revert back to previous versions of your sites, as well as re-deploy existing sites under different domain names (mysite.com copied to dev.mysite.com). These backups will be usable on any system with the provisioning back end installed (such as a developer&#039;s machine, or a staging server)&lt;/p&gt;
&lt;p&gt;This aspect of the system will also be used to manage upgrades between multiple versions of Drupal, and will allow you to schedule upgrades. It will do it&#039;s utmost to ensure that your site has been successfully upgraded, and in future versions will feature dependency tracking to keep track of which sites are eligible to be upgraded.&lt;/p&gt;
&lt;p&gt;It will provide a mechanism that ensures the cron process is run on all your sites within the specified time frame, and additionally will allow for scheduled backups of all your sites.&lt;/p&gt;
&lt;p&gt;Through optional modules it will be able to extract usage statistics from your hosted sites and provide an overview of site usage through the administration interface, it will also be able to keep track of server health and load for each of the configured servers.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;These are the stated feature goals, many of these features will not be available in the initial releases, as they are not considered a base requirement.&lt;/em&gt;&lt;/p&gt;
&lt;h4&gt;Secure&lt;/h4&gt;
&lt;p&gt;The system will make sure that it has the least amount of power available to it to accomplish it&#039;s task, and will ensure that all file permissions are set to the strictest possible levels they need to be, and that no sensitive information is web accessible.&lt;/p&gt;
&lt;p&gt;None of the functionality or code required to accomplish it&#039;s tasks will ever be available in the provisioned sites, and the hosting front end itself will make extensive usage of Drupal&#039;s access control requirements to ensure that users will not have access to things they are not meant to see.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;to be extended&lt;/em&gt;&lt;/p&gt;
&lt;h4&gt;Distributed&lt;/h4&gt;
&lt;p&gt;The system functions entirely on the command line, using unix pipes for inter-process communication.&lt;/p&gt;
&lt;p&gt;As such, once ssh has been configured for the user the back end script is running as, it will be able to freely communicate with the external server through the only mechanism it knows how (the command line).&lt;/p&gt;
&lt;p&gt;As an extension of the backup/restore functionality, you will be able to seamlessly move sites between servers, while providing a redirect to an always accessible site alias for users who have cached dns entries.&lt;/p&gt;
&lt;p&gt;You will also be able to change database servers through simply modifying the site record on the user front end.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;to be extended&lt;/em&gt;&lt;/p&gt;
&lt;h4&gt;Diagnostics&lt;/h4&gt;
&lt;p&gt;The system will provide accurate and complete logs of everything that has occurred on the system, as well as feature complete error reporting and notification of all issues that have occurred. It will first verify that it is able to complete the requested task, and then it will verify that the task has been completed successfully, before completing the task.&lt;/p&gt;
&lt;p&gt;When an error occurs, it will rollback to it&#039;s last working state before exiting, so that failures will not negatively&lt;br /&gt;
affect sites.&lt;/p&gt;
&lt;p&gt;All node types in the front end are revision controlled, to allow for complete history of all objects.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;to be extended&lt;/em&gt;&lt;/p&gt;
&lt;h4&gt;Flexible&lt;/h4&gt;
&lt;p&gt;This system aims to be as flexible as Drupal itself is.&lt;/p&gt;
&lt;p&gt;It will provide a complete and useful set of hooks to module developers, for both the front end and the back end, to accomplish whatever tasks they need.&lt;/p&gt;
&lt;p&gt;The administration interface will provide complete views support for all data in the site, to allow for custom reporting on your network.&lt;/p&gt;
&lt;p&gt;The core node types are all standard Drupal nodes, that can be extended through CCK by the implementor. This could be used for tracking additional client information or additional information on sites.&lt;/p&gt;
&lt;p&gt;You will be able to integrate Drupal contributed modules such as Organic Groups or Ecommerce/Ubercart to build support or billing functionality directly into the hosting front end.&lt;/p&gt;
&lt;p&gt;The system is completely white boxed, so that it will work with almost any Drupal theme, and as such can have your own corporate identity.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;to be extended&lt;/em&gt;&lt;/p&gt;
&lt;div class=&quot;og_rss_groups&quot;&gt;&lt;a href=&quot;/hm2&quot;&gt;Hostmaster2&lt;/a&gt;&lt;/div&gt;</description>
 <group domain="http://groups.drupal.org/hm2">Hostmaster2</group>
 <pubDate>Mon, 24 Mar 2008 16:31:20 +0000</pubDate>
 <dc:creator>adrian</dc:creator>
 <guid isPermaLink="false">10091 at http://groups.drupal.org</guid>
</item>
<item>
 <title>Hostmaster - Design and Terminology</title>
 <link>http://groups.drupal.org/hm2/design-terminology</link>
 <description>&lt;p&gt;This page documents all the different terms used when referring to components of the Hostmaster system, and how the different entities relate to each other.&lt;/p&gt;
&lt;h4&gt;Front End&lt;/h4&gt;
&lt;p&gt;The user interface used to administrate your sites. The front end is provided by the Hostmaster install profile, and the Hosting contributed module. It defines a complete Drupal based data model for managing the various aspects of your installation.&lt;/p&gt;
&lt;h4&gt;Entities&lt;/h4&gt;
&lt;p&gt;These entities are used primarily in the front end to manage the configuration and data. Upon calling the back end, the system breaks&lt;br /&gt;
down the properties of these entities to be passed as options for the command line, so the back end only has a flat data structure to&lt;br /&gt;
work with. During this process, all relationships are automatically retrieved, making it a one step process for the developer.&lt;/p&gt;
&lt;dl&gt;
&lt;dt&gt;&lt;a name=&#039;glossary-client&#039;&gt;&lt;/a&gt;Client&lt;/dt&gt;
&lt;dd&gt;&lt;strong&gt;The person or group that runs the site.&lt;/strong&gt;&lt;br /&gt;
                This information is usually required for billing and access purposes, to assure&lt;br /&gt;
                that only certain people are able to view the information for sites they run.&lt;br /&gt;
                If you do not intend on having more than one client access the system,&lt;br /&gt;
                you will not need to create any additional clients for your purposes.&lt;/dd&gt;
&lt;dt&gt;&lt;a name=&#039;glossary-site&#039;&gt;&lt;/a&gt;Site&lt;/dt&gt;
&lt;dd&gt;&lt;strong&gt;An instance of a hosted site.&lt;/strong&gt;&lt;br /&gt;
                It contains information relating to the site, most notably the domain name, database server&lt;br /&gt;
                and platform it is being published on. A site may also have several aliases for additional&lt;br /&gt;
                domains the site needs to be accessible on.&lt;/dd&gt;
&lt;dt&gt;&lt;a name=&#039;glossary-task&#039;&gt;&lt;/a&gt;Task&lt;/dt&gt;
&lt;dd&gt;&lt;strong&gt;The mechanism whereby Hostmaster keeps track of all changes that occurr to the system.&lt;/strong&gt;&lt;br /&gt;
                Each task acts as a command for the back end, and contains a full log of all changes that have occurred.&lt;br /&gt;
                If an task should fail, the administrator will be notified with an explanation of exactly what went wrong,&lt;br /&gt;
                and how to fix it.&lt;/dd&gt;
&lt;dt&gt;&lt;a name=&#039;glossary-platform&#039;&gt;&lt;/a&gt;Platform&lt;/dt&gt;
&lt;dd&gt;&lt;strong&gt;The file system location on a specific web server on which to publish sites.&lt;/strong&gt;&lt;br /&gt;
                Multiple platforms can co-exist on the same web server, and need to do so for&lt;br /&gt;
                upgrades to be managed, as this is accomplished by moving the site a platform&lt;br /&gt;
                hosting an updated release.&lt;br /&gt;
                Platforms are most commonly built for specific releases of Drupal.&lt;/dd&gt;
&lt;dt&gt;&lt;a name=&#039;glossary-web_server&#039;&gt;&lt;/a&gt;Web server&lt;/dt&gt;
&lt;dd&gt;&lt;strong&gt;The physical machine where files will be stored for publication.&lt;/strong&gt;&lt;br /&gt;
                Each web server hosts one or more platforms, which act as publishing points for the hosted sites.&lt;br /&gt;
                If you are not intending to use Hostmaster in a distributed fashion, you will not need to create&lt;br /&gt;
                additional web servers for your purposes..&lt;/dd&gt;
&lt;dt&gt;&lt;a name=&#039;glossary-db_server&#039;&gt;&lt;/a&gt;Database server&lt;/dt&gt;
&lt;dd&gt;&lt;strong&gt;The database server on which sites will host their date.&lt;/strong&gt;&lt;br /&gt;
                Most web servers and database servers are on the same machine, but for performance reasons&lt;br /&gt;
                external database servers might be required. It is not uncommon for one database server&lt;br /&gt;
                to be shared amongst all site instances.&lt;br /&gt;
                If you are not intending to use an external database server, or multiple database servers, you&lt;br /&gt;
                will not need to create any additional database servers for your purposes.&lt;/dd&gt;
&lt;dt&gt;&lt;a name=&#039;glossary-package&#039;&gt;&lt;/a&gt;Package&lt;/dt&gt;
&lt;dd&gt;&lt;strong&gt;An installable component for a site.&lt;/strong&gt;&lt;br /&gt;
  Hostmaster keeps tracks of all the modules, themes and install profiles installed across your entire network.&lt;br /&gt;
  These packages most commonly link to their project on drupal.org, but might not in the case of custom modules.&lt;br /&gt;
  Users are not able to create nodes of this type, as they are generated automatically during verify and sync tasks.&lt;br /&gt;
&lt;/dd&gt;
&lt;dt&gt;&lt;a name=&#039;glossary-package_release&#039;&gt;&lt;/a&gt;Package Release&lt;/dt&gt;
&lt;dd&gt;&lt;strong&gt;The release of a specific package.&lt;/strong&gt;&lt;br /&gt;
  Each package on your network has at least one installed release, and each platform (including Drupal itself) may&lt;br /&gt;
  have several releases installed across your network.&lt;br /&gt;
&lt;/dd&gt;
&lt;dt&gt;&lt;a name=&#039;glossary-db_server&#039;&gt;&lt;/a&gt;Package Instance&lt;/dt&gt;
&lt;dd&gt;&lt;strong&gt;Where a package release has been installed.&lt;/strong&gt;&lt;br /&gt;
  A package release may be installed in multiple places on a platform, and sites may have access to multiple versions of packages.&lt;br /&gt;
  This entity also tracks which modules are enabled, and what version of the schema (if any) they have installed.&lt;br /&gt;
&lt;/dd&gt;
&lt;/dl&gt;
&lt;p&gt;&lt;img src=&quot;http://groups.drupal.org/files/HostmasterERD3.png&quot; /&gt;&lt;/p&gt;
&lt;h4&gt;Task types&lt;/h4&gt;
&lt;p&gt;These are &quot;hosting commands&quot; that the server can accomplish. These are mapped to back end commands by the task queue processor.&lt;/p&gt;
&lt;dl&gt;
&lt;dt&gt;Verify platform&lt;/dt&gt;
&lt;dd&gt;Verify that a platform is correctly installed. Automatically created when new platforms are added, to ensure they are capable of installing new sites on. Operates on: &lt;strong&gt;platforms&lt;/strong&gt;&lt;/dd&gt;
&lt;dt&gt;Import sites&lt;/dt&gt;
&lt;dd&gt;Import existing sites on platform.  Operates on: &lt;strong&gt;platforms&lt;/strong&gt;&lt;/dd&gt;
&lt;dt&gt;Install site&lt;/dt&gt;
&lt;dd&gt;Install a new site. This is automatically generated when a site node is created.  Operates on: &lt;strong&gt;sites&lt;/strong&gt;&lt;/dd&gt;
&lt;dt&gt;Sync site&lt;/dt&gt;
&lt;dd&gt;Synchronize changes to the site record with the back end. Automatically generated on editing of the site node.  Operates on: &lt;strong&gt;sites&lt;/strong&gt;&lt;/dd&gt;
&lt;dt&gt;Backup site&lt;/dt&gt;
&lt;dd&gt;Generate a backup of an existing site. This backup contains everything needed to run the site.  Operates on: &lt;strong&gt;sites&lt;/strong&gt;&lt;/dd&gt;
&lt;dt&gt;Restore backup&lt;/dt&gt;
&lt;dd&gt;Restore a site to a previous backed up version. Operates on: &lt;strong&gt;sites&lt;/strong&gt;&lt;/dd&gt;
&lt;dt&gt;Disable site&lt;/dt&gt;
&lt;dd&gt;Disable a running site. This is commonly used in the case of non-payment from clients. Operates on: &lt;strong&gt;sites&lt;/strong&gt;&lt;/dd&gt;
&lt;dt&gt;Enable site&lt;/dt&gt;
&lt;dd&gt;Enable a disabled site. The opposite of Disable. Operates on: &lt;strong&gt;sites&lt;/strong&gt;&lt;/dd&gt;
&lt;/dl&gt;
&lt;p&gt;&lt;strong&gt;This is an incomplete list, and will be updated as more tasks are added&lt;/strong&gt;&lt;/p&gt;
&lt;h4&gt;Queues&lt;/h4&gt;
&lt;p&gt;The front end uses and maintains several queues, which are then processed through the &lt;code&gt;drush.php hosting dispatch&lt;/code&gt; command.&lt;br /&gt;
More queues can be added by optional contributed modules, and are often used to provide regularly scheduled back end commands,&lt;br /&gt;
such as backing up sites.&lt;/p&gt;
&lt;dl&gt;
&lt;dt&gt;Task Queue&lt;/dt&gt;
&lt;dd&gt;The primary and most important queue. Whenever a change is made to the data set, the front end creates a &quot;Task&quot; node. These task relate to such things as installing new sites, regenerating the configuration files of sites, verifying that a platform has been correctly configured and importing existing sites on a newly added platform.&lt;/dd&gt;
&lt;dt&gt;Cron Queue&lt;/dt&gt;
&lt;dd&gt;This queue is used to manage the regular execution of the cron process required by most sites. It is configurable with a frequency you want all the sites to be cronned with in . This is commonly 1 hour, but might be higher or lower. higher frequency will cause higher system load. This command will iterate through all enabled sites, and batch the cron calls, based on how many sites are available, and how frequently it is running.&lt;/dd&gt;
&lt;dt&gt;Backup Queue&lt;/dt&gt;
&lt;dd&gt;This queue operates in the same way as the cron queue, in that it iterates through all installed sites, based on a configurable frequency. This executes the same functionality as requesting a site backup through the user interface. You are able to revert back&lt;br /&gt;
to a previous backup of your sites.&lt;/dd&gt;
&lt;dt&gt;Statistics Queue&lt;/dt&gt;
&lt;dd&gt;This queue operates on the same mechanism as the cron queue, and alows you to retrieve statistics of your installed sites. This will retrieve such metrics as number of registered and active users, and number of posts / comments, which will then be viewable on the front end.&lt;/dd&gt;
&lt;/dl&gt;
&lt;h4&gt;Back End&lt;/h4&gt;
&lt;p&gt;The back end is a command line interface provided by the Provisioning Framework, of all the tasks it is capable of performing.&lt;/p&gt;
&lt;p&gt;It is designed to operate separately from the front end, so that you can have multiple back ends on one or more servers.&lt;/p&gt;
&lt;p&gt;The back end handles the server level configuration of the system, such as creating new databases and virtual host records and&lt;br /&gt;
restarting the apache process for new installations to take effect.&lt;/p&gt;
&lt;p&gt;When the queues are processed by the front end, these are turned into calls to the back end, for whichever server they happen&lt;br /&gt;
to be on. The back end communicates to the front end through a very simple mechanism, whereby it returns a serialized string containing state information and log messages / error return codes.&lt;/p&gt;
&lt;div class=&quot;og_rss_groups&quot;&gt;&lt;a href=&quot;/hm2&quot;&gt;Hostmaster2&lt;/a&gt;&lt;/div&gt;</description>
 <group domain="http://groups.drupal.org/hm2">Hostmaster2</group>
 <pubDate>Sun, 23 Mar 2008 21:54:27 +0000</pubDate>
 <dc:creator>adrian</dc:creator>
 <guid isPermaLink="false">10075 at http://groups.drupal.org</guid>
</item>
<item>
 <title>Hostmaster - Overview</title>
 <link>http://groups.drupal.org/hm2/overview</link>
 <description>&lt;h3&gt;What is Hostmaster?&lt;/h3&gt;
&lt;p&gt;Hostmaster is a distributed instance management system, that allows authorized users to administer multiple Drupal sites across one or more servers, through a Drupal based administration front end. It is designed to help solve many of the common problems that administrators come across when providing mass hosting solutions, by providing the basis for turn-key deployment and management of Drupal sites and related services.&lt;/p&gt;
&lt;h3&gt;What do I need to run Hostmaster?&lt;/h3&gt;
&lt;p&gt;The primary requirement for being able to run the Hostmaster is having &lt;strong&gt;full&lt;/strong&gt; access to the machine you intend to run Hostmaster on. Due to the types of access and configuration required, Hostmaster will &lt;strong&gt;not&lt;/strong&gt; run in a shared hosting environment. A Unix environment is recommended, as many features might not available on a Windows based host.&lt;/p&gt;
&lt;p&gt;Furthermore, because Hostmaster is Drupal based, it requires that you meet the requirements for running Drupal on your server.&lt;/p&gt;
&lt;h3&gt;Where can I get Hostmaster?&lt;/h3&gt;
&lt;p&gt;Hostmaster is developed and distributed on the Drupal contributions CVS repository.&lt;/p&gt;
&lt;p&gt;There are three project pages for the three main components of the system.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;http://drupal.org/project/hostmaster&quot;&gt;Hostmaster project&lt;/a&gt; which contains the install profile for managing your sites. This is the primary project and all issues should be logged against this project, to simplify the issue queue.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://drupal.org/project/hosting&quot;&gt;Hosting project&lt;/a&gt; contains the support module used by the hostmaster project. This module defines all the necessary node types , relationships and functionality. Theoretically it can operate without the install profile, but this is unsupported at this point.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://drupal.org/project/provision&quot;&gt;Provision project&lt;/a&gt; contains the back end provisioning framework. This project is designed to be useful separately from the front end.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;At present there is no stable release of the project, and you will need to retrieve all source code from CVS. The front end additionally requires the &lt;a href=&quot;http://drupal.org/project/views&quot;&gt;views module&lt;/a&gt;, and both the back end and front end require the &lt;a href=&quot;http://drupal.org/project/drush&quot;&gt;drush module&lt;/a&gt;.&lt;/p&gt;
&lt;h3&gt;Hostmaster project roadmap&lt;/h3&gt;
&lt;p&gt;We are planning for an initial release of the hostmaster code in late May 2008.&lt;br /&gt;
Following this, there will be weekly releases for a month or two until the code has stabilized.  At that point, releases will be driven by critical issues or the addition of significant features.&lt;/p&gt;
&lt;h3&gt;History of the Hostmaster project&lt;/h3&gt;
&lt;p&gt;Hostmaster 2 is a completely new iteration of the original Hostmaster written by &lt;a href=&quot;http://drupal.org/user/1337&quot;&gt;Adrian Rossouw&lt;/a&gt; for &lt;a href=&quot;http://bryght.com&quot;&gt;Bryght&lt;/a&gt; (now &lt;a href=&quot;http://raincitystudios.com&quot;&gt;Raincity Studios&lt;/a&gt;). The original version has been running the hosted service provided at &lt;a href=&quot;http://bryght.com&quot; title=&quot;http://bryght.com&quot;&gt;http://bryght.com&lt;/a&gt; for nearly 4 years, hosting literally thousands of sites, and has been implemented for several large clients.&lt;/p&gt;
&lt;p&gt;Originally the system would only manage a single Drupal instance, on a single web server with a single database server, and as the requirements grew (concurrently running multiple versions of Drupal and then needing to manage several servers), it grew considerably in (unplanned) complexity.&lt;/p&gt;
&lt;p&gt;There were also non-ideal implementation and licensing issues, such as the choice of Python and PostgreSQL for the backend and not developing the system as a pure GPL project, which severely limited the number of developers that were attracted to the project.&lt;/p&gt;
&lt;p&gt;Because of the system requirements, it was also very difficult for new users to install, and had many unnecessary points of failure.&lt;/p&gt;
&lt;p&gt;This new system has been designed with all these issues in mind, and the lessons learned have formed the basis of many of the &lt;a href=&quot;/hm2/project-goals&quot;&gt;goals of Hostmaster 2&lt;/a&gt;.&lt;/p&gt;
&lt;h3&gt;What are the goals of the Hostmaster project&lt;/h3&gt;
&lt;p&gt;The goals have been exhaustively documented on the &lt;a href=&quot;/hm2/project-goals&quot;&gt;Project Goals wiki entry&lt;/a&gt;&lt;/p&gt;
&lt;h3&gt;How is the system put together? What does it do?&lt;/h3&gt;
&lt;p&gt;This information is available on the &lt;a href=&quot;/hm2/design-terminology&quot;&gt;Design and Terminology wiki entry&lt;/a&gt;&lt;/p&gt;
&lt;div class=&quot;og_rss_groups&quot;&gt;&lt;a href=&quot;/hm2&quot;&gt;Hostmaster2&lt;/a&gt;&lt;/div&gt;</description>
 <group domain="http://groups.drupal.org/hm2">Hostmaster2</group>
 <pubDate>Sun, 23 Mar 2008 02:30:40 +0000</pubDate>
 <dc:creator>adrian</dc:creator>
 <guid isPermaLink="false">10057 at http://groups.drupal.org</guid>
</item>
<item>
 <title>Nagios-type monitoring with hostmaster2 framework, GSOC</title>
 <link>http://groups.drupal.org/node/9930</link>
 <description>&lt;p&gt;&lt;em&gt;UPDATE&lt;/em&gt; cross posting this into SOC 2008 for any feedback&lt;br /&gt;
First, thanks for the great BOF talk at DrupalCon, Adrian and Boris.  I&#039;ve got to install this and get it running, but stepping through some of the code I&#039;m wondering whether this is a good framework to build out a monitoring system based in Drupal (something else on my mind)?  Perhaps there are a few monitoring metrics that would not work well, but on the other hand, perhaps you can keep a very good eye on a lot of metrics about the servers themselves which have the hostmaster2 back end installed on them.  Since I have not setup hostmaster2 myself yet, forgive me if I&#039;m going down the wrong track here.  So the idea is, since the hostmaster2 framework has the groundwork laid out to connect a frontend with multiple backends (multiple servers) and there&#039;s the hosting_stat hook which is invoked by the provisioning_stat module on each agent, could a suite of modules be developed to, at the general server level:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;monitor disk usage&lt;/li&gt;
&lt;li&gt;memory usage&lt;/li&gt;
&lt;li&gt;apache benchmark each Drupal instance and aggregate stats&lt;/li&gt;
&lt;li&gt;monitor disk i/o&lt;/li&gt;
&lt;li&gt;raise flags for more case-specific cases like:&lt;br /&gt;
-- cron not successfully completed on a single Drupal site for over a day&lt;br /&gt;
-- # of new user accounts created in 24 hour period exceeds 100.&lt;br /&gt;
-- no new taxonomy terms created on the site in past 24 hours&lt;br /&gt;
(the idea w/ these is perhaps they&#039;re application-specific indicators of problems, and not necessarily a problem on every drupal site)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;So, you could do some server-level monitoring, as well as what you&#039;ve already started doing w/ the hosting_stat hook (application-level monitoring).  Is the server level monitoring something others would find valuable?  Are people using other tools for this, or do not have the need at all?&lt;/p&gt;
&lt;p&gt;Next, I&#039;ve never used Nagios personally, but I&#039;ve heard it&#039;s a bear to setup, and for doing monitoring/alerts for simple things like excessive memory usage or disk space monitoring, it seems like it could potentially be faster to write simple scripts than get going on that application (though of course perhaps there are definite reasons to use it over something like this...)&lt;/p&gt;
&lt;p&gt;Finally, w/ Google Summer of Code about to begin, is there anything in the hostmaster2 realm that would be great to get a student involved w/, like the BIND integration, or this server-level monitoring if it seems useful and practical to do w/ hostmaster2 framework?&lt;/p&gt;
&lt;p&gt;thanks for any thoughts,&lt;br /&gt;
Ian&lt;/p&gt;
&lt;div class=&quot;og_rss_groups&quot;&gt;&lt;a href=&quot;/hm2&quot;&gt;Hostmaster2&lt;/a&gt;&lt;/div&gt;</description>
 <comments>http://groups.drupal.org/node/9930#comments</comments>
 <group domain="http://groups.drupal.org/soc-2008">SoC 2008</group>
 <group domain="http://groups.drupal.org/hm2">Hostmaster2</group>
 <pubDate>Wed, 19 Mar 2008 13:55:01 +0000</pubDate>
 <dc:creator>Ian Ward@drupal.org</dc:creator>
 <guid isPermaLink="false">9930 at http://groups.drupal.org</guid>
</item>
<item>
 <title>Existing Domains and Multiple Site Module Control</title>
 <link>http://groups.drupal.org/node/9030</link>
 <description>&lt;p&gt;I&#039;m excited to begin working with this module. It has been quite the task to enable a module or change a permissions setting across 40 sites, having to log into each one or via update.php.&lt;/p&gt;
&lt;p&gt;So my question is, how would this integrate into a collection of 30 - 40 established sites in a multisite configuration?&lt;br /&gt;
Is this something that needs to be implemented from stage 1?&lt;/p&gt;
&lt;p&gt;I read the description of what the HM2 does but am still a little unclear how it handles modules.&lt;br /&gt;
Can I enable/disable modules via HM2?&lt;br /&gt;
Can I modify access controls across all domains and/or each domain via HM2?&lt;/p&gt;
&lt;p&gt;Thanks,&lt;br /&gt;
Dave&lt;/p&gt;
&lt;div class=&quot;og_rss_groups&quot;&gt;&lt;a href=&quot;/hm2&quot;&gt;Hostmaster2&lt;/a&gt;&lt;/div&gt;</description>
 <comments>http://groups.drupal.org/node/9030#comments</comments>
 <category domain="http://groups.drupal.org/taxonomy/term/2273">domains</category>
 <category domain="http://groups.drupal.org/taxonomy/term/312">modules</category>
 <group domain="http://groups.drupal.org/hm2">Hostmaster2</group>
 <pubDate>Tue, 19 Feb 2008 22:30:41 +0000</pubDate>
 <dc:creator>davidb</dc:creator>
 <guid isPermaLink="false">9030 at http://groups.drupal.org</guid>
</item>
<item>
 <title>hostmaster and autopilot</title>
 <link>http://groups.drupal.org/node/7993</link>
 <description>&lt;p&gt;So I was reading about a module today called autopilot (&lt;a href=&quot;http://www.workhabit.org/change-management-and-drupal-autopilot-news&quot; title=&quot;http://www.workhabit.org/change-management-and-drupal-autopilot-news&quot;&gt;http://www.workhabit.org/change-management-and-drupal-autopilot-news&lt;/a&gt;) and was wondering if anyone here is involved or knows anything about it and what sort of differences/similarities there are between it and Hostmaster2.&lt;/p&gt;
&lt;p&gt;I&#039;m very interested in the topic of change management and and such things, but just getting my mind wrapped around these tools. I&#039;m involved with some large Drupal deployments so tools like this are getting pretty high on my radar.&lt;/p&gt;
&lt;div class=&quot;og_rss_groups&quot;&gt;&lt;a href=&quot;/hm2&quot;&gt;Hostmaster2&lt;/a&gt;&lt;/div&gt;</description>
 <comments>http://groups.drupal.org/node/7993#comments</comments>
 <category domain="http://groups.drupal.org/taxonomy/term/3784">autopilot</category>
 <category domain="http://groups.drupal.org/taxonomy/term/2489">hostmaster2</category>
 <group domain="http://groups.drupal.org/hm2">Hostmaster2</group>
 <pubDate>Sat, 05 Jan 2008 21:53:37 +0000</pubDate>
 <dc:creator>sirkitree</dc:creator>
 <guid isPermaLink="false">7993 at http://groups.drupal.org</guid>
</item>
<item>
 <title>CivicSpaceOnDemand provisioning OpenAPIs</title>
 <link>http://groups.drupal.org/node/7311</link>
 <description>&lt;p&gt;Hello, as a step towards getting the support to open source&lt;br /&gt;
CivicSpaceOnDemand, we have further opened up the CSOD APIs.  This&lt;br /&gt;
time we have exposed the provisioning system and everything that is&lt;br /&gt;
involved in setting up and configuring databases, mail servers, dns&lt;br /&gt;
servers, file systems, web server configurations, Civicrm files,&lt;br /&gt;
Drupal files, etc.&lt;/p&gt;
&lt;p&gt;Please note that this system is entirely developed in PHP and MySQL and is compatible with Drupal coding styles.  It has been in production for almost 15 months and deployed hundreds of sites.&lt;/p&gt;
&lt;p&gt;Provisioning system:&lt;br /&gt;
&lt;a href=&quot;http://customprofiles.civicspaceondemand.org/api/files/taskmanager&quot; title=&quot;http://customprofiles.civicspaceondemand.org/api/files/taskmanager&quot;&gt;http://customprofiles.civicspaceondemand.org/api/files/taskmanager&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;We had previously released the pre-configuration and update system&lt;br /&gt;
APIs here: &lt;a href=&quot;http://customprofiles.civicspaceondemand.org/api/file&quot; title=&quot;http://customprofiles.civicspaceondemand.org/api/file&quot;&gt;http://customprofiles.civicspaceondemand.org/api/file&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;We hope this will encourage folks in the community who would like to&lt;br /&gt;
see a thousand Drupal ASPs flourish to better understand what&#039;s&lt;br /&gt;
involved and understand how they can help us to open source what we&#039;ve&lt;br /&gt;
done.&lt;/p&gt;
&lt;p&gt;If your organization would like to make CiviCRM or Drupal available&lt;br /&gt;
On Demand please contact me and I&#039;ll work with you to  help make this&lt;br /&gt;
available.&lt;/p&gt;
&lt;p&gt;Cheers,&lt;br /&gt;
Kieran&lt;/p&gt;
&lt;div class=&quot;og_rss_groups&quot;&gt;&lt;a href=&quot;/hm2&quot;&gt;Hostmaster2&lt;/a&gt;&lt;/div&gt;</description>
 <comments>http://groups.drupal.org/node/7311#comments</comments>
 <group domain="http://groups.drupal.org/hm2">Hostmaster2</group>
 <pubDate>Mon, 26 Nov 2007 21:10:54 +0000</pubDate>
 <dc:creator>Amazon</dc:creator>
 <guid isPermaLink="false">7311 at http://groups.drupal.org</guid>
</item>
<item>
 <title>A mass hosting consortium?</title>
 <link>http://groups.drupal.org/node/7197</link>
 <description>&lt;p&gt;We&#039;ve had various good efforts now at building mass provisioning solutions for Drupal. But too often we&#039;re building solutions in isolation, in competition, without enough resources to pull them off. We end up with duplication, half-finished products, privatized code. To put it mildly, it feels like we&#039;re not making the best use of the potential of open source.&lt;/p&gt;
&lt;p&gt;I&#039;m speaking from my own experience at CivicSpace, where I worked for a year and a half on enabling mass hosting. Through the process of wrestling with all the practical problems of producing a secure, high performance, flexible provisioning system, we got a tone of insight into what&#039;s needed and produced some creative and valuable solutions.&lt;/p&gt;
&lt;p&gt;But they&#039;re not out there. They&#039;re not being used.&lt;/p&gt;
&lt;p&gt;Looking e.g. at Hostmaster, it seems like a pretty similar story. A single company making a huge investment of talent and creativity into a codebase that ultimately may be a bigger task than they can support.&lt;/p&gt;
&lt;p&gt;So I come out of this experience asking: how can we bring together the players here? How can we make the best use of what we&#039;ve got in play--which is a lot, actually? Take just the pieces we produced at CivicSpace. Some of them aren&#039;t even open sourced as yet--specifically, the Taskmanager provisioning system and the Packages install profile system. But even those that are probably no one knows about. Like the Theme Factory project, &lt;a href=&quot;http://drupal.org/project/themefactory&quot; title=&quot;http://drupal.org/project/themefactory&quot;&gt;http://drupal.org/project/themefactory&lt;/a&gt;. Here is an answer to a key mass hosting issue, how to provide powerful theme design tools without exposing the security issues of allowing clients PHP access. But who&#039;s there to even tell about it, let alone take on the (actually, I suspect, fairly minimal) work of shepherding it into something that can be broadly adopted?&lt;/p&gt;
&lt;p&gt;And so I&#039;ve been wondering, do we need something like a non-profit consortium? Call it &quot;DropHost&quot;. A grouping that brings together the companies and other groups and leading individuals that are committed to solving the problems of mass hosting? Not to actually &lt;em&gt;do&lt;/em&gt; the work of producing code. But to set the standards, to coordinate, to facilitate.&lt;/p&gt;
&lt;p&gt;Does this make any sense?&lt;/p&gt;
&lt;p&gt;Are there better ways to promote common solutions to the problems of mass provisioning, so we can confidently move forward? And maybe in the process actually get some broad value out of the significant pieces that have already been produced?&lt;/p&gt;
&lt;div class=&quot;og_rss_groups&quot;&gt;&lt;a href=&quot;/hm2&quot;&gt;Hostmaster2&lt;/a&gt;&lt;/div&gt;</description>
 <comments>http://groups.drupal.org/node/7197#comments</comments>
 <category domain="http://groups.drupal.org/taxonomy/term/534">hosting</category>
 <group domain="http://groups.drupal.org/hm2">Hostmaster2</group>
 <pubDate>Sun, 18 Nov 2007 09:22:30 +0000</pubDate>
 <dc:creator>nedjo</dc:creator>
 <guid isPermaLink="false">7197 at http://groups.drupal.org</guid>
</item>
<item>
 <title>Mass hosting needs and existing solutions</title>
 <link>http://groups.drupal.org/node/7196</link>
 <description>&lt;p&gt;Mass hosting Drupal presents particular security, technical, network, integration, and other challenges that require specialized solutions.&lt;/p&gt;
&lt;p&gt;There have been significant efforts by individual companies at providing provisioning systems, including Bryght’s Hostmaster platform and CivicSpace’s Civicspace On Demand platform.&lt;/p&gt;
&lt;p&gt;This wiki page is an attempt to pull together a listing of the particular problems of mass hosting and what some existing pieces are.&lt;/p&gt;
&lt;h2&gt;Provisioning system&lt;/h2&gt;
&lt;h3&gt;Details&lt;/h3&gt;
&lt;p&gt;Solutions needed to manage the creation, configuration, management, backup, and maintenance of client sites (files, databases, mail services, etc.)&lt;/p&gt;
&lt;h3&gt;Existing solutions&lt;/h3&gt;
&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;CivicSpace Taskmanager system.&lt;/li&gt;
&lt;li&gt;Bryght’s Hostmaster and Hostmaster 2 projects.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://MayFirst.org/&quot;&gt;May First / People Link&lt;/a&gt;  (we&#039;ve worked in their system, don&#039;t know it all yet ben-&lt;a href=&quot;http://AgaricDesign.com&quot;&gt;agaric&lt;/a&gt;)&lt;br /&gt;
Related&lt;/li&gt;
&lt;li&gt;Sympal, &lt;a href=&quot;http://drupal.org/project/sympal_scripts&quot; title=&quot;http://drupal.org/project/sympal_scripts&quot;&gt;http://drupal.org/project/sympal_scripts&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Autopilot, &lt;a href=&quot;http://drupal.org/project/autopilot&quot; title=&quot;http://drupal.org/project/autopilot&quot;&gt;http://drupal.org/project/autopilot&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Drupal Automated Staging Toolkit, &lt;a href=&quot;http://drupal.org/project/dast&quot; title=&quot;http://drupal.org/project/dast&quot;&gt;http://drupal.org/project/dast&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Install and update modular custom profiles&lt;/h2&gt;
&lt;h3&gt;Details&lt;/h3&gt;
&lt;p&gt;Ideally, install systems will be built modularly in such a way that a given install profile can be composed of several pieces that can be combined in various ways, e.g., an ‘administration’ package that handles . A key part of this functionality is ensuring that new objects (nodes, users, etc.) can be created &lt;/p&gt;
&lt;h3&gt;Existing solutions&lt;/h3&gt;
&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;CivicSpace’s “packages” system implements these features.&lt;/li&gt;
&lt;li&gt;Install Profile API, &lt;a href=&quot;http://drupal.org/project/install_profile_api&quot; title=&quot;http://drupal.org/project/install_profile_api&quot;&gt;http://drupal.org/project/install_profile_api&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Prevent PHP access&lt;/h2&gt;
&lt;h3&gt;Details&lt;/h3&gt;
&lt;p&gt;While Drupal typically includes PHP access for admin users, in a hosted environment providing all clients with PHP access presents security issues.&lt;/p&gt;
&lt;h4&gt;Question&lt;/h4&gt;
&lt;/p&gt;
&lt;p&gt;Rolling a Drupal site without the possibility of PHP snippets in Views arguments, Block visbility, CCK computed fields, etc, reduces the scope of what one can accomplish in Drupal -- does the mass hosting you envision simply exclude that functionality, or look to replicate it somehow? ~billfitzgerald&lt;/p&gt;
&lt;h3&gt;Existing solutions&lt;/h3&gt;
&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Paranoia module, &lt;a href=&quot;http://drupal.org/project/paranoia&quot; title=&quot;http://drupal.org/project/paranoia&quot;&gt;http://drupal.org/project/paranoia&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;D6 introduced the PHP module, partially addressing the presence of PHP, but the process is incomplete as block configuration is still in PHP.&lt;/li&gt;
&lt;li&gt;Patch to finish the isolation of PHP was not completed for D6, &lt;a href=&quot;http://drupal.org/node/124158&quot; title=&quot;http://drupal.org/node/124158&quot;&gt;http://drupal.org/node/124158&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Theme design without access to PHP&lt;/h2&gt;
&lt;h3&gt;Details&lt;/h3&gt;
&lt;p&gt;Custom Drupal theme design typically relies on (usually PHPTemplate) PHP files. Allowing clients to upload PHP files would be an unacceptable security risk.&lt;/p&gt;
&lt;h3&gt;Existing solutions&lt;/h3&gt;
&lt;/p&gt;
&lt;p&gt;The Theme Factory module, &lt;a href=&quot;http://drupal.org/project/themefactory&quot; title=&quot;http://drupal.org/project/themefactory&quot;&gt;http://drupal.org/project/themefactory&lt;/a&gt;, developed for CivicSpace On Demand, provides secure and fairly full featured theme design through Smarty.&lt;/p&gt;
&lt;h2&gt;Hide and require certain modules&lt;/h2&gt;
&lt;h3&gt;Details&lt;/h3&gt;
&lt;p&gt;Often a hosted solution will need to require certain modules or hide them from client use (so that they cannot be turned off).&lt;/p&gt;
&lt;h3&gt;Existing solutions&lt;/h3&gt;
&lt;/p&gt;
&lt;p&gt;System Mask module developed by CivicSpace, &lt;a href=&quot;http://drupal.org/project/systemmask&quot; title=&quot;http://drupal.org/project/systemmask&quot;&gt;http://drupal.org/project/systemmask&lt;/a&gt;&lt;/p&gt;
&lt;h2&gt;Manage and track client registrations&lt;/h2&gt;
&lt;p&gt;Bryght has a module for this?&lt;br /&gt;
I think MayFirst&#039;s is built on &lt;a href=&quot;http://basebuilder.sourceforge.net/index.html&quot;&gt;Basebuilder (FOSS)&lt;/a&gt;&lt;/p&gt;
&lt;h2&gt;UI for site creation&lt;/h2&gt;
&lt;h3&gt;Existing solutions&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;CivicSpace AJAX site creation wizard.&lt;/li&gt;
&lt;/ul&gt;
&lt;div class=&quot;og_rss_groups&quot;&gt;&lt;a href=&quot;/hm2&quot;&gt;Hostmaster2&lt;/a&gt;&lt;/div&gt;</description>
 <group domain="http://groups.drupal.org/hm2">Hostmaster2</group>
 <pubDate>Sun, 18 Nov 2007 08:31:02 +0000</pubDate>
 <dc:creator>nedjo</dc:creator>
 <guid isPermaLink="false">7196 at http://groups.drupal.org</guid>
</item>
<item>
 <title>BIND module for managing DNS zones</title>
 <link>http://groups.drupal.org/node/6550</link>
 <description>&lt;p&gt;I just found the &lt;A href=&quot;http://drupal.org/project/bind&quot;&gt;BIND&lt;/a&gt; module. Definitely something to look at running along with HM2.&lt;/p&gt;
&lt;div class=&quot;og_rss_groups&quot;&gt;&lt;a href=&quot;/hm2&quot;&gt;Hostmaster2&lt;/a&gt;&lt;/div&gt;</description>
 <comments>http://groups.drupal.org/node/6550#comments</comments>
 <category domain="http://groups.drupal.org/taxonomy/term/3226">BIND</category>
 <category domain="http://groups.drupal.org/taxonomy/term/3227">DNS</category>
 <category domain="http://groups.drupal.org/taxonomy/term/2489">hostmaster2</category>
 <group domain="http://groups.drupal.org/hm2">Hostmaster2</group>
 <pubDate>Fri, 12 Oct 2007 17:39:15 +0000</pubDate>
 <dc:creator>Boris Mann</dc:creator>
 <guid isPermaLink="false">6550 at http://groups.drupal.org</guid>
</item>
<item>
 <title>Hostmaster2 status and drush</title>
 <link>http://groups.drupal.org/node/6341</link>
 <description>&lt;p&gt;Hey everyone.&lt;/p&gt;
&lt;p&gt;What&#039;s the current of Hostmaster2? Is there still someone working on it?&lt;/p&gt;
&lt;p&gt;I won&#039;t be able to do much work on drush in the upcoming half year as &lt;a href=&quot;http://unbiskant.org/blog/frando/goodbye-sweet-drupalland/en&quot;&gt;I&#039;ll be a lot less active in this time&lt;/a&gt;. I&#039;ll still read this group and the drush issue queue from time to time, but won&#039;t be able to actually commit patches. Nevertheless, I still think that having Hostmaster2 based on drush is a great thing. So I&#039;d suggest that whoever is working on Hostmaster2 just sends a short message to &lt;a href=&quot;http://drupal.org/user/26089&quot;&gt;Arto&lt;/a&gt; asking him for CVS access. Moshe also did a few commits on drush recently, so he might be someone to talk to about drush related things, too.&lt;/p&gt;
&lt;div class=&quot;og_rss_groups&quot;&gt;&lt;a href=&quot;/hm2&quot;&gt;Hostmaster2&lt;/a&gt;&lt;/div&gt;</description>
 <comments>http://groups.drupal.org/node/6341#comments</comments>
 <category domain="http://groups.drupal.org/taxonomy/term/2490">drush</category>
 <group domain="http://groups.drupal.org/hm2">Hostmaster2</group>
 <pubDate>Thu, 27 Sep 2007 12:32:08 +0000</pubDate>
 <dc:creator>Frando</dc:creator>
 <guid isPermaLink="false">6341 at http://groups.drupal.org</guid>
</item>
<item>
 <title>Hostmaster Panel</title>
 <link>http://groups.drupal.org/node/5681</link>
 <description>&lt;p&gt;I&#039;ve had a few conversations about my own wishlist for a management panel for VPS containing multiple multi-site instances.&lt;/p&gt;
&lt;p&gt;My use cases are pretty simple:&lt;/p&gt;
&lt;p&gt;Use Case 1: Upgrade 1 (one) important module on one multi-site codebase (like CCK)&lt;br /&gt;
Use Case 2: Mass migration of multi-site &#039;site files&#039; to new code base&lt;/p&gt;
&lt;p&gt;Both of these require the same basic things, the main difference being extracting one site out of a multi-site instance versus a complete migration of all sites in a multi site instance (instance = codebase).&lt;/p&gt;
&lt;p&gt;The core activities here are:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;mysqldump&lt;/li&gt;
&lt;li&gt;mysqlimport&lt;/li&gt;
&lt;li&gt;editing of httpd.conf (through an interface preferrably)&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Everything else is really just command line stuff in general.  I&#039;m not really needing this to talk to CVS or some other go-between for version checking of modules.&lt;/p&gt;
&lt;p&gt;I&#039;d like to continue to increase the value I provide to an SVN distro like Bryght public distro and, over time, see mroe modules integrated into that for versioning purposes.&lt;/p&gt;
&lt;div class=&quot;og_rss_groups&quot;&gt;&lt;a href=&quot;/hm2&quot;&gt;Hostmaster2&lt;/a&gt;&lt;/div&gt;</description>
 <comments>http://groups.drupal.org/node/5681#comments</comments>
 <group domain="http://groups.drupal.org/hm2">Hostmaster2</group>
 <pubDate>Fri, 17 Aug 2007 18:21:02 +0000</pubDate>
 <dc:creator>discursives@drupal.org</dc:creator>
 <guid isPermaLink="false">5681 at http://groups.drupal.org</guid>
</item>
<item>
 <title>OpenSRS module</title>
 <link>http://groups.drupal.org/node/5178</link>
 <description>&lt;p&gt;We have a OpenSRS module for allowing you to purchase domain names from OpenSRS.&lt;/p&gt;
&lt;p&gt;Is anyone interested enough in providing domain name registration during site creation to port it to Drupal 5?&lt;/p&gt;
&lt;div class=&quot;og_rss_groups&quot;&gt;&lt;a href=&quot;/hm2&quot;&gt;Hostmaster2&lt;/a&gt;&lt;/div&gt;</description>
 <comments>http://groups.drupal.org/node/5178#comments</comments>
 <group domain="http://groups.drupal.org/hm2">Hostmaster2</group>
 <pubDate>Wed, 18 Jul 2007 03:36:11 +0000</pubDate>
 <dc:creator>Amazon</dc:creator>
 <guid isPermaLink="false">5178 at http://groups.drupal.org</guid>
</item>
<item>
 <title>Initial HM2 code in Bryght hostmaster SVN repository</title>
 <link>http://groups.drupal.org/node/4886</link>
 <description>&lt;p&gt;Just to let everyone know, Adrian&#039;s initial work on hostmaster2 is checked into the &lt;a href=&#039;https://svn.bryght.com/hostmaster&#039;&gt;Bryght SVN hostmaster repo&lt;/a&gt; for your viewing and hacking pleasure.&lt;/p&gt;
&lt;div class=&quot;og_rss_groups&quot;&gt;&lt;a href=&quot;/hm2&quot;&gt;Hostmaster2&lt;/a&gt;&lt;/div&gt;</description>
 <comments>http://groups.drupal.org/node/4886#comments</comments>
 <category domain="http://groups.drupal.org/taxonomy/term/2489">hostmaster2</category>
 <group domain="http://groups.drupal.org/hm2">Hostmaster2</group>
 <pubDate>Fri, 29 Jun 2007 16:43:12 +0000</pubDate>
 <dc:creator>puregin</dc:creator>
 <guid isPermaLink="false">4886 at http://groups.drupal.org</guid>
</item>
<item>
 <title>Hostmaster 2 requirements on Drush</title>
 <link>http://groups.drupal.org/node/4884</link>
 <description>&lt;p&gt;These are notes posted by Adrian, following some initial code development based in part on &lt;a href=&#039;http://drupal.org/project/drush&#039;&gt;Drush&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;The requirements I had for Drush were&lt;/p&gt;
&lt;p&gt;1) required parameter handling. In the form of&lt;br /&gt;
./drush.php provision $urlhere&lt;/p&gt;
&lt;p&gt;This is already implemented it turns out, so that when you define a command&lt;br /&gt;
called &#039;provision&#039;, any extra parameters are automatically passed to the callback.&lt;/p&gt;
&lt;p&gt;2) multiple Drupal systems through a central drush.php&lt;/p&gt;
&lt;p&gt;This also already exists, via a -path argument. More on this later.&lt;/p&gt;
&lt;p&gt;3) Force loading of modules.&lt;/p&gt;
&lt;p&gt;I decided this would be best done by implementing a .drushrc config file, which will&lt;br /&gt;
allow you to set any of the config settings. Most specifically, the include path, in the&lt;br /&gt;
standard form of &#039;path:/path:/path2&#039; ,  and some code to manipulate module_list.&lt;/p&gt;
&lt;p&gt;This will allow us to store the drush / provision code outside of the drupal tree entirely,&lt;br /&gt;
and stop us from needing to have a hide_modules module.&lt;/p&gt;
&lt;p&gt;4) install mode bootstrap.&lt;/p&gt;
&lt;p&gt;Since I use a copied chunk of code from install.php, I think I might be able to modify it to&lt;br /&gt;
install sites by switching into another database using db_set_active. This would simplify&lt;br /&gt;
the code we need to write in Drush, but it&#039;s also significantly different from what we have in&lt;br /&gt;
hostmaster at the moment.&lt;/p&gt;
&lt;p&gt;This will require more research.&lt;/p&gt;
&lt;div class=&quot;og_rss_groups&quot;&gt;&lt;a href=&quot;/hm2&quot;&gt;Hostmaster2&lt;/a&gt;&lt;/div&gt;</description>
 <comments>http://groups.drupal.org/node/4884#comments</comments>
 <category domain="http://groups.drupal.org/taxonomy/term/2490">drush</category>
 <category domain="http://groups.drupal.org/taxonomy/term/2489">hostmaster2</category>
 <group domain="http://groups.drupal.org/hm2">Hostmaster2</group>
 <pubDate>Fri, 29 Jun 2007 16:40:13 +0000</pubDate>
 <dc:creator>puregin</dc:creator>
 <guid isPermaLink="false">4884 at http://groups.drupal.org</guid>
</item>
</channel>
</rss>
