Fixing the MySQL/MariaDB requirement in the Froxlor Debian package

0 Comments

OK. Any of you working with Froxlor on Debian in an HA environment knows that you will NEVER have a local DB server installed on a content node. You also know that Froxlor is one of the best Web Control Panels on the market.

Unfortunately some of the Devs in the Froxlor project are lacking in experience/knowledge in high end hosting situations or are just interested in keeping the install idiot proof for non-admins. Either way it is a pain for power users wishing to enjoy the power and versatility that Froxlor can offer.

I made mention a while back how easy it is to massage the Debian package, ensuring a clean install in an HA situation. Now let’s take a look at the few steps needed to achieve this. For the walk-through we will be using the 0.9.38.7 release of Frox.

First we need to update package sources, install the Froxlor source package and then update the debian/control file to move the MySQL/MariaDB server requirement to a recommendation.

apt-get update
apt-get source froxlor
cd froxlor-0.9.38.7/
nano debian/control

The original control file contains the following:

Source: froxlor
Section: admin
Priority: extra
Maintainer: Froxlor Release Team
Build-Depends: debhelper (>= 9)
Standards-Version: 3.9.6
Homepage: https://www.froxlor.org
Vcs-Browser: https://github.com/Froxlor/Froxlor/tree/extras/dist/deb
Vcs-Git: git://github.com/Froxlor/Froxlor.git

Package: froxlor
Architecture: all
Depends:
${misc:Depends},
apache2 | lighttpd | nginx,
php5 | php5-cgi,
php5-cli,
php5-curl,
php5-mysqlnd | php5-mysql,
mysql-server | mariadb-server,
mysql-client | mariadb-client,
mysql-common | mariadb-common,
webalizer | awstats,
Recommends:
postfix-mysql | exim4-daemon-heavy,
libsasl2-modules-sql,
maildrop,
dovecot-common | courier-authlib-mysql,
dovecot-imapd | courier-imap,
dovecot-pop3d | courier-pop,
php5-gd,
php5-imap,
proftpd-mod-mysql | pure-ftpd-mysql,
bind9 | pdns-server,
Description: Server Management Panel
Froxlor, the Server Management Panel is a server administration tool which
enables an internet service provider to give their customers a web-based
application to administrate their email addresses, their subdomains etc.

As you can see, if anyone updates the package as is you will suddenly have an SQL server installed on a node that should not have one and could actually cause problems. Let’s fix this slight oversight. Below is the updated version of the control file that I use for this version of Froxlor.

Source: froxlor
Section: admin
Priority: extra
Maintainer: Froxlor Release Team
Build-Depends: debhelper (>= 9)
Standards-Version: 3.9.6
Homepage: https://www.froxlor.org
Vcs-Browser: https://github.com/Froxlor/Froxlor/tree/extras/dist/deb
Vcs-Git: git://github.com/Froxlor/Froxlor.git

Package: froxlor
Architecture: all
Depends:
${misc:Depends},
apache2 | lighttpd | nginx,
php5 | php5-cgi,
php5-cli,
php5-curl,
php5-mysqlnd | php5-mysql,
mysql-client | mariadb-client,
mysql-common | mariadb-common,
webalizer | awstats,
Recommends:
postfix-mysql | exim4-daemon-heavy,
libsasl2-modules-sql,
maildrop,
dovecot-common | courier-authlib-mysql,
dovecot-imapd | courier-imap,
dovecot-pop3d | courier-pop,
mysql-server | mariadb-server,
php5-gd,
php5-imap,
proftpd-mod-mysql | pure-ftpd-mysql,
bind9 | pdns-server,
Description: Server Management Panel
Froxlor, the Server Management Panel is a server administration tool which
enables an internet service provider to give their customers a web-based
application to administrate their email addresses, their subdomains etc.

Now all we have to do is update the version information, build the package and update our install.

dch -i

You should add something similar to the following to the changelog.dch that is presented to you

froxlor (0.9.38.7-1.1) UNRELEASED; urgency=medium

* Change MySQL/MariaDB server requirement to recommended

-- Slydder <slydder_at_itadmins .net> Thu, 09 Mar 2017 11:51:33 +0100

Save the changelog, Build and install the package

dpkg-buildpackage
cd ..
dpkg -i froxlor_0.9.38.7-1.1_all.deb

Enjoy your cleaned up package.

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.