
That's right, it's completely non-graphical, but there is still color, mon ami. Why? Well, François, I suppose I'm feeling a bit nostalgic. When I read that this issue's theme would be intranets, it started me thinking about the whole idea of an intranet, literally an internal network. A private little universe, if you will, for a specific set of users. Usually, we think of a business or an organization making use of this, but intranets are also perfect for hobby or user groups. When we talk about intranets, we tend to think of Web contact management systems and portals that perform these functions. Quoi? The text only screen? That's easy. The original intranet existed long before we all started getting on the Internet, mon ami, and communication was non-graphical. Mon Dieu, why are we still talking. Our guests are already here. Welcome, mes amis, home of excellent wine and equally excellent Linux fare. Make yourselves comfortable while François brings you your wine. To the wine cellar, François. Please bring back the 2003 Coastal Sauvignon Blanc. Vite! I was just telling François about the original intranets, mes amis. Way back when I was just getting out of my teens, I started running one of these original intranets on an old Commodore 64. They were called BBS programs . . . bulletin board systems. In fact, I wrote and ran my own BBS all those years ago. The one I operated had one phone line which meant only one user could dial in at a time so this was very much non-networked, but it was an intranet and at its peak, I had forty or fifty users taking advantage of it. That little trip down memory lane is why I put together a menu of BBS programs. You might think that in this heavily graphical age, no one uses or continues to work on text styles BBS programs. In truth, there are many BBSes still in operation and developers continue to work on and develop the programs. The first item on tonight's menu is Bryan Burns' NexusChat. NexusChat (or NChat) is an excellent BBS style program. It provides different user levels, multiple room creation, private and group chats, email messaging, online configuration, online help, and a whole lot more. Furthermore, you don't need to be root to run NexusChat nor do you need to be root to install it. Start by creating a directory where you would like the chat server to be installed. For instance, I created a directory called nexuschat in my own home directory. The next step is to extract the source package. tar -xzvf nchat-3.31.tar.gz The questions you have to answer are pretty basic and you can pretty much take the defaults, with a few exceptions. When asked where you would like the binaries installed, indicate the chat directory you created earlier. The "base data directory" (which defaults to /home/nchat/etc can now be an etc directory under wherever you chose to install it. Next, you'll be asked for the number of ports. That's the maximum number of people you will allow to connect to your chat server at any given time. The default here is 15. When you have answered this last question, it's time to type make. After a few seconds of compiling, there is one final step and that's to create the user database. By default, you'll be creating 999 slots for possible users. That's it. There's no install here. The final step involves manually moving the etc directory to its final location. You will also be doing the same with the nchat and userdb binaries. In my case, I chose to run the server in /home/marcel/nexuschat so I would do the following. mv etc /home/marcel/nexuschat Switch to your NexusChat directory and prime the user database with userdb -z -s 999. Aside from prepping the database, you will create the 000 user with a password of 'root'. To start the server (which runs on port 4000, by default), just type /path_to/nchat. Now, from another terminal, connect to your chat server and log in as 000. telnet your_server 4000 Figure 1: Telnet to the NexusChat port and you'll get this screen. One of the first things you will want to do on connecting is change your password. You do that by typing /passwd topsecret where "topsecret" is the new password you choose. Once you are connected and chatting, there are a number of different commands at your disposal. As with the password change command, these all begin with a forward slash character. To get a list of available commands, type /?. If, for some strange reason, you can't see what you are typing, type /echo. Guests can also log in at this point. All they have to do is press Enter and they are automatically entered as a guest. They can also type NEW to register themselves as a user on the system (the SysOp has to confirm their registration before they can actually log in). At this point they can change their handle and chat with a limited set of commands. The administrator (ie: the person running the nchat program) can add permanent users (or activate a self-registered user) while logged in by calling up the user editor (use the /ue username command). That's the easiest way but you can also do the same from the command line with userdb, the other binary that was installed. To add a user from the NexusChat directory, you would do the following. ./userdb -a user -u -l 003 -h Francois -p 123 -t 3600 Let me explain the above command, mes amis. You are adding (-a) a user level account (there is also sysop), updating the user database (-u), creating user number 003 (-l), assigning them a handle of Francois (-h, a password of "123" (-p) and a session timeout of 3600 seconds (-t). If you just type userdb without any flags, you'll get a list of all the various options. I mentioned that the default port number was 4000. This, and a few other parameters, can be changed by editing the etc/nchatrc file. You will likely want to change chat_name to something of your choosing (this is the BBS's name). Some parameters, like "ask_ansi = true" are commented out. While most terminals will handle the ANSI colors just fine, it might be nice to offer that choice to users when they log on. There are other interesting files in etc directory. The nc_login file is what the user will see upon logging in (along with an equivalent nc_ansi_login), while nc_motd is the message of the day. NexusChat is a lot of fun and very easy to run with minimal administrative issues. It's also quite flexible with simple user and chat room creation. There's even a basic email function so that you can leave private messages for users that aren't currently on. Should you decided to try it out, it's worth checking out the NexusChat Website for a comprehensive list of its many features. While François refills your glasses, let's look at another example of the venerable BBS. Some programs will offer much more sophisticated features such as full message facilities, complex room creation (some for messaging, others just for chat), statistical information, world time and calendars, and more. One such BBS is Walter de Jong's bbs100. To get bbs100 ready, you'll need to build it from source which you can get from the bbs100 Website at http://www.heiho.net/bbs100/. Compiling and installing the program is fairly easy to do, but the steps might seem a bit strange. tar -xzvf bbs100-2.1.tar.gz In particular, notice the prefix above. It's important not to use the /usr/local default because the BBS will need to be able to write in various directories under that prefix and permissions may not allow it under /usr/local. I also didn't do a make install as root. That's because it isn't necessary. That said, you will need to make sure that your login has access to the directory in which you are trying to install. I created a /home/bbs100 directory for this particular BBS. When you are done with the installation, switch to the installation directory (in my case /home/bbs100) and open etc/param in your favorite editor. There are a few settings here that you will want to change right away. The most likely ones include the BBS name, the port on which you wish to run the program, and the base directory for the installation (mostly confirmation). bbs_name The Cellar Before we move on, I'll suggest that you should take some time to get familiar with the various files in the etc directory. They include welcome screens, the message of the day, help files, system rules displayed on first login, and lots of other interesting things. You're almost there. Since we made Francois the SysOp, we also need to give him a password to log in, as soon as he pours me another glass of that Sauvignon Blanc. From the directory where you installed the BBS, type bin/mkpasswd SysOP_Name and you'll be asked for a passpharase for that user. bin/mkpasswd Francois The last line is the SysOp's encrypted password. To let the BBS know about it, edit etc/su_passwd and enter the SysOp's name followed by a colon, followed by the encrypted passphrase. Francois:OIGxutxGpuTowzw2AgMXZRkCNk To start the BBS, just type /home/bbs100/bin/bbs start. Once the daemon is running, connect from a terminal window by doing a telnet to the port you defined. telnet your_system 12345 To change to the BBS equivalent of the superuser (or root), press the "$" hot key. In this case, the superuser is known as the SysOp, or system operator. Only the person with their handle in the etc/su_passwd file will actually have this hot key at their disposal. In all other cases, a nice calendar with times in various worldwide locations will be displayed. Once you are SysOp, you have access to a number of additional commands. Just press Ctrl+S to enter the SysOP menu. Once you are the SysOp, you have the option of configuring various system parameters, creating rooms (message as well as live chat rooms), and dealing with pesky users if need be. Figure 2: The bbs100 bulletin board system offers chat rooms and calendars with memory usage measured in kilobytes. It may take some getting used to, but the BBS concept is very powerful and maybe a little addictive. Here's another reason to consider it. With six users online, my total memory usage (including the running bbs100 program) was 66,917 bytes. As you can see, mes amis, smaller and simple surely had its advantages, non? As we marvel at the popularity of instant messaging and cell phone text messaging, let's remember that the roots of these technologies go back a long time. To prove my point, I'm going to leave you with a little trip down memory lane. Once upon a time, there was (and still is) a command called write and another called mesg. The mesg command allowed you to turn on your message facility like this. mesg y Simply stated, you were allowing others to send you messages. Now, log on to another terminal session (ssh -l username localhost) and turn message on there as well. Let's pretend that I am logged in as marcel on one terminal and François is logged in as francois at another. He could open a chat session with me like this. write marcel /dev/pts/16 He would then be able to start writing whatever he wanted until he pressed Ctrl+D to finish the chat session. On my terminal session, I would see the following. [marcel@francois marcel]$ As the saying goes, Plus ça change, plus c'est la même chose. It appears, mes amis, that closing time is once again upon us. Take your time though, and finish your conversations. François will refill your glasses while you chat. There is no hurry. In the world of text, it somehow feels easy to sit back and enjoy a glass of wine without rushing. Therefore, mes amis, let us all drink to one another's health. A votre santé! Bon appétit! Resources |
|||












