mirror of
https://git.openldap.org/openldap/openldap.git
synced 2024-12-21 03:10:25 +08:00
189 lines
5.7 KiB
Plaintext
189 lines
5.7 KiB
Plaintext
This directory contains source for two programs:
|
|
|
|
go500 A gopher index search server to X.500 gateway
|
|
|
|
go500gw A more general gopher to X.500 gateway
|
|
|
|
Both programs use the LDAP protocol to talk to X.500. If you did not
|
|
get this software with the U-M LDAP software distribution, you will
|
|
need to have the LDAP libraries on hand to be able to make this software.
|
|
The LDAP distribution is available for anonymous ftp from the host
|
|
terminator.rs.itd.umich.edu in the x500/ directory.
|
|
|
|
What you are trying to set up looks like this:
|
|
|
|
-------- ----------------- -------- --------
|
|
| gopher | | gopher to| LDAP | | LDAP | | X.500 |
|
|
| client |<- gophr ->| LDAP g/w | API |<- LDAP ->| server |<- DAP ->| server |
|
|
|________| |__________|______| |________| |________|
|
|
go500gw ldapd
|
|
or
|
|
go500
|
|
|
|
Both go500 and go500gw can be run either from inetd or as stand-alone
|
|
servers.
|
|
|
|
go500 is useful when you always want to search a fixed portion of the X.500
|
|
tree. It does not let you browse around or change where you search.
|
|
|
|
go500gw is useful when you want to provide a more general and flexible
|
|
gateway from gopher to X.500. It allows users to browse around anywhere
|
|
in the X.500 tree, doing searches at any point.
|
|
|
|
**************************************************************************
|
|
* RUNNING go500 *
|
|
**************************************************************************
|
|
|
|
1) Make and install the ldap distribution if you have not already done so:
|
|
|
|
(cd ../; make lib-only; make inst-lib)
|
|
|
|
or
|
|
|
|
(cd ../; make all; make install)
|
|
|
|
Use the second form if you don't already have an ldapd running
|
|
somewhere you can connect to. Note that to make an ldap server,
|
|
you will need the ISODE libraries and include files.
|
|
|
|
2) Tailor go500 to your site before compiling:
|
|
|
|
vi go500.c
|
|
|
|
There are a couple of things to change in go500.c:
|
|
|
|
DAPUSER - This is the DN go500 will bind to the directory as.
|
|
You can specify NULL if you want.
|
|
|
|
DEFAULT_BASE - This is the DN of the object below which go500
|
|
will conduct its search. You typically want this to
|
|
be the DN or your organization.
|
|
|
|
DEFAULT_LDAPHOST - This is the host that is running the ldap
|
|
server. If it's not on the localhost, you'll need to
|
|
change this.
|
|
|
|
3) Make go500:
|
|
|
|
make
|
|
|
|
4) Start the ldap daemon:
|
|
|
|
ldapd [-c dsaname]
|
|
|
|
You only need to do this if you're not already running one.
|
|
|
|
5) Start go500 as a stand-alone server:
|
|
|
|
go500
|
|
|
|
or arrange to have it start from inetd:
|
|
|
|
# vi /etc/services /* add the following line */
|
|
go500 5555/tcp go500 # go500 server
|
|
|
|
# vi /etc/inetd.conf /* add the following line */
|
|
go500 stream tcp nowait nobody $(ETCDIR)/go500 go500 -I
|
|
|
|
# kill -HUP <inetdpid> /* make inetd notice the change */
|
|
|
|
where $(ETCDIR) is replaced by the ETCDIR from the top level Makefile
|
|
and <inetdpid> is replaced by the pid of the inetd process.
|
|
|
|
6) Configure your local gopher server to have an entry for go500.
|
|
A sample .link file is given below, with the things you should
|
|
change given in <>'s:
|
|
|
|
Name=<Label of your choice>
|
|
Type=7
|
|
Port=5555
|
|
Path=
|
|
Host=<host.running.go500.here>
|
|
|
|
You may also have to restart your gopher daemon, or remove
|
|
the .cache file.
|
|
|
|
7) Run a gopher client and try it out.
|
|
|
|
**************************************************************************
|
|
* RUNNING go500gw *
|
|
**************************************************************************
|
|
|
|
1) Make the ldap distribution if you have not already done so:
|
|
|
|
(cd ../; make lib-only)
|
|
|
|
or
|
|
|
|
(cd ../; make lib-only ldap-server)
|
|
|
|
Use the second form if you don't already have an ldapd running
|
|
somewhere you can connect to. Note that to make an ldap server,
|
|
you will need the ISODE libraries and include files.
|
|
|
|
2) Tailor go500gw to your site before compiling:
|
|
|
|
vi go500gw.c
|
|
|
|
There are a couple of things to change in go500gw.c:
|
|
|
|
GO500DN - This is the DN go500gw will bind to the directory as.
|
|
You can specify NULL if you want.
|
|
|
|
HELPFILE - This is the pathname of the helpfile (actually, the
|
|
file that's displayed when a user chooses "About the
|
|
Gopher to X.500 Gateway").
|
|
|
|
LDAPHOST - This is the host that is running the ldap server.
|
|
If it's not on the localhost, you'll need to change this.
|
|
|
|
3) Make go500gw:
|
|
|
|
make
|
|
|
|
4) Start the ldap daemon:
|
|
|
|
ldapd [-c dsaname]
|
|
|
|
You only need to do this if you're not already running one.
|
|
|
|
5) Start go500gw either as a stand-alone server:
|
|
|
|
go500gw
|
|
|
|
or arrange to have it start from inetd:
|
|
|
|
# vi /etc/services /* add the following line */
|
|
go500gw 5555/tcp go500gw # go500gw server
|
|
|
|
# vi /etc/inetd.conf /* add the following line */
|
|
go500gw stream tcp nowait nobody $(ETCDIR)/go500gw go500gw -I
|
|
|
|
# kill -HUP <inetdpid> /* make inetd notice the change */
|
|
|
|
where $(ETCDIR) is replaced by the ETCDIR from the top level Makefile
|
|
and <inetdpid> is replaced by the pid of the inetd process.
|
|
|
|
6) Configure your local gopher server to have an entry for go500gw.
|
|
A sample .link file is given below, with the things you should
|
|
change given in <>'s:
|
|
|
|
Name=<Label of your choice>
|
|
Type=1
|
|
Port=7777
|
|
Path=M
|
|
Host=<host.running.go500gw.here>
|
|
|
|
You may also have to restart your gopher daemon, or remove
|
|
the .cache file.
|
|
|
|
If you want to start go500gw at some point in the X.500 tree
|
|
other than the root, you can change the Path parameter above
|
|
to something like this, for example:
|
|
|
|
Path=Mo=University of Michigan,c=US
|
|
|
|
Of course, you would substitute your own organization's DN.
|
|
|
|
7) Run a gopher client and try it out.
|