]> git.ekhem.eu.org Git - server.git/commitdiff
Remove instructions covered by automation from documentation.
authorJakub Czajka <jakub@ekhem.eu.org>
Wed, 27 Sep 2023 21:53:27 +0000 (23:53 +0200)
committerJakub Czajka <jakub@ekhem.eu.org>
Sun, 3 Dec 2023 21:55:21 +0000 (22:55 +0100)
README [deleted file]
ca/README
dovecot/README
fail2ban/README
git/README
matrix/README
nginx/README
opendkim/README
postfix/README
postgres/README
sshd/README

diff --git a/README b/README
deleted file mode 100644 (file)
index 62479e6..0000000
--- a/README
+++ /dev/null
@@ -1,13 +0,0 @@
-server
-======
-
-Configuration files for services deployed on a server. Each directory contains
-files for a single service. For example,
-
-sshd            -- Configuration for the SSH server service.
-|
-|-> README      -- Instructions for working with the service.
-|-> sshd_config -- Configuration of the service.
-`-> ssh.service -- systemd [1] unit file for the service.
-
-[1] systemd :: https://www.freedesktop.org/software/systemd/man/systemd.html
index ae17dc8e6e79d4a35b1823f0475f34c70db29a61..d3d6c81ca9e355080e6d3059491a1d1d7dab9df8 100644 (file)
--- a/ca/README
+++ b/ca/README
@@ -6,11 +6,6 @@ A private certificate authority (CA) for signing own certificates.
 Install
 -------
 
-```
-$ mkdir certs
-$ mkdir --mode=700 private certs/private
-```
-
 Answer "." to each option except for `commonName`. Enter a password. `.pem` is an
 instance of `.crt` [1].
 
index dc0bc80ebf7a52e0a2780385c70e7d85fa4ccfa2..f5f8f45f195e4c93afc6516d3d3dc6e472c4ecd4 100644 (file)
@@ -10,39 +10,7 @@ Verify configuration:
 dovecot -n
 ```
 
-Files
------
-
-dovecot
-|
-|-> dovecot.conf                -- /etc/dovecot/
-|-> dovecot-dict-auth.conf.ext  -- /etc/dovecot/
-|-> dovecot-dict-sql.conf.ext   -- /etc/dovecot/
-|-> dovecot-sql.conf.ext        -- /etc/dovecot/
-|-> 10-auth.conf                -- /etc/dovecot/conf.d/
-|-> 10-director.conf            -- /etc/dovecot/conf.d/
-|-> 10-logging.conf             -- /etc/dovecot/conf.d/
-|-> 10-mail.conf                -- /etc/dovecot/conf.d/
-|-> 10-master.conf              -- /etc/dovecot/conf.d/
-|-> 10-ssl.conf                 -- /etc/dovecot/conf.d/
-|-> 10-tcpwrapper.conf          -- /etc/dovecot/conf.d/
-|-> 15-lda.conf                 -- /etc/dovecot/conf.d/
-|-> 15-mailboxes.conf           -- /etc/dovecot/conf.d/
-|-> 20-imap.conf                -- /etc/dovecot/conf.d/
-|-> 20-lmtp.conf                -- /etc/dovecot/conf.d/
-|-> 90-acl.conf                 -- /etc/dovecot/conf.d/
-|-> 90-plugin.conf              -- /etc/dovecot/conf.d/
-|-> 90-quota.conf               -- /etc/dovecot/conf.d/
-|-> auth-checkpassword.conf.ext -- /etc/dovecot/conf.d/
-|-> auth-deny.conf.ext          -- /etc/dovecot/conf.d/
-|-> auth-dict.conf.ext          -- /etc/dovecot/conf.d/
-|-> auth-master.conf.ext        -- /etc/dovecot/conf.d/
-|-> auth-passwdfile.conf.ext    -- /etc/dovecot/conf.d/
-|-> auth-sql.conf.ext           -- /etc/dovecot/conf.d/
-|-> auth-static.conf.ext        -- /etc/dovecot/conf.d/
-`-> auth-system.conf.ext        -- /etc/dovecot/conf.d/
-
-SSL
+DNS
 ---
 
 Add DNS records. If no MX record is present, mail servers fall back to the A
@@ -57,30 +25,8 @@ example.com.        0 TXT     v=spf1 ip4=<IPv4 address> ip6=<IPv6 address> ~all
 _dmarc.example.com. 0 TXT     v=DMARC1; p=none; rua=mailto:<email>
 ```
 
-Install `certbot`.
-
-```
-$ apt install certbot
-```
-
-Create a certificate with a generic name and add all domains under it.
-
-```
-$ certbot certonly --manual --preferred-challenges dns --cert-name mail \
-    -d mail.<domain1> -d mail.<domain2>
-```
-
-Install
--------
-
-Each package corresponds to a plugin:
-
-```
-$ apt install dovecot-imapd dovecot-lmtpd dovecot-pgsql
-```
-
-Tables
-------
+Database
+--------
 
 Create database `mail_db`.
 
@@ -97,15 +43,6 @@ psql --dbname=mail_db --file=databases/mail/mail_db_create.sql
 Mailbox
 -------
 
-Use `vmail` user for virtual mailboxes.
-
-```
-$ useradd --home-dir /var/vmail --shell /usr/sbin/nologin --lock \
-    --create-home vmail
-$ touch /var/log/dovecot.log /var/log/dovecot-info.log
-$ chown vmail:vmail /var/log/{dovecot.log,dovecot-info.log}
-```
-
 Create mailboxes.
 
 ```
index 5663cb80ba2c1457cc22d51218027c6e458bd5b0..56fdfc2e00bd482f7dfef7b6101f173d06f2d74f 100644 (file)
@@ -5,22 +5,6 @@ fail2ban
 clients. If the frequency of failed logins increases sharply (DDoS attack),
 `fail2ban` will temporarly ban the specific IP address for that service.
 
-Files
------
-
-fail2ban
-|
-|-> paths-common.conf -- /etc/fail2ban/
-|-> fail2ban.local    -- /etc/fail2ban/
-`-> jail.local        -- /etc/fail2ban/
-
-Install
--------
-
-```
-$ apt install fail2ban
-```
-
 Programs
 --------
 
index c287b6ee5d4792ccb17ca03494cbc599c8b21f59..400a6589910edae106a915530874adf8cbc23122 100644 (file)
@@ -1,13 +1,6 @@
 git
 ===
 
-Files
------
-
-gitweb
-|
-`-> gitweb.conf -- /etc
-
 DNS
 ---
 
@@ -17,64 +10,17 @@ Set up <domain> and git.<domain>.
 <domain>        AAAA  <IPv6 address>
 git.<domain>    CNAME <domain>
 
-SSL
----
-
-Obtain a certificate with `certbot-nginx`.
-
-Install
--------
-
-Install packages.
-
-```
-$ apt install fcgiwrap gitweb
-```
-
-Start services.
-
-```
-$ systemctl start fcgiwrap
-```
-
 Notes
 -----
 
-Create a new user.
-
-```
-$ apt install git
-$ adduser git # <password> <password>
-```
-
-Allow connection only with SSH keys.
-
-```
-$ chmod 400 ${SSH_DIR}/id_rsa*
-$ ssh-copy-id -i ${SSH_DIR}/id_rsa git@<server-ip>
-```
-
-Login with SSH key.
-
-```
-$ ssh -i ${SSH_DIR}/id_rsa git@<server>
-```
-
-Disable login with password.
-
-```
-$ passwd --lock git
-```
-
 Create new bare repository.
 
 ```
-$ mkdir <repository>
 $ git init --bare <repository>
 ```
 
 Put repositories under `/srv/git` and change ownership.
 
 ```
-$ chgrp -R www-data /srv/git
+$ chown -R git:www-data /srv/git
 ```
index 315bc49e4ed57a2e6e47ea850cd5dbcd2f6d0d57..68afbeeebd046b47d84494f8f3495f5a92886960 100644 (file)
@@ -14,27 +14,6 @@ Set up <domain> and matrix.<domain>.
 <domain>        AAAA  <IPv6 address>
 matrix.<domain> CNAME <domain>
 
-SSL
----
-
-Obtain a certificate with `certbot-nginx`.
-
-Files
------
-
-matrix
-|
-|-> homeserver.yaml   -- /etc/matrix-synapse/        :: server configuration
-|-> server_name.yaml  -- /etc/matrix-synapse/conf.d/ :: server name
-`-> report_stats.yaml -- /etc/matrix-synapse/conf.d/
-
-Install
--------
-
-```
-$ apt install matrix-synapse
-```
-
 Users
 -----
 
index 3fa51ef43030ddfec8ce33d52c5676b0fec7e93b..7b6f2efefcd0cce3837b8f0edba54370f5f9e475 100644 (file)
@@ -3,45 +3,3 @@ nginx
 
 Load balancer and reverse proxy. Listens on ports and forwards requests according
 to rules. Protects connections with SSL.
-
-Files
------
-
-nginx
-|
-|-> nginx.conf               -- /etc/nginx/ :: Main configuration.
-|-> mime.types               -- /etc/nginx/ :: Available mime types.
-|-> <domain>.template        -- /etc/nginx/sites-available/.
-`-> matrix.<domain>.template -- /etc/nginx/sites-available.
-
-SSL
----
-
-`certbot` integrates with `nginx`.
-
-```
-$ apt install python3-certbot-nginx
-```
-
-Obtain a certificate for domains.
-
-```
-$ certbot certonly --nginx -d <domain1> -d <domain2>
-```
-
-Install
--------
-
-```
-$ apt install nginx
-```
-
-Sites
------
-
-Substitute `<...>` patterns in `*.template` files. Create symbolic links for
-files in /etc/nginx/sites-available.
-
-```
-$ ln -s /etc/nginx/sites-available/{...} /etc/nginx/sites-enabled
-```
index e11160854e049b8f6ab7e7dec79b29b5d3aae6ab..a8fa1459a110bf55a437a00a0a89a4a14fa46851 100644 (file)
@@ -6,14 +6,6 @@ allows recipients to verify if an email message truly came from the domain that
 it claims to have come from. It uses the /milter/ interface to provide DKIM
 signing.
 
-Files
------
-
-opendkim
-|
-|-> opendkim      -- /etc/default :: service configuration
-`-> opendkim.conf -- /etc/        :: configuration parameters
-
 Notes
 -----
 
@@ -35,10 +27,3 @@ psql -U postgres -d mail_db \
 ```
 
 Add `/etc/opendkim/keys/<domain>/<selector>.txt` as a DNS record.
-
-Install
--------
-
-```
-$ apt install opendkim libopendbx1-pgsql
-```
index ae1d9991e0f634ce9a25faa02cd607018ae4c58b..979bcf408b07684d52c33760bacd74e34bbde030 100644 (file)
@@ -4,34 +4,6 @@ postfix
 MTA (Mail Transfer Agent) server. Clients or other email servers connect to
 `postfix` to transfer their email with Simple Mail Transfer Protocol (SMTP).
 
-Files
------
-
-`master.cf` configures the postfix daemon and `main.cf` configures the MTA
-server. Only root should have write permissions to these files.
-
-postfix
-|
-|-> main.cf         -- /etc/postfix/ :: configuration parameters
-|-> master.cf       -- /etc/postfix/ :: postfix daemon
-`-> address_book.cf -- /etc/postfix/ :: FROM query
-
-Install
--------
-
-```
-$ apt install postfix
-```
-
-Notes
------
-
-Set MTA server hostname, which is used by `$myhostname`.
-
-```
-$ hostname <hostname>
-```
-
 Resources
 ---------
 
index ada20c23259c24c042a0e7073cc55cf5da0c3359..a496f007c62e0e4f60555f8c24dd161170cd3eb4 100644 (file)
@@ -3,14 +3,6 @@ postgres
 
 Relational database.
 
-Files
------
-
-postgres
-|
-|-> pg_hba.conf     -- /etc/postgresql/$(version)/main/
-`-> postgresql.conf -- /etc/postgresql/$(version)/main/
-
 DNS
 ---
 
@@ -20,33 +12,6 @@ Set up <domain> and psql.<domain>.
 <domain>      AAAA  <IPv6 address>
 psql.<domain> CNAME <domain>
 
-SSL
----
-
-Postgres uses both server- and client-side certificates. Whenever a client tries
-to connect, verifies server's certificate and then presents their certificate.
-
-SSL (server)
-------------
-
-Obtain a certificate with `certbot`.
-
-```
-$ certbot certonly --standalone -d psql.<domain>
-```
-
-Copy the certificate to a directory owned by `postgres`. Change its ownership and
-permissions.
-
-```
-$ mkdir /etc/postgresql/<version>/main/private
-$ chmod 700 /etc/postgresql/<version>/main/private
-$ cp /etc/letsencrypt/live/psql.<domain>/{fullchain.pem,privkey.pem} \
-  /etc/postgresql/<version>/main/private/
-$ chmod 600 /etc/postgresql/<version>/main/private/{fullchain.pem,privkey.pem}
-$ chown postgres:postgres -R /etc/postgresql/<version>/main/private
-```
-
 SSL (client)
 ------------
 
@@ -76,10 +41,3 @@ psql "host=psql.<domain> sslcert=<out>.crt sslkey=<out>.key user=<user> \
   dbname=<db_name> sslrootcert=/etc/ssl/certs/ca-certificates.crt \
   sslmode=verify-full"
 ```
-
-Install
--------
-
-```
-$ apt install postgresql
-```
index d2ae1eb72452a77a6255ea114922453a14f36006..a1bcfef1064ff1f3de68117c60b77577be261703 100644 (file)
@@ -3,23 +3,6 @@ sshd
 
 SSH server [1].
 
-Files
------
-
-sshd
-|
-|-> sshd_config -- /etc/ssh/
-`-> ssh.service -- /etc/systemd/system/
-
-Updates
--------
-
-After updating `/etc/ssh/sshd_config`, reload the service.
-
-```
-$ systemctl reload ssh
-```
-
 SSL
 ---