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

<channel>
	<title>Make Mac Work &#187; OS X Server</title>
	<atom:link href="http://www.makemacwork.com/category/server/feed" rel="self" type="application/rss+xml" />
	<link>http://www.makemacwork.com</link>
	<description>Helping Manage The Macintosh Enterprise</description>
	<lastBuildDate>Mon, 31 Aug 2009 07:00:55 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.4</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Control Individual Service Access</title>
		<link>http://www.makemacwork.com/control-individual-service-access.htm</link>
		<comments>http://www.makemacwork.com/control-individual-service-access.htm#comments</comments>
		<pubDate>Mon, 27 Jul 2009 07:00:00 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[OS X Server]]></category>
		<category><![CDATA[System Settings]]></category>

		<guid isPermaLink="false">http://www.makemacwork.com/limit-service-access/</guid>
		<description><![CDATA[The sales team need VPN for travel. The finance department needs Windows File Sharing. Freelancers need to deliver work via FTP, but they shouldn&#8217;t ever be able to log in from the console. Your server needs to offer a variety of services, but you don&#8217;t want to offer every service to every user with an [...]]]></description>
			<content:encoded><![CDATA[<p>The sales team need VPN for travel. The finance department needs Windows File Sharing. Freelancers need to deliver work via FTP, but they shouldn&#8217;t ever be able to log in from the console. Your server needs to offer a variety of services, but you don&#8217;t want to offer every service to every user with an account. Using the access panel built into the Server Admin application, you can set finely grained controls over which users and groups can utilize which services.</p>
<p>While these restrictions can be determined on a user-by-user basis, this approach can quickly become hard to manage. The more scalable option is to utilize groups, either from existing directory services or created specifically for this purpose on the local machine.</p>
<p>With your access model planned, open Server Admin as an administrative user and highlight your server name in the left column. Then choose the Access button from the strip along the top right, and you&#8217;ll see a list of the services available to regulate.</p>
<p><img alt="Service Admin: Service Access Control Lists" src="http://www.makemacwork.com/wp-content/images/serveradmin-access-services.png" /></p>
<p>Simply uncheck &#8220;Use same access for all services&#8221; then choose a service on the left, adding users and groups to the list on the right with the plus button. When you&#8217;ve configured the services to your satisfaction, hit &#8220;Save&#8221; to enforce your policy.</p>
<p>The procedure is deceptively straightforward. Login Window can easily be configured to lock all users out of the machine, for instance, so it&#8217;s best to have a strategy for each service individually. </p>
<p>There&#8217;s also one service Server Admin doesn&#8217;t control access to at all. Just like individual client machines, the ability to remotely control your server is regulated in the System Preferences under the Sharing pane. Select &#8220;Apple Remote Desktop&#8221; from the list presented, then click &#8220;Access Privileges&#8230;&#8221; for the full complement of options.</p>
<p>With this approach, you can get some granular control over which services are available to which individuals, improving your security while diminishing your workload.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.makemacwork.com/control-individual-service-access.htm/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Enable Remote System Logging</title>
		<link>http://www.makemacwork.com/enable-remote-system-logging.htm</link>
		<comments>http://www.makemacwork.com/enable-remote-system-logging.htm#comments</comments>
		<pubDate>Mon, 29 Jun 2009 07:00:37 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Command Line]]></category>
		<category><![CDATA[OS X Server]]></category>
		<category><![CDATA[System Settings]]></category>

		<guid isPermaLink="false">http://www.makemacwork.com/enable-remote-system-logging.htm</guid>
		<description><![CDATA[If you&#8217;ve ever had to troubleshoot a Mac OS X machine, you probably know how invaluable the system logs can be. By simply opening the Console application in the Utilities folder, you can browse the information logged by almost any process on the machine. But how can you compare that data over a large number [...]]]></description>
			<content:encoded><![CDATA[<p>If you&#8217;ve ever had to troubleshoot a Mac OS X machine, you probably know how invaluable the system logs can be. By simply opening the Console application in the Utilities folder, you can browse the information logged by almost any process on the machine. But how can you compare that data over a large number of systems, or look at the logs for a machine that isn&#8217;t right in front of you? It&#8217;s simply a matter of properly configuring <tt>syslogd</tt>.</p>
<h3>Listening For Syslog Data:</h3>
<p>Like all Unix systems, Mac OS X logs it&#8217;s system activity through <tt>syslogd</tt>, the system logging daemon. This facility keeps track of all the system activity specified in <tt>/etc/syslog.conf</tt>, which details the kind of information to log (based on its process of origin) and its level of priority (set by its parent process). This system is well documented by simply typing &#8220;<tt>man syslog</tt>&#8221; at the command line. What isn&#8217;t so easy to find is how to configure OS X clients to send this data to a central collection server for analysis.</p>
<p>The secret is hidden in <tt>/System/Library/LaunchDaemons/com.apple.syslogd.plist</tt>. The last item in the file is a key named <tt>NetworkListener</tt>, and by removing the comment characters around it you can tell your Mac server to listen for any and all logging information sent to it via UDP port 514. Once that&#8217;s done, you&#8217;ll need to restart the syslog mechanism by opening the Terminal and typing:</p>
<p><code><strong>sudo launchctl unload \<br />/System/Library/LaunchDaemons/com.apple.syslogd.plist<br />sudo launchctl load \<br />/System/Library/LaunchDaemons/com.apple.syslogd.plist</strong></code></p>
<p>With <tt>syslogd</tt> restarted, your server can now receive and store remote logging data from Macintosh clients, networking devices, and other Unix-compatible systems.</p>
<h3>Sending Remote Syslog Data:</h3>
<p>Now you&#8217;ve got a brand new <tt>syslog</tt> server. It&#8217;s listening, but nothing&#8217;s talking to it yet. For that, we&#8217;ll need to edit <tt>/etc/syslog.conf</tt> on your client machines, telling them what (and where) to report.</p>
<p>Open the file in any text editor, and you&#8217;ll see the following format on the very first line:</p>
<p><code><strong>auth.info;authpriv.*;remoteauth.crit          /var/log/secure.log</strong></code></p>
<p>On the left side are a series of &#8220;selectors&#8221;, each separated by a semi-colon. Each selector is made up of a &#8220;facility&#8221; (before the period), which indicates the category being logged to, and a &#8220;level&#8221; (after the period), which indicates the level of importance that a message from that category needs to reach before it&#8217;s logged. An asterisk acts as a wildcard, including any possible facility or level. </p>
<p>On the right side is an &#8220;action&#8221;, preformed when <tt>syslogd</tt> receives a message matching the specified selector. This is most often expressed as a local log file, but can also be another machine listening for <tt>syslog</tt> data.</p>
<p>So if you wanted to log every possible message to the <tt>syslog</tt> server, you could simply add the following line (replacing <tt>server.example.com</tt> with the name of your local server):</p>
<p><code><strong>*.*          @server.example.com</strong></code></p>
<p>That would send all that messages from any facility at any level of priority to your new syslog server. That configuration&#8217;s fine for testing a single machine, but unless your goal is to completely flood your local network with logging traffic, you&#8217;ll need to narrow down your selectors significantly before you push your revised file out to all your client machines.</p>
<p>Once you determine what information is important to your organization, you can build a custom <tt>syslog.conf</tt> file to install across your whole network, and begin collecting system log information for all your machines.</p>
<p><span class="note">Recommended Reading:</span> For in-depth information on configuring remote logging, check the manpages for <tt>syslogd</tt>, <tt>syslog</tt>, <tt>syslog.conf</tt>, and <tt>logger</tt>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.makemacwork.com/enable-remote-system-logging.htm/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Configure Internal DNS &#8212; Part 2</title>
		<link>http://www.makemacwork.com/configure-internal-dns-2.htm</link>
		<comments>http://www.makemacwork.com/configure-internal-dns-2.htm#comments</comments>
		<pubDate>Mon, 11 May 2009 07:00:06 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Command Line]]></category>
		<category><![CDATA[OS X Server]]></category>

		<guid isPermaLink="false">http://www.makemacwork.com/configure-internal-dns-2.htm</guid>
		<description><![CDATA[Last week in part one of this article, we learned how to configure a single OS X Server to provide DNS. This week, we&#8217;ll look at providing redundancy with a secondary DNS server and configure our client machines to receive our new DNS settings.
Configuring Secondary DNS:
Now that you&#8217;ve got a functioning DNS server inside your [...]]]></description>
			<content:encoded><![CDATA[<p>Last week in <a href="http://www.makemacwork.com/configure-internal-dns-1.htm">part one</a> of this article, we learned how to configure a single OS X Server to provide DNS. This week, we&#8217;ll look at providing redundancy with a secondary DNS server and configure our client machines to receive our new DNS settings.</p>
<h3>Configuring Secondary DNS:</h3>
<p>Now that you&#8217;ve got a functioning DNS server inside your network, the next thing to do is consider what happens if that server is interrupted. Once your internal DNS becomes the center of your network, it&#8217;s hard to make an argument against the importance of providing redundancy. Unless you expect your main server will never go down for even a second, you&#8217;ll want a backup plan. </p>
<p>Fortunately, a second OS X Server can act as a secondary DNS source with little configuration. This secondary server will provide the same information as the primary (synchronized periodically to catch any changes), and </p>
<p><img alt="Server Admin - DNS - Zone Transfers" src="http://www.makemacwork.com/wp-content/images/serveradmin-dns-zones-transfer.png"></p>
<p>First, on the primary server you&#8217;ve just configured, go back to the &#8220;Zones&#8221; pane in the &#8220;DNS&#8221; settings of Server Admin and highlight your domain. Then further down the window, check the box marked &#8220;Allows Zone Transfer&#8221;. With the default DNS settings Apple provides, other servers within your network should now be able to inherit and host the zone file for this domain.</p>
<p><img alt="Server Admin - DNS - Secondary Zones" src="http://www.makemacwork.com/wp-content/images/serveradmin-dns-zones-secondary.png"></p>
<p>Now, on the server that will act as your secondary DNS, open Server Admin, and browse to the same &#8220;Zones&#8221; pane. This should be empty on an unconfigured machine. Click the &#8220;Add Zone&#8221; button at the middle of the window, and select &#8220;Add Secondary Zone (Slave)&#8221;. Enter the domain you&#8217;ll be handling secondary DNS for, and the IP address of your primary DNS server. Save, then start the DNS server.</p>
<h3>DNS Client Configuration:</h3>
<p>In order to get the domain information your new servers provide, client machines need to be told where to look. And since the DNS servers at your ISP likely see an external server as authoritative for your domain, you&#8217;ll need to make sure your internal clients (including your server itself) look to the internal server first. </p>
<p><img alt="System Preferences - Network - DNS" src="http://www.makemacwork.com/wp-content/images/syspref-network-dns.png"></p>
<p>For a single machine, this is as easy as opening the &#8220;Network&#8221; pane of the System Preferences application and replacing the current setting with your DNS server&#8217;s IP. When you&#8217;ve got to make this change on a couple hundred machines, though, even a minute each will make for hours of work. In most cases, this means some kind of network settings deployment.</p>
<p>If you&#8217;re already utilizing DHCP (that&#8217;s Dynamic Host Configuration Protocol) to distribute IPs on your LAN, it makes sense to use the same mechanism to distribute DNS settings as well. If, instead, your network setup somehow precludes this, Mac OS X has an easy way to push DNS settings out to your machines. Using Apple Remote Dektop&#8217;s &#8220;Send UNIX Command&#8221; feature, just select your new client machines and enter:</p>
<p><code><strong>networksetup -setdnsservers "NETWORKSERVICE" PRIMARY SECONDARY</strong></code></p>
<p>In this setup, <tt>NETWORKSERVICE</tt> describes the network interface on the client machine. It&#8217;s typically &#8220;Ethernet 1&#8243; (or just &#8220;Ethernet&#8221; for laptops), but you may wish to run <tt>networksetup -listallnetworkservices</tt> if you&#8217;ve got an unusual configuration, just to see what options are available to you. <tt>PRIMARY</tt> and <tt>SECONDARY</tt> are simply the IPs for your new DNS server(s).</p>
<p>This will reset the servers your client machines look to for DNS information, and allow them to find domain information specific to your internal network.</p>
<p><span class="note">Recommended Reading:</span> For a complete understanding of the BIND software that runs Mac OS X DNS, there isn&#8217;t a more definitive text than the venerable <a href="http://oreilly.com/catalog/9780596100575/">DNS and BIND</a>, now in it&#8217;s fifth edition by Paul Albitz and Cricket Liu.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.makemacwork.com/configure-internal-dns-2.htm/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Configure Internal DNS &#8212; Part 1</title>
		<link>http://www.makemacwork.com/configure-internal-dns-1.htm</link>
		<comments>http://www.makemacwork.com/configure-internal-dns-1.htm#comments</comments>
		<pubDate>Mon, 04 May 2009 07:00:12 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[OS X Server]]></category>

		<guid isPermaLink="false">http://www.makemacwork.com/?p=89</guid>
		<description><![CDATA[Without DNS, the domain name system that translates computer names to IP numbers, most networks would fall apart completely. As well as directing traffic on the internet, DNS is used for name-based routing in corporate environments, and especially for machines (like laptops) which can span the two. With Apple&#8217;s recent focus on URL-based protocols, and [...]]]></description>
			<content:encoded><![CDATA[<p>Without DNS, the domain name system that translates computer names to IP numbers, most networks would fall apart completely. As well as directing traffic on the internet, DNS is used for name-based routing in corporate environments, and especially for machines (like laptops) which can span the two. With Apple&#8217;s recent focus on URL-based protocols, and despite the popularity of LAN-based systems like Bonjour, the ability to configure internal DNS properly is an essential skill.  In this two-part article, we&#8217;ll look at how to do just that.</p>
<p>Before we begin, a quick word of warning: If you don&#8217;t already understand DNS, you really shouldn&#8217;t be allowed to make changes to it. Nothing will screw up your day, or your employment situation, faster than taking your whole network down. So if you&#8217;ve found yourself in the unenviable position of having to set up DNS without experience or guidance, do yourself a favor and practice the procedure on a test network first. The job you save could be your own.</p>
<h3>Basic DNS Configuration:</h3>
<p>To start your setup, select the server you&#8217;d like to configure, and choose &#8220;DNS&#8221; from the list of available services in Server Admin. Choose &#8220;Zones&#8221; from the toolbar, then press the &#8220;Add Zone&#8221; button in the center of the window and select &#8220;Add Primary Zone&#8221;. An entry for the <tt>example.com</tt> zone will appear at the top of the window.</p>
<p><img alt="Server Admin - DNS Zone Defaults" src="http://www.makemacwork.com/wp-content/images/serveradmin-dns-zones-defaults.png" /></p>
<p>At this point, you&#8217;ll be tempted to hit &#8220;Save&#8221; before proceeding, but doing so triggers a terrible bug in some versions of Leopard that will break the configuration file that Server Admin edits (leaving it to permanently believe <tt>example.com</tt> is in fact your real domain). Instead, immediately change the &#8220;Primary Zone Name&#8221; to the name of your own domain, followed by a period to indicate that the entry is &#8220;fully-qualified&#8221;. A fully-qualified domain name is one that doesn&#8217;t require the host&#8217;s domain to be appended to it. </p>
<p>You&#8217;ll also want to change the name and IP of the first machine record (also known as an A record) to those of the server you&#8217;re configuring, this time without a period after it to indicate that it&#8217;s part of the larger domain. </p>
<p>You&#8217;ll then need to add what&#8217;s called an MX record, indicating the host (or hosts) to which mail is sent for your domain. Do so by clinking the plus symbol beneath the &#8220;Mail Exchangers&#8221; field, and input each hostname followed by it&#8217;s priority (traditionally <tt>10</tt> for the first mail server, <tt>20</tt> for the second). Then, and only then, will you want to save your work.</p>
<p><img alt="Server Admin - DNS Zones" src="http://www.makemacwork.com/wp-content/images/serveradmin-dns-zones.png" /></p>
<p>Now that there&#8217;s a record of your domain, and one of its primary server, you&#8217;ll need to tell client machines where to look for information on other domains. Click &#8220;Settings&#8221; in the toolbar at the top of the window, then click the plus symbol beneath the section marked &#8220;Forwarder IP Addresses&#8221;. Add the IP addresses of the DNS servers at your internet service provider (those pictured are mine from Comcast here in Seattle), then hit &#8220;Save&#8221; once more. This will allow your client machines to receive DNS information for the remainder of the internet.</p>
<p><img alt="Server Admin - DNS Settings" src="http://www.makemacwork.com/wp-content/images/serveradmin-dns-settings.png" /></p>
<p>If your domain exists only within your own network, you&#8217;re ready to click &#8220;Start DNS&#8221; and configure your client machines to use your new DNS server. If your company has any kind of internet presence, however, you&#8217;ve got a little more work ahead of you.</p>
<h3>Split DNS Configuration:</h3>
<p>When DNS was originally designed, every machine on the internet used a static IP, and address translation from internal to external networks didn&#8217;t exist. Twenty-five years later, the internet is a very different place, and most corporate servers are well protected from it. This can create a problem when you try to use the same domain name both inside your own network and outside on the internet, as local users won&#8217;t be able to find externally hosted services like email or websites.</p>
<p>The most common solution is configuring a &#8220;split&#8221; DNS, where servers both inside and outside your network control customized resolution of your domain for only those machines that can see them. This would, were I hosting my own email for instance, let internet machines find <tt>mail.makemacwork.com</tt> at an external IP of <tt>64.13.192.203</tt> routed through my firewall, while still pointing internal clients at <tt>192.168.0.250</tt> on their local network. In this case, both IPs would be the same machine, but with the external record on the DNS server at my ISP and the internal record on my own internal server.</p>
<p>Even if you&#8217;re not hosting any internet-available services, though, your internal machines will see your new DNS server as the authoritative source of information on your domain. So if you&#8217;ve outsourced any kind of hosting with the same domain name, you&#8217;ll need to put that information in your internal zone record as well.</p>
<p><img alt="Server Admin - DNS Zones - Add CNAME" src="http://www.makemacwork.com/wp-content/images/serveradmin-dns-zones-addcname.png" /></p>
<p>Go back to &#8220;Zones&#8221; in the Server Admin toolbar, highlight your domain, and choose &#8220;Add Machine (A)&#8221; again from the &#8220;Add Record&#8221; button. Repeat this until each external server has it&#8217;s own listing. If more than one hostname resolves to the same IP, all but one should be configured using the &#8220;Add Alias (CNAME)&#8221; option instead. </p>
<p>With all the hostnames on your domain configured, you can finally start the DNS service.</p>
<p>Next week in <a href="http://www.makemacwork.com/configure-internal-dns-2.htm">part two</a>, we&#8217;ll look at configuring your client machines to find your new DNS server, and setting up a secondary DNS server for redundancy.</p>
<p><span class="note">Recommended Reading:</span> For a simple overview of <a href="http://www.howstuffworks.com/dns.htm">How Domain Name Servers Work</a>, there&#8217;s a great (if slightly web-centric) synopsis at the appropriately named &#8220;How Stuff Works&#8221;.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.makemacwork.com/configure-internal-dns-1.htm/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>iCal Can&#8217;t Connect To Server</title>
		<link>http://www.makemacwork.com/ical-cant-connect-to-server.htm</link>
		<comments>http://www.makemacwork.com/ical-cant-connect-to-server.htm#comments</comments>
		<pubDate>Mon, 02 Mar 2009 07:00:36 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Command Line]]></category>
		<category><![CDATA[OS X Server]]></category>
		<category><![CDATA[Troubleshooting]]></category>

		<guid isPermaLink="false">http://www.makemacwork.com/ical-cant-connect-to-server</guid>
		<description><![CDATA[For a much-ballyhooed feature when Leopard premiered, iCal Server has had a checkered history, dangerously unstable for its first few minor updates and providing little more than database corruption, frustration, and an excuse to use the word &#8220;ballyhooed&#8221;. Now that things have calmed down, many companies are experimenting with the service to see if it&#8217;s [...]]]></description>
			<content:encoded><![CDATA[<p>For a much-ballyhooed feature when Leopard premiered, iCal Server has had a checkered history, dangerously unstable for its first few minor updates and providing little more than database corruption, frustration, and an excuse to use the word &#8220;ballyhooed&#8221;. Now that things have calmed down, many companies are experimenting with the service to see if it&#8217;s ready for production.</p>
<p>So imagine the surprise when you&#8217;ve configured and started the service, but your client machines simply won&#8217;t connect. In fact, they complain there&#8217;s a username or password error, when the username and password work fine for other services. Check the logs in Server Admin, and all you&#8217;ll find is an ominous message:</p>
<blockquote><p>The selected logfile does not exist.</p></blockquote>
<p>In some Leopard Server installations, the iCal Server logfiles aren&#8217;t ever created properly. The result is that the server process starts, but doesn&#8217;t do anything because it has no place to log its actions. It&#8217;s the sort of problem you&#8217;d usually figure out by digging through log files, but because they don&#8217;t exist, iCal Server just sits there dumbly, unable to provide any clues.</p>
<p>The easy way to stop this serpent from eating its own tail is to create and properly permission the files, then restart the iCal service. Open the Terminal, and type:</p>
<p><code><strong>cd /var/log/caldavd/<br />sudo touch access.log error.log<br />sudo chmod 640 access.log<br />sudo chmod 644 error.log</strong></code></p>
<p>The <tt>touch</tt> command creates the required logs, while <tt>chmod</tt> is used to set their permissions. With the log files now in their expected place, client machines should have no trouble connecting to iCal Server.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.makemacwork.com/ical-cant-connect-to-server.htm/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Manage Application Preferences</title>
		<link>http://www.makemacwork.com/manage-application-preferences.htm</link>
		<comments>http://www.makemacwork.com/manage-application-preferences.htm#comments</comments>
		<pubDate>Mon, 16 Feb 2009 07:00:13 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Managed Client]]></category>
		<category><![CDATA[OS X Server]]></category>
		<category><![CDATA[Open Directory]]></category>

		<guid isPermaLink="false">http://www.makemacwork.com/manage-application-preferences</guid>
		<description><![CDATA[OS X Server offers an extremely simple system to manage account preferences, at least those user preferences predefined by Apple. Systems administrators, however, typically find themselves needing to control application settings that haven&#8217;t been singled out in Workgroup Manager.
The most basic method to controlling applications is to use the defaults command to write directly to [...]]]></description>
			<content:encoded><![CDATA[<p>OS X Server offers an extremely simple system to <a href="http://www.makemacwork.com/manage-account-preferences.htm">manage account preferences</a>, at least those user preferences predefined by Apple. Systems administrators, however, typically find themselves needing to control application settings that haven&#8217;t been singled out in Workgroup Manager.</p>
<p>The most basic method to controlling applications is to use the <tt>defaults</tt> command to write directly to the application preference list, as we&#8217;ve demonstrated repeatedly. This approach works fine for some settings, but there&#8217;s a problem: It permanently disables lockable preferences only for standard users (since administrative users can just unlock them) and most application preferences can&#8217;t be locked at all (so users can change them any time they like).</p>
<p>For any application that uses Apple&#8217;s <tt>.plist</tt> format, there&#8217;s a far better way to manage preferences across your network. A properly configured <a href="http://www.makemacwork.com/master-open-directory-1.htm">Open Directory</a> domain can use MCX (Managed Client for OS X) settings to control any available user setting.</p>
<p><img alt="Workgroup Manager: MCX Details" src="http://www.makemacwork.com/wp-content/images/wgm-preferences-details.png" /></p>
<p>In Workgroup Manager, select the group for whom you&#8217;d like to manage an application&#8217;s preferences (in our example, that group includes all of our Macintosh users). First select &#8220;Preferences&#8221; from the toolbar above, then the &#8220;Details&#8221; tab on the right. Using the plus button, browse to the preferences file you&#8217;d like to control and click &#8220;Add&#8221;, selecting to manage imported preferences &#8220;Always&#8221; from the drop-down menu.</p>
<p><img alt="Workgroup Manager: Preferences Editor" src="http://www.makemacwork.com/wp-content/images/wgm-preferenceseditor.png" /></p>
<p>Double-click the preference name, and an editing window will open. Typically, you&#8217;ll wind up deleting the most of existing preferences from the editing window, keeping (or adding) only those you wish to manage.</p>
<p>Using this approach, you can take fine-grained control of most user-level settings, including managing application preferences more effectively. The result is preference settings that apply to standard and administrative users alike, controlled centrally through Open Directory even for third-party applications.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.makemacwork.com/manage-application-preferences.htm/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Troubleshoot Time Machine Server</title>
		<link>http://www.makemacwork.com/troubleshoot-time-machine-server.htm</link>
		<comments>http://www.makemacwork.com/troubleshoot-time-machine-server.htm#comments</comments>
		<pubDate>Mon, 02 Feb 2009 07:00:52 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[OS X Server]]></category>
		<category><![CDATA[Time Machine]]></category>
		<category><![CDATA[Troubleshooting]]></category>

		<guid isPermaLink="false">http://www.makemacwork.com/troubleshoot-time-machine-server</guid>
		<description><![CDATA[Backing up client machines to a specially-provisioned network share is one of the marquee features of Leopard Server. Unfortunately, it&#8217;s a feature with far more promise than documentation. When it works, it&#8217;s a dream, finally freeing you from an aging Retrospect setup (or worse). When it fails, though, it tends to do so without much [...]]]></description>
			<content:encoded><![CDATA[<p>Backing up client machines to a specially-provisioned network share is one of the marquee features of Leopard Server. Unfortunately, it&#8217;s a feature with far more promise than documentation. When it works, it&#8217;s a dream, finally freeing you from an aging Retrospect setup (or worse). When it fails, though, it tends to do so without much insight as to what&#8217;s gone wrong. If you can&#8217;t get Time Machine backing up to a server, you&#8217;ll get plenty of detail as to why. Once a machine stops backing up properly, though, there&#8217;s no real indication as to how you might get it working again.</p>
<p>There are a variety of reasons your <a href="http://www.makemacwork.com/network-time-machine.htm">network Time Machine setup</a> might start excluding certain machines. Rather than address them each individually, the following is a general troubleshooting approach for the full gamut of issues. Follow these guidelines, and your Time Machine setup should be working again in no time.</p>
<p>First, turn off Time Machine on the misbehaving client machine. With the large, decorative switch now in the &#8220;off&#8221; position, remove the preferences file at <tt>Library/Preferences/com.apple.TimeMachine.plist</tt>. If you&#8217;re dealing with a corrupt preference file, that should resolve the issue immediately.</p>
<p>Next, remove the Time Machine &#8220;cookie&#8221; from your network share. These invisible files are named with a period, followed by the MAC address (also called the ethernet id) of the &#8220;Ethernet 1&#8243; interface on each client machine (not necessarily the network interface you&#8217;re actually using). If the machine has a primary MAC address of <tt>a1:b2:c3:d4:e5:f6</tt>, then you&#8217;re looking for a file called <tt>.a1b2c3d4e5f6</tt> at the root of the share. Get rid of it, and any identification issues with your Time Machine client should disappear.</p>
<p>Finally, you&#8217;ll need to reintroduce your client machine to the Time Machine server. In order to access your share every hour, Time Machine stores authentication data in a keychain when it&#8217;s first configured. Delete all references to your Time Machine server from the &#8220;System&#8221; keychain (most simply with Keychain Access in the Utility folder). Once no memory of the name or IP of the server remains, you can reconfigure Time Machine to back up to your server again.</p>
<p>These steps won&#8217;t solve every Time Machine server problem, but this quick checklist can often get your users backing up again, and get you back to working on larger problems.</p>
<p><span class="note">Recommended Reading:</span> For more information about common backup problems, take a look at Apple&#8217;s own Knowledge Base on <a href="http://support.apple.com/kb/HT1770">troubleshooting Time Machine issues</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.makemacwork.com/troubleshoot-time-machine-server.htm/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Upgrade To Leopard Server</title>
		<link>http://www.makemacwork.com/upgrade-to-leopard-server.htm</link>
		<comments>http://www.makemacwork.com/upgrade-to-leopard-server.htm#comments</comments>
		<pubDate>Mon, 15 Dec 2008 07:00:04 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[OS X Server]]></category>
		<category><![CDATA[Troubleshooting]]></category>

		<guid isPermaLink="false">http://www.makemacwork.com/upgrade-to-leopard-server</guid>
		<description><![CDATA[If you&#8217;ve tried to upgrade Tiger server to Leopard, you&#8217;ve probably already learned that it&#8217;s a bumpy road. The process is so fraught with bugs that Apple themselves recommend against it in their Server Essentials manual, stating it should never be preformed on &#8220;production&#8221; machines. Unfortunately, not every organization has a spare XServe to experiment [...]]]></description>
			<content:encoded><![CDATA[<p>If you&#8217;ve tried to upgrade Tiger server to Leopard, you&#8217;ve probably already learned that it&#8217;s a bumpy road. The process is so fraught with bugs that Apple themselves recommend against it in their Server Essentials manual, stating it should never be preformed on &#8220;production&#8221; machines. Unfortunately, not every organization has a spare XServe to experiment on, and those sharing files off internal disks may not want the hours of data shuffling that installing from scratch would entail.</p>
<p>The issues inherit in a Leopard Server upgrade can be addressed quickly and easily if you know what to look for. With a little advance preparation, and this article as a checklist, you can make sure the process is safe and successful for most OS X installations.</p>
<p>You&#8217;ll want to have checked in advance that any third-party applications you need run on Leopard, and you&#8217;ll definitely need a known-good backup in case something goes awry. Now let&#8217;s get started.</p>
<h3>Document Server Settings:</h3>
<p>The big problem with the Leopard upgrade isn&#8217;t that it loses data.  In fact, it&#8217;s the opposite, with the newly upgraded volume turning on new services, adding duplicate users, or even sharing out random (and sometimes private) directories. The most important part of the process, then, is to document all your Server Admin settings prior to upgrade. You&#8217;ll want to have notes (or screenshots) detailing all your DNS zones, web sites, firewall configuration, etc. If your team doesn&#8217;t already document all their server settings in a change log, now&#8217;s the time to catch up on the paperwork.</p>
<h3>Archive Open Directory:</h3>
<p>The next step you&#8217;ll want to take is to export all your Open Directory settings. This includes not just your users and groups, their passwords, their managed preferences, but also all your Kerberos and Password Server data. After you&#8217;ve upgraded your server, you&#8217;ll restore this information to insure nothing&#8217;s been corrupted in the upgrade process.</p>
<p>You can do this easily by using the &#8220;Archive&#8221; pane in the &#8220;Open Directory&#8221; options of Server Admin. Simply click the &#8220;Choose&#8230;&#8221; button to set the location the collected data should be saved to, then click the &#8220;Archive&#8230;&#8221; button to set the name and password for the disk image that&#8217;s created. Type very carefully, and since the password isn&#8217;t verified before the image is created, test that you can open it before you proceed.</p>
<h3>Install Leopard Server:</h3>
<p>With your preparations made, you can run the Leopard Server install normally. You&#8217;ll be asked to enter your new Leopard serial number, but otherwise the process shouldn&#8217;t require any configuration. The upgrade takes about a half hour on the current generation of XServe, and you can fill the time by downloading any recent updates you plan on installing. When your server reboots, it&#8217;ll likely have a host of services you don&#8217;t want turned on, so it&#8217;s best to restart it with the network cable unplugged.</p>
<h3>Reconfigure Services:</h3>
<p>If all went well (or at least as expected), you should now have a fully functional Leopard Server.  Maybe a little too functional, even. Leopard tends to turn on a bunch of undesired services during the upgrade process. Was your XServe an email or NFS server previously? There&#8217;s a good chance it might be now.</p>
<p>Open Server Admin, and select the your local machine from the left column. Now take a good, hard look at the services listed below it. Turn off the services you weren&#8217;t running prior to upgrade, then check your remaining service settings to make sure nothing unexpected has been added or changed. If you don&#8217;t need Apache 1.3, it&#8217;s a good time to upgrade to version 2.2 in the Web options as well. Now it&#8217;s time to plug back in the network cable and wrap up the job.</p>
<h3>Restore Open Directory:</h3>
<p>Now that the rest of the damage has been undone, you&#8217;ll want to clean up your account information. If your server remained an OD master through this process, you&#8217;re in luck. Otherwise, you&#8217;ll need to promote it in the &#8220;Settings&#8221; pane of the Open Directory options, then return to the &#8220;Archive&#8221; pane.</p>
<p>Choose the archive disk image you made earlier, and click &#8220;Restore&#8230;&#8221; to return your Open Directory domain to it&#8217;s pre-upgrade state. Once you&#8217;ve confirmed Open Directory accounts work locally, test each of the services you&#8217;re offering over the network as well, making sure that everything functions as it did prior to the upgrade process.</p>
<p>And voila! While not exactly fast or automatic, you should now have a newly upgraded and properly functioning Leopard Server. Now you can go find out what&#8217;s going to break when you upgrade your client machines&#8230;</p>
<p><span class="note">Recommended Reading:</span> While it may contradict some real-world experience, Apple nonetheless publishes an excellent guide on <a href="http://images.apple.com/server/macosx/docs/Upgrading_and_Migrating_v10.5.pdf">Upgrading and Migrating 10.5</a>, essential reading for anyone planning a complex upgrade to Leopard Server.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.makemacwork.com/upgrade-to-leopard-server.htm/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Configure Network Installation</title>
		<link>http://www.makemacwork.com/configure-network-installation.htm</link>
		<comments>http://www.makemacwork.com/configure-network-installation.htm#comments</comments>
		<pubDate>Mon, 01 Dec 2008 08:00:55 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[OS X Server]]></category>
		<category><![CDATA[System Settings]]></category>

		<guid isPermaLink="false">http://www.makemacwork.com/configure-network-installation</guid>
		<description><![CDATA[One of the best features of OS X is the built-in ability to clone a customized installation to other machines. By creating a .dmg image of an existing installation in Disk Utility, then using the &#8220;Restore&#8221; feature to copy it to another disk, you can install a pre-configured OS onto any number of Macintosh workstations.
As [...]]]></description>
			<content:encoded><![CDATA[<p>One of the best features of OS X is the built-in ability to clone a customized installation to other machines. By creating a <tt>.dmg</tt> image of an existing installation in Disk Utility, then using the &#8220;Restore&#8221; feature to copy it to another disk, you can install a pre-configured OS onto any number of Macintosh workstations.</p>
<p>As much time as this saves, however, you&#8217;re still cloning one machine at a time. What if you have tens or even hundreds of machines in your organization? Fortunately, there&#8217;s a built-in system to handle that as well. All you have to do is deploy NetInstall.</p>
<h3>Creating NetInstall Images:</h3>
<p>Ten years ago, when Apple&#8217;s administrative tools were aimed more squarely at academia, schools began using NetBoot to deploy their lab machines. By booting workstations off a central server-side system image, machines could run custom configurations that reset cleanly for each user. NetInstall was built on that same technology, allowing your servers to host similar custom images, but install them over the network onto each machine&#8217;s local disk.</p>
<p>Creating that image is now done with the System Image Utility, found on OS X Server in the <tt>/Applications/Server</tt> directory. While an image can be built directly from the OS X installation DVD, they&#8217;re hard to customize and seldom up-to-date. You&#8217;re better off creating a customized installation on an external drive (or saved as a disk image), then mounting it on your server. While Leopard theoretically allows network installation onto both Intel and PowerPC hardware from the same image, preparing separate images can save time and frustration in the long run.</p>
<p><img alt="System Image Utility" src="http://www.makemacwork.com/wp-content/images/systemimageutility.png" /></p>
<p>When you&#8217;re ready, launch System Image Utility, and in the &#8220;Create an Image&#8221; window select &#8220;NetInstall Image&#8221;. Click &#8220;Continue&#8221;, then on the next screen enter a name and description of the image you&#8217;re preparing. For basic deployment just click &#8220;Create&#8221;, and save the image in the default location of <tt>/Library/NetBoot/NetBootSP0</tt>. For more complex configurations, click &#8220;Customize&#8221; to add post-install scripts, filtering by hardware type, or allow more client-side installation options.</p>
<p>You may want to go take lunch while your image builds, but when it&#8217;s done you can repeat the process for each image you&#8217;ll need to deploy over your network.</p>
<h3>Configuring The NetBoot Service:</h3>
<p>Once your images are prepared, the next step is to configure NetInstall on your network. Launch Server Admin and select the NetBoot service from the left column. Click the &#8220;Settings&#8221; icon in the toolbar, then choose the &#8220;General&#8221; pane. Here you&#8217;ll choose the network interface for NetInstall to run on (typically Ethernet 1), and the volume to store images and client data (the system array, in this example, though you may prefer another volume if you&#8217;re mixing NetBoot and NetInstall).</p>
<p><img alt="NetBoot Preferences: General" src="http://www.makemacwork.com/wp-content/images/serveradmin-netboot-general.png" /></p>
<p>Now move to the &#8220;Images&#8221; pane. Check &#8220;default&#8221; if you&#8217;ve got a single image, or there&#8217;s an image you&#8217;d like to force if one isn&#8217;t specified. Next check &#8220;enable&#8221; for each of the images you&#8217;re planning to deploy, and choose the protocol over which you&#8217;ll offer them.</p>
<p><img alt="NetBoot Preferences: Images" src="http://www.makemacwork.com/wp-content/images/serveradmin-netboot-images.png" /></p>
<p>The NetBoot service can run over either HTTP or NFS. Given that most companies filter HTTP traffic, or engage some kind of web proxy for port <tt>80</tt>, utilizing NFS is usually the better choice. In these circumstances, be sure to allow traffic over port <tt>1049</tt> on your internal network.</p>
<p>With these options set, click &#8220;Save&#8221;, then click &#8220;Start NetBoot&#8221; to take the service live.</p>
<h3>Configuring Clients For NetInstall:</h3>
<p>Once NetInstall is running happily on your network, all that&#8217;s left is to boot your client machines. If you&#8217;re only offering one image (and you&#8217;ve marked it as the &#8220;default&#8221; in the &#8220;Images&#8221; pane), you can simply restart your machines while holding down the &#8220;n&#8221; key. If you&#8217;re offering multiple NetInstall images, open System Preferences on your client machines, and choose the appropriate image to install from the &#8220;Startup Disk&#8221; pane. When you restart, the computer will boot into the installer automatically. You&#8217;ll need each computer connected to the network during this procedure, and you&#8217;ll save yourself a world of trouble if they&#8217;re using ethernet rather than wireless.</p>
<p>That&#8217;s all there is to it. Allowing you to save hours, if not days, of work on every rollout, NetInstall is one of the most powerful, and easiest, tricks up the Macintosh administrator&#8217;s sleeve.</p>
<p><span class="note">Recommended Reading:</span> There&#8217;s no better, or more extensive, explanation of BSDP (the protocol on which NetInstall is built) than the amazing <a href="http://www.bombich.com/mactips/bootpd.html">How NetBoot Works</a> by the even more amazing Mike Bombich.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.makemacwork.com/configure-network-installation.htm/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Share Group Folders</title>
		<link>http://www.makemacwork.com/share-group-folders.htm</link>
		<comments>http://www.makemacwork.com/share-group-folders.htm#comments</comments>
		<pubDate>Wed, 30 Jul 2008 12:00:57 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Command Line]]></category>
		<category><![CDATA[Managed Client]]></category>
		<category><![CDATA[OS X Server]]></category>
		<category><![CDATA[Open Directory]]></category>

		<guid isPermaLink="false">http://www.makemacwork.com/share-group-folders</guid>
		<description><![CDATA[Aside from the files an OS X Server shares across your entire enterprise, there&#8217;s often the desire within individual workgroups to have private storage areas for their own projects.  These group folders are essential for departments like HR and Accounting, but they can also be helpful for less security-conscious groups as a staging area [...]]]></description>
			<content:encoded><![CDATA[<p>Aside from the files an OS X Server shares across your entire enterprise, there&#8217;s often the desire within individual workgroups to have private storage areas for their own projects.  These group folders are essential for departments like HR and Accounting, but they can also be helpful for less security-conscious groups as a staging area before sharing their final work company-wide. Fortunately, while the process of creating these file shares isn&#8217;t obvious, it also isn&#8217;t complicated.</p>
<p>First, select a group from your Open Directory domain in the &#8220;Accounts&#8221; pane of Workgroup Manager. Then click the &#8220;Group Folders&#8221; button, and select a share point under which you&#8217;d like the group folders to appear. By default, Mac OS X uses <tt>/Groups</tt>, which comes pre-configured as a share on a new installation. Next, you&#8217;ll need to choose an owner for your new folder. Your directory administrator account makes the most sense here, as you&#8217;ll be using the group (not owner) attribute to determine access permissions. With these options configured, hit &#8220;Save&#8221;.</p>
<p><img alt="Workgroup Manager: Assign Group Folders" src="http://www.makemacwork.com/wp-content/images/wgm-accounts-groupfolder.png" /></p>
<p>For whatever reason, you can&#8217;t actually use Workgroup Manager to create the folder you&#8217;ve just configured (as you can with user&#8217;s home directories). Instead, you&#8217;ll need to open the Terminal and type:</p>
<p><code><strong>sudo CreateGroupFolder</strong></code></p>
<p>This will build a folder for every group assigned a share point, not just the most recent, so if you&#8217;re deploying multiple group folders it makes sense to run this command after they&#8217;ve all been set up in Workgroup Manager. This also sets the permissions for each group folder as read-only to the group itself, and only read-write to the individual user defined as it&#8217;s owner. To remedy this in the Terminal, type the following, replacing <tt>PATH-TO-FOLDER</tt> with the full Unix path to each group folder:</p>
<p><code><strong>cd PATH-TO-FOLDER<br />sudo chmod 770 Documents/ Library/</strong></code></p>
<p>This will allow access by workgroups to their own group folders with a simple permissions scheme. For more complex sharing setups, you may wish to add an <a href="http://www.makemacwork.com/control-file-access-with-acls.htm">access control list</a> as well, in the sharing pane of Server Admin.</p>
<p><img alt="Workgroup Manager: Automatically Mount Group Folders" src="http://www.makemacwork.com/wp-content/images/wgm-preferences-login-groupfolder.png" /></p>
<p>Finally, if you&#8217;re utilizing managed preferences in an Open Directory environment, you can set group folders to automatically mount when a member of that group logs in to their workstation. Moving to the &#8220;Preferences&#8221; pane of Workgroup Manager, click the &#8220;Login&#8221; icon, then the Items button on the far right. Check &#8220;Mount share point with user&#8217;s name and password&#8221; and &#8220;Add group share point&#8221;, then click &#8220;Apply Now&#8221;.</p>
<p>Not only can each workgroup have their own private file share, but users will connect to those shares automatically when logging in to their Open Directory account.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.makemacwork.com/share-group-folders.htm/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
