Knowledge Is Power
Recently featured on Sun's Web site as a
"Great resource!" by the BigAdmin sysop.
|Sections on this page:||
We Did It !!!
Solaris is Sun Microsystem's "flavor" of UNIX. Actually, SunOS is Sun's UNIX. Solaris is SunOS, the GUI interfaces, and everything else that comes with the operating system. But most people use the term Solaris when referring to Sun's operating system. It is most-often thought of as the operating system for Sun-manufactured systems but that's not the whole story.
Just as Linux is a form of UNIX that can run on PCs (Intel x86-based systems), Sun offers a version of Solaris that will run on PCs. As a matter of fact, Sun offers this version of Solaris with free licenses.
Having played around with "Solaris x86" I've discovered some things that may save you some time and headaches if you decide to try it. These things are presented in the sections below. I also present some information that may be helpful if you decide you want to go whole-hog and get into the non-x86 world of Solaris (i.e. get into Sun hardware).
If you don't have a lot of experience with Linux or UNIX I highly recommend you check out the Linux Basics page on my AboutDebian.com site before you continue. The page covers UNIX/Linux in general and relates some of the information given on this page to the "Win-tel" platform you're probably familiar with.
Taking the server diagram from the Linux Basics page and customizing it for Sun hardware and software gives the following. However, keep in mind that with the Solaris for x86 software, the "Sparc, Ultra, or Enterprise System" hardware description would be replaced with "Intel PC".
If you know UNIX or Linux, you pretty much know Solaris. This is because behind the Sun mystique, Solaris is just another flavor of UNIX. The main difference is the GUI interface. Just as Linux has the Gnome and KDE GUI interfaces, Solaris has a GUI interface known as "CDE" (Common Desktop Environment). Also like Linux, Solaris can simultaneously provide workstation and server functionalities.
From time to time you will see "SunOS x.x" where the "x.x" is a version number like 5.8. SunOS is the character-based UNIX part. "Solaris" is the name of operating system product with all of the GUI stuff bundled in. Also, the Solaris version numbering is a little strange. It goes from 2.5.x to 2.6 to 7 to 8 to 9. For the last few Solaris releases they dropped the "2." part.
When you install Solaris x86 it will set the GUI to start automatically when the system is booted. If you want to use a more traditional character-based, command-line interface you can open up a "Console" session in CDE. CDE isn't as user friendly as Gnome or KDE. For instance, you can't access networking configurations through CDE because it does not have the Windows-like "Control Panels" selection that Gnome does. However, with a little playing around you can figure out what is accessible via CDE.
You can order the Solaris media from Sun for a cost of $95 (it includes a lot of other CDs also, including Star Office and Oracle), but you can install it on additional systems without having to pay for additional licenses. Note that this is the binary (executable) version of the Solaris OS package.
You can also now download the Solaris 9 binaries from Sun's Website for free. This is a change in Sun's policy. They used to charge for downloads. You'll need a high-speed Internet connection (T1, DSL, or cable) and a CD writer. (Note that the download includes the "Installation" CD, but as you'll see below, you don't need it. Just downloading the two "Software" CD image files will suffice.)
The Solaris binary downloads do not include the "Companion" CD with Samba, etc. on it, or the Star Office and Oracle CDs that come with the media kit. For my money, buying the media kit is the much better way to go. But if you're in school, money is tight, or maybe you just want to play around with Solaris a little without investing a chunk of cash, at least downloading the two "Software" CDs will get you up and running. So if you've got the bandwidth and you want to take the download route go to following page. Only download the "Software 1" and "Software 2" CD image files. As you will see below, you don't need the "Installation" CD. If you're going for an English install you also don't need the "Languages" CD.
If you can afford it, when you go to buy a media kit you can also purchase the Installation documentation set and User documentation set separately for about $60 to $80. For reasons you'll see below, you may want to forego buying the Installation documentation. However, the User documentation does a pretty thorough job of covering CDE. (If you do order the Installation documentation make sure you get the x86 version, not the Sparc version. The User documentation set covers both platforms.)
You may be wondering why you should even bother with Solaris x86 when Linux is cheaper and has a friendlier GUI. The answer is "money". Sun Microsystems is one of the darlings of the NASDAQ because they sell a lot of hardware. The vast majority of this hardware is used for Internet-related functions. So much so that Sun refers to itself as "the dot in dot-com".
With all of this hardware being installed there is a need for people who know Solaris to manage it. Sun offers two certifications along the same lines as the MCSE (MS Certified Systems Engineer) offered by Microsoft. These two certifications are:
Information on the certifications exams can be found at:
- SCSA - Sun Certified System Administrator for Solaris - (2 exams)
- SCNA - Sun Certified Network Administrator for Solaris - (1 exam with the SCSA being a prerequisite)
There are a lot more Microsoft certified people out there than Sun certified people. Given the growing installed base of Sun hardware, and the laws of supply and demand, the financial future would seem brighter for those with a Sun certification. If you were thinking of going for the RHCE (Red Hat) certification, you may want to invest your efforts in a Sun certification instead. They're both UNIX-type certifications, but the Sun certification will be worth more simply because it is a Sun certification.
Another advantage of a Sun certification is that Sun doesn't obsolete it's certifications like Microsoft. For example, if you have a Microsoft Windows NT MCSE certification it will evaporate if you don't stay current by taking the Windows 2000 certification upgrade. If you don't do this, and the deadline for updating your certification passes, you are no longer certified as far as Microsoft is concerned.
Note: The above certification exams are based on the Sparc version of Solaris, not the x86 version. However, the differences between the versions are minor, and using the x86 version will allow you to use lower-cost hardware to try out Solaris to see if it's something you want to pursue. If you do want to pursue the certifications, you can graduate to the Sparc platform which we'll cover in the Going Beyond x86 section below.The certification exams are no walk in the park. However, a basic knowledge of UNIX commands will give you a leg up on the SCSA. Also, if you're familiar with LANs, DHCP, Sendmail, and the like you may find the SCNA exam easier than the SCSA exam. Take a look at the "Testing Objectives" link on the above certification Web page.
Hewlett-Packard offers UNIX servers and workstations and it's flavor of UNIX is called HP-UX. IBM also offers UNIX servers and workstations and their UNIX is called AIX. Someone with a Sun certification should find it relatively easy to get a job in a "UX shop" or "AIX shop".
More important than the flavor of UNIX one is experienced with, is which shell one is experienced with. While UNIX has several different shells (character-based interfaces to the OS), such as the C shell, the Korn shell, and the Bourne shell, experience with the Korn shell is probably the most valuable. This is because the Korn shell has more sophisticated shell scripting capabilities. However, the differences between the shells are relatively minor, and it wouldn't take you long to adapt to using a different shell.
So what if you have no intentions of pursuing a UNIX certification or UNIX administration as a career? I'd stick with Linux. There are a lot more resources available on the Web, a lot more books for all levels of users, it runs on lower-cost hardware, and the Gnome GUI is more intuitive. There are also more people involved in the development of the OS, not to mention drivers and applications for it.
Stuck In A Windows World ?
A lot of times the hardest thing about learning to use UNIX is getting to use UNIX on a daily basis. Many organizations are entrenched in Windows or Novell platforms and opportunities to work with UNIX simply don't exist.
If you're a network or systems administrator in one of these entrenched environments, one possible solution is to suggest setting up Solaris x86 on one or two older PCs to be used in two capacities:
The reason being is that there are a ton of free network monitoring tools (ntop for example) and security utilities (the nmap port scanner for one) available for the UNIX platform (and bosses find it hard to argue with the word "free"). On a LAN-connected system, running the Ethereal protocol analyzer can provide you with much of the same information as commerical sniffers costing thousands of dollars (take it from someone who has used both Ethereal and Fluke's Protocol Expert on the same dual-boot notebook). In addition to using utilities to run security checks against your Internet-connected servers, a Solaris system located in your DMZ could also run an IDS (Intrusion Detection System) application like Snort full time.
- As a network monitoring and troubleshooting tool
- As a security monitoring and testing tool (especially if you have Internet-connected systems)
Most of the free utilities are available in source code format and, make no mistake about it, compiling software on the Solaris platform will definitely be a learning experience, but it's knowledge you'll need to have if you want to work with Solaris. Many may also be available in a pre-compiled format at the Sun Freeware site mentioned later in this page.
Two good books that detail available free utilities for network monitoring and security monitoring respectively are the following:
The "Hack Proofing Solaris 8" book will help in hardening the OS of any DMZ-connected Solaris system. You wouldn't want your security monitoring system to itself become the victim of a hacker.
This setup was done with Solaris 9 - Release 9/04
This procedure was last updated on 11/28/2004
Solaris x86 can picky when it comes to hardware. It may not work on hardware that's not listed in the HCL (Hardware Compatibility List). My older Pentium system's motherboard was OK, and it found the hard-drive I had connected to the primary IDE channel (on the motherboard) but it wouldn't recognize the CD-ROM drive even though it was connected to the secondary IDE channel on the motherboard. (I had better luck on a system where the CD-ROM drive was connected as the slave on the primary IDE channel. I prefer to keep the CD-ROM drive off the hard-drive channel but if all else fails you can try this to see if it works.) You can view the HCL at:
However, I've installed it on a number of HP and Compaq desktops and even several PII clones and it worked fine. I think the most important componenets for compatibility are video cards and NICs. If those are on the HCL you might be OK even if the system itself isn't listed.
Minimum system requirements are as follows:
Be sure to use a DOS boot floppy with FDISK to remove any existing partitions on the hard-drive before starting the installation.
Note: The "IA" you often see in the HCL stands for "Intel Architecture" (i.e. a PC).
- Pentium CPU (PII is better - see below)
- 64 meg of RAM (128 is better and required for Oracle)
- 1 gig hard-drive (2 gig is better)
- A mouse (3-button is better)
- If you're planning on putting your Solaris box on a network, do yourself a BIG favor and use one of the supported PCI NICs
The Solaris x86 media kit contains a:NOTE: The installation failed when I had the system connected to a KVM switch. The installation routine would not properly detect a mouse so nothing but a bunch of errors were displayed when the GUI attempted to start.Don't even take the "Installation" CD out of the package. If you're installing in English you don't need the "Languages" CD either.
- an "Installation" CD
- a "Languages" CD
- two "Software" (OS) CDs
Here are the steps to install Solaris for x86:
- Boot off of the "Software 1" CD.
- The first series of screens in the install are character-based. As indicated, just use the F2 key to proceed through them. One common mistake made during this process is when a screen appears asking you to:When it asks you to select the boot device many people think it's asking for the device you will boot the operating system from after the installation, i.e. the hard-drive. However, selecting the hard-drive results in a "VTOC" error. What it is really asking you is from what device are you going to boot the kernel from during the installation. Since you're are installing the OS from the CD, you'll want to select your CD-ROM drive (by highlighting it and pressing the space bar) in response to this prompt."Select one of the identified devices to boot the Solaris kernel"
- When prompted for the "Type of Installation" select
- When prompted to select a language, select 0 for English.
- However, when prompted to select a locale, don't select 0 for English. Rather, press Enter to go down the list and select 57 for
U.S.A. ISO-8859(provided that's where you are).
- An installation overview screen will appear. Press F2 to continue.
- At the kdmconfig introduction screen press F2 to run it to detect hardware to set up the GUI. The "Current Window System Configuration" screen will appear listing the video, keyboard, and mouse settings.
The detection routing does a pretty good job of determining what you have (provided you don't have the system connected to a KVM). The "Resolution/Colors" may only have 256 colors listed but this is based on your video card memory and isn't really a problem. Given that Solaris 9 still includes Netscape version 4.78 it's not a machine you'll want to do a lot of browsing with. If you do want more colors try a lower resolution.
Also, check out the model of your monitor next to "Monitor Type:". I've had bad luck with name-brand monitor detections. If you have problems during the GUI test you may want to:
- select "Change Video Device/Monitor" and press F2
- press F2 again to keep the "video device" (i.e. your video card)
- in the "Monitor Types" list select the Mulitsync options best suited for your monitor specifications and press F2
- select your screen size and press F2
- accept the detected resolution/color combination for your video card
- select a virtual screen size that matches the screen size you selected in the previous step
- This will return you to the Current Window System Configuration with the "No changes needed" option already selected so you can just press F2 to continue and press F2 again to bring up the test screen before the GUI is actually started. After a bit you should see a graphic screen with a bunch of colored ovals and Yes/No buttons. You may need to size and center your monitor image at this point. Then just use your mouse to point to and click on the Yes button.
- The GUI will start and the "Solaris Install Console" window will appear in the upper-left corner of the screen. You don't need to do anything with this window. It's just there so you can monitor what's going on. You'll be presented with a series of windows asking for information and F2 confirmations.
- Select No when you are prompted about networking. I've always run into problems trying to set up networking during the install. You'll gain valuable knowledge setting up the networking after the installation anyway. (See the Setting Up Networking section below.)
- When prompted for a hostname enter something like 'solarisi' and press F2.
- The Time Zone setting is kind of drill-down thing. Start out by selection Americas, then United States, and then your local time zone.
- Press F2 to confirm the clock settings and then again to confirm the date, time, and time settings.
- At the Interactive Installation screen select Standard by pressing F2.
- On the Geographic Regions screen North America should have a slash next to it so just press F2.
- On the Software Selection screen Entire Distribution is already selected so just press F2.
- On the Select Disks screen your hard-drive will already be selected so just press F2.
- Next it will ask you if you want to use the Automatic Layout feature to lay out your file system. Press F2 to use it as you will still be able to customize it.
The following is based on what I got with a 4-gig hard-drive in my system. Adjust the values given here proportionally for your size hard-drive.
The auto-layout does a fair job only if you're setting up a file server because it allocates almost half the free space to the /export/home directory (user directories). In addition, the /var directory is where all of the log files are stored and it only allocates 65 meg to that.
- A list of "slices" will be displayed with only the top "root" selection (/) and "swap" selected. Use the Space Bar to select all of the slices and press F2.
- On the Disk layout screen you'll see how the auto-layout set things up. (Note that "overlap" isn't really a slice. It's more of a master partition which holds all the others. This is why, if you ever try to use DOS FDISK to work with a Solaris-partitioned hard-drive you'll just see one big non-DOS partition.) Now press F4 to Customize the layout.
If you don't select a given partition during the auto-layout process don't think you won't have that directory available to you. For example, if you don't select the /usr partition selection, you will still have a /usr directory. It will just be a directory on the "root" (/) partition.
If you're unclear about planning a partitioning scheme and laying out a file system, Chapter 1 of the "Solaris Solutions for System Administrators" book shown at the bottom of this page covers the subject in detail.
- On the Customize screen slice 0 (the root partition) will be highlighted and you can see all of the slices and what their sizes are. Near the top of the window you'll see Recommended and Minimum sizes for whatever partition is highlighted.
- According to the book "Solaris Solutions for System Administrators" (shown near the end of this page), /export/home is the old way workstations used to store user files locally. This is why the majority of the free disk space is allocated here. This will cause problems if you want to play around with the server aspects of Solaris. If you're not setting up a file server, arrow down to the /export/home directory and right-arrow over to its size and change it to 250 meg. On the lower part of the screen you'll see how much "Free" unallocated space you have to play with as a result of the change.
- Arrow up to the swap slice and change the size to the recommended 513 meg value shown near the top of the window.
- Arrow up to the /var directory and increase the size to 500 meg. Mailboxes, logs, and other "volatile" files are stored in various locations under the /var slice. (If your system may end up as a mail server you may even want to increase the percentage allocated to the /var slice.)
- Arrow down to the /opt directory and increase it to 875 meg. (This is where you'll install optional programs in the future.)
- Press F2 to accept your custom changes.
Note that if you decide to change the cutomized percentages, the /usr and /usr/openwin slices together should add up to at least 750 meg because we selected "Entire Distribution" earlier.
The following table summarized the changes we made to the auto-layout. The sizes given are in Mbytes:
/ c0d0s0 83 /usr/openwin c0d0s1 287 overlap c0d0s2 4100 /var c0d0s3 65 swap c0d0s4 589 /opt c0d0s5 25 /usr c0d0s6 1589 /export/home c0d0s7 1459 Customized
/ c0d0s0 83 /usr/openwin c0d0s1 287 overlap c0d0s2 4100 /var c0d0s3 500 swap c0d0s4 513 /opt c0d0s5 875 /usr c0d0s6 1589 /export/home c0d0s7 250
- Back at the layout screen press F2 to save your custom layout.
- We don't want to do any remote mounts so just press F2.
- With your "Profile" displayed press F2.
- At this point you'll likely see a boot warning screen. This is only because you booted off the CD but you've now set up your hard-drive as the boot device. It's more or less just reminding you to take the CD out of the drive before you reboot the system so just press F2.
- Select to Manually reboot after the installation is complete. That way you don't have to sit there and watch the installation to know when to take the CD out and press F2 to begin the Installation.
- Disregard the next screen unless you started the installation using a boot floppy. If you used a boot floppy, remove it now. Press F2.
The partitions will be created and the file copying/installing will begin.
- At the end of the installation the large window will close and only the small console window in the upper-left corner of the screen remains. This is because we selected a Manual reboot. You'll notice a # prompt at the bottom of this window. Move the mouse pointer so that it's over this window to bring focus to it and at the prompt type in:
and press Enter and remove the CD from the drive. (You may have to wait until the system actually starts to reboot before you can eject the CD.)Note: When I installed Solaris on an old HP Vectra the system hung at a white screen with a flashing cursor after the warm boot. Turning the system power off and back on got the installation going again without harm.
- While the system is booting up insert "Software" CD #2. Ingore any prompts you may see while the system reboots. They'll time out and boot into your new Solaris installation. Also disregard any errors you may see at this point. When the system finishes rebooting you'll be prompted to enter/re-enter a "root" (i.e. superuser) password.
- Once the GUI has started the installation should continue because CD #2 is already in the drive. There are no selections or configurations involved in this part of the installation. Be aware that your screen may go black during the copying. This is just the GUI's default screensaver kicking in. A mouse move will bring the screen back.
Once the installation finishes the system will reboot one last time and the GUI login screen should appear. Above I mentioned the CDE GUI interface. Once you log in as root for the first time you are asked to choose your GUI (CDE or Gnome). This is a matter of personal preference but most people choose CDE which is the defaulted selection. You can always try Gnome later by using the Options button on the GUI login window (under "Session").
You're in business !
The installation can be summarized in the following steps:
If you think you may have messed up during the install, simply boot off your DOS floppy and use FDISK to remove the "non-DOS partition" and start over.
- Put the OS #1 disk in the CD-ROM drive and boot off of it
- Go through the character-based part of the install
- The install then switches to GUI mode to finish the first CD
- At the end of the first CD installation reboot the system and remove the CD before the system starts booting to force it to boot off of the hard-drive
- Once the system starts supply a root password and use the OS #2 CD for the second part of the GUI installation
- Once the installation routine has finished with the OS #2 disk the system will reboot.
If you bought the media kit from Sun's Web site you can now pop in the "Software Companion" CD (contained in the "Bonus Software" pack of the media kit) and select the Default Install option. This will install things like ftp servers, Samba, as well as editors, GUI utilities and a host of other things. It'll present a list of what's going to be installed. If you see things you don't want, you can always click the "Back" button and use the Custom Install option. Note that you'll have to use the "Removable Media Manager" selection (from the pop-up menu above the "Home Folder" icon) to eject the CD when you're done.
If you were able to allocate a ton of space to the /opt slice you may also want to pop in the Documentation CD (also included in the media kit) and run the Installer on that. The reference manual collection alone will take up 90 meg and there are numerous other collections.
While in CDE you may want to play around with admintool. It's a GUI utility that allows you to manage user accounts, groups, printers, etc. Pop up the menu above the CPU/Disk "Performance Meter" icon and select "Console" to open a terminal window. Type in admintool at the # prompt to start the utility. The various options are under the Browse menu and Add/Modify/Delete functions are under the Edit menu.
You can access other applications by right-clicking on the desktop and clicking on "Applications".
If Help Viewer and File Manager keep popping up every time you log in and it gets annoying having to close them every time, here's a procedure to get a clean desktop when you log in:
If you're like me and you find yourself constantly opening a "Console" terminal window for command-line operations, you may want to have one of those open before performing the above procedure. That way it'll open automatically when you log in.
- Click on the Desktop Controls icon to open the "Application Manager" window with it's icons
- Double-click on the Startup Style Manager icon to open the "Style Manager" window (which auto-opens the "Startup" window)
- Alt-Esc to bring the "Application Manager" window again to the foreground and close it
- In the "Startup" window click on the Set Home Session button
- Also in the "Startup" window, in the "At Login:" area, select Return to Home session
- Close the Style Manager windows
You can change your video card, monitor, or screen resolution settings for CDE at any time by:
Solaris sets up all new accounts using the Bourne shell as the default. Since most Linux distributions default to the Bash (Bourne Again Shell) shell, learning the Bourne shell is not a bad way to go. However, if you plan on doing a log of scripting, the Korn shell would be better. You can set the default shell on a per-user basis. In a "Console" window, just type in admintool to bring up the GUI administration utility. Click on "Browse" on the menu bar and select "Users". You can then use the "Edit" menu to add or modify user settings. You should NOT change the default shell of the superuser (root). Use admintool to create an account for yourself with the shell you want and log in using that. If you want minimize the differences in switching between Linux and Solaris, you may want to download and install a Bash shell for Solaris.
- clicking on the Exit button on the CDE Front Panel to get back to the login window
- select Command Line Login from the Options drop-down list of the login window
- log in as root
- at the shell prompt type in kdmconfig and make your desired changes
- back at the shell prompt, type in
init 6to reboot your system
You don't want to just shut off a UNIX system. Open a "Console", terminal window and type in
init 5at the # prompt and press Enter to initiate a shut down sequence. The # is important here because this is the prompt you get when you are logged in as root, and only root (or a superuser-equivalent user) can shut down a Solaris system. If you don't have a # prompt it's because you're not logged into the system as root. After the shutdown process it's safe to turn off the system when you see the following three lines at the bottom of the screen:
Don't be concerned if there's a few utmpx error messages mixed in with the above. It's because /var is on its' own slice and it's not indicative of a problem. If you "type any key" the system will reboot. WhileThe system is down
synching files systems... done
Type any key to continue
init 5is used for shutting down the system, typing in init 6will reboot the system.
Except where noted, the networking, Apache, and Sendmail
setup information is also applicable to a Sparc system.
There are links to pages on setting up Oracle, Samba, etc.
in the Internet Resources section below.
Setting Up Networking
On Windows systems you enter networking information in a GUI window and the information is written to files (including the registry). In UNIX, you just enter the information into the files yourself, creating a few of them first.
You need to find out the name of the driver file for your NIC. We can use a text editor to look in the file that contains the driver information.
- (Intel only) Pop up the menu above the "Text Note" icon and click on Text Editor.
- (Intel only) Use the editor to open the file:
and use the Find feature (under Edit on the menu bar) to locate the model number of your NIC - example: 3C905 (3Com) or 9432 (SMC). Note that the Find feature is case sensitive in the CDE text editor.
- (Intel only) If your NIC is in the HCL it will be in the master file. The line for the SMC 9432 I'm using in my system looks like this:
pci10b8,0005 pci10b8,0005 net pci spwr.bef
I have the "spwr.bef" bolded because this is the driver name and you'll need to know the driver name for other files. Remember it.
Because there are many sub-models of the 3Com 3C905 NIC you'll want to look yours up because the 9xxx number will be different for each. The line for the 3C905B-TX is (those are two lower-case Ls in the driver name):
pci10b7,9055 pci10b7,9055 net pci elxl.bef
- (Intel only) Use the editor to open the file:
(Opening this file will automatically close the master file.) If your NIC is supported it will be listed here also. The line for my SMC NIC was:
which you can see is the same information found in the master file just rearranged a bit.
- Use the editor to open the file:
and enter a new line in it with the IP address you want to give the system on your network and its' hostname. I called my machine "solarisi" so I entered:
Make sure your press Enter after typing this in to create a new (blank) line beneath it! 192.168.10.20 solarisi solarisi.bigsunfan.com loghost
With your changes, the resulting the file should look like this:
127.0.0.1 localhost 192.168.10.20 solarisi solarisi.bigsunfan.com loghost
- Click on File on menu and select Save.
A note about Sendmail and the HOSTS file.
Sendmail is started automatically when you boot your system. Sendmail is picky when it comes to FQDNs (Full Qualified Domain Names). When you booted your system you may have seen the infamous Sendmail error:
sendmail[nnn]: My unqualified host name (solarisi) unknown; sleeping for retry
If you use your system to surf the Web technically you are part of your ISP's domain. But since you have no way of knowing what all of their host names are (so you can pick one that doesn't conflict), using foo.bar will help ensure you won't have a conflict. I verified with the Sendmail folks that using a dummy domain name for the FQDN entry won't cause DNS or other problems if you use the system to surf the Web.
- If your system is not part of an internal or external domain, you can use a dummy FQDN in your HOSTS file to get rid of the error. (If you don't get rid of the error your logs will fill up and then you'll start getting Sendmail NOQUEUE errors about not having enough space for "mqueue".) You can use a dummy FQDN like solarisi.foo.bar to get around this.
- If your system is part of an internal domain, replace the foo.bar with your internal domain name.
- If you are going to use this system to send/receive Internet mail, the Sendmail section below details some changes that need to be made to the HOSTS file.
- Now you set up an appropriate subnet mask. Open the file
and the top of the file has comments that explain the contents. You basically just enter your "network number" (not your system's IP address) followed by the subnet mask for your network. Given that the address I gave my system above (192.168.10.20) is a Class C IP address, my netmasks file looked like this:
The following table may help you determine what your network number and subnet mask should be based on the first number of your system's IP address:
IP Number Class Network Address Range Subnet Mask Private Address Range A 18.104.22.168 to 22.214.171.124 255.0.0.0 10.x.x.x B 126.96.36.199 to 188.8.131.52 255.255.0.0 172.16.x.x to 172.31.x.x C 192.0.0.0 to 184.108.40.206 255.255.255.0 192.168.0.x to 192.168.255.x
If you're setting up a small network in your home or office and you're not sure what IP address to use, use any address given in the "Private Address Range" above for a Class C network. This will allow you to have up to 253 nodes (aka "hosts" in TCP/IP lingo) on your network. If you don't know how the above address values are determined, you may want to check out the book Managing IP Address shown near the bottom of this page.
Once you've got the appropriate network and mask addresses entered, save the file.
- The hosts file mentioned above is used to resolve machine names to IP addresses on your local network. If you are connecting your system to a network that is connected to the Internet and you plan to use it to surf the Web, or have another need to resolve Internet domain names, you'll need to specify your ISP's DNS servers. This is done using another file called resolv.conf which you must create.
Create the new file using the text editor by clicking on File and then on New and enter the following lines:Note: When you save the following newly created files the /etc directory should already be selected as the target for the saved file. That's why no path is specified for file saves. However, verify that
" //etc/ "is in the "path or folder name"field when saving these files.
domain enter-your-ISP's-domainFor example, the file on my system is as follows:
domain execpc.comBe sure to hit Enter at the end of the last line and then save the file with the name resolv.conf
The above file is used if your system is not part of an Internet domain. If it is, i.e. you are going to use your system as an Internet server, you have to list your domain name on the domain line and list your ISP's domain (for DNS) using the search keyword as follows:
- Create another new file (by clicking on File and then on New) and enter the name of your system (the host name). That's all this file needs. (You could also enter the IP address instead of the host name which is needed if you want to assign multiple IP addresses to a single interface. See how below.)
- Save the file using the following naming convention:
where the driver_name is the name I said you should remember above, and the NIC_number is the number of the NIC in your system (numbered 0, 1, 2, etc.). Since I only have one NIC in my system, my file was named:
Use the actual word "hostname" as the name of the file, not the hostname you gave your system.
For Sparc system, the built-in ethernet interface's file name is either:
hostname.le0 (10 Mb)
hostname.hme0 (100 Mb)
If you need to assign multiple IP addresses to an interface, such as with hosting multiple Web sites on a single server (Apache's virtual hosting), create multiple files using the above naming convention but append a :1 and :2 etc. to the file name for each additional file. Each file should have a single, different IP address. For example:
hostname.spwr0 contains 192.168.10.20
hostname.spwr0:1 contains 192.168.10.21
hostname.spwr0:2 contains 192.168.10.22
- If your system is on a network that has a default gateway, you'll need to create a file for that also. If your system is going to be an Internet server the default gateway is likely the address of the router interface that connects you to your ISP. (See the Internet Resources section below for a link to a good explanation of routing.)
Create a new file using the text editor (click on File and then on New) and simply enter one IP address. This IP address however will be for your default gateway. Be sure to hit Enter at the end of the address and then save the file with the name defaultrouter
- Close the text editor.
- Unfortunately, simply creating the resolv.conf file earlier doesn't mean your system will automatically start to use it. Again, this file is only necessary if you will use your system to access the Internet or other large network where DNS servers are used to resolve system names. This includes simply using your system as a workstation to surf the Web. It doesn't have to be a server.
Yet another file called nsswitch.conf is used to "tell" your system which name resolution methods to use (host files, DNS, etc) and in which order to use them. Fortunately, the Solaris installation placed several different pre-written versions of the nsswitch file. The default file only uses the host file to resolve machine names.
In order for your system to use DNS servers, you'll have to issue the following command at the # prompt in a "Console" window:
cp nsswitch.dns nsswitch.conf
- While still in the "Console" window, type in
init 5to initiate a shutdown sequence and turn the system off and then back on (i.e. cold boot the system).
You should now be able to go to another system on your network and ping your Solaris box using the IP address you entered in the files above.
If you have an NE2000 compatible ISA bus NIC, see the Post Installation page on the Solaris On Intel FAQ Web site. There is a link to this site in the Internet Resources section below. You may want to visit this site even if everything with your NIC is working fine because they have info on printers, modems, etc. also.
If you want to put your box on the Internet as a Web or mail server, the sections below will get you up and running for testing purposes. You'll want to lock down your system before going "live" though or, trust me, it won't be long before your server is being used as a spam relay or IRC server.
If your company already has an Internet connection you can pick one of your available public static IP addresses your ISP assigned to you for your server's interface (NIC). If commercial cable-modem service isn't available in your area yet you'll have to look at ISDN (slow) or fractional T1 (expensive) solutions.
While the download version of Solaris 9 doesn't include a lot of the applications (server and otherwise) that comes on the Companion CD of the media kit, it does include the Apache Web server and Sendmail e-mail server software.
Apache can respond to browser requests from machines on your local network (i.e. an "Intranet" Web server) or from the Internet. The installation of the Solaris OS installed and set up most of the necessary Apache files. As a result, if you want to use your system as a Web server you only need to modify one file.
There are several key file locations (directories) you should be aware of:
The file we need to edit is Apache's primary configuration file, httpd.conf which is stored in the /etc/apache directory.
- "ServerRoot" - /var/apache
- "DocumentRoot" (HTML files) - /var/apache/htdocs
- CGI-BIN (script) files - /var/apache/cgi-bin
- Log files - /var/apache/logs
- Configuration files - /etc/apache
- Executable file - /usr/apache/bin
Note that in these configuration files the # character is used to indicate a descriptive comment line. Even though it's the same character, it has nothing to do with the command line prompt you see in a terminal window when you are logged in as root.
- Use the text editor to open the following file:
- Look in "Section 2" of the file for the following line:
- Substitute your e-mail address for the firstname.lastname@example.org
- A little farther down in the file you'll see the following line:
- Remove the # character from the beginning of the line
- Substitute new.host.name with your domain (solarisi.yourdomain.com)
- Save the file as follows:
- Click on File and select Save As
- The /etc directory may still be the default save location so use the "Folders" list to navigate to the /etc/apache directory
- Enter the file name httpd.conf (i.e. without the '-example') in the "file name" field
- Click on OK
- Exit the editor
From now on the Apache server will start automatically whenever you boot your system (it's the "httpd started" you'll see on screen while the system is booting) but for now start it manually by opening a "Console" window and entering the following command:
You should now be able to access the default Apache Web page using the Netscape on the same machine using the URL:
You should also be able to access it from a different machine on the network using the machine's IP address. Example:
Naturally, you'll need to have your ISP edit your "A" record on their DNS servers to point to your system's IP address in order for the system to act as a Web server for your domain (i.e. where the public can access the server by entering your domain name for a URL).
Sendmail starts automatically when you boot your system. It's set up to allow for e-mailing between various machines on a local network. You can even send mail between different user accounts on the same machine just by entering a user's login ID in the "To:" field.
Setting up Sendmail to act as your Internet e-mail server is a simple process.
Sendmail only reads the configuration files when it starts up so you'll need to restart the system to have your changes take effect. Also, just as with Apache, before you can start receiving Internet e-mails destined for your domain, the "MX" (Mail Exchange) record on your ISP's DNS servers will have to be changed to point to the IP address of your system.
- Use the text editor to open the following file:
- Look in the "local info" section of the file for the following two lines:
- Remove the # from the beginning of the line and enter the FQDN immediately behind the j character. For example, if your domain name in bigsunfan.com, the line should be:
Note that there are no spaces in this line.
- Press Enter to create a blank line under this line and enter the following:
Setting this masquerade value removes the system name from the return address of e-mails sent from your system. If you didn't do this, and your system name was solarisi and your login ID was iluvsun, e-mails sent by you would be have a "From:" address of
Making the above change results in the more common format for "From:" addresses:
- Save the file.
- Click on File on the text editor's menu line and select New.
- Enter your domain name (ex: bigsunfan.com) and press Enter to create a new (blank) line beneath it and do the following:
- Click on File and select Save As
- The /etc or /etc/apache directories may still be the default save location so use the "Folders" list to navigate to the /etc/mail directory
- Enter the file name sendmail.cw in the "file name" field
- Click on OK
- Exit the editor
- You'll also want to edit the /etc/hosts file that you edited in the Setting Up Networking section above to enter a FQDN (Fully Qualified Domain Name) for your system and also add the word "mailhost" to the line so it looks like this:
192.168.10.20 solarisi solarisi.bigsunfan.com loghost mailhost
- Save the file and close the editor.
While it is easy to get Apache and Sendmail running, there are a lot of sophisticated configuration settings you need to be aware of when running a production Internet server. Not to mention you need to seriously "lock down" your system against hackers. The Practical Guide To Solaris book mentioned below features some important considerations when setting up a mail server. The Solaris Sendmail FAQ site and the FAQ and configuration pages on the Sendmail site listed in the Internet Resources section below have helpful information on set up, rules and debugging errors.
A Neat Use
When I found that most models of Cisco switches and routers can write their log messages to an external UNIX server configured as a loghost, I configured my Solaris box to act as a loghost and wrote a Perl shell script to automate the process of checking for error messages and sending out an alert if any errors were found.
The details of setting up a Solaris box as a loghost, setting the Cisco devices to use a loghost, the shell script, and the cron job are all on the Automate The Monitoring Of Cisco Devices companion page.
If you are seriously going to get into Solaris, you'll eventually want to graduate to Sun hardware. New Sun hardware is expensive. However, you can pick up a used Sun system on eBay for less than $500. Look for a "Sparc 4", "Sparc 5", or "Sparc 20" system. I've seen Sparc 5 boxes go for less than $300. (Note that you'll also have to spend another $95 to get the Sparc version of Solaris 9 or download that version.) Just go to eBay's home page and type in sparc in the search box.
The main advantage of the Sparc 20 over the other two models is that it can accept multiple "MBus" processors and has more expansion slots, called "SBus slots". To give you an idea of how Sun's systems hold their value, the Sparc 20 was released in 1994, and there is still a lot of bidding going on when one of them is offered on eBay. However, a Sparc 4 or 5 will run Solaris 9 just fine so for a single-user system there's really no need to lay out the extra cash for a 20. Also note that adapters are available that will allow you to connect a PC monitor to a Sun system so you don't have to get a Sun monitor if you get a Sparc system.
Note: A Sparc 20 has an on-board monitor connector. However, you need a VSIMM in order for it to work. If you get a 20, check to see if it has either a VSIMM or a "frame buffer" (the Sun equivalent to a PC video card) installed. If it doesn't have either, you can get one of them as a separate item on eBay. The VSIMM will offer faster performance. They come in 4-meg and 8-meg models. However, some Sparc 10s can take a VSIMM but these are 70 nsec VSIMMs. These 70 nsec VSIMMs will work in a Sparc 20, but if you're going to lay out the cash for a VSIMM, verify with the seller it's a 60 nsec model made for the 20. The advantage of an 8-meg model is that it gives you 24-bit color at higher resolutions (1280x1024 and 1600x1280). With the 4-meg model you only get 8-bit (256) color at these higher resolutions. But if you have a smaller (16") monitor or you're using your Sun box mainly as a server, the 4-meg model will suffice.If you don't have the time to deal with auctions, you can check out Web vendors of used Sun hardware on the Web. They offer complete system packages as well as individual parts. While purchasing a complete package may be convenient, it may be more educational to pick up a "bare bones" box on eBay, and then pick up the parts you need to complete the system, either from other auctions on eBay, or from a Web vendor. Be careful though. Sun hardware is a myriad of part numbers and bus types and different terminology. Buying Sun hardware can be quite baffling to the beginner. That's why you may want to deal with a reputable Web vendor (many of whom sell items on eBay) so that you can tell them what you have and what parts you are looking for. They will know which parts you need. (If a Web vendor is selling items on eBay you can check out their "Feedback" comments as an indication of their reputation. Note also that many eBay sellers will accept PayPal payments.)
One of the big differences you'll notice with Sun boxes are the clock speeds. The Sparc 5 is usually offered with CPU speeds of 85, 110, and 170 mhz. However, the CPU chips in Sun boxes are RISC chips (Reduced Instruction Set) so they are significantly faster than an Intel chip of a comparable clock speed. However, memory isn't what it is on a PC. You'll want a minimum of 64 meg on your Sparc. Sun memory is specific to certain machines so make sure you get the right SIMMs for your model of Sparc.
If you have spare cash and you want to get a higher-end machine, look for "Ultra" systems. These will be considerably more expensive (around $1000 to start). The Ultra line is the next step up from Sparc.
To give you a bit of perspective on Sun hardware, the Sparc, Ultra, and other Sun workstation models are meant to be fast graphics machines. They're used primarily in the CAD (Computer Aided Drafting) industry and other areas where three-dimensional modeling is used. As a result, you'll see a lot of graphics accelerator video hardware available for these systems. However, this intense graphics processing isn't needed with servers or administration workstations so don't waste money on high-end graphics cards when buying used hardware. Not to let have Sun have all the fun, Red Hat and Debian have Sparc versions of their Linux products. Why anyone would want to spend the extra money for Sun hardware and load Linux on it is beyond me, but there must be a market for it or they wouldn't offer it.
Clicking on the links in this section will open a new browser window.
Some of the sites below have downloads available. In the first section I mentioned obtaining files as binaries, source, and tar balls. If you want to download a file for your Solaris system but it's not connected to the Internet, you can still do so provided it's connected to a local network. By default, Solaris runs an FTP server daemon when you boot your system. You can use any system on your local network that has Internet access to download the files, and then use your FTP program (using your Solaris system's IP address for the "Host" setting in the FTP program) to transfer the downloaded files to it. Note that you cannot use the "root" ID to access your Solaris system via FTP. You'll have to create a separate user account for yourself and use that in the FTP program.
The official Sendmail and Apache sites:
Database Specialists has a great step-by-step page on setting up Oracle on Solaris. It is based on the Sparc platform but is valuable for x86 as well.
Samba allows your system to act as a Windows server (even a domain controller) to Windows workstations. It's also useful when files have to be exchanged between the two platforms. Binaries are available.
sunfreeware.com has a wide variety of pre-compiled binaries for most versions of Solaris for both Intel and Sparc platforms. This includes many of the GNU products (like the GCC C compiler) and other utilities.
Dan Anderson's Solaris on Intel FAQ site is a good information resource:
The main Solaris page on Sun's site features a lot of links to supplemental software packages that you can download:
and Sun's BigAdmin site has FAQs, shell script collections, command references, discussion boards, and a gobs of other Solaris-related stuff for the Solaris "sysadmin" (including beginners):
A Solaris x86 community portal, this site features the latest news on Solaris x86 as well as loads of links to helpful information:
Chances are when you buy a used Sun system you're not going to get the manuals with it. If you go to Sun's documentation site and click on the Products link at the top of the home page you'll be able to drill down to find the documentation for your hardware:
Yahoo! has a Solaris x86 discussion board going at:
There are a couple newsgroups dedicated to Solaris also:
and several dedicated to Sun and CDE in general (but you can get Sparc and Ultra info in the comp.sys.sun.hardware group):
Learning UNIX solely from books is tough. If at all possible, take a class, but reading an intro book before starting the class will be a BIG help. Below are the more easier-to-understand books on UNIX and TCP/IP that I've bought. Clicking on a book's cover will take you to Amazon's "detail" page where you can read an overview of the book and comments posted by those who have purchased it.
The comments next to the book cover are my own and they are my honest opinions, not a sales pitch.
Practical Guide To Solaris is largely a UNIX book for beginners. What the author refers to as "Solaris utilities" are actually basic UNIX commands. Perhaps a better title would be "Learning UNIX on a Solaris system". There is a fair amount of Solaris-specific information, but if you're already good with UNIX or Linux commands you may want to look at more advanced books. While I wouldn't recommend trying to learn UNIX only from books, this book would be an excellent preparation for anyone planning on taking a UNIX or Solaris class. It would also be an excellent choice for those who don't have access to UNIX or Solaris classes, but do have a Solaris system to "play around on".
Solaris Solutions for System Administrators is one of those enlightening books that explains the "why", not just the "what". It's also a real-world type of book that covers things like how to set up and schedule backups, how to apply OS patches, dealing with the security issues of an Internet-connected server, and tools you can use to interact with NT servers (the actual title of the chapter is "Coexisting with the Evil Empire"). The book is also a fairly easy read, which is not very common in the world of Solaris literature.
If you've been working with networks and TCP/IP Cisco's First Year Companion Guide is THE book for you. It's one of my all-time favorite networking books. It's actually the first-year text book for the Cisco Networking Academy program but the first half of the book (first semester of the program which is Chapters 1 through 15 in the book) deals entirely with the "basics" of networking. It has one of the most thorough presentations of the OSI model I have ever seen in any book, and understanding the functions of the various layers in the OSI model is understanding how networks work. Address classes, subnetting, encapsulation, and the functions of switches and routers are all covered. (The router programming stuff is covered in the second half of the book.) A strong foundation in the OSI model is also valuable for those who may wish to pursue the CCNA certification some day. The book gets some bad reviews on Amazon due to some typos and misplaced diagrams. But the fact that you can easily identify a typo or misplaced diagram indicates you understand the material.
If you want to get more in depth information on how to configure the Apache Web server software, as well as learn more about how it all works, get Apache Server for Dummies. While it may not appear so on the surface due to its' easy setup, Apache is a very complex application. This book will help you take advantage of that complexity, including setting up multiple sites on one server. I would consider this book (or one like it) a necessity if you want to set up a serious Web server. Note that the paths he gives in the book are for a vanilla Apache installation. Solaris installs the configuration (/etc/apache) and document (/var/apache/htdocs) directories in different locations, and these locations are different than what is given in the book, but it's an easy adjustment to make.
O'Reilly's book Sendmail, commonly referred to is "the bat book", is the industry bible when it comes to Sendmail. However, it's definitely not the first book on Sendmail you want to read. Sendmail: Theory and Practice is much more beginner oriented. Sendmail is a very complex server app (just take a look at the sendmail.cf file). This book provides the path from beginner to Sendmail administrator (and the bat book). If you're going to Amazon to shop for something other than the above titles, please use this link to go there.
Attention Network Administrators
Monitor the temperature, humidity, and AC line power in your server room 24/7 with a Sensaphone. Cost of the Sensaphone 1104 unit and optional sensors is only around $400! It will dial pagers and deliver a synthesized voice message to cell phones.
I do not have any financial interest is mentioning this. I simply want to pass along a good thing when I find it (and I was searching for something like this for weeks).
Another gem is IP Sentry. Monitor your NT and UNIX/Linux servers (file, application, and Internet servers) 24/7 with e-mail and pager alerts. Monitors individual services on NT servers and individual protocols (http, ftp, etc) on Internet servers. Only $99 and you can download a free trial version! I likewise have no financial interest in this product.
If you're administrating NT/2000 networks you may want to check out Hyena. It basically takes User Manager, Server Manager, and a host of other administration utilities and rolls them all into on GUI interface. The Enterprise edition allows you to manage Exchange accounts (even manage Exchange accounts automatically when managing user accounts), all for $270. ($199 without the Exchange piece). You can download a free trial of this also. And you guessed it, no financial interest here either.
Did you find this page helpful ?|
If so, please use the Amazon book links to help pay
the costs associated with making this page available.
IN NO EVENT WILL KEITH PARKANSKY BE LIABLE TO ANY PARTY (i) FOR ANY DIRECT, INDIRECT, SPECIAL, PUNITIVE OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, DAMAGES FOR LOSS OF BUSINESS PROFITS, BUSINESS INTERRUPTION, LOSS OF PROGRAMS OR INFORMATION, AND THE LIKE), OR ANY OTHER DAMAGES ARISING IN ANY WAY OUT OF THE AVAILABILITY, USE, RELIANCE ON, OR INABILITY TO USE THE INFORMATION, METHODS, HTML OR COMPUTER CODE, OR "KNOWLEDGE" PROVIDED ON OR THROUGH THIS WEBSITE OR ANY OF ITS' ASSOCIATED DOCUMENTS, DIAGRAMS, IMAGES, REPRODUCTIONS, COMPUTER EXECUTED CODE, OR ELECTRONICALLY STORED OR TRANSMITTED FILES OR GENERATED COMMUNICATIONS OR DATA EVEN IF KEITH PARKANSKY SHALL HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES, AND REGARDLESS OF THE FORM OF ACTION, WHETHER IN CONTRACT, TORT, OR OTHERWISE; OR (ii) FOR ANY CLAIM ATTRIBUTABLE TO ERRORS, OMISSIONS, OR OTHER INACCURACIES IN, OR DESTRUCTIVE PROPERTIES OF ANY INFORMATION, METHODS, HTML OR COMPUTER CODE, OR "KNOWLEDGE" PROVIDED ON OR THROUGH THIS WEBSITE OR ANY OF ITS' ASSOCIATED DOCUMENTS, DIAGRAMS, IMAGES, REPRODUCTIONS, COMPUTER EXECUTED CODE, OR ELECTRONICALLY STORED, TRANSMITTED, OR GENERATED FILES, COMMUNICATIONS, OR DATA. USE OF THIS SITE CONSTITUTES ACCEPTANCE OF ALL STATED TERMS AND CONDITIONS.