Squirrel Mail

Required: opensmtpd, dovecot, php-7.4

1- $ ftp https://sourceforge.net/projects/squirrelmail/files/stable/1.4.22/squirrelmail-webmail-1.4.22.tar.gz
2- tar xvzf squirrelmail-webmail-1.4.22.tar.gz
3- rm squirrelmail-webmail-1.4.22.tar.gz
4- $ doas mv squirrelmail-webmail-1.4.22 /var/www/htdocs/mail
$ doas chown -R www:daemon /var/www/htdocs/mail
$ doas chmod -R o-rx /var/www/htdocs/mail
5- add mail (A/ AAAA) to nsd then: $ doas nsd-control reload
6- doas nano /etc/httpd.conf :
server "mail.doamin-name" {

        listen on 127.0.0.1 port 80
        directory index index.php
        root "/htdocs/mail"
        location "*.php" {
                fastcgi socket "/run/php-fpm.sock"
        }

}
7- doas nano /etc/relayd.conf :
tls { keypair mail.domain-name }
8- doas nano /etc/acme-client.conf :
domain mail.domain-name {
alternative names { domain-name imap.domain-name smtp.domain-name pop.domain-name pop3.domain-name}
domain key "/etc/ssl/private/mail.domain-name.key"
domain full chain certificate "/etc/ssl/mail.domain-name.crt"
sign with letsencrypt
}
Request the cert: doas acme-client -v mail.domain-name
9- $ doas chsh -s /bin/ksh www
$ doas su www
$ cd /var/www/htdocs/mail.example.com/config
$ perl conf.pl
Type 2 to edit Server Settings, save your work and quit.
logout: doas chsh -s /sbin/nologin www
10- doas nano /etc/dovecot/dovecot.conf :
listen = ipv4, ipv6, 127.0.0.1
doas rcctl restart dovecot
11- $ doas mkdir -p /var/www/var/local/squirrelmail/data
$ doas mkdir -p /var/www/var/local/squirrelmail/attach
$ doas chown -R www:daemon /var/www/var/local/squirrelmail
$ doas chmod -R o-rx /var/www/var/local/squirrelmail 12- doas nano /var/www/etc/resolv.conf :
lookup file bind
nameserver 127.0.0.1
13- doas nano /var/www/etc/hosts :
127.0.0.1 localhost
::1 localhost
14- setup femail:
doas mkdir -p /var/www/etc/
doas nano /var/www/etc/femail.conf :
smtphost=127.0.0.1
myname=mail.domain-name
15- Permissions
cd /var/www/htdocs/
doas chown root:bin webmail
doas find ./webmail -type d -exec chmod 755 {} \;
doas find ./webmail -type f -exec chmod 644 {} \;
doas rm /var/www/htdocs/webmail/README
doas rm /var/www/htdocs/webmail/configure
doas touch /var/www/htdocs/mail/config/config.php
doas chown www:www /var/www/htdocs/mail/config/config.php
doas chmod 400 /var/www/htdocs/mail/config/config.php