]> arthur.barton.de Git - ngircd-alex.git/blobdiff - INSTALL.md
ngIRCd Release 27
[ngircd-alex.git] / INSTALL.md
index ac9eff407bf86070b7b4c0a44223bef7e82459f4..16c7ea4b0cb176f28e44f1ae0040b365ad9ad5fa 100644 (file)
@@ -1,23 +1,38 @@
-# [ngIRCd](https://ngircd.barton.de) - Internet Relay Chat Server
+# [ngIRCd](https://ngircd.barton.de) - Installation
 
-This document explains how to install, the lightweight Internet Relay Chat
-(IRC) server.
+This document describes how to install ngIRCd, the lightweight Internet Relay
+Chat (IRC) server.
 
 The first section lists noteworthy changes to earlier releases; you definitely
 should read this when upgrading your setup! But you can skip over this section
-when you do a fresh installation.
+when you are working on a fresh installation.
 
-All the subsequent sections describe the steps required to build and install
-ngIRCd from sources. The information given here is not relevant when you are
-using packages provided by your operating system vendor or third-party
-repositories.
+The subsequent sections describe the steps required to build and install ngIRCd
+_from sources_. The information given here is not relevant when you are using
+packages provided by your operating system vendor or third-party repositories!
 
-Please see the file `doc/QuickStart.md` in the `doc/` directory and
-[online](https://ngircd.barton.de/doc/QuickStart.md) on the homepage for
-information about configuring ngIRCd, including some configuration examples.
+Please see the file `doc/QuickStart.md` in the `doc/` directory or on
+[GitHub](https://github.com/ngircd/ngircd/blob/master/doc/QuickStart.md) for
+information about _setting up_ and _running_ ngIRCd, including some real-world
+configuration examples.
 
 ## Upgrade Information
 
+This section lists important updates and breaking changes that you should be
+aware of *before* starting the upgrade:
+
+Differences to version 26
+
+- **Attention**:
+  Starting with release 27, ngIRCd validates SSL/TLS certificates on outgoing
+  server-server links by default and drops(!) connections when the remote
+  certificate is invalid (for example self-signed, expired, not matching the
+  host name, ...). Therefore you have to make sure that all relevant
+  *certificates are valid* (or to disable certificate validation on this
+  connection using the new `SSLVerify = false` setting in the affected
+  `[Server]` block, where the remote certificate is not valid and you can not
+  fix this issue).
+
 Differences to version 25
 
 - **Attention**:
@@ -232,6 +247,27 @@ So the resulting command looks like this:
     make pam pkg-config zlib
 ```
 
+#### macOS with Homebrew
+
+To build ngIRCd on Apple macOS, you need either Xcode or the command line
+development tools. You can install the latter with the `xcode-select --install`
+command.
+
+Additional tools and libraries that are not part of macOS itself are best
+installed with the [Homebrew](https://brew.sh) package manager:
+
+``` shell
+  brew install autoconf automake gnutls libident pkg-config
+```
+
+Note: To actually use the GnuTLS and IDENT libraries installed by Homebrew, you
+need to pass the installation path to the `./configure` command (see below). For
+example like this:
+
+``` shell
+  ./configure --with-gnutls=$(brew --prefix) --with-ident=$(brew --prefix) [...]
+```
+
 ### `./autogen.sh`
 
 The first step, to run `./autogen.sh`, is *only* necessary if the `configure`
@@ -365,7 +401,7 @@ standard locations.
   - `--with-gnutls[=<path>]`
 
   Enable support for SSL/TLS using OpenSSL or GnuTLS libraries.
-  See `doc/SSL.txt` for details.
+  See `doc/SSL.md` for details.
 
 - IPv6 (autodetected by default):
 
@@ -373,46 +409,3 @@ standard locations.
 
   Enable (disable) support for version 6 of the Internet Protocol, which should
   be available on most modern UNIX-like operating systems by default.
-
-## Configuration
-
-Please see the file `doc/QuickStart.md` in the `doc/` directory and
-[online](https://ngircd.barton.de/doc/QuickStart.md) on the homepage for
-information about configuring ngIRCd, including some configuration examples.
-
-And have a look at the `ngircd(8)` and `ngircd.conf(5)` manual pages for
-details and all possible command line and configuration options -- **and don't
-forget to run `ngircd --configtest` to validate your configuration file!**
-
-### Manual Pages Online
-
-- Daemon: [ngircd.8](https://manpages.debian.org/ngircd.8)
-- Configutation file: [ngircd.conf.5](https://manpages.debian.org/ngircd.conf.5)
-
-## Command line options
-
-ngIRCd supports the following command line options:
-
-- `-f`, `--config <file>`
-
-  The daemon uses the file `<file>` as configuration file rather than
-  the standard configuration `/usr/local/etc/ngircd.conf`.
-
-- `-n`, `--nodaemon`
-
-  ngIRCd should be running as a foreground process.
-
-- `-p`, `--passive`
-
-  Server-links won't be automatically established.
-
-- `-t`, `--configtest`
-
-  Reads, validates and dumps the configuration file as interpreted
-  by the server. Then exits.
-
-Use `--help` to see a short help text describing all available parameters
-the server understands, with `--version` the ngIRCd shows its version
-number. In both cases the server exits after the output.
-
-Please see the `ngircd(8)` manual page for more details!