Skip to content

Latest commit

 

History

History
171 lines (113 loc) · 6.37 KB

INSTALL.txt

File metadata and controls

171 lines (113 loc) · 6.37 KB
 
Jan 29, 2002
Jan 29, 2002
1
2
3
4
5
Basic installation instructions:
Set up a new Unix user on the system, call him "finger". Make sure this user
IS NOT PERMITTED TO LOG IN (set his shell to /bin/false or something).
May 9, 2002
May 9, 2002
6
7
8
Edit IcculusFinger_daemon.pl. There are lots of variables that you can tweak
to match you're system and customize to your taste at the top. This is very
well documented, so have no fear.
Jan 29, 2002
Jan 29, 2002
9
10
11
12
13
14
15
16
17
18
19
20
Copy IcculusFinger_daemon.pl to /usr/local/bin/ ...
If you are planning on making everyone keep their planfiles in a unified
public directory (a "fingerspace"), then edit/copy IcculusFinger_planmove.pl
to /usr/local/bin, too. Run this program once now, and once every time you
add a new user to your system. It spits out a lot of text explaining exactly
what it's doing.
Make sure there's a line like this in /etc/services:
finger 79/tcp
May 9, 2002
May 9, 2002
21
22
If you want to manage IcculusFinger via inetd, then add this line to
/etc/inetd.conf:
Jan 29, 2002
Jan 29, 2002
23
24
finger stream tcp nowait finger /usr/sbin/tcpd /usr/local/bin/IcculusFinger_daemon.pl
May 9, 2002
May 9, 2002
25
26
27
28
29
30
31
32
If you like qmail's tcp-env better than tcpd (like I do), then use a line
like this instead:
finger stream tcp nowait finger /var/qmail/bin/tcp-env tcp-env -R /usr/local/bin/IcculusFinger_daemon.pl
The "ipaddr" fake user works with tcp-env, and not tcpd at this moment. Not a
big deal or anything, but just FYI. "ipaddr" also works if you use the
--daemonize flag instead of inetd, too.
Jan 29, 2002
Jan 29, 2002
33
34
Make sure no other lines in /etc/inetd.conf are handling finger requests.
May 9, 2002
May 9, 2002
35
Run "killall -HUP inetd". You should now be answering finger requests from the
Jan 29, 2002
Jan 29, 2002
36
37
outside world.
May 9, 2002
May 9, 2002
38
39
40
41
42
43
44
45
46
47
48
If you want to run IcculusFinger as a standalone daemon (instead of managing
it through inetd), put it in your startup scripts. This is different for every
system, but on my (Slackware) system, putting this in /etc/rc.d/rc.local works
well:
echo "Starting IcculusFinger daemon..."
/usr/local/bin/IcculusFinger_daemon.pl --daemonize
Next time you reboot, you should be answering finger requests by default. You
can also run that command line without rebooting, and it should work, too.
Jan 29, 2002
Jan 29, 2002
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
If you want the web interface to finger accounts:
Edit IcculusFinger_webinterface.pl. There are some variables that you can
tweak to match you're system and customize to your taste at the top. This is
very well documented, so have no fear.
Copy IcculusFinger_webinterface.pl to somewhere your webserver can see it and
treat it as a cgi-bin program. You may want to symlink it or rename it to a
smaller filename (such as finger.pl).
Once your server is treating it as a cgi-bin program, run it as such (this is
just an example, it'll be different depending on how you set things up):
http://myserver.dom/cgi-bin/IcculusFinger_webinterface.pl?user=username
If using a MySQL database for planfile archiving:
Get MySQL installed on your system.
Edit IcculusFinger_archiveplans.pl. There are some variables that you can
tweak to match you're system and customize to your taste at the top. This is
very well documented, so have no fear.
Copy IcculusFinger_archiveplans.pl to /usr/local/bin/ ...
(This part is cut-and-pasted-and-then-modified from Horde's install docs.
http://www.horde.org/)
First of all, it is very important that you change the MySQL password for
the user 'root'. If you haven't done so already, type:
mysqladmin [ -h <host> ] -u root -p password <new-password>
Login to MySQL by typing:
mysql [ -h <host> ] -u root -p
Enter the password for root.
Now, create a database named "IcculusFinger" and switch to it:
mysql> create database IcculusFinger;
mysql> use IcculusFinger;
Then set up the table called "finger_archive". You can actually name it
anything you like as long as you use the same name when you alter the
IcculusFinger source files (maybe that goes without saying...but there's a
config variable at the top of a few of them that specifies this).
Type:
Apr 6, 2007
Apr 6, 2007
105
106
107
108
109
mysql> create table finger_archive (
id int not null auto_increment,
username varchar(32) not null,
postdate datetime not null,
text mediumtext character set utf8 COLLATE utf8_general_ci not null,
Mar 15, 2016
Mar 15, 2016
110
summary varchar(128) character set utf8 COLLATE utf8_general_ci not null default '',
Apr 6, 2007
Apr 6, 2007
111
112
primary key (id)
);
Jan 29, 2002
Jan 29, 2002
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
Next, create the MySQL user for the IcculusFinger database. You can call this
user any name and give this user any password you want, just make sure that
you use the same name and password when you alter the source files. For
this example, I will call the user "fingermgr" and make the password
"fingerpass". Type:
mysql> use mysql;
mysql> replace into user ( host, user, password )
values ('localhost', 'fingermgr', password('fingerpass'));
mysql> replace into db ( host, db, user, select_priv, insert_priv,
update_priv, delete_priv, create_priv, drop_priv )
values ('localhost', 'IcculusFinger', 'fingermgr', 'Y', 'Y',
'Y', 'Y', 'Y', 'Y');
mysql> flush privileges;
Exit MySQL by typing:
mysql> quit
By default, the database password is read from /etc/IcculusFinger_dbpass.txt,
so you should:
echo "fingerpass" > /etc/IcculusFinger_dbpass.txt
(obviously "fingerpass" should be the actual password.)
MAKE SURE that /etc/IcculusFinger_dbpass.txt is owned by unix user "finger"
and may only be read by him. THIS IS IMPORTANT.
May 9, 2002
May 9, 2002
146
chown finger.root /etc/IcculusFinger_dbpass.txt
Jan 29, 2002
Jan 29, 2002
147
148
149
150
151
152
153
154
155
156
157
158
159
160
chmod 0400 /etc/IcculusFinger_dbpass.txt
Set up a cronjob to archive the plans. Here's a crontab entry for most Unixes
that archives plans every half-hour:
# This makes sure the .planfile archive is up to date...
0,30 * * * * /usr/local/bin/IcculusFinger_archiveplans.pl
Planfiles are only archived if they have been updated since the last time they
were archived (so as not to fill the database), and a certain amount of time
has elasped since the update took place (so as not to archive plans in the
middle of being edited, and limit the archiving of chatty users that feel the
Jul 1, 2002
Jul 1, 2002
161
need to continually update their plans). There is also a metatag users can put
May 9, 2002
May 9, 2002
162
163
164
165
166
in their planfiles to prevent archiving if only certain sections are changed.
For example, I keep various info in my .plan that doesn't change often, and
is significant when it does, but there's also a continually updated TODO
section, which isn't important when it changes. the [noarchive] tag covers the
TODO, so archiving won't happen if the only changes are in that section.
Jan 29, 2002
Jan 29, 2002
167
168
169
170
Questions and comments to icculus@clutteredmind.org. Good luck.
# end of INSTALL ...