<?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/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>OS X hosting, Xserves, Mac Minis, G4's, G5s &#187; Leopard</title>
	<atom:link href="http://osxhosting.wordpress.com/category/leopard/feed/" rel="self" type="application/rss+xml" />
	<link>http://osxhosting.wordpress.com</link>
	<description>Here for all your hosting and support.</description>
	<lastBuildDate>Tue, 11 Mar 2008 20:29:27 +0000</lastBuildDate>
	<generator>http://wordpress.com/</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<cloud domain='osxhosting.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://www.gravatar.com/blavatar/f7549305a56795da1e92226a75a1d574?s=96&#038;d=http://s.wordpress.com/i/buttonw-com.png</url>
		<title>OS X hosting, Xserves, Mac Minis, G4's, G5s &#187; Leopard</title>
		<link>http://osxhosting.wordpress.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://osxhosting.wordpress.com/osd.xml" title="OS X hosting, Xserves, Mac Minis, G4&#8217;s, G5s" />
		<item>
		<title>XSAN MultiSAN</title>
		<link>http://osxhosting.wordpress.com/2008/03/11/xsan-multisan/</link>
		<comments>http://osxhosting.wordpress.com/2008/03/11/xsan-multisan/#comments</comments>
		<pubDate>Tue, 11 Mar 2008 20:27:11 +0000</pubDate>
		<dc:creator>montanaflynn</dc:creator>
				<category><![CDATA[Leopard]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[Xserve]]></category>
		<category><![CDATA[collaboration]]></category>
		<category><![CDATA[multiSAN]]></category>
		<category><![CDATA[volumes]]></category>
		<category><![CDATA[XSAN]]></category>

		<guid isPermaLink="false">http://osxhosting.wordpress.com/2008/03/11/xsan-multisan/</guid>
		<description><![CDATA[

Now a single workstation or server can access Xsan volumes simultaneously. MultiSAN is ideal for users who need to access multiple Xsan volumes from the same workstation or server, such as newsrooms with separate SAN volumes for production and broadcast.
MultiSAN allows a single workstation or server to access Xsan volumes hosted by separate Xsan metadata [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=osxhosting.wordpress.com&blog=2660922&post=35&subd=osxhosting&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><div class="column first">
<h2><img src="http://images.apple.com/xsan/features/images/multisan_title20080219.gif" alt="One for all. All for one." height="18" width="223" /></h2>
<p>Now a single workstation or server can access Xsan volumes simultaneously. MultiSAN is ideal for users who need to access multiple Xsan volumes from the same workstation or server, such as newsrooms with separate SAN volumes for production and broadcast.</p>
<p><img src="http://images.apple.com/xsan/features/images/multisan_drives20080219.jpg" alt="Drives" class="left icon" height="111" width="102" />MultiSAN allows a single workstation or server to access Xsan volumes hosted by separate Xsan metadata controllers. Hosting volumes on separate Xsan controllers can improve the performance, reliability, and sustainability of critical volumes. Each volume is independently hosted, so a failure of any one volume does not affect another.</p>
<div class="column last"> 						<img src="http://images.apple.com/xsan/features/images/multisan_productionsan20080219.jpg" alt="Production" class="across center" height="216" width="313" />Users can copy data between Xsan volumes directly over Fibre Channel. Prior to Xsan 2 and MultiSAN, data had to be moved over a slower Ethernet connection to copy data from one independent Xsan volume to another. With Fibre Channel, production workflows are significantly more efficient, and greater collaboration can be achieved.</p>
<p><img src="http://images.apple.com/xsan/features/images/multisan_diagram20080208.jpg" alt="MultiSAN Diagram" class="diagram" border="0" height="294" width="459" /></div>
</div>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/osxhosting.wordpress.com/35/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/osxhosting.wordpress.com/35/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/osxhosting.wordpress.com/35/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/osxhosting.wordpress.com/35/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/osxhosting.wordpress.com/35/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/osxhosting.wordpress.com/35/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/osxhosting.wordpress.com/35/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/osxhosting.wordpress.com/35/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/osxhosting.wordpress.com/35/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/osxhosting.wordpress.com/35/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/osxhosting.wordpress.com/35/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/osxhosting.wordpress.com/35/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=osxhosting.wordpress.com&blog=2660922&post=35&subd=osxhosting&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://osxhosting.wordpress.com/2008/03/11/xsan-multisan/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/1bb0ea156c7154f63c261bc6b83587dc?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">montanaflynn</media:title>
		</media:content>

		<media:content url="http://images.apple.com/xsan/features/images/multisan_title20080219.gif" medium="image">
			<media:title type="html">One for all. All for one.</media:title>
		</media:content>

		<media:content url="http://images.apple.com/xsan/features/images/multisan_drives20080219.jpg" medium="image">
			<media:title type="html">Drives</media:title>
		</media:content>

		<media:content url="http://images.apple.com/xsan/features/images/multisan_productionsan20080219.jpg" medium="image">
			<media:title type="html">Production</media:title>
		</media:content>

		<media:content url="http://images.apple.com/xsan/features/images/multisan_diagram20080208.jpg" medium="image">
			<media:title type="html">MultiSAN Diagram</media:title>
		</media:content>
	</item>
		<item>
		<title>Full Review of OSX Leopard Server</title>
		<link>http://osxhosting.wordpress.com/2008/02/21/full-review-of-osx-leopard-server/</link>
		<comments>http://osxhosting.wordpress.com/2008/02/21/full-review-of-osx-leopard-server/#comments</comments>
		<pubDate>Thu, 21 Feb 2008 17:45:07 +0000</pubDate>
		<dc:creator>montanaflynn</dc:creator>
				<category><![CDATA[Leopard]]></category>
		<category><![CDATA[OSX]]></category>
		<category><![CDATA[Servers]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[caldav]]></category>
		<category><![CDATA[directory]]></category>
		<category><![CDATA[ical]]></category>
		<category><![CDATA[iMIP]]></category>
		<category><![CDATA[iTIP]]></category>
		<category><![CDATA[ldap]]></category>
		<category><![CDATA[mail]]></category>
		<category><![CDATA[NT domain]]></category>
		<category><![CDATA[Server]]></category>
		<category><![CDATA[streaming]]></category>
		<category><![CDATA[webdav]]></category>
		<category><![CDATA[wiki]]></category>

		<guid isPermaLink="false">http://osxhosting.wordpress.com/?p=33</guid>
		<description><![CDATA[If you don&#8217;t belong to the cult of Mac, you might ignore the release of Apple&#8217;s new OS X Server 10.5, codenamed Leopard. That would be a shame, particularly for small and midsize enterprises, including those with mixed Apple and Windows clients, or even all-Microsoft shops.

Stop snickering. Apple produces a pretty decent server operating system [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=osxhosting.wordpress.com&blog=2660922&post=33&subd=osxhosting&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>If you don&#8217;t belong to the cult of Mac, you might ignore the release of Apple&#8217;s new OS X Server 10.5, codenamed Leopard. That would be a shame, particularly for small and midsize enterprises, including those with mixed Apple and Windows clients, or even all-Microsoft shops.</p>
<p><img src="http://images.apple.com/server/macosx/features/images/admin_icon20071009.png" alt="Server Admin" class="right icon" style="float:right;margin-left:12px;" border="0" height="103" width="100" /><br />
Stop snickering. Apple produces a pretty decent server operating system and server hardware. We chased Leopard around our Real-World lab and came away pleased on most fronts. This new server OS is ready for work. The e-mail platform connects to Active Directory and bundles AV and anti-spam software without pesky client access licenses. A spiffed-up calendar application can serve as a group scheduler. VPN services can host 500 users per Intel Xserve. In a first for Apple, IP failover provides high availability, and TimeMachine enables easily deployed server-based client backup. Leopard Server can even mimic an NT domain controller.<b> </b></p>
<p><b>Everyone knows Mac is great for creating multimedia. Leopard maintains that reputation, and also makes it easier to distribute content online, including audio, video and photos.</b><span id="more-33"></span></p>
<p>On the downside, Leopard sometimes keeps things too simple. For instance, the calendar service and Web hosting are easy to set up and configure for one-server shops, but may require serious tweaking to function in more complex environments. When hiccups occur during setup or management, experienced administrators may find the built-in help and product documentation lacking. Apple also stumbles with a RADIUS deployment that&#8217;s only checked out for Apple Airport.</p>
<p><b><span class="subheadline">Get To Work</span></b></p>
<p>Apple says it wants to make Leopard a viable option for SMEs and workgroups in larger organizations. To that end, the Leopard dev team significantly overhauled OS X&#8217;s mail server, named Mail (wonder how long it took to think up that one). Leopard improves the client interface and offers ClamAV, SpamAssassin and SSL/TLS to boost security on the server end. Setup and configuration are fairly straightforward when integrated with Apple&#8217;s native Open Directory and LDAP, and Apple&#8217;s directory services can mimic an NT domain controller via Samba 3 for Windows clients, and/or connect to an existing Windows Active Directory.</p>
<div><img src="http://images.apple.com/server/macosx/features/images/admin_hero20071009.png" alt="Mac OS X Server Preferences Screenshot" border="0" height="273" width="485" /></div>
<p>OS X&#8217;s long-in-the-tooth calendar app, iCal, has graduated from single-user productivity tool to group scheduler and is now CalDAV-, iTIP- and iMIP-compliant. iCal supports robust scheduling options for users, groups and other resources listed and tagged in your corporate directory. Anyone familiar with Google Calendar will feel right at home with iCal. While the Exchange team probably isn&#8217;t getting nervous, these upgrades represent a huge leap for Apple in the corporate marketplace and are a solid platform for future development.</p>
<p>Also of note, Mail and iCal Server are free in 10.5, with none of the client-access licenses that Exchange requires. Is anyone outside of Cupertino going to run an enterprise messaging system on iCal and Mail? Probably not. Should a SME look to Leopard as a messaging platform on top of an Apple client base, a mixed Mac/Windows environment or, dare we say it, for a Windows shop? Yes. The price is right, and installation and management are simple.</p>
<p>Apple knows most folks (and IT shops) buy Macs in part for media creation and editing. The iLife suite bundled with every Mac client offers robust photo, video, audio, Web and DVD editing and publishing tools. Leopard has a number of complementary server-side applications to leverage iLife output in the enterprise. Past versions of OS X server bundled Mac-tuned Apache Web servers and other open-source ports for fairly straightforward Web and application hosting. Leopard does a much better job of simplifying the setup and administration of Web services.</p>
<p>And just as iLife simplifies media production on the client end, Leopard&#8217;s integrated Web services, Wiki Server, Quicktime Streaming Server, iChat/Jabber server and Podcast Producer simplify distribution of content. Podcast Producer absorbs feeds from client Macs, processes audio and video, and serves content in a variety of formats. This is neat stuff for a number of reasons: It streamlines content creation, centralizes media repositories, and simplifies the user experience. Podcast Producer is Xgrid-enabled, allowing the Leopard server to bring idle networked Macs into a distributed-computing grid to share the processing load. It&#8217;s render-farm technology brought to the masses.</p>
<p>We built and tore down a number of Web servers, collaborative wikis, and department file shares. We load tested a quad-core Xeon Xserve with twenty real simultaneous Mac and Windows clients against a &#8220;departmental&#8221; wiki-share and Mail server and barely impacted CPU utilization. We tied Leopard to an existing Open Directory/OpenLDAP with 500 users. We auth&#8217;ed a Leopard server to Kerberos. Everything worked just as expected from a network integration perspective.</p>
<p>Leopard&#8217;s initial setup from DVD or network image offers basic choices: Do you want this server to be a basic, workgroup or advanced server? What services do you want to host? Startup helpers load all required services based on your choices at installation, while the streamlined Server Preferences app simplifies management of key services once you&#8217;re up and running. Basic and workgroup configurations offer a streamlined server management application that is almost maddeningly simple for experienced administrators—on/off toggles with minimal configuration options.</p>
<p>The look and feel of the user interface mirrors Leopard client, with more animations, a revised dock, and a number of minor tweaks designed to simplify the look and feel of OS X. Overall this works, especially the automatic clean-up tools that organize the desktop and pop-up animations for dock folder contents. We like the evolutionary changes, and we were surprised at how much we grew to enjoy cover-flow browsing of network resources.</p>
<p><img src="http://images.apple.com/server/macosx/features/images/admin_icons20071009.png" alt="Server Preference Icon" style="float:left;margin-right:12px;" border="0" height="284" width="100" /><br />
Apple offers both a system preloaded with the new OS, or the standalone software. Apple&#8217;s current Xserves (the company&#8217;s name for its server appliances) are a surprisingly good deal: Two dual-core 64-bit Woodcrest Xeons in a base configuration are bundled with an unlimited client 64-bit server OS for under $3,000. It&#8217;s all wrapped in a pretty 1U case to boot. Apple has come a long way from pushing over-priced dual G4 Xserves at educational clients.</p>
<p>If preloading isn&#8217;t to your liking, Apple says its new server OS will run on any Intel or PowerPC G5 server or desktop Mac, and on any G4 Mac clocked at 867MHz or faster. A gig of RAM and 20GB of drive space are your other ticket to the party. Based on our experience, stick with dual-G5 or multi-core Intel Macs with 2GB RAM or better. Lower spec machines will run file or basic network services under Leopard, but will cripple the full feature set.</p>
<p>And let&#8217;s get one thing clear: Leopard server needs a Mac hardware platform to run; you should not try to run OS X on an extra Dell box. All efforts of the OSX86 project aside, you will end up frustrated and dissatisfied with the results.</p>
<p>The installation DVD contains 32- and 64-bit code for Intel and PowerPC Mac platforms. In fact, every in-place build of Leopard is 32/64 and Intel/PPC. To test Apple&#8217;s claims, we built a server on a dual G5 server using an external Firewire drive as our boot partition. We then successfully booted and ran Leopard from the Firewire drive on a six-year-old dual G4 Xserve and a 13&#8243; Macbook (32-bit platforms) and Xeon and G5 Xserves for 64-bit goodness. All platforms had wildly different hardware configurations, yet the OS ran without a single issue on each box, all server functionality intact.</p>
<p>Anyone out there willing to try that with Windows 2003?</p>
<p><b><span class="subheadline">Seeing Spots</span></b></p>
<p>One major knock against the new OS is that the built-in RADIUS service is vetted to support only Apple Airport base stations, though it is based on the open-source FreeRadius. You may get other APs to connect, but this is a significant gaffe if Apple is really serious about positioning Leopard for more than just Apple shops. Owners of PowerPC-based servers hoping to ramp up their podcasting will also be disappointed. It seems Podcast Producer is not universal; the server app is Intel-only due to Apple&#8217;s decision to go with the hardware acceleration in the Quartz-Extreme video chipset offered on all Intel Macs.</p>
<p>And despite the dead-simple installation, not everything was smooth sailing. Though iCal was a breeze to set up when we built a single-server &#8220;workgroup&#8221; configuration on a dual G5 Xserve with 2GB of RAM, we ran into hurdles elsewhere. For instance, we tried to configure iCal on a quad Xeon box configured as a member server in a Mac OS X 10.4 (Tiger) Open Directory environment. We couldn&#8217;t get iCal running without forcing a trusted bind back to our directory master.</p>
<p>We found this solution trolling the Apple support boards. We also found an alternate solution: a command-line edit of /etc/caldavd.plist that we didn&#8217;t have time to test in prep for this review. Two points to take away: We needed to go to the command line on a Mac, and our solution came from the user community. Linux users will appreciate the irony.</p>
<p>Finally, we lost access to one of our test platforms when we &#8220;demoted&#8221; it from a stand-alone directory master to being a member server. We were able to log in via network-based user accounts, but we were unable to administer the box. We ended up paving the installation. Apple rightly pointed out that most users would not be faced with our situation, and that Apple&#8217;s response would most likely be to rebuild, which we did.</p>
<p>On the whole, this is a substantial upgrade to Apple&#8217;s server offering, and we recommend shops running 10.4 to investigate. We also think non-Apple SMEs should take look, whether as a mail server, for collaboration or to facilitate the creation and distribution of multimedia content. OS X 10.5 Leopard is $499 for 10 clients, and $999 unlimited.</p>
<p><i>Joe Hernick is a contributing technical editor with InformationWeek and Network Computing. Write to him at jhernick@nwc.com.</i></p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/osxhosting.wordpress.com/33/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/osxhosting.wordpress.com/33/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/osxhosting.wordpress.com/33/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/osxhosting.wordpress.com/33/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/osxhosting.wordpress.com/33/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/osxhosting.wordpress.com/33/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/osxhosting.wordpress.com/33/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/osxhosting.wordpress.com/33/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/osxhosting.wordpress.com/33/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/osxhosting.wordpress.com/33/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/osxhosting.wordpress.com/33/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/osxhosting.wordpress.com/33/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=osxhosting.wordpress.com&blog=2660922&post=33&subd=osxhosting&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://osxhosting.wordpress.com/2008/02/21/full-review-of-osx-leopard-server/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/1bb0ea156c7154f63c261bc6b83587dc?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">montanaflynn</media:title>
		</media:content>

		<media:content url="http://images.apple.com/server/macosx/features/images/admin_icon20071009.png" medium="image">
			<media:title type="html">Server Admin</media:title>
		</media:content>

		<media:content url="http://images.apple.com/server/macosx/features/images/admin_hero20071009.png" medium="image">
			<media:title type="html">Mac OS X Server Preferences Screenshot</media:title>
		</media:content>

		<media:content url="http://images.apple.com/server/macosx/features/images/admin_icons20071009.png" medium="image">
			<media:title type="html">Server Preference Icon</media:title>
		</media:content>
	</item>
		<item>
		<title>W3C HTML Validator on OS X</title>
		<link>http://osxhosting.wordpress.com/2008/01/30/w3c-html-validator-on-os-x/</link>
		<comments>http://osxhosting.wordpress.com/2008/01/30/w3c-html-validator-on-os-x/#comments</comments>
		<pubDate>Wed, 30 Jan 2008 18:06:17 +0000</pubDate>
		<dc:creator>montanaflynn</dc:creator>
				<category><![CDATA[Leopard]]></category>
		<category><![CDATA[OSX]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[Web Development]]></category>
		<category><![CDATA[compliant]]></category>
		<category><![CDATA[html]]></category>
		<category><![CDATA[modern]]></category>
		<category><![CDATA[standards]]></category>
		<category><![CDATA[validator]]></category>
		<category><![CDATA[WC3]]></category>

		<guid isPermaLink="false">http://macosxhosting.wordpress.com/2008/01/30/w3c-html-validator-on-os-x/</guid>
		<description><![CDATA[
Building a website is a complicated process, and testing your finished product on every possible browser can be even more daunting.  However, because modern browsers such as Safari, Mozilla, and Internet Explorer 6 are compliant with the World Wide Web Consortium&#8217;s (W3C) standards, testing your pages with the W3C Validation Tool is a great [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=osxhosting.wordpress.com&blog=2660922&post=27&subd=osxhosting&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><h1><img src="http://developer.apple.com/internet/images/title_validator.gif" alt="Installing the W3C HTML Validator on Mac OS X" height="48" width="342" /></h1>
<p>Building a website is a complicated process, and testing your finished product on every possible browser can be even more daunting.  However, because modern browsers such as Safari, Mozilla, and Internet Explorer 6 are compliant with the <a href="http://w3.org/">World Wide Web Consortium&#8217;s (W3C)</a> standards, testing your pages with the W3C Validation Tool is a great way to ensure that your pages work with modern browsers. The W3C Validator provides a line-by-line level of feedback, such as error information with references to the standards, on any URL you submit or HTML file you upload.</p>
<p>But what if your pages are accessible only within your firewall? Or what if your organization is reluctant to have their pages submitted to any external site for validation—even if it&#8217;s fully automated?<span id="more-27"></span> This article describes how you can host the same W3C standards validation service within the confines of your own network and security constraints. You just need to download a number of open-source components that are freely available, and then configure them properly. By following this recipe, you will have an internal validation tool that will not only be accessible to your web developers as needed, but can actually be integrated into your production process. You have the code—you can make it fit your workflow.</p>
<h2>Validator Files</h2>
<p>First be sure to have the <a href="http://developer.apple.com/tools/xcode/">Xcode Tools 1.5</a> or higher installed.</p>
<p>Besides the Xcode Tools, you need to download the validator and supporting files:<br />
Base Code: <a href="http://validator.w3.org/validator.tar.gz">http://validator.w3.org/validator.tar.gz</a><br />
DTD Library: <a href="http://validator.w3.org/sgml-lib.tar.gz">http://validator.w3.org/sgml-lib.tar.gz</a></p>
<p>Once you download these files, you need to decompress them, move them to the proper location, and set the permissions for the executable file. The above downloaded files will download to your downloads folder, ours was on the Desktop, as shown below. Do this in the Terminal Window. The following is an example of where to move the files to (assuming they were downloaded to your desktop).</p>
<pre>Welcome to Darwin!
macosx:~ macosx$ cd Desktop
macosx:~/Desktop macosx$ tar xf validator.tar
macosx:~/Desktop macosx$ tar xf sgml-lib.tar
macosx:~ macosx$ cd /Library/WebServer/Documents
macosx:/Library/WebServer/Documents/ macosx$ mkdir validator/
macosx:/Library/WebServer/Documents/ macosx$ cp -R ~/Desktop/validator-0.7.0/ validator/
macosx:/Library/WebServer/Documents/ macosx$ cd validator/htdocs/
macosx:/Library/WebServer/Documents/validator/htdocs macosx$ cp ../httpd/cgi-bin/check .
macosx:/Library/WebServer/Documents/validator/htdocs macosx$ sudo chmod 755 check</pre>
<h2>Edit the validator.conf file</h2>
<p>Now, edit the validator.conf file (located at /Library/WebServer/Documents/validator/htdocs/config/validator.conf) with your favorite text editor. Do not cut and paste from the example file below, this will create an invalid config file.</p>
<ol>
<li>Change the &#8216;Maintainer&#8217; email address on line 73 to your email address.</li>
<li>Change the &#8216;Home Page&#8217; URL on line 77 to the correct URL for your installation.</li>
<li>Uncomment &amp; change the base path of &#8216;/usr/local/validator&#8217; to &#8216;/Library/WebServer/Documents/validator&#8217; on line 24.</li>
<li>Change &#8216;SGML Parser&#8217; from &#8216;/usr/bin/onsgmls&#8217; to &#8216;/sw/bin/onsgmls&#8217; on line 37, this is where Fink will install the OpenSP software later in these instructions.</li>
<li>Save the file.</li>
</ol>
<p>Here is what our file looked like when we finished:</p>
<pre>#
# Main Configuration File for the W3C Markup Validation Service.
#
# $Id: validator.conf,v 1.24 2005/07/08 08:31:09 ot Exp $
#
# See 'perldoc Config::General' for the syntax, and be aware that the
# 'SplitPolicy' is 'equalsign', ie. keys and values are separated by '\s*=\s*',
# and that 'InterPolateVars' is in effect.
#

#
# Base Path for Markup Validator files.
#
# You MUST set these unless you use the default locations for the files.
# e.g. the config files in "/etc/w3c/" and everything else in
# "/usr/local/validator/".
#
# Make sure all file paths below do NOT end with a slash

&lt;Paths&gt;
  #
  # Base path.  Defaults to the value of the W3C_VALIDATOR_HOME environment
  # variable or /usr/local/validator if the variable does not exist.
  Base = /Library/WebServer/Documents/validator

  #
  # Location of template files
  Templates = $Base/share/templates

  &lt;SGML&gt;
    #
    # The SGML Library Path.
    Library = $Base/htdocs/sgml-lib

    #
    # The SGML Parser to use.  Defaults to /usr/bin/onsgmls.
    Parser = /sw/bin/onsgmls
  &lt;/SGML&gt;
&lt;/Paths&gt;

#
# This controls whether the debugging options are allowed to be enabled.
Allow Debug = yes

#
# This lets you permanently enable the debugging options. Can be overridden
# with CGI options (unlike "Allow Debug" above).
Enable Debug = no

#
# Whether private RFC1918 addresses are allowed.
Allow Private IPs = no

#
# Whether the (highly experimental!) SOAP support should be enabled.
Enable SOAP = no

#
# Whether the validator will check its own output.
# 0 means it will refuse to check its own output, 1 means it will but it will
# refuse to check the results of it checking itself. Etc.
Max Recursion = 0

#
# Protocols the validator is allowed to use for retrieving documents.
# The default is to allow http and https.
&lt;Protocols&gt;
  Allow = data,http,https
&lt;/Protocols&gt;

#
# Email address of the maintainer of this service.
Maintainer = web-dev@lists.apple.com

#
# The "Home Page" for the service.  Make sure this ends with a slash.
Home Page = http://localhost/validator/htdocs/

#
# Base URI for the Element Reference.
Element Ref URI = http://www.htmlhelp.com/reference/html40/

#
# Mapping tables etc...
#

#
# Maps element names to URLs (cf. "Element Ref URI" above).
&lt;Elements&gt;
  Include eref.cfg
&lt;/Elements&gt;

#
# Main document Type Registry; contains all information on the types
# of documents we support and how they are processed.
&lt;Types&gt;
  Include types.conf
&lt;/Types&gt;

#
# Mapping of charset names to their IANA names and how iconv(3) knows them.
&lt;Charsets&gt;
  Include charset.cfg
&lt;/Charsets&gt;

#
# Map MIME Media Type to Parse Mode mapping.
&lt;MIME&gt;
  text/xml              = XML
  image/svg             = XML
  image/svg+xml         = XML
  application/smil      = XML
  application/xml       = XML
  text/html             = TBD
  text/vnd.wap.wml      = XML
  application/xhtml+xml = XML
  application/mathml+xml = XML
&lt;/MIME&gt;

#
# Source for the "Tip of The Day" blurbs.
&lt;Tips&gt;
  Include tips.cfg
&lt;/Tips&gt;</pre>
<p>Once you have edited this file, you need to move it to the proper location. Again, do this in the Terminal Window, as shown below.</p>
<pre>Welcome to Darwin!
macosx:~ macosx$  cd /etc
macosx:/etc macosx$ sudo mkdir w3c
macosx:/etc macosx$ cd w3c
macosx:/etc/w3c macosx$ sudo cp /Library/WebServer/Documents/validator/htdocs/config/*.* .</pre>
<h2>Edit the apache httpd.conf file</h2>
<p>Now, edit the apache config file—this example uses the application pico—to tell apache some information about the validator; we again use the Terminal Window for this:</p>
<pre>Welcome to Darwin!
macosx:~ macosx$ sudo pico /etc/httpd/httpd.conf</pre>
<p>This opens the apache config file into the pico text editor. Scroll to the bottom of the file and add the following lines:</p>
<pre># This is the directory where you have the validator's "check"
# script as well as its and *.html, *.css etc files.

&lt;Directory /Library/WebServer/Documents/validator/htdocs&gt;
  Options              ExecCGI IncludesNOEXEC Indexes MultiViews
  AllowOverride        None
  AddHandler           server-parsed .html
  AddCharset           utf-8         .html
&lt;/Directory&gt;

# Tell httpd that "check" is a CGI script.

&lt;Location "/validator/htdocs/check"&gt;
  SetHandler           cgi-script
&lt;/Location&gt;</pre>
<p>Save the file by pressing Control-X and answering &#8216;Y&#8217; to the prompt.</p>
<p>Now, restart personal web sharing from the Terminal Window:</p>
<pre>Welcome to Darwin!
macosx:~ macosx$ sudo apachectl graceful</pre>
<h2>Install Fink &amp; OpenSP</h2>
<p>Install Open SP (this is needed in order for the validator to run). The easiest way to install Open SP is via <a href="http://fink.sourceforge.net/">Fink</a>. Follow the <a href="http://fink.sourceforge.net/download/index.php?phpLang=en">Fink Installation Instructions</a> for Mac OS X if you don&#8217;t already have Fink installed.</p>
<p>Once you have completed a full Fink installation and Fink selfupdate, then install OpenSP via Fink, using the Terminal Window:</p>
<pre>Welcome to Darwin!
macosx:~ macosx$ Fink install openSP3</pre>
<h2>Installing the Necessary Perl Modules</h2>
<p>The easiest way to install the required Perl modules is via CPAN. The W3C has provided a CPAN bundle that will install all the required Perl modules. If this is the first time you are using CPAN, you must first go through a configuration of CPAN. All the default answers to the prompts should be sufficient—just press the Return key at each prompt.</p>
<p>Open the Terminal Window and run CPAN:</p>
<pre>Welcome to Darwin!
macosx:~ macosx$ sudo perl -MCPAN -e shell</pre>
<p>After configuring CPAN, you get a <code>cpan&gt;</code> command prompt. Now you are ready to install the bundle via CPAN as shown below. You will need to accept &#8216;recursively get missing modules&#8217;</p>
<pre>cpan&gt; install Bundle::W3C::Validator</pre>
<h2>Success!</h2>
<p>Your validator should now be working now at <a href="http://localhost/validator/htdocs/">http://localhost/validator/htdocs/</a> on your local Mac.</p>
<p>If you have any questions or comments, you can post to the <a href="http://lists.apple.com/mailman/listinfo/web-dev">Apple Web Development Mailing List</a>.</p>
<p>This article was tested on Mac OS X (10.4). The original panther tested version of this article is located at <a href="http://developer.apple.com/internet/opensource/validatorpanther.html">http://developer.apple.com/internet/opensource/validatorpanther.html</a></p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/osxhosting.wordpress.com/27/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/osxhosting.wordpress.com/27/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/osxhosting.wordpress.com/27/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/osxhosting.wordpress.com/27/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/osxhosting.wordpress.com/27/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/osxhosting.wordpress.com/27/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/osxhosting.wordpress.com/27/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/osxhosting.wordpress.com/27/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/osxhosting.wordpress.com/27/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/osxhosting.wordpress.com/27/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/osxhosting.wordpress.com/27/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/osxhosting.wordpress.com/27/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=osxhosting.wordpress.com&blog=2660922&post=27&subd=osxhosting&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://osxhosting.wordpress.com/2008/01/30/w3c-html-validator-on-os-x/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/1bb0ea156c7154f63c261bc6b83587dc?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">montanaflynn</media:title>
		</media:content>

		<media:content url="http://developer.apple.com/internet/images/title_validator.gif" medium="image">
			<media:title type="html">Installing the W3C HTML Validator on Mac OS X</media:title>
		</media:content>
	</item>
		<item>
		<title>Installing MySQL on on Mac OS X</title>
		<link>http://osxhosting.wordpress.com/2008/01/30/installing-mysql-on-on-mac-os-x/</link>
		<comments>http://osxhosting.wordpress.com/2008/01/30/installing-mysql-on-on-mac-os-x/#comments</comments>
		<pubDate>Wed, 30 Jan 2008 18:04:28 +0000</pubDate>
		<dc:creator>montanaflynn</dc:creator>
				<category><![CDATA[Leopard]]></category>
		<category><![CDATA[OSX]]></category>
		<category><![CDATA[Servers]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[Web Development]]></category>
		<category><![CDATA[database]]></category>
		<category><![CDATA[free]]></category>
		<category><![CDATA[mysql]]></category>
		<category><![CDATA[phpmyadmin]]></category>
		<category><![CDATA[Server]]></category>
		<category><![CDATA[terminal]]></category>
		<category><![CDATA[Web]]></category>

		<guid isPermaLink="false">http://macosxhosting.wordpress.com/2008/01/30/installing-mysql-on-on-mac-os-x/</guid>
		<description><![CDATA[
MySQL has become one of the most popular databases for Web applications. The database is well suited for common Web-related tasks like content management, and for implementing Web features like discussion boards and guestbooks. For a time, some developers avoided MySQL for commercial applications because it did not implement certain features, such as transactions. But [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=osxhosting.wordpress.com&blog=2660922&post=26&subd=osxhosting&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><h1><img src="http://developer.apple.com/internet/images/title_osdb.gif" alt="MySQL on Mac OS X" height="33" width="680" /></h1>
<p>MySQL has become one of the most popular databases for Web applications. The database is well suited for common Web-related tasks like content management, and for implementing Web features like discussion boards and guestbooks. For a time, some developers avoided MySQL for commercial applications because it did not implement certain features, such as transactions. But this is no longer the case, and MySQL is a great choice for just about any Web-based application.<span id="more-26"></span></p>
<p>In this article I’ll give you an overview of MySQL’s features and drawbacks, show you how to install MySQL on Mac OS X, and introduce you to some of MySQL’s notable technical aspects.</p>
<h2>MySQL Features</h2>
<p>Perhaps the most prominent feature of MySQL is its speed when running SQL SELECT statements. MySQL was built for speed. The core of the MySQL engine is very small and streamlined, and the default table type (a modified ISAM table) was designed specifically for running SELECTs quickly. If your application calls for the advantages of a relational structure but the database contents are relatively static — as is often the case with Web content — MySQL’s speed is a great advantage.</p>
<p>MySQL is also undeniably stable. In both your production and serving environments, you can be reasonably confident that MySQL will be up and processing queries as long as power flows to your machine.</p>
<p>Another important benefit is that MySQL is relatively easy to learn. Even if you’re new to relational databases, you can learn MySQL and create very sophisticated Web applications in a short period of time.</p>
<p>The popularity of MySQL is a benefit as well, because if you run into difficulty, you can lean on the active community that supports MySQL. There are many mailing lists dedicated to MySQL, and most questions find quick and thorough answers.</p>
<h2>MySQL Drawbacks</h2>
<p>If you are an advanced database user, you should be aware of some of MySQL’s limitations. MySQL’s implementation of standard query language is missing support for sub-selects, foreign key constraints (for some table types), stored procedures, and views. If you feel you need these features, you’re probably better off looking into PostgreSQL, FrontBase, or another database.</p>
<p>Lack of support for transactions <i>used</i> to be a drawback of MySQL, but this has been addressed. Now, on Mac OS X, you can use the MySQL InnoDB table type and have access to row-level locking and robust transaction support, as well as foreign key constraints.</p>
<h2>Installing MySQL</h2>
<p>If you’re running Mac OS X Server, you are in luck — MySQL is already there. Just go to Applications/Server/MySQL Manager to access it. If you are running Mac OS X Client, you’ll have to install MySQL. if you have already installed a version of MySQl and want to upgrade, I can recommend the <a href="http://www.entropy.ch/software/MacOSx/mysql/">upgrade instructions</a> from http://www.entropy.ch. For a new installation, follow the Mac OS X installation instructions for the MySQL provided binary distribution ( a true Mac OS X installer package file) at <a href="http://dev.mysql.com/doc/refman/5.0/en/mac-os-x-installation.html">http://dev.mysql.com/doc/refman/5.0/en/mac-os-x-installation.html</a> and be done with it. However, sometimes you want to compile and install directly from the source, either because you are changing the default build settings, or you want the latest and greatest version before there’s a binary installer. The following will help you through that process.</p>
<p>When installing MySQL, you need to be aware of the potential effect this will have on the security of your system, as a database server can open an avenue of attack. In the example below, I show how to install MySQL on Mac OS X while maintaining the security of your system.</p>
<p>One basic security tenet is that of “least 				privilege.” In short, this means that everyone and 				everything should have only the privileges required for 				it to complete its task(s). Those privileges should be 				available for the least amount of time possible—ideally, once the task is completed, the privileges 				should be revoked.</p>
<p>I’m also 				choosing to build MySQL from source, rather than install 				a pre-built binary. This gives greater control over the 				installation, as you’ll see below.</p>
<h2>Configuring and Compiling MySQL</h2>
<p>I plan to install mysql in <code>/usr/local/mysql</code>. I also plan to locate the mysql UNIX socket under the <code>/usr/local/mysql/</code> directory as <code>/usr/local/mysql/run/mysql_socket</code> so that it will be publicly available, but associated with the MySQL installation. Note that in a standard installation, the socket file would be placed in <code>/tmp</code>.</p>
<p>You can now <a href="http://www.mysql.com/downloads/">download the source</a> via a Web browser.</p>
<p>Once you have the source, you can pretty much follow the <a href="http://dev.mysql.com/doc/refman/5.0/en/quick-install.html">quick install directions</a> from the mysql documentation pages, adding only debug support (<code> — with-debug</code>) and the build environment comment (<code> — with-comment</code>). The <code>configure</code> command should look like:</p>
<pre>./configure --prefix=/usr/local/mysql
--with-unix-socket-path=/usr/local/mysql/run/mysql_socket
--with-mysqld-user=mysql --with-comment --with-debug</pre>
<p>Once the configuration completes, running <code>make</code>, and then <code>sudo make install</code>, installs mysql in <code>/usr/local/mysql</code>. Running <code>sudo /usr/local/mysql/bin/mysql_install_db --force</code> adds the <code>var/</code> space for databases and creates the default databases (mysql and test). You also need to add the <code>run/</code> directory where the mysql UNIX socket will live, with <code>sudo mkdir /usr/local/mysql/run</code>. Once all of that is done, a directory listing should look like:</p>
<pre>% ls -Fla /usr/local/mysql/
total 26
drwxr-xr-x 13 root wheel 1024 Jun 5 13:42 ./
drwxr-xr-x 11 root wheel 1024 Jun 5 12:19 ../
drwxr-xr-x  2 root wheel 1024 Jun 5 12:20 bin/
drwxr-xr-x  3 root wheel 1024 Jun 5 12:19 include/
drwxr-xr-x  2 root wheel 1024 Jun 5 12:19 info/
drwxr-xr-x  3 root wheel 1024 Jun 5 12:19 lib/
drwxr-xr-x  2 root wheel 1024 Jun 5 12:20 libexec/
drwxr-xr-x  3 root wheel 1024 Jun 5 12:20 man/
drwxr-xr-x  6 root wheel 1024 Jun 5 12:21 mysql-test/
drwxr-xr-x  2 root wheel 1024 Jun 5 13:42 run/
drwxr-xr-x  3 root wheel 1024 Jun 5 12:20 share/
drwxr-xr-x  7 root wheel 1024 Jun 5 12:21 sql-bench/
drwx------  4 root wheel 1024 Jun 5 13:37 var/</pre>
<p>Note that at this point everything is owned by root — meaning the mysql account won’t be able to write to the databases under <code>var/</code> nor be able to create the mysql UNIX socket in the <code>run/</code> directory. Since we want to run the MySQL database under the mysql account, and <b>not</b> under the root account, we need to change the group association of <code>/usr/local/mysql</code> to the group mysql, and the ownership of <code>/usr/local/mysql/run</code> and <code>/usr/local/mysql/var</code> to the mysql account, as follows:</p>
<pre>sudo chgrp -R mysql /usr/local/mysql
sudo chown -R mysql /usr/local/mysql/run /usr/local/mysql/var</pre>
<p>The directory listing now looks like:</p>
<pre>% ls -Fla /usr/local/mysql
total 26
drwxr-xr-x 13 root  mysql 1024 Jun 5 13:42 ./
drwxr-xr-x 11 root  wheel 1024 Jun 5 12:19 ../
drwxr-xr-x  2 root  mysql 1024 Jun 5 12:20 bin/
drwxr-xr-x  3 root  mysql 1024 Jun 5 12:19 include/
drwxr-xr-x  2 root  mysql 1024 Jun 5 12:19 info/
drwxr-xr-x  3 root  mysql 1024 Jun 5 12:19 lib/
drwxr-xr-x  2 root  mysql 1024 Jun 5 12:20 libexec/
drwxr-xr-x  3 root  mysql 1024 Jun 5 12:20 man/
drwxr-xr-x  6 root  mysql 1024 Jun 5 12:21 mysql-test/
drwxr-xr-x  2 mysql mysql 1024 Jun 5 13:42 run/
drwxr-xr-x  3 root  mysql 1024 Jun 5 12:20 share/
drwxr-xr-x  7 root  mysql 1024 Jun 5 12:21 sql-bench/
drwx------  4 mysql mysql 1024 Jun 5 13:37 var/</pre>
<p>You can now start mysql and perform a few important tasks, like setting a mysql password to protect the database itself. Note that, while starting the database requires system root privileges, actions within the database itself do not require system root privileges, but database root privileges. It is somewhat confusing that MySQL uses the account name “root” for its all-powerful account, just as the system does, even though they are completely separate entities.</p>
<p>Starting mysql is accomplished with:</p>
<pre>sudo /usr/local/mysql/bin/mysqld_safe --user=mysql &amp;</pre>
<p>Now you can run through some of the basic tests — but first, go ahead and secure the database by adding a password for the database “root” user, as follows:</p>
<pre>/usr/local/mysql/bin/mysqladmin -u root password sniggle</pre>
<p>Here “sniggle” is the password you are assigning to the database root account. In MySQL, a single user is associated with a username and a host. Most often on your development machine you will be connecting to the database locally, so the host will be “localhost”. However, if you are attempting to connect from a different machine, you will have to assign permissions based on both username and hostname. For more information on users and passwords within MySQL, <a href="http://dev.mysql.com/doc/mysql/en/GRANT.html">read about</a> MySQL’s grant tables, and the <code>grant</code> and <code>revoke</code> statements.</p>
<h2>Conclusion</h2>
<p>MySQL is a great database for Web applications and a great complement to a Mac OS X development environment. Install it on your machine and create applications in Perl, PHP, JSP, or whatever languages you like best. To administer a MySQL installation on Mac OS X, you can look to popular tools such as the Web-based <a href="http://www.phpmyadmin.net/home_page/">phpMyAdmin</a> from <a href="http://www.phpwizard.net/">phpwizard.net</a>, or <a href="http://www.rtlabs.com/macsql/">MacSQL</a> from <a href="http://www.rtlabs.com/">Runtime Labs</a>.</p>
<p>For information about starting MySQL on startup, see <a href="http://www.osxfaq.com/Tutorials/LearningCenter/HowTo/Startup/index.ws">this article</a> from macosxfaq.com.</p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/osxhosting.wordpress.com/26/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/osxhosting.wordpress.com/26/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/osxhosting.wordpress.com/26/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/osxhosting.wordpress.com/26/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/osxhosting.wordpress.com/26/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/osxhosting.wordpress.com/26/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/osxhosting.wordpress.com/26/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/osxhosting.wordpress.com/26/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/osxhosting.wordpress.com/26/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/osxhosting.wordpress.com/26/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/osxhosting.wordpress.com/26/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/osxhosting.wordpress.com/26/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=osxhosting.wordpress.com&blog=2660922&post=26&subd=osxhosting&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://osxhosting.wordpress.com/2008/01/30/installing-mysql-on-on-mac-os-x/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/1bb0ea156c7154f63c261bc6b83587dc?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">montanaflynn</media:title>
		</media:content>

		<media:content url="http://developer.apple.com/internet/images/title_osdb.gif" medium="image">
			<media:title type="html">MySQL on Mac OS X</media:title>
		</media:content>
	</item>
		<item>
		<title>Setting up an OS X development server</title>
		<link>http://osxhosting.wordpress.com/2008/01/29/setting-up-an-os-x-development-server/</link>
		<comments>http://osxhosting.wordpress.com/2008/01/29/setting-up-an-os-x-development-server/#comments</comments>
		<pubDate>Tue, 29 Jan 2008 21:34:47 +0000</pubDate>
		<dc:creator>montanaflynn</dc:creator>
				<category><![CDATA[Apache]]></category>
		<category><![CDATA[Hosting]]></category>
		<category><![CDATA[Leopard]]></category>
		<category><![CDATA[OSX]]></category>
		<category><![CDATA[Servers]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[Web Development]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[mysql]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[Server]]></category>
		<category><![CDATA[sharing]]></category>

		<guid isPermaLink="false">http://macosxhosting.wordpress.com/2008/01/29/setting-up-an-os-x-development-server/</guid>
		<description><![CDATA[Okay, so this was very much a case of fumbling around in the dark until stuff worked, lot&#8217;s of Googling and breaking stuff. The end result is a dev server on OS X that is running Textpattern with clean URLs and a copy of WordPress for good measure. These notes are primarily so I don&#8217;t [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=osxhosting.wordpress.com&blog=2660922&post=25&subd=osxhosting&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>Okay, so this was very much a case of fumbling around in the dark until stuff worked, lot&#8217;s of Googling and breaking stuff. The end result is a dev server on OS X that is running Textpattern with clean URLs and a copy of WordPress for good measure. These notes are primarily so I don&#8217;t forget how I did it, if they are useful to someone else, great! Be warned, though, I have no idea how secure this set up is and what flaws it has, so you <b>follow these instructions at your own risk</b>! Also, I am using OS 10.3.9 so I don&#8217;t know if this would work on Tiger.<span id="more-25"></span></p>
<h3>Turn off Personal Web Sharing</h3>
<p>OS X does, as you probably know, ship with Apache and it&#8217;s real easy to switch on and for a while I did use it. I am quite interested in learning a bit more about the whole serving up websites business, so first job is to do away with all the pre-installed Mac stuff.</p>
<p>Go to System Preferences &gt; Sharing and make sure Personal Web Sharing is stopped.</p>
<p><img src="http://joshuaink2006.johnoxton.co.uk/images/190.jpg" alt=" " /></p>
<h3>Software</h3>
<p>I started off with <a href="http://www.webedition-cms.com/english/downloads/mamp.php">Mamp</a> and that is probably good enough for a basic set up but I wanted to run Textpattern with clean URLs. Getting mod_rewrite to work on Mamp just wouldn&#8217;t happen for me. So after a bit of Googling I came up with these downloads in preparation for my mission&#8230; gulp!</p>
<ul>
<li><a href="http://www.serverlogistics.com/mysql.php">Complete MySQL</a></li>
<li><a href="http://www.serverlogistics.com/apache2.php">Complete Apache2</a></li>
<li><a href="http://www.serverlogistics.com/php4.php">Complete PHP4 </a></li>
<li><a href="http://cocoamysql.sourceforge.net/">CocoaMySQL</a></li>
<li><a href="http://homepage.mac.com/darkshadow02/apps.htm">Web Control</a> (Scroll down the page a bit)</li>
</ul>
<h3>Terminal</h3>
<p>You will need to have at hand Terminal in order to do some of the stuff. This is located in Applications &gt; Utilities. This is the best bit actually because you get to feel like <a href="http://www.imdb.com/title/tt0133093/">Neo</a> for five minutes! Be careful though, I am told you can do some serious damage with Terminal.</p>
<h3>Show hidden files</h3>
<p>Having already had a play with <a href="http://www.webedition-cms.com/english/downloads/mamp.php">Mamp</a>, I noticed that I couldn&#8217;t see .htaccess files. Also when installing Complete MySQL there was another hidden file I needed to get to. Eventually I found a note on <a href="http://developer.apple.com/documentation/Porting/Conceptual/PortingUnix/additionalfeatures/chapter_10_section_7.html">Apple&#8217;s developer site</a> that describes how to show hidden files. It&#8217;s gonna make your Mac look at little messier than before but it&#8217;s kind of essential:</p>
<p>Open up Terminal and type in the following:</p>
<p><code>defaults write com.apple.Finder AppleShowAllFiles true</code></p>
<p>And that should be that.</p>
<h3>Complete installs</h3>
<p>The links to the three Complete packages are self explanatory. Each comes with a detailed Install document, follow them and you can&#8217;t go wrong, much.</p>
<p>The only problem I ran into was creating a .bash_profile document in the home directory. With hidden files now showing I could see that my home directory (the house with my name on it) had no .bash_profile in it, so I created one with TextEdit. Again, something to watch out for is TextEdit saving it with an extension e.g. .bash_profile.rdf. If this happens click on the file and press COMMAND + I which will bring up the File Info panel and you can simply delete the .rdf from the Name &amp; Extensions panel</p>
<p><img src="http://joshuaink2006.johnoxton.co.uk/images/185.jpg" alt=" " /></p>
<p>In truth this had little effect for me when trying to access mysql via Terminal, unless I used the complete path i.e. /Library/MySQL/bin/mysql. Given that I have no intention of using Terminal for accessing MySQL I didn&#8217;t worry about it and it has not had any impact on this setup thus far. <b>Note:</b> If anyone <i>does</i> know why I was getting a command not found error, I&#8217;d love to know.</p>
<p>One other note with these complete installs is the location they end up in. Obvious now but it caused me a bit of confusion, they are in the root library file and not the library file in you home directory. To find this spot open up your hard drive and look for the Library folder</p>
<p><img src="http://joshuaink2006.johnoxton.co.uk/images/187.jpg" alt=" " /></p>
<h3>phpMyAdmin versus CocoaMySQL</h3>
<p>I had a bash at installing phpMyAdmin but to be honest they may as well have written the instructions in Wookie. I stumbled across CocoaMySQL after a bit of Googling, opened it up, it found the path to my MySQL server and within five minutes I had created a database as was running a local copy of Joshuaink. I thoroughly recommend it for the less technically minded.</p>
<p>Also worth noting is that which ever way you access MySQL, you can use your root account and the password you set when setting up MySQL for all your databases which is pretty damn convenient.</p>
<p><img src="http://joshuaink2006.johnoxton.co.uk/images/186.jpg" alt=" " /></p>
<h3>Httpd.config</h3>
<p>Certainly if you are going to be experimenting, the httpd.config file will come into play. I started off with the Web Control app because it makes back ups, reverts easily back to the original file if you mess it up and it can check your syntax for you and if you aren&#8217;t feeling confident it&#8217;s a great way to start. It soon started to get a bit frustrating though because I couldn&#8217;t do a find search to locate bits of the document.</p>
<p>I ended up going back to TextEdit but found I could no longer save the file from that app (though I could from Web Control). I am not sure if this happens by default or whether Web Control did it when it first ran but it turned out that the conf directory, located at /Library/Apache2/conf was locked, so again clicking on the directory and COMMAND + I brings up the info and I changed the Ownership &amp; Permissions details from Owner: system to Owner: [my username]. I also did the same to the httpd.conf file for good measure and made sure they were both set to Read &amp; Write for owners.</p>
<p><img src="http://joshuaink2006.johnoxton.co.uk/images/189.jpg" alt=" " /></p>
<h3>Virtual hosts</h3>
<p>Virtual hosts were one of the big things I wanted to get done and I found two tutorials. <a href="http://mezzoblue.com/archives/2004/08/05/virtual_host/index.php">One over at Mezzoblue</a> and <a href="http://www.sitepoint.com/article/os-x-web-development">one over at SitePoint</a> (scroll down the tutorial a bit). In the end I opted for the SitePoint one because it was getting late and my head seemed to manage with it a little better, though the URLs it produces are no where near as cool as Dave&#8217;s. Again something to consider if you do use the SitePoint one, be careful with your naming conventions because it can impact how you use the web. For example I had a directory called joshuaink and where I used to just type joshuaink &#8212; as opposed to the full URL &#8212; into Firefox to reach my live site, I was now being taken to my localhost.</p>
<h3>DirectoryIndex</h3>
<p>It wasn&#8217;t until I opened up the WordPress admin that I noticed I was getting a directory listing and had to manually click on index.php to get to the login page. This seems to be something to do with the DirectoryIndex bit of httpd.conf. Initially I was dropping the .htaccess file that ships with Textpattern into each and every directory with an index.php as it&#8217;s starting point and it <i>did</i> solve the problem but that was getting a bit tiresome. Eventually I found out that there is something called DirectoryIndex in the httpd.conf file and having located it I changed it to this so that Apache recognises an index.php:</p>
<p><code>DirectoryIndex index.html index.htm index.php index.html.var</code></p>
<p>I really don&#8217;t know if that is correct but it seems to have solved the problem.</p>
<h3>Deleting .htaccess files</h3>
<p>My final problem was deleting those .htaccess files I had spread everywhere and OS X wouldn&#8217;t let me because it is a hidden file. To solve this I renamed it to .htaccess.txt and then I could delete it.</p>
<p><img src="http://joshuaink2006.johnoxton.co.uk/images/188.jpg" alt=" " /></p>
<h3>Conclusions</h3>
<p>I have got a lot to learn about Apache but it was an interesting start and well worth the effort. With my iBook mostly offline, security is not a big deal for me. No doubt I will continue to fiddle until it breaks. If you have any tips or see something very wrong with the way I have setup, please do say.</p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/osxhosting.wordpress.com/25/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/osxhosting.wordpress.com/25/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/osxhosting.wordpress.com/25/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/osxhosting.wordpress.com/25/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/osxhosting.wordpress.com/25/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/osxhosting.wordpress.com/25/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/osxhosting.wordpress.com/25/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/osxhosting.wordpress.com/25/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/osxhosting.wordpress.com/25/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/osxhosting.wordpress.com/25/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/osxhosting.wordpress.com/25/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/osxhosting.wordpress.com/25/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=osxhosting.wordpress.com&blog=2660922&post=25&subd=osxhosting&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://osxhosting.wordpress.com/2008/01/29/setting-up-an-os-x-development-server/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/1bb0ea156c7154f63c261bc6b83587dc?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">montanaflynn</media:title>
		</media:content>

		<media:content url="http://joshuaink2006.johnoxton.co.uk/images/190.jpg" medium="image">
			<media:title type="html"> </media:title>
		</media:content>

		<media:content url="http://joshuaink2006.johnoxton.co.uk/images/185.jpg" medium="image">
			<media:title type="html"> </media:title>
		</media:content>

		<media:content url="http://joshuaink2006.johnoxton.co.uk/images/187.jpg" medium="image">
			<media:title type="html"> </media:title>
		</media:content>

		<media:content url="http://joshuaink2006.johnoxton.co.uk/images/186.jpg" medium="image">
			<media:title type="html"> </media:title>
		</media:content>

		<media:content url="http://joshuaink2006.johnoxton.co.uk/images/189.jpg" medium="image">
			<media:title type="html"> </media:title>
		</media:content>

		<media:content url="http://joshuaink2006.johnoxton.co.uk/images/188.jpg" medium="image">
			<media:title type="html"> </media:title>
		</media:content>
	</item>
		<item>
		<title>Mac OSX Server FTP Server Administration</title>
		<link>http://osxhosting.wordpress.com/2008/01/29/mac-osx-server-ftp-server-administration/</link>
		<comments>http://osxhosting.wordpress.com/2008/01/29/mac-osx-server-ftp-server-administration/#comments</comments>
		<pubDate>Tue, 29 Jan 2008 21:15:27 +0000</pubDate>
		<dc:creator>montanaflynn</dc:creator>
				<category><![CDATA[Hardware]]></category>
		<category><![CDATA[Leopard]]></category>
		<category><![CDATA[OSX]]></category>
		<category><![CDATA[Servers]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[Xserve]]></category>
		<category><![CDATA[accounts]]></category>
		<category><![CDATA[admin]]></category>
		<category><![CDATA[ftp]]></category>
		<category><![CDATA[ftpchroot]]></category>
		<category><![CDATA[lukemftpd]]></category>
		<category><![CDATA[NetInfo]]></category>
		<category><![CDATA[root]]></category>
		<category><![CDATA[Server]]></category>

		<guid isPermaLink="false">http://macosxhosting.wordpress.com/2008/01/29/mac-osx-server-ftp-server-administration/</guid>
		<description><![CDATA[FTP Only Accounts Under Mac OS X
The following howto describes how to set up ftp only accounts using Apple Mac&#8217;s built in ftp server (lukemftpd).
This outline requires you to use the terminal, NetInfo Manager and have admin privileges on the machine in question.
Warning: You can muck things up quite seriously using NetInfo Manager. At the [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=osxhosting.wordpress.com&blog=2660922&post=24&subd=osxhosting&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><h2>FTP Only Accounts Under Mac OS X</h2>
<p>The following howto describes how to set up ftp only accounts using Apple Mac&#8217;s built in ftp server (lukemftpd).</p>
<p>This outline requires you to use the terminal, NetInfo Manager and have admin privileges on the machine in question.</p>
<p><b>Warning:</b> You can muck things up quite seriously using NetInfo Manager. At the very least make sure you have a recent, full back-up of the machine you&#8217;re planning to setup before going any further.</p>
<p>To create ftp only accounts we need to:</p>
<ol>
<li>Create an ftp login shell</li>
<li>Restrict our prospective ftp user to their folder</li>
<li>Create the user account</li>
<li>Create a folder for the new user</li>
<li>Give the user a password</li>
</ol>
<h3>Create An FTP Login Shell</h3>
<p>To create an ftp login shell we need to copy or link /sbin/nologin to /sbin/ftplogin. We&#8217;ll create a symbolic link from /sbin/nologin to /sbin/ftplogin. To do this:</p>
<ol>
<li>Fire up Terminal</li>
<li>Type &#8220;sudo ln -s /sbin/nologin /sbin/ftplogin&#8221; (without the quotes)</li>
<li>Hit return</li>
<li>Type in your admin user&#8217;s password when prompted</li>
</ol>
<p>Now we need to add the new &#8220;shell&#8221; to the list of shells available to the system. To do this we need to add &#8220;/sbin/ftplogin&#8221; to the list of shells given in the file found at /etc/shells. In Terminal:</p>
<ol>
<li>Type &#8220;sudo pico /etc/shells&#8221;. This&#8217;ll open up the file &#8220;shells&#8221; in a simple text editor in Terminal</li>
<li>Hit return</li>
<li>Type in your admin user&#8217;s password if prompted</li>
<li>Add the string &#8220;/sbin/ftplogin&#8221; (without the quotes) on a new line at the end of the list of shells available. This&#8217;ll give you a final list similar to:
<p>/bin/bash<br />
/bin/csh<br />
/bin/sh<br />
/bin/tcsh<br />
/bin/zsh<br />
/sbin/ftplogin</li>
<li>Type ctl + &#8220;o&#8221;. That&#8217;s the letter &#8220;o&#8221; while holding down the control key</li>
<li>Hit return</li>
<li>Type ctl + &#8220;x&#8221; to eXit Pico</li>
</ol>
<h3>Restrict User To Their Folder</h3>
<p>We&#8217;re setting this up now so that as soon as the user we&#8217;re creating gains access to our machine, they&#8217;re restricted to their log-in or root folder. All we have to do is create the file /etc/ftpchroot if it doesn&#8217;t exist and then add the prospective user&#8217;s username to the file.</p>
<ol>
<li>In Terminal, type &#8220;cd /etc&#8221; (without the quotes. From here on in, I&#8217;ll assume you&#8217;re ignoring the quotes)</li>
<li>Check to see whether the file &#8220;ftpchroot&#8221; exists. If it doesn&#8217;t, type &#8220;sudo touch ./ftpchroot&#8221; and give you admin password if prompted for it</li>
</ol>
<p>Now we need to add the username to the created file. Using pico:</p>
<ol>
<li>In Terminal type &#8220;sudo pico ./ftpchroot&#8221;. This&#8217;ll open up the file &#8220;ftpchroot&#8221; in a simple text editor in Terminal</li>
<li>Type in your prospective ftp user&#8217;s username. Ours is &#8220;fred&#8221;. For safety, make the username all lowercase letters only &#8211; although we&#8217;ll let you have the underscore (&#8220;_&#8221;) too.</li>
<li>Type ctl + &#8220;o&#8221;. That&#8217;s the letter &#8220;o&#8221; while holding down the control key</li>
<li>Hit return</li>
<li>Type ctl + &#8220;x&#8221; to eXit Pico</li>
</ol>
<h3>Create User Account</h3>
<p>We do this in NetInfo Manager. I&#8217;m going to talk you through doing this the long winded way &#8211; but once you&#8217;ve got one account set-up, I&#8217;d suggest you duplicate an existing account and modify it as appropriate.</p>
<ol>
<li>Fire up NetInfo Manager</li>
<li>At the bottom of the pane, click the little lock symbol and supply your admin username and password to unlock NetInfo Manager</li>
<li>In the lefthand column, select &#8220;/&#8221;</li>
<li>In the middle column select &#8220;users&#8221;</li>
<li>Click the &#8220;New&#8221; icon at the top of the pane. This will create a new user called &#8220;new_directory&#8221;.</li>
</ol>
<p>Now we need to modify this user account to give it the properties we&#8217;re after. Some of these properties will depend on your setup and how you want to administer your machine. We&#8217;ll use some reasonable settings but you may want to change these.</p>
<p>Before we go further, we do need to check what the next available user id (uid) is. To do this, click through your users in NetInfo Manager (ignoring the system users if you know what these are) making a note of the highest uid. In my case it&#8217;s 503. This means that my next user is going to be 504. Alternatively, start a new series for ftp users starting at 601.</p>
<p>Having done this, with the user &#8220;new_directory&#8221; selected in NetInfo Manager:</p>
<ol>
<li>Select the &#8220;name&#8221; property in the bottom half of the pane. Double click on the Value &#8220;new_directory&#8221; to select it and type in your username. In our example our username, as added to the ftpchroot file is &#8220;fred&#8221; &#8211; so that&#8217;s what we&#8217;ll type here.</li>
<li>Create a new property by clicking in the &#8220;New&#8221; icon at the top of the pane. This will create a new property called &#8220;new_property&#8221;. Change the property value to &#8220;uid&#8221;. Now change its value &#8220;new_value&#8221; to the next available uid &#8211; or, if you&#8217;re starting a new series, 601.</li>
<li>Add a new property for the group id &#8211; &#8220;gid&#8221;. We&#8217;ll set this to &#8220;20&#8243;. i.e. Create the new property, select &#8220;new_property&#8221; and type &#8220;gid&#8221;. Select &#8220;new_value&#8221; and type &#8220;20&#8243;.</li>
<li>Follow this procedure to add:<br />
<table border="0" cellpadding="0" cellspacing="0" width="222">
<tr>
<th>Property</th>
<th></th>
<th>Value(s)</th>
</tr>
<tr>
<td>expire</td>
<td>&nbsp;</td>
<td>0</td>
</tr>
<tr>
<td>change</td>
<td>&nbsp;</td>
<td>0</td>
</tr>
<tr>
<td>shell</td>
<td>&nbsp;</td>
<td>/sbin/ftplogin</td>
</tr>
<tr>
<td>home</td>
<td>&nbsp;</td>
<td>/Users/&lt;username&gt;</td>
</tr>
</table>
<p>Where the text &#8220;&lt;username&gt;&#8221; in the last property (&#8220;home&#8221;) is the username of the user you&#8217;re adding. In our example &#8220;fred&#8221;. So the value for the property &#8220;home&#8221; would be &#8220;/Users/fred&#8221;. This means the bottom of your NetInfo Manager pane should end up looking something like:</p>
<table border="0" cellpadding="0" cellspacing="0" width="222">
<tr>
<th>Property</th>
<th></th>
<th>Value(s)</th>
</tr>
<tr>
<td>home</td>
<td>&nbsp;</td>
<td>/Users/fred</td>
</tr>
<tr>
<td>shell</td>
<td>&nbsp;</td>
<td>/sbin/ftplogin</td>
</tr>
<tr>
<td>change</td>
<td>&nbsp;</td>
<td>0</td>
</tr>
<tr>
<td>expire</td>
<td>&nbsp;</td>
<td>0</td>
</tr>
<tr>
<td>gid</td>
<td>&nbsp;</td>
<td>20</td>
</tr>
<tr>
<td>uid</td>
<td>&nbsp;</td>
<td>504</td>
</tr>
<tr>
<td>name</td>
<td>&nbsp;</td>
<td>fred</td>
</tr>
</table>
<p><b>2006-04-18</b>: We&#8217;ve been contacted by Esben Sørensen and Antoine Durr over the weekend, both of whom make the observation that &#8220;realname&#8221; needs to be added to the properties listed here. i.e. we should end up with:</p>
<table border="0" cellpadding="0" cellspacing="0" width="222">
<tr>
<th>Property</th>
<th></th>
<th>Value(s)</th>
</tr>
<tr>
<td>home</td>
<td>&nbsp;</td>
<td>/Users/fred</td>
</tr>
<tr>
<td>shell</td>
<td>&nbsp;</td>
<td>/sbin/ftplogin</td>
</tr>
<tr>
<td>change</td>
<td>&nbsp;</td>
<td>0</td>
</tr>
<tr>
<td>expire</td>
<td>&nbsp;</td>
<td>0</td>
</tr>
<tr>
<td>gid</td>
<td>&nbsp;</td>
<td>20</td>
</tr>
<tr>
<td>uid</td>
<td>&nbsp;</td>
<td>504</td>
</tr>
<tr>
<td>name</td>
<td>&nbsp;</td>
<td>fred</td>
</tr>
<tr>
<td>realname</td>
<td>&nbsp;</td>
<td>Fred</td>
</tr>
</table>
<p>So, add the &#8220;realname&#8221; property &#8220;else the account&#8217;s system preference pane will henceforth come up blank due to an incorrect/invalid realname&#8221; (Antoine Durr).</p>
<p>Thanks to Esben and Antoine.</li>
<li>Make sure you remember the uid as you&#8217;ll need it in a sec.</li>
<li>Close NetInfo Manager saving and confirming the save as you go.</li>
</ol>
<h3>Create A User Folder</h3>
<p>We need to create a user folder and then change its ownership (and permissions) to reflect those of the newly created user.</p>
<ol>
<li>In Terminal, type &#8220;cd /Users&#8221;. Typing &#8220;ls&#8221; will give you a list of all the users on your machine</li>
<li>Type &#8220;mkdir &lt;username&gt;&#8221; where &lt;username&gt; is the new user&#8217;s username. We&#8217;ll be typing &#8220;mkdir fred&#8221;</li>
<li>Change the owner of this file by typing &#8220;sudo chown &lt;uid&gt;:20 ./&lt;username&gt;. Where &lt;uid&gt; is the uid for the user you added (and made a mental note of) and &lt;username&gt; is the username&#8230;. OK. You&#8217;ve got the idea. Oh. If your prompted for a password, give your admin password.</li>
<li>Change the permissions of this file so that we can all access it (if you know what you&#8217;re doing here, set the permissions as you see fit). &#8220;sudo chmod 777 ./&lt;username&gt;&#8221;</li>
</ol>
<p>Now we&#8217;re on the home stretch.</p>
<h3>Give The User A Password</h3>
<p>The next step is to give the newly created user a password. To do this, in Terminal:</p>
<ol>
<li>Type &#8220;sudo passwd &lt;username&gt;&#8221;. (So we&#8217;ll be typing &#8220;sudo passwd fred&#8221;).</li>
<li>Type in the new password at the prompt.</li>
<li>Retype it as prompted.</li>
</ol>
<h3>NAT?</h3>
<p>If you&#8217;re behind a router or firewall which does Network Address Translation (NAT), there&#8217;s one more thing. Passive FTP requires the machine offering the FTP service to return its IP address and a port on which it&#8217;ll be listening. If you&#8217;re on a NATed network, it&#8217;s likely that the FTP server is going to return its internal IP number rather than the external address you&#8217;d prefer it to give. To get around this:</p>
<p>Create the file /etc/ftpd.conf</p>
<p>Add the line &#8220;advertise all &lt;host&gt;&#8221; where &lt;host&gt; is either the host name or external IP address for the FTP server.</p>
<h3>Done</h3>
<p>Restart the FTP server to ensure that all the caches are flushed and then see whether you can log-in via ftp as the new user. The easiest way of doing this is to turn FTP off and then on again in System Preferences -&gt; Sharing.</p>
<h3></h3>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/osxhosting.wordpress.com/24/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/osxhosting.wordpress.com/24/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/osxhosting.wordpress.com/24/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/osxhosting.wordpress.com/24/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/osxhosting.wordpress.com/24/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/osxhosting.wordpress.com/24/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/osxhosting.wordpress.com/24/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/osxhosting.wordpress.com/24/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/osxhosting.wordpress.com/24/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/osxhosting.wordpress.com/24/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/osxhosting.wordpress.com/24/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/osxhosting.wordpress.com/24/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=osxhosting.wordpress.com&blog=2660922&post=24&subd=osxhosting&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://osxhosting.wordpress.com/2008/01/29/mac-osx-server-ftp-server-administration/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/1bb0ea156c7154f63c261bc6b83587dc?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">montanaflynn</media:title>
		</media:content>
	</item>
		<item>
		<title>Mac OSX Server 10.4</title>
		<link>http://osxhosting.wordpress.com/2008/01/24/mac-osx-server-104/</link>
		<comments>http://osxhosting.wordpress.com/2008/01/24/mac-osx-server-104/#comments</comments>
		<pubDate>Thu, 24 Jan 2008 18:02:44 +0000</pubDate>
		<dc:creator>montanaflynn</dc:creator>
				<category><![CDATA[Leopard]]></category>
		<category><![CDATA[OSX]]></category>
		<category><![CDATA[Servers]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[Xserve]]></category>
		<category><![CDATA[Apache]]></category>
		<category><![CDATA[BSD]]></category>
		<category><![CDATA[Darwin]]></category>
		<category><![CDATA[Mac]]></category>
		<category><![CDATA[Mach]]></category>
		<category><![CDATA[Server]]></category>
		<category><![CDATA[unix]]></category>

		<guid isPermaLink="false">http://macosxhosting.wordpress.com/2008/01/24/mac-osx-server-104/</guid>
		<description><![CDATA[Darwin: Kernel and BSD
Mac OS X Server starts with Darwin, the same open source foundation used in Mac OS X, Apples operating system for desktop and mobile computers. Darwin is built around the Mach 3.0 microkernel, which provides features critical to server operations, such as fine-grained multi-threading, symmetric multiprocessing (SMP), protected memory, a unified buffer [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=osxhosting.wordpress.com&blog=2660922&post=22&subd=osxhosting&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p><b>Darwin: Kernel and BSD</b></p>
<p><b></b>Mac OS X Server starts with Darwin, the same open source foundation used in Mac OS X, Apples operating system for desktop and mobile computers. Darwin is built around the Mach 3.0 microkernel, which provides features critical to server operations, such as fine-grained multi-threading, symmetric multiprocessing (SMP), protected memory, a unified buffer cache (UBC), 64-bit kernel services and system notifications. Darwin also includes the latest innovations from the open source BSD community, particularly the FreeBSD development community.</p>
<h4>Next-Generation Computing Power</h4>
<p>Mac OS X Server v10.4 brings the power of 64-bit computing to mainstream servers opening up opportunities to process exponentially larger problems. Now with 64-bit addressing, Mac OS X Server can access massive amounts of memory, transcending the 4GB memory limitation of 32-bit systems. Its high-performance 64-bit file system enables you to create very large, exabyte-sized volumes for enormous databases and media storage. And its 64-bit optimized math libraries enable extremely accurate mathematical calculations. While Mac OS X Server is the ideal platform for next-generation networking applications and services, it also runs todays 32-bit applications natively no modification required.</p>
<h4>Advanced BSD Networking</h4>
<p>To increase the performance and security of your server deployments, Mac OS X Server incorporates industry-standard protocols and the latest in security standards such as multilink multihoming, IPv6, IPSec, IP over FireWire and 802.1X network authentication. New in Mac OS X Server v10.4 is Ethernet link aggregation and network interface failover (IEEE 802.3ad) for higher aggregated throughput and increased server availability. And with Mac OS X Server on Xserve G5, you also get support for Virtual Local Area Network (VLAN) tags and Ethernet Jumbo Frames. Using the time-tested BSD sockets and TCP/IP stack, these advanced networking features ensure compatibility and integration with IP-based networks.</p>
<h4>Secure from the Start</h4>
<p>Thanks to its UNIX foundation, Mac OS X Server contains robust security features in its core. To protect your server, your network and your organizations data, it also includes state-of-the-art technologies such as a built-in firewall with stateful packet analysis, strong encryption and authentication services, data security architectures and support for access control lists (ACLs) for fine-grained control of file system permissions. Simple interfaces and configuration tools allow you to set up systems easily and securely. In fact, when you take an Apple server out of the box, its already configured with the most secure settings.</p>
<h4>Standards-Based Directory Services Architecture</h4>
<p>Mac OS X Server features Open Directory, Apples directory and authentication services architecture. Open Directory allows you to integrate your server with any LDAP directory, leveraging the infrastructure you already have in place. It even integrates with proprietary services such as Microsofts Active Directory or Novell eDirectory. Also integrated is MITs Kerberos tcehnology, enabling single sign-on support in both Open Directory and Active Directory environments.</p>
<h4>Optimized for Business-Critical Server Deployments</h4>
<p>While Mac OS X Server has the same robust core as Mac OS X, it adds industrial-strength features required for server deployments. Designed for headless operation, Mac OS X Server enables you to install and configure services without connecting a monitor to the server. Powerful remote management tools allow you to securely manage services from anywhere on the network, and support for SSH2 provides secure access from the UNIX command line. To keep your systems up and running, Mac OS X Server has built-in tools for system monitoring, preventing accidental shutdown and recovering services quickly in case of network or power failure.</p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/osxhosting.wordpress.com/22/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/osxhosting.wordpress.com/22/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/osxhosting.wordpress.com/22/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/osxhosting.wordpress.com/22/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/osxhosting.wordpress.com/22/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/osxhosting.wordpress.com/22/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/osxhosting.wordpress.com/22/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/osxhosting.wordpress.com/22/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/osxhosting.wordpress.com/22/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/osxhosting.wordpress.com/22/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/osxhosting.wordpress.com/22/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/osxhosting.wordpress.com/22/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=osxhosting.wordpress.com&blog=2660922&post=22&subd=osxhosting&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://osxhosting.wordpress.com/2008/01/24/mac-osx-server-104/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/1bb0ea156c7154f63c261bc6b83587dc?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">montanaflynn</media:title>
		</media:content>
	</item>
		<item>
		<title>Optimizing an Xserve for Web Hosting</title>
		<link>http://osxhosting.wordpress.com/2008/01/24/optimizing-an-xserve-for-web-hosting/</link>
		<comments>http://osxhosting.wordpress.com/2008/01/24/optimizing-an-xserve-for-web-hosting/#comments</comments>
		<pubDate>Thu, 24 Jan 2008 17:46:38 +0000</pubDate>
		<dc:creator>montanaflynn</dc:creator>
				<category><![CDATA[Apache]]></category>
		<category><![CDATA[Hardware]]></category>
		<category><![CDATA[Hosting]]></category>
		<category><![CDATA[Leopard]]></category>
		<category><![CDATA[OSX]]></category>
		<category><![CDATA[Servers]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[Xserve]]></category>
		<category><![CDATA[lasso]]></category>
		<category><![CDATA[Mac]]></category>
		<category><![CDATA[Server]]></category>

		<guid isPermaLink="false">http://macosxhosting.wordpress.com/2008/01/24/optimizing-an-xserve-for-web-hosting/</guid>
		<description><![CDATA[A single Xserve is ideally suited for smaller scale Web hosting, where the task is to host a handful of moderate-traffic sites. (With a fleet of Xserves, you could host an eBay or an Apple.com, but that’s a topic for another article.) The Xserve’s Apache Web server software has a multitude of configuration options. In [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=osxhosting.wordpress.com&blog=2660922&post=20&subd=osxhosting&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>A single Xserve is ideally suited for smaller scale Web hosting, where the task is to host a handful of moderate-traffic sites. (With a fleet of Xserves, you could host an eBay or an Apple.com, but that’s a topic for another article.) The Xserve’s Apache Web server software has a multitude of configuration options. In this article, I will go over how to set up Apache to serve multiple Web sites from the same machine—so-called “virtual hosting.” I will also look at ways to optimize the server’s setup for fast, robust Web hosting. This article assumes that you have already followed the steps in the Mac OS X Server Administrator’s Guide to start Web service.  (You can find the Guide on the <a href="http://docs.info.apple.com/article.html?artnum=50525">Mac OS X Server Manuals page</a>.)</p>
<h2>Hosting Multiple Domains on One Server</h2>
<p>The out-of-the-box behavior of Apache is to have one IP address and to serve one domain. However, it is quite easy to transparently host thousands of domains on a single Xserve, and the users need never know that it’s one machine behind the scenes and not a whole farm. There are two approaches to this sort of “virtual hosting”—IP-based and name-based. With IP-based hosting, each domain name is mapped to its own individual IP address. Name-based hosting uses a little trickery so that many domains can be served from the same IP address. IP-based hosting is a little more robust—it allows for secured HTTPS transactions, which are important for Web commerce, reverse DNS, and some other features; but IP addresses are scarce, so name-based hosting, which works perfectly well, is probably preferable for most applications. Name-based hosting depends on a certain header sent by the browser, and as a result it doesn’t work with some browsers released before 1997, but that is less and less of an issue as those browsers become increasingly scarce. I will go over how to set up both kinds of virtual hosting.</p>
<h2>IP-Based Hosting</h2>
<p>Assuming you have already acquired the domain names and IP addresses you’ll be using, the first step in creating an IP-based hosting setup is to configure the Xserve to have multiple IP addresses on the same Ethernet card. This can be done from System Preferences on the Xserve. Open the Network Preferences pane. Select “Active Network Ports” from the Show drop-down menu. Choose the port corresponding to the Ethernet card that you want to assign multiple IP addresses to, and click “Duplicate.” Then simply change the duplicate configuration to reflect the second IP address. It is necessary also to make sure that the Subnet Mask setting for all but one of the ports is 255.255.255.255. This will prevent conflicts in the routing tables.</p>
<p>On a headless Xserve, the same thing can be accomplished with the IPAliases startup item. If the file /etc/IPAliases.conf doesn’t exist, create it. For each additional IP address, this file should contain one line of the form</p>
<pre>interface:IPaddress:netmask</pre>
<p>For example, to add the IP address 192.168.50.210 to the en0 network interface, the following line would be used:</p>
<pre>en0:192.168.50.210:255.255.255.255</pre>
<p>The netmask should always be 255.255.255.255.</p>
<p>In addition, IP aliases must be turned on, by adding to /etc/hostconfig the line</p>
<pre>IPALIASES=-YES-</pre>
<p>Every time the system is booted, the aliases listed in /etc/IPAliases.conf will be added. The file can contain any number of aliases.</p>
<p>With multiple IP addresses configured, the next step is to add DNS entries.  For each domain that you want mapped to an IP address, create an A record in the DNS pointing the address to the site. In BIND, the A record might look like this:</p>
<pre>firstdomain.com.   A   10.151.90.2</pre>
<p>All of the records for the various domains can be in the same DNS file or in different ones, depending on the preferences of your users and whether you host your own DNS or not.</p>
<p>Finally, tell Apache how to deal with requests for the various addresses. In Server Settings, click Web in the Internet tab. Choose “Configure Web Service” from the drop-down menu. In the Sites tab, you can add as many sites as you like, just by entering the domain name and IP address for each one. The content for each site should be placed in the folder you specify in the “Web folder” field here.</p>
<h2>Name-Based Hosting</h2>
<p>Setting up name-based hosting is a bit simpler. Add DNS records for each domain to be hosted, such that each domain name resolves to the same single IP address—the one associated with your Xserve. When a user’s browser makes a request for one of the domains, it will send an HTTP Host header indicating which domain it is requesting. Apache interprets this header and returns the appropriate content.</p>
<p>After the DNS is configured, go to Server Settings’ Internet tab, and choose “Configure Web Service” from the Web drop-down menu. Go to the Sites tab. Here you can create an entry for each site you want to serve. Give each one the same IP address but different domain names. Content will be served from the location specified in the “Web folder” field.</p>
<p>If desired, name-based and IP-based hosting can co-exist.</p>
<h2>Handling A Lot Of Domains</h2>
<p>If you are hosting quite a few domains, or adding new ones frequently, it can be inconvenient to add an entry for each one in Server Settings. The process can be automated to a degree, so that simply adding a DNS entry and creating a new directory for content on the Xserve is sufficient to launch each new domain. NOTE that this method and that of adding sites via Server Settings are mutually exclusive—new domains added in this way will not be reflected in Server Settings, and adding or editing sites in Server Settings will alter the configuration of the automatically created domains with unpredictable results. This method also precludes turning the performance cache on and off on a per-domain basis. That said, here are the basic steps.</p>
<p>First, configure a single site in Server Settings, with the correct IP address. The domain name you give it doesn’t matter. Save the changes.</p>
<p>Edit /etc/httpd/httpd.conf to uncomment the two lines beginning:</p>
<pre>LoadModule vhost_alias_module</pre>
<p>and</p>
<pre>AddModule vhost_alias_module</pre>
<p>Also, change the line</p>
<pre>UseCanonicalName On</pre>
<p>to</p>
<pre>UseCanonicalName Off</pre>
<p>Next, edit /etc/httpd/httpd_macosXserver.conf. There should be a long comment section starting with the line:</p>
<pre>## The section below contains a block for each site (virtual host).</pre>
<p>Below this comment section is the stanza to edit. It looks something like this:</p>
<pre>#&lt;RAdmin 100&gt;NameVirtualHost 192.168.0.25:80

Listen 192.168.0.25:80

&lt;VirtualHost 192.168.0.25:80&gt;

#WebPerfCacheEnable Off

#SiteAutomaticallyDisabled Off

ServerName example.com

ServerAdmin webmaster@example.com

DocumentRoot "/Library/WebServer/Documents/"

DirectoryIndex index.html index.php

CustomLog "/private/var/log/httpd/access_log" "%{PC-Remote-Addr}i %l %u %t \"%r\" %&gt;s %b"

ErrorLog "/private/var/log/httpd/error_log"</pre>
<p>and so on.</p>
<p>The stanza may look somewhat different if performance caching is enabled.</p>
<p>There are just a few changes to make to this. First, on the ServerName line, you can place the fallback domain to which users of pre-1997 browsers will be sent. This line has to exist, but for users of modern browsers, it will be ignored.</p>
<p>Then modify the DocumentRoot line to look like this:</p>
<pre>VirtualDocumentRoot /Library/WebServer/Documents/%0</pre>
<p>and the CustomLog line to include %v :</p>
<pre>CustomLog "/private/var/log/httpd/access_log" "%v %{PC-Remote-Addr}i %l %u %t \"%r\" %&gt;s %b"</pre>
<p>Save the file and restart Apache.</p>
<p>The VirtualDocumentRoot directive tells Apache to interpolate information from the server name, which in this case is read on the fly from the user’s browser, into the pathname. “%0” is a specifier representing the requested domain name. Thus, a browser request for http://domain-ten.com/index.html will be answered with the file at /Library/WebServer/Documents/domain-ten.com/index.html.</p>
<p>As a result, to host a new domain, all that has to be done is to create a new directory corresponding to the domain name in /Library/WebServer/Documents, and to place content to be served in that directory.</p>
<p>The various specifiers understood by the VirtualDocumentRoot directive are explained on the <a href="http://httpd.apache.org/docs/mod/mod_vhost_alias.html">apache.org website</a>. For example, if you have hundreds of domains hosted, they can be sorted into 36 directories based on their first alphanumeric character with the following directive:</p>
<pre>VirtualDocumentRoot /Library/WebServer/Documents/%1.1/%0</pre>
<p>A side-effect of this aliasing technique is that log data for all the virtual domains is sent to the same file. Adding the “%v” specifier to the CustomLog line prepends the name of the domain to each log line. A simple script can be used to parse this master log file into individual files for each domain, if so desired. More information on CustomLog specifiers is available on the <a href="http://httpd.apache.org/docs/mod/mod_vhost_alias.html">apache.org website</a>.</p>
<h2>Tuning Web Server Performance</h2>
<p>When setting up an Xserve for use as a Web server, there are a number of things you can do to improve performance. Some of these techniques improve the performance of the machine in general; others involve examining where bottlenecks may be occurring and tuning the Web server to work around them.</p>
<p>First, it is important to make sure the hardware is up to speed. Even a low-end Xserve has a very nice feature set, including fast disk access, fast Ethernet, and a minimum of 256MB of RAM out of the box. The RAM allotment can be increased to 2 gigs: if the Web server at full-throttle seems to be using a lot of memory, buying more RAM could speed things up considerably.  In terms of hardware, there are several options that will increase reliability, including IP failover to a second server, which is described in detail in the Admin Guide, and adding an <a href="http://www.apple.com/xserve/raid/">Xserve RAID</a> for ultra-fast and reliable storage.</p>
<p>In addition to the hardware approaches, there are a number of software-based strategies for optimizing a Web server. I will detail some of these below.</p>
<h2>Apple’s Performance Cache</h2>
<p>Included in the OS X Server installation is Apple’s performance cache. This acts as an intermediary between the Apache Web server and the user: the cache stores a copy of commonly requested pages from the sites served, and, upon receiving a user request for one of these pages, sends it along. This involves much less overhead than invoking Apache each time the page is requested. Apache is still kept busy serving dynamic and less common pages. The cache can be enabled and disabled individually for each of the sites served from the machine. In general, the cache is very helpful for highish-traffic sites that consist primarily of static HTML pages. The total size of the site’s popularly requested static pages should be small enough to fit in the machine’s RAM; otherwise caching may actually slow things down. For sites with primarily dynamic content, the cache will not be helpful.</p>
<p>To turn the performance cache for a particular site on or off, go to the Internet tab in Server Settings and click Web. Choose “Configure Web Service,” and then select the Sites tab. Edit the site you want to change, and go to the Options tab. Check or uncheck “Enable performance cache” and save. The changes take effect when the Web server is restarted from the Web drop-down menu. Note that this cannot be done with a server configured with dynamic site addressing, as explained above.</p>
<p>Aspects of the behavior of the cache can be configured in the file /etc/webperfcache/webperfcache.conf. The default settings seem to work quite well, but they can be adjusted to make the cache work better with tweaked Apache settings (see below) or unusual server configurations.</p>
<h2>Tweaking Apache</h2>
<p>Apache has various settings which control how it handles requests. Tuning these can make a big difference in the performance of the server.</p>
<p>Apache’s performance can be monitored by viewing yourhosteddomain.com/server-status in a browser. Configure the &lt;Location /server-status&gt; section in /etc/httpd/httpd_macosXserver.conf to control who can view the status: it’s set by default to deny all but localhost.</p>
<h2>Eliminating Unnecessary Modules</h2>
<p>The first step in speeding up Apache is to remove any unnecessary modules. To see which modules are compiled in, do the following:</p>
<p>In httpd.conf, there is a section that looks like this:</p>
<pre>#&lt;Location /server-info&gt;#    SetHandler server-info

#    Order deny,allow

#    Deny from all

#    Allow from .your-domain.com

#&lt;/Location&gt;</pre>
<p>Remove the # from the beginning of each line to uncomment the directive. Change “.your-domain.com” to the actual domain(s) that you wish to access server information from, and then restart Apache.</p>
<p>Now http://yoursite.com/server-info should display a variety of detailed information about the server, including which modules are compiled in, and configuration information for each module.</p>
<p>Modules that are compiled in statically can’t be removed without recompiling the Web server. The out-of-the-box configuration of Apache on Xserve has almost every module compiled as dynamically loadable, so it is easy to turn off unnecessary ones without recompiling the Web server. Dynamic modules are loaded when Apache starts, according to the LoadModule and AddModule directives in the file /etc/httpd/httpd.conf.</p>
<p>The base installation of Apache that ships with OS X Server loads quite a few dynamic modules by default. Each of these takes up some memory, and some of them, such as mod_status, cause Apache to do extra work with every request. Any modules that aren’t necessary to the functioning of the sites you host should not be loaded. This can be controlled by commenting out (by prefixing a # on each line) the relevant LoadModule and AddModule directives for each module in /etc/httpd/httpd.conf. Every module has both a LoadModule and and AddModule directive—be sure to comment out both when disabling a module. Mod_include and mod_rewrite, among others, are notorious performance hogs.</p>
<h2>Adjusting Processes</h2>
<p>There are several directives that can be adjusted to modify how Apache handles traffic. Apache will spawn new versions of itself to handle requests. MaxClients sets the maximum number of these that will be spawned. The more of these there are, the faster Apache can handle a large number of requests—up to the limitations of the machine’s memory. The default is 500. Figure on about 1 MB of RAM for each httpd instance, and set MaxClients accordingly in Server Settings (or /etc/httpd/httpd_macosXserver.conf).</p>
<p>The MinSpareServers and MaxSpareServers directives, in /etc/httpd/httpd.conf, set how many spare server processes are running to handle sudden requests. StartServers sets how many are created when Apache first starts. You may want to increase StartServers and MaxSpareServers if Apache seems to be slowing down when it has to create new processes. When Apache spawns more than four child processes per second—a sign that it may need more spare servers—it logs that fact to its error log. Keep an eye on the log and tune if necessary.</p>
<p>MaxRequestsPerChild keeps a lid on potential memory leaks by killing off each child process after it has served a certain number of requests. The default setting on OS X Server is 100,000, which is reasonable. A setting of 0 means that Apache’s children are never killed.</p>
<p>The KeepAlive settings in /etc/httpd/httpd_macosXserver.conf control how each server process listens for new requests on a connection that has been established. Increasing KeepAlive requests reduces traffic from new connections, but increases server load with many Apache processes waiting around for orders.</p>
<h2>Removing Extra Steps</h2>
<p>Another key to speeding up Apache’s behavior is to minimize the number of things it has to do for each request. If the Web server is receiving a lot of requests, these extra tasks can bog it down tremendously.</p>
<p>HostnameLookups causes Apache to perform a DNS lookup for every incoming request, so it can log the domain name as well as the IP address in the access log. This should be turned off, as it is by default, if performance is an issue. The DNS lookups can be performed after the fact, on another machine, using a tool such as logresolve.</p>
<p>If AllowOverride is turned on, then Apache checks for the presence of .htaccess files containing overriding directives at every level of the hierarchy. This repetitive checking eats up server resources. For maximum performance, set AllowOverride None. (This is the default setting for OS X Server.)</p>
<p>FollowSymLinks is a directive that instructs Apache to follow symbolic links without performing an additional security check on them. If this is turned off, Apache slows down to check each symbolic link.</p>
<p>Finally, logging is very important for 95 percent of Web-hosting activities, but if you are not using it, turning it off will improve performance. All that file access slows things down considerably. Set TransferLog /dev/null in /etc/httpd/httpd.conf.</p>
<h2>Temporary Adjustments</h2>
<p>Sometimes, if you’re lucky, you have advance warning of a peak in Web traffic; say, a well-read news site is planning to link to one of the domains you host tomorrow. There are a few emergency preparations that can be made to allow for that kind of situation.</p>
<p>First, free up memory and CPU by offloading everything you can. If the Xserve is acting as a mail server, database server, or what-have-you, as well as a Web server, move those duties to another machine if possible. If there are other medium-traffic domains that could be hosted elsewhere temporarily, do it. Shut down unnecessary processes and cron jobs.</p>
<p>Second, make sure you have enough bandwidth. If you use a firewall, you may want to reconfigure its socket handling to maximize throughput.</p>
<p>If it is possible, making changes to the content of the<br />
domain to be served can be very effective. Remove images, reduce<br />
their file sizes, or simply move them to another server and<br />
serve them from there.</p>
<p>Apache’s MaxClients limit is hard-coded at 2048 in OS X<br />
Server. For peak traffic, you may want far more clients than<br />
this. It is necessary to recompile Apache to make this change.<br />
You will have to download the source code from the<br />
href=&#8221;http://httpd.apache.org/download.cgi&#8221;&gt;apache.org website. In the source file src/include/httpd.h,<br />
change the line</p>
<pre>#define HARD_SERVER_LIMIT 2048</pre>
<p>to</p>
<pre>#define HARD_SERVER_LIMIT 4096</pre>
<p>Or whatever number seems appropriate. Note that the number given here is usually a factor of 2.</p>
<p>Then recompile according to the instructions in the INSTALL file included with the source.</p>
<p>Careful deployment of all of these tips should significantly improve the way the Xserve handles Web serving. If, after all of the above, your server simply can’t handle the load it’s getting, that’s when you should consider adding a second machine to share the burden.</p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/osxhosting.wordpress.com/20/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/osxhosting.wordpress.com/20/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/osxhosting.wordpress.com/20/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/osxhosting.wordpress.com/20/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/osxhosting.wordpress.com/20/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/osxhosting.wordpress.com/20/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/osxhosting.wordpress.com/20/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/osxhosting.wordpress.com/20/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/osxhosting.wordpress.com/20/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/osxhosting.wordpress.com/20/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/osxhosting.wordpress.com/20/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/osxhosting.wordpress.com/20/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=osxhosting.wordpress.com&blog=2660922&post=20&subd=osxhosting&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://osxhosting.wordpress.com/2008/01/24/optimizing-an-xserve-for-web-hosting/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/1bb0ea156c7154f63c261bc6b83587dc?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">montanaflynn</media:title>
		</media:content>
	</item>
		<item>
		<title>OSX Wiki Server</title>
		<link>http://osxhosting.wordpress.com/2008/01/23/osx-wiki-server/</link>
		<comments>http://osxhosting.wordpress.com/2008/01/23/osx-wiki-server/#comments</comments>
		<pubDate>Wed, 23 Jan 2008 16:43:41 +0000</pubDate>
		<dc:creator>montanaflynn</dc:creator>
				<category><![CDATA[Hardware]]></category>
		<category><![CDATA[Leopard]]></category>
		<category><![CDATA[OSX]]></category>
		<category><![CDATA[Servers]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[Mac]]></category>
		<category><![CDATA[Server]]></category>
		<category><![CDATA[wiki]]></category>

		<guid isPermaLink="false">http://macosxhosting.wordpress.com/2008/01/23/osx-wiki-server/</guid>
		<description><![CDATA[

Mac OS X Server makes it easy for groups to collaborate and communicate through their own wiki-powered intranet website complete with group calendar, blog, and mailing list. Users can create and edit wiki pages, tag and cross-reference material, upload files and images, add comments, and search content with point-and-click ease.


Communication is key.
Whether it’s a small [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=osxhosting.wordpress.com&blog=2660922&post=19&subd=osxhosting&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p><img src="http://images.apple.com/server/macosx/features/images/wikis_hero20071009.png" alt="Mac OS X Server Wikis and Blogs Screenshot" border="0" height="321" width="464" /></p>
<h1><img src="http://images.apple.com/server/macosx/features/images/wikis_title20071009.gif" alt="Wiki Server. Collaboration for teams." border="0" height="27" width="695" /></h1>
<p class="intro">Mac OS X Server makes it easy for groups to collaborate and communicate through their own wiki-powered intranet website complete with group calendar, blog, and mailing list. Users can create and edit wiki pages, tag and cross-reference material, upload files and images, add comments, and search content with point-and-click ease.</p>
<div class="grid2col">
<div class="column first">
<h3>Communication is key.</h3>
<p>Whether it’s a small business or a workgroup inside a large corporation, all members need access to the same materials in order to work effectively. Wikis assist users in the clear exchange of information, eliminating confusion and ensuring that all members of a project have access to the resources they need.</p>
<p><img src="http://images.apple.com/server/macosx/features/images/wiki_buttons20071009.gif" alt="Buttons" class="left" style="margin-bottom:0;" border="0" height="46" width="173" /></p>
<p>The wiki blog is the perfect place for sharing team news and status reports or encouraging brainstorming. For shorter comments, there’s a space at the bottom of the wiki page where users can share their thoughts or provide feedback. You have the ability to control who can add comments — nobody, only authenticated users, or anyone who has access to the wiki. Teams can also use the wiki for file exchange — uploading shared documents, images, or movies for distribution; even tracking revisions on documents. And shared calendars help users stay on track by ensuring that everyone can see meeting schedules and milestones.</p>
<p><img src="http://images.apple.com/server/macosx/features/images/wikis_editicons20071009.jpg" alt="Wikis and Blogs editing icons" class="right" border="0" height="34" width="106" /></p>
<h3>Customized web workspace.</h3>
<p>Wikis allow you to create custom, project-specific websites. Select from 20 built-in themes with different colors, fonts, and layout styles. You can customize these templates with your own banner image and a custom sidebar title that displays pages with a user-defined tag at initial login. Once set up, it’s easy to add, delete, and edit content in whatever way makes sense. No syntax or markup knowledge is required — what you see on the page is exactly what you get.</p></div>
<div class="column last">
<div class="gallerybox">
<h2>Wiki Server showcase</h2>
<ul class="popupnav">
<li><a href="http://images.apple.com/server/macosx/features/images/wiki_gallery_01_20071009.jpg" class="overlaythumb"><img src="http://images.apple.com/server/macosx/features/images/wiki_gallery_01t_20071009.gif" border="0" height="48" width="65" /></a></li>
<li><a href="http://images.apple.com/server/macosx/features/images/wiki_gallery_02_20071009.jpg" class="overlaythumb"><img src="http://images.apple.com/server/macosx/features/images/wiki_gallery_02t_20071009.gif" border="0" height="48" width="65" /></a></li>
<li><a href="http://images.apple.com/server/macosx/features/images/wiki_gallery_03_20071009.jpg" class="overlaythumb"><img src="http://images.apple.com/server/macosx/features/images/wiki_gallery_03t_20071009.gif" border="0" height="48" width="65" /></a></li>
<li><a href="http://images.apple.com/server/macosx/features/images/wiki_gallery_04_20071009.jpg" class="overlaythumb"><img src="http://images.apple.com/server/macosx/features/images/wiki_gallery_04t_20071009.gif" border="0" height="48" width="65" /></a></li>
</ul>
</div>
<p><!--/gallery--></p>
<div class="gallery_capbottom"></div>
<p>You can insert hyperlinks, link between pages, add images, attach files, and change formatting — all with a few clicks. Because wikis feature RSS support, team members can easily track changes and be notified when new content is added, edited, or tagged.<br />
<img src="http://images.apple.com/server/macosx/features/images/wikis_rssicon20071009.jpg" alt="Wikis RSS icon" class="right shadow inline" border="0" height="60" width="100" /><br />
You can subscribe to RSS feeds for the entire wiki site, any individual page, or any tag or search results. And you’ll never have to worry about making mistakes. Since the wiki maintains a complete history, you can always revert to a previous version of your document.</p>
<p>Once you create a wiki website and give access to members of the workgroup, everyone has the same capability to contribute to the site. And it’s not limited to text and images — users can access a group calendar to track meetings and deadlines or send messages to a mailing list to keep others informed. The blog feature is perfect for brainstorming or commenting on work. And there’s an option for subscribing to a podcast — so anyone who missed that important conference call can catch up on the news.</p></div>
</div>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/osxhosting.wordpress.com/19/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/osxhosting.wordpress.com/19/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/osxhosting.wordpress.com/19/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/osxhosting.wordpress.com/19/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/osxhosting.wordpress.com/19/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/osxhosting.wordpress.com/19/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/osxhosting.wordpress.com/19/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/osxhosting.wordpress.com/19/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/osxhosting.wordpress.com/19/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/osxhosting.wordpress.com/19/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/osxhosting.wordpress.com/19/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/osxhosting.wordpress.com/19/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=osxhosting.wordpress.com&blog=2660922&post=19&subd=osxhosting&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://osxhosting.wordpress.com/2008/01/23/osx-wiki-server/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/1bb0ea156c7154f63c261bc6b83587dc?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">montanaflynn</media:title>
		</media:content>

		<media:content url="http://images.apple.com/server/macosx/features/images/wikis_hero20071009.png" medium="image">
			<media:title type="html">Mac OS X Server Wikis and Blogs Screenshot</media:title>
		</media:content>

		<media:content url="http://images.apple.com/server/macosx/features/images/wikis_title20071009.gif" medium="image">
			<media:title type="html">Wiki Server. Collaboration for teams.</media:title>
		</media:content>

		<media:content url="http://images.apple.com/server/macosx/features/images/wiki_buttons20071009.gif" medium="image">
			<media:title type="html">Buttons</media:title>
		</media:content>

		<media:content url="http://images.apple.com/server/macosx/features/images/wikis_editicons20071009.jpg" medium="image">
			<media:title type="html">Wikis and Blogs editing icons</media:title>
		</media:content>

		<media:content url="http://images.apple.com/server/macosx/features/images/wiki_gallery_01t_20071009.gif" medium="image" />

		<media:content url="http://images.apple.com/server/macosx/features/images/wiki_gallery_02t_20071009.gif" medium="image" />

		<media:content url="http://images.apple.com/server/macosx/features/images/wiki_gallery_03t_20071009.gif" medium="image" />

		<media:content url="http://images.apple.com/server/macosx/features/images/wiki_gallery_04t_20071009.gif" medium="image" />

		<media:content url="http://images.apple.com/server/macosx/features/images/wikis_rssicon20071009.jpg" medium="image">
			<media:title type="html">Wikis RSS icon</media:title>
		</media:content>
	</item>
		<item>
		<title>Web Hosting</title>
		<link>http://osxhosting.wordpress.com/2008/01/22/web-hosting/</link>
		<comments>http://osxhosting.wordpress.com/2008/01/22/web-hosting/#comments</comments>
		<pubDate>Tue, 22 Jan 2008 19:12:32 +0000</pubDate>
		<dc:creator>montanaflynn</dc:creator>
				<category><![CDATA[Apache]]></category>
		<category><![CDATA[Hosting]]></category>
		<category><![CDATA[Leopard]]></category>
		<category><![CDATA[OSX]]></category>
		<category><![CDATA[Web Development]]></category>
		<category><![CDATA[2.0]]></category>
		<category><![CDATA[Host]]></category>
		<category><![CDATA[Web]]></category>
		<category><![CDATA[wen]]></category>
		<category><![CDATA[Xserve]]></category>

		<guid isPermaLink="false">http://macosxhosting.wordpress.com/2008/01/22/web-hosting/</guid>
		<description><![CDATA[
You don’t need to be an experienced webmaster to host your own home page, website, or Web 2.0 application with Mac OS X Server.  With its intuitive administrative interface, you can immediately start up a static website or deploy even the most sophisticated of sites.

							
Powered by Apache.
Included in Mac OS X Server is Apache, [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=osxhosting.wordpress.com&blog=2660922&post=18&subd=osxhosting&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><h1><img src="http://images.apple.com/server/macosx/features/images/webhosting_title20071009.gif" alt="Web Hosting. Deploy anything from Apache to Zope." border="0" height="27" width="424" /></h1>
<p class="intro">You don’t need to be an experienced webmaster to host your own home page, website, or Web 2.0 application with Mac OS X Server.  With its intuitive administrative interface, you can immediately start up a static website or deploy even the most sophisticated of sites.</p>
<div class="grid2col">
<div class="column first">							<img src="http://images.apple.com/server/macosx/features/images/webhosting_icon20071009.gif" alt="Web Hosting" class="right icon" align="left" border="0" height="123" width="114" /></p>
<h3>Powered by Apache.</h3>
<p>Included in Mac OS X Server is <a href="http://www.apache.org/">Apache</a>, the most widely used HTTP server on the Internet. Apache is preconfigured with default settings, so deployment is as simple as starting the Web service. Any HTML content saved to the server’s default web folder will be served over the Internet automatically. Mac OS X Server offers experienced webmasters support for using either Apache 2.2 or Apache 1.3 from within the Server Admin application.</p>
<h3>Deploy the Web 2.0.</h3>
<p>Everything you need to develop, deploy, and host reliable Web 2.0 applications is included.  Mac OS X Server ships with a full complement of server applications and frameworks including Apache 2, Ruby on Rails, Tomcat 5, and WebObjects 5.4. For hosting enterprise-class applications, Mac OS X Server includes a 64-bit Java VM optimized for the latest generation of Intel multicore processors.</p>
<h3>Hosting multiple websites.</h3>
<p>Support for virtual hosting in Mac OS X Server allows you host multiple websites on a single server. Using Server Admin, you can configure each website on your server to have a different domain name (using virtual domains) and even a different IP address. In addition, each website can be configured with unique security options and separate log files for tracking and reporting.</p></div>
<div class="column last">
<div class="callout performancegraph">
<h2>Apache Performance</h2>
<h3>Up to 50% improvement over Tiger Server<sup>*</sup></h3>
<div class="sidegraph">
<h4>Leopard Server <i>Xserve Quad Xeon</i></h4>
<p><b><span>1.56x</span></b></div>
<div class="sidegraph">
<h4>Tiger Server <i>Xserve Quad Xeon</i></h4>
<p><b><span>Baseline</span></b></div>
<p>Apache performance</p>
<div class="capbottom"></div>
</div>
<p><!--/callout--></p>
<p><img src="http://images.apple.com/server/macosx/features/images/webhosting_java20071009.gif" alt="Java Icon" class="right icon" border="0" height="90" width="61" /></p>
<h3>Be dynamic.</h3>
<p>Apache is extremely flexible, so you can add dynamic content for a more interactive Internet solution. Dynamic content enables you to host stores, auctions, shared  calendars, portal systems, polls, and other database-driven services. The robust server-side architecture in Apache supports dynamic content generated by server-side includes (SSIs), PHP, Perl, Apache modules, and custom CGIs — as well as by JavaServer Pages (JSPs) and Java Servlets.</p>
<h3>Secure web services.</h3>
<p>Mac OS X Server integrates OpenSSL with the Apache web server, providing support for strong 128-bit encryption and public key infrastructure (PKI) authentication using X.509 digital certificates. This high-grade security architecture protects credit card  information and other confidential personal and business data transmitted during web transactions.</p></div>
</div>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/osxhosting.wordpress.com/18/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/osxhosting.wordpress.com/18/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/osxhosting.wordpress.com/18/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/osxhosting.wordpress.com/18/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/osxhosting.wordpress.com/18/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/osxhosting.wordpress.com/18/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/osxhosting.wordpress.com/18/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/osxhosting.wordpress.com/18/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/osxhosting.wordpress.com/18/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/osxhosting.wordpress.com/18/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/osxhosting.wordpress.com/18/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/osxhosting.wordpress.com/18/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=osxhosting.wordpress.com&blog=2660922&post=18&subd=osxhosting&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://osxhosting.wordpress.com/2008/01/22/web-hosting/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/1bb0ea156c7154f63c261bc6b83587dc?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">montanaflynn</media:title>
		</media:content>

		<media:content url="http://images.apple.com/server/macosx/features/images/webhosting_title20071009.gif" medium="image">
			<media:title type="html">Web Hosting. Deploy anything from Apache to Zope.</media:title>
		</media:content>

		<media:content url="http://images.apple.com/server/macosx/features/images/webhosting_icon20071009.gif" medium="image">
			<media:title type="html">Web Hosting</media:title>
		</media:content>

		<media:content url="http://images.apple.com/server/macosx/features/images/webhosting_java20071009.gif" medium="image">
			<media:title type="html">Java Icon</media:title>
		</media:content>
	</item>
	</channel>
</rss>