Linuxconf is most strongly associated with the Red Hat and Mandrake distributions, which have traditionally shipped with Linuxconf as their default GUI configuration tool. Linuxconf wasn't developed by Red Hat or Mandrake, though, and it works with many other distributions, including Caldera, Debian, Slackware, and SuSE. The program's home page is http://www.solucorp.qc.ca/linuxconf/, from which you can obtain it in tarball and RPM formats.
Linuxconf includes both local (text-based and GUI) and remote (Web-based) operation modes. To use it remotely, you must enable the Linuxconf Web-based operation, which is disabled by default in most installations. Using Linuxconf in its Web-based mode is much like using it in its local text-based or GUI modes, although the displays look somewhat different.
Configuring Linuxconf to Work Remotely
A default installation of Linuxconf works in text mode, and usually in one of two GUI modes (most distributions that come with Linuxconf favor the GNOME-Linuxconf GUI, but Solucorp officially favors another called Linuxconf-GUI). There's also a Java-based GUI in the works. The default installation doesn't enable the Web-based interface, so you must do that yourself. This entails both running Linuxconf as a server and configuring it to accept logins via the network.
Running the Linuxconf Server
The most common method of running Linuxconf as a server is to run it from a super server such as inetd or xinetd . To run it in this way, you must ensure that your /etc/services file contains an entry that identifies the Linuxconf port, as follows :
You must also configure your super server to handle Linuxconf. To do this, have the super server run the linuxconf binary with the http option. For instance, an /etc/inetd.conf entry for Linuxconf might resemble the following:
linuxconf stream tcp wait root /bin/linuxconf linuxconf http
If your system uses xinetd and ships with Linuxconf, the Linuxconf package probably includes a startup file called linuxconf-web or linuxconf in the /etc/xinetd.d directory. As described in Chapter 4, you should ensure that this file does not have a line that reads disable = yes ; if it does, change yes to no to enable Linuxconf's remote access.
Authorizing Remote Access
Once you've configured your super server to run Linuxconf, you can use any Web browser to reach the Linuxconf server; you merely type the computer's hostname, a colon , and 98 as the URL. For instance, you might type http://remote.threeroomco.com:98 in a Web browser to administer remote.threeroomco.com . You can use any Web browser on any platform, so you can administer the Linux computer from a Linux system, a Windows system, or just about any other computer.
Although Linuxconf should be responsive at this point, it probably won't do much good. The default configuration allows Linuxconf to display a simple screen that summarizes what Linuxconf is, but if you click the Enter button to begin administering the system, you'll see an error message; this is a security measure. You must do more than enable basic Linuxconf operation; you must also authorize the program to accept network connections. You'll also probably want to limit the systems from which you may administer a computer via Linuxconf. The simplest way to make these changes is to use Linuxconf locally, via its text-based or GUI interface. To do so, follow these steps:
At this point, Linuxconf should be configured to accept remote access from the local computer and from any other computers you specified in Step 5. Other systems will only get the basic introductory screen, as noted earlier. (If you use a firewall or some other tool to provide redundant security, would-be intruders won't even get that far.)
Using Web-Based Linuxconf
To use Linuxconf's Web interface, you type http://hostname:98 in your Web browser's URL field, where hostname is the hostname or IP address of the computer in question. You'll first get an introductory screen that describes what Linuxconf is. This screen will have a button called Enter. Click it to obtain a dialog box in which you enter a username and password (you must use the root account or some other account that's authorized to administer the system through Linuxconf). You'll then see the main Linuxconf configuration menu, as shown in Figure 16.3.
Figure 16.3. The main Linuxconf Web-based menu is comparable to the text-based or GUI menu (see Figure 16.1).
To configure the system, you click options in your Web browser just as you would select links in Web pages. The first click or two is likely to produce lists of other configuration areas, but eventually you'll reach a screen in which you can enter information in text-entry fields, toggle options, and so on. For instance, if from the display in Figure 16.3 you click Networking in the Config area, and then click Linuxconf Network Access in the Misc area, you'll see the page shown in Figure 16.4, which is equivalent to the dialog box shown in Figure 16.2 and discussed earlier. You can disable network access or change the computers that may access Linuxconf in this way.
Figure 16.4. Linuxconf modules commonly provide text-entry fields, binary check-boxes, selectable lists, and other methods of setting configuration options.
One critical difference between Linuxconf's Web-based and GUI or text-based interfaces is that the Web-based interface typically requires less in the way of confirming button-presses. Although not shown in Figure 16.4, that page includes an Accept button (you'd need to scroll the Web page to see it). Click that button to accept any changes you enter, and the job is done. Using local interfaces, Linuxconf requires more in the way of button presses to exit from a module and activate the changes.
As shown in Figures 16.1 and 16.3, Linuxconf uses a hierarchical structure to organize its configuration modules. The best way to learn what's available is to browse through the optionsbut if you don't intend to make any changes, be sure to use your browser's Back button to exit from a module, not the Accept button in the configuration page. Sometimes you might think a module should be in one location, but it will be in another. Also, you can't configure some tools through Linuxconf, either because the module doesn't exist or because it doesn't match what's installed on your system. For instance, if Linuxconf looks in /etc for the configuration file, it won't work if the file is stored in /usr/local/etc . Version mismatches can also cause problems if Linuxconf doesn't understand options that have been added to a recent version of a program, or if Linuxconf tries to use options that aren't supported if you install an older version of a program.
When you're done using Linuxconf's Web interface, it's best to exit from the Web browser. Linuxconf will eventually time out the connection, but there's no explicit exit option, and without that, anybody who has physical access to the computer you used can make changes to the configuration. You might also accidentally change some option if you leave a Web browser linked to Linuxconf.