个人工具

UbuntuHelp:Bitlbee/Latest

来自Ubuntu中文

跳转至: 导航, 搜索

Introduction

This page documents custom compiling the latest Bitlbee release, which now supports multi-user-chat support (chat rooms). This document is written as of March 27, 2008 based on Bitlbee 1.2.3 release and Ubuntu 8.04 LTS. It should be noted that any previous installations of bitlbee should be removed

sudo aptitude remove bitlbee

Preparation

Dependencies

To install the latest build of Bitlbee we'll need to compile the source code manually. In order to do so we'll need to install a few packages:

sudo aptitude install build-essential libgnutls-dev libglib2.0-dev xinetd

note: the packages (except for xinetd) can be safely removed once bitlbee has been installed successfully

Get the Source

We'll need to download the latest release of Bitlbee which supports MUC (multi-user-chat). As of this writing this version is 1.2:

wget -c http://get.bitlbee.org/src/bitlbee-1.2.3.tar.gz

Unarchive this once it is finished downloading:

tar -xf bitlbee-*.tar.gz
cd bitlbee-*

At this point we're ready to configure the Bitlbee build and compile the code. If you want to simply configure the default client, which supports the main protocols (AIM/ICQ, MSN, Yahoo! and Jabber) do:

./configure

Personally I only use Jabber, so I don't compile AIM/ICQ, Yahoo! or MSN support. If you'd like to only support Jabber do:

./configure --msn=0 --yahoo=0 --oscar=0

If the configure is done properly you should see output similar to:

Configuration done:
  Debugging disabled.
  Binary stripping enabled.
  Using event handler: glib
  Using SSL library: gnutls
  Building with these storage backends: text xml
  Building with these protocols: msn jabber oscar yahoo

You can now make and install the application. The install-etc option installs `motd.txt` and `bitlbee.conf`. It is optional:

make
sudo make install
sudo make install-etc

Installing with checkinstall

If you wish to create and/or install a `.deb` package from the bitlbee source, you can use checkinstall(1). Since checkinstall doesn't allow you to specify multiple make(1) targets on the commandline, you might want to apply this patch to bitlbee's makefile so that `bitlbee.conf` is included in the `.deb`:

--- Makefile.orig       2008-01-05 23:43:37.000000000 -0500
+++ Makefile    2008-01-05 23:44:53.000000000 -0500
@@ -20,10 +20,10 @@
 all: $(OUTFILE)
        $(MAKE) -C doc

-uninstall: uninstall-bin uninstall-doc
+uninstall: uninstall-bin uninstall-doc uninstall-etc
        @echo -e '\nmake uninstall does not remove files in '$(DESTDIR)$(ETCDIR)', you can use make uninstall-etc to do that.\n'

-install: install-bin install-doc
+install: install-bin install-doc install-etc
        @if ! [ -d $(DESTDIR)$(CONFIG) ]; then echo -e '\nThe configuration directory $(DESTDIR)$(CONFIG) does not exist yet, don'\''t forget to create it!'; fi
        @if ! [ -e $(DESTDIR)$(ETCDIR)/bitlbee.conf ]; then echo -e '\nNo files are installed in '$(DESTDIR)$(ETCDIR)' by make install. Run make install-etc to do that.'; fi
        @echo
@@ -65,7 +65,7 @@

 install-bin:
        mkdir -p $(DESTDIR)$(BINDIR)
-       install -m 0755 $(OUTFILE) $(DESTDIR)$(BINDIR)/$(OUTFILE)
+       install -m 0755 $(OUTFILE) $(DESTDIR)$(BINDIR)$(OUTFILE)

 uninstall-bin:
        rm -f $(DESTDIR)$(BINDIR)/$(OUTFILE)

You might also want to use `--fstrans=no` as an option to checkinstall to avoid file permission warnings.

Installation Tweaks

Because this isn't a fancy Ubuntu package we need to manually create a few things. To make things work we'll do three more things:

Create the variable data folder

sudo mkdir /var/lib/bitlbee
sudo chown nobody. /var/lib/bitlbee

Create the xinetd configuration

Since we installed xinetd above we also need to configure it for bitlbee:

sudo gedit /etc/xinetd.d/ircd

Add the following content:

service ircd
{
        socket_type = stream
        protocol    = tcp
        wait	    = no
        user        = nobody
        server      = /usr/local/sbin/bitlbee
        port        = 6667
        disable     = no
}

Once you've saved this file you'll need to restart xinetd:

sudo /etc/init.d/xinetd restart

At this point you should be able to connect to your new bitlbee server. w00t!

Connecting to a Jabber Chatroom

You'll need to create a Jabber account as seen on the main Bitlbee page, and then use that to join a public chatroom:

join_chat <account number> [email protected] &localroomname username

Example:

join_chat 0 [email protected] &chatroom ubuntu-user