<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Apis Networks Community Updates</title>
	<atom:link href="http://updates.apisnetworks.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://updates.apisnetworks.com</link>
	<description>Your one-stop place for Apis Networks web hosting updates</description>
	<lastBuildDate>Fri, 13 Aug 2010 22:12:33 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.4</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Introducing Apollo: Our Next Generation Platform</title>
		<link>http://updates.apisnetworks.com/2010/08/introducing-apollo-our-next-generation-platform/</link>
		<comments>http://updates.apisnetworks.com/2010/08/introducing-apollo-our-next-generation-platform/#comments</comments>
		<pubDate>Fri, 13 Aug 2010 22:06:54 +0000</pubDate>
		<dc:creator>Matt</dc:creator>
				<category><![CDATA[Miscellaneous]]></category>
		<category><![CDATA[Service Upgrades]]></category>

		<guid isPermaLink="false">http://updates.apisnetworks.com/?p=495</guid>
		<description><![CDATA[After a few months of strenuous development, testing, and problem-solving Apollo has touched down sporting our latest hosting platform.  Based on RedHat Enterprise Linux 5.5, this platform encompasses several key elements from the proposed Fifth Generation architecture.
Layered Filesystems
Accounts now reside upon stacks of folders (&#8221;layers&#8221;); each layer beyond the first, which holds user files, provides [...]]]></description>
			<content:encoded><![CDATA[<p>After a few months of strenuous development, testing, and problem-solving Apollo has touched down sporting our latest hosting platform.  Based on <a href="http://www.redhat.com/rhel/server/">RedHat Enterprise Linux 5.5</a>, this platform encompasses several key elements from the proposed <a href="http://updates.apisnetworks.com/2009/04/designing-the-next-generation-server/">Fifth Generation</a> architecture.</p>
<p><strong>Layered Filesystems</strong><br />
Accounts now reside upon stacks of folders (&#8221;layers&#8221;); each layer beyond the first, which holds user files, provides a collection of system files.  Our new layout provides a very efficient method of adding new software to accounts by injecting files into a particular layer, which propagate to all inheritable accounts.  Further, by residing on the top-most layer, instead of selectively backing up <em>/home</em> and <em>/var/www</em>, we have a comprehensive method of tracking which files to backup for clients.</p>
<p>Layered filesystems decrease the amount of storage required to populate an account, and allow a true 1:1 replication of system files.  The old system, a Replicated Filesystem, utilized hardlinks, which are references to files, to populate system files.  This posed several problems:</p>
<ol>
<li>very inefficient to create a reference for 50,000 files to each site</li>
<li>filesystem limitations prevent creation of more than 32,768 hardlinks to a file introducing scalability concerns.  This limit prevented clients access to all <a href="http://en.wikipedia.org/wiki/Locale">locales</a>, severely hindering application capabilities</li>
<li>adding new software is quite cumbersome, which requires removing <em>all references </em>to the file (thankfully scripts are used to automate this exhaustive task), then copying the application to the filesystem template, <em>then</em> creating a reference for each file on each account (yikes!).  Any references that remain of the old file still count as occupied storage.</li>
<li>servers accumulate wasted storage over time from old software references resident on the server and by storage occupied from duplication of folders and file references (17 MB vs 1.3 MB baseline)</li>
</ol>
<p style="text-align: center;"><a style="border:0 none" href="http://updates.apisnetworks.com/wp-content/uploads/2010/08/replicated1.png" rel="lightbox[495]"><img class="aligncenter size-full wp-image-496" title="Diagram of a Replicated Filesystem" src="http://updates.apisnetworks.com/wp-content/uploads/2010/08/replicated1.png" alt="Diagram of a Replicated Filesystem" width="916" height="326" /></a><a style="border:0 none" href="http://updates.apisnetworks.com/wp-content/uploads/2010/08/layer11.png" rel="lightbox[495]"><img class="aligncenter size-full wp-image-501" title="Diagram of a Layered Filesystem" src="http://updates.apisnetworks.com/wp-content/uploads/2010/08/layer11.png" alt="Diagram of a Layered Filesystem" width="916" height="271" /></a></p>
<p style="text-align: center;"><a style="border: 0pt none;" href="http://updates.apisnetworks.com/wp-content/uploads/2010/08/layer1.png" rel="lightbox[495]"><br />
</a></p>
<p style="text-align: center;">
<p style="text-align: left;"><strong>Control Groups<br />
</strong>Control groups (&#8221;<a href="http://lwn.net/Articles/236038/">cgroups</a>&#8220;) provide an accurate and fair means of accounting for memory and CPU usage generated by an account.  cgroups aggregate memory and CPU generated by applications grouped by account, which means for clients, we can permit any software to be run on an account up to <em>x</em> MB or <em>y</em> CPU seconds.  CouchDB?  MongoDB?  MySQL 5.5? (might want to read the next note!) Jetty?  You name it!  If it fits within the container limits, have fun!  Even better &#8211; unlike a VPS, crucial system processes do not count against your limits &#8211; only applications that <em>you</em> explicitly start.</p>
<p style="text-align: left;"><strong>Software Upgrades<br />
</strong>Along with the latest applications provided by RHEL, additional software upgrades were selected:</p>
<ul>
<li><a href="http://www.percona.com/">Percona MySQL</a> 5.1  &#8211; clients now have privileges to create and run stored procedures/triggers.  InnoDB performance is <a href="http://www.mysqlperformanceblog.com/2010/04/21/mysql-5-5-4-in-tpcc-like-workload/">greatly improved</a>, on par with MySQL 5.5</li>
<li><a href="http://mercurial.selenic.com/">Mercurial</a> + <a href="http://bazaar.canonical.com/en/">Bazaar</a>- two revision control tools clients have asked for in the past</li>
<li><a href="http://www.modrails.com/">mod_rails</a> 2.2.15 &#8211; Rails and Rack functionality tested and working 100%</li>
<li><a href="http://www.horde.org/groupware/">Horde Groupware</a> &#8211; enhanced webmail now includes a calendar with memo and task-creation capabilities</li>
<li><a href="http://www.vim.org/">Vim</a> 7.2 &#8211; support for tabs</li>
<li><a href="http://sourceforge.net/apps/trac/pyzor/">Pyzor</a> &#8211; additional spam filter, which will enhance filtering capabilities</li>
</ul>
<p><strong>Suexec Changes<br />
</strong>Clients bemoaned a super-restrictive suexec wrapper that, in all honesty, was a little <em>too </em>restrictive:  (1) FastCGI/CGI applications could not be executed inside <em>/home/user</em>, but could inside <em>/home/user/public_html</em>; (2) 775 parent directory permissions would cause a failure regardless of who owns the folder complicating Rails dispatcher deployment (you should be using mod_rails now!); (3) best of all, suexec logs, which contained invaluable clues why a script was denied execution, were never logged to your account!  All three of these problems have been resolved with a new suexec wrapper and those error messages?  Check <em>/var/log/httpd/suexec.log</em> <img src='http://updates.apisnetworks.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p>Want to be a part of Apollo?  Open up a ticket beginning Monday for a server migration.  This process takes approximately 24 hours for a preparatory phase, followed by the actual move.  Moves take less than 5 minutes to complete and DNS is updated automatically.</p>
<p>Thank you everyone for your feedback,<br />
Matt</p>
]]></content:encoded>
			<wfw:commentRss>http://updates.apisnetworks.com/2010/08/introducing-apollo-our-next-generation-platform/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Circuit Upgrade: August 13th 11 PM EDT</title>
		<link>http://updates.apisnetworks.com/2010/08/circuit-upgrade-august-13th-11-pm-edt/</link>
		<comments>http://updates.apisnetworks.com/2010/08/circuit-upgrade-august-13th-11-pm-edt/#comments</comments>
		<pubDate>Fri, 06 Aug 2010 21:11:09 +0000</pubDate>
		<dc:creator>Matt</dc:creator>
				<category><![CDATA[Maintenance]]></category>

		<guid isPermaLink="false">http://updates.apisnetworks.com/?p=492</guid>
		<description><![CDATA[A maintenance window has been set for Friday, August 13th beginning at 11 PM EDT (-0400 GMT).  During this time, all servers will be offline while we upgrade circuit capacity.  Downtime is expected to last fewer than 10 minutes.  DNS has been migrated to an external location (64.22.68.60 -&#62; 208.77.97.139) to accommodate for the total [...]]]></description>
			<content:encoded><![CDATA[<p>A maintenance window has been set for Friday, August 13th beginning at 11 PM EDT (-0400 GMT).  During this time, all servers will be offline while we upgrade circuit capacity.  Downtime is expected to last fewer than 10 minutes.  DNS has been migrated to an external location (64.22.68.60 -&gt; 208.77.97.139) to accommodate for the total outage.</p>
]]></content:encoded>
			<wfw:commentRss>http://updates.apisnetworks.com/2010/08/circuit-upgrade-august-13th-11-pm-edt/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Augend: memory + storage upgrade tomorrow</title>
		<link>http://updates.apisnetworks.com/2010/07/augend-memory-storage-upgrade-tomorrow/</link>
		<comments>http://updates.apisnetworks.com/2010/07/augend-memory-storage-upgrade-tomorrow/#comments</comments>
		<pubDate>Wed, 21 Jul 2010 05:20:53 +0000</pubDate>
		<dc:creator>Matt</dc:creator>
				<category><![CDATA[Maintenance]]></category>
		<category><![CDATA[Service Upgrades]]></category>

		<guid isPermaLink="false">http://updates.apisnetworks.com/?p=488</guid>
		<description><![CDATA[Augend will be taken offline tomorrow, July 22 between 1 AM and 2 AM EDT (-0400 GMT) to upgrade memory and storage.  During this time the server will be taken offline for approximately 10 &#8211; 20 minutes to replace memory and sync drives.  A second reboot will be necessary in the coming days to finalize [...]]]></description>
			<content:encoded><![CDATA[<p>Augend will be taken offline tomorrow, July 22 between 1 AM and 2 AM EDT (-0400 GMT) to upgrade memory and storage.  During this time the server will be taken offline for approximately 10 &#8211; 20 minutes to replace memory and sync drives.  A second reboot will be necessary in the coming days to finalize upgrading storage.  A memory upgrade is necessary to offload virtual memory pressure caused by nightly backups, which occurs as memory usage swells during file backup verification.</p>
<p><strong>2:44 AM Update</strong>: maintenance window is now closed.  RAID is rebuilding and should be completed by the morning (ETA ~5 hours)</p>
]]></content:encoded>
			<wfw:commentRss>http://updates.apisnetworks.com/2010/07/augend-memory-storage-upgrade-tomorrow/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Interim Hosting Platform</title>
		<link>http://updates.apisnetworks.com/2010/06/interim-hostin-platform/</link>
		<comments>http://updates.apisnetworks.com/2010/06/interim-hostin-platform/#comments</comments>
		<pubDate>Wed, 16 Jun 2010 20:01:46 +0000</pubDate>
		<dc:creator>Matt</dc:creator>
				<category><![CDATA[Miscellaneous]]></category>

		<guid isPermaLink="false">http://updates.apisnetworks.com/?p=478</guid>
		<description><![CDATA[As we wait patiently for RHEL6 to exit beta testing, we are rolling out an interim platform built around CentOS 5.5.  So far clients would like to see MySQL 5.1, Bazaar, and Mercurial support &#8211; all of which are coming.  Major changes slated for the fifth generation, such as memory containers and a revised filesystem [...]]]></description>
			<content:encoded><![CDATA[<p>As we wait patiently for <a href="http://www.redhat.com/rhel/beta/">RHEL6</a> to exit beta testing, we are rolling out an interim platform built around <a href="http://lists.centos.org/pipermail/centos-announce/2010-May/016638.html">CentOS 5.5</a>.  So far clients would like to see MySQL 5.1, <a href="http://bazaar.canonical.com/en/">Bazaar</a>, and <a href="http://mercurial.selenic.com/">Mercurial</a> support &#8211; all of which are coming.  Major changes slated for the <a href="http://wiki.apisnetworks.com/index.php/Fifth_Generation">fifth generation</a>, such as memory containers and a revised filesystem layout, are too disruptive to mix into our present environment.  Look forward to those features later in the year assuming RHEL6 debuts in 2010.</p>
<p>Existing clients who would like to utilize Mercurial, Bazaar, or MySQL 5.1 (trigger/stored procedure support) can be migrated to the interim server beginning in July.  Until then, <a href="matt+feedback@apisnetworks.com">let me know</a> of any other applications you would like to see.  &#8220;Apollo&#8221; will be deployed in 2 weeks.</p>
<p>- Matt (<a href="http://forums.apisnetworks.com/showthread.php?t=490">discussion</a>)</p>
<p><a href="http://updates.apisnetworks.com/wp-content/uploads/2010/06/step-server.jpg" rel="lightbox[478]"><img class="aligncenter size-medium wp-image-481" title="Step Lives" src="http://updates.apisnetworks.com/wp-content/uploads/2010/06/step-server-300x136.jpg" alt="Step Lives" width="300" height="136" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://updates.apisnetworks.com/2010/06/interim-hostin-platform/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>apnscp Update Journal</title>
		<link>http://updates.apisnetworks.com/2010/05/apnscp-update-journal/</link>
		<comments>http://updates.apisnetworks.com/2010/05/apnscp-update-journal/#comments</comments>
		<pubDate>Wed, 19 May 2010 02:15:08 +0000</pubDate>
		<dc:creator>Matt</dc:creator>
				<category><![CDATA[apnscp Updates]]></category>

		<guid isPermaLink="false">http://updates.apisnetworks.com/?p=470</guid>
		<description><![CDATA[Time for another periodic listing of apnscp updates over the last few months.  The following changes are mostly fixes or minor enhancements to improve usability of the interface.  Two new notable features found their way into apnscp in March: IMAP/POP3 bandwidth logging (Reports &#62; Bandwidth Breakdown) and control panel access restrictions (Users &#62; Manage Users).  [...]]]></description>
			<content:encoded><![CDATA[<p>Time for another periodic listing of apnscp updates over the last few months.  The following changes are mostly fixes or minor enhancements to improve usability of the interface.  Two new notable features found their way into apnscp in March: IMAP/POP3 bandwidth logging (Reports &gt; Bandwidth Breakdown) and control panel access restrictions (Users &gt; Manage Users).  New features are in the pipeline now that apnscp is bug-free <img src='http://updates.apisnetworks.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<div id="attachment_471" class="wp-caption alignnone" style="width: 388px"><a href="http://updates.apisnetworks.com/wp-content/uploads/2010/05/cp-permit.png" rel="lightbox[470]"><img class="size-full wp-image-471" title="Control Panel Permission" src="http://updates.apisnetworks.com/wp-content/uploads/2010/05/cp-permit.png" alt="New feature to permit/deny control panel access for users." width="378" height="249" /></a><p class="wp-caption-text">New feature to permit/deny control panel access for users.</p></div>
<ul>
<li>NEW: IMAP/POP3 bandwidth logging</li>
<li>NEW: control panel permit/deny (Manage Users, User Defaults)</li>
<li>FIX: rename focuses on search box instead of active row (Manage Mailboxes)</li>
<li>FIX: DNS Manager hostname canonicalization ignores subdomain resulting in former DNS records remaining in cache (DNS Manager)</li>
<li>FIX: JS blur event fired on scheduling option &#8220;Custom&#8221; hides scheduling fields even if &#8220;Custom&#8221; is still checked (Crontab)</li>
<li>FIX: $link property set for all translated paths (File)</li>
<li>FIX: uconf-driver &#8220;add&#8221; operation returns Util_Process status, which should instead be the status code (Urchin)</li>
<li>FIX: mailbox selection checkbox cancels click event (Manage Mailboxes)</li>
<li>FIX: mysql user properties incorrectly displays last user (Manage MySQL)</li>
<li>FIX: last page data overwritten following session re-initialization (Auth)</li>
<li>FIX: parsing FTP records may exhaust memory limit with a sufficiently large file (Tabulate Bandwidth)</li>
<li>FIX: update phpMyAdmin to login properly with phpMyAdmin 3.3 (phpMyAdmin)</li>
<li>FIX: ensure no stale session data remains from a previous login when switching roles (Auth)</li>
<li>FIX: corrupted MySQL stored password (phpMyAdmin)</li>
<li>FIX: delete()- glob matches yielding no items treats the pattern as a real file (File)</li>
<li>FIX: delete_mysql_user() cannot delete MySQL users (SQL)</li>
<li>FIX: check if referent exists before accessing symlink in stat() (File)</li>
<li>FIX: cache miss on stat() lookup for filesystem root generates error (File)</li>
<li>FIX: corrupted backtraces (Error Reporter)</li>
<li>FIX: IP-based HTTP requests fail site resolution (Bandwidth Logger)</li>
<li>FIX: UTF-8 file encoding garbled (File Manager)</li>
<li>FIX: process exit code regex conversion ignores integers (Process)</li>
<li>FIX: exit code ignored (Process)</li>
<li>FIX: master/worker premature input drain (apnscpd)</li>
<li>FIX: page view statistics are not saved (UCard)</li>
<li>FIX: user quota reported as account quota (Manage Users)</li>
<li>FIX: scrollable div seek broken (apnscp JS)</li>
<li>FIX: exit codes are ignored (Process)</li>
<li>FIX: workers can block indefinitely during interrupted master/worker hand-off (apnscpd)</li>
<li>FIX: extraction/listing fails for tar archives (File)</li>
<li>CHG: is() and is_error() should adhere to method signature by returning bool (Error Reporter)</li>
<li>CHG: permit mix-case mailboxes (Manage Mailboxes)</li>
<li>CHG: all &#8220;Select All&#8221; field control to mailboxes (Manage Mailboxes)</li>
<li>CHG: remove domain from http domain map before disassociating from account metadata (Aliases)</li>
<li>CHG: skip /proc ACL calcuations (File)</li>
<li>CHG: display insufficient information message if insufficient information for bandwidth projections (Bandwidth Statistics)</li>
<li>CHG: ignore special _invoke() module method when fetching caller (Error Reporter)</li>
<li>CHG: Update urchin to handle new http log format (ident field contains vhost)</li>
<li>CHG: Upgrade FCKEditor to CKEditor (File Manager)</li>
<li>CHG: properties action (File Manager)</li>
<li>CHG: suppress repeated errors (Error Reporter)</li>
<li>CHG: allow subdomain creation if subdomain directory exists and html symlink does not (Web)</li>
<li>CHG: prevent catch-all creation on forwarded addresses (Manage Mailboxes)</li>
<li>CHG: clarify select box for local user inclusion on forwards (Manage Mailboxes)</li>
<li>CHG: support singular http bandwidth log format</li>
<li>CHG: clarify unlimited quota by separate input control (Manage Users, User Defaults)</li>
<li>CHG: prior to assuming apnscpd is running, verify process name matches executable (apnscpd)</li>
<li>CHG: permit database deletion if db matches site prefix and admin user is not privileged (SQL)</li>
<li>CHG: input focus changes border color in IE7 (CSS)</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://updates.apisnetworks.com/2010/05/apnscp-update-journal/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Aleph: KVM replacement Tuesday</title>
		<link>http://updates.apisnetworks.com/2010/05/aleph-kvm-replacement-tuesday/</link>
		<comments>http://updates.apisnetworks.com/2010/05/aleph-kvm-replacement-tuesday/#comments</comments>
		<pubDate>Mon, 17 May 2010 00:04:07 +0000</pubDate>
		<dc:creator>Matt</dc:creator>
				<category><![CDATA[Maintenance]]></category>

		<guid isPermaLink="false">http://updates.apisnetworks.com/?p=464</guid>
		<description><![CDATA[Aleph (64.22.68.12) will be taken down on Tuesday, May 18 at 12:30 AM EDT (-0400 GMT) to replace a faulty KVM card within the server.  This maintenance window will take approximately 10 minutes to complete after which time Aleph will be brought back online.
1:07 AM: KVM has been replaced and properly configured at this time.
]]></description>
			<content:encoded><![CDATA[<p>Aleph (64.22.68.12) will be taken down on Tuesday, May 18 at 12:30 AM EDT (-0400 GMT) to replace a faulty KVM card within the server.  This maintenance window will take approximately 10 minutes to complete after which time Aleph will be brought back online.</p>
<p>1:07 AM: KVM has been replaced and properly configured at this time.</p>
]]></content:encoded>
			<wfw:commentRss>http://updates.apisnetworks.com/2010/05/aleph-kvm-replacement-tuesday/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>NIC Changes Tonight</title>
		<link>http://updates.apisnetworks.com/2010/05/nic-changes-tonight/</link>
		<comments>http://updates.apisnetworks.com/2010/05/nic-changes-tonight/#comments</comments>
		<pubDate>Wed, 12 May 2010 00:59:00 +0000</pubDate>
		<dc:creator>Matt</dc:creator>
				<category><![CDATA[Maintenance]]></category>

		<guid isPermaLink="false">http://updates.apisnetworks.com/?p=458</guid>
		<description><![CDATA[A maintenance window has been set tonight between 10 PM and 12 AM EDT (-0400 GMT) to finish cabinet re-cabling and bring up the new NICs.  Previous interfaces will be brought down, while the new interfaces are turned up.  This process will result in a brief 1 minute outage for each server as networks are [...]]]></description>
			<content:encoded><![CDATA[<p>A maintenance window has been set tonight between 10 PM and 12 AM EDT (-0400 GMT) to finish cabinet re-cabling and bring up the new NICs.  Previous interfaces will be brought down, while the new interfaces are turned up.  This process will result in a brief 1 minute outage for each server as networks are changed over.  New NICs provide TCP offload support that will improve CPU performance by offloading TCP stack processing to a dedicated processor on board the network card.</p>
<p>1:10 AM: Maintenance window is closed.  All servers are online.</p>
]]></content:encoded>
			<wfw:commentRss>http://updates.apisnetworks.com/2010/05/nic-changes-tonight/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Multiple Service Upgrades &#8211; Friday</title>
		<link>http://updates.apisnetworks.com/2010/03/multiple-service-upgrades-friday/</link>
		<comments>http://updates.apisnetworks.com/2010/03/multiple-service-upgrades-friday/#comments</comments>
		<pubDate>Thu, 25 Mar 2010 20:07:42 +0000</pubDate>
		<dc:creator>Matt</dc:creator>
				<category><![CDATA[Maintenance]]></category>

		<guid isPermaLink="false">http://updates.apisnetworks.com/?p=454</guid>
		<description><![CDATA[After a two week testing period, several services will be upgraded to the latest software distributions on Friday March 25 beginning at 11 PM EDT (-0400 GMT) .   Affected services may be briefly inaccessible shortly after 11 PM.  Changes will provide improvements to performance and stability, as well as new features.  The list of upgrades [...]]]></description>
			<content:encoded><![CDATA[<p>After a two week testing period, several services will be upgraded to the latest software distributions on Friday March 25 beginning at 11 PM EDT (-0400 GMT) .   Affected services may be briefly inaccessible shortly after 11 PM.  Changes will provide improvements to performance and stability, as well as new features.  The list of upgrades includes:</p>
<ul>
<li>Apache (http server): general security upgrade</li>
<li>Dovecot (IMAP/POP3): performance and security improvements, major upgrade from 1.0 -&gt; 1.2</li>
<li>Postfix (SMTP): performance upgrade 2.5 -&gt; 2.7</li>
<li>SpamAssassin (spam filtering): improved spam filtering capabilities, major upgrade from 3.2 -&gt; 3.3</li>
<li>vsftpd (FTP): security upgrade, 2.1 -&gt; 2.2</li>
</ul>
<p>11:37 PM: all upgrades have been completed.</p>
]]></content:encoded>
			<wfw:commentRss>http://updates.apisnetworks.com/2010/03/multiple-service-upgrades-friday/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Kernel upgrade &#8211; March 15</title>
		<link>http://updates.apisnetworks.com/2010/03/kernel-upgrade-march-15/</link>
		<comments>http://updates.apisnetworks.com/2010/03/kernel-upgrade-march-15/#comments</comments>
		<pubDate>Sun, 14 Mar 2010 05:24:00 +0000</pubDate>
		<dc:creator>Matt</dc:creator>
				<category><![CDATA[Maintenance]]></category>

		<guid isPermaLink="false">http://updates.apisnetworks.com/?p=451</guid>
		<description><![CDATA[Servers will be taken down tomorrow, Monday, March 15th at 12 AM EST (-0500 GMT) for a kernel upgrade to add VLAN support for our backend backup system.  Anticipate a 5 minute outage as servers are taken down, then restarted with the latest kernel.
]]></description>
			<content:encoded><![CDATA[<p>Servers will be taken down tomorrow, Monday, March 15th at 12 AM EST (-0500 GMT) for a kernel upgrade to add VLAN support for our backend backup system.  Anticipate a 5 minute outage as servers are taken down, then restarted with the latest kernel.</p>
]]></content:encoded>
			<wfw:commentRss>http://updates.apisnetworks.com/2010/03/kernel-upgrade-march-15/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>apnscp Update: performance improvements, mod_rails, Ruby 1.9, over 75 changes!</title>
		<link>http://updates.apisnetworks.com/2010/01/apnscp-update-performance-improvements-mod_rails-ruby-1-9-over-75-changes/</link>
		<comments>http://updates.apisnetworks.com/2010/01/apnscp-update-performance-improvements-mod_rails-ruby-1-9-over-75-changes/#comments</comments>
		<pubDate>Thu, 21 Jan 2010 01:13:10 +0000</pubDate>
		<dc:creator>Matt</dc:creator>
				<category><![CDATA[apnscp Updates]]></category>

		<guid isPermaLink="false">http://updates.apisnetworks.com/?p=427</guid>
		<description><![CDATA[Welcome to another edition of apnscp changes!  Important changes include Rails infrastructure changes from Ruby 1.8 + FastCGI to Ruby 1.9 + mod_rails, new multiple worker backend (apnscpd), CDN to distribute static content with minimal bandwidth overhead (http://getap.is), and an aggressive caching  framework to reduce bottlenecks.
mod_rails
After several custom patches, mod_rails is a possibility for our [...]]]></description>
			<content:encoded><![CDATA[<p>Welcome to another edition of apnscp changes!  Important changes include Rails infrastructure changes from Ruby 1.8 + FastCGI to Ruby 1.9 + <a href="http://www.modrails.com/">mod_rails</a>, new multiple worker backend (apnscpd), CDN to distribute static content with minimal bandwidth overhead (http://getap.is), and an aggressive caching  framework to reduce bottlenecks.</p>
<h2><strong>mod_rails</strong></h2>
<p>After several custom patches, mod_rails is a possibility for our clients.  mod_rails provides the same great, secure setup experienced with FastCGI, but without the nasty suexec headaches.  Perform an upgrade from Ruby 1.8 via Development &gt; Code Frameworks.  Gems will be migrated to Ruby 1.9 during the upgrade process.  After upgrading add the necessary .htaccess directives found in the <a href="http://wiki.apisnetworks.com/index.php/Rails_Quickstart">Rails Quickstart</a></p>
<div id="attachment_444" class="wp-caption alignnone" style="width: 563px"><a href="http://updates.apisnetworks.com/wp-content/uploads/2010/01/apnscp-Code-Frameworks_1264033271221.png" rel="lightbox[427]"><img class="size-full wp-image-444  " title="Ruby 1.9" src="http://updates.apisnetworks.com/wp-content/uploads/2010/01/apnscp-Code-Frameworks_1264033271221.png" alt="Ruby 1.9 is here" width="553" height="144" /></a><p class="wp-caption-text">Ruby 1.9 is here</p></div>
<h2>Easy Task Scheduling (@token)</h2>
<p>Another nice feature coming on the heels of a planned server outage is support for crontab @ time tokens.   @reboot executes a task on start-up, which obsoletes rc.d support, @hourly executes once per hour, @daily, @weekly, @monthly, and @yearly are additional special times recognized by crontab.  Each scheduling time is guaranteed to execute once during an interval, but the minute/hour vary.  Both minutes (@hourly/&#8230;/@yearly) and hours (@daily/&#8230;/@yearly) are evenly distributed among all accounts to prevent CPU bottlenecks caused, for example, by multiple hourly tasks occurring at 12:00 AM, 1:oo AM, 2:00 AM&#8230;</p>
<div id="attachment_443" class="wp-caption alignnone" style="width: 563px"><a href="http://updates.apisnetworks.com/wp-content/uploads/2010/01/crontab.png" rel="lightbox[427]"><img class="size-full wp-image-443  " title="crontab" src="http://updates.apisnetworks.com/wp-content/uploads/2010/01/crontab.png" alt="New Crontab Interface" width="553" height="125" /></a><p class="wp-caption-text">New Crontab Interface</p></div>
<h2>apnscpd multi-tasking backend</h2>
<p>Finally, the nicest improvement, based upon effort, includes a bevvy of performance optimizations culminating with a client-server replacement for the single-user privileged processor necessary for carrying out filesystem management of the account&#8230; that forked on <em>every</em> single privileged request.  For example, loading up the File Manager may generate as many as 5 separate forks of the privileged processor &#8220;lservice&#8221; [this name is about as old as the concept apnscp itself].  Now a master distributes work to one of several concurrent workers awaiting further instruction.  Best of all no additional forking required unless a worker dies on the job.   Another area of concern included sharing caches between the privileged processor and UI.  This was solved by implementing multi-tiered <a href="http://en.wikipedia.org/wiki/Memcached">memcached</a> framework.</p>
<p>As a comparative benchmark, requesting directory contents within the File Manager has <strong>decreased from 250 ms per request to 17 ms</strong> &#8211; a 14x improvement.  Speeding up code wasn&#8217;t enough.  Static content is now offloaded to a separate CDN (http://getap.is &#8211; clever?) to eliminate cookies, add caching, and reduce bandwidth overhead too.  Overall the latest set of changes should produce a noticeable improvement in responsiveness and allow you to get things done faster than ever before.</p>
<p>Assuming that spiel wasn&#8217;t enough to put you to sleep, here is your night cap in the form of a changelog:</p>
<ul>
<li>NEW: Ruby 1.9</li>
<li>NEW: Util_Process_Tee &#8211; read from program standard input, write to external file (replaces built-in tee from Module Skeleton)</li>
<li>NEW: account delete/edit hooks</li>
<li>NEW: unified global/account/session cache support shared between UI and privileged processor</li>
<li>NEW: multi-process privileged processor framework, 8x throughput improvement, handles multiple requests concurrently (apnscpd)</li>
<li>NEW: delete Urchin profiles/log sources (Urchin)</li>
<li>NEW: stream multiple commands to privileged processor (DataStream)</li>
<li>NEW: recompose()- build regular expressions from multiple subexpressions (REGEX)</li>
<li>NEW: user preferences (UCard)</li>
<li>NEW: FTP bandwidth usage</li>
<li>NEW: Styled, scrollable control with mousewheel support based upon jQuery Slider (Manage MySQL)</li>
<li>NEW: raw PHP code interpreter (CLI)</li>
<li>FIX: 201X backup rotation (Database Backup)</li>
<li>FIX: printf named argument parsing (%(foo)s, %(bar)d) (Process)</li>
<li>FIX: path transation corruption (File)</li>
<li>FIX: bogus worker starvation response (apnscpd)</li>
<li>FIX: Mode fixation on first auth handler triggered on start (Auth)</li>
<li>FIX: non-interactive auth requests fail (Auth::CLI)</li>
<li>FIX: session fixation (Auth)</li>
<li>FIX: reset buffer status during worker initialization (apnscd)</li>
<li>FIX: ftp usernames reported as site id (Bandwidth Logging)</li>
<li>FIX: escape shell special characters in Urchin passwords</li>
<li>FIX: apnscp version is not cached due to incorrect key (Page Template)</li>
<li>FIX: backtrace argument corruption (Error Reporter)</li>
<li>FIX: purge file metadata cache on chmod/chown (File)</li>
<li>FIX: Modifying DNS cache duplicates parameter values consisting of multiple, space-delimited tokens (DNS)</li>
<li>FIX: interrupt user creation process if usermod fails (User)</li>
<li>FIX: multiple billing invoices result in malformed query (Billing)</li>
<li>FIX: Profile changes result in &#8220;invalid token&#8221; error (Client Referrals)</li>
<li>FIX: DNS fails to propagate on multi-homed accounts (DNS)</li>
<li>FIX: uninitialized class reference in logfile callback (Add Subdomain)</li>
<li>FIX: IE6 modal header formatting (Modal)</li>
<li>FIX: refer to forms explicitly by name rather than position (SPF Wizard, Addon Domains)</li>
<li>FIX: action icons are hidden in IE7 (CSS)</li>
<li>CHG: result from apnscpd query returns return value instead of an object consisting of the return value among other unused flags (DataStream)</li>
<li>CHG: support multiple domains (FrontPage)</li>
<li>CHG: size-based rotation defaults to MB (Logrotate)</li>
<li>CHG: expand crontab times to accept hourly/daily/weekly/monthly/yearly/startup task times (Cronjob)</li>
<li>CHG: RESET flag flushes worker cache before processing a job (apnscpd)</li>
<li>CHG: sudo uid no longer mandatory, defaults to current uid of worker (Process::Sudo)</li>
<li>CHG: increase socket read buffer from 4k to 8k (apnscpd)</li>
<li>CHG: permit multiple A/AAAA DNS records for a given subdomain/RR (DNS)</li>
<li>CHG: Add reset flag to force apnscpd session reinitialization (DataStream)</li>
<li>CHG: dump auth profile instead of session data since class data is now extensively cached within sessions generating enormous bug reports (Error Reporter)</li>
<li>CHG: move archive extensions out of the constructor to enable archive recongition between cached module deserialization routines (File)</li>
<li>CHG: Performance: remove call_user_func_array() and invoke afi::__call() directly</li>
<li>CHG: Performance: save loaded modules between page requests (afi)</li>
<li>CHG: add deferrable/non-deferrable Javascript (Template)</li>
<li>CHG: notify if upgrade for Rails is available (Code Frameworks)</li>
<li>CHG: Reduce module skeleton footprint.  Migrate call_proc* functions to Util_Process_* classes, pam_* to Util_Pam, break inheritance from DataStream (Module Skeleton)</li>
<li>CHG: Page load improvements: use CDN for static assets, move /libjs to /js, flush HEAD immediately (Template)</li>
<li>CHG: Rename file_create_symlink to file_symlink (File)</li>
<li>CHG: adding a DNS record with no parameter raises an error (DNS)</li>
<li>CHG: Performance: lazy load class name changes (Conf::Util, Process)</li>
<li>CHG: Performance: optimize filesystem stat cache flushing frequency (File)</li>
<li>CHG: Performance: determine account info freshness from domain info mtime (Account Info)</li>
<li>CHG: Performance: cache get_users() response (User)</li>
<li>CHG: Performance: reset account metadata on login if current/ mtime does not match saved value (Auth::Account Info)</li>
<li>CHG: migrate user/account information to separate objects (User_Info, Account_Info)</li>
<li>CHG: check if database exists before creation (SQL)</li>
<li>CHG: sort search results based upon page view frequency (Search)</li>
<li>CHG: clarify formatting of password reset e-mail</li>
<li>CHG: show full help on first page view (Page Template)</li>
<li>CHG: Performance: stat()- cache all directory entries on first run to improve response of related directory queries (File)</li>
<li>CHG: cleanup aliases module</li>
<li>CHG: obsolete common_*news* news functions, use http://updates.apisnetworks.com (Common)</li>
<li>CHG: extract()- skip chown operation on empty archives (File)</li>
<li>CHG: Ignore deprecation notice in Net/Whois.php (DNS)</li>
<li>CHG: Separate MySQL Manager into 2 distinct views, populate only active user/database editor metadata (MySQL Manager)</li>
<li>CHG: cacheless session switching between clients (CLI)</li>
<li>CHG: redirect /favicon.ico to /images/favicon.ico for broken browsers</li>
<li>CHG: update upload progress bar to apnscp 2 (File Upload)</li>
<li>CHG: disable postback indicator triggered on login via session id (Dashboard)</li>
<li>CHG: remove tooltip MySQL cache as it is now part of the short-term session cache</li>
<li>REM: italicized property from hinted input elements (CSS)</li>
<li>REM: get_php_version()- PHP4 information (Common)</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://updates.apisnetworks.com/2010/01/apnscp-update-performance-improvements-mod_rails-ruby-1-9-over-75-changes/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
