# Advice when migrating Internet forum from CentOS7 to FreeBSD



## dbdemon (Apr 16, 2022)

I have an Internet forum (Xenforo software running on nginx, php-fpm, MariaDB, ElasticSearch) and a mail server (dovecot, postfix, and roundcube for the front-end) running on CentOS7.

As I've acquired a taste for FreeBSD and also because CentOS7 is EOL by June 2024 (and CentOS8 is already EOL ...), I would like to migrate to FreeBSD. I already have my blog running on a FreeBSD VPS, but I have been putting off the forum + mail server migration for now because I realise my FreeBSD skills are not yet fantastic and also because getting the mail server just right is going to be painful.

Anyway, I see that jails are used a lot for FreeBSD, so I was wondering if it makes any sense to put the mail server and/or any of the other bits inside jails. Or would that just unnecessarily complicate everything or introduce unnecessary overhead?

So far I've only used packages, but would it be better to use ports for any of this? (Incidentally, a Youtuber I follow recently posted a series of videos about installing a FreeBSD mail server using ports: https://www.youtube.com/playlist?list=PLimU5OMnV2EdzIpsbIB_q6sKYdJDxnTUP)

Also, are dovecot and postfix still good options on FreeBSD or are there better alternatives I should be considering?

I think the forum migration itself should be fine, but I'd be interested to hear if anyone has done a similar migration before or just installed Xenforo on FreeBSD. Any caveats I should know about?  

In any case, thank you for your time reading this.


----------



## mark_j (Apr 16, 2022)

I have used dovecot for a long time. It works no problems. Postfix? No I'm an old sendmail tragic because it's in base & it's what I've always used.By all accounts postfix is just as good as sendmail but with fewer features.

As to the rest, providing it's in ports/packages, you'll have no issue migrating your setup. In fact most of the configuration should transfer over with perhaps the only change being paths, oh, and things like mariadb's path CAN be set in rc.conf or you can use the traditional my.cnf/mariadb.cnf in /usr/local/etc.

Ports are good if the configuration you want of that application is not what is packaged in binary form. If it's exactly what you want then packages are your best bet.

Personally, I would suggest you get yourself setup without jails. Get it all working then create your jails and migrate postfix, dovevot, your web server etc as you get more skilled. Jails can definitely cause issues, especially with web servers, for the uninitiated.

TL;DR Until your skills are better, small baby steps rather than big strides. Don't overcomplicate it.


----------



## obsigna (Apr 16, 2022)

dbdemon said:


> So far I've only used packages, but would it be better to use ports for any of this? (Incidentally, a Youtuber I follow recently posted a series of videos about installing a FreeBSD mail server using ports: https://www.youtube.com/playlist?list=PLimU5OMnV2EdzIpsbIB_q6sKYdJDxnTUP)
> 
> Also, are dovecot and postfix still good options on FreeBSD or are there better alternatives I should be considering?


Perhaps this does not exactly answer your questions about the mail services. I choose Postfix and Dovecot for my mail services because of long time experiences with Postfix/Cyrus IMAP in a company (somebody else did the choice before I took over the server administration). Later, I stayed with Postfix, because this piece of software never failed for me. However, I was never completely happy with Cyrus IMAP -- too many recovery runs over the years. After reading the docs, I choose Dovecot for the POP3/IMAP part for my mail systems, and I am quite happy with it, since regarding stability it plays in the same league as Postfix.

I use the packages of Postfix and Dovecot, because the pre-configured options are just fine (for me). However, I employ external relays for outgoing mails, and for this I need Postfix with SASL support, and therefore I installed the package mail/postfix-sasl.


----------



## Beastie7 (Apr 16, 2022)

dbdemon said:


> Anyway, I see that jails are used a lot for FreeBSD, so I was wondering if it makes any sense to put the mail server and/or any of the other bits inside jails. Or would that just unnecessarily complicate everything or introduce unnecessary overhead?



If you're just starting with FreeBSD, the administrative overhead is far less with Jails as you just have one kernel to deal with. If you for some reason need kernel level tuning for an application; bhyve will enable that. Start small with jails then decide from there I'd suggest.



dbdemon said:


> So far I've only used packages, but would it be better to use ports for any of this? (Incidentally, a Youtuber I follow recently posted a series of videos about installing a FreeBSD mail server using ports: https://www.youtube.com/playlist?list=PLimU5OMnV2EdzIpsbIB_q6sKYdJDxnTUP)



It depends. if you're picky about the dependencies included in each package, want a more cleaner system, or the default package don't provide what you require; then use ports. If you want a turnkey experience and to just get things done; use packages.



dbdemon said:


> Also, are dovecot and postfix still good options on FreeBSD or are there better alternatives I should be considering?



I'd stick with what you know. Jumping to another solution adds more administrative load on your end; learning new stuff, new configuration files/parameters, etc.

CentOS 7 is pre-systemd right? If not, good luck.


----------



## scottro (Apr 16, 2022)

No, it's systemd. However, I don't think that will give too many issues, it's just a different way to start services. Postfix and Dovecot should work without problems. Packages should be fine unless you're doing something unusual. You can cd into a port's directory and type 
	
	



```
make config
```
to see the possible options.  The ones that are unmarked are what you'll get with the package. If you  need one of those unmarked options, you'll need the port.


----------



## Jose (Apr 16, 2022)

One interesting use for jails is to make database upgrades easier. This is how Dan Langille upgrades the Postgresql database that backs up Freshports:


			Dumping PostgreSQL 9.4 to upgrade to PostgreSQL 9.6 – Dan Langille's Other Diary


----------



## hardworkingnewbie (Apr 16, 2022)

dbdemon said:


> I have an Internet forum (Xenforo software running on nginx, php-fpm, MariaDB, ElasticSearch) and a mail server (dovecot, postfix, and roundcube for the front-end) running on CentOS7.


Hi, welcome! Personally I've looked at its supposed successors, Alma and Rocky Linux. When I saw that these had in the base installation dbus running as requirement (maybe because of firewalld?) this was enough to forget about them.

Anyway, for the migration: all major moving parts are running on FreeBSD as well without problems. For PHP you've got to ensure to activate the modules/extensions which Xenforo requires to run.

In terms of the mail architecture, well - Dovecot is the standard IMAP server since years. It's got an excellent track record, it scales well, is well documented and introduced many own innovations. Most other opensource IMAP/POP servers don't show much progress anyway since Dovecot took the crown of the king of IMAP servers.

Postfix - nothing wrong with that one either. I mean its author, Wietse Venema, is a well respected security researcher and it shows. The only reason to go for something else would be if you really need to send out millions of emails a day and Postfix is just too slow for that (go Haraka), or have some issues with its weird license (IBM Public License/Eclipse Public License) or have really weird, esoteric configuration needs which Postfix cannot be adapted to. So far I've not seen such a case yet though.


----------

