<?xml version="1.0"?>
<rss version="2.0"><channel><title>External modules Latest Topics</title><link>https://forum.froxlor.org/index.php?/forum/14-external-modules/</link><description>External modules Latest Topics</description><language>en</language><item><title>Idea / How to: BIND9 with Froxlor server(s) as primary and other (DNS) server(s) as secondary</title><link>https://forum.froxlor.org/index.php?/topic/20187-idea-how-to-bind9-with-froxlor-servers-as-primary-and-other-dns-servers-as-secondary/</link><description><![CDATA[<p>
	<strong>Further reading:</strong>
</p>

<ul>
	<li>
		<a href="https://blog.thelifeofkenneth.com/2019/09/using-catalog-zones-in-bind-to.html" rel="external nofollow">https://blog.thelifeofkenneth.com/2019/09/using-catalog-zones-in-bind-to.html</a>
	</li>
	<li>
		<a href="https://bind9.readthedocs.io/en/latest/chapter6.html#namedconf-statement-catalog-zones" rel="external nofollow">https://bind9.readthedocs.io/en/latest/chapter6.html#namedconf-statement-catalog-zones</a>
	</li>
	<li>
		Since you probably will have multiple servers/ catalog zones, read about how collisions can be handled: <a href="https://bind9.readthedocs.io/en/latest/chapter6.html#change-of-ownership-coo" rel="external nofollow">https://bind9.readthedocs.io/en/latest/chapter6.html#change-of-ownership-coo</a> (TODO: add support for change of owner ship to script, can be as simple as adding the entries to the end of the output for the catalog file on h2 by including another file)
	</li>
</ul>

<p>
	<br />
	I want to share this idea as a thank you to the Froxlor community, maybe it helps someone in the future.
</p>

<p>
	Notes:
</p>

<p>
	<strong>1. On a Froxlor server ("primary") (called h2) that already has DNS setup:</strong>
</p>

<p>
	<strong>1.1. Create script that makes the catalog zone.</strong>
</p>

<p>
	touch /etc/example-bind/serial<br />
	chmod 600 /etc/example-bind/serial<br />
	chown root:root /etc/example-bind/serial<br />
	nano -w /etc/example-bind/serial
</p>

<pre class="ipsCode">0</pre>

<p>
	touch /etc/example-bind/on_reload_bind9.sh<br />
	chmod 700 /etc/example-bind/on_reload_bind9.sh<br />
	chown root:root /etc/example-bind/on_reload_bind9.sh<br />
	nano -w /etc/example-bind/on_reload_bind9.sh
</p>

<p>
	 
</p>

<pre class="ipsCode">#!/bin/bash

catalog_name="h2"

####

catalog_file="/etc/bind/catalog.${catalog_name}.example.db"

touch $catalog_file
chown bind:0 $catalog_file
chmod 0644 $catalog_file

serial=$(($(cat /etc/example-bind/serial) + 1))
echo $serial &gt; /etc/example-bind/serial

echo "catalog.${catalog_name}.example.    IN SOA . . $serial 172800 960 3600000 300
catalog.${catalog_name}.example.    IN NS invalid.
version.catalog.${catalog_name}.example.    IN TXT \"2\"
" &gt; $catalog_file

named-checkconf -l /etc/bind/froxlor_bind.conf | awk "{ printf \"%s.zones.catalog.%s.example. PTR %s.\n\",makeZoneEntry(\$1),\"$catalog_name\",\$1 }
function makeZoneEntry( id,  cmd, output ) {
        cmd = \"echo \\047\" id \"\\047 | sha1sum\"
        if ( (cmd | getline output) &gt; 0 ) {
                sub(/ .*/,\"\",output)
        }
        else {
                print \"failed to hash \" id | \"cat&gt;&amp;2\"
                output = id
        }
        close( cmd )
        return output
}" &gt;&gt; $catalog_file

#
systemctl reload bind9</pre>

<p>
	# TODO: hash catalog zone and update serial only when it changes
</p>

<p>
	<br />
	<strong>1.2. Run the script once</strong>
</p>

<p>
	/etc/example-bind/on_reload_serial.sh<br />
	<br />
	<strong>1.3. Create a TSIG key:</strong>
</p>

<p>
	tsig-keygen -a hmac-sha256 catalog.h2.example<br />
	<br />
	This shoud look similar to:
</p>

<p>
	key "catalog.h2.example" {<br />
	    algorithm hmac-sha256;<br />
	    secret "&lt;YOUR SECRET HERE&gt;";<br />
	};
</p>

<p>
	<strong>1.4. Create zone file for catalog zone:</strong><br />
	<br />
	touch /etc/bind/example_bind.conf<br />
	chmod 760 /etc/bind/example_bind.conf<br />
	chown root:bind /etc/bind/example_bind.conf<br />
	nano -w /etc/bind/example_bind.conf
</p>

<pre class="ipsCode">key "catalog.h2.example." {
        algorithm hmac-sha256;
        secret "&lt;YOUR SECRET HERE&gt;";
};

zone "catalog.h2.example" {
        type master;
        file "/etc/bind/catalog.h2.example.db";
        allow-transfer   { key "catalog.h2.example."; };
        also-notify { &lt;A SECONADRY IP HERE&gt;; }; # put IPS of your DNS secondaries here
};</pre>

<p>
	<br />
	<strong>1.5. edit /etc/bind/named.conf.local</strong>
</p>

<p>
	Add
</p>

<pre class="ipsCode"># ...

include "/etc/bind/example_bind.conf";</pre>

<p>
	bellow the froxlor one<br />
	<br />
	<strong>1.6. Test config on primary:</strong>
</p>

<p>
	named-checkconf -p<br />
	<strong>ONLY PROCEED if it doesn't complain about errors, otherwise fix or roll-back changes.</strong>
</p>

<p>
	 
</p>

<p>
	<strong>2. On a secondary DNS (could be made with Froxlor or at least Froxlor configs with DNS setup already) (called h3):</strong>
</p>

<p>
	<strong>2.1</strong>
</p>

<p>
	touch /etc/bind/example_bind.conf<br />
	chmod 760 /etc/bind/example_bind.conf<br />
	chown root:bind /etc/bind/example_bind.conf<br />
	nano -w /etc/bind/example_bind.conf
</p>

<pre class="ipsCode">key "catalog.h2.example." {
        algorithm "hmac-sha256";
        secret "&lt;YOUR SECRET HERE&gt;";
};
server &lt;PRIMARY IP HERE&gt; {
        keys { "catalog.h2.example."; };
};

zone "catalog.h2.example" {
        type slave;
        file "catalog.h2.example.db";
        allow-transfer { none; }; # important
        masters { &lt;PRIMARY IP HERE&gt;; };
};
</pre>

<p>
	<strong>2.2 Modify /etc/bind/named.conf.options</strong>
</p>

<pre class="ipsCode"># ...
        allow-transfer { none; }; # important
        
        catalog-zones {
                zone "catalog.h2.example" default-masters { &lt;YOUR PRIMARY IP HERE&gt;; };
        };
};</pre>

<p>
	<br />
	<strong>2.3. Append to /etc/bind/named.conf.local after froxlor one:</strong>
</p>

<pre class="ipsCode"># ...

include "/etc/bind/example_bind.conf";</pre>

<p>
	<strong>2.4. Test config on secondary:</strong><br />
	named-checkconf -p<br />
	<strong>ONLY PROCEED if it doesn't complain about errors, otherwise fix or rollback changes.<br />
	<br />
	2.5 Restart bind9 on secondary:</strong>
</p>

<p>
	systemctl restart bind9<br />
	<br />
	<strong>3. Update Settings  » Nameserver settings on primary:</strong>
</p>

<ul>
	<li>
		DNS Server reload command: /etc/example-bind/on_reload_bind9.sh
	</li>
	<li>
		IMPORTANT: Either the secondaries must be listed in Nameservers, or their IP must be in AXFR servers (Froxlor has no option for TSIG keys)
	</li>
</ul>
]]></description><guid isPermaLink="false">20187</guid><pubDate>Sat, 23 Dec 2023 22:05:33 +0000</pubDate></item><item><title>Create new emails from an external source (API)</title><link>https://forum.froxlor.org/index.php?/topic/20124-create-new-emails-from-an-external-source-api/</link><description><![CDATA[<p>
	Is it possible to create a new email from external by calling a certain API call or such ?
</p>

<p>
	We need to create emails from within another php-service on the same machine
</p>
]]></description><guid isPermaLink="false">20124</guid><pubDate>Tue, 29 Aug 2023 09:00:50 +0000</pubDate></item><item><title>Server-side backup module (e.g. BorgBackup)?</title><link>https://forum.froxlor.org/index.php?/topic/19894-server-side-backup-module-eg-borgbackup/</link><description><![CDATA[<p>
	<strong>Is someone already developing a server-side backup module or is there one already?</strong><br />
	<br />
	We are currently using some python scripts to backup web content and databases (but not mails, you would need to add that) with duplicity ( <a href="https://duplicity.gitlab.io/duplicity-web/" rel="external nofollow">https://duplicity.gitlab.io/duplicity-web/</a> ) locally and then do an rclone ( <a href="https://rclone.org/" rel="external nofollow">https://rclone.org/</a> ) of that onto a remote location, but I am not quite satisfied with them for various reasons.
</p>

<p>
	For those interested I will share the current scripts we use since a while now as attachment, since it was lots of work and research to get them to that stage for me at least. (I think I even found some pointers for them earlier in the Froxlor forum, not sure though, don't remember).<br />
	I know the files are not good and have many flaws and not good practices, but maybe it will help someone for something good.<br />
	Please read the rclone and duplicity manual before asking questions (not sure if I have much time to answer them) and don't forget to install the python dependencies (I know on one server it's Python 2 and the other 3, but that's the way it is atm)!
</p>

<p>
	 
</p>

<p>
	<strong>I want to switch </strong>us <strong>to BorgBackup </strong>( <a href="https://www.borgbackup.org/" rel="external nofollow">https://www.borgbackup.org/</a> ) [it supports append-only destinations] and <strong>thought about developing a small module for Froxlor.</strong><br />
	But I would not want to do that if someone already is working on something like that and close to the finish line (but I currently can't guarantee I will actually do i).<br />
	I am not sure what the best way is to start coding a Froxlor module (maybe there's s.th. in the Wiki or Forum I didn't find yet) and to be honest I haven't worked with the Froxlor API at all yet. If someone has pointers regarding these would be appreciated.<br />
	Maybe someone else needs something similar and we can work together a bit somehow?
</p>

<p>
	I wanted the GUI (I mean the froxlor admin backend) to support:
</p>

<ul>
	<li>
		Multiple Backup locations (local, remote), including append only, and with the borg retention control options (though those are quite complicated, maybe I will just allow some commands to be added)
	</li>
	<li>
		Backup groups, that are assigned to one or multiple backup locations and have different schedules for content, mail, DB
	</li>
	<li>
		Customers can be assigned to a backup group and there can be a default backup group (not sure how to go about global backup atm)
	</li>
</ul>

<p>
	Not sure if I forgot s.th. we need for ourselves but I don't plan to go much beyond that to be honest.
</p>

<p>
	I do not plan to support reverse backups though ("pull mode", where a server connects to the server to backup) and also not backups on squashfs etc, I don't need it and don't consider it reliable.
</p>

<p>
	<br />
	<br />
	 
</p>
<p>
<a class="ipsAttachLink" href="https://forum.froxlor.org/applications/core/interface/file/attachment.php?id=857&amp;key=ab24f31f9704bd3b0885d74889587f31" data-fileExt='py' data-fileid='857' data-filekey='ab24f31f9704bd3b0885d74889587f31'>backup_ssh_remote.py</a> 
<a class="ipsAttachLink" href="https://forum.froxlor.org/applications/core/interface/file/attachment.php?id=856&amp;key=be44b753857af3b3f483887545a79c20" data-fileExt='py' data-fileid='856' data-filekey='be44b753857af3b3f483887545a79c20'>backup.py</a> 
<a class="ipsAttachLink" href="https://forum.froxlor.org/applications/core/interface/file/attachment.php?id=858&amp;key=8c13c669c918ac6799097fab2cb031f5" data-fileExt='txt' data-fileid='858' data-filekey='8c13c669c918ac6799097fab2cb031f5'>exclude.txt</a> 
<a class="ipsAttachLink" href="https://forum.froxlor.org/applications/core/interface/file/attachment.php?id=859&amp;key=19b8eab7ec57dcc18dd6cc5cadac6b97" data-fileExt='txt' data-fileid='859' data-filekey='19b8eab7ec57dcc18dd6cc5cadac6b97'>global_include.txt</a> 
<a class="ipsAttachLink" href="https://forum.froxlor.org/applications/core/interface/file/attachment.php?id=860&amp;key=2aac6fd3adb0935e65c8ea76f3a37672" data-fileExt='py' data-fileid='860' data-filekey='2aac6fd3adb0935e65c8ea76f3a37672'>rclone.py</a> 
<a class="ipsAttachLink" href="https://forum.froxlor.org/applications/core/interface/file/attachment.php?id=861&amp;key=968dbaa9fa712e7b55876164ec1ed466" data-fileExt='gs_backup_cron_d_daily' data-fileid='861' data-filekey='968dbaa9fa712e7b55876164ec1ed466'>vgs_backup_cron_d_daily</a></p>]]></description><guid isPermaLink="false">19894</guid><pubDate>Thu, 27 Jan 2022 19:33:03 +0000</pubDate></item><item><title>Implementierung Support fuer Dovecot allow_nets Authentifizierungs-Feature</title><link>https://forum.froxlor.org/index.php?/topic/19850-implementierung-support-fuer-dovecot-allow_nets-authentifizierungs-feature/</link><description><![CDATA[<p>
	Hallo Froxlor Community,<br />
	<br />
	wir werden aus Kundenbedarf ein neues Feature in Froxlor implementieren.  Es handelt sich um die Konfiguration von Mailboxes in Kombination mit dovecot konkret, wir brauchen hier einen in Froxlor konfigurierbaren, eingehenden IP-Filter und moechten folgende dovecot Funktion dafuer nutzen:<br />
	<br />
	<a href="https://doc.dovecot.org/configuration_manual/authentication/allow_nets/" rel="external nofollow">https://doc.dovecot.org/configuration_manual/authentication/allow_nets/</a> <br />
	<br />
	Es geht also darum, dass der Kunde in seiner Mailbox-Verwaltung eine IP-Adresse oder IP-Range angibt, die dann als Remote IP fuer Logins erforderlich sein muss, um sich erfolgreich authentifizieren zu koennen.  Support in dovecot gibt's dafuer schon seit der 1er Version, auch wenn es etwas spaerlich dokumentiert ist.  Wir nutzen MySQL als PassDB Driver, wuerden also unsere Implementierung auf dovecot PassDB via SQL beschraenken.  Froxlor braucht hier lediglich ein weiteres Formularfeld an der richtigen Stelle und muss bei Spericherung die jeweilige Datenbank entsprechend aktualisieren.<br />
	<br />
	Wir wuerden nun also gern wissen, ob jmd hier in der Community ausser uns Bedarf fuer diesen Feature-Support in Froxlor hat, um zu evaluieren, ob wir das Ganze unsererseits als ordentlichen Core Pull Request, oder eben als Hack/Custom Plugin/Theme Variante umsetzen sollten.  Kann jemand hier darueber Auskunft geben?  Waeren die jeweils Verantwortlichen an einer solchen Kontribution interessiert? <br />
	<br />
	Danke fuer das Feedback!<br />
	<br />
	Gruss,<br />
	-Robert Kirscht
</p>
]]></description><guid isPermaLink="false">19850</guid><pubDate>Mon, 15 Nov 2021 12:22:59 +0000</pubDate></item><item><title>Froxlor erweitern</title><link>https://forum.froxlor.org/index.php?/topic/19791-froxlor-erweitern/</link><description><![CDATA[<p>
	Hi,
</p>

<p>
	 
</p>

<p>
	ich habe eine allgemeine Frage zu Froxlor. Ist es erweiterbar, z.B. durch Plugins, Module etc. Und wenn ja, wie funktioniert das? Gibt's irgendwo Beispiele, Doku, etc.? 
</p>

<p>
	Danke und viele Grüße
</p>

<p>
	Debbie
</p>
]]></description><guid isPermaLink="false">19791</guid><pubDate>Tue, 07 Sep 2021 07:44:04 +0000</pubDate></item><item><title>Mehrere Froxlor Instanzen in einer Oberfl&#xE4;che</title><link>https://forum.froxlor.org/index.php?/topic/19265-mehrere-froxlor-instanzen-in-einer-oberfl%C3%A4che/</link><description><![CDATA[
<p>
	Bei der neuen API basierten Version ist es ja auch möglich, die api mit entsprechenden code von anderen Webseiten anzusprechen.<br>
	Besteht vielleicht die möglichkeit, mit der vorhandenen Froxlor Oberfläche 2 (oder mehr) verschiedene API Instancen auf verschiedenen Servern zu zugreifen?
</p>

<p>
	Froxlor ist wirklich eine gut durchdachte und umgesetzte Lösung, aber es gibt auch durchaus häufiger die Situation das man für verschiedene Dienste im Internet einfach mehrere Server braucht. DNS z.b. sollten bei den meißten Domainendungen mindestens 2 verschiedene angegeben werden. Wir haben im Moment das Problem das unser Anbieter (OVH) auf einigen Blacklisten geführt wird, wodurch ich jetzt z.b. zum auslagern der Mailserver so ein feature in Froxlor sehr gut finden würde. Eine API für reinen Webserver, eine für reinen Mailserver.
</p>
]]></description><guid isPermaLink="false">19265</guid><pubDate>Wed, 25 Sep 2019 14:38:46 +0000</pubDate></item><item><title>Create Customer Webservice</title><link>https://forum.froxlor.org/index.php?/topic/13978-create-customer-webservice/</link><description><![CDATA[
<p>
	Hallo Zusammen,
</p>

<p>
	einen Webservices <span style="background-color:#ffffff;font-size:16px;">für die Erstellung von Kunden</span> wäre eine Super Feature 
</p>

<p>
	Kundendaten, Domain  werden über Post übergegeben, Ws gibt Json als Rückgabe.
</p>

<p>
	Ich würde gerne für so eine Feature Maximal 1 Man Tag sponsoren . 
</p>

<p>
	Hat jemand Bock und Zeit dafür ? 
</p>

<p>
	 
</p>

<p>
	Vg 
</p>
]]></description><guid isPermaLink="false">13978</guid><pubDate>Tue, 29 May 2018 04:31:22 +0000</pubDate></item><item><title>Node.js</title><link>https://forum.froxlor.org/index.php?/topic/13489-nodejs/</link><description><![CDATA[
<p>Has anyone created an external module which installs and configures a nodejs application / proxied endpoint?</p>
<p> </p>
<p>Can I create a module which would do this is the answer is no? I have PHP / programming knowledge.</p>
]]></description><guid isPermaLink="false">13489</guid><pubDate>Sat, 16 Jul 2016 10:25:35 +0000</pubDate></item><item><title>Dynamic DNS in Froxlor</title><link>https://forum.froxlor.org/index.php?/topic/12790-dynamic-dns-in-froxlor/</link><description><![CDATA[
<p>Hi folks,</p>
<p> </p>
<p>it has been quite some time ago that DynDNS cut off their free offering. I was in need of another solution. Since I'm already using Froxlor for a hosting server it seemed like a natural addition to implement dynamic DNS in Froxlor. Today I want to present this modification to you after it's been in use for several months.</p>
<p> </p>
<p>It basically works like this: A user calls <a href="http://your-froxlor.com/updateip.php%C2%A0to" rel="external nofollow">http://your-froxlor.com/updateip.php to</a>set a new IP for one of his domains. As soon as the bind configuration is updated the new IP is in DNS and will be returned when resolving the domain. </p>
<p> </p>
<p>As with the number of domains and other resources it can be configured how many dynamic domains (domains for which the IP can be updated by calling updateip.php) a user can have. The user can enable the dynamic DNS feature for any of his domains. The IP can also be set through the administrative interface.</p>
<p> </p>
<p><a class="ipsAttachLink ipsAttachLink_image" href="https://forum.froxlor.org/uploads/monthly_11_2014/post-373-0-82139900-1415998727.png" data-fileid="128" rel=""><img src="https://forum.froxlor.org/uploads/monthly_11_2014/post-373-0-82139900-1415998727_thumb.png" data-fileid="128" class="ipsImage ipsImage_thumbnailed" alt="post-373-0-82139900-1415998727_thumb.png" data-ratio="98.68" loading="lazy"></a></p>
<p> </p>
<p>Calling the updateip.php script is fairly simple. It supports HTTP authentication and authentication using request parameters. A domain must be set for which the IP will be updated and either an IPv4 or IPv6 address must be provided or the auto-detection feature is used. An example: <a href="http://your-froxlor.com/updateip.php?domain=home.my-domain.com&amp;ipv4=1.2.3.4" rel="external nofollow">http://your-froxlor.com/updateip.php?domain=home.my-domain.com&amp;ipv4=1.2.3.4</a></p>
<p> </p>
<p>The dynamically changed IP (either set through the admin interface or by using updateip.php) will be set as the domain's IP instead of the server IP.</p>
<p> </p>
<p>When dynamic DNS is enabled for a domain its TTL is set to 1 to ensure changes to the IP propagate quickly.</p>
<p> </p>
<p>You can have a look at the code at <a href="https://github.com/ServiusHack/Froxlor/tree/dynamic-dns" rel="external nofollow">https://github.com/ServiusHack/Froxlor/tree/dynamic-dns</a>. I've made this post in the hope for any feedback on the feature or the code. If there is some interest in merging this I'm more than happy to fix any issue and make a pull request. </p>
<p> </p>
<p>Best Regards</p>
<p>Severin Leonhardt</p>
]]></description><guid isPermaLink="false">12790</guid><pubDate>Fri, 14 Nov 2014 21:05:09 +0000</pubDate></item><item><title>Hook system</title><link>https://forum.froxlor.org/index.php?/topic/13264-hook-system/</link><description><![CDATA[
<p>I declare to working with some extra futures.</p>
<p>And i  will plan started in short time.</p>
<p>But i look Yet on froxlor. Maybe better start to make something based on hook system this will be better for many reasons </p>
<ul>
<li>Easiest implementation</li>
<li>Faster development</li>
<li>Plug-in system</li>
<li>All existest futures make be ported to this system</li>
</ul>
<p>Benefits smallest files and core will be separated not every time all will be parsed if not enabled.</p>
<p>All sorce should be more readable</p>
<p> </p>
<p>We can do something based on open source or make something simple to realise this element</p>
<p> </p>
<p>What's Your's opinion about this</p>
]]></description><guid isPermaLink="false">13264</guid><pubDate>Fri, 15 Jan 2016 11:15:26 +0000</pubDate></item><item><title>A simple CLI command I wrote to generate slave zones.</title><link>https://forum.froxlor.org/index.php?/topic/12996-a-simple-cli-command-i-wrote-to-generate-slave-zones/</link><description><![CDATA[
<p><a href="https://github.com/cooperaj/froxlor_contrib_commands" rel="external nofollow">https://github.com/cooperaj/froxlor_contrib_commands</a></p>
<p> </p>
<p>It only does the one thing at the moment but it should be easily expandable to do more as and when I need to.</p>
]]></description><guid isPermaLink="false">12996</guid><pubDate>Mon, 18 May 2015 13:17:35 +0000</pubDate></item><item><title>Plugin-System</title><link>https://forum.froxlor.org/index.php?/topic/12819-plugin-system/</link><description><![CDATA[
<p>Hallo zusammen,<br><br>ich habe hier ein kleines Plugin-System gebastelt. Ich suche dazu noch Tester.<br>Aktuell besteht es aus:<br>- Autologin in PMA</p>
<p>- Autologin in Roundcube<br>- Ticketmeldung bei Prio ?ber SMS<br><br>Entsprechende Plugins lassen sich einfach durch einkopieren in ein Verzeichnis aktivieren.<br><br>Einzuf?gen sind:</p>
<p>- 1 Datei<br>- 1 Ordner<br>- 2 Zeilen Code<br><br>Ich suche dazu noch Tester. Wenn jemand Lust hat, m?ge er sich doch gerne hier im Thread melden.<br><br>Viele Gr??e,<br>Lukas</p>
]]></description><guid isPermaLink="false">12819</guid><pubDate>Tue, 16 Dec 2014 18:50:24 +0000</pubDate></item><item><title>update error</title><link>https://forum.froxlor.org/index.php?/topic/12888-update-error/</link><description><![CDATA[
<p>Hi,</p>
<p> </p>
<p>after finished update to the latest version of Froxlor, my system starts up with the following errors.</p>
<p>There was no SysCP before - thats it what google mean about the problem -</p>
<p>System works fine with <a href="https://forum.froxlor.org/index.php/topic/12878-update-release-candidate-0933-rc2-enhanced-powers/" rel="">0.9.33-rc2. </a></p>
<p>Any ideas ?</p>
<p> </p>
<p> </p>
<p><img src="http://screen.siedler3.net/file/dateiname_1423409661e4697.jpg" alt="dateiname_1423409661e4697.jpg" loading="lazy"></p>
]]></description><guid isPermaLink="false">12888</guid><pubDate>Sun, 08 Feb 2015 15:37:51 +0000</pubDate></item><item><title>Automatic git bare repo</title><link>https://forum.froxlor.org/index.php?/topic/12831-automatic-git-bare-repo/</link><description><![CDATA[
<p>Hey all,</p>
<p> </p>
<p>New to Froxlor but so far I like what I see. So I cloned the repo and made some minor changes to fit what I think would be a more universal need. Basically whenever you create a new user there is a a new git bare repo created in /var/customers/repos/[username].git. It also creates a post-receive hook that checkouts the revision to the working tree (users web root) and chowns it all to www-data. If anyone thinks this may be valuable or interesting let me know and I'll create a patch or however it should be managed.</p>
<p> </p>
<p>Thanks!</p>
]]></description><guid isPermaLink="false">12831</guid><pubDate>Sat, 27 Dec 2014 02:55:42 +0000</pubDate></item><item><title>capistrano-froxlor</title><link>https://forum.froxlor.org/index.php?/topic/12798-capistrano-froxlor/</link><description><![CDATA[
<p>Hi,</p>
<p> </p>
<p>For who may interest this subject. I've published a rough version of a ruby gem called capistrano-froxlor. It adds Froxlor cli functions to Capistrano 3. This gem does not deploy Froxlor itself. It can be useful if you like to deploy applications to a froxlor machine. We use it for deploying TYPO3 sites, but of it could be used for any application that van run inside a Froxlor domain.</p>
<p> </p>
<p>For now it can create or update subdomains and can create databases for a customer. Perhaps more functionality will follow. I'm open for feature- or merge requests. </p>
<p> </p>
<p>Kind regards,</p>
<p>Pim</p>
<p> </p>
<p><a href="https://rubygems.org/gems/capistrano-froxlor" rel="external nofollow">https://rubygems.org/gems/capistrano-froxlor</a></p>
<p><a href="https://github.com/mipmip/capistrano-froxlor" rel="external nofollow">https://github.com/mipmip/capistrano-froxlor</a></p>
]]></description><guid isPermaLink="false">12798</guid><pubDate>Fri, 21 Nov 2014 12:27:27 +0000</pubDate></item><item><title>NginX as Reverse Proxy</title><link>https://forum.froxlor.org/index.php?/topic/12780-nginx-as-reverse-proxy/</link><description><![CDATA[
<div>Hello Froxlor Forum </div>
<br><div> </div>
<br><div>I have written an external solution for nginx reverse proxy with Froxlor recently. </div>
<br><div> </div>
<br><div>The whole thing is only a cron which creates virtual hosts for Nginx, and an installer that prepares everything. </div>
<br><div> </div>
<br><div>Supported features: </div>
<br><div> </div>
<br><div>- Normal vHosts </div>
<br><div>- SSL </div>
<br><div>- redirects </div>
<br><div>- Multible IP's (should be no problem, but I'm not 100% percent sure) </div>
<br><div> </div>
<br><div>I haven't tested Apache 2.4 yet.</div>
<br><div> </div>
<br><div>Please note that this script sat on a pre-made Froxlor installation, which has some peculiarities. </div>
<br><div>The ports or lists entries must be configured with /etc/apache2/ports.conf, not with the lists entries in IP's and ports. </div>
<br><div> </div>
<br><div>I would appreciate suggestions for improvement.</div>
<br><div> </div>
<br><div>UPDATE: The Script is now hosted at github: <a href="https://github.com/xWuZaa/froxlor_nrp" rel="external nofollow">https://github.com/xWuZaa/froxlor_nrp</a>
</div>
<br><p><a href="https://forum.froxlor.org/applications/core/interface/file/attachment.php?id=125" data-fileid="125" rel="">nXri_pub.tar.gz</a></p>
]]></description><guid isPermaLink="false">12780</guid><pubDate>Wed, 22 Oct 2014 10:05:46 +0000</pubDate></item></channel></rss>
