UUGRN:Dienste/IRC/cgiirc
cgiirc unter FreeBSD installieren[Bearbeiten]
Das Package cgiirc installiert sich in FreeBSD unter /usr/local/www/cgiirc. Dort ist es jedoch nicht ohne weiteres lauffähig.
Das Install-Script kopiert zunächst die statischen Bilder nach /usr/local/www/apache24/data/images/, in der config muss entsprechend /images als Pfad konfiguriert werden.
Dann werden die drei CGI-Scripte nach /usr/local/www/apache24/cgi-bin/ kopiert und so angepasst, dass sie jeweils vor allem anderen ihr akteuelles Verzeichnis nach /usr/local/www/cgiirc wechseln, da sie nur dort die cgiirc.conf und die Modulverzeichnisse finden.
install.sh[Bearbeiten]
Das nachfolgende Script unter /usr/local/www/cgiirc/install.sh speichern und ausführbar machen.
#! /bin/sh -x cd -P "$(dirname "$0")" rsync -avHWx ./images/ /usr/local/www/apache24/data/images/ CGI-BIN="/usr/local/www/apache24/cgi-bin/" for CGI in irc.cgi client-perl.cgi nph-irc.cgi ; do cp ./${CGI} ${CGI-BIN}${CGI} patch -p0 ${CGI-BIN}${CGI} ./patches/${CGI}.patch rm ${CGI-BIN}${CGI}.orig chmod 750 ${CGI-BIN}${CGI} chown root:www ${CGI-BIN}${CGI} done
Patches[Bearbeiten]
Das Verzeichnis /usr/local/www/cgiirc/patches und folgende 3 Dateien darin anlegen:
- patches/client-perl.cgi.patch
--- client-perl.cgi.orig 2017-09-03 02:05:02.040837000 +0200 +++ client-perl.cgi 2017-09-03 02:05:11.247766000 +0200 @@ -17,6 +17,8 @@ # along with this program; if not, write to the Free Software # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +BEGIN { chdir('/usr/local/www/cgiirc') or die $!; } + use strict; use lib qw/modules/;
- patches/irc.cgi.patch
--- irc.cgi.orig 2017-09-03 01:52:05.433100000 +0200 +++ irc.cgi 2017-09-03 01:52:37.336301000 +0200 @@ -20,6 +20,8 @@ # Uncomment this if the server doesn't chdir (Boa). # BEGIN { (my $dir = $0) =~ s|[^/]+$||; chdir($dir) } +BEGIN { chdir('/usr/local/www/cgiirc') or die $!; } + use strict; use vars qw($VERSION $config $config_path);
- patches/nph-irc.cgi.patch
--- nph-irc.cgi.orig 2017-09-03 02:07:45.810289000 +0200 +++ nph-irc.cgi 2017-09-03 02:08:13.274197000 +0200 @@ -20,6 +20,8 @@ # Uncomment this if the server doesn't chdir (Boa). # BEGIN { (my $dir = $0) =~ s|[^/]+$||; chdir($dir) } +BEGIN { chdir('/usr/local/www/cgiirc') or die $!; } + require 5.004; use strict;
Config[Bearbeiten]
Die auf cgiirc.uugrn.lan installierte Config (https://cgiirc.uugrn.org/) ist folgende:
- /usr/local/www/cgiirc/cgiirc.config
default_server = irc.uugrn.lan default_port = 6667 default_channel = #uugrn default_name = GAST default_nick = gast???? default_user = cgiirc script_nph = nph-irc.cgi script_form = client-perl.cgi script_login = irc.cgi image_path = /images socket_prefix = /tmp/cgiirc- encoded_ip = 2 allow_non_default = 1 access_channel = .* access_server = irc\.uugrn\.lan access_port = .* access_command = session_timeout = 18000 login basic = Nickname, Realname login advanced = Nickname, Realname, Channel format = default
Der folgende Patch erzeugt aus der cgiirc.config.full eine cgiirc.config, wie sie auf cgiirc.uugrn.lan installiert ist.
--- cgiirc.config.full 2013-09-24 11:27:09.000000000 +0200 +++ cgiirc.config 2017-09-03 02:16:13.551073000 +0200 @@ -7,17 +7,17 @@ # default server(s) to connect to, more than one server can # be entered as a comma seperated list -default_server = irc.blitzed.org +default_server = irc.uugrn.lan default_port = 6667 # default channel(s), again this can be a comma seperated list -default_channel = #cgiirc +default_channel = #uugrn # Realname to use (in /whois) -default_name = CGI:IRC User +default_name = GAST # default nickname, a ? is replaced with a random number -default_nick = CGI??? +default_nick = gast???? # The default username to send, this will only be sent if # encoded_ip (below) is set to 1 or less and will have no affect @@ -42,7 +42,7 @@ # In script aliased directories (cgi-bin) the default will *not* work, # you need to move the directory elsewhere and change this to something # like /images. -image_path = images +image_path = /images # The charset to send to IRC, to send anything other than UTF-8 you will # need the Encode perl module installed. @@ -114,7 +114,7 @@ # This is regular experssion that sets what servers access should # be allowed to. -access_server = .* +access_server = irc\.uugrn\.lan # This is regular experssion that sets what ports access should # be allowed to. @@ -192,6 +192,10 @@ #login basic = Nickname, Channel #login advanced = Nickname, Realname, Channel, Server, Password, Format, Character set +login basic = Nickname, Realname +login advanced = Nickname, Realname, Channel + + # The default format to use format = default