mmx
Verified User
Hi all, I'm in the middle of developing and testing the first release of PortsBuild, a CustomBuild alternative for FreeBSD 9.3/10.3 and beyond. I've come to a point in the code that warrants user feedback and expectations, as some of the changes I've implemented may potentially cause frustration for those used to CB2 or DirectAdmin defaults.
I am looking for pre-release feedback and requests, so anyone who has a few minutes to spare their opinion on the direction of PortsBuild is not only welcomed but highly appreciated. Basically, I'm doing my best to make sure I keep everyone happy when/while using PortsBuild, so best to ask users for their feedback before the project permanently goes off track.
Please note that PortsBuild is absolutely NOT supported by DirectAdmin and comes with no warranty.
Current PortsBuild limitations and changes ("good to know"):
Included PortsBuild features:
What's been kept so far or ported over from CustomBuild:
Here are some examples of changes & differences between CB/DA defaults and PortsBuild. The following are currently implemented in PortsBuild:
Questions for all FreeBSD users interested in the PortsBuild project. You don't have to answer all questions. Any type of feedback or discussion is welcome.
In short: do you expect PortsBuild to function the same way as CustomBuild, or are you okay with a completely different system to get stuff done?
I am looking for pre-release feedback and requests, so anyone who has a few minutes to spare their opinion on the direction of PortsBuild is not only welcomed but highly appreciated. Basically, I'm doing my best to make sure I keep everyone happy when/while using PortsBuild, so best to ask users for their feedback before the project permanently goes off track.
Please note that PortsBuild is absolutely NOT supported by DirectAdmin and comes with no warranty.
Current PortsBuild limitations and changes ("good to know"):
- Only a single version of PHP can be installed at this time. Installing multiple PHP versions from ports is very, very tricky.
- Supported PHP versions: 5.5, 5.6, 7.0, or whatever is available from the ports tree.
- LiteSpeed support has been dropped since it's not found in ports or packages.
- SquirrelMail support has been dropped due to lack of updates in the ports tree.
- Default SQL database path has been moved to /var/db/mysql (used to be: /home/mysql) but can be changed.
- Majority of files that were kept in /etc/ are moved to /usr/local/etc, except /etc/virtual has been kept for mail.
Example files that are relocated: exim.conf, exim.pl, pureftpd.pdb, proftpd.conf, dovecot.conf, etc.
Included PortsBuild features:
- All services installed via ports or packages (except Majordomo). The sysadmin can choose to install services via any combination, such as Apache from ports and MariaDB from packages.
- Ability to define make.conf options through PortsBuild's configuration files.
- Adheres to FreeBSD's hier recommendations.
- Ability to apply Apache 2.4 patches, such as suexec, hardened symlinks, etc. even when installing from /usr/ports/www/apache24
- Minimal system modifications; PB only modifies the bare necessities unless you tell it to do more.
What's been kept so far or ported over from CustomBuild:
- Custom configuration files for all services including the folder tree structure (e.g. custom/ap2, custom/fpm, etc.) with support for additional applications.
- options.conf has the usual stuff, with the ability to control additional (optional) settings
- Ability to enable/disable all services, including DNS (named/BIND) and SQL DB (MariaDB/MySQL).
- Supporting BlockCracking, EasySpamFighter, SpamBlocker, etc.
Here are some examples of changes & differences between CB/DA defaults and PortsBuild. The following are currently implemented in PortsBuild:
CB/DA (Default) | PortsBuild (Proposed) | |
Installing a service e.g. Apache | ./build apache | ./portsbuild.sh install apache |
Updating a service e.g. Apache | ./build apache | ./portsbuild.sh upgrade apache OR pkg upgrade apache24 |
Path to PHP Sockets | /usr/local/php%VER%/sockets | /var/run/php/sockets |
Path to WWW Directory | /var/www/html | /usr/local/www |
Apache SSL Paths | /etc/httpd/conf/ssl.crt /etc/httpd/conf/ssl.key | /usr/local/etc/apache24/ssl Both .key & .crt in the same folder; ability to change paths. |
Path to EasySpamFighter & BlockCracking folders | /etc/exim.easy_spam_fighter /etc/exim.blockcracking | /usr/local/etc/exim/esf /usr/local/etc/exim/bc |
Questions for all FreeBSD users interested in the PortsBuild project. You don't have to answer all questions. Any type of feedback or discussion is welcome.
- Ideally, how do you expect PortsBuild to function? Do you want a "single use" script, or a system that functions like CustomBuild?
- Single use = use PortsBuild to install and configure a DirectAdmin box on FreeBSD with ports and packages, and then use pkg/portmaster/synth to manage the system, rarely coming back to PB. Think of PB as a one-time "deployment script" rather than a "daily driver".
- CB style = continuously use PortsBuild to install/update/manage the DirectAdmin box (along with related services) on a daily basis. PortsBuild will mostly take care of everything.
- What do you think about relocating configuration files conforming to the FreeBSD's hier? Such as moving /usr/local/php/sockets to /var/run/php/sockets, or files that were once kept in /etc are now moved to /usr/local/etc? Do you prefer keeping the same structure as DirectAdmin and CustomBuild currently have in place, or are you okay with keeping files in the right places?
- Do you expect PortsBuild to upgrade services for you, or do you prefer using port/package management tools such as portmaster, pkg or synth?
- Do you expect or prefer PortsBuild update dovecot.conf and exim.conf for you automatically? e.g. whenever a new version of SpamBlocker/ESF/BC shows up.
- What do you think about using "synth" to manage and rebuild ports and packages for you? (synth is a nicer alternative to portmaster)
If not, what do you recommend to use? - Do you expect the same level of customization that CustomBuild offers you, or do you wish to have more flexibility and power? Or, do you tend to modify configuration files more often "by hand" and skip on custom templates?
- How much automation do you expect from a system like PortsBuild? Do you want PB to auto-fix common mistakes without prompting you, or do you prefer fixing problems manually?
In other words, are you okay with PortsBuild automatically fixing problems without stopping to ask you first, or do you prefer the script to stop and exit with a warning and recommending the best course of action for you to consider? Try to think as to how CB tends to handle problems during its operation, and how much "AI-like" processing do you expect (or wish) from PortsBuild. - Are you comfortable having PortsBuild installed under /usr/local/directadmin/portsbuild, or do you prefer elsewhere?
Other possible places: /usr/local/portsbuild, or: /root/portsbuild
In short: do you expect PortsBuild to function the same way as CustomBuild, or are you okay with a completely different system to get stuff done?