-
Notifications
You must be signed in to change notification settings - Fork 6
/
INSTALL.COMPILING
162 lines (110 loc) · 5.52 KB
/
INSTALL.COMPILING
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
INSTALL.COMPILING Last updated April 23, 2002 by Neurophyre
---
Disclaimer: This document is almost certainly not complete, and contains
mistakes. This is intended as a general setup guide only. I cannot help
with all setup questions; when I got this source code, it came with NO
documentation, files were missing, and so forth, so this is the best I can
do. If you still have questions, please visit Utopia Dammit! BBS and post
in the BBS> room or other appropriate rooms.
Utopia Dammit! BBS
telnet/ssh utopia.sevenminutelull.com login: bbs blank password
ISCABBS client port 6969
ISCABBS SSL-ized client port 4123
---
QUICK OVERVIEW OF STEPS
I. Edit files
II. Build BBS binary
III. Build BBS setup program
IV. Build SSL server
V. Cleanup
You may want to print this document at this point, if it will be easier for
you to refer to it on paper, mark off what you've taken care of, and so on.
STEP I - EDIT FILES
I. Edit files
A. edit bbs.h
B. edit queue.h
C. edit Makefile
I. A. EDIT BBS.H
Get into the source directory and load up bbs.h in your favorite editor.
You might want to do this in a 'screen' session so you can page back and
forth between the editor and a command prompt (logged in as the bbs user)
so you can gather any information needed.
Here are the different #defines you may need to edit.
#define BBSNAME - Enter a short text string with the name of your BBS.
#define BBSUID and BBSGID - Do 'grep bbs /etc/passwd' and you should
get some output that looks like this:
bbs:x:1001:1001:Utopia BBS User,,,:/home/bbs:/home/bbs/bbs/bin/bbs
The first number is BBSUID, the second is BBSGID.
#define NXCONF thru MAXVOTES - Generally best to leave these alone. Isn't
200 rooms with 200 messages each enough for
anybody? This will take up around 650MB.
#define ROOT - if you used my directory layout, this should be as follows:
#define ROOT "/home/bbs/bbs/"
#define SSLCERTIFICATE
SSLKEYPATH - once again, with my directory layout:
#ifdef _SSL
#define SSLCERTIFICATE ROOT"sslprivate"
#define SSLKEYPATH ROOT"sslprivate"
#endif
Leave everything else alone with the possible exception of FORTUNE.
I. B. EDIT QUEUE.H
The only thing you should touch here is #define PORT. Enter a port number
(greater than 1024) for your PLAINTEXT clients to connect to. The SSL
port is defined elsewhere (on the command line, in my examples).
Two BBSes that use this source code or a close relative have their
plaintext port on 6969, so unless you have a good reason not to use this
port, you may as well just leave it set to 6969.
I. C. EDIT MAKEFILE
This, as you can see from looking at it, is a Makefile that's undergone
some heavy evolution. It's still got stuff about ISCA in it. Marx
Marvelous make some updates to it so that one could use 'make install',
but they don't work with my directory layout, and I haven't fixed them
yet, so DON'T use 'make install' or you'll end up with binaries in the
wrong places.
All the commented SSL stuff is stuff that worked on systems other than
the one I'm using, which is Debian GNU/Linux 2.2 with OpenSSL installed
in its default location. For SunOS you're going to need to uncomment
-lnsl and -lsocket. For Linux, leave them commented.
DO NOT uncomment -D_SSL. Leave it alone.
If you're running Debian, the Makefile should theoretically work untouched.
STEP II - BUILD THE BBS BINARY
Once you've edited all the files, in the BBS source directory, type 'make'
and watch for any errors. If no errors occur, do 'ls -l bbs' to verify
that you've got yourself a bbs binary. Don't use 'make install' .. see
above for details.
STEP III - BUILD THE BBS SETUP PROGRAM
In the same directory as you were after building the BBS binary, type
'cc setupbbs.c'. Now, type 'mv a.out setupbbs'.
NOTE: If you need to reinitialize something on a live BBS, edit setupbbs.c
and comment out everything you do NOT want nuked from main().
STEP IV - BUILD THE SSL SERVER
IV. Build the SSL Server
A. Editing files
B. Building the binary
C. Cleanup
IV. A. EDITING FILES
Change to the ssl/ directory in the BBS source directory. Edit the
Makefile, paying attention to the SSL lines in the same manner that you
did in the Makefile in the BBS source directory. You may need to add
-lnsl and -lsocket for SunOS. Remember that commented lines are most
likely things that worked on OTHER systems, but not on a Debian
installation that parallels my own.
Edit ssl_server.c and change the "int port = [nnnn]" declaration to
a port number of your choice, unless you wish to just set it on the
command line as I do in my examples. Most people should just leave it
set to 4123.
IV. B. BUILDING THE BINARY
Run 'make' in the ssl/ directory under the BBS source directory.
IV. C. CLEANUP
Move the 'ssl_server' binary to the BBS source directory by executing
'mv ssl_server ..' and then run 'make clean' in the ssl/ directory.
STEP V - CLEANUP
NOTE: DO NOT carry out this step until after you've gone back to
INSTALL.OVERVIEW and moved all the binaries (bbs, setupbbs, and
ssl_server) from the BBS source directory to their respective
locations! However, it is IMPORTANT that you do carry out this step
after you move the binaries. If you modify the source code and then
attempt to recompile it without having carried out this step, problems
may result!
Run 'make clean' in the BBS source directory.
That's it!