1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257
|
INSTALLATION
Before you can compile/install xisp, you need to make sure that you
have a properly installed copy of the XForms GUI library, version
0.88 or later. The URLs from which you could download XForms are
listed in the first paragraph of file README.
In order to install the xisp package follow the steps outlined below.
1. Edit the Makefile making sure that all paths defined in the
variables therein correspond to the proper paths for your system.
The following is a list of variables defined in Makefile with
some brief explanations:
INCX11: path to X11 include files
LIBX11: path to X11 libraries
INCFORMS: where the forms.h include file is installed
LIBFORMS: where the libforms library is installed
MODEMDEV: the serial device on which your modem is connected
(e.g. "modem" for /dev/modem, "cua0" or "ttyS0 for
COM1, "cua1" or "ttyS1" for COM2, etc.). Since a
peer information file (read sections (2) and (4)
below) needs to be installed for each modem on your
machine, setting this variable correctly is an easy
way of creating your default modem peer file
automatically when you do "make install". Files for
additional serial ports can be easily created by
copying/modifying the file generated automatically
by this Makefile
BINX11: where to install the xisp binary
USRLOCAL: where to install the xisprccv and xispid utilities
SBINDIR: path to the chat and pppd binaries
VARRUN: path to where pppd writes its ppp?.pid files (read
your pppd(8) manual page for this one)
USRLIBPPP: where to install the xispterm and xispdial utilities
used by xisp
OPTSDIR: where to install the options.xisp file; note that
this file is *not* installed by default; install it
manually or uncomment the installation lines in
Makefile if you so desire; read the first paragraph
below these explanations for the Makefile variables
for details
MANDIR: where to install the xisp manual page
ETCPPP: where to install ip-up and ip-down (normally /etc/ppp,
read your pppd(8) manual page to make sure); these are
installed by default, and any existing scripts are saved
as *.bak; comment-out the lines in Makefile to prevent
them from being installed; read below for details.
Additionally, appropriately modified versions of the
peer information files "xisp.peers.device" and
"xisp.peers.dialer" are installed in sub directory
"peers" in the directory specified by this Makefile
variable; existing peer information files are saved as
*.bak
DESTDIR: root path for installation; most probably you don't
need to edit this variable
GROUP: group ownership for xisp, xispdial, xispterm, xisprccv
and xispid; used to implement selective permissions for
xisp; read section "PERMISSIONS" below for details
GCCFLAGS: the gcc compilation flags
EXTRADEFS: extra defines needed for the platform and/or version
of C library xisp is being compiled under
EXTRALIBS: extra libraries needed when linking the xisp binary
(also platform and/or C library specific)
INSTALL: your install program (normally set to "install"); can be
used for accommodating special installation tools, e.g.
under Slackware: INSTALL = pkginstall install -c
- If your pppd, for some obscure reason is setup to not generate
$(RUNDIR)/ppp?.pid files when run, simply delete the RUNPATH
variable from the Makefile, in order to make use of alternative
code implemented in xisp for retrieving pppd's PID number.
- Pick the icon you desire from those available, according to the
colors you have available on your colormap. If you have a few
extra colors to spare, try Raphael Wegmann's XPM animation
option.
- As of version 1.7 of xisp, the pppd options file options.xisp is
no longer necessary. However, if such a file is indeed found, it
is used by xisp's invocation of pppd. If you need to use some
pppd option not available from within xisp, that's certainly the
place to put it in. Right now, the sample options.xisp file
contains a single pppd option command (noipdefault). Since it is
no longer installed by default, install it if and whenever you
need it. If you have options.xisp from some previous version of
xisp, please delete it. Furthermore note that since xisp version
2.5p3, if your pppd version is 2.3.x or later (you can find that
out by doing a "pppd --version"), instead of using options.xisp,
you can add any additional options you require in any or all peer
information files "xisp_<modem device file>"; a default such peer
file is installed by default in /etc/ppp/peers when you do "make
install"; read the next paragraph for details.
2. Make sure that your /etc/ppp/options file (or wherever else pppd
keeps its default-options file), as well as your .ppprc file (read
the pppd(8) manual page for details), do not include the -detach
option, or any other option in conflict with any of the options
supported by xisp. If you're not sure of what to do, leave this
file the way it is and check it *last* if things go persistently
wrong. Just in case you're contemplating deleting the pppd default
options file altogether, note that it is *REQUIRED* by pppd; if it
can't find it, it will exit with error.
If your pppd version is 2.3.x or later, then instead of modifying
/etc/ppp/options, edit file xisp.peers.device, the per-modem-device
xisp peer information file installed by default by "make install"
in /etc/ppp/peers. Please do not delete any lines from this file
as all are required for proper xisp operation, while adding any
extra pppd options you might need (typically you wouldn't need
to add options to this file). With regards to the default options
set for pppd 2.3.x (i.e. the default contents of /etc/ppp/options),
the only one recommended for proper xisp operation is the "auth"
option. The "lock" option is not required as it is specified by
xisp on pppd command line, and the "usehostname" option interferes
with xisp's operation when using CHAP authenticated ISP accounts.
3. Run "make".
4. If all goes well, run "make install".
In order to make use of the DNS capabilities implemented in xisp,
"make install" automatically installs the ip-up.xisp and
ip-down.xisp scripts supplied, as ip-up and ip-down respectively,
while keeping back-up copies of your old scripts, if any. If you
don't want that to happen, comment-out the appropriate lines in
the Makefile, prior to running "make install". For details on this
matter, read the "IP-UP/-DOWN SCRIPTS" section below.
"make install" also installs the default peer information file,
/etc/ppp/peers/xisp_modem. If you plan to use serial devices other
than the default "/dev/modem", make sure you add peer information
files for each one, by following the detailed comments included in
/etc/ppp/peers/xisp_modem.
5. Read the following two sections (at least :)) to complete tasks
related to user access permissions.
PERMISSIONS
You will note that xisp, xispdial, xispterm, xisprccv and xispid
binaries are installed with mode 750 and owned by root and group uucp
("dialout" for Debian Linux or "root" for Red Hat Linux). This is so
that system administrators can implement selective permission for xisp,
by giving access only to users which are also members of the uucp (or
dialout, or root) group. The modem device, as well as pppd and chat
should also have access permissions allowing uucp (or dialout, or root)
group processes running xisp, xispdial and xispterm to use them. In
other words, if the above sounds like a good idea, and if your system
is not already setup that way, go to wherever you have pppd and chat
and do:
--------------- put "dialout" here, for Debian,
| or "root" for Red Hat Linux
\|/
chown root.uucp pppd chat
chmod 4550 pppd
chmod 550 chat
+----------------------------------------------------------------------+
| NOTE: If you give users other than members of group uucp (or dialout |
| or root) execute permission for pppd and/or xisp, the ip-up |
| and ip-down scripts supplied with xisp will NOT RUN for these |
| users, as this would have a serious impact on system security. |
| Please read the SECURITY file for details on this matter. |
+----------------------------------------------------------------------+
After doing the above, you might also go to /dev and do:
--------------- put "dialout" here, for Debian,
| or "root" for Red Hat Linux
\|/
chown root.uucp modem
chmod 660 modem
where "modem" is your modem port device (usually cua[0,1,2,..], or
ttyS[0,1,2,...]). Don't perform the above on the symbolic link pointing
to your modem device if that's how things are set up on your system, but
to the device file itself (i.e., if you have /dev/modem -> /dev/cua1 for
example, use "cua1" in place of "modem" for the above commands.
Remember that when using pppd version 2.3.x, each serial device on
which a modem you wish to use with xisp is connected, needs a peer
information file of its own. Please read the comments in the default
peer information file /etc/ppp/peers/xisp_modem for detailed
instructions.
Lastly, edit /etc/group (or the NIS/NIS+ group database) and add the
users you want to give access to xisp, to the list of uucp (or "dialout"
for Debian Linux, or "root" for Red Hat Linux) group members.
IP-UP/-DOWN SCRIPTS
As of version 2.0, ip-up and ip-down are supported by xisp. Default
ip-up (ip-ip.xisp) and ip-down (ip-down.xisp) scripts are supplied
with the distribution. If you need to use the DNS capabilities in
versions 2.1 and later, you *MUST* install the supplied ip-up and
ip-down scripts. To modify them further for performing tasks like,
for example, downloading mail or news on a per ISP basis, read the
comments therein and edit them to suit your needs. If you need to do
this on a user basis (rather than having these tasks run as root)
you can make use of the .xisp-up and .xisp-down files introduced by
version 2.3 of xisp. Read the xisp(1) manual page for details. Both
.xisp-up and .xisp-down are called with the same ipparam argument as
ip-up and ip-down. Read the comments in the supplied .xisp-up and
.xisp-down skeleton files for helpful instructions.
The installation automatically keeps backup copies of your old ip-up
and ip-down scripts. If your pppd looks for them in a directory other
than /etc/ppp, change the ETCPPP Makefile variable appropriately.
Their access permissions once installed correspond to:
----------------- automatically adjusted by Makefile to
| the value selected for variable GROUP
| (see explanations for the Makefile
| variables in paragraph (1) above)
\|/
chown root.uucp ip-up ip-down
chmod 750 ip-up ip-down
UPGRADE CONVERTER
As of version 1.3 a resource control file (.xisprc) converter is also
included with the xisp distribution. As of version 1.9, this converter
does not only understand the immediately previous version, but all
version formats from 1.2 and onwards. To convert your old .xisprc file
to the latest version, run xisprccv with no arguments. Further to that,
from version 2.0 and onwards, xisprccv understands both binary .xisprc
formats of versions 1.9 and older, and editable ASCII .xisprc formats
of versions 2.0 and later.
PHONE COMPANIES (PTTs)
Since version 2.4, the phone companies' tariff information can be
entered in a special ASCII-file data base maintained by xisp. The first
time xisp is run, it creates this data base and populates it with the
phone company information built in to it. If you wish to contribute an
entry to the ones known by xisp, simply enter the company information
using xisp's PTT editor, and then e-mail the company's section from your
$HOME/.xisplogs/xispPTTs ASCII data base file.
EPILOGUE
If you encounter any problems, or find any bugs, please report them
to the e-mail address listed at the end of the README file, or in the
"Help->About" form. I have made an effort to document the code as much as
possible so that it should be fairly readable, and hence easily modifiable
by others. A little note here on editing the sources: the tabstop used for
all files is 4 (i.e. "set tabstop=4" in vi). I would appreciate any
feedback, suggestions or enhancements you might have :)
Enjoy,
Dimitri
|