Jump to content
Froxlor Forum
d00p

Release candidate 0.10.0 - It's Froxlor, but with API :)

Recommended Posts

Dear Froxlor Commuity,

finally - the first release candidate of our new API based version 0.10.0! A lot of work has gone into this, many internal changes (you might miss any frontend-changes, but be patient...) most importantly the API backend which not only is used by froxlor frontend itself but can also be uses from within your website/scripts/etc.

Froxlor now uses composer to include some of its requirements like phpMailer, Logger, IdnaConvert and TwoFactorAuth libraries.

Here are some of the new features besides API that found their way in:

  • - 2FA / TwoFactor Authentication for accounts
  • - MySQL8 compatibility
  • - new implementation of Let's Encrypt (acme.sh)
  • - customizable error/access log handling for webserver (format, level, pipe-to-script, etc.)
  • - lots and lots of bugfixes and small enhancements

You can see all changes on Github at https://github.com/Froxlor/Froxlor/compare/0.9.40.1...0.10.0-rc2

Download: 0.10.0-rc2

Note: There will be no Debian packages for release-candidates.

Visit http://www.froxlor.org or join our IRC channel #froxlor on irc.freenode.net.

Thank you,
d00p

Share this post


Link to post
Share on other sites

That sounds and looks great. Good work!

I think in the longrun it would make sense to separate the Froxlor frontend from the backend. I guess it could make sense to install the froxlor backend without the frontend, but use your own frontend. Or someone may come of with a CLI tool that can talk to the froxlor API and you don't need any webfrontend at all. That would be really cool.

As I guess there are no other backends that support the same API, it does not really make sense to use the froxlor frontend without the backend. So I see the frontend as a component that requires the backend, but the backend as a component that could be used standalone.

Share this post


Link to post
Share on other sites

As a matter of fact, there is no dependency from the API to the front-end really...all the sanity checks etc. Are in the API, not the front-end

Share this post


Link to post
Share on other sites

As there is little to no feedback for this release candidate I cannot tell for sure as I need to test as much as possible myself

Share this post


Link to post
Share on other sites

I've update my prod buster system today to 10.0-rc2. I'll report any issues i'll find.

How can I report possibl bugs?

Edited by cscholz

Share this post


Link to post
Share on other sites

Yes, this stays all the same. Just update as usual

Share this post


Link to post
Share on other sites

Yeah. Just did it.

First view: looks good, good job! :)

One thing I like to mention:

In my Environment I use a lot of LE-Certs. On Upgrade the ALL get renewed. By default it's a 5 minute cron for each webserver-change and each LE-renewal run...
This means: after Upgrade all certs get deleted and thus web server configfiles recreated with HOSTS default certs. within this webserver-recreation all LE certs get recreated. If they are not fully recreated within 5 minutes the following job: webserver-renewal with the LE-cert paths may take another 5 minutes. For me: My sites were 15 minutes without invalid certs ;) (not that ugly as I have not that highly visited pages :P)

Maybe we can add a hint that it may mean up to a 10-15 minutes "possible outage" on upgrade!?

Share this post


Link to post
Share on other sites

This is due to the change of the acme implementation. I see what I can do there

Share this post


Link to post
Share on other sites

Are there any points I can test?

 

On 7/7/2019 at 3:20 PM, snoopotic said:

Maybe we can add a hint that it may mean up to a 10-15 minutes "possible outage" on upgrade!? 

After that, your pages went back?

Share this post


Link to post
Share on other sites
7 minutes ago, Tealk said:

Are there any points I can test?

Installation, update of 0.9.x to 0.10.0-rc or better current git, adding, editing and deleting of entities, paying around with external API call, etc.etc.etc. 

Share this post


Link to post
Share on other sites

So there were no problems with the update (Debian 9)
I could also create and edit subdomains as well as delete them.
2FA also works

I also installed it on a test server without any problems. (Debian 10)
On the server I'm still testing

Share this post


Link to post
Share on other sites

@Tealk yup, after that pages went back with new valid certs.

 

Well, maybe I found a bug but I will search for corresponding logs but maybe reporting the use case is quicker:

- Create E-Mail Address -> ok

- Create E-Mail Account -> fails with:

Fehlermeldung
Die E-Mail-Adresse "" enthält ungültige Zeichen oder ist nicht vollständig.

looks like a typo as the address is already "known" ... :)

shall I look further or is this possibly a case? :)

(I just upgraded my Debian 9 to 10 maybe it's a cross over thingy but I don't think so other things work)

 

EDIT: Oh Noes. Horses back: Entering an alternate E-Mail is mandatory xD

Share this post


Link to post
Share on other sites
34 minutes ago, snoopotic said:

EDIT: Oh Noes. Horses back: Entering an alternate E-Mail is mandatory xD

It is??

Just checked, it's not:

     * @param string $alternative_email
     *            optional email address to send account information to, default is the account that is being created
 

And I cannot reproduce this on my Testsystem. Can create account without any alternative address. Please provide detailed information and steps to reproduce

Share this post


Link to post
Share on other sites

I just upgraded my main system to buster and an error occurred with "bind".
In the "named.conf.local" the include of Froxlor was included twice.

//
// Do any local configuration here
//

// Consider adding the 1918 zones here, if they are not used in your
// organization
//include "/etc/bind/zones.rfc1918";

include "/etc/bind/froxlor_bind.conf";
include "/etc/bind/froxlor_bind.conf";

 

Share this post


Link to post
Share on other sites

Did you run the configuration steps twice? Afaik it just adds the last line...

Share this post


Link to post
Share on other sites

No initial configuration of services is done automatically

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Similar Content

    • By ZARk
      Hello

      I can't renew certs (or create new certs) since the 0.10 upgrade. was working fine before on 0.9

      I'm basically getting the same output everytime i run this command.
       
      xander /var/www/froxlor # /usr/bin/php7.3 -q /var/www/froxlor/scripts/froxlor_master_cronjob.php --letsencrypt --debug [information] Requesting/renewing Let's Encrypt certificates [information] Creating certificate for Westecheurope.eu [information] Adding SAN entry: Westecheurope.eu [information] Adding SAN entry: www.Westecheurope.eu [Mon 4 Nov 11:23:46 CET 2019] It is recommended to install socat first. [Mon 4 Nov 11:23:46 CET 2019] We use socat for standalone server if you use standalone mode. [Mon 4 Nov 11:23:46 CET 2019] If you don't use standalone mode, just ignore this warning. [information] Checking for LetsEncrypt client upgrades before renewing certificates: [Mon 4 Nov 11:23:45 CET 2019] Installing from online archive. [Mon 4 Nov 11:23:45 CET 2019] Downloading https://github.com/Neilpang/acme.sh/archive/master.tar.gz [Mon 4 Nov 11:23:46 CET 2019] Extracting master.tar.gz [Mon 4 Nov 11:23:46 CET 2019] Installing to /root/.acme.sh [Mon 4 Nov 11:23:46 CET 2019] Installed to /root/.acme.sh/acme.sh [Mon 4 Nov 11:23:46 CET 2019] Good, bash is found, so change the shebang to use bash as preferred. [Mon 4 Nov 11:23:47 CET 2019] OK [Mon 4 Nov 11:23:47 CET 2019] Install success! [Mon 4 Nov 11:23:47 CET 2019] Upgrade success! [Mon 4 Nov 11:23:47 CET 2019] Removing cron job [Mon 4 Nov 11:23:52 CET 2019] get to authz error. [Mon 4 Nov 11:23:52 CET 2019] _authorizations_map='www.westecheurope.eu,{"identifier":{"type":"dns","value":"www.westecheurope.eu"},"status":"pending","expires":"2019-11-07T18:17:12Z","challenges":[{"type":"http-01","status":"pending","url":"https://acme-v02.api.letsencrypt.org/acme/chall-v3/1025077162/e3Lmew","token":"H07E0jvAJ-vnQ4jirnVIxqLeRxDwQ_VC6PQ0RAJgEvU"},{"type":"dns-01","status":"pending","url":"https://acme-v02.api.letsencrypt.org/acme/chall-v3/1025077162/rs0T6w","token":"H07E0jvAJ-vnQ4jirnVIxqLeRxDwQ_VC6PQ0RAJgEvU"},{"type":"tls-alpn-01","status":"pending","url":"https://acme-v02.api.letsencrypt.org/acme/chall-v3/1025077162/ZPjfSg","token":"H07E0jvAJ-vnQ4jirnVIxqLeRxDwQ_VC6PQ0RAJgEvU"}]} westecheurope.eu,{"identifier":{"type":"dns","value":"westecheurope.eu"},"status":"pending","expires":"2019-11-07T18:17:12Z","challenges":[{"type":"http-01","status":"pending","url":"https://acme-v02.api.letsencrypt.org/acme/chall-v3/1025077160/hOWGhQ","token":"Bd7XDicTn8dtJBIYc9Eod2d7eOxZGba42pnnl5aCNyI"},{"type":"dns-01","status":"pending","url":"https://acme-v02.api.letsencrypt.org/acme/chall-v3/1025077160/nj7_Ow","token":"Bd7XDicTn8dtJBIYc9Eod2d7eOxZGba42pnnl5aCNyI"},{"type":"tls-alpn-01","status":"pending","url":"https://acme-v02.api.letsencrypt.org/acme/chall-v3/1025077160/v7Bc7A","token":"Bd7XDicTn8dtJBIYc9Eod2d7eOxZGba42pnnl5aCNyI"}]} ' [Mon 4 Nov 11:23:52 CET 2019] Please add '--debug' or '--log' to check more details. [Mon 4 Nov 11:23:52 CET 2019] See: https://github.com/Neilpang/acme.sh/wiki/How-to-debug-acme.sh [debug] [Mon 4 Nov 11:23:48 CET 2019] Creating domain key [Mon 4 Nov 11:23:49 CET 2019] The domain key is here: /root/.acme.sh/Westecheurope.eu/Westecheurope.eu.key [Mon 4 Nov 11:23:49 CET 2019] Multi domain='DNS:Westecheurope.eu,DNS:www.Westecheurope.eu' [Mon 4 Nov 11:23:50 CET 2019] Getting domain auth token for each domain [Mon 4 Nov 11:23:52 CET 2019] Getting webroot for domain='Westecheurope.eu' [error] Could not get Let's Encrypt certificate for Westecheurope.eu: [Mon 4 Nov 11:23:48 CET 2019] Creating domain key [Mon 4 Nov 11:23:49 CET 2019] The domain key is here: /root/.acme.sh/Westecheurope.eu/Westecheurope.eu.key [Mon 4 Nov 11:23:49 CET 2019] Multi domain='DNS:Westecheurope.eu,DNS:www.Westecheurope.eu' [Mon 4 Nov 11:23:50 CET 2019] Getting domain auth token for each domain [Mon 4 Nov 11:23:52 CET 2019] Getting webroot for domain='Westecheurope.eu' [information] No new certificates or certificates due for renewal found [notice] Checking system's last guid  
    • By d00p
      Dear Froxlor Community,
      I am proud to finally release the stable version of a new API based froxlor. Due to massive internal improvements and changes in the core (almost 600 commits since 0.9.40.1) users are now able to list/create/edit/delete resources and entities of froxlor via API (requires activation of api-usage in the settings and a user based API-key). The froxlor frontend itself uses the API backend too.
      Froxlor now uses composer to include some of its requirements like phpMailer, Logger, IdnaConvert and TwoFactorAuth libraries. All required files will be included in the official tarball so you do not need to worry about installing and using composer (only if you are using / testing the git-master, see https://github.com/Froxlor/Froxlor/wiki/Install-froxlor-from-git-sources).
      Most important changes:
      froxlor now requires at least php-7.0 or newer, php-5.6 is no longer supported because of its EOL almost a year ago you can access data via API, for more information see https://api.froxlor.org/doc/. An example can be found here: https://github.com/Froxlor/Froxlor/tree/master/doc/example PHPUnit tested API backend with MySQL 5.6, 5.7 and 8 as well as MariaDB 10.3 and 10.4, see https://travis-ci.com/Froxlor/Froxlor compatibility for MySQL8 2FA (two-factor-authentication) for admins/resellers/customers (email or authenticator app) all froxlor-database tables will automatically be converted to the InnoDB engine added support for Debian 10 (buster) and Ubuntu 18.04 (bionic beaver) implemented Let's Encrypt via acme.sh - Note: all your current Let's Encrypt certificates will be removed and re-created due to another structure customizable error/access log handling for webserver (format, level, pipe-to-script, etc.) deprecated Debian 7 (wheezy) and Ubuntu 14.04 (trusty tahr) support dropped support for Ubuntu 12.04 (precise pangolin) dropped ticketsystem Changes in 0.10.1:
      allow/disallow API access on a per-customer base new API parameters for Admins.add(), Admins.update(), Customers.add() and Customers.update() bool $api_allowed (default: false for Customers, true for Admins) add explicit tlsv1.3 ciphersuite setting fixed wrong behaviour in Ftps.add() if customer is newly created and setting customer.ftpatdomain is true added expiration date to SSL certificates loaded via API request fixed wrong return in Certificates.get() if given domain does not have a certificate allow setting http2 flag for (sub)domains in customer view, fixes #725 Changes in 0.10.2:
      force Let's Encrypt ACMEv2 API, fixed #728 added default-ssl-vhost settings and optionally allow including of non-ssl default-vhost settings, fixes #727 new API parameters for Domains.add() and Domains.update() string $ssl_specialsettings bool $include_specialsettings bool $dont_use_default_ssl_ipandport_if_empty removed API parameters in Domains.add() bool $use_default_ssl_ipandport_if_empty new API parameters for IpsAndPorts.add() and IpsAndPorts.update() string $ssl_specialsettings bool $include_specialsettings string $ssl_default_vhostconf_domain bool $include_default_vhostconf_domain implemented DomainZones.listing() to return custom stored dns entries fix registration and termination date to flip between empty-value and 0000-00-00 Changes in 0.10.3:
      fallback to /tmp/froxlor.log if file-log is activated but no file given or not writeable; fixes #737 added tls-settings per domain for admins with change_serversettings-flag set; fixes #519 new API parameter for Domains.add() and Domains.update() bool $override_tls (default: false) array $ssl_protocols string $ssl_cipher_list string $tlsv13_cipher_list preserve downward compatibility for 0.10.1 updaters regarding specialsettings for ssl-enabled domains; fixes #739 Changes in 0.10.4:
      added support for CIDR/netmask in mysql-access-hosts; fixes #564 fixed invalid handling of escape-sequences in api-endpoint, fixes #746 fixed an issue with adding the default ftp user for new customer when added by admin/reseller with no ftp-resources; fixes #741 fixed nginx configuration issue with fastcgi_split_path_info option; fixes #744 Changes in 0.10.5:
      bugfix release due to errors in Let's Encrypt re-new check; fixes #747 Download: 0.10.5

      Note: Debian/Ubuntu packages are available as of 21th of October 2019 - Note that there are no packages for oldoldstable (jessie) anymore
      Attention: The auto-update feature is currently not working correctly for updaters from 0.9.x due to the archive taking a bit longer to extract and froxlor trying to redirect too soon thus leading to an internal server error. A quick reload does "fix" the problem. To avoid that please use the manual update options, see https://github.com/Froxlor/Froxlor/wiki

      Visit http://www.froxlor.org or join our IRC channel #froxlor on irc.freenode.net for support, help, participation or just a chat

      Thank you,
      d00p
×
×
  • Create New...