Setting up InspIRCd On Ubuntu 18.04

From IRC Wiki
Jump to: navigation, search
This article is a rough draft. Some items in the article may be incomplete or may not work as intended. You can help by learning how to Contribute to the article.

Prerequisites

Before you can install InspIRCd you will need to make sure that you have all the required packages, and that the correct directories/users are created on the system.

# apt-get install build-essential openssl libssl-dev pkg-config git
# mkdir /home/irc
# mkdir /home/irc/.ssh
# chown -R irc:irc /home/irc
# chsh irc -s /bin/bash
# usermod -d /home/irc irc

Compile InspIRCd

Once all the prerequisites are setup you will be ready to clone the repository and compile the IRCd.

# mkdir $HOME/src
# cd $HOME/src
# git clone https://github.com/inspircd/inspircd.git
# cd inspircd/
# git checkout insp20
# ./configure --prefix=/opt/inspircd --enable-openssl --uid=irc
# make && make install

Finalize installation

You will need to change permissions and ownership of the /opt/inspircd directory, as well as setup the ircd service file.

# chown -R irc:irc /opt/inspircd
# chmod -R u+rwx,g+rwx,o-rwx /opt/inspircd
# wget https://gitlab.com/BuddyIM/scripts/raw/master/ircd.service -O /etc/systemd/system/ircd.service
# chmod +x /etc/systemd/system/ircd.service

Configure

*************************************
*        INSTALL COMPLETE!          *
*************************************
Paths:
  Base install: /opt/inspircd
  Configuration: /opt/inspircd/conf
  Binaries: /opt/inspircd/bin
  Modules: /opt/inspircd/modules
  Data: /opt/inspircd/data
To start the ircd, run: /opt/inspircd/inspircd start
Remember to create your config file: /opt/inspircd/conf/inspircd.conf
Examples are available at: /opt/inspircd/conf/examples/

Once you see the above message you are ready to configure your IRCd by editing /opt/inspircd/conf/inspircd.conf.

Once your IRCd is configured, you can start it by typing sudo service ircd start. If you want to add the ircd to startup simply run systemctl enable ircd.service.