For a while now, I've ignored a 15-second (approximately) delay when connecting to an OS X Server (10.3) FTP server (xftpd). The delay was occurring after connecting, but before the server prompted for login.
After not finding any solutions in my searches online, I finally resorted to figuring it out myself. It turns out that, by default, the FTP service on OS X Server is configured to attempt to use RFC 931 to identify the user of the connecting client. However, the client is not, by default, configured to support the same functionality.
Fortunately, some digging in the man pages suggested that adding the -I command-line option to the FTP server (in the xinetd configuration) might eliminate the connection delay ... and it did! Included below is the (modified) /etc/xinetd.d/ftp file from my server (the -I option was added to the existing -a on the server_args line).
disable = no
instances = 100
socket_type = stream
wait = no
user = root
server = /usr/libexec/xftpd
server_args = -aI
groups = yes
flags = REUSE
With this change, there's no more delay when connecting...
After googling and searching in macosxhints.com without finding a solution, I finally got this to work, so I hope this may help others. The problem I had was that I could not get JSP files to be served on port 80. When I started Tomcat, I could only see Tomcat's examples, which are on port 9006. There may be a better solution, but being new to Tomcat, this is how I solved it. If someone else has a better solution I'd be happy to hear from you.
The OS X Server (Panther) CDs will not boot the MacMini. To work around this, attach a FireWire drive to a Mac capable of installing Panther Server. Install to the FireWire drive, and run all updates. Now connect the FireWire drive to the mini, and boot off of the mini's Boot DVD. Click on the Apple logo menu item, and choose Disk Utility.
Once Disk Utility is opened, select the Mac mini internal disk and choose Restore. Drag the FireWire volume to the source box, and drag the mini's hard drive to the destination box, and choose Restore. Once complete, shutdown and disconnect the FireWire drive and reboot the mini into Panther Server.
Since I have a couple of Mac OS X Server boxes running on non-XServe hardware using Apple's built in software RAID feature, I needed a way to monitor the status of mirrored RAIDs (that is, a way to be notified when one disk blows up, before the entire system fails because the other disk blows up). So I wrote a Perl script that will parse the output of diskutil checkRAID and, if any RAID sets are degraded, will email a warning to a specified email address. You should ideally run this as, say, an hourly cronjob as a non-root user, on a machine that is able to send mail via the unix mail command.
Obviously this isn't terribly sophisticated. I'm sure it'll work for striped disk arrays as well, but there's little point -- once a stripe is degraded, you're going to be restoring from backup. If Apple allows more sophisticated RAIDs in the future (0+1, 5, etc.), then hopefully they'll also provide robust monitoring tools.
I put the output to the log just as a record; it's overwritten every 10 minutes and errors go to /dev/null. You could remove that bit and allow your cron job to notify you if there is an error. Hope this helps someone; it keeps me from being woken up at 4am!
The mail server admin panels in Panther Server have changed from their equivalents in Jaguar Server, hiding the options to modify the port on which Postfix listens for SMTP connections. Combined with the trend of more ISPs blocking traffic on port 25, this has become a more popular problem.
As root, edit the file /private/etc/postfix/master.cf, so it looks something like the following. I use port 2525 in this example; you can substitute it with any port you'd like to use...
# service type private unpriv chroot wakeup maxproc command + args
# (yes) (yes) (yes) (never) (100)
smtp inet n - n - - smtpd
2525 inet n - n - - smtpd
This editing should consist of adding the last line given here.
Restart your mail service in 'Server Admin,' or restart your server, and you should be golden.
You will have to edit the mail clients' SMTP preferences to use this port. If your client is Mail.app, this is simple and in the 'Accounts' pane of 'Preferences.'
I have a couple of virtual domain hosted on my OS X server box, and wanted those domains to be able to host their own mailing list. So after much searching on the Internet, here are the config changes for mailman:
Enabling serial console with Panther Server is very easy ... if you know where to look. Start by reading this file: /System -> Library -> StartupItems -> SerialTerminalSupport -> SerialTerminalSupport. It has lots of information about the serial port. After reading it, enter:
This should enable console access. However, it didn't in my case. I have to connect through a console server at my colo facility, which operates at 9600 baud. Apple enables a 57600 baudrate by default. So I had to do:
I changed this line:
tty.serial "/usr/libexec/getty serial.57600" vt100 on secure
tty.serial "/usr/libexec/getty serial.9600" vt100 on secure
Finally, I used this command to restart the console support:
And I was able to connect. If I had discovered the above earlier, I would had saved myself for driving to my colo server room a couple weeks ago when I made a mistake with remotely configuring my en0 interface!
OS X Server port forwarding can't be configured with the GUI, as natd.conf is erased by default by the GUI Admin program. So labo-Apple.com has written a small tutorial on how to edit the natd.plist used by Server Admin to forward port with NATD.
I haven't tried this, as I have no need for it (nor do I have OS X Server), but if you'd like a network monitoring tool on your Server box, this seems like a good one (check their stats page for some data on who's using their tools).