GroupWise 6.5 for Linux is a self-contained groupware product that can run in a pure Linux environment. GroupWise 6.5 for Linux includes the following software:
- Administration: ConsoleOne for Linux with GroupWise 6.5.1 Snapins
- Server Agents: All GroupWise 6.5.1 Agents such as the POA, MTA, GWIA, and WebAccess Agents
- Client: The GroupWise Cross-Platform Client
GroupWise 6.5 for Linux is yet another enterprise-class solution from Novell for the Linux platform. Novell GroupWise third-party vendors are joining Novell to further strengthen GroupWise on the Linux platform. However, the reality is that most GroupWise systems are running in a NetWare server/Windows workstation environment. As such, most GroupWise administrators will want to integrate GroupWise 6.5 for Linux into their already existing NetWare server/Windows workstation environment.
As is customary with Novell solutions, GroupWise 6.5 for Linux does not require you to "rip and replace" your existing infrastructure. In fact, for customers already on the GroupWise 6.5 platform, it's not even an upgrade. You can just tuck GroupWise 6.5 for Linux into your already existing system. GroupWise 6.5 for Linux is completely compatible with other non-Linux GroupWise agents and clients that already exist in a GroupWise 6.5 system. For example, a GroupWise 6.5 MTA on a NetWare server can seamlessly communicate with a GroupWise 6.5 POA on a Linux server. The GroupWise Windows client can seamlessly access a GroupWise post office that's running on a Linux server. So can any one of the many GroupWise client solutions that are currently available, such as the GroupWise Cross-Platform client, Microsoft Outlook, IMAP clients, GroupWise WebAccess, and Wireless clients such as Pocket PC, Palm OS, WML and HDML devices.
This article explains how to create a GroupWise post office on a Linux server within an existing GroupWise system running in a NetWare server/Windows workstation environment. The only thing that can be difficult about integrating GroupWise 6.5 for Linux is the Linux learning curve. So read on to learn a little bit more about Linux before you take the plunge.
Different versions of Linux can have vast differences in appearance, menu choices and utilities. All shell commands and utilities at a terminal or shell session (which is like a DOS command prompt) are generally the same on all versions of Linux. So it's usually simplest to explain a Linux procedure from the perspective of running a terminal or shell session rather than assuming that the Linux installation has a graphical user interface (GUI) to perform a certain task.
*Note Linux is case sensitive. Be sure to use the correct case for commands, as well as for switches and parameters, as you execute a command.
However, the steps in this article are based on SUSE Linux Enterprise Server 8. Some of the procedures use commands and utilities in a terminal session. Others use GUI-based utilities that come with SUSE Linux Enterprise Server 8. (For more information on commonly used terminal commands see Common Linux Terminal/Shell Commands.)
Current GroupWise 6.5 System Layout
Following is an example system that closely mirrors the average GroupWise 6.5 environment:
Existing Servers: NetWare 6 and NetWare 6.5 fully patched running various GroupWise 6.5 agents.
GroupWise Administrator's Workstation: Windows 2000, with the latest NetWare client. ConsoleOne 1.3.5 (or better) with the GroupWise 6.5.1 Snapins.
SUSE Linux Installation and Configuration
First, let's introduce a Linux server. Throughout this article, we'll use SUSE Linux Enterprise Server 8 with all the updates that are installed from online sources when the server is first installed. We won't concentrate on how to install SUSE Linux Enterprise Server 8 in this article because the installation is far too simple for words—really!
*Note When you install the SUSE Linux Enterprise Server 8 server, you are required to enter a password for "root." Remember this password.
The installation of SUSE Linux Enterprise Server 8 is simpler than any other operating system I have installed. It's just a matter of doing
1 Plug the server into your network with access to the Internet.
2 Configure the server BIOS so it boots the server from a CD-ROM drive first.
3 Insert the first installation CD for SUSE Linux Enterprise Server 8.
4 Re-boot the server.
5 Follow the very simple installation prompts, always accepting the default settings unless you know a good reason to change them.
Now, log into SUSE Linux Enterprise Server 8 as the user "root" by following these steps:
1 Select the Start Application icon.
2 Select the Logout menu choice.
3 If the prompt reads "End session for root," click Cancel because you're already logged in as "root." If the prompt reads "End session for <anyone other than root>," select "Login as different user" and when you have a Login prompt, login as "root."
For the remainder of this article I'll assume you're logged in as "root." Also, just so we're on the same page, I'll assume you're using the KDE desktop.
NOTE Be aware that logging in as "root" is risky—like logging into eDirectory as the admin user.
Static IP Address Configuration
Use the YaST configuration utility that comes with SUSE Linux Enterprise Server 8 to assign a static IP address for the SUSE Linux Enterprise Server 8 server. YaST is similar to the Control Panel on a Windows machine.
1 Select the Start Application icon.
2 Select YaST2 from the System menu.
3 From within YaST2, select the Network/Basic icon.
4 Select Network card configuration.
5 Select the Change... button to configure the Network Interface Card.
6 Fill in the IP Address and Subnet mask and then click on the Routing button to fill in the Default Gateway (the router that allows the network hosts to talk to hosts outside the current subnet).
Generally, the IP address changes automatically. Use the "ifconfig" command in a terminal/shell session to confirm this by taking the
1 Open a terminal/shell session by clicking the seashell and monitor icon on the Taskbar.
2 Within the terminal session type: ifconfig
3 Look at the inet addr: section from the ifconfig command results and make sure that it shows the IP Address that you assigned. If the IP Address is not what you assigned, log out and reboot the Linux server and log in again as the user root.
Create Windows Connectivity to the Linux Server
To create a new GroupWise post office on the Linux server, the administrator's workstation that is running ConsoleOne must have a drive mapped to the Linux server. Then share the Linux server's hard drive on the network. This way Windows workstations can map a drive (often called a "share") to the Linux server.
Windows workstations natively speak a network protocol called SMB (Server Message Block). This protocol is commonly known as Windows Networking or the CIFS protocol. Just below the SMB protocol is a supporting protocol that SMB requires, called NetBIOS. By configuring a Linux server to support these two protocols, NetBIOS and SMB, the SUSE Linux Enterprise Server 8 server can share it's hard-drive. The software to enable this functionality is referred to as SAMBA or SAMBA server (note the reference to SMB).
Take three simple steps to implement a basic, yet secure, SAMBA service:
1 Create a Linux user login.
2 Create a SAMBA user login. In this article, gwadmin is used as both the Linux user login and the SAMBA user login.
3 Activate the required daemons (services) to run the SAMBA server. All the commands are explained in the next three steps and are shown in Figure 1.
- Open a terminal/shell session on the Linux server.
- Add the gwadmin user, make a home directory for that user and add that user to the "root" group by issuing the following command:
useradd –mg root gwadmin
- Assign a password for gwadmin:
Fill in the password when prompted. In this example, use novell as the password. (Don't worry about the messages you may get such as "Bad password: too simple." I tried several password variations and got similar messages.)Step 2 Add the user gwadmin as a user that can authenticate to the SAMBA server.
- Open a terminal/shell session on the Linux server.
- Issue a command to add the gwadmin user's credentials to the SAMBA server:
smbpasswd –a <userid> <password>.
- Following is the syntax using the gwadmin account as our example:
smbpasswd –a gwadmin novell
- Open a terminal/shell session on the Linux server.
- Change to the directory /etc/rc.d:
- Start the nmb daemon:
- Start the smb daemon:
NOTE Both of these daemons support the "status" and the "stop" parameters. (See Figure 1.)Step 4 From the Windows workstation, map a drive to the Linux server.
- From the administrator's Windows workstation, right-click on Network Neighborhood or My Network Places (depending
on your Windows version), and select Map Network Drive.
NOTE Do not select Novell Map Network Drive because the NetWare client is not enabling the NetBIOS/SMB protocol; Windows is enabling it.
- Choose a drive letter and fill in the IP address of the Linux server and the Linux userid. (See Figure 2.) For example:
"\\126.96.36.199\gwadmin" (without the quotes).
- Click Finish.
- When it prompts you for the username and password, enter the Linux username and password you used earlier when issuing the "smbpasswd" command, and then click OK. Again, in our example, the username is gwadmin and the password is novell.
You now have a drive letter mapped to the SUSE Linux Enterprise Server 8 server from the GroupWise administrator's Windows workstation. On the Linux server, the location that has been mapped in this example is /home/gwadmin. Now that you have a drive letter mapped to it, the next step is to create the post office on the Linux server.
Create a New GroupWise Post Office on the Linux Server
1 From the drive letter that you mapped to the Linux server, in Windows Explorer create a folder/directory for your post office with a name that does not exceed eight characters, such as itspo. In our example, this created the itspo directory under /home/gwadmin on the Linux server.
*Note Linux is case sensitive. I suggest you create the folder in lowercase.
Now create a GroupWise post office on the Linux server. The steps for creating a GroupWise 6.5 post office on the Linux server are the same as if the post office were being created on a NetWare or a Windows server. Creating a post office is as simple as following a wizard, so this section highlights only the major steps:
- In ConsoleOne, connect to the GroupWise domain off of which this new post office will be created.
- From the GroupWise view, right-click on the domain that will own the new post office.
- Select New and then Post Office.
- Fill in all of the appropriate fields for the "Post Office Database Location." Browse to and select the folder/directory you created on the Linux server. Figure 3 shows the ITSPO post office being created.
- Keep the Configure Link option checked, and click OK.
- Finish the post office creation wizard. Note that the IP address that you indicate will be the IP address of the Linux server.
- From your Windows workstation, go to the post office directory and confirm that the post office directory contains the files wphost.db and ngwguard.dc. Also, confirm that the OFVIEWS directory was created, and it should have a subdirectory off of it called WIN. The WIN directory should contain several files.
*Note The name of the ngwguard.dc must be all lowercase. For example, the name of the file must not be Ngwguard.dc or NGWGUARD.DC, etc. if the file is named anything other than ngwguard.dc, correct it by renaming the file to ngwguard.old and then renaming it back to ngwguard.dc.
Prepare GroupWise Installation Software and Determine the Linux Mount Point for CD-Rom Installations
The GroupWise 6.5 for Linux software is commonly distributed from Novell in three different forms:
1 An *.ISO image that can be burned to a CD.
2 A CD Disc.
3 A file with a filename extension of *.TAR.GZ. The *.TAR.GZ file is a Linux file that is archived and compressed similar to a Windows/DOS *.ZIP file.
Take the following steps to prepare your media for installation:
CD-Rom Disc and *.iso Image
Placing a CD in the CD-ROM drive of a Linux server doesn't guarantee that the CD is available. The disc may be mounted and available by default, or...it may not be. So make sure your CD is mounted and accessible. Also, there's no such thing as a drive letter in Linux. So in order to get to a CD-ROM Disc, access it from a "mount point" from the /media folder. Follow along to see how:
1 If you already have a CD for GroupWise 6.5 for Linux, skip to step 2. If you only have an *.ISO image, burn the *.ISO image to a CD using CD burner software that will burn *.ISO images. You may burn the *.ISO image on a Windows machine.
2 Insert the CD into the CD-ROM drive.
3 Confirm that the CD is mounted.
- Open up a terminal/shell session.
- Type the mount command to determine what the mount point is for the device "/dev/sr0" which is a device type of iso9660:
In the response that is returned from the mount command, look for text similar to the following:
/dev/sr0 on /media/cdrom type iso9660
On my server, I get the following response from the mount command:
/dev/sr0 on /media/cdrecorder type iso9660
This means the CD is mounted and its mount point is /media/cdrecorder.
- From the terminal/shell prompt, change to the /media/<device name> directory. For example:
cd/media/cdrom. Or in the case of my server, cd/media/cdrecorder.
- When you get to the mount point, get a directory listing and confirm that you see the contents of the CD-ROM Disc. The command for listing
files is ls. (See the Common Linux Commands table.)
If your CD is not mounted, troubleshoot and try to mount the CD in the Control Center utility by taking these steps:
- Select the Start Application icon.
- Select Control Center.
- Select Information from the Control Center.
- Select Block Devices.
- Determine the mount point that is mapped to /dev/sr0.
- Mount /dev/sr0 from the Control Center.
Working with a *.TAR.GZ File
SUSE Linux Enterprise Server comes with a GUI-interface utility called "Ark" that can un-archive or unzip *.TAR.GZ files. Ark does not need much explanation because it's easy to use.
1 Find the Ark utility under Start Application | System | Tools | Ark.
2 Within Ark, browse to the *.TAR.GZ file.
3 Select Action | Extract and define a location to which you'll unzip the file on the Linux server. For example, /gw651sdd.
Install the GroupWise 6.5 for Linux Agent Software
This is the easiest part of this process. The GroupWise Agent installation is wizard-driven with a GUI installation. Following are steps for installing the GroupWise Agent software.
1 Open up a terminal/shell session.
2 Go to either the mount point on the CD-ROM Disc or the place where you extracted the TAR.GZ file. For example you might type in the command:
or if the contents of the TAR.GZ file are in a directory called gw651sdd:
3 You should have a file named "install". Execute install by typing the command:
4 A GUI install screen comes up. Select Install Products and then GroupWise Agents and then Install GroupWise Agents. Let the wizard install the GroupWise 6.5 for Linux agent.
5 After the agents have been installed, select Configure GroupWise Agents.
6 Proceed through the wizard and configure the path to the post office. (See Figure 4.)
Checking Post Offices on a Linux Server with GWCHECK
The GroupWise 6.5 for Linux Post Office Agent can run Mailbox/Library Maintenance (GWCHECK) jobs that you issue from ConsoleOne. But on the occasions when you need to run a stand-alone GWCHECK, you should run the Linux-based GWCHECK for post offices housed on a Linux server. GWCHECK should be installed right on the Linux server that houses your GroupWise post office. Here are the steps for installing, and starting GWCHECK on a Linux server.
1 Make sure that a GroupWise 6.5 for Linux CD or Software Distribution Directory is accessible from the Linux server.
2 Open a terminal/shell session on the Linux server.
3 Using the cd and ls commands navigate to the /admin directory on the GroupWise 6.5 for Linux CD or the GroupWise 6.5 for Linux Software Distribution Directory.
4 In the /admin directory issue the ls command to locate the *.rpm that is used to install the GroupWise 6.5 GWCHECK software. For example the name of the file might be:
Note An *.rpm file is an installation file created using the Redhat Package Manager format. The *.rpm file format is a popular installation file format for Linux, somewhat like the InstallShield format on the Windows platform.
5 To install the *.rpm file, use the rpm command with the install, verbose, and progress hash mark switches as shown:
rpm –ivh <filename.rpm>.
rpm –ivh groupwise-gwcheck-6.5.1.i386.rpm
6 The GroupWise GWCHECK software is installed to the /opt/novell/groupwise/gwcheck/bin directory. The executable name is:
gwcheck. Use the ./ parameter to run the gwcheck code.
When you run gwcheck you will get the Mailbox/Library Maintenance (GWCHECK) configuration interface similar to the Windows GWCHECK interface, as shown in the figure below.
Run the GroupWise 6.5 for Linux Post Office Agent Software
The GroupWise 6.5 for Linux Post Office Agent (POA) software can be run in a couple of different ways. When you first run the POA, it's best to load the POA so you can see the POA's user interface. Load the POA with command line parameters at first without using a startup file. Then as you've confirmed that the POA will load, you can rely on more automated methods for loading the GroupWise 6.5 POA on Linux. Here are the steps I first used to load my GroupWise POA for the ITSPO post office.
1 Open up a terminal/shell session.
2 Type a special command to allow a GUI application to launch from a terminal/shell session:
xhost + localhost
NOTE If you get an error when using the xhost command or when you go to load the GroupWise POA, and the GUI screen doesn't come up, try the following:
1 In the terminal session, switch to the user gwadmin:
2 Enter the command: xhost + localhost
3 Log back in as root with the su root command. This procedure generally clears up problems using the xhost command.
4 Change to the /opt/novell/groupwise/agents/bin directory:
5 Type the command to run the POA allowing it to show its interface. Add the switch to tell the POA the home location of the post office and use the ampersand symbol to tell the POA to run in the background:
./gwpoa –show –home /home/gwadmin/itspo &
You should get a screen similar to the one shown in Figure 5. If you get errors about the ngwguard.dc file, read the note earlier in this article on how to fix this error.
6 Once you have confirmed that the POA will load correctly, bring it down, and load it using a startup file. When you installed and configured the POA from the installation wizard, it created a startup file in the /opt/novell/groupwise/agents/share directory. In our example, the ITSPO.poa startup file was created in the /opt/novell/groupwise/agents/share directory. Use the following syntax to incorporate this file into the run command of the POA. It is assumed that the current directory is /opt/novell/groupwise/agents/bin:
./gwpoa –show @../share/ITSPO.poa &
If the Linux server is re-booted, the GroupWise POA will still come up without any effort on your part. The GroupWise Agent installation
made a load script called "grpwise" which is in the /etc/rc.d directory. A symbolic link
(like an alias) to the load script is placed in the /etc/rc.d/rc5.d directory. The name
of the symbolic link in the .../rc5.d directory is "S99grpwise." Scripts referenced in the
.../rc5.d directory are automatically run when the server boots up. However, when the POA
loads from the script file, you can't see its GUI interface. So in order to see evidence of the POA, use the "ps" command which shows
loaded processes. Use the following ps command syntax to find the instances of the GroupWise POA that are running:
ps –eaf | grep gwpoa
On my server, there was a listing of several GWPOA processes, with their process id (pid). See the example of the first couple of lines that are listed:
root 1178 1 2 15:46 pts/1 00:00:00 ./gwpoa ....
root 1179 1 2 15:46 pts/1 00:00:00 ./gwpoa ....
root 1180 1 2 15:46 pts/1 00:00:00 ./gwpoa ....
By issuing the kill command on the first instance of the GWPOA, I can terminate the GroupWise POA. Following is the kill command I used to bring down the GroupWise 6.5 POA for Linux, referencing the pid for the first instance of the GroupWise POA:
And if you want to start the GroupWise POA again without the GUI interface, go to the /etc/rc.d/rc5.d directory and enter the following command:
Now that you've created the post office, you can create a test user and test logging in with any one of the GroupWise clients listed at the beginning of this article. You can also monitor the GroupWise POA on the Linux server from a Web browser using the HTML monitoring interface built into the POA.
*Summary GroupWise 6.5 agents look familiar to those who have already administered GroupWise. between the commands in the Linux Primer in this article and a little bit of practice you'll find that implementing GroupWise on the Linux platform is simple—and fun!
|Common Linux Terminal/Shell Commands|
|list the contents of a directory||ls||
List all files in a directory: ls
List all files in a directory which start with "gw": ls gw*
List all files and their sizes in a directory: ls -s
List files in a directory with verbose information
about the files: ls -la
|print the name of the current working directory||pwd||List the name of the current directory: pwd||prompt $P$G|
Change to the root directory: cd /
Change to the /etc directory: cd /etc
|make a directory||mkdir||Make a directory called "dir1": mkdir dir1||md dir1|
|delete/remove a directory||rmdir||Delete or remove a directory called "dir1": rmdir dir1||rd dir1|
|read a file and display it on the screen||cat||
View the contents of file.txt: cat file.txt
The file has a lot of text that scrolls by and you want to view it screen by screen:
cat file.txt | more
type file.txt | more
|find a file or directory||find||
Find the "file2.txt" file that is located somewhere on your Linux server: find / -name file2.txt
Find the "Novell" directory that is located somewhere on your Linux server: find / -name Novell
|No direct equivalent DOS command|
|move a file to a new path||mv||
Move the "file.txt" file from the /temp directory to the /etc
directory: mv /temp/file.txt /etc
|move /temp/file.txt /etc|
|rename a file||mv||
Rename the "file.txt" file to "test.txt":
mv file.txt test.txt
|ren file.txt test.txt|
|delete/remove a file||rm||Delete/remove the "file.txt" file: rm file.txt||del file.txt|
|break out of a process||Ctrl-c||
You used a command and now you want to break out of it:
Hold down the Ctrl key and the c key.
|clear the screen||clear||Clear the current terminal screen: clear||cls|
|find a command that will help you to do something, but you don't know the name of the command||apropos||Find commands related to creating a zip file: apropos zip||The help command is somewhat like apropos|
|print help information regarding a command||--help||
Many shell-based utilities (not all) will print a help screen by adding the --help switch to the end of the command. For example:
|Sometimes there's just too much information or text coming at you. The "grep" command helps you filter the information.||(See example)||
Find commands related to zip files, but with specific mention to "gz":
apropos zip | grep gz
|No direct equivalent DOS command|