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