OpenBSD - Rainloop
Source
how to add a nice WebInterface to an existing Mailserver
Vars
export fqdn="your.server.de"
add pkg
PHP Version ? I took 8.1
pkg_add \
  curl-- \
  php--%8.1 \
  php-curl--%8.1 \
  php-pdo_sqlite--%8.1 \
  php-zip--%8.1 \
  pecl81-mcrypt \
  unzip-- \
  zip--
Cert
Assume you already have a TLS Cert, you can skip this one
php
cd /etc/php-8.1.sample/
cp * /etc/php-8.1/
size
sed -i 's/^upload_max_filesize.*/upload_max_filesize = 25M/' /etc/php-8.1.ini 
sed -i 's/^post_max_size.*/post_max_size = 29M/' /etc/php-8.1.ini 
httpd
cat << EOF > /etc/httpd.conf
server "${fqdn}" {
    listen on * port 80
    block return 302 "https://\$SERVER_NAME\$REQUEST_URI"
}
server "${fqdn}" {
    listen on * tls port 443
    tls {
      certificate "/etc/ssl/${fqdn}.fullchain.pem"
      key         "/etc/ssl/private/${fqdn}.key"
    }
    hsts {
      max-age 31556952
      preload
    }
    log {
      access  "${fqdn}-access.log"
      error   "${fqdn}-error.log"
    }
    root "/htdocs/rainloop"
    directory index index.php
    # Value below is 25MB in bytes. 1MB = 1048576 bytes
    connection max request body 26214400
    # security
    location "*/.git*"              { block }
    ## app specific (ref: https://www.rainloop.net/docs/permissions/ )
    location "/data/*"              { block }
    # robots.txt
    location "/robots.txt"          { pass }
    location "/*.php" {
        fastcgi socket "/run/php-fpm.sock"
    }
}
EOF
enable & start
rcctl enable httpd php81_fpm
rcctl restart httpd php81_fpm
Prepare Rainloop
mkdir /var/www/htdocs/rainloop
cd /var/www/htdocs/rainloop
Get Rainloop #1
curl -sL https://repository.rainloop.net/installer.php | php-8.1
chown -R www data
Get Rainloop #2
ftp https://www.rainloop.net/repository/webmail/rainloop-latest.zip
unzip rainloop-latest.zip
chown -R www data
allow resolv.conf
test -d /var/www/etc || mkdir -p /var/www/etc
test -f /var/www/etc/resolv.conf || cp /etc/resolv.conf /var/www/etc/resolv.conf
Admin Interface
-> user admin:12345