Advanced Server Admin v10.6
Advanced Server Admin v10.6
The owner or authorized user of a valid copy of This product includes BSD (4.4 Lite) developed by
Mac OS X Server software may reproduce this the University of California, Berkeley, FreeBSD, Inc.,
publication for the purpose of learning to use such The NetBSD Foundation, Inc., and their respective
software. No part of this publication may be reproduced contributors.
or transmitted for commercial purposes, such as selling
copies of this publication or for providing paid-for Intel, Intel Core, and Xeon are trademarks of Intel Corp.
support services. in the U.S. and other countries.
Every effort has been made to ensure that the OpenSSL is software developed by the OpenSSL
information in this manual is accurate. Apple is not Project for use in the OpenSSL Toolkit
responsible for printing or clerical errors. (http://www.openssl.org/).
3
33 Understanding Backup Types
34 Understanding Backup Scheduling
34 Understanding Restores
35 Other Backup Policy Considerations
36 Command-Line Backup and Restoration Tools
36 Understanding Time Machine as a Server Backup Tool
4 Contents
58 Single Sign-On
59 About Certificates, SSL, and Public Key Infrastructure
59 Public and Private Keys
60 Certificates
60 About Certificate Authorities (CAs)
61 About Identities
61 About Self-Signed Certificates
61 About Intermediate Trust
62 Certificate Manager in Server Admin
64 Readying Certificates
65 Creating a Self-Signed Certificate
65 Requesting a Certificate from a Certificate Authority
66 Creating a Certificate Authority
68 Using a CA to Create a Certificate for Someone Else
68 Importing a Certificate Identity
69 Managing Certificates
69 Editing a Certificate
70 Distributing a CA Public Certificate to Clients
70 Deleting a Certificate
71 Renewing an Expiring Certificate
71 Replacing an Existing Certificate
71 Using Certificates
72 SSH and SSH Keys
72 Key-Based SSH Login
72 Generating a Key Pair for SSH
74 Administration Level Security
74 Setting Administration Level Privileges
75 Service Level Security
75 Setting SACL Permissions
76 Security Best Practices
77 Password Guidelines
78 Creating Complex Passwords
Contents 5
84 About Starting Up for Installation
84 Before Starting Up
85 Starting Up from the Install DVD
85 Starting Up from an Alternate Partition
88 Remotely Accessing the Install DVD
90 About Server Serial Numbers for Default Installation Passwords
90 Identifying Remote Servers When Installing Mac OS X Server
91 Starting Up from a NetBoot Environment
92 Preparing Disks for Installing Mac OS X Server
93 Choosing a File System
99 Installing Server Software Interactively
100 Installing Locally from the Installation Disc
101 Installing Remotely with Server Assistant
102 Installing Remotely with Screen Sharing and VNC
103 Changing a Remote Computer’s Startup Disk
104 Using the installer Command-Line Tool to Install Server Software
106 Installing Multiple Servers
107 Upgrading a Computer from Mac OS X to Mac OS X Server
107 How to Keep Current
6 Contents
124 Chapter 7: Ongoing System Management
124 Computers You Can Use to Administer a Server
124 Setting Up an Administrator Computer
125 Using a Non-Mac OS X Computer for Administration
126 Using the Administration Tools
126 Working with Pre-v10.6 Computers from v10.6 Servers
127 Ports Used for Administration
127 Ports Open By Default
128 Server Admin Basics
128 Adding and Removing Servers in Server Admin
129 Grouping Servers Manually
129 Grouping Servers Using Smart Groups
130 Working with Settings for a Specific Server
132 Understanding Changes to the Server IP Address or Network Identity
133 Understanding Mac OS X Server Names
133 Understanding IP Address or Network Identity Changes on Infrastructure Services
136 Understanding IP Address or Network Identity Changes on Web and Wiki Services
137 Understanding IP Address or Network Identity Changes on File Services
138 Understanding IP Address or Network Identity Changes on Mail Services
139 Understanding IP Address or Network Identity Changes on Collaboration Services
141 Understanding IP Address or Network Identity Changes on Podcast Producer
142 Understanding IP Address or Network Identity Changes on Other Services
144 Changing the IP Address of a Server
144 Changing the Server’s DNS Name After Setup
144 Changing the Server’s Computer Name and the Local Hostname
145 Administering Services
146 Adding and Removing Services in Server Admin
146 Importing and Exporting Service Settings
147 Controlling Access to Services
148 Using SSL for Remote Server Administration
148 Managing Sharing
149 Tiered Administration Permissions
150 Defining Administrative Permissions
150 Workgroup Manager Basics
151 Opening and Authenticating in Workgroup Manager
151 Administering Accounts
151 Working with Users and Groups
153 Defining Managed Preferences
154 Working with Directory Data
154 Customizing the Workgroup Manager Environment
155 Service Configuration Assistants
155 Critical Configuration and Data Files
159 Improving Service Availability
Contents 7
159 Eliminating Single Points of Failure
160 Using Xserve for High Availability
161 Using Backup Power
161 Setting Up Your Server for Automatic Restart
162 Ensuring Proper Operational Conditions
162 Providing Open Directory Replication
163 Link Aggregation
164 About the Link Aggregation Control Protocol (LACP)
164 Link Aggregation Scenarios
166 Setting Up Link Aggregation in Mac OS X Server
167 Monitoring Link Aggregation Status
168 Load Balancing
169 Daemon Overview
169 Viewing Running Daemons
169 Using launchd for Daemon Control
8 Contents
188 Chapter 9: Push Notification Server
188 About Push Notification Server
189 Starting and Stopping Push Notification
190 Changing a Service’s Push Notification Server
191 Index
Contents 9
10 Contents
About This Guide
Preface
This guide provides a starting point for administering
Mac OS X Server v10.6 using its advanced administration
tools. It contains information about planning, practices, tools,
installation, deployment, and more by using Server Admin.
Advanced Server Administration is not the only guide you need when administering
advanced mode server, but it gives you a basic overview of planning, installing,
and maintaining Mac OS X Server using Server Admin.
Note: Because Apple periodically releases new versions and updates to its software,
images shown in this book may be different from what you see on your screen.
11
Using Onscreen Help
You can get task instructions onscreen in Help Viewer while you’re managing
Mac OS X Server v10.6. You can view help on a server or an administrator computer.
(An administrator computer is a Mac OS X computer with Mac OS X Server v10.6
administration software installed on it.)
www.apple.com/server/resources/
Getting Started
Covers basic installation,
setup, and management
using Server Preferences Server
instead of Server Admin. Preferences Help
Recommended for Provides onscreen
novice administrators. instructions and answers
when you’re using
Server Preferences
to manage servers.
Advanced Server
Information Administration
Technologies Describes using Server
Dictionary Admin to install, configure,
Provides onscreen and administer server Server Admin Help
definitions of software and services.
Provides onscreen
server terminology. Includes best practices and
instructions and answers
advice for system planning,
when you’re using Server
security, backing up,
Admin to manage servers.
and monitoring.
Also contains the latest
Introduction to documentation updates.
Command-Line
Administration
Explains how to use
UNIX shell commands to
configure and manage
servers and services.
Server
Administration Guides
Each guide covers using
Server Admin and
command-line tools to
configure advanced
settings for a particular
service.
You may want to enlarge the printed pages even if you don’t print double sided,
because the PDF page size is smaller than standard printer paper. In the Print dialog
or Page Setup dialog, try changing Scale to 115% (155% for Getting Started, which has
CD-size pages).
This chapter contains information to make decisions about where and how you deploy
Mac OS X Server. It contains general information about configuration options, standard
protocols used, its UNIX roots, and network and firewall configurations necessary for
Mac OS X Server administration.
A display and keyboard are optional. You can install server software on a computer
that has no display and keyboard by using an administrator computer. For more
information, see “Setting Up an Administrator Computer” on page 124.
16
What’s New in Mac OS X Server v10.6
Mac OS X Server v10.6 offers major enhancements in several key areas:
ÂÂ Address Book Server
Mac OS X Server v10.6 introduces the first open standards-based Address Book
Server Based on the emerging CardDAV specification, which uses WebDAV to
exchange vCards, sharing contacts across multiple computers.
ÂÂ Remote Access
Mac OS X Server v10.6 delivers push notifications to users outside your firewall, and
a proxy service gives them secure remote access to email, address book contacts,
calendars, and specified internal websites.
ÂÂ Collaboration services improvements
Mac OS X Server v10.6 augments collaboration features with wiki and blog
templates optimized for viewing on iPhone; provides content searching across
multiple wikis; and enables attachment viewing in Quick Look. It also introduces
My Page, which gives users one convenient place to access web applications,
receive notifications, and view activity streams across wikis.
ÂÂ iCal Server 2
Mac OS X Server v10.6 has a new iCal Server which includes shared calendars, push
notifications, the ability to send email invitations to non-iCal Server users, and a
browser-based application for using calendars with many supported browsers.
ÂÂ Podcast Producer 2
Mac OS X Server v10.6 has a new Podcast Producer which features an intuitive new
workflow editor, support for dual-video source capture, and Podcast Library, which
lets you host locally stored podcasts and make them available for subscription by
category via Atom web feeds.
ÂÂ Mail Server improvements
Mac OS X Server v10.6 mail service increases its performance and scalability using
a new engine designed to handle thousands of simultaneous connections. Mail
services have been enhanced to include server-side email rules and vacation
messages.
ÂÂ Multicore optimizations
Mac OS X Server v10.6 supports “Grand Central,” a new set of built-in technologies
that makes all of Mac OS X Server multicore aware and optimizes it for allocating
tasks across multiple cores and processors.
ÂÂ 64-bit support
Mac OS X Server v10.6 use 64-bit kernel technology to support up to 16 TB of
memory.
Servers administered using the advanced tool suite are the most flexible and require
the most skill to administer. Servers administered by Server Preferences have fewer
configuration options, but most configuration details are set by Server Preferences,
without additional skill or labor. You can customize your server for a variety of
purposes using either method.
Using Server Admin and the rest of the advanced configuration tool suite, the
experienced system administrator has complete control of each service’s configuration
to accommodate a wide variety of needs. After performing initial setup with Setup
Assistant, you use powerful administration applications such as Server Admin and
Workgroup Manager, or command-line tools, to configure advanced settings for
services the server must provide.
Using Server Preferences, you can get standard configurations of Mac OS X Server
features using automated setup and simplified administration. For more information
about using Server Preferences to administer your server, see Getting Started.
You can switch between Server Admin and Server Preferences. The setting changes
in one application are reflected in the other’s settings. However, some advanced or
custom configurations can’t be inspected or changed in Server Preferences, due to
Server Preferences’ simplified interface.
Supported Standards
Mac OS X Server provides standards-based workgroup and Internet services. Instead of
developing proprietary server technologies, Apple has built on the best open source
projects: Samba 3, OpenLDAP, Kerberos, Dovecot, Apache, Jabber, SpamAssassin, and
more. Mac OS X Server integrates these robust technologies and enhances them with
a unified, consistent management interface.
Mac OS X Server is built on an open source operating system called Darwin, which is
part of the BSD family of UNIX-like systems. BSD is a family of UNIX variants descended
from Berkeley’s version of UNIX. Also, Mac OS X Server incorporates more than
100 open source projects in addition to proprietary enhancements and extended
functionality created by Apple.
The BSD portion of the Mac OS X kernel is derived primarily from FreeBSD, a version
of 4.4BSD that offers advanced networking, performance, security, and compatibility
features.
In general, BSD variants are derived (sometimes indirectly) from 4.4BSD-Lite Release 2
from the Computer Systems Research Group (CSRG) at the University of California at
Berkeley.
Although the BSD portion of Mac OS X is primarily derived from FreeBSD, some
changes have been made. To find out more about the low-level changes made,
see Apple’s Developer documentation for Darwin.
Use this chapter to stimulate your thinking. It doesn’t present a rigorous planning
guide, nor does it provide the details you need to determine whether to implement a
particular service and assess its resource requirements. Instead, view this chapter as an
opportunity to think about how to maximize the benefits of Mac OS X Server in your
environment.
Planning, like design, isn’t necessarily a linear process. The sections in this chapter don’t
require you to follow a mandatory sequence. Different sections in this chapter present
suggestions that could be implemented simultaneously or iteratively.
For example, you might want to convert an existing server to v10.6 and continue
hosting directory, file, and mail services for clients on your network.
Before you install server software, you might need to prepare data to migrate to your
new server, and perhaps consider whether it’s a good time to implement a different
directory services solution.
24
During the planning stage, you’ll also decide which installation and server setup
options best suit your needs. For example, Getting Started contains an example that
illustrates server installation and initial setup in a small business scenario with the
server in using Server Preferences.
Upgrading is simple because it preserves existing settings and data. You can perform
an upgrade using any of the installation methods described in this chapter or the
advanced methods described in this guide.
If you can’t perform an upgrade, for example when you need to reformat the startup
disk or replace your server hardware, you can migrate data and settings to a computer
that you’ve installed Mac OS X Server v10.6 on.
Before finalizing decisions about which servers will host specific services, familiarize
yourself with information in the administration guides for the services you want to
deploy.
If you’re using Mac OS X Server v10.5 or v10.4 and you don’t need to move to Intel-
processor based hardware, you can perform an upgrade installation. Upgrading is
simple because it preserves your existing settings and data.
When you can’t use the upgrade approach, you can migrate data and settings.
You’ll need to migrate, not upgrade, when:
ÂÂ A version 10.4 or 10.5 server’s hard disk needs reformatting or the server doesn’t
meet the minimum Mac OS X Server v10.6 system requirements. For more
information, “System Requirements for Installing Mac OS X Server v10.6” on page 16.
ÂÂ You want to move data and settings you’ve been using on a v10.4 or 10.5 server to
different server hardware.
Migration is supported from the latest versions of Mac OS X Server v10.5 and v10.4.
When you migrate, you install and set up Mac OS X Server v10.6, then restore files onto
it from the earlier server, and then make manual adjustments as required.
For information about migrating users, groups, files, and more from a Windows-
based server to Mac OS X Server, see the additional information at Mac OS X Server
Resources website at www.apple.com/server/macosx/resources/ .
The second aspect is largely a matter of determining the support you want
Mac OS X Server to provide to non-Apple computer users. The additional information
at Mac OS X Server Resources website at www.apple.com/server/macosx/resources/
tell you what’s available.
The amount of setup infrastructure you require depends on the complexity of your
site and what you want to accomplish. In general, DHCP, DNS, and directory services
are recommended or required for medium and large server networks:
ÂÂ The most fundamental infrastructure layer comprises network services like DHCP
and DNS.
All services run better if DNS is on the network, and many services require DNS to
work properly. If you’re not hosting DNS, work with the administrator responsible
for the DNS server you’ll use when you set up your servers. DNS requirements for
services are published in the service-specific administration guides.
The DHCP setup reflects your physical network topology.
ÂÂ Another crucial infrastructure component is directory services, required for sharing
data among services, servers, and user computers.
The most common shared data in a directory is for users and groups, but
configuration information such as mount records and other directory data is also
shared. A directory services infrastructure is necessary to host cross-platform
authentication and when you want services to share the same names and
passwords.
Here’s an example of the sequence in which you might set up a server infrastructure
that includes DNS, DHCP, and directory services. You can set up the services on the
same server or on different servers:
Your specific needs can affect this sequence. For example, to use VPN, NAT, or IP
Firewall services, include their setup with the DNS and DHCP setups.
For example, you might not want to set up a server whose data you want to mirror
until all disk drives you need for mirroring are available. You might also want to wait
until a RAID subsystem is set up before setting up a home folder server or other server
that will use it.
If you can’t avoid moving a server after initial setup, you must change settings that are
sensitive to network location before you can use the server. For example, the server’s IP
address and DNS name, stored in directories and configuration files on the server, must
be updated.
You need to customize backup and restore policies to take into account your situation,
what data needs to be saved, how often, and how much time and effort is used to
restore it. Your policy specifies the procedures and practices that fulfill your restoration
needs.
Backups are an investment of time, money, and administration effort, and they can
affect performance. However, there is a clear return on investment in the form of data
integrity. You can avoid substantial financial, legal, and organizational costs with a well-
planned, well-executed backup and restore policy.
Each restoration need determines the type, frequency, and method you use to back up
your data.
You might want to keep daily backups of files. This allows for quick restoration of
overwritten or deleted files. In such a case you have file-level granularity every
day: any single file can be restored the following day.
There are other levels of granularity as well. For example, you might need to restore
a full day’s data. This is a daily snapshot-level granularity: you can restore your
organization’s data as it was on a given day.
These daily snapshots might not be practical to maintain every day, so you might
choose to keep a set of rolling snapshots that give you daily snapshot-level granularity
for only the preceding month.
Other levels of restoration you might want or need could be quarterly or semiannually.
You might also need archival storage, which is data stored only to be accessed in
uncommon circumstances. Archival storage can be permanent, meaning the data is
kept for the foreseeable future.
The answers to these questions are an integral part of your backup and restore policy.
These backup types are not mutually exclusive. They exemplify different approaches
to copying data for backup purposes. For example, Time Machine uses a full file-level
copy as a base backup; then it uses incremental backups to create snapshots of a
computer’s data on a given day.
You will find that different kinds of backup require different answers to these
questions. For example, an incremental file copy might take less time and copy less
data than a full file copy (because only a fraction of any given data set will have
changed since the last backup).
In the grandfather-father-son rotation scheme, the number of media sets you use for
backup determines how much backup history you have. For example, if you use eight
backup sets for daily backups, you have eight days of daily backup history because
you’ll recycle media sets every eight days.
Understanding Restores
No backup policy or solution is complete without having accompanying plans for data
restoration. Depending on what is being restored, you may have different practices
and procedures. For example, your organization may have specific tolerances for how
long critical systems can be out of use while the data is restored.
Restore practices and procedures must be tested regularly. A backup data set that
does not restore correctly cannot be considered a trustworthy backup. Backup
integrity is measured by restore fidelity.
For more information about these commands, see their respective man pages.
Note: You can use the launchctl command to automate data backup using these
commands. For more information about using launchctl and launchd, see their
respective man pages.
For more information about where the necessary data files are stored for backup via
other means, see “Critical Configuration and Data Files” on page 155.
Note: You can use the launchctl command to automate data backup using the
aforementioned commands. For more information about using launchctl and
launchd, see their respective man pages.
Server Admin
You use Server Admin to administer services on Mac OS X Server computers. Server
Admin also lets you specify settings that support multiple services, such as creating
and managing SSL certificates, manage file sharing, and specifying which users and
groups can access services.
The version of Server Admin included with Mac OS X Server v10.6 can be used to
administer the latest version of Mac OS X Server v10.5. However, the current version of
Server Admin isn’t compatible with administering DNS service or manage certificates
in Mac OS X Server v10.5. Use the version of Server Admin that came with Mac OS X
Server v10.5 on a computer running Mac OS X Server v10.5 or Mac OS X v10.5.
Information about using Server Admin to manage services appears in the individual
administration guides and in onscreen information accessible by using the Help menu
in Server Admin.
To select a server to work with, enter its IP address or DNS name in the login dialog
box or click Available Servers to choose from a list of servers. Specify the user name
and password for a server administrator, then click Connect.
38
Server Admin Interface
The Server Admin interface is shown here, with each element explained in the
following table.
A B
F
E C
K L M N
A Server List: Shows servers, groups, smart groups, and if desired, the administered services for
each server
You select a group to view a status summary for all grouped computers.
You select a computer for its overview and server settings.
You select a server’s service to control and configure the service.
C Tool Bar: Shows available context buttons. If a button is grayed out or can’t be clicked, you
do not have the administrative permissions to access it.
E Available servers: Lists the local-network scanner, which you can use to discover servers to
add to your server list.
G Server: Shows the hostname of the managed server. Select to show a hardware, operating
system, active service, and system status summary.
H Service: Shows an administered service for a server. Select to get service status, logs, and
configuration options.
I Group: Shows an administrator created group of servers. Select to view a status summary for
all grouped computers
For more information, see “Grouping Servers Manually” on page 129.
K Add button: Shows a pop-up menu of items to add to the Server list: servers, groups, and
smart groups.
L Action button: Shows a pop-up menu of actions possible for a selected service, or server,
including disconnect server, share the server’s screen, and so forth.
M Refresh button: Allows you to send a status request to all computers visible in the Server list.
N Service Start/Stop button: When a service is selected, this button allows you to start or stop
the service, as appropriate.
O Action bar: Shows buttons and pop-up menus with commands to act on selected servers
or services in the Server list. Click this to save or revert setting changes you’ve made. This
contains the Add button, Action button, service start and stop buttons, and save and revert
buttons.
Server Assistant is opened from the Server menu of Server Admin. The following menu
items open the assistant:
ÂÂ Install Remote Server
ÂÂ Set Up Remote Server
ÂÂ Create Auto Server Setup Profile
For information about using Server Assistant, use its Help buttons, or see
Chapter 6, “Initial Server Setup.”
You can use Server Preferences on any server you want to manage, or you can use it
remotely from an administrator computer or another server.
For information about using Server Preferences, see Getting Started or Server
Preferences Help.
Workgroup Manager
Mac OS X Server includes Workgroup Manager, a user management tool you can use
to create and manage user, group, computer, and computer group accounts. You also
use it to access the Inspector, an advanced feature that lets you do raw editing of
Open Directory entries.
Workgroup Manager works closely with a directory domain. Directory domains are
like databases, and are geared towards storing account information and handling
authentication.
After opening Workgroup Manager, you can open a Workgroup Manager window by
choosing Server > New Workgroup Manager Window.
A B C
E
F
J
H
C Tool Bar: Click the icons to accomplish the various commands. The toolbar is customizable.
D Directory path: Use to view the directory you are editing. Click the globe icon to select a
directory domain. Click the lock to authenticate.
E Record Type tabs: Use to view records for users, groups, and computer groups. If the
Inspector is enabled, this also contains the Inspector tab.
I Main Work Area: Use to work with account, preference, and configuration options. This looks
different for each user, group, or preference type.
J Action zone: Use to save and revert changes, and to make and apply preset configurations
to selected records.
Server Monitor
You use Server Monitor to monitor local or remote Xserve hardware and trigger
mail notifications when circumstances warrant attention. Server Monitor provides
information about the installed operating system, drives, power supply, enclosure and
processor temperature, cooling blowers, security, and network.
Server Monitor is installed in /Applications/Server/ when you install your server or set
up an administrator computer. To open Server Monitor, click the Server Monitor icon in
the Dock or double-click the Server Monitor icon in /Applications/Server/. From within
Server Admin, choose View > Server Monitor.
To specify how often you want to refresh data, use the “Update every” pop-up menu in
the Info pane.
To manage different lists of Xserve computers you want to monitor, choose File >
Export or File > Import. To consolidate lists into one, choose File > Merge.
The system identifier lights on the front and back of an Xserve computer light when
service is required. Use Server Monitor to understand why the lights are on. You can
also turn the lights on to identify a specific Xserve computer in a rack of servers by
selecting the server and clicking “System identifier light” in the Info pane.
To set up Server Monitor to notify you by mail when an Xserve computer’s status
changes, click Edit Notifications. For each server, you set up the conditions that
you want notification for. The mail message can come from Server Monitor or from
the server.
Server Monitor keeps logs of Server Monitor activity for each Xserve computer. To view
a log, click Show Log. The log shows, for example, Server Monitor attempts to contact
the server and whether a connection was successful. The log also shows server status
changes. (The logs don’t include system activity on the server.)
A B
E F
A Search field: Use to search record types. Numbers appear at the left of the Record Type
buttons to indicate the number of matching records.
For information about how to use iCal Service Utility, see the onscreen help for iCal
Service Utility.
ÂÂ Server Admin enables and configures NetBoot service and supporting services.
It’s installed with Mac OS X Server software in the /Applications/Server/ folder.
ÂÂ PackageMaker creates package files that you use to add software to disk images.
Access PackageMaker from Xcode Tools. An installer for Xcode Tools is on the server
Install DVD in the Other Installs folder.
ÂÂ Property List Editor edits property lists such as NBImageInfo.plist. Access Property List
Editor from Xcode Tools.
From the Terminal application in Mac OS X, you can use the built-in UNIX shells
(sh, csh, tsh, zsh, bash) to use tools for installing and setting up server software and
for configuring and monitoring services. You can also submit commands from a non-
Mac OS X computer.
Mac OS X Server has a command-line version of Server Admin called serveradmin that
you use to administer the services that Server Admin manages. It is run on the server
to be administered over a remote connection.
For information about using the Server Status widget, see Getting Started or Server
Preferences Help.
RAID Admin
RAID Admin is a tool to administer and monitor Xserve RAID devices. You use RAID
Admin to set up Xserve RAID hardware, including:
ÂÂ Creating, deleting, and expanding RAID arrays
ÂÂ Monitoring the status of Xserve RAID systems
ÂÂ Adjusting settings, including system name and password, network address for each
RAID controller, fibre channel communication speed, drive cache, and controller
cache
ÂÂ Setting up email notification for system alerts
ÂÂ Implementing advanced features, such as dividing arrays into slices and updating
the firmware of an Xserve RAID system.
Xgrid Admin
You can use Xgrid Admin to monitor local or remote Xgrid controllers, grids, and jobs.
You can add controllers and agents to monitor and specify agents that have not yet
joined a grid. You also use Xgrid Admin to pause, stop, or restart jobs.
Xgrid Admin is installed in /Applications/Server/ when you install your server or set up
an administrator computer. To open Xgrid Admin, double-click the Xgrid Admin icon in
/Applications/Server/.
You can also use ARD to control installation on a computer that you start up from an
installation disc for Mac OS X Server v10.5 or later, because ARD includes VNC viewer
capability.
Use this chapter to stimulate your thinking. It doesn’t present a rigorous planning
outline, nor does it provide the details you need to determine whether to implement
a particular security policy and assess its resource requirements. Instead, view this
chapter as an opportunity to plan and institute the security policies necessary for your
environment.
In your own organization and environment, you must decide which precautions are
necessary, effective, and cost-effective to protect the value of your data and network.
51
About Network Security
Network security is as important to data integrity as physical security. Although
someone might immediately see the need to lock down an expensive server, he or she
might not immediately see the need to restrict access to the data on that same server.
The following sections provide considerations, techniques, and technologies to assist
you in securing your network.
Mac OS X Server’s Firewall service is software that protects the network applications
running on your Mac OS X Server.
Turning on Firewall service is similar to erecting a wall to limit access. The service scans
incoming IP packets and rejects or accepts packets based on the rules you create.
You can restrict access to any IP service running on the server, and you can customize
rules for incoming clients or a range of client IP addresses. Services such as Web and
FTP services are identified on your server by a Transmission Control Protocol (TCP) or
User Datagram Protocol (UDP) port number.
When a computer tries to connect to a service, Firewall service scans the rule list for
a matching rule. When a packet matches a rule, the action specified in the rule (such
as allow or deny) is taken. Then, depending on the action, additional rules might be
applied.
If the server gets its Internet connection through an AirPort Extreme Base Station
(802.11n) or a Time Capsule, you can use it instead of the server’s firewall to protect
the network. You can automatically manage the base station or Time Capsule in the
Security pane of Server Preferences. AirPort automanagement isn’t available using
Server Admin.
You can also protect a small network with other kinds of Internet sharing routers,
but you must manage them manually. For more information, see Mac OS X Server
Getting Started.
Network DMZ
In computer network security, a demilitarized zone (DMZ) is a network area
(a subnetwork) that is between an organization’s internal network and an external
network like the Internet.
You can make connections from the internal and external network to the DMZ, and
you can make connections from the DMZ to the external network, but you cannot
make connections from the DMZ to the internal network.
The DMZ is often used to connect servers that need to be accessible from the external
network or Internet, such as mail, web, and DNS servers.
Connections from the external network to the DMZ are often controlled using firewalls
and address translation.
You can create a DMZ by configuring your firewall. Each network is connected to a
different port on the firewall, called a three-legged firewall setup. This is simple to
implement but creates a single point of failure.
Another approach is to use two firewalls with the DMZ in the middle, connected to
both firewalls, and with one firewall connected to the internal network and the other
to the external network. This is called a screened-subnet firewall.
VLANs
Mac OS X Server provides 802.1q Virtual Local Area Network (VLAN) support on the
Ethernet ports and secondary PCI gigabit Ethernet cards available or included with
Xserves.
MAC Filtering
MAC filtering (or layer 2 address filtering) refers to a security access control where a
network interface’s MAC address, or Ethernet address (the 42-bit address assigned to
each network interface), is used to determine access to the network.
MAC addresses are unique to each card, so using MAC filtering on a network permits
and denies network access to specific devices, rather than to specific users or network
traffic types. Individual users are not identified by a MAC address, only a device, so an
authorized person must have an allowed list of devices that he or she would use to
access the network.
Transport Encryption
Transferring data securely across a network involves encrypting the packet contents
sent between computers. Mac OS X Server can provide Transport Layer Security (TLS)
and its predecessor, Secure Sockets Layer (SSL) as the cryptographic protocols that
provide secure communications on the Internet for such things as web browsing, mail,
and other data transfers.
TLS provides endpoint authentication and communications privacy over the Internet
using cryptography. These encrypted connections authenticate the server (so its
identity is ensured) but the client remains unauthenticated.
To have mutual authentication (where each side of the connection is assured of the
identity of the other), use a public key infrastructure (PKI) for the connecting clients.
Mac OS X Server makes use of OpenSSL and has integrated transport encryption into
the following tools and services:
ÂÂ Server administration using Server Admin and Server Preferences
ÂÂ User and group management using Workgroup Manager.
ÂÂ Address Book Server
ÂÂ iCal Server
ÂÂ iChat Server
ÂÂ Mail Service
ÂÂ Open Directory
ÂÂ Podcast Producer
ÂÂ RADIUS
ÂÂ SSH
ÂÂ VPN (L2TP)
ÂÂ Web service
Payload Encryption
Rather than encrypting the transfer of a file across the network, you can encrypt the
contents of the file instead. Files with strong encryption might be captured in transit,
but would still be unreadable.
To learn more about file encryption, see “About File Encryption” on page 55.
When setting up share points, make sure that items allow appropriate access privileges
for the users you want to share them with.
POSIX permissions let you control access to files and folders based on three categories
of users: Owner, Group, and Everyone Else.
Although these permissions control who can access a file or a folder, they lack the
flexibility and granularity that many organizations require to deal with elaborate user
environments.
ACL permissions provide an extended set of permissions for files or folders and allow
you to set multiple users and groups as owners. In addition, ACLs are compatible with
Windows Server 2003 and Windows XP, giving you added flexibility in a multiplatform
environment.
For more information about file permissions, see the online help and Mac OS X Server
Resources website at www.apple.com/server/macosx/resources/
Secure Delete
When a file is put in the Trash and the Trash is emptied, or when a file is removed
using the rm UNIX tool, the files are not removed from disk. Instead, they are removed
from the list of files the operating system (OS) tracks and does not write over.
Any space on your hard disk that is free space (places the OS can put a file) most likely
contains previously deleted files. Such files can be retrieved using undelete utilities
and forensic analysis.
To truly remove the data from disk, you must use a more secure delete method.
Security experts advise writing over deleted files and free space multiple times with
random data.
Mac OS X Server provides the following tools to allow you to securely delete files:
ÂÂ Secure Empty Trash (a command in the Finder menu to use instead of “Empty Trash”
ÂÂ srm (a UNIX utility that securely deletes files, used in place of “rm”)
In a computing context, when you provide a login name and password, you are
authenticated to the computer because it assumes only one person (you) knows the
login name and the password. After you are authenticated, the operating system
checks lists of people who are permitted to access certain files, and if you are
authorized to access them, you are permitted to.
Single Sign-On
Mac OS X Server uses Kerberos for single sign-on authentication, which relieves users
from entering a user name and password separately for every service. With single sign-
on, a user always enters a user name and password in the login window. Thereafter,
the user does not need to enter a name and password for Apple file service, mail
service, or other services that use Kerberos authentication.
To use single sign-on, users and services must be Kerberized—configured for Kerberos
authentication—and must use the same Kerberos Key Distribution Center (KDC) server.
User accounts that reside in an LDAP directory of Mac OS X Server and have a
password type of Open Directory use the server’s built-in KDC. These user accounts are
configured for Kerberos and single sign-on.
This server’s Kerberized services also use the server’s built-in KDC and are configured
for single sign-on. This Mac OS X Server KDC can also authenticate users for services
provided by other servers. Having additional servers with Mac OS X Server use the
Mac OS X Server KDC requires minimal configuration.
Like other authentication systems, Kerberos does not provide authorization. Each
network service determines for itself what it will allow you to do based on your proven
identity.
Kerberos allows a client and a server to unambiguously identify each other much
more securely than the typical challenge-response password authentication methods
traditionally deployed.
PKI systems allow the two parties in a data transaction to be authenticated to each
other and to use encryption keys and other information in identity certificates to
encrypt and decrypt messages traveling between them.
SSL technology relies on a PKI system for secure data transmission and user
authentication. It creates an initial secure communication channel to negotiate a
faster, secret key transmission. Mac OS X Server uses SSL to provide encrypted data
transmission for mail, web, and directory services.
The following sections contain more background information about key aspects of PKI.
For example, a mail server will send its public key to a connecting client and initiate
negotiation for a secure connection. The connecting client uses the public key to
encrypt a response to the negotiation. The mail server, because it has the private key,
can decrypt the response. The negotiation continues until the mail server and the
client have a shared secret to encrypt traffic between computers.
Certificates
A certificate is an electronic document that contains a public key with identification
information (name, organzation, email address, and so on). In a public key
environment, a certificate is digitally signed by a Certificate Authority, or its own
private key (the latter being a self-signed certificate).
A public key certificate is a file in a specified format (Mac OS X Server uses the x.509
format) that contains:
ÂÂ The public key half of a public-private key pair
ÂÂ The key user’s identity information, such as a person’s name and contact information
ÂÂ A validity period (how long the certificate can be trusted to be accurate)
ÂÂ The URL of someone with the power to revoke the certificate (its revocation center)
ÂÂ The digital signature of a CA, or the key user
In x.509 systems such as Mac OS X, CAs are hierarchical, with CAs being certified by
higher CAs, until you reach a root authority. A root authority is a CA that’s trusted by
the parties, so it doesn’t need to be authenticated by another CA. The hierarchy of
certificates is top-down, with the root authority’s certificate at the top.
A CA can be a company that signs and issues a public key certificate. The certificate
attests that the public key belongs to the owner recorded in the certificate.
These identities are used for different security contexts. For example, one could be
used to sign others’ certificates, and one could be used to identify the user by email,
and these do not need to be the same identity.
In the context of the Mac OS X Server Certificate Manager, identities include a signed
certificate and both keys of a PKI key pair. The identities are used by the system
keychain and are available for use by various services that support SSL.
Trust is the ability of a client to believe the identity of a server when it connects.
A trusted server is a known server that the client can transact with securely, without
interference from outside and unknown parties.
Mac OS X clients follow x.509 trust validation when accepting certificates, meaning
they follow the chain of certificate signers back until they find a trusted root certificate.
Mac OS X lets you specify a trusted anchor (in other words, a certificate that is not a
root CA certificate, but that you trust). A client can trust a certificate closer in the chain
of trust, or even just the submitted certificate itself. Trusting a certificate that isn’t a
shipping root anchor is intermediate trust.
You can use the security tool to save and restore trust settings as well. For more
information on using the security command-line tool, see the security man page.
Certificate Manager in Server Admin doesn’t allow you to sign and issue certificates
as a CA, nor does it allow you to sign and issue certificates as a root authority. If you
need these functions, you can use Certificate Assistant in Keychain Access (located in
/Applications/Utilities/). It provides these capabilities and others for working with x.509
certificates.
Identities that were created and stored in OpenSSL files can also be imported into
Certificate Manager. They are accessible to services that support SSL. Self-signed and
CA-issued certificates you created in CA Assistant can be used in Certificate Manager
by importing the certificate.
The certificate and trust chain are owned by the root user and the wheel group, with
permissions set to 644. The public key and concatenation file are owned by the root
user and the certusers group, with permissions set to 640.
For example, the certificate for a web server at example.com might look like this:
www.example.com.C42504D03B3D70F551A3C982CFA315595831A2E3.cert.pem
Readying Certificates
Before you can use SSL in Mac OS X Server’s services, you must create or import
certificates. You can create self-signed certificates, create certificates and then generate
a Certificate Signing Request (CSR) to send to a CA, or import certificates previously
created with OpenSSL.
If you have previously generated certificates for SSL, you can import them for use by
Mac OS X Server services. The OpenSSL keys and certificates must be in PEM format.
Select a CA to sign your certificate request. If you don’t have a CA to sign your request,
consider becoming your own CA and then import your CA certificates into the root
trust database of your managed machines.
When you set up Mac OS X Server, the Server Assistant creates a self-signed certificate
based on information you provided when it’s first installed. It can be used for any
service that supports SSL. When your clients choose to trust the certificate, SSL
connections can be used without user interaction from that point on.
This initial self-signed certificate is used by Server Admin and Server Preferences to
encrypt administrative functions.
If you’re using a self-signed certificate, consider using an intermediate trust for it and
import the certificate into the System keychain on all client computers (if you have
control of the computers). For more information about using intermediate trust,
see “About Intermediate Trust” on page 61.
The Certificate Assistant generates a key pair and certificate. Certificate Manager
encrypts the files with a random passphrase, puts the passphrase in the System
keychain, and puts the resulting PEM files in /etc/certificates/.
You need a certificate for the CA to sign. You can use the one that was generated at
server setup, but more likely you will want to generate one that has all the details
the CA requires before signing. If you need to generate a certificate before getting it
signed, see “Creating a Self-Signed Certificate” on page 65.
Your CA will have instructions on how to transfer the CSR to the signer. Some CAs
require you to use a web interface; others require sending the CSR in the body of a
mail message. Follow the instructions given by the CA.
The CA will return a newly signed certificate, which replaces the one you generated.
For instructions on what to do now with your newly signed certificate, see “Replacing
an Existing Certificate” on page 71.
If you are a large organization, you might decide to issue or sign certificates for people
in your organization to use the security benefits of certificates. However, external
organizations might not trust or recognize your signing authority.
To create a CA:
1 Start Keychain Access.
Keychain Access is found in the /Applications/Utilities/ directory.
2 In the Keychain Access menu, select Certificate Assistant > Create a Certificate
Authority.
The Certificate Assistant starts. It will guide you through the process of making the CA.
3 Choose to create a Self Signed Root CA.
4 Provide the Certificate Assistant with the requested information and click Continue.
You need the following information to create a CA:
ÂÂ An email address
ÂÂ The name of the issuing authority (you or your organization)
You also decide if you want to override the defaults and whether to make this CA the
organization’s default CA. If you do not have a default CA for the organization, allow
the Certificate Assistant to make this CA the default.
In most circumstances, do not override the defaults. If you do not override the defaults,
skip to step 16.
Before you can create a certificate for someone, that person must generate a CSR. The
user can use the Certificate Assistant to generate the CSR and mail the request to you.
You then use the CSR’s text to make the certificate.
Managing Certificates
After you create and sign a certificate, you won’t do much more with it. Since
certificates cannot be edited, you can either delete, replace, or revoke certificates after
they are created. You cannot change certificates after a CA signs them.
If you have previously generated certificates for SSL, you can import them for use by
services. The OpenSSL keys and certificates must be in PEM format.
If you chose custom locations for your SSL certificates with Leopard Server, you must
import them into Certificate Manager if you want them to be available for services.
Custom filesystem locations for certificates cannot be managed for services using
Server Admin for Mac OS X Server v10.6. To use custom file locations, you must edit the
configuration files directly.
When certificates and keys are imported via Certificate Manager, they are put in the
/etc/certificates/ directory. The directory contains four PEM formatted files for every
identity:
ÂÂ The certificate
ÂÂ The public key
ÂÂ The trust chain
ÂÂ The concatenated version of the certificate plus the trust chain (for use with some
services)
For example, the certificate for a web server at example.com might look like this:
www.example.com.C42504D03B3D70F551A3C982CFA315595831A2E3.cert.pem
After they are imported, Certificate Manager encrypts the files with a random
passphrase. It puts the passphrase in the System keychain, and puts the resulting PEM
files in /etc/certificates/.
Editing a Certificate
After you add a certificate signature, you can’t edit the certificate. You must replace it
with one generated from the same private key.
Mac OS X Server ships only with certificates from well-known commercial CAs. To
prevent this warning, your CA certificate must be distributed to every client computer
that connects to the secure server.
You can use the security tool to save and restore trust settings as well. For more
information on using the security tool, see the security man page.
Deleting a Certificate
When a certificate has expired or been compromised, you must delete it.
To delete a certificate:
1 In Server Admin, select the server that has services that support SSL.
2 Click Certificates.
3 Select the Certificate Identity to delete.
4 Click the Remove (-) button and select Delete.
Using Certificates
In Server Admin, services like Web, Mail, VPN, and so on display a pop-up list of
certificates that the administrator can choose from. The services vary in appearance
and therefore the pop-up list location varies. Consult the administration guide for the
service you’re trying to use with a certificate.
SSH is frequently used to log in to a remote machine to execute commands, but you
can also use it to create a secure data tunnel, forwarding through an arbitrary TCP port.
You can also use SSH to transfer files using SFTP and SCP. By default, an SSH server uses
the standard TCP port 22.
Mac OS X Server uses OpenSSH as the basis for its SSH tools. Notably, portable home
directory synchronization is provided via SSH.
This doesn’t authorize all users of the computer to have SSH access. Keys must be
generated for each user account.
If .ssh is listed in the output, move to step 2. If .ssh is not listed in the output,
run mkdir ~/.ssh and continue to step 2.
2 Change directories in the shell to the hidden .ssh directory by entering the following
command:
cd ~/.ssh
3 Generate the public and private keys by entering the following command:
ssh-keygen -b 1024 -t rsa -f id_rsa -P ''
Set the permissions on the private key so the file can only be changed by the owner.
6 Copy the public key and the authorized key lists to the specified user’s home folder on
the remote computer by entering the following command:
scp authorized_keys2 username@remotemachine:~/.ssh/
The process must be repeated for each user that needs to open key-based SSH
sessions. The root user is not excluded from this requirement. The home folder for the
root user on Mac OS X Server is located at /var/root/.
The following Perl script is a trivial scripting example that should not be implemented,
but it demonstrates connecting over an SSH tunnel to all servers defined in the
variable serverList, running softwareupdate, installing available updates, and restarting
the computer if necessary.
The script assumes that key-based SSH was set up for the root user on all servers to be
updated.
#!/usr/bin/perl
# \@ is the escape sequence for the "@" symbol.
my @serverList = ('root\@exampleserver1.example.com',
'root\@exampleserver2.example.com');
foreach $server (@serverList) {
open SBUFF, "ssh $server -x -o batchmode=yes 'softwareupdate -i -a' |";
while(<SBUFF>) {
my $flag = 0;
chop($_);
#check for restart text in $_
my $match = "Please restart immediately";
This results in a tiered administration model, where some administrators have more
privileges than others for assigned services. This results in a method of access control
for individual server features and services.
For example, Alice (the lead administrator) has control over all services on a given
server and can limit the ability of other admin group users (like Bob and Cathy) to
change settings on the server. She can assign DNS and Firewall service administration
to Bob, while leaving Mail service administration to Cathy.
In this scenario, Cathy can’t change the firewall or any service other than mail. Likewise,
Bob can’t change any services outside of his assigned services.
Tiered administration controls are effective in Server Admin and the serveradmin
command-line tool. They are not effective against modifying UNIX configuration files
throughout the system. Protect UNIX configuration files with POSIX-type permissions
or ACLs.
This results in a tiered administration model, where some administrators have more
privileges than others for their assigned services. This results in a kind of access control
for individual server features and services.
SACLs allow you to add a layer of access control on top of standard and ACL
permissions.
Only users and groups in an SACL can access its corresponding service. For example,
to prevent users from accessing AFP share points on a server, including home folders,
remove the users from the AFP service’s SACL.
Server Admin in Mac OS X Server allows you to configure SACLs. Open Directory
authenticates user accounts and SACLs authorize use of services. If Open Directory
authenticates you, the SACL for login window determines whether you can log in,
the SACL for AFP service determines whether you can connect for Apple file service,
and so on.
Password Guidelines
Many applications and services require that you create passwords to authenticate.
Mac OS X includes applications that help create complex passwords (using Password
Assistant), and securely store your passwords (using Keychain Access).
Installation Overview
You’ve already planned and decided how many and what kind of servers you are
going to install.
79
Step 3: Set up the environment
If you are not in complete control of the network environment (DNS servers, DHCP
server, firewall, and so forth) coordinate with your network administrator before
installing. A functioning DNS system with full reverse lookups and a firewall to allow
configuration constitute a minimum for the setup environment.
If you plan on connecting the server to an existing directory system, you must also
coordinate efforts with the directory administrator. See the following:
ÂÂ “Setting Up Network Services” on page 82
ÂÂ “Connecting to the Directory During Installation” on page 82
ÂÂ “SSH During Installation” on page 82
ÂÂ “Preparing an Administrator Computer” on page 83
If you are administering the server from another computer, you must create an
administration computer.
A display and keyboard are optional. You can install server software on a computer
that has no display and keyboard by using an administrator computer. For more
information, see “Setting Up an Administrator Computer” on page 124.
To use a server bound to another directory server (Open Directory, Active Directory,
or other OpenLDAP), make sure you have the DNS name and IP address of the master
directory server before installation.
Administration Tools CD
In addition to the installation disc, Mac OS X Server includes the Administration
Tools CD. You use this disc to set up an administrator computer. This disc has a
Documentation folder with Getting Started, Installation & Setup Worksheet, and an
acknowledgments page. It also contains:
ÂÂ ServerAdministrationSoftware.mpkg
Use this package to install the administration tools on a computer running
Mac OS X Snow Leopard to make it an administrator computer.
ÂÂ iPhoneConfigurationUtility.pkg
Use this package to install software that makes and distributes iPhone configuration
files.
ÂÂ Two developer tools: PackageMaker and Property List Editor
The computer must install from the same disk or image that started up the computer.
Mounting another share point with an installer won’t work. The installer uses some of
the files currently active in the booted system partition for the new installation.
Before Starting Up
If you’re performing a clean installation rather than upgrading an existing server, back
up any user data that’s on the disk or partition where you’ll install the server software.
If you’re upgrading an existing server, make sure that saved setup data won’t be
detected and used to set up the server. Server Assistant looks for saved setup data on
all mounted disks and in all directories the server is configured to access. The saved
setup data will overwrite the server’s existing settings.
For more information about automatic server setup, see “Using Automatic Server
Setup” on page 115.
Installer application
or
installer tool in
Terminal application
If the target server is an Xserve with a built-in DVD drive, start the server using the
Install DVD by following the instructions in Xserve User’s Guide for starting from a
system disc.
If the target server has no built-in DVD drive, you can use an external FireWire DVD
drive. You can also install server software on an Xserve system that lacks a DVD drive
by moving its drive module to another Xserve system that has a DVD drive.
This method is suited to installing on computers that you do not have easy physical
access to. With sufficient preparation, this method can be modified for easy mass
deployment of licensed copies of Mac OS X Server.
To use this method, you must have an existing installation of some kind on the
computer. It is intended for environments where a level of existing infrastructure of
Mac OS X Server is present, and might be unsuitable for a first server installation.
For more information about preparing and partitioning a hard disk, see the Disk Utility
help.
For example, the first command creates the disk image Installer.dmg from the device
at disk1s1. The second command scans the image Installer.dmg and readies it for
restore.
hdiutil create -srcdevice disk1s1 Installer.dmg
asr imagescan --source Installer.dmg
The asr tool can also fetch the target image from an HTTP server using http or https
URLs as its source, so the image doesn’t need to reside on the target computer. For
more information about asr and its capabilities, see the asr man page.
For example, restoring an image called Installer.dmg to the partition ExtraHD would
be:
sudo asr restore -s Installer.dmg -t ExtraHD --erase
Server Assistant allows you to view and configure the server installation with the same
user interface you would see if you were installing locally. Server Assistant runs on
Mac OS X v10.6 and Mac OS X Server v10.6.
VNC enables you to use a VNC viewer (like Screen Sharing or Apple Remote Desktop)
to view the user interface as if you were using the remote computer’s keyboard,
mouse, and monitor. All the things you could do at the computer using the keyboard
and mouse are available remotely, as well as locally. This excludes hardware restarts
(using the power button to shut down and restart the computer), other hardware
manipulation, or holding down keys during startup. VNC viewers are available for all
popular computing platforms.
SSH enables you to have command-line access to the computer with administrator
privileges.
To find a server’s serial number, look for a label on the server. If you’re installing on
an older computer that has no built-in hardware serial number, use 12345678 for the
password.
If you replace a main logic board on an Intel Xserve, the built-in hardware password is
“System S” (no quotes).
The target server’s IP address is assigned by a DHCP server on the network. If no DHCP
server exists, the target server uses a 169.xxx.xxx.xxx address unique among servers on
the local subnet. Later, when you set up the server, you can change the IP address.
If you don’t know the IP address and the remote server is on the local subnet, you
can find servers that are awaiting install finding the the Bonjour service name
“_sa-rspndr._tcp.”
This command returns the IP address and the EthernetID (in addition to other
information) of servers on the local subnet that have started up from the installation
disk.
Similarly, servers awaiting setup use the service name “_svr-unconfig._tcp.” and can be
found by entering:
dns-sd -B _svr-unconfig._tcp.
Mac OS X Destination
Administrator
Server
computer
Target servers
This method can also be used in environments where large numbers of servers must
be installed in an efficient manner.
This section won’t tell you how to create the necessary NetBoot infrastructure. If you
want to set up NetBoot and NetInstall options for your network, servers, and client
computers, see the manuals at www.apple.com/server/resources/.
This section has instructions to create a NetInstall image from the Mac OS X Server
Install Disk and start a server from it. There is no need to make preparations to the
hard disk.
Upon completion, you can use this image with an existing NetBoot server to start up a
server for installation.
For more information about NetInstall images and System Image Utility, including
customization options, see the documentation at www.apple.com/server/resources/.
An HFS+J volume has an optional journal to speed recovery when mounting a volume
that was not unmounted safely (for example, as the result of a power outage or
crash). The journal makes it easy to restore the volume structures to a consistent state,
without scanning all structures.
The journal is used only for volume structures and metadata. It does not protect the
contents of a fork. In other words, this journal protects the integrity of the underlying
disk structures, but not data that is corrupted due to a write failure or catastrophic
power loss.
More information about HFS+J can be found in Apple’s Developer Documentation at:
developer.apple.com/documentation/MacOSX/Conceptual/BPFileSystem/Articles/
Comparisons.html
If you are planning to use NFS, you should use case-sensitive HFSX.
An HFSX volume can be case sensitive or case insensitive. Case sensitivity (or lack
thereof ) is global to the volume. The setting applies to all file and directory names on
the volume. To determine whether an HFSX volume is case-sensitive, use Disk Utility to
examine the format of the disk.
Note: Do not assume that an HFSX volume is case sensitive. Always use Disk Utility to
determine case sensitivity or case insensitivity. Additionally, don’t assume your third-
party software solutions work correctly with case sensitivity.
Partitioning the hard disk creates a volume for server system software and additional
volumes for data and other software. Partitioning erases previous contents of the disk.
Erasing a disk is another way of saying that you have given a disk a single volume
partition and erased that volume.
∏∏ Tip: Having an extra, empty partition or two on the target installation disk can give
you additional flexibility in installation and deployment. For example, additional space
can give you a place to temporarily mirror your current installation before performing
an in-place update, or it can give you a fast installer disk.
You can select an existing partition and choose resize, Add (+), or Delete (–). However,
you can’t delete or resize the startup partition. You also can’t select the startup volume
and then choose an entirely new partition scheme from the pop-up menu.
Just like using Disk Utility, you can erase the target volume using the Mac OS Extended
format, Mac OS Extended (Journaled) format, Mac OS Extended format (Case-Sensitive)
format, and Mac OS Extended (Journaled, Case-Sensitive) format.
You cannot delete or resize the active startup disk or erase the active startup volume.
The specific command issued depends on your disk format needs and the hardware in
use. Take care to use command-line arguments that apply to your specific needs.
The following command is a sample, which partitions a computer’s only 120 GB hard
disk into two equal 60 GB journaled HFS+ volumes (“BootDisk” and “DataStore”), which
can start up an Intel-based Mac computer.
For example, a mirrored RAID set increases reliability by writing your data to two or
more disks at once. If one disk fails, your server uses another disk in the RAID set.
You can use Disk Utility to set up a RAID set. There are two types of RAID sets and one
additional disk option available in Disk Utility:
ÂÂ A striped RAID set (RAID 0) splits files across the disks in the set. A striped RAID
set improves the performance of your software because it can read and write on
all disks in the set at the same time. You might use a striped RAID set if you are
working with large files, such as digital video.
ÂÂ A mirrored RAID set (RAID 1) duplicates files across the disks in the set. Because
this scheme maintains copies of the files, it provides a continuous backup of them.
In addition, it can help keep data available if a disk in the set fails. Mirroring is
recommended if shared files or applications must be accessed frequently.
You can set up RAID mirroring after installing Mac OS X Server if you install on a disk
that isn’t partitioned. To prevent data loss, set up RAID mirroring as soon as possible.
ÂÂ A concatenated disk set lets you use several disks as a single volume. This is not a
true RAID set and offers no redundancy or performance increase.
The RAID sets you combine must be created with Disk Utility or diskutil in Mac OS X
v10.4 or later.
You cannot mix the method of partitioning used on the disks in a RAID set. (The PPC
platform is APMFormat and the Intel platform is GPTFormat.)
Mac Pro desktop computers and Intel-based Xserves can start from a software RAID
volume. Some Intel-based Macs do not support starting up from software RAID
volumes. If you start Intel-based Macs from a software RAID volume, the computer
might start up with a flashing question mark.
The following computers do not support starting up from software RAID volumes:
ÂÂ iMac (Early 2006)
ÂÂ Mac mini (Early 2006)
RAID set volumes can be Mac OS Extended format, Mac OS Extended (Journaled)
format, Mac OS Extended format (Case-Sensitive) format, Mac OS Extended (Journaled,
Case-Sensitive) format, and MS-DOS FAT format. For more information about volume
formats, see “Preparing Disks for Installing Mac OS X Server” on page 92.
You can use diskutil to can create a RAID volume that is Mac OS Extended format,
Mac OS Extended (Journaled) format, Mac OS Extended format (Case-Sensitive) format,
Mac OS Extended (Journaled, Case-Sensitive) format, or MS-DOS FAT format. However
keep in mind the following:
ÂÂ You cannot create a RAID from the startup disk.
ÂÂ When creating RAID sets or adding disks, specify the entire disk instead of a
partition on that disk.
ÂÂ All potentially destructive diskutil operations must be done with superuser or root
privileges.
For complete command syntax for diskutil, consult the tool’s man page.
Use command-line arguments that apply to your specific needs. The following
command is a sample, which creates a single mirrored RAID set (RAID 1) from the first
two disks installed in the computer (disk0 and disk1), with the resulting RAID volume
called MirrorData.
Installer application
or
installer tool in
Terminal application
If you have an Install DVD, the optical drive must be able to read DVD discs.
You can also install directly onto a computer that lacks a display, keyboard, and
optical drive capable of reading your installation disc. In this case, you start the target
computer in target disk mode and connect it to an Intel-based administrator computer
using a FireWire cable.
You use the administrator computer to install the server software on the target
computer’s disk or partition, which appears as a disk icon on the administrator
computer.
Subnet 1
Subnet 2
After the computer starts up from the Install Disk, you can control and manage the
server from an administration computer.
To use the Installer user interface, use VNC to view and interact with the remote
installer. For more information, see “Installing Remotely with Screen Sharing and
VNC” on page 102.
You don’t need to be an administrator on the local computer to use Server Assistant.
After installation is complete, the target server restarts and you can perform initial
server setup. Chapter 6, “Initial Server Setup” describes how.
You can partition the hard disk into multiple volumes, create a RAID set, or erase the
target disk or partition.
The process for remotely installing with VNC is the same as installing locally at the
keyboard and monitor, except that you must first connect to the VNC server on the
target computer with a VNC client, like Apple Remote Desktop.
Important: If you perform an upgrade, make sure that saved setup data won’t be
detected and used by the server. If saved setup data is used, the server settings are
not compatible with the saved settings and can cause unintended consequences. For
more information, see “How a Server Searches for Saved Setup Data Files” on page 118.
After installation is complete, the target server restarts and you can perform initial
server setup. Chapter 6, “Initial Server Setup,” on page 108 describes how.
The tool Apple Remote Desktop can change a computer’s startup disk. Apple Remote
Desktop is not included with Mac OS X Server, and is available separately for purchase.
These instructions assume you started up the computer using the Install DVD, installer
partition, or NetInstall disk. If not, see “About Starting Up for Installation” on page 84.
If you don’t know the IP address or DNS name of the server, see “Identifying Remote
Servers When Installing Mac OS X Server” on page 90.
2 For the password, enter the default password for installation.
This is usually the first eight characters of the server’s built-in hardware serial number.
For more information about this password, see “About Server Serial Numbers for
Default Installation Passwords” on page 90.
3 Identify the target server volume where you want to install the server software.
To list the volumes available for server software installation from the installation disc,
type:
/usr/sbin/installer -volinfo -pkg /System/Installation/Packages/
OSInstall.mpkg
You can also identify a NetInstall image you’ve created and mounted:
/usr/sbin/installer -volinfo -pkg /Volumes/<name_of_install_image>/
System/Installation/Packages/OSInstall.mpkg
The list displayed reflects your particular environment, but here’s an example showing
three available volumes:
/Volumes/Mount 01
/Volumes/Mount1
/Volumes/Mount02
You can also use diskutil to partition the volume and to set up mirroring. For more
information about the command, see the diskutil man page.
Important: Don’t store data on the hard disk or hard disk partition where the
operating system is installed. With this approach, you won’t risk losing data if you need
to reinstall or upgrade system software. If you must store additional software or data
on the system partition, consider mirroring the drive.
5 Install the operating system on the target volume.
For example, to use Mount 01 in the example in step 4 to install from a server
installation disc, enter:
/usr/sbin/installer -verboseR -lang en -pkg /System/Installation/
Packages/OSInstall.mpkg -target "/Volumes/Mount 01"
If you’re using a NetInstall image, the command identifies them as step 3 shows.
When you enter the -lang parameter, use one of the following values: en (for English),
de (for German), fr (for French), or ja (for Japanese).
During installation, progress information appears. While installation proceeds, you can
open another Terminal window to install server software on another computer.
6 When installation from the disc is complete, restart the server by entering:
/sbin/reboot
or
/sbin/shutdown -r
Server Assistant opens on the target computer when installation is complete. You can
now set up the server. For more information, see Chapter 6, “Initial Server Setup.”
However, scripting the command-line tool (using known values for server IP addresses,
for example) to automate multiple simultaneous installations can be very efficient.
To completely automate server installation, you must script the installer tool and
have a high measure of control over the network infrastructure.
For example, to have known IP addresses and the appropriate hardware serial
numbers included in your script, you cannot rely on the randomly assigned IP
addresses. You can use DHCP assigned static addresses to remove that uncertainty and
ease your scripting considerations.
Additionally, you can create a NetInstall server on the target servers’ local network
that can install an operating system. If you combine this with saved auto setup files,
you can easily automate installation of multiple computers without much human
interaction.
The methods, scripting languages, and possibilities are too many to list in this guide.
You can use VNC viewer software or the installer tool to initiate multiple server
software installations.
When you upgrade from the latest Mac OS X Server v10.5 or v10.4.11, Server Assistant
displays existing server settings, but you can change them. Use the Installation & Setup
Worksheet to record settings you want the v10.6 server to use.
108
If you’re setting up a server without a keyboard or display, you can enter the following
in the Terminal application to shut down the server remotely:
sudo shutdown now
If you can’t avoid moving a server after initial setup, you must change settings that are
sensitive to network location before it can be used. For example, the server’s IP address
and DNS name, stored in directories and configuration files on the server, must be
updated. For more information, see “Changing the Server’s DNS Name After Setup” on
page 144.
When you’re using Server Assistant to interactively set up servers, all of a server’s
available Ethernet ports are listed and you select them to activate and configure. When
you work in Server Assistant’s offline mode, you click an Add button to create a list of
ports to configure.
If you enable more than one port, you specify the order for the ports to be used by the
server when routing traffic to the network. Although the server receives network traffic
on any active port, network traffic initiated by the server is routed through the first
active port.
For a description of port configuration attributes, see the Installation & Setup Worksheet
from the Install DVD or the Administration Tools CD.
If you’re upgrading, the current settings are maintained through the setup
process. Other settings, such as share points you’ve defined and services you’ve
configured, are also preserved. For a complete description of what’s upgraded
and actions, see the online help and Mac OS X Server Resources website at
www.apple.com/server/macosx/resources/.
You can perform initial server setup only once without reinstalling a server. To change
settings established during setup, you use Server Admin, Workgroup Manager, or
Directory Utility (in /System/Library/CoreServices/) to manage directory settings.
If you’re setting up multiple servers and one or more will host a shared directory,
set up those servers before setting up servers that will use those shared directories.
When you set up a server initially, you specify its directory services configuration.
Choices are:
ÂÂ Create Users and Groups
This setting makes the server an Open Directory Master or uses the server’s local
users and groups for authentication.
After setup, use Server Admin or the Login Options section of Account preferences
of System Preferences to refine the server’s directory configuration, if necessary. You
can create or change a connection to a directory system by using Login Options. You
can use Accounts preferences to set up connections to multiple directory servers,
including Open Directory and Active Directory. You can make the server an Open
Directory master or replica by using Server Admin to change the server’s Open
Directory service settings.
From Accounts preferences, you can open Directory Utility if you need to set up
connections to other kinds of directory servers or specify the search policy. Directory
Utility lets you set up connections to other non-Apple directory systems and specify a
search policy (the order in which the server should search through the domains).
For information about changing directory services, see the online help and
Mac OS X Server Resources website at www.apple.com/server/macosx/resources/.
For information about directory usage options available to you and how to use
Directory Utility (in /System/Library/CoreServices/) and Server Admin to make
directory changes, see the online help and Mac OS X Server Resources website at
www.apple.com/server/macosx/resources/.
Users and groups are managed in the Accounts pane of System Preferences.
When a user attempts to log in to the server or use a service that requires
authentication, the server authenticates the user by consulting the local database.
If the user has an account on the system and supplies the relevant password,
authentication succeeds.
To get this configuration, you choose Create Users and Groups from the assistant,
but decline to create an Open Directory Master.
For more information on making saved server setup data, see “Using Automatic Server
Setup” on page 115 and “Creating and Saving Setup Data” on page 116.
You can also bind to multiple directories interactively after initial server setup by using
the Login Options section of Accounts Preferences.
Server Assistant will display the Network pane separately for each server you’re setting
up remotely, even if you’re setting up a list of servers. You then enter all network
settings manually, if necessary. You provide server setup data interactively, then initiate
setup immediately.
Set up DNS and DHCP (if used for static IP address allocation) for your servers before
setup. While not strictly mandatory, doing so will simplify the setup and post-setup
processes. For example, if the server’s DNS name is already associated to an IP address
(with reverse lookup), and the IP address will be allocated to the server’s MAC address
by a DHCP server on the network, you will already have needed information for setup
without doing the additional manual configuration work during and after setup.
Welcome Welcome
Welcome
Subnet 1
Subnet 2
If a target server is on a different subnet, you must supply its IP address or DNS name.
Servers on the same subnet are listed by Server Assistant, so you select servers from
the list.
After server software is installed on a server, you can use the interactive approach
to set it up remotely from an administrator computer that can connect to the target
server.
You can keep backup copies of setup data files on a network file server. Alternatively,
you can store setup data files in a local partition that won’t be erased when you
reinstall server software.
To use automatic server setup, you use Server Assistant to specify setup data for each
computer or batch of computers.
Finally, you provide that setup data to the target servers. You can provide the data
using a variety of methods, like storing files on the hard disk or removable storage.
By default, saved setup data is encrypted for extra security.
When a server starts up for the first time, it searches for automatic setup data to
configure itself before it starts the interactive Setup Assistant.
The best way to create setup data is to use Server Admin to launch Server Assistant,
which lets you work with setup data without connecting to specific servers. You
specify setup data and then save it in a file. Target servers where Mac OS X Server v10.6
software has been installed detect the presence of the saved setup information and
use it to set themselves up.
Important: When you perform an upgrade, make sure that saved setup data won’t be
detected and used by the server. If saved setup data is used, existing server settings
are overwritten by the saved settings.
If you intend to create a generic setup file because you want to use the file to set
up more than one server, don’t specify network names (computer name and local
hostname) and make sure that each network interface (port) is set to be configured
using DHCP or BootP.
For interactive setup, the passphrase is entered using Server Assistant during setup.
If you want to store the password for non-interactive setup, the file containing the
passphrase file should be named the same as the saved setup data. Put the text file
containing the passphrase in the same folder as the corresponding auto setup profile
but with a “.pass” extension.
If a saved setup data profile contains multiple network connection services, Server
Assistant tries to match hardware (MAC) addresses. Failing that, it tries to match
interface (BSD port) names. If a profile has multiple conditions, it applies to a computer
that satisfies any of them.
Important: When you perform an upgrade, make sure that saved setup data won’t be
detected and used by the server you’re upgrading. If saved setup data is used, existing
server settings are overwritten by the saved settings.
To have the server configure itself without further input, place the previously
generated auto setup data file in a location where target servers can detect it.
To reuse saved setup data after reinstalling a server, store the server’s setup files on a
different local partition that isn’t erased when you reinstall the server. The setup files
are detected and reused after each reinstallation.
Important: Saved setup files cannot be applied after a server has restarted after
installation and is awaiting setup. Automatic setup data needs to be in place before a
server begins setup.
If you do not have an existing local partition where the saved setup file can be
stored during installation, you need to copy the setup file to the target server after
installation and then restart the target server. This allows the server to search for the
setup data when it starts up.
For more information on where the server looks for setup data, see “How a Server
Searches for Saved Setup Data Files” on page 118.
If you have not previously created saved setup data, see “Creating and Saving Setup
Data” on page 116.
If the setup data is encrypted, make the passphrase available to target servers.
For more information, see “Using Encryption with Setup Data Files” on page 118.
2 Copy the saved setup file from the administrator computer to the remote target
computer.
The password is the same for ssh connections during installation. For more
information abotu passwords, see “About Server Serial Numbers for Default Installation
Passwords” on page 90.
scp <local setup file> root@<server address>:"/Auto\ Server\ Setup"
If you are setting up the target server remotely, you are given the option to share its
screen and interact via the Server Assistant.
If setup fails because a passphrase file can’t be found when using setup data saved in
a file, you can:
ÂÂ Use Server Assistant (if installing locally) or Screen Sharing (if installing remotely) to
supply a passphrase interactively.
ÂÂ Supply the passphrase in a text file and restart setup.
For information on how to supply the passphrase, see “Using Encryption with Setup
Data Files” on page 118
If a remote server setup fails for any other reason, repeat initial setup before trying to
reinstall the server software.
If a local server setup fails, restart the computer, rerun Server Assistant, and reinitiate
setup, or reinstall the server software.
You add services for administration and configure services using Server Admin and
add users and groups using Workgroup Manager.
Before you can enable or configure and service in Server Admin, it must be added to
the administered service list.
The following sections survey initial setup of individual services and tell you where to
find instructions for tailoring services to support your needs.
The first time you launch Server Admin and connect to a new server, you are
prompted to select the services you want to set up and configure on that server.
When you select services from the list, those services appear underneath the server
hostname in the server list.
You can run command-line tools from the Terminal Application (in
/Applications/Utilities/) on any Mac OS X Server or Mac OS X computer. You can also
run command-line tools from a UNIX workstation.
124
In the following illustration, the arrows originate from administrator computers and
point to servers the administrator computers might be used to manage.
Mac OS X
administrator computer
Mac OS X Servers
When you’ve installed and set up a Mac OS X Server that has a display, keyboard,
and optical drive, it’s already an administrator computer. To make a computer with
Mac OS X into an administrator computer, you must install additional software.
You can also use any computer that can run a VNC viewer to administer
Mac OS X Server. Administering the server via VNC is the same as using the server’s
keyboard, mouse, and monitor locally.
Using Mac OS X Server v10.6 will not administer DNS hosted on a server version earlier
than v10.6.
In addition, other ports must be enabled for each service you want to run on your
server. For a port reference guide, see the online help and Mac OS X Server Resources
website at www.apple.com/server/macosx/resources/.
You can add a server to the Servers list and log in to it in two ways:
ÂÂ Click the Add (+) button in the bottom action bar and choose Add Server.
ÂÂ Choose Server > Add Server from the menu bar.
The next time you open Server Admin, any server you’ve added is displayed in the list.
To change the order of servers in the list, drag a server to the new location in the list.
You can remove a server from the Servers list in a similar fashion. First you select the
server to remove, then do one of the following:
ÂÂ Click the Perform Action button in the bottom action bar and choose Disconnect
then Remove Server.
ÂÂ Choose Server > Disconnect, and then choose Server > Remove Server from the
menu bar.
You can make more specific, targeted groups of servers from your All Servers list. First,
create blank lists and then add servers to them from the All Servers list.
After you create a smart group, any server added to the All Server list (or other
specified list) that matches the criteria is added to the smart group.
When you click Settings, you have access to the following panes:
ÂÂ General pane: Click General to work with the server serial number or to enable
Simple Network Management Protocol (SNMP), Network Time Protocol (NTP),
Secure Shell (SSH), Remote Management, and server-side mobile home-sync
feature support.
SNMP is a standard that facilitates computer monitoring and management.
The server uses the open source net-snmp project for its SNMP implementation.
Although no server administration tools use or require SNMP, it enables the server to
be monitored and managed from third-party SNMP software such as HP OpenView.
Use the NTP checkbox to enable NTP service. For information about NTP,
see the online help and Mac OS X Server Resources website at
www.apple.com/server/macosx/resources/.
SSH is a shell you can use to access command-line tools to remotely administer
the server with. Mac OS X Server uses the open source OpenSSH project for its SSH
implementation. SSH is also used for other remote server administration tasks, such
as initial server setup, Sharing management, and displaying file system paths and
the contents of folders in the server administration tools. SSH must be enabled
while creating an Open Directory replica, but it can be disabled afterwards.
Remote Management allows the server to be administered by Apple Remote
Desktop (ARD). You enable and disable ARD administration in this pane in addition
to the Sharing pane of System Preferences.
Client Binding Discovery with Bonjour offers directory services to client computers
on the local subnet, allowing the users to choose whether to bind to the server.
DNS
For a server not hosting DNS, changing a server’s IP address requires changes to the
data in the DNS server. Minimally, the server’s NS, A, and PTR records must be changed.
Because the DNS information for the server is hosted elsewhere, those records must be
updated manually on the DNS server.
If the server is a DNS server, use the tool changeip to change the NS, A, and PTR
records. Changing a DNS server’s IP address directly impacts any client computer
that uses the DNS server. For example, the DNS server’s IP address could be provided
to DHCP clients automatically, so all DHCP clients rely on the DNS server’s correct IP
address. All DNS names for all domains hosted by the DNS server must be examined.
Because of DNS caching, many clients might not respond to changes in the DNS
system as quickly as needed. To expedite DNS server setting propagation, update all
wireless access points, DHCP servers, manually configured IP address clients, and DHCP
address clients by restarting them or renewing their DHCP leases.
In summary, clients that refer to the DNS server’s IP address for name resolution need
to be updated to use the new IP address.
Changing a server’s DNS name or domain impacts all other services that rely on the
server’s domain name resolving correctly in DNS. The affected services include:
ÂÂ Directory service
ÂÂ Kerberos service and Kerberos Realm names
ÂÂ WINS server names
ÂÂ DHCP supplied search domains
DHCP
Changing the IP address of a DHCP server might invalidate all subnets and static IP
addresses handled by the server. Additionally, the change in IP address might result in
unreachable search domain names, WINS server names, or LDAP URLs. Examine these
settings, if needed.
Many clients might not respond to the changes in the DHCP system immediately.
After a DHCP server change, update all wireless access points, manually configured IP
address clients, and DHCP address clients by restarting them or renewing their DHCP
leases.
Changing the domain name of a DHCP server could also make obsolete the search
domain names, WINS server names, or LDAP URLs. Changing the only hostname
segment to a fully qualified domain name might not have the same effect.
If you have set up a Kerberos environment, the Kerberos realm does not change when
the hostname is changed.
Firewall
Changing the IP address of the Firewall can significantly alter the effectiveness of the
service. In Mac OS X Server v10.6, IP firewall rules are stored and referenced as address
groups. A change to the IP address of the firewall server might prevent traffic to the
address groups from being routed, and therefore none of the specific firewall rules
would be applied.
Check all firewall rules when changing the IP address of the firewall server.
However, proxy services are affected if the IP address or DNS name of the destination
servers changes. If you change a proxied services’ name or address, you must
reconfigure Proxy Service.
If you configured an HTTP Secure Proxy virtual host, you must delete and re-create the
proxy mappings of any proxied servers.
NAT
NAT should not be affected by a change to the server’s IP address or DNS name.
All clients behind the NAT server still have contact with the NAT router by the internal
IP address. If you made manual modifications to the NAT service configuration files,
make sure those changes are compatible with the new IP address or DNS name.
NetBoot
NetBoot does not require reconfiguration after changing the IP address or DNS name.
However, all clients that use it must reselect the server after the changes.
RADIUS
If you change the RADIUS server IP address, you might need to check or reconfigure
the IP addresses of the associated base stations. Additionally, if you’re using SSL
certificates, you must regenerate or repurchase the certificates. You must use Server
Admin to import the new certificates, and then configure the service’s new certificate.
Check all the VPN settings when changing the IP address of the VPN server.
Generally, these services in the initial default configuration are resilient and adjust to
changes made to the IP address or the server name. However, if your web services
are customized, they might need manual configuration changes to maintain service
integrity.
Web
If you change the web server’s DNS name or IP address, you must modify the domain
name and web server aliases. You should also check the site load balancer members.
If you change the web server’s DNS name, you must modify virtual hosts that use
SSL. Virtual hosts that use SSL need new certificates. You might need to regenerate
or repurchase the certificates. Use Server Admin to import the new certificates, then
configure each virtual host’s new name and certificate.
If you change the web server’s IP addresses, use Server Admin to change any virtual
hosts that use a specific IP address. The default wild-card virtual host doesn’t need to
be modified.
For either change, if you configured Mobile Access for web (or possibly other proxy
settings), delete and recreate the proxy settings for all affected hosts.
If you set a database root password, there might be entries in the database GRANT
table (database=mysql, table=user) that refer to the previous server DNS name. In this
case, use Server Admin to reset the root password, which will then reflect the current
server identity.
Server administrators should make sure that MySQL clients that have saved references
to the DNS name of the MySQL Service are updated to reflect any change in the server
identity.
QTSS
The typical default configuration will not need further configuration after changing
the DNS name or IP address of QTSS. If you configured specific IP bindings, change
those to the new address and restart the service. Relays you defined might have
invalid IP addresses after an IP address change.
Wiki
Wiki service remains unaffected by a change in the IP address, assuming Apache is still
functioning and DNS names change.
However, wikis can be configured to specific DNS names. If you manually edited
configuration files to restrict wiki access to DNS names, make the relevant changes in
those files.
Finally, you might have other software that interfaces with file servers (for example,
automated scripts) and refers to old DNS names and IP addresses. Update those
applications or scripts as well.
Most mail services require a restart after changing a DNS name or IP address of the
mail server. If you manually changed configuration files, you might need to edit them
manually again. Additionally, some mail services require a full shutdown and startup
(rather than a simple service reload) to get the address and identity changes.
There are many places in the mail services configuration panes where you enter
domain names, mail host names, relay host names, and mail addresses. Any change
you make to the DNS name could potentially have an affect on the service. Double-
check name and IP address settings carefully.
You must also restart if you manually edited the listen or ssl_listen parameters.
SMTP
Postfix, the SMTP service, is very sensitive to network address and identity changes.
The information it stores about the DNS name, the IP address, and network interfaces
is only loaded once at service startup. To resume service after a change to the DNS
name or the IP address, you must fully stop the service, and restart it.
You must also restart it if you manually edited the inet_interfaces, inet_protocols,
smtp_bind_address, myhostname, or mydomain configuration parameters.
Mailing List
Mailman, the mailing list service, tracks the incoming and outgoing mail hosts by
reading them on startup. If you change the hostname or IP address, restart Mailman
for it to honor the configuration changes.
SpamAssassin, the anti-spam service, gets its configuration information at startup and
can reload configuration data while running. To load new configuration data, restart
SpamAssassin or give it a SIGHUP command, at a minimum.
Changing the DNS name of an Address Book server necessitates restarting the service.
If you manually edited the ServerHostName setting in the carddavd.plist file, you
might need to do so again before restarting the service.
iCal Service
The iCal Server is based on the same underlying technology as the Address Book
Server, so the needs are the same.
Changing the IP address of an iCal server does not affect new connections to the
server; however, it can disconnect existing client connections. If you manually edited
the BindHTTPPorts or BindSSLPorts options in the caldav.plist file, you must edit them
again and restart the service.
Changing the DNS name of an iCal server necessitates restarting the service. If you
manually edited the ServerHostName setting in the caldavd.plist file, you might need
do so again before restarting the service.
iChat Service
The iChat service is highly resilient to network and identity changes on the primary
Ethernet port. No additional configuration is necessary if you’ve changed the DNS
name or IP address of the iChat server.
However, the jabber IDs associated with the server do not update to the new iChat
server DNS name. For example, changing the server from example.com to example.net,
Joe’s jabber ID ([email protected]) doesn’t migrate to [email protected].
The jabber IDs for service users can be changed using the jabber_autobuddy tool.
The tools modifies the database by changing the @host.com part of user names
associated with the old domain to reflect the new domain, as well as secondary
references (individual- and group-based buddies) that reference the old domain.
For more information on how address and identity changes affect DNS and directory
services, see “Understanding IP Address or Network Identity Changes on Infrastructure
Services” on page 133.
Changing the IP address or DNS name might necessitate changing settings for the
following services and software:
ÂÂ DNS server
ÂÂ Open Directory server
ÂÂ Xgrid Controller
ÂÂ NFS file service
ÂÂ Xsan and its MDC configuration (if used for file storage)
ÂÂ Mail Services (if used by a workflow)
ÂÂ Wiki Server (if used by a workflow)
ÂÂ iChat Server (if used by a workflow)
ÂÂ QMaster (if used by a workflow)
ÂÂ Final Cut Server (if used by a workflow)
You can reduce the number of services to reconfigure by initially defining an alias
record in DNS (a CNAME record) and using the DNS name alias as the DNS name for
configuration purposes.
If any listed servers use SSL, they will need new certificates. You might need to
regenerate or repurchase the certificates. Use Server Admin to import the certificates,
then configure each service’s new certificate.
After Software Update changes the DNS name or IP address, a number of changes
must be made by the clients. However, the following guidelines for the server should
be followed.
Print
Print service needs no changes if the IP address changes. If the DNS name changes,
the administrator must restart print service to re-register the service with Bonjour to
publish the name change.
If you assigned per-queue printing quotas to user accounts, update the account
quotas to reflect the new server DNS name if needed.
Also, make sure that printing clients that have saved references to the DNS name of
print queues are updated to use the new DNS name.
Push Notification
Push notification servers should be cleared or removed from the service before
changing the server’s IP address or DNS name.
Also, make sure clients that saved references to the DNS name of the Software Update
server are updated to use the new DNS name.
Xgrid
Xgrid service must be restarted after changes are made to the DNS name or the IP
address of the service. Changes to the DNS name or IP address should be made when
the Xgrid job queue is empty and stopped.
If you use Kerberos for client authentication to the controller, resolve Kerberos
configuration issues before attempting to reconfigure for Xgrid service.
If you change the DNS name of the controller, reconfigure all Xgrid Agents to use the
new controller’s new DNS name.
Do not turn off the primary network interface and then turn it back on with a
different address. Several services will not get the needed notification to update their
configuration.
Until the server’s DNS name matches the name with the DNS service provider, several
services will not function. Changing your DNS name can have significant unintended
consequences, depending on the services your server provides.
For information on the effects of changing the DNS name, see “Understanding
Changes to the Server IP Address or Network Identity” on page 132.
The DNS name is the Internet host name, which is a fully qualified domain name. Only
the DNS name is the Internet-routable name that services use for network identity.
You can use the scutil command-line tool to set the computer name and local
hostname. For more information, see the scutil man page.
Do not use the changeip command-line tool to change DNS names, even though the
tool is still available.
The local hostname is a domain name, usable only on the local network, and is
published to other services which are Bonjour-aware.
Do not use the changeip command-line tool to change computer names, even though
the tool is still available.
Administering Services
To work with a service on a server selected in the Servers list of Server Admin,
click the service in the list under the server. You can view information about a service
(logs, graphs, and so forth) and manage its settings.
To start or stop a service, select it and then click Start <service name> or Stop <service
name> in the bottom action bar.
Access controls are simple. Choose between allowing all users and groups to use
services or allowing selected users and groups to use services. You can separately
specify access controls for individual services, or you can define one set of controls
that applies for all services that the server hosts.
The following shows the Service Access Control List pane in Server Admin:
If you want a greater level of security, also select “Require valid digital signature (SSL).”
By default, “Require valid digital signature (SSL)” is disabled. This option uses an SSL
certificate installed on a remote server to ensure that the remote server is a valid
server.
Before enabling this option, use the instructions in “Requesting a Certificate from a
Certificate Authority” on page 65 for generating a CSR, obtaining an SSL certificate
from an issuing authority, and installing the certificate on each remote server.
Instead of placing files in /etc/httpd/, place them in /etc/servermgrd/. You can also
generate a self-signed certificate and install it on the remote server.
You can use Server Admin to set up and manage self-signed or -issued SSL certificates
used by mail, web, Open Directory, and other services that support them.
Managing Sharing
To work with share points and access control lists, click the File Sharing icon in the
Server Admin toolbar. Learn more in the online help and Mac OS X Server Resources
website at www.apple.com/server/macosx/resources/.
Any user or group can be given these permissions for all services or for selected
services. The permissions are stored on a per-server basis.
The only users that can change the tiered administration access list are users that are
in the UNIX admin group.
Because the feature is enforced on the server side, the permissions also impact the
usage of serveradmin, dscl, dsimport, and pwpolicy command-line tools because these
tools are limited to the permissions configured for the administrator in use.
To assign permissions:
1 Open Server Admin.
2 Select a server, click the Settings button in the toolbar, and then click the Access tab.
3 Click the Administrators tab.
4 Select whether to define administrative permissions for all services on the server or for
select services.
5 If you define permissions by service, select the related checkbox for each service you
want to turn on.
If you define permissions by service, be sure to assign administrators to all the active
services on the server.
6 Click the Add (+) button to add a user or group from the users and group window.
To remove administrative permissions, select a user or group and click the Remove (-)
button.
7 For each user or group, select the permissions level next to the user or group name.
You can choose Monitor or Administer.
The capabilities of Server Admin to administer the server are limited by this setting
when the server is added to the Server list.
When you open Workgroup Manager on the server you’re using without
authenticating, you have read-only access to information displayed in the local
domain. To make changes, click the lock icon to authenticate as a server administrator.
This approach is most useful when you’re administering various servers and working
with several directory domains.
Use this approach when you work most of the time with a specific server.
After opening Workgroup Manager, you can open a Workgroup Manager window for
a different computer by clicking New Window in the toolbar or choosing Server >
Connect.
Important: When you connect to a server in Workgroup Manager, make sure the long
or short user name you specify matches the capitalization in the user account. It is case
sensitive.
Administering Accounts
User accounts and group memberships are not administered in Server Admin. You use
Workgroup Manager to add and remove users and groups.
Initially, accounts listed are those stored in the last directory node of the server’s
search path. When you use other Workgroup Manager windows, such as Preferences,
click Accounts in the toolbar to return to the account window.
To specify the directories that store accounts you want to work with, click the small
globe icon. To work with different accounts in different Workgroup Manager windows,
click New Window in the toolbar.
To administer the accounts listed, click the Users, Groups, Computers, or Computer
Groups button on the left side of the window. You can filter the accounts listed by
using the pop-up search list above the accounts list.
To simplify defining an account’s initial attributes when you create the account,
use presets. A preset is an account template.
To create a preset, select an account, set up all the values the way you want them,
then choose Save Preset from the Presets pop-up menu at the bottom of the window.
To work with only accounts that meet specific criteria, click Search in the toolbar.
The Search features include the option for batch editing selected accounts.
To import or export accounts, select the accounts, then choose Server > Import or
Server > Export, respectively.
Click Details to use the preference editor to work with preference manifests.
The following is a sample of the preference editor sheet in Workgroup Manager:
For more information about creating a backup and restore policy, see “Defining Backup
and Restore Policies” on page 31.
The following is a list of configuration and data files for services available on
Mac OS X Server.
Time Machine backs up service states and configuration files, but not files with your
created data. To see which services Time Machine backs up, see “Understanding Time
Machine as a Server Backup Tool” on page 36.
General
File type Location
Service states /System/Library/LaunchDaemons/*
SSH configuration files and host’s public / private /etc/ssh/*
keys
System keychain /Library/Keychains/System.keychain
iCal Service
File type Location
Configuration files /etc/caldavd/caldavd.plist
Data /Library/CalendarServer/Documents/
iChat Server
File type Location
Configuration files /etc/jabberd/*
Data mysqldump jabberd2 > jabberd2.backup.sql
Firewall Service
File type Location
Configuration files /etc/ipfilter/*
Mail Service
The following are configuration files and data stores for Mail services.
Mail—Clam AV
Mail—Mailman
Mail—SpamAssassin
MySQL Service
File type Location
Configuration files There is no config file for MySQL, but the
administrator can create one, which should be
backed up if present.
/etc/my.cnf
Data: (default locations) /var/mysql/
mysqldump --all-databases > all.sql
NAT Service
File type Location
Configuration files /etc/nat/*
OpenDirectory Service
The entire Open Directory configuration can be saved with the archive feature.
Filetype Location
Configuration files /etc/openldap/slapd.conf
Data: (default locations) /etc/openldap/ (stop slapd, and then backup
with slapcat)
PHP
File type Location
Configuration files There is no config file for PHP, but the
administrator can create one (copying /etc/php.
ini.default to /etc/php.ini and modifying it), which
should be backed up if present.
/etc/php.ini
Data: (default locations) Designated by administrator
The default location for web content is configurable and is most likely modified and
extended to include multiple virtual host content and WebDAV directories.
Note: Log files for web service are a critical source of revenue for some sites and
should be considered for backup. The location is configurable and can be determined
using Server Admin.
Other things you can do range from simple solutions like using power backup,
automatic restart, and ensuring proper operational conditions (for example, adequate
temperature and humidity levels) to more advanced solutions involving link
aggregation, load balancing, Open Directory replication, and data backup.
Although it is almost impossible to eliminate all single points of failure, you should
minimize them as much as possible. For example, using a backup computer and a file
storage pool for Mac OS X Server eliminates the computer as a single point of failure.
Although master and backup computers can fail at once or one after the other, the
possibility of such an event happening is negligible.
Another way to prevent a computer from failing is to use a backup power source and
take advantage of hardware RAID to mirror the hard disk. With hardware RAID, if the
main disk fails, the system can still access the same data on the mirror drive, as is the
case with Xserve.
Although you can use desktop systems like the Mac Pro to provide Mac OS X Server
services very reliably, Xserve has the following additional features that make it ideal for
high availability situations.
ÂÂ Xserve has eight fans. In the case of a single fan failure, the other fans speed up to
compensate, allowing your server to keep running.
ÂÂ An independent drive architecture isolates the drives electrically, preventing a
single drive failure from causing unavailability or performance degradation of the
surviving drives—a common problem with multidrive SCSI implementations.
ÂÂ Xserve uses Error Correction Code (ECC) logic to protect the system from corrupt
data and transmission errors.
Each DIMM has an extra memory module that stores checksum data for every
transaction. The system controller uses this ECC data to identify single-bit errors and
corrects them on the fly, preventing unplanned system shutdowns.
In the rare event of multiple-bit errors, the system controller detects the error
and triggers a system notification to prevent bad data from corrupting further
operations.
You can set the Server Monitor software to alert you if error rates exceed the
defined threshold.
ÂÂ Xserve has built-in hardware RAID mirroring, which protects your server from failing
if the main drive fails.
Local
Xserve network
Backup power
connection
Power
source
UPS device
When you select the option to restart after a freeze, Mac OS X Server spawns the
watchdogtimerd daemon, which every 30 seconds commands your computer to
restart after 5 minutes.
Each time the command is sent, the restart timer is reset. Thus, the timer won’t
reach 5 minutes as long as the server is running. If the computer freezes, the power
management unit restarts it after 5 minutes.
To protect your servers, make sure you house them in a place where you can control
these factors and provide ideal operating conditions. Check the electrical and
environmental requirements for your systems to find what these conditions are.
In addition, make sure the facility you deploy your server has a fire alarm, and prepare
a contingency plan to deal with this risk.
For example, you can set up an Xserve with four 1-Gbit/s ports (en1, en2, en3, and
en4) and use the Network pane of System Preferences to create a link aggregate port
configuration (bond0) that combines en1, en2, en3, and en4 into one logical link.
The resulting logical link will have a bandwidth of 4 Gbit/s. This link also provides fault
tolerance. If a physical link fails, your Xserve’s bandwidth will shrink, but the Xserve can
still service requests as long as not all physical links fail at once.
The following illustration shows four Ethernet ports aggregated as a single interface:
server1.example.com
400 Mbit/s
bond0
en1 en2 en3 en4
4 x 100 Mbit/s
Switch
When your define a link aggregate, the nodes on each side of the aggregate (for
example, a computer and a switch) use LACP over each physical link to:
ÂÂ Determine whether the link can be aggregated
ÂÂ Maintain and monitor the aggregation
If a node doesn’t receive LACP packets from its peer (the other node in the aggregate)
regularly, it assumes that the peer is no longer active and removes the port from the
aggregate.
Mapping a conversation to a specific port guarantees that packet reordering does not
occur.
Computer to Computer
In this scenario, you connect the servers directly (as shown in the following illustration)
using the physical links of the link aggregate.
4 x 100 Mbit/s
This allows the two servers to communicate at a higher speed without the need for a
switch. This configuration is ideal for ensuring back-end redundancy.
server1.example.com
4 x 1 Gbit/s
10 Gbit/s
Clients
The switch should have bandwidth for handling incoming traffic equal to or greater
than that of the link aggregate (logical link) you define on your server.
For example, if you create an aggregate of four 1-Gbit/s links, you should use a switch
that can handle incoming traffic (from clients) at 4 Gbit/s or more. Otherwise, the
increased bandwidth advantage in the link aggregate won’t be fully realized.
Note: For information about how to configure your switch for 802.3ad link
aggregation, see the documentation provided by the switch manufacturer.
Computer to Switch-Pair
In this scenario shown in the following illustration, you improve on the computer-
to-switch scenario by using two switches to eliminate the switch as a single point
of failure:
server1.example.com
3 x 1 Gbit/s 2 x 1 Gbit/s
Although this scenario adds redundancy that protects the server from becoming
unavailable if the switch fails, it results in decreased bandwidth.
You create a link aggregate on your computer in the Network pane of System
Preferences.
Installer application
or
installer tool in
Terminal application
By default the system gives the link aggregate the interface name bond<num>, where
<num> is a number indicating precedence. For example, the first link aggregate is
named bond0, the second is bond1, and the third is bond2.
For example, if you enter the command ifconfig -a, the output refers to the link
aggregate using the interface name and not the port configuration name:
bond0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
inet6 fe80::2e0:edff:fe08:3ea6 prefixlen 64 scopeid 0xc
inet 10.0.0.12 netmask 0xffffff00 broadcast 10.0.0.255
ether 00:e0:ed:08:3e:a6
media: autoselect (100baseTX <full-duplex>) status: active
supported media: autoselect
bond interfaces: en1 en2 en3 en4
You do not delete or remove a link bond from the Network Pane of System
Preferences. You remove the bond through the Manage Virtual Interfaces sheet used
to create the bond.
One way to overcome this problem is to distribute the load among a group of servers
(a server farm) using a third-party load-balancing device. Clients send requests to
the device, which then forwards the request to the first available server based on a
predefined algorithm. The clients see only a single virtual address, that of the load-
balancing device.
Many load-balancing devices also function as switches (as shown in the following
illustration), providing two functions in one, which reduces the amount of hardware
you need to use.
Server load-
balancing switch
Server farm
Clients
You will see the following daemons, regardless of what services are enabled:
ÂÂ launchd (timed job and watchdog process)
ÂÂ servermgrd (administration tool interface process)
ÂÂ serialnumberd (license compliance process)
ÂÂ mDNSresponder (local network service discovery process)
The launchd daemon is the preferred alternative to the following common UNIX
tools: init, rc, the init.d and rc.d scripts, SystemStarter, inetd and xinetd, atd, crond and
watchdogd. All of these services should be considered deprecated and administrators
are strongly encouraged to move process management duties to launchd.
There are two utilities in the launchd system: launchd daemon and launchctl utility.
The launchd daemon has also replaced init as the first process spawned in Mac OS X
and is therefore responsible for starting the system at startup. The launchd daemon
manages the daemons at both a system and user level. It can:
ÂÂ Start daemons on demand
ÂÂ Monitor daemons to make sure they keep running
Configuration files are used by launchd to define the parameters of services and
daemons run. The configuration files are plist files stored in the LaunchAgents and
LaunchDaemons subdirectories of the Library folders.
For more information about creating the launchd configuration files, see the following
Developer Documentation page:
developer.apple.com/documentation/MacOSX/Conceptual/BPSystemStartup/Articles/
LaunchOnDemandDaemons.html
Detecting potential problems allows you to take steps to resolve them before they
impact server availability of your servers. In addition, getting an early warning when a
problem occurs allows you to take corrective action quickly and minimize disruption
to your services.
171
Several factors can be considered for a monitoring response:
ÂÂ What are relevant response methods? In other words, how will the response take
place?
ÂÂ What is the time to response? What is an acceptable interval between failure and
response?
ÂÂ What are the scaling considerations? Can the response plan work with all expected
(and even unexpected) frequencies of failure?
ÂÂ Are there testing monitoring systems in place? How do you know the monitoring
policy is catching the data you need, and how do you know the responses are
timely and appropriate? Have you tested the monitoring system recently?
You can also see up to six running services and their status reports. By clicking on the
service, you can open Server Admin to the related service overview panel.
To change the server address, login name, or password, click the information button (i)
at the top of the widget and change the settings.
The Server Monitor interface allows you to quickly detect problems. In the main
window, Server Monitor lists each server on a separate line, with temperature
information and the status of each of its components, including fans, disk drives,
memory modules, power supplies, and Ethernet connections.
Server Monitor works for Xserves only. For more information about Server Monitor,
choose Server Monitor Help from Server Monitor’s Help menu.
RAID Admin uses green, yellow, or red status indicators. You can also configure it to
send you a mail or a page when a component is in trouble.
In addition, RAID Admin provides you with an overview of the status of the Xserve
RAID units that appear in the main window.
For more information about RAID Admin, choose RAID Admin Help from RAID Admin’s
Help menu.
For example, you can monitor your web server’s /var/log/httpd/access_log file for
signs of denial of service (DoS) attacks. If you detect these signs, you can immediately
implement a planned response to prevent your web server from becoming
unavailable.
For more information about these commands, see the corresponding man page.
To use the email functionality, the server starts SMTP. Make sure the firewall allows
SMTP traffic from the server.
To set a notification:
1 Open Server Admin.
2 Select a server, click the Settings button in the toolbar, and then click the Notifications
tab.
3 Below the “Addresses to notify” field, click the Add (+) button and add an address.
4 Repeat as needed, then click Save.
This overview shows basic hardware, operating system versions, active services,
and graphs of CPU history, network throughput history, and disk space.
mm Use the serveradmin XML web interface.
a Open Safari to the following URL:
https://<server address>:311/servermgr_info.html
b Select getState from the pop-up menu.
c Click Send Command.
The web page returns an XML text version of the server overview.
This debugging information is highly technical, but system administrators can use this
information to:
ÂÂ Record details about machines that are panicking and why.
For example, if you manage a large number of Mac OS X Servers, you might want
to monitor which servers are panicking and why. You can use this information
to determine how frequently kernel panics occur, whether there are common
symptoms, and, most importantly, whether third-party kernel extensions are
involved.
ÂÂ Perform offline debugging on high-availability systems.
If you manage a high-availability server and you have problems with server
panicking, you can capture a kernel core dump, immediately restart the server,
and then debug the problem without interrupting service.
For more information on debugging core dumps see Developer Technical Note #2118
at developer.apple.com/technotes/tn2004/tn2118.html#SECDEBUG.
You can configure a Mac OS X Server computer so that, when the machine panics, it
transmits a core dump of the kernel to a remote core dump server via TCP/IP. The core
dump server uses a daemon to collect the kernel core dump from the client and writes
it to a file on the hard disk. You can then analyze the core dump using a variety of
tools, most notably GDB.
CAUTION: The core dump of kernel memory is sent to the server in the clear. It’s
possible that this data might include sensitive information. Therefore, configure
your network so this data can’t be seen by unauthorized persons. For example, use
switched hubs, a firewall, or a VPN.
To use a FireWire connection to transmit a core dump (a useful alternative when the
kernel panic on the client involves the built-in Ethernet driver or some other network
code), see the Read Me file in the FireWire SDK for Mac OS X that describes the setup
process for using FireWire to transmit a core dump.
The following sections contain information to set up a remote listening server, which
receives core dump information from panicked computers, and to set up a server to
send its core dump information to the remote listening server via TCP/IP over Ethernet.
To set up a core dump server on a computer running a system earlier than Mac OS X
v10.5, more extensive configuration is needed. See Developer Technical Note #2118at
developer.apple.com/technotes/tn2004/tn2118.html.
After this command is executed, the core dump server process starts. This step does
not need to be repeated when the server restarts.
3 Verify that the core dump server process is running.
Using the command line, type:
sudo launchctl list | grep kdump
When the core dump server is active, configure Mac OS X computers as clients to send
their kernel panic information to this server. See “Setting Up a Core Dump Client” on
page 179.
The information is transmitted at the time of the panic, so before restarting the
computer, allow some time for the data to be sent to the server. The time necessary
depends on the file size of the core dump and the speed of the network connection
between the client and server.
Important: You can reset the boot-args NVRAM variable whenever you install new
system software, including software updates, and when you change the startup disk
using System Preferences.
2 If the core dump client is running Mac OS X Server, modify the watchdogtimerd
behavior to either keep it from restarting the server before the core dump is complete,
or modify the amount of time it waits before restarting the server.
To disable automatic restarting, turn off the “Restart automatically after a power failure”
option in the Options tab of the Energy Saver System Preferences pane.
To increase the amount of time before automatic restarting, add a “count” program
argument larger than 6 (but smaller than 480) to the watchdogtimerd configuration
file at /System/Library/LaunchDaemons/com.apple.watchdogtimerd.plist.
For more information about the arguments and options, see the watchdogtimerd(8)
man page.
3 Restart the computer for the settings to take effect.
For additional NVRAM debug flags that are useful in core dump debugging,
see Developer Technical Note #2118, subsection “Debug Flags in Depth,”at
developer.apple.com/technotes/tn2004/tn2118.html
Changing any of these options requires that you restart the computers to reload the
new settings. All settings assume the core dump client and the core dump server are
using Mac OS X v10.5 or later.
Option Action
To set an alternate UDP port... On the core dump server, change the SockServiceName string
property from 1069 to the desired port in /System/Library/
LaunchDaemon/com.apple.kdump.plist.
On the core dump client, add the _panicd_port flag to the
NVRAM boot-args. For example, to change it to UDP port 12345,
add “_panicd_port=12345” to the list of boot-args flags.
To set an alternate network On the core dump client, add the kdp_match_name flag to the
interface... NVRAM boot-args. For example, to change it to always use en1,
add “kdp_match_name=en1” to the list of boot-args flags after
the _panicd_ip flag.
AirPort interfaces cannot be used to transmit core dumps.
To set an alternate file On the core dump server, change the expected directory location
destination... in the /System/Library/LaunchDaemons/com.apple.kdumpd.plist
file, ProgramArguments string, then reload the kdumpd process.
To specify a network router... On the core dump client, add the _router_ip flag to the
NVRAM boot-args. For example, to change it to use the router
10.0.0.1, add “_router_ip=10.0.0.1” to the list of boot-args flags
after the _panicd_ip flag.
To change the location of the core dump directory, change the expected directory
location in the com.apple.kdumpd.plist file, then reload the process.
To enable SNMP
1 Open Server Admin.
2 Select a server, click the Settings button in the toolbar, and then click the General tab.
3 Select Network Management Server (SNMP).
4 Click Save.
When SNMP is active, anyone with a route to the SNMP host can collect SNMP data
from it.
5 Configure the basic SNMP parameters from the command line.
The SNMP process will not start until /etc/snmpd.conf is configured for the current site.
To configure, see “Configuring snmpd” on page 181.
Note: The default configuration of snmpd uses privileged port 161. For this reason
and others, it must be executed by root or using setuid. Only use setuid as root if you
understand the ramifications. If you do not, seek assistance or additional information.
Flags available for snmpd will change the uid and gid of the process after it starts.
For more information, see the snmpd man page.
Configuring snmpd
The configuration (.conf ) file for snmpd is typically at /etc/snmpd.conf. If you have an
environment variable SNMPCONF, snmpd will read any files named snmpd.conf and
snmpd.local.conf in these directories. The snmpd process can be started with a -c flag
to indicate other conf files. For more information about which conf files can be used,
see the snmpd man page.
Configuration files can be created and installed more elegantly using the included
script /usr/bin/snmpconf. As root, use this script with the -i flag to install the file at
/usr/share/snmp/. Otherwise, the default location for the file to be written is the user’s
home folder (~/). Only root has write permission for /usr/share/snmp/.
If there are existing configuration files, you can read them into the assistant and
incorporate their contents with the output of the assistant.
2 Choose to read-n the file by indicating the file at /etc/snmp/snmpd.conf.
You then see a series of text menus.
3 Make these choices in this order:
a Select file: 1 (snmpd.conf ).
b Select section: 5 (System Information Setup).
c Select section: 1 (The [typically physical] location of the system.).
d The location of the system: type text string here — such as “server_room.”
e Select section: f (finish).
f Select section: f (finish).
g Select File: q (quit).
You can also do this via the command line by killing and restarting the smnpd process
as root:
/usr/sbin/snmpd
You should see location you provided. In this example, you would see:
SNMPv2_MIB::system.sysLocation.0 = STRING:\"server_room\"
The final .0 indicates you are looking for the index object. The word public is the name
of the SNMP community that you did not alter.
If you need information about either of these or if you need explanations of SNMP
syntax, tutorials are available at net-snmp.sourceforge.net.
Man pages
Entering man -k snmp in the Terminal will provide a list of the known man pages.
Web sites
The Net SNMP-Project:
ÂÂ www.net-snmp.org
ÂÂ net-snmp.sourceforge.net
Books
Essential SNMP by Douglas Mauro, Kevin Schmidt
WARNING: The file formats and settings in emond.conf and rules plists are not
documented for customer use. Tampering could result in an unusable notification
system and is unsupported.
Each process is responsible for its own logs, the log level, and verbosity. Each process
or application can write its own log file or use a system standard log, like syslog. You
can use the Console application (in /Applications/Utilities) to read these and other
plain-text log files regardless of location.
The logs are set to roll (compress and rename the log file) every 5 MB.
Most services in Mac OS X Server have a logging pane in Server Admin. You can use
these panes to set logging levels and view the logs for any particular service.
Syslog
The system log, syslog, is a consolidated catch-all location for process log messages.
syslog has several levels of available log detail. If you select low detail logging,
detailed messages are not saved, but high detail logging results in large and possibly
unhelpfully large log files.
The level of logging you use for syslog can be tuned by process and should be
relevant to the level necessary for successful notification and debugging.
Syslog log levels (in ascending order from least to most detail)
Level name Level indicator in syslog.conf Amount of detail
None .none None
Emergency .emerg Least
Alert .alert
Error .err
Warning .warn
Notice .notice
Info .info
Debug .debug Most
Replace <facility> with the process name writing to the log. The path is the standard
POSIX path to the log file. You can use asterisks (*) as wildcards. For example, the
setting for the kernel is:
kern.* /var/log/system.log
This shows that all messages to the log of all levels from the kernel are to be written in
the file /var/log/system.log.
Likewise, the following setting is an example of all emergency messages from all
processes being sent to a custom emergencies log file:
*.emerg /var/log/emergencies.log
/Library/Logs/DirectoryService/DirectoryService.debug.log
You must perform the following commands with superuser permissions (sudo or root):
Note: The debug log is not self-documented and is not intended for normal logging. It
is very verbose and very opaque. It shows API calls, plugin queries, and responses.
The slapd process, which governs Open Directory usage, has an additional parameter
for extra logging. The following command enables the additional logging:
slapconfig -enablesslapdlog
AFP Logging
The server side of Apple File Service Protocol (AFP) keeps track of access and errors,
but it does not have much debugging information. However, you can add client-side
logging to AFP clients to help monitor and troubleshoot AFP connections.
The inclusion of third-party tools in the following list does not constitute an
endorsement of or support for these products. They are listed for informational
purposes only.
ÂÂ Apple Remote Desktop (ARD): This software package contains many features that
allow you to interact with, get reports on, and track computers running Mac OS X
and Mac OS X Server. It has several powerful administration features and excellent
reporting capabilities.
ÂÂ Nagios (third-party): This tool is an open source computer system and network
monitoring application.
ÂÂ Growl (third-party): This tool is a centralized, extensible notification service that
supports local and remote notification.
A service (like iCal or mail) maintains a simple connection with the client and the
service informs the client that there is new data. This differs from previous methods,
where calendar or mail clients contacted the server at regular intervals, requesting
data, if present.
With the previous method of notification, the server must attend to each client,
regardless of whether the client has data waiting for it. By using the new push method
of client updating, only clients with new data are contacted, and only as needed.
Clients of these services must support push notification to make use of it. Apple’s
client applications on Mac OS X v10.6, and iPhone 3.0 client applications support push
notification service. Third-party client applications may support it.
Mac OS X Server v10.6 push notification is not the same system as push notification for
iPhone application development. You cannot use Mac OS X Server v10.6 to host iPhone
application push notification.
188
Starting and Stopping Push Notification
When you start push notification on a server, the service broadcasts its availability on
the local network to other services that support it. This means that when a different
server turns on a service that supports push notification, the push notification server
address populates the settings of the pushing service.
You must still enable Push Notification support for the pushing service before it works.
Additionally, you can choose to encrypt the data passed between the client and the
push server by choosing an SSL certificate. This does not encrypt the data between the
client and the pushing service. To encrypt transport between the pushing service and
the client, enable SSL with the pushing service.
Each service that can use push notification must have push notification enabled,
and can use a unique push notification server.
Be sure to make the relevant changes to your firewall to allow network access to the
push notification server.
Index
A B
access backups
ACLs 55, 75 command-line tools 36
IMAP 139 critical files 155
IP address restrictions 52 media types 35
Keychain Access Utility 66 policy considerations 31, 32, 35
LDAP 21, 58 rotation scheme 34
Mac address 53, 90 scheduling 34
remote installation 84, 88, 90, 101, 102 server setup data 116, 118
SACLs 75 Time Machine 37
user 132, 147 types 33
See also permissions validation of 35
accounts. See user accounts, Workgroup Manager Berkeley Software Distribution. See BSD
ACLs (access control lists) 55, 75 binding to multiple servers 112
Address Book service 17, 140, 156 bless tool 103
addresses. See IP addresses blog service 159
Administer permission level 149 BSD (Berkeley Software Distribution) 23
administrator 74, 75, 76, 149, 150
administrator computer 83, 124, 125 C
AFP (Apple Filing Protocol) service 22, 187 calendar service. See iCal service
Apple Remote Desktop (ARD) 50, 131, 187 Certificate Authority (CA)
archiving server data 32, 36 creating 66
ARD. See Apple Remote Desktop creating certificates from 68
asr tool 36, 87, 88 distributing to clients 70
authentication intermediate trust 61
Kerberos 21, 57, 58 introduction 60
key-based SSH 72, 73 overview 60
keychain services 155 requesting certificates from 63, 64, 65, 68
MS-CHAPv2 111 See also PKI
Open Directory 57 Certificate Manager 62, 68
overview 56 Certificate Signing Request. See CSR
passwords 77, 78 certificates
RADIUS 21, 58, 135, 155 collaboration services 141
SASL 57 command-line tools 62, 70
Server Admin 38 creating 65, 66, 68
single sign-on 58 deleting 70
standalone server 112 editing 69
TLS 54 identities 61
user 56, 58, 73, 111 importing 68
Workgroup Manager 151 intermediate trust 61
See also certificates mail service 139
authorization 56 management of 69
See also authentication overview 59, 60
191
preparing 64 saving setup data 116, 118
private keys 59 server infrastructure 30
public keys 59 server types 18
renewing 71 services 122, 123, 155
requesting 63, 64, 65 settings overview 109
root 66 SSL 148
self-signed 61, 65 standalone server 110
Server Admin 62, 148 types of 108
services using 71 Console 173
web service 137 core dump server 178, 179, 180
wiki services 137 CSR (Certificate Signing Request) 63, 64, 65, 68
changip tool 145
chat service. See iChat service D
ClamAV 139 daemons, overview 169
clients Darwin (core operating system) 23
certificates 70 Date & Time preferences 132
client-side logging 187 debugging, server problem 171, 186, 187
core dump information 179 df tool 173
group accounts 153 DHCP (Dynamic Host Configuration Protocol)
intermediate trust 62 service 30, 82, 134
NetBoot 27 digital signature 148
See also users directories. See directory services, domains, folders
command-line tools directory services
backup tools 36 directory domains 20, 111, 154
certificates 62, 70 logs 186
daemon control 169 planning of 26, 30
disk image installation 87, 88 See also Open Directory
disk space monitoring 173 disk images
erasing disks 99 encrypting 56
identity changes 145 installing with 27, 47, 86, 91
installing server software 104 Disk Utility 56, 95, 97, 99
partitioning disks 95, 98 disks
permission considerations 150 command-line management of 173
restoration tools 36 erasing free space 99
server administration 48 installation preparation 93
startup disk changes 103 mirroring 96
computer lists 151, 153 monitoring tools 173
computer name 132, 133, 144 partitions 86, 94, 95, 97, 99
computers, administrator 83, 124, 125 quotas 27
computer-to-computer network 164 See also RAID
computer-to-switch network 165 diskspacemonitor tool 174
computer-to-switch-pair network 165 diskutil tool 95, 98, 99
concatenated RAID set 96 ditto tool 36
configuration DMZ, network 52
advanced 18 DNS (Domain Name System) service 30, 82, 133,
authentication 57 134, 144
automatic 116, 118 documentation 13, 14, 15
connecting to network 109, 164, 165 Domain Name System. See DNS
DHCP 82 domains, directory 20, 111, 154
directory connection 112 See also Open Directory
Ethernet 109 drives. See disks
interactive 113 du tool 174
introduction 18, 108 DVDs, installation 85, 100
link aggregation 166 Dynamic Host Configuration Protocol. See DHCP
Open Directory 110, 112, 123
postponing 108
192 Index
E iChat service 140, 156
email. See mail service identity, network
emond daemon 184 changing 144
encryption 54, 55, 59, 118 collaboration services 139
See also SSL file services 137
Ethereal packet sniffing tool 175 infrastructure services 133
Ethernet 53, 109, 166 mail service 138
exporting service settings 146 names for servers 133
Extensible Messaging and Presence Protocol. overview 132
See XMPP Podcast Producer 141
print service 143
F server IP address 144
file services 22, 137, 187 Software Update service 143
file sharing 148 web service 136
file systems wiki services 136
backing up 36 Xgrid service 143
choosing 93 images. See disk images, NetBoot, NetInstall
See also volumes, ZFS IMAP (Internet Message Access Protocol) 139
File Transfer Protocol. See FTP importing
files certificates 68
backup 31, 32, 35, 155 service settings 146
configuration 186 incremental backups 33
full file-level copies 33 infrastructure requirements 29, 30
security 55, 56 Inspector 154
setup data 116, 118 installation
shared secret 60 administrator computer 83
storage considerations 27 collecting information 81
FileVault 55 command-line method 104
Firewall service 52, 53, 82, 135, 156 disk image 27, 47, 86, 91
folders 27, 55, 132 disk preparation 93
FTP (File Transfer Protocol) service 22, 138 from earlier OS versions 25, 28, 79, 84
full file-level copies 33 identifying servers 90
full image backup type 33 infrastructure requirements 29, 30
integration strategy 28
G interactive 99, 100, 101, 102
Gateway Setup Assistant 155 local 100
group accounts 153 multiple server 106
groups 129, 147, 149, 151 network services setup 82
Growl application 187 overview 79
planning for 24, 25, 26, 28
postponing setup after 108
H
remote access 84, 88, 90, 101, 102
hardware requirements 16, 31, 81, 97
server installation disc 82
hdiutil tool 87
server software 104
help, using 12
starting up for 84, 85, 86, 91
HFS+J volume 93
system requirements 81
HFSX volume 93
updating 107
historical data collection 171
installer tool 104, 106
home folders 27, 132
intermediate trust 61
host name
Internet Message Access Protocol. See IMAP
changing 144
IP addresses
definition 133
access restriction 52
local 132
changing server 31
firewalls 82
I overview 22
iCal service 17, 46, 140, 156
remote server installation 90
Index 193
server 144 MS-CHAPv2 authentication 111
static 82 multicore awareness 17
See also identity MySQL service 137, 157
IPv6 addressing 22
N
J Nagios application 187
journaling, file system 93 naming conventions. See identity
junk mail screening 139 NAT (Network Address Translation) 135, 157
NetBoot service 27, 47, 91, 135
K NetInstall 47, 92
Kerberos 21, 57, 58, 134 Network Address Translation. See NAT
kernel panic 176, 178, 179, 180 Network File System. See NFS
key-based authentication 72, 73 network interfaces 132
Keychain Access Utility 66 network services
keychain services 62, 155 DHCP 30, 82, 134
DNS 30, 82, 133, 134, 144
L installation 82
LACP (Link Aggregation Control Protocol) 164 NAT 135, 157
launchctl tool 36, 170 NTP 131, 132
launchd daemon 36, 169 planning for 30
LDAP (Lightweight Directory Access Protocol) VLAN 53
service 21 VPN 136
LDAPv3 access 58 See also IP addresses
link aggregation 163, 164, 165, 166, 167 network time protocol. See NTP
Link Aggregation Control Protocol. See LACP networks
load balancing 168 connection configurations 109, 164, 165
local computers environment for installation 80
installing on 100 Ethernet 53, 109, 166
local directory domain 112 monitoring tools 174, 180
login, authenticating 72, 73 security 52, 53, 54, 55
logs See also identity
monitoring 173, 184, 185, 186, 187 NFS (Network File System) 22
web service 159 notification system
daemons 183
M push notification 188, 189
MAC (media access control) addresses 53, 90 Server Monitor 44
Mac OS X server settings 132, 158
administration from 125 server status 175
installation considerations 84 See also logs
Mac OS X Server NTP (network time protocol) 131, 132
administration tools 38, 126
integration strategy 28 O
introduction 16, 17, 18 Open Directory
supported standards 20 authentication 57
system requirements 16 backup files 158
UNIX heritage 23 identity changes 134
See also configuration, installation logs 186
mail service 17, 21, 138, 155, 156 SACLs 75
mailing lists 139 setup 110, 112, 123
managed preferences, defining 153 Open Directory master 82
media, streaming. See streaming media Open Directory replica 57, 162
migration 25, 28 open source modules
mirroring, disk 96 Kerberos 21, 57, 58, 134
mobile accounts 17, 132, 135 OpenLDAP 21
Monitor permission level 149 OpenSSL 54
PHP 158
194 Index
See also Open Directory R
OpenCL 18 RADIUS (Remote Authentication Dial-In User
OpenLDAP 21 Service) 21, 58, 135, 155
OpenSSL 54 RAID Admin 48, 173
operating environment requirements 162 RAID (Redundant Array of Independent Disks)
administration tool 48, 173
P creating set 96, 97
PackageMaker 47 hardware requirements 27
packets, data, filtering of 52 real-time monitoring 171
partitions, disk 86, 94, 95, 97, 99 Remote Authentication Dial-In User Service.
passwords 77, 78, 90 See RADIUS
permissions remote servers
administrator 74, 75, 149, 150 accessing 88
files 55 Apple Remote Desktop 50, 131, 187
folder 55 identifying 90
SACL 75 installing from or to 84, 88, 90, 101, 102
types 55 startup disk 103
PHP (PHP Hypertext Preprocessor) 158 replication 57, 162
physical infrastructure requirements 29 requirements
PKI (public key infrastructure) 54, 59 hardware 16, 31, 81, 97
Podcast Composer 49 infrastructure 29, 30
Podcast Producer 17, 141 operating environment 162
POP (Post Office Protocol) 139 software 16, 81, 83
portable computers 132 restart, automatic 161
Portable Operating System Interface. See POSIX restoration, data 31, 32, 34
ports root certificate 66
Ethernet 109 rsync tool 36
list of 127
status of 127 S
TCP 72 SACLs (service access control lists) 75
POSIX (Portable Operating System Interface) 55 SASL (Simple Authentication and Security Layer) 57
Post Office Protocol. See POP Screen Sharing 89, 102
Postfix transfer agent 139 scutil tool 145
power considerations 161 Secure Empty Trash 56
preferences 153 secure SHell. See SSH
presets 152 Secure Sockets Layer. See SSL
print service 143 Secure VM 56
private key 59, 61 security
privileges, administrator 75, 149, 150 administrator 74, 75
See also permissions authorization 56
Property List Editor 47 best practices 76
protocols file 55, 56
file service 22, 187 Firewall service 52, 53, 82, 135, 156
network service 30, 82, 131 installation 82
overview 22 network 52, 53, 54, 55
See also specific protocols overview 51
proxy server settings 135 physical 51
public key certificates. See certificates SASL 57
public key cryptography 72 service level 75
public key infrastructure. See PKI settings 148
push notification 188, 189 SSL 54, 59, 60, 62, 148
TLS 54
Q See also access, authentication, certificates, SSH
QuickTime Streaming Server (QTSS) 47, 137, 158 self-signed certificates 61, 65
quotas, disk space 27 serial number, server 90, 120
Index 195
Server Admin shared directory domain 21, 111
access control 147 shared secret files 60
as administration tool 128 Simple Mail Transfer Protocol. See SMTP
authentication 38 Simple Network Management Protocol. See SNMP
certificates 62, 148 single points of failure 159
configuration methods 18 single sign-on authentication 58
customizing 40 See also Kerberos
notification system 175 slapd daemon 187
opening 38 SMB (Server Message Block) service 22, 138
overview 11, 18, 38, 39 SMTP (Simple Mail Transfer Protocol) 139
server status 175 snapshots, data 33
service management 146 SNMP (Simple Network Management Protocol)
system imaging 47 as monitoring tool 180, 181, 182, 183
Server Assistant 41, 101, 108, 155 definition 22
Server Message Block. See SMB settings 131
Server Monitor 44, 172 snmpd daemon 181
Server Preferences 18, 42 Software Update service 107, 143
Server Status widget 48, 172 spam. See junk mail screening
serveradmin tool SpamAssassin 139
push notification 190 srm UNIX utility 56
servers SSH (secure SHell host)
adding 128 backup location 155
administration tools 38, 48, 124, 126, 127 installation 82
basic settings 109, 130 key-based 72, 73
binding to multiple 112 overview 72
core dump 178, 179, 180 remote access 88, 89
groups of 129 settings 131
infrastructure requirements 29, 30 SSL (Secure Sockets Layer) 54, 59, 60, 62, 148
IP address for 144 standalone server 110, 112
load balancing 168 standard configuration type 18
reliability tools 159, 161, 163, 168 startup disk settings 103
relocation considerations 31 See also NetBoot service
removing 128 static IP addresses 82
serial numbers for 90, 120 storage considerations 27
standalone 110, 112 streaming media 27, 47, 158
startup 84, 91 striping 96
status monitoring 171, 172, 173, 174, 175 subnets 109, 114
time 131, 132 syslog configuration file 185
See also configuration, identity, installation, syslogd daemon 184
remote servers System Image Utility 47
service access control lists. See SACLs system imaging. See NetBoot service, NetInstall
services
access control 132, 147 T
adding 146 tar tool 36
exporting settings 146 TCP (Transmission Control Protocol) 52, 72
identity changes 133 tcpdump tool 174
importing settings 146 Time Machine 37, 155
management of 155 time server 131, 132
planning for distribution of 26 TLS (Transport Layer Security) protocol 54
removing 146 Tomcat application server 158
security 71, 75 Transmission Control Protocol. See TCP
setup 122, 123, 155 Transport Layer Security protocol. See TLS
viewing 132, 145 troubleshooting
See also specific services core dumps 176, 178, 179, 180
setup procedures. See configuration, installation debugging logs 171, 186, 187
share points 55, 148 trusted server 61
196 Index
U authentication 151
UDP (User Datagram Protocol) 52, 180 customizing 44, 154
UNIX 23 opening 42, 151
updating software 107 overview 42, 43, 150
upgrading
from previous server versions 25, 28 X
saved setup data 117 Xgrid Admin 49
vs. migration 25, 28 Xgrid 49, 143, 155
UPS (uninterruptible power supply) 161 XMPP (Extensible Messaging and Presence
user accounts Protocol) 23, 188
group 153 Xserve
managed preferences 153 hardware installation 81
management of 151 Server Monitor 44
mobile 132 server reliability 160, 161
setup 123 VLAN support 53
See also users
User Datagram Protocol. See UDP
users
access control 132, 147
administrative access for 74, 75
authentication 56, 58, 73, 111
certificates 60
disk space quotas 27
groups 147, 149, 151
home folders 27, 132
management of 151
permissions 149
Windows 27
See also clients, user accounts, Workgroup
Manager
V
Virtual Private Network. See VPN
virus screening 139
VLAN (virtual local area network) 53
VNC (virtual network computing) 16, 81, 88, 89, 102,
106
volumes
backing up 36
erasing 99
partitioning 94, 95
RAID 96, 97
startup 84, 91
supported 93
VPN (Virtual Private Network) 136
W
web service 136, 159
web technologies 22
weblog service. See blog service
wiki services 137, 159
Windows NT 28
Windows users 27
Workgroup Manager
administering accounts 151
Index 197