Installing the psyced ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ We're very proud to see you are about to install a psyced! (Windows System) You received this in form of an executable. By executing it you will be prompted some questions, then sent to a web-based configuration interface. So essentially you don't need any help here. Please move directly on to the FIRSTSTEPS document once you have done the installation. [1]http://www.psyced.org/FIRSTSTEPS (Gentoo Linux System) Download the ebuilds which are available from [2]http://www.psyced.org and follow the instructions inside. Once psyced is emerged you can go directly to chapter 3. (Linux or Unix System) In a nutshell, all you have to do is execute './install.sh' and go from there. It will tell you to download an LPC driver from [3]http://lpc.psyc.eu then compile and configure it with you interactively. So you don't need to know anything more now, but if you want more information, read on. (Questions and Answers) Don't be afraid to come into our developer chatroom and interact with us as you go along. We have designed the installation to be totally simple and beginner friendly. If you're not experiencing it as such, something has gone wrong. Don't try to figure it out alone, talk to us. And.. please be patient with our slow response times. psyc://psyced.org/@welcome [4]irc://psyced.org/#welcome [5]http://psyced.org/PSYC/ [6]telnet psyced.org 0. System Requirements ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ You can probably skip this if you think you have a sanely configured GNU/POSIX system. The following requirements exist for building psyced and psyclpc: o Disk Space: Make sure you have approximately 7 MB of temporary free disk space available. After installation psyced occupies approximately 3 MB of disk space (the actual required disk space depends on the amount of users, logs etc). o ANSI-C Compiler: Make sure you have an ANSI-C compiler installed. The GNU C compiler (GCC) from the Free Software Foundation (FSF) is recommended. You can find the homepage of GNU at [7]http://www.gnu.org/. GCC binaries for Solaris can be loaded from [8]http://www.sunfreeware.com/. o POSIX YACC compliant grammar compiler You probably have either bison or yacc installed, otherwise do the appropriate emerge or whatever software installation. o Useful C libraries OpenSSL, pcre, zlib, idn > 0.5.5, nsl, mlib. o Some standard or popular Unix applications bzip2, make, egrep, touch, uname, sh, sed, fileutils etc. o PERL 5 Interpreter The distribution includes some perl scripts that may or may not be useful. 'psyconf' in particular is needed to get the configuration in place, it is however not needed at runtime. 1. How to compile an LPC driver manually ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ You can skip this part if you want to let the installation mechanism do it for you. To be honest, the danger of us not giving you enough information for you to get it done right is lessened if you let the process do it. [9]http://lpc.psyc.eu will direct you to the current download areas for the PSYC-enabled LPC driver, psyclpc. It uses a standard auto-configuration system which on most platforms does all the work for you (see below for exceptions). That's how install.sh can do it just like that. To prepare the compilation, enter the src directory of the LPC driver and execute './configure' (which will run the 'settings/psyced' script). The default target directory is '/opt/psyced' or a subdirectory of your home directory if you are installing in user mode. Please edit the 'settings/psyced' script if you need a different path. You may want to tweak some compilation configuration settings contained in that file, but there isn't a need to. After configuration is finished, you may want to modify the Makefile to fine tune those parameters which are not covered by the configuration. (like maybe change 'INSTALL=./install.sh -c' to 'INSTALL=./install.sh') But there is generally no need to do anything. The compilation is done using make. Following targets are implemented: : compile the driver install: compile the driver and install it in ${bindir} utils: compile the utilities, especially the ERQ daemon install-utils: compile and install the utilities in ${bindir} You will need an 'psyclpc' and an 'erq' binary for psyced to work. For more details feel free to read the driver's INSTALL file. 2. Okay, let's install it! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ To install psyced, execute the './install.sh' script from within the distribution directory. On some systems you may have to use a different shell, like 'ksh install.sh' or 'bash install.sh'. You will be asked some configuration questions. When done, it will create several files for you and transfer the content of the psyced distribution to the target directory you specified interactively. Depending on your userid (root or other) you will be given /opt/psyced or ~/psyced as defaults for installation. We continue this documentation assuming you picked the root defaults. Start psyced: /opt/psyced/bin/psyced Test it: telnet localhost 2323 or irc localhost 3. Configuring psyced ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Either install.sh has generated a psyced.ini for you, or your software management tools have produced one for you. It usually resides in /etc/psyc, but you may have chosen to put it elsewhere. Have a look into that file to ensure it has all the settings you want. There are some further configuration options in there that install.sh hasn't asked you about. Every time you change that file you need to feed it to the psyconf command which will generate several control files for your psyced installation. Editing those files by hand is not recommended as a new call to 'psyconf' will simply delete any manual changes. We also have a very neat web-based configuration tool. Unfortunately it hasn't been updated to work with the new configuration strategy. Still, 'psyconf' is enough for most things. 4. Troubleshooting ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ * Should you attempt to run psyced as root, you may later experience problems running it under the uid you actually were planning to use, because files have been generated that belong to root. 'chown -R ' repairs that. * Should erq refuse to compile, your system might be providing a less recent resolver library. Add '-lresolv' manually to LIBS in the Makefile and re-issue 'make' (theroue had this effect on Slackware). * We recently had a bug in the install.sh by which the line in the 'mypsyced' file which is in charge of calling ./configure was broken in two and thus only one half of the flags were used. Should you find #undef TLS in your config.h it is quite likely that 'mypsyced' is literally broken in two. * The LPC driver will have TLS in, even if you told install.sh not to use it. This allows you to change your mind later on and shouldn't be a problem, but if it is, edit src/config.h to #undef USE_TLS and redo the compilation. * Recent variants of psyclpc and LDMUD complain when you compile TLS in, then don't have a certificate to go with it. You can safely ignore it. This and related messages are harmless and need no treatment: 'SSL error:02001002:system library:fopen:No such file or directory.' * There are however recent problems with gnutls. psyclpc and LDMUD are being used with openssl in most cases, so the gnutls interface may not be up to date. If you encounter problems, try installing openssl. * Should it look for the lpc driver in /usr/sbin although you have it elsewhere, then psyconf got the architecture guessing wrong. Come into the chat and show us the first lines of psyconf output, so we can fix that. * Sometimes installation problems can be fixed by running a cvs update on install.sh and bin/psyconf, if they are new and just recently corrected. If your install.sh doesn't appear updateable, look into the installation directory - there is another copy. Run 'cvs update install.sh' then copy it back to where you need it. * Should you see the message "Failed to load master object 'secure/master'!" when starting the driver, then you compiled it without the psyced.settings which the installation process should have used automatically. You can find them in the config directory. * "tls_init_connection(): TLS layer hasn't been initialized." usually happens when you are connecting a TLS port with no TLS on the client side. But it can also mean that psyclpc didn't successfully read its key and certificate from the start. Are the permissions correct? What is psyclpc telling you right after starting up? Is it able to read your key and certificate file? * If you make any costum modifications to the psyced source code, you may run into CVS collisions when running the psyced -u command to fetch updates. Pay attention to its output, and inspect any file that was marked with a 'C' (as in collision) manually for repairs. If you already updated it, you can look for collisions in the output of psyced -d, the command to see differences between the repository and your local copy of the software. * If you still encounter problems, please read (Questions and Answers) at the beginning of this document. And, as always, come to the developer chatroom! 5. Success! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ You can now move on to the FIRSTSTEPS document. Here's the online version, but you have one on your harddisk too. [10]http://www.psyced.org/FIRSTSTEPS This document was written by [11]psyc://psyced.org/~lynX and Marek Schneider ([12]psyc://ve.symlynX.com/~real). -- http://www.psyced.org/INSTALL.html last change by lynx on lectern at 2009-01-27 23:32:29 CET References 1. http://www.psyced.org/FIRSTSTEPS 2. http://www.psyced.org/ 3. http://lpc.psyc.eu/ 4. irc://psyced.org/#welcome 5. http://psyced.org/PSYC/ 6. telnet://psyced.org/ 7. http://www.gnu.org/ 8. http://www.sunfreeware.com/ 9. http://lpc.psyc.eu/ 10. http://www.psyced.org/FIRSTSTEPS 11. irc://psyced.org/lynX,isNick 12. irc://ve.symlynX.com/real,isNick