Tips, Tricks, and life in general with Mac OS X Server
Development on an 8500/180 running Mac OS X Server is an undertaking for only the patient. What follows are some of the things Ive learned while doing development. Theres also a separate tutorial on using Java, XML, HTTP, HTTPS, FTP, and databases with Mac OS X Server.
You may notice that the Java libraries are hard to find with MOSXS. The JAR files are hidden in /System/Library/Frameworks/JavaVM.framework/Classes. The default search paths for Java classes are /System/Library/Java; /Local/Library/Java; ~/Library/Java (~ is your home directory, found under /Local/Users). Yes, some of those directories do not exist by default, but if you create them, Java will find any classes you place in them. If you want to add paths to the default, edit the file JavaConfig.plist in the /System/Library/Java directory. This is especially convenient if you choose to add JAR files that you want Java to find without you having to specify them every time you compile.
This is Unix. It isnt suceptible to the viruses that ravage that other OS from Redmond, but Unix has traditionally been about power, not user friendliness. With a single command, you can wipe an entire hard drive. Its a feature, not a bug.
One of the first mistakes users make when moving to Unix is to always login as root. The problem with this is that you have unlimited power, like being able to wipe the entire drive. It also means that any software you may run inherits your power (the software is running with root privileges). You should rarely, if ever, login as root. Its a bad habit, its dangerous, and generally unacceptable in a networked environment. However, you will occasionally need to do things that only someone with root (or superuser) privileges can do, such as install software. I highly suggest that you check out SUDO (superuser do). It allows you to selectively perform administrative actions and then keeps a logfile of those actions. This becomes much more important on a multiuser machine in a networked environment, but you should still compile and install it. See notes below on how to compile.
To compile SUDO, you need to do the following:
1. Replace the config.sub and config.guess files with those found in /usr/libexec.
2. In a terminal window, type configure --with-password-timeout=0
This is necessary on some BSD systems, per the documentation, where some things are broken or have bugs. See the INSTALL file.
3. Type make.
4. If youre logged in as a normal user (like youre supposed to), you will have to type su and the root password before you type make install. Be sure to type exit when you have finished, so that you are no longer logged in as root.
BZIP versus GZIP
Use the BZIP2 software instead of GZIP, especially when rotating logfiles, which can grow faster than a rabbit farm. An uncompressed SYSLOG file (plain text) on an SGI Indigo 2 went from 6,324,216 bytes to 545,080 with GZIP (v1.2.4, default compression), but 379,731 with BZIP (v0.9.5d, about 70% the size of the GZIP file). Whats the tradeoff? The BZIP2 file took a lot longer (86 seconds versus 6 seconds), although it did not seem to tax the machine in any way. BZIP appears to compile and install without trouble.
Java Wrapper for OpenSSL
The information for this package is on a page of its own.
Back to the Warner Technology Home Page
Page created by: firstname.lastname@example.org
PGP Encryption Available for secured messages. Public key is available at MIT's site or here.