<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
	<id>https://wiki.hostsharing.net/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Has00</id>
	<title>Hostsharing Wiki - Benutzerbeiträge [de]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.hostsharing.net/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Has00"/>
	<link rel="alternate" type="text/html" href="https://wiki.hostsharing.net/index.php?title=Spezial:Beitr%C3%A4ge/Has00"/>
	<updated>2026-04-28T15:12:51Z</updated>
	<subtitle>Benutzerbeiträge</subtitle>
	<generator>MediaWiki 1.43.8</generator>
	<entry>
		<id>https://wiki.hostsharing.net/index.php?title=DKIM&amp;diff=5582</id>
		<title>DKIM</title>
		<link rel="alternate" type="text/html" href="https://wiki.hostsharing.net/index.php?title=DKIM&amp;diff=5582"/>
		<updated>2021-08-16T17:29:05Z</updated>

		<summary type="html">&lt;p&gt;Has00: /* Domainoption DKIM setzen */ GUI Bezeichnung&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= DomainKeys Identified Mail (DKIM) =&lt;br /&gt;
&lt;br /&gt;
DKIM ist ein Verfahren, dass die Authentizität einer E-Mail sicherstellen kann. Dazu wird die E-Mail auf dem sendenden System mit einer elektronischen Signatur in den unsichtbaren Headerzeilen der E-Mail versehen. Es kommt ein asymmetrisches Schlüsselverfahren zum Einsatz. Der sendende Server verwendet seinen privaten Schlüssel, um die Signatur zu erstellen.&lt;br /&gt;
&lt;br /&gt;
Der öffentliche Schlüssel wird im DNS der E-Mail-Domain veröffentlicht, so dass Empfänger die Authentizität der Signatur prüfen können.&lt;br /&gt;
&lt;br /&gt;
{{Textkasten|gelb|Beta|Das Feature ist bei Hostsharing im Beta Test, bitte noch nicht für den produktiven Einsatz nutzen.}}&lt;br /&gt;
&lt;br /&gt;
== DKIM bei Hostsharing ==&lt;br /&gt;
&lt;br /&gt;
Die Nutzer der Hostsharing-Plattform können E-Mails, die sie über die Hostsharing-Server versenden, mit einer DKIM Signatur versehen lassen. Dazu sind zwei Einrichtungsschritte notwendig:&lt;br /&gt;
&lt;br /&gt;
# Die Veröffentlichung des öffentlichen Domainkey im DNS der eigenen E-Mail-Domain.&lt;br /&gt;
# Das Setzen der Domain-Option &amp;quot;Domain Key – DKIM&amp;quot; mit Hilfe von HSAdmin.&lt;br /&gt;
&lt;br /&gt;
== Domainkey im DNS ==&lt;br /&gt;
&lt;br /&gt;
Zur Veröffentlichung des Domainkey muss das Zonefile der E-Mail-Domain erweitert werden. Dazu muss in einem individuell angepassten Zonefile die Zeile&lt;br /&gt;
&lt;br /&gt;
  {DKIM_RR}&lt;br /&gt;
&lt;br /&gt;
ergänzt werden. &lt;br /&gt;
&lt;br /&gt;
Diese Zeile ist in der Beta-Phase nicht Bestandteil des Default-Zonefile! Domain-Inhaber, die ihr Zonefile bisher nicht angepasst haben, müssen also ein minimales Zonefile der Form&lt;br /&gt;
&lt;br /&gt;
  {DEFAULT_ZONEFILE}&lt;br /&gt;
  {DKIM_RR}&lt;br /&gt;
&lt;br /&gt;
erstellen.&lt;br /&gt;
&lt;br /&gt;
Nach einer erfolgreichen Veröffentlichung des Domainkey liefert der Befehl&lt;br /&gt;
&lt;br /&gt;
  $ dig -t TXT +short default._domainkey.hs-example.de&lt;br /&gt;
&lt;br /&gt;
(&amp;quot;hs-example.de&amp;quot; durch die eigene Domain ersetzen) einen Schlüssel in der Form:&lt;br /&gt;
&lt;br /&gt;
  v=DKIM1; h=sha256; k=rsa; s=email; &amp;quot; &amp;quot;p=MIIBIjAN [...]&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Domainoption DKIM setzen ==&lt;br /&gt;
&lt;br /&gt;
Über die Domainoption &amp;quot;Domain Key – DKIM&amp;quot; wird gesteuert, dass der SMTP-Server, auf dem der Webspace mit der Domain liegt, die ausgehenden E-Mail mit einer DKIM-Signatur ausstattet.&lt;br /&gt;
&lt;br /&gt;
In der Beta-Phase ist das Setzen dieser Option nur über das Kommandozeilentool &amp;quot;hsscript&amp;quot; möglich. Mit &amp;quot;hsscript&amp;quot; müssen beim Update einer Domain jeweils alle Domainoptionen, die gesetzt sein sollen, angegeben werden!&lt;br /&gt;
&lt;br /&gt;
Im Folgenden werden deshalb zunächst die Domainoptionen gelesen und anschließend mit der zusätzlichen Option &amp;quot;dkim&amp;quot; wieder geschrieben:&lt;br /&gt;
&lt;br /&gt;
  $ hsscript -u xyz00 -i&lt;br /&gt;
  Password: *********&lt;br /&gt;
  xyz00@hsadmin&amp;gt; domain.search({where:{name:&#039;hs-example.de&#039;}})&lt;br /&gt;
  [&lt;br /&gt;
     {&lt;br /&gt;
        domainoptions:[&lt;br /&gt;
           &#039;htdocsfallback&#039;,&lt;br /&gt;
           &#039;indexes&#039;,&lt;br /&gt;
           &#039;autoconfig&#039;,&lt;br /&gt;
           &#039;greylisting&#039;,&lt;br /&gt;
           &#039;includes&#039;,&lt;br /&gt;
           &#039;letsencrypt&#039;,&lt;br /&gt;
           &#039;multiviews&#039;&lt;br /&gt;
        ],&lt;br /&gt;
        hive:&#039;h97&#039;,&lt;br /&gt;
        id:&#039;22767&#039;,&lt;br /&gt;
        name:&#039;hs-example.de&#039;,&lt;br /&gt;
        pac:&#039;xyz00&#039;,&lt;br /&gt;
        since:&#039;12.02.21&#039;,&lt;br /&gt;
        user:&#039;xyz00-doms&#039;,&lt;br /&gt;
        validsubdomainnames:&#039;www&#039;&lt;br /&gt;
     }&lt;br /&gt;
  ]&lt;br /&gt;
  xyz00@hsadmin&amp;gt; domain.update({where:{name:&#039;hs-example.de&#039;},set:{domainoptions:[ &#039;htdocsfallback&#039;, &#039;indexes&#039;, &#039;autoconfig&#039;, &#039;greylisting&#039;, &#039;includes&#039;, &#039;letsencrypt&#039;, &#039;multiviews&#039;, &#039;dkim&#039; ]}})&lt;br /&gt;
  [&lt;br /&gt;
     {&lt;br /&gt;
        domainoptions:[&lt;br /&gt;
           &#039;htdocsfallback&#039;,&lt;br /&gt;
           &#039;indexes&#039;,&lt;br /&gt;
           &#039;dkim&#039;,&lt;br /&gt;
           &#039;autoconfig&#039;,&lt;br /&gt;
           &#039;greylisting&#039;,&lt;br /&gt;
           &#039;includes&#039;,&lt;br /&gt;
           &#039;letsencrypt&#039;,&lt;br /&gt;
           &#039;multiviews&#039;&lt;br /&gt;
        ],&lt;br /&gt;
        hive:&#039;h97&#039;,&lt;br /&gt;
        id:&#039;22767&#039;,&lt;br /&gt;
        name:&#039;hs-example.de&#039;,&lt;br /&gt;
        pac:&#039;xyz00&#039;,&lt;br /&gt;
        since:&#039;12.02.21&#039;,&lt;br /&gt;
        user:&#039;xyz00-doms&#039;,&lt;br /&gt;
        validsubdomainnames:&#039;www&#039;&lt;br /&gt;
     }&lt;br /&gt;
  ]&lt;br /&gt;
  xyz00@hsadmin&amp;gt; exit&lt;br /&gt;
&lt;br /&gt;
== Beta Test ==&lt;br /&gt;
&lt;br /&gt;
Mitglieder, die mit &amp;quot;hsscript&amp;quot; und Zonefile umgehen können, sind herzlich eingeladen am Test teilzunehmen. Das Wiederentfernen der DKIM-Option kann jedoch zu Schwierigkeiten bei der Zustellung ausgehender Mails führen. Das Abstellen in folgender Reihenfolge wird funktionieren:&lt;br /&gt;
&lt;br /&gt;
# Die Domainoption deaktivieren&lt;br /&gt;
# Abwarten bis alle mit der Option (und damit mit einer Signatur) versendeten E-Mail zugestellt sind&lt;br /&gt;
# Den Domainkey im DNS entfernen&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
&lt;br /&gt;
* [https://de.wikipedia.org/wiki/DomainKeys DKIM Artikel der Wikipedia]&lt;br /&gt;
* [https://doc.hostsharing.net/referenz/zonefile/ Hostsharing-Dokumentation zur Anpassung des Zonefile]&lt;br /&gt;
* [https://doc.hostsharing.net/referenz/domain/domain-optionen.html Hostsharing-Dokumentation Domain-Optionen]&lt;/div&gt;</summary>
		<author><name>Has00</name></author>
	</entry>
	<entry>
		<id>https://wiki.hostsharing.net/index.php?title=DKIM&amp;diff=5581</id>
		<title>DKIM</title>
		<link rel="alternate" type="text/html" href="https://wiki.hostsharing.net/index.php?title=DKIM&amp;diff=5581"/>
		<updated>2021-08-16T17:28:32Z</updated>

		<summary type="html">&lt;p&gt;Has00: /* DKIM bei Hostsharing */ Bezeichnung vom GUI in HSADmin&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= DomainKeys Identified Mail (DKIM) =&lt;br /&gt;
&lt;br /&gt;
DKIM ist ein Verfahren, dass die Authentizität einer E-Mail sicherstellen kann. Dazu wird die E-Mail auf dem sendenden System mit einer elektronischen Signatur in den unsichtbaren Headerzeilen der E-Mail versehen. Es kommt ein asymmetrisches Schlüsselverfahren zum Einsatz. Der sendende Server verwendet seinen privaten Schlüssel, um die Signatur zu erstellen.&lt;br /&gt;
&lt;br /&gt;
Der öffentliche Schlüssel wird im DNS der E-Mail-Domain veröffentlicht, so dass Empfänger die Authentizität der Signatur prüfen können.&lt;br /&gt;
&lt;br /&gt;
{{Textkasten|gelb|Beta|Das Feature ist bei Hostsharing im Beta Test, bitte noch nicht für den produktiven Einsatz nutzen.}}&lt;br /&gt;
&lt;br /&gt;
== DKIM bei Hostsharing ==&lt;br /&gt;
&lt;br /&gt;
Die Nutzer der Hostsharing-Plattform können E-Mails, die sie über die Hostsharing-Server versenden, mit einer DKIM Signatur versehen lassen. Dazu sind zwei Einrichtungsschritte notwendig:&lt;br /&gt;
&lt;br /&gt;
# Die Veröffentlichung des öffentlichen Domainkey im DNS der eigenen E-Mail-Domain.&lt;br /&gt;
# Das Setzen der Domain-Option &amp;quot;Domain Key – DKIM&amp;quot; mit Hilfe von HSAdmin.&lt;br /&gt;
&lt;br /&gt;
== Domainkey im DNS ==&lt;br /&gt;
&lt;br /&gt;
Zur Veröffentlichung des Domainkey muss das Zonefile der E-Mail-Domain erweitert werden. Dazu muss in einem individuell angepassten Zonefile die Zeile&lt;br /&gt;
&lt;br /&gt;
  {DKIM_RR}&lt;br /&gt;
&lt;br /&gt;
ergänzt werden. &lt;br /&gt;
&lt;br /&gt;
Diese Zeile ist in der Beta-Phase nicht Bestandteil des Default-Zonefile! Domain-Inhaber, die ihr Zonefile bisher nicht angepasst haben, müssen also ein minimales Zonefile der Form&lt;br /&gt;
&lt;br /&gt;
  {DEFAULT_ZONEFILE}&lt;br /&gt;
  {DKIM_RR}&lt;br /&gt;
&lt;br /&gt;
erstellen.&lt;br /&gt;
&lt;br /&gt;
Nach einer erfolgreichen Veröffentlichung des Domainkey liefert der Befehl&lt;br /&gt;
&lt;br /&gt;
  $ dig -t TXT +short default._domainkey.hs-example.de&lt;br /&gt;
&lt;br /&gt;
(&amp;quot;hs-example.de&amp;quot; durch die eigene Domain ersetzen) einen Schlüssel in der Form:&lt;br /&gt;
&lt;br /&gt;
  v=DKIM1; h=sha256; k=rsa; s=email; &amp;quot; &amp;quot;p=MIIBIjAN [...]&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Domainoption DKIM setzen ==&lt;br /&gt;
&lt;br /&gt;
Über die Domainoption &amp;quot;DKIM&amp;quot; wird gesteuert, dass der SMTP-Server, auf dem der Webspace mit der Domain liegt, die ausgehenden E-Mail mit einer DKIM-Signatur ausstattet.&lt;br /&gt;
&lt;br /&gt;
In der Beta-Phase ist das Setzen dieser Option nur über das Kommandozeilentool &amp;quot;hsscript&amp;quot; möglich. Mit &amp;quot;hsscript&amp;quot; müssen beim Update einer Domain jeweils alle Domainoptionen, die gesetzt sein sollen, angegeben werden!&lt;br /&gt;
&lt;br /&gt;
Im Folgenden werden deshalb zunächst die Domainoptionen gelesen und anschließend mit der zusätzlichen Option &amp;quot;dkim&amp;quot; wieder geschrieben:&lt;br /&gt;
&lt;br /&gt;
  $ hsscript -u xyz00 -i&lt;br /&gt;
  Password: *********&lt;br /&gt;
  xyz00@hsadmin&amp;gt; domain.search({where:{name:&#039;hs-example.de&#039;}})&lt;br /&gt;
  [&lt;br /&gt;
     {&lt;br /&gt;
        domainoptions:[&lt;br /&gt;
           &#039;htdocsfallback&#039;,&lt;br /&gt;
           &#039;indexes&#039;,&lt;br /&gt;
           &#039;autoconfig&#039;,&lt;br /&gt;
           &#039;greylisting&#039;,&lt;br /&gt;
           &#039;includes&#039;,&lt;br /&gt;
           &#039;letsencrypt&#039;,&lt;br /&gt;
           &#039;multiviews&#039;&lt;br /&gt;
        ],&lt;br /&gt;
        hive:&#039;h97&#039;,&lt;br /&gt;
        id:&#039;22767&#039;,&lt;br /&gt;
        name:&#039;hs-example.de&#039;,&lt;br /&gt;
        pac:&#039;xyz00&#039;,&lt;br /&gt;
        since:&#039;12.02.21&#039;,&lt;br /&gt;
        user:&#039;xyz00-doms&#039;,&lt;br /&gt;
        validsubdomainnames:&#039;www&#039;&lt;br /&gt;
     }&lt;br /&gt;
  ]&lt;br /&gt;
  xyz00@hsadmin&amp;gt; domain.update({where:{name:&#039;hs-example.de&#039;},set:{domainoptions:[ &#039;htdocsfallback&#039;, &#039;indexes&#039;, &#039;autoconfig&#039;, &#039;greylisting&#039;, &#039;includes&#039;, &#039;letsencrypt&#039;, &#039;multiviews&#039;, &#039;dkim&#039; ]}})&lt;br /&gt;
  [&lt;br /&gt;
     {&lt;br /&gt;
        domainoptions:[&lt;br /&gt;
           &#039;htdocsfallback&#039;,&lt;br /&gt;
           &#039;indexes&#039;,&lt;br /&gt;
           &#039;dkim&#039;,&lt;br /&gt;
           &#039;autoconfig&#039;,&lt;br /&gt;
           &#039;greylisting&#039;,&lt;br /&gt;
           &#039;includes&#039;,&lt;br /&gt;
           &#039;letsencrypt&#039;,&lt;br /&gt;
           &#039;multiviews&#039;&lt;br /&gt;
        ],&lt;br /&gt;
        hive:&#039;h97&#039;,&lt;br /&gt;
        id:&#039;22767&#039;,&lt;br /&gt;
        name:&#039;hs-example.de&#039;,&lt;br /&gt;
        pac:&#039;xyz00&#039;,&lt;br /&gt;
        since:&#039;12.02.21&#039;,&lt;br /&gt;
        user:&#039;xyz00-doms&#039;,&lt;br /&gt;
        validsubdomainnames:&#039;www&#039;&lt;br /&gt;
     }&lt;br /&gt;
  ]&lt;br /&gt;
  xyz00@hsadmin&amp;gt; exit&lt;br /&gt;
&lt;br /&gt;
== Beta Test ==&lt;br /&gt;
&lt;br /&gt;
Mitglieder, die mit &amp;quot;hsscript&amp;quot; und Zonefile umgehen können, sind herzlich eingeladen am Test teilzunehmen. Das Wiederentfernen der DKIM-Option kann jedoch zu Schwierigkeiten bei der Zustellung ausgehender Mails führen. Das Abstellen in folgender Reihenfolge wird funktionieren:&lt;br /&gt;
&lt;br /&gt;
# Die Domainoption deaktivieren&lt;br /&gt;
# Abwarten bis alle mit der Option (und damit mit einer Signatur) versendeten E-Mail zugestellt sind&lt;br /&gt;
# Den Domainkey im DNS entfernen&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
&lt;br /&gt;
* [https://de.wikipedia.org/wiki/DomainKeys DKIM Artikel der Wikipedia]&lt;br /&gt;
* [https://doc.hostsharing.net/referenz/zonefile/ Hostsharing-Dokumentation zur Anpassung des Zonefile]&lt;br /&gt;
* [https://doc.hostsharing.net/referenz/domain/domain-optionen.html Hostsharing-Dokumentation Domain-Optionen]&lt;/div&gt;</summary>
		<author><name>Has00</name></author>
	</entry>
	<entry>
		<id>https://wiki.hostsharing.net/index.php?title=DKIM&amp;diff=5580</id>
		<title>DKIM</title>
		<link rel="alternate" type="text/html" href="https://wiki.hostsharing.net/index.php?title=DKIM&amp;diff=5580"/>
		<updated>2021-08-16T17:27:21Z</updated>

		<summary type="html">&lt;p&gt;Has00: /* DomainKeys Identified Mail (DKIM) */ typo&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= DomainKeys Identified Mail (DKIM) =&lt;br /&gt;
&lt;br /&gt;
DKIM ist ein Verfahren, dass die Authentizität einer E-Mail sicherstellen kann. Dazu wird die E-Mail auf dem sendenden System mit einer elektronischen Signatur in den unsichtbaren Headerzeilen der E-Mail versehen. Es kommt ein asymmetrisches Schlüsselverfahren zum Einsatz. Der sendende Server verwendet seinen privaten Schlüssel, um die Signatur zu erstellen.&lt;br /&gt;
&lt;br /&gt;
Der öffentliche Schlüssel wird im DNS der E-Mail-Domain veröffentlicht, so dass Empfänger die Authentizität der Signatur prüfen können.&lt;br /&gt;
&lt;br /&gt;
{{Textkasten|gelb|Beta|Das Feature ist bei Hostsharing im Beta Test, bitte noch nicht für den produktiven Einsatz nutzen.}}&lt;br /&gt;
&lt;br /&gt;
== DKIM bei Hostsharing ==&lt;br /&gt;
&lt;br /&gt;
Die Nutzer der Hostsharing-Plattform können E-Mails, die sie über die Hostsharing-Server versenden, mit einer DKIM Signatur versehen lassen. Dazu sind zwei Einrichtungsschritte notwendig:&lt;br /&gt;
&lt;br /&gt;
# Die Veröffentlichung des öffentlichen Domainkey im DNS der eigenen E-Mail-Domain.&lt;br /&gt;
# Das Setzen der Domain-Option &amp;quot;DKIM&amp;quot; mit Hilfe von HSAdmin.&lt;br /&gt;
&lt;br /&gt;
== Domainkey im DNS ==&lt;br /&gt;
&lt;br /&gt;
Zur Veröffentlichung des Domainkey muss das Zonefile der E-Mail-Domain erweitert werden. Dazu muss in einem individuell angepassten Zonefile die Zeile&lt;br /&gt;
&lt;br /&gt;
  {DKIM_RR}&lt;br /&gt;
&lt;br /&gt;
ergänzt werden. &lt;br /&gt;
&lt;br /&gt;
Diese Zeile ist in der Beta-Phase nicht Bestandteil des Default-Zonefile! Domain-Inhaber, die ihr Zonefile bisher nicht angepasst haben, müssen also ein minimales Zonefile der Form&lt;br /&gt;
&lt;br /&gt;
  {DEFAULT_ZONEFILE}&lt;br /&gt;
  {DKIM_RR}&lt;br /&gt;
&lt;br /&gt;
erstellen.&lt;br /&gt;
&lt;br /&gt;
Nach einer erfolgreichen Veröffentlichung des Domainkey liefert der Befehl&lt;br /&gt;
&lt;br /&gt;
  $ dig -t TXT +short default._domainkey.hs-example.de&lt;br /&gt;
&lt;br /&gt;
(&amp;quot;hs-example.de&amp;quot; durch die eigene Domain ersetzen) einen Schlüssel in der Form:&lt;br /&gt;
&lt;br /&gt;
  v=DKIM1; h=sha256; k=rsa; s=email; &amp;quot; &amp;quot;p=MIIBIjAN [...]&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Domainoption DKIM setzen ==&lt;br /&gt;
&lt;br /&gt;
Über die Domainoption &amp;quot;DKIM&amp;quot; wird gesteuert, dass der SMTP-Server, auf dem der Webspace mit der Domain liegt, die ausgehenden E-Mail mit einer DKIM-Signatur ausstattet.&lt;br /&gt;
&lt;br /&gt;
In der Beta-Phase ist das Setzen dieser Option nur über das Kommandozeilentool &amp;quot;hsscript&amp;quot; möglich. Mit &amp;quot;hsscript&amp;quot; müssen beim Update einer Domain jeweils alle Domainoptionen, die gesetzt sein sollen, angegeben werden!&lt;br /&gt;
&lt;br /&gt;
Im Folgenden werden deshalb zunächst die Domainoptionen gelesen und anschließend mit der zusätzlichen Option &amp;quot;dkim&amp;quot; wieder geschrieben:&lt;br /&gt;
&lt;br /&gt;
  $ hsscript -u xyz00 -i&lt;br /&gt;
  Password: *********&lt;br /&gt;
  xyz00@hsadmin&amp;gt; domain.search({where:{name:&#039;hs-example.de&#039;}})&lt;br /&gt;
  [&lt;br /&gt;
     {&lt;br /&gt;
        domainoptions:[&lt;br /&gt;
           &#039;htdocsfallback&#039;,&lt;br /&gt;
           &#039;indexes&#039;,&lt;br /&gt;
           &#039;autoconfig&#039;,&lt;br /&gt;
           &#039;greylisting&#039;,&lt;br /&gt;
           &#039;includes&#039;,&lt;br /&gt;
           &#039;letsencrypt&#039;,&lt;br /&gt;
           &#039;multiviews&#039;&lt;br /&gt;
        ],&lt;br /&gt;
        hive:&#039;h97&#039;,&lt;br /&gt;
        id:&#039;22767&#039;,&lt;br /&gt;
        name:&#039;hs-example.de&#039;,&lt;br /&gt;
        pac:&#039;xyz00&#039;,&lt;br /&gt;
        since:&#039;12.02.21&#039;,&lt;br /&gt;
        user:&#039;xyz00-doms&#039;,&lt;br /&gt;
        validsubdomainnames:&#039;www&#039;&lt;br /&gt;
     }&lt;br /&gt;
  ]&lt;br /&gt;
  xyz00@hsadmin&amp;gt; domain.update({where:{name:&#039;hs-example.de&#039;},set:{domainoptions:[ &#039;htdocsfallback&#039;, &#039;indexes&#039;, &#039;autoconfig&#039;, &#039;greylisting&#039;, &#039;includes&#039;, &#039;letsencrypt&#039;, &#039;multiviews&#039;, &#039;dkim&#039; ]}})&lt;br /&gt;
  [&lt;br /&gt;
     {&lt;br /&gt;
        domainoptions:[&lt;br /&gt;
           &#039;htdocsfallback&#039;,&lt;br /&gt;
           &#039;indexes&#039;,&lt;br /&gt;
           &#039;dkim&#039;,&lt;br /&gt;
           &#039;autoconfig&#039;,&lt;br /&gt;
           &#039;greylisting&#039;,&lt;br /&gt;
           &#039;includes&#039;,&lt;br /&gt;
           &#039;letsencrypt&#039;,&lt;br /&gt;
           &#039;multiviews&#039;&lt;br /&gt;
        ],&lt;br /&gt;
        hive:&#039;h97&#039;,&lt;br /&gt;
        id:&#039;22767&#039;,&lt;br /&gt;
        name:&#039;hs-example.de&#039;,&lt;br /&gt;
        pac:&#039;xyz00&#039;,&lt;br /&gt;
        since:&#039;12.02.21&#039;,&lt;br /&gt;
        user:&#039;xyz00-doms&#039;,&lt;br /&gt;
        validsubdomainnames:&#039;www&#039;&lt;br /&gt;
     }&lt;br /&gt;
  ]&lt;br /&gt;
  xyz00@hsadmin&amp;gt; exit&lt;br /&gt;
&lt;br /&gt;
== Beta Test ==&lt;br /&gt;
&lt;br /&gt;
Mitglieder, die mit &amp;quot;hsscript&amp;quot; und Zonefile umgehen können, sind herzlich eingeladen am Test teilzunehmen. Das Wiederentfernen der DKIM-Option kann jedoch zu Schwierigkeiten bei der Zustellung ausgehender Mails führen. Das Abstellen in folgender Reihenfolge wird funktionieren:&lt;br /&gt;
&lt;br /&gt;
# Die Domainoption deaktivieren&lt;br /&gt;
# Abwarten bis alle mit der Option (und damit mit einer Signatur) versendeten E-Mail zugestellt sind&lt;br /&gt;
# Den Domainkey im DNS entfernen&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
&lt;br /&gt;
* [https://de.wikipedia.org/wiki/DomainKeys DKIM Artikel der Wikipedia]&lt;br /&gt;
* [https://doc.hostsharing.net/referenz/zonefile/ Hostsharing-Dokumentation zur Anpassung des Zonefile]&lt;br /&gt;
* [https://doc.hostsharing.net/referenz/domain/domain-optionen.html Hostsharing-Dokumentation Domain-Optionen]&lt;/div&gt;</summary>
		<author><name>Has00</name></author>
	</entry>
	<entry>
		<id>https://wiki.hostsharing.net/index.php?title=HDD_Storage&amp;diff=5577</id>
		<title>HDD Storage</title>
		<link rel="alternate" type="text/html" href="https://wiki.hostsharing.net/index.php?title=HDD_Storage&amp;diff=5577"/>
		<updated>2021-08-14T13:19:33Z</updated>

		<summary type="html">&lt;p&gt;Has00: /* HDD Storage */ typos&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= HDD Storage =&lt;br /&gt;
&lt;br /&gt;
Hostsharing bietet ab 1. September 2021 Festplattenspeicher auf klassischen, magnetischen HDD für größere Datenvolumina an. Der zusätzliche Speicher steht im Managed Hosting als zweite Partition unter dem Mountpoint&lt;br /&gt;
&lt;br /&gt;
    /home/storage&lt;br /&gt;
&lt;br /&gt;
zur Verfügung. &lt;br /&gt;
&lt;br /&gt;
Wenn für ein Paket (Beispiel &#039;&#039;xyz00&#039;&#039;) eine Storage-Quota gebucht ist, wird &lt;br /&gt;
unter diesem Mountpoint ein Verzeichnis &#039;&#039;/home/storage/xyz00&#039;&#039; angelegt. Darin werden auch Unterverzeichnisse für jeden User im Webspace &#039;&#039;xyz00&#039;&#039; angelegt, zum Beispiel&lt;br /&gt;
&#039;&#039;/home/storage/xyz00/users/brunobeispiel&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
In diesen Verzeichnissen hat der jeweilige User die Berechtigung Dateien anzulegen, zu lesen und zu löschen. Weiterhin kann der Systemuser &#039;&#039;httpd&#039;&#039; auf die Dateien lesend zugreifen, so dass sich einzelne Verzeichnisse in das htdocs-Verzeichnis von Domains verlinken lassen. Auf diesem Weg können größere Dateien zum Download angeboten werden.&lt;br /&gt;
&lt;br /&gt;
Nutzerinnen und Nutzer, die selbständig die Zugriffrechte im Unix-Dateisystem sinnvoll und sicher vergeben können, dürfen unter &#039;&#039;/home/storage/xyz00&#039;&#039; gern eigene Verzeichnisstrukturen organiseren. Der Paketadmin &#039;&#039;xyz00&#039;&#039; hat die notwendigen Rechte dazu.&lt;br /&gt;
&lt;br /&gt;
== Dateizugriffsrechte ==&lt;br /&gt;
&lt;br /&gt;
Die Rechteschleuse für den User &#039;&#039;httpd&#039;&#039; ist wie folgt realisiert:&lt;br /&gt;
&lt;br /&gt;
   drwxr-x--x   3 xyz00               httpd   19 Aug 13 14:47 /home/storage/xyz00/&lt;br /&gt;
   drwxr-xr-x  10 xyz00               xyz00  106 Aug 13 14:47 /home/storage/xyz00/users&lt;br /&gt;
   drwxr-x---   2 xyz00-brunobeispiel httpd    6 Aug 13 14:47 /home/storage/xyz00/users/brunobeispiel&lt;/div&gt;</summary>
		<author><name>Has00</name></author>
	</entry>
	<entry>
		<id>https://wiki.hostsharing.net/index.php?title=Passworte&amp;diff=5402</id>
		<title>Passworte</title>
		<link rel="alternate" type="text/html" href="https://wiki.hostsharing.net/index.php?title=Passworte&amp;diff=5402"/>
		<updated>2021-02-28T14:02:37Z</updated>

		<summary type="html">&lt;p&gt;Has00: /* Weiterführende Links */ www.passwordstore.org und Links gefixt&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Passworte sind von hoher Relevanz für die Sicherheit der eigenen Pakete und sollten daher gut gewählt werden.&lt;br /&gt;
&lt;br /&gt;
== Pro Account ein eigenes Passwort ==&lt;br /&gt;
&lt;br /&gt;
Erste Regel bei Passwörtern: jeder Account hat sein eigenes. Der Grund ist einfach: wird ein einzelner Account gehackt, sind nicht alle anderen gefährdet.&lt;br /&gt;
&lt;br /&gt;
== Wahl eines sicheren Passwortes ==&lt;br /&gt;
&lt;br /&gt;
Ein sichers Passwort besteht aus mindestens 8 Zeichen, möglichst einer Mischung aus Groß- und Kleinbuchstaben, Ziffern und Sonderzeichen und kann nicht in einem Wörterbuch gefunden werden. Es gibt übrigens spezielle Wörterbücher zum Passwortknacken und da sind auch Zeichenfolgen wie &amp;quot;sabine1982&amp;quot; enthalten.&lt;br /&gt;
&lt;br /&gt;
Ein sehr sicheres Passwort ist zum Beispiel &amp;quot;KFxE75LOCUvlcnRMYmcs&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Nur wie kann man sich so etwas merken?&lt;br /&gt;
&lt;br /&gt;
== Passwortverwaltung ==&lt;br /&gt;
&lt;br /&gt;
Es gibt Programme zum Verwalten von Passwortdatenbanken für die verschiedenen Betriebssysteme, die eine Vielzahl von sicheren Passwörtern generieren und verschlüsselt speichern können. Damit wird das Verwalten leicht gemacht. Nur noch das Masterpasswort zum Öffnen der Datenbank muss gemerkt werden.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Weiterführende Links ==&lt;br /&gt;
&lt;br /&gt;
[https://www.bsi.bund.de/DE/Themen/Verbraucherinnen-und-Verbraucher/Informationen-und-Empfehlungen/Cyber-Sicherheitsempfehlungen/Accountschutz/Sichere-Passwoerter-erstellen/sichere-passwoerter-erstellen_node.html BSI Empfehlungen zur Erstellung sicherer Passwörter]&lt;br /&gt;
&lt;br /&gt;
https://de.wikipedia.org/wiki/KeePass&lt;br /&gt;
&lt;br /&gt;
[https://keepass.info/download.html Download KeePass]&lt;br /&gt;
&lt;br /&gt;
[https://de.wikipedia.org/wiki/KeePass Was ist KeePass?]&lt;br /&gt;
&lt;br /&gt;
[https://formulae.brew.sh/cask/keepassxc#default KeepassXC für Mac OS – via Homebrew]&lt;br /&gt;
&lt;br /&gt;
[https://brew.sh/index_de Was ist &amp;quot;Homebrew&amp;quot;?]&lt;br /&gt;
&lt;br /&gt;
[https://www.passwordstore.org Für die Kommandozeile: pass the standard unix password manager]&lt;br /&gt;
----&lt;br /&gt;
[[Kategorie:HSDoku]]&lt;br /&gt;
[[Kategorie:Glossar]]&lt;/div&gt;</summary>
		<author><name>Has00</name></author>
	</entry>
	<entry>
		<id>https://wiki.hostsharing.net/index.php?title=Nextcloud&amp;diff=5395</id>
		<title>Nextcloud</title>
		<link rel="alternate" type="text/html" href="https://wiki.hostsharing.net/index.php?title=Nextcloud&amp;diff=5395"/>
		<updated>2021-02-10T18:38:38Z</updated>

		<summary type="html">&lt;p&gt;Has00: /* Nextcloud konfigurieren */  Hinweis auf verstecktes Formular auf dem Startscreen&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Nextcloud =&lt;br /&gt;
&lt;br /&gt;
[https://nextcloud.com/ Nextcloud] ist eine PHP-basierte Open Source Lösung für gängige Cloud-Anwendungen, u.a.:&lt;br /&gt;
&lt;br /&gt;
* Filesharing unter Nutzern derselben Nextcloud, und mit der Öffentlichkeit&lt;br /&gt;
* Single-Sign-On Authentifizierung (SSO)&lt;br /&gt;
* Videokonferenzen (WebRTC)&lt;br /&gt;
* Online-Office Anwendung [https://www.collaboraoffice.com/ Collabora Online]&lt;br /&gt;
&lt;br /&gt;
Beispiel-Funktionalität, die über Plugins, sogenannte [https://apps.nextcloud.com/ &amp;quot;Apps&amp;quot;], bereit gestellt werden kann:&lt;br /&gt;
&lt;br /&gt;
* Kalender, Aufgabenverwaltung, Adressbuch&lt;br /&gt;
* Datei-Kollaboration (Kommentare zu Dateien, Verschlagwortung)&lt;br /&gt;
* Feedreader&lt;br /&gt;
* E-Mail-Programm&lt;br /&gt;
* Fotogalerie&lt;br /&gt;
* Musik- und Videowiedergabe&lt;br /&gt;
&lt;br /&gt;
= Nextcloud installieren =&lt;br /&gt;
&lt;br /&gt;
== Vorbereitungen ==&lt;br /&gt;
&lt;br /&gt;
In &#039;&#039;hsadmin&#039;&#039;, zum Beispiel mit &#039;&#039;hsscript&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;hsadmin&#039;&#039;-Shell starten mit:&lt;br /&gt;
&lt;br /&gt;
  hsscript -u xyz00 -i&lt;br /&gt;
  Password: ********&lt;br /&gt;
&lt;br /&gt;
Dann nacheinander anlegen:&lt;br /&gt;
&lt;br /&gt;
* Linux User als Domain-Administrator&lt;br /&gt;
* Subdomain &#039;&#039;cloud.example.org&#039;&#039;&lt;br /&gt;
* PostgreSQL-User &lt;br /&gt;
* PostgreSQL Datenbank&lt;br /&gt;
&lt;br /&gt;
  xyz00@hsadmin&amp;gt; user.add({set:{name:&#039;xyz00-cloud&#039;,password:&#039;geheim&#039;,shell:&#039;/bin/bash&#039;,comment:&#039;Nextcloud&#039;}})&lt;br /&gt;
  xyz00@hsadmin&amp;gt; domain.add({set:{name:&#039;cloud.example.org&#039;,user:&#039;xyz00-cloud&#039;}})&lt;br /&gt;
  xyz00@hsadmin&amp;gt; postgresqluser.add({set:{name:&#039;xyz00_nextclusr&#039;,password:&#039;geheim&#039;}})&lt;br /&gt;
  xyz00@hsadmin&amp;gt; postgresqldb.add({set:{name:&#039;xyz00_nextcloud&#039;,owner:&#039;xyz00_nextclusr&#039;}})&lt;br /&gt;
&lt;br /&gt;
== Nextcloud installieren ==&lt;br /&gt;
&lt;br /&gt;
Anmelden als Linux-User &#039;&#039;xyz00-cloud&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
  ssh -l xyz00-cloud xyz00.hostsharing.net&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;htdocs&#039;&#039; Verzeichnis vorbereiten&lt;br /&gt;
&lt;br /&gt;
  cd&lt;br /&gt;
  mkdir nextcloud&lt;br /&gt;
  cd doms/cloud.example.org&lt;br /&gt;
  rm -rf subs/www subs-ssl/www htdocs-ssl&lt;br /&gt;
  ln -s $HOME/nextcloud htdocs-ssl&lt;br /&gt;
&lt;br /&gt;
Nextcloud herunterladen und entpacken.&lt;br /&gt;
&lt;br /&gt;
  cd &lt;br /&gt;
  wget https://download.nextcloud.com/server/releases/nextcloud-20.0.4.zip&lt;br /&gt;
  unzip nextcloud-20.0.4.zip &lt;br /&gt;
  rm nextcloud-20.0.4.zip&lt;br /&gt;
  mkdir data tmp&lt;br /&gt;
  chmod 700 data tmp&lt;br /&gt;
&lt;br /&gt;
== Nextcloud konfigurieren ==&lt;br /&gt;
&lt;br /&gt;
Im Verzeichnis &amp;quot;$HOME/doms/cloud.example.org/fastcgi-ssl/&amp;quot; eine Datei &amp;quot;php.ini&amp;quot; anlegen mit folgendem Inhalt: &lt;br /&gt;
&lt;br /&gt;
  memory_limit=512M&lt;br /&gt;
  session.save_path=/home/pacs/xyz00/users/cloud/tmp&lt;br /&gt;
	&lt;br /&gt;
Dann mit einem Editor diese Datei bearbeiten: In der erste Zeile den korrekten Pfad des vorher angelegten tmp-Verzeichnisses eintragen.&lt;br /&gt;
&lt;br /&gt;
Im Browser auf die Seite &lt;br /&gt;
http://cloud.example.org gehen und den Anweisungen folgen.&lt;br /&gt;
&lt;br /&gt;
Auf der ersten Seite sind anzugeben:&lt;br /&gt;
&lt;br /&gt;
* Login und Passwort für den Administrator definieren&lt;br /&gt;
* PostgreSQL als Datenbanksystem&lt;br /&gt;
* PostgreSQL-User und Passwort aus dem ersten Schritt oben&lt;br /&gt;
* Name der PostgreSQL-Datenbank aus dem ersten Schritt&lt;br /&gt;
* &amp;quot;localhost&amp;quot; als Datenbankserver&lt;br /&gt;
* Das Verzeichnis &amp;quot;/home/pacs/xyz00/users/cloud/data/&amp;quot; als Daten-Verzeichnis&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Achtung!&#039;&#039;&#039; Die Felder für die Datenbank sind auf dem Startscreen hinter einem unscheinbaren Link versteckt. Um man das Formular für die Datenbank-Daten zu gelangen, muss man auf den Link klicken. Anschließend kann man die gewünschte Datenbank auswählen und die entsprechenden Daten eintragen. &#039;&#039;&#039;Das sollte geschehen, bevor man die Installation abschließt!&#039;&#039;&#039; Tut man dies nicht, wird Nextcloud mit SQLite installiert. Eine Änderung der Datenbank soll zwar laut Dokumentation auch später noch möglich sein, ging aber bei einem Test schief.&lt;br /&gt;
&lt;br /&gt;
== Nextcloud beschleunigen ==&lt;br /&gt;
&lt;br /&gt;
Dieser Teil ist optional.&lt;br /&gt;
&lt;br /&gt;
Wenn regelmäßig &#039;&#039;&#039;im Browser&#039;&#039;&#039; mit Nextcloud gearbeitet werden soll, ist Nextcloud im Browser oft sehr langsam. Um dies zu verbessern unterstützt Nextcloud die Anwendung von unterschiedlichen Cache-Verfahren (zum Beispiel Memcache, Redis).&lt;br /&gt;
&lt;br /&gt;
Redis ist auf den Hostsharing-Servern vorinstalliert und wird von den Nextcloud-Entwicklern empfohlen. &#039;&#039;&#039;In Verbindung mit einem Managed Webspace&#039;&#039;&#039; muss Redis als eigener Server &#039;&#039;&#039;Daemon&#039;&#039;&#039; angemeldet werden und ist &#039;&#039;&#039;kostenpflichtig&#039;&#039;&#039;. Siehe zu Kosten im Webspace Konfigurator unter: https://www.hostsharing.net/angebote/managed-webspace/ – &#039;&#039;&#039;1 individueller Serverdienst&#039;&#039;&#039; (Daemons).&lt;br /&gt;
&lt;br /&gt;
Mit dem Hostsharing-Service wird ein IP-Port für die Nutzung von Redis vereinbart.&lt;br /&gt;
&lt;br /&gt;
Für den Redis-Dienst lege ich folgende Struktur an:&lt;br /&gt;
&lt;br /&gt;
  cd ~&lt;br /&gt;
  mkdir -p ~/redis/etc&lt;br /&gt;
  mkdir -p ~/redis/var&lt;br /&gt;
&lt;br /&gt;
In &#039;&#039;~/redis/etc&#039;&#039; lege ich eine Konfigurationsdatei &#039;&#039;redis.conf&#039;&#039; für den Redis-Dienst ab:&lt;br /&gt;
&lt;br /&gt;
  daemonize yes&lt;br /&gt;
  pidfile /home/pacs/xyz00/users/cloud/redis/var/redis-server.pid&lt;br /&gt;
  requirepass mein-redis-passwort                    &lt;br /&gt;
  port 32123&lt;br /&gt;
  tcp-backlog 128&lt;br /&gt;
  bind 127.0.0.1&lt;br /&gt;
  timeout 300    &lt;br /&gt;
  loglevel notice&lt;br /&gt;
  logfile /home/pacs/xyz00/users/cloud/redis/var/redis.log&lt;br /&gt;
  databases 16&lt;br /&gt;
  save 900 1 &lt;br /&gt;
  save 300 10  &lt;br /&gt;
  save 60 10000&lt;br /&gt;
  slave-serve-stale-data yes&lt;br /&gt;
  appendonly no&lt;br /&gt;
  dbfilename dump.rdb&lt;br /&gt;
  dir /home/pacs/xyz00/users/cloud/redis/var&lt;br /&gt;
&lt;br /&gt;
Den Start und das Monitoring des Redis-Dienstes übernimmet &#039;&#039;monit&#039;&#039;. Hier eine geeignete Datei &#039;&#039;~/.monitrc&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
  set daemon 60&lt;br /&gt;
      with start delay 120&lt;br /&gt;
  set logfile /home/pacs/xyz00/users/cloud/monit/var/monit.log&lt;br /&gt;
  set idfile /home/pacs/xyz00/users/cloud/monit/var/monit.id&lt;br /&gt;
  set statefile /home/pacs/xyz00/users/cloud/monit/var/monit.state&lt;br /&gt;
  set mailserver localhost&lt;br /&gt;
  set mail-format { from: monit@cloud.example.com }&lt;br /&gt;
  set alert webmaster@example.com&lt;br /&gt;
  set httpd port 32123 address xyz00.hostsharing.net &lt;br /&gt;
      allow nextcloud:mein-monit-passwort&lt;br /&gt;
  check process redis with pidfile /home/pacs/xyz00/users/cloud/redis/var/redis-server.pid&lt;br /&gt;
      start program &amp;quot;/usr/bin/redis-server /home/pacs/xyz00/users/cloud/redis/etc/redis.conf&amp;quot;&lt;br /&gt;
      stop program &amp;quot;/bin/bash -c &#039;/bin/kill $( cat /home/pacs/xyz00/users/cloud/redis/var/redis-server.pid )&#039;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Zugriffsrechte für die Datei &#039;&#039;~/.monitrc&#039;&#039; setzen:&lt;br /&gt;
&lt;br /&gt;
  cd ~&lt;br /&gt;
  chmod 600 .monitrc&lt;br /&gt;
&lt;br /&gt;
Verzeichnis für &#039;&#039;monit&#039;&#039; anlgegen:&lt;br /&gt;
&lt;br /&gt;
  cd ~&lt;br /&gt;
  mkdir -p monit/var&lt;br /&gt;
&lt;br /&gt;
In der Konfiguration der Nextcloud (in &#039;&#039;~/nextcloud/config/config.php&#039;&#039;) wird der Redis-Cache wie folgt konfiguriert:&lt;br /&gt;
&lt;br /&gt;
  &#039;memcache.local&#039; =&amp;gt; &#039;\\OC\\Memcache\\Redis&#039;,&lt;br /&gt;
  &#039;memcache.distributed&#039; =&amp;gt; &#039;\\OC\\Memcache\\Redis&#039;,&lt;br /&gt;
  &#039;memcache.locking&#039; =&amp;gt; &#039;\\OC\\Memcache\\Redis&#039;,&lt;br /&gt;
  &#039;redis&#039; =&amp;gt; &lt;br /&gt;
    array (&lt;br /&gt;
      &#039;host&#039; =&amp;gt; &#039;127.0.0.1&#039;,&lt;br /&gt;
      &#039;port&#039; =&amp;gt; 32123,&lt;br /&gt;
      &#039;password&#039; =&amp;gt; &#039;mein-redis-passwort&#039;,&lt;br /&gt;
      &#039;timeout&#039; =&amp;gt; 1.5,&lt;br /&gt;
    ),&lt;br /&gt;
&lt;br /&gt;
Um es perfekt zu machen nutze ich &#039;&#039;logrotate&#039;&#039; um die Logdateien zu organisieren. Dazu die Konfiguration in &#039;&#039;~/.logrotate&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
  compress&lt;br /&gt;
  /home/pacs/xyz00/users/cloud/redis/var/redis.log {&lt;br /&gt;
    rotate 5&lt;br /&gt;
    daily&lt;br /&gt;
    missingok&lt;br /&gt;
  }&lt;br /&gt;
  /home/pacs/xyz00/users/cloud/monit/var/monit.log {&lt;br /&gt;
    rotate 2&lt;br /&gt;
    weekly&lt;br /&gt;
    missingok&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
Eine Crontab sorgt für den Start von Monit und das tägliche Rotieren der Logdateien:&lt;br /&gt;
&lt;br /&gt;
  # m h  dom mon dow   command&lt;br /&gt;
  HOME=/home/pacs/xyz00/users/cloud&lt;br /&gt;
  PATH=/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games&lt;br /&gt;
  MAILTO=webmaster@example.com&lt;br /&gt;
  @reboot /usr/bin/monit -c $HOME/.monitrc&lt;br /&gt;
  1 1 * * * /usr/sbin/logrotate -s $HOME/.logrotate.state $HOME/.logrotate&lt;br /&gt;
  1,16,31,46 * * * * /usr/bin/php7.3 $HOME/nextcloud/cron.php&lt;br /&gt;
&lt;br /&gt;
Die letzte Zeile der &#039;&#039;crontab&#039;&#039; enthält den Cronjob für die regelmäßigen Hintergrundprozesse der Nextcloud. Durch die Erledigung dieser Aufgaben mit Cron lässt sich die Nextcloud ebenfalls etwas beschleunigen.&lt;br /&gt;
&lt;br /&gt;
== Nextcloud mit Online Office ==&lt;br /&gt;
&lt;br /&gt;
In Nextcloud können Office-Dokumente (Textverarbeitung, Tabellen und Präsentationen) im Browser bearbeitet werden. Dazu steht bei Hostsharing die Collabora Developer Version zur Verfügung. Bestellung und Konfiguration sind hier im Wiki auf der Seite [[Collabora_Online]] beschrieben.&lt;br /&gt;
&lt;br /&gt;
== Nextcloud mit Nextcloud Talk ==&lt;br /&gt;
&lt;br /&gt;
Über die Nextcloud-App &amp;quot;Talk&amp;quot; können Videokonfererenzen mit Screensharing durchgeführt werden. Für die regelmäßige Nutzung kann es sinnvoll sein einen eigenen TURN Server zu betreiben. Siehe dazu [[Coturn_Installieren]]&lt;br /&gt;
&lt;br /&gt;
= weiterführende Links =&lt;br /&gt;
&lt;br /&gt;
* [https://ownyourbits.com/2019/06/29/understanding-and-improving-nextcloud-previews/ Optimierung des Caches für Previews]&lt;br /&gt;
&lt;br /&gt;
= Updater über die Shell starten =&lt;br /&gt;
&lt;br /&gt;
Wenn die NextCloud sich nicht über das Webfrontend updaten lässt, kann der Updater auch per Shell im directory /updater durch ausführen des updater.phar gestartet werden:&lt;br /&gt;
&lt;br /&gt;
  xyz00-cloud@h00:~/nextcloud/updater$ chmod u+x updater.phar&lt;br /&gt;
  xyz00-cloud@h00:~/nextcloud/updater$ ./updater.phar&lt;br /&gt;
&lt;br /&gt;
Für weitere Informationen kann auf die offizielle Doku ab Ziffer 2. zurückgegriffen werden.&lt;br /&gt;
&lt;br /&gt;
* [https://docs.nextcloud.com/server/latest/admin_manual/maintenance/update.html#using-the-command-line-based-updater]&lt;br /&gt;
&lt;br /&gt;
Wartungsmodus per Shell (über die config.php) ein- oder ausschalten:&lt;br /&gt;
&lt;br /&gt;
Im nextcloud-Ordner die Datei config / config.php mit dem bevorzugten Shell-Editor (z. B. vim) öffnen.&lt;br /&gt;
Suche nach &#039;maintenance&#039; =&amp;gt; true,&lt;br /&gt;
Ändern von true in false&lt;br /&gt;
Speichern &lt;br /&gt;
Webseite neu laden&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
[[Kategorie:HSDoku]]&lt;br /&gt;
[[Kategorie:Installationsanleitungen]]&lt;br /&gt;
[[Kategorie:Software]]&lt;br /&gt;
[[Kategorie:CalDAV]]&lt;/div&gt;</summary>
		<author><name>Has00</name></author>
	</entry>
	<entry>
		<id>https://wiki.hostsharing.net/index.php?title=Diskussion:HedgeDoc_installieren&amp;diff=5375</id>
		<title>Diskussion:HedgeDoc installieren</title>
		<link rel="alternate" type="text/html" href="https://wiki.hostsharing.net/index.php?title=Diskussion:HedgeDoc_installieren&amp;diff=5375"/>
		<updated>2021-01-23T15:29:48Z</updated>

		<summary type="html">&lt;p&gt;Has00: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Evtl. sollte man für den Datenbankbenutzer und die Datenbank zwei unterschiedliche Namen vorsehen. [[Benutzer:Has00|Has00]] ([[Benutzer Diskussion:Has00|Diskussion]]) 14:24, 23. Jan. 2021 (CET)&lt;br /&gt;
&lt;br /&gt;
Ich habe mit dieser Anleitung versucht HedgeDoc zu installieren.&lt;br /&gt;
&lt;br /&gt;
    $ npm version&lt;br /&gt;
    { HedgeDoc: &#039;1.7.2&#039;,&lt;br /&gt;
  npm: &#039;6.14.10&#039;,&lt;br /&gt;
  ares: &#039;1.15.0&#039;,&lt;br /&gt;
  brotli: &#039;1.0.7&#039;,&lt;br /&gt;
  cldr: &#039;35.1&#039;,&lt;br /&gt;
  http_parser: &#039;2.9.4&#039;,&lt;br /&gt;
  icu: &#039;64.2&#039;,&lt;br /&gt;
  modules: &#039;64&#039;,&lt;br /&gt;
  napi: &#039;7&#039;,&lt;br /&gt;
  nghttp2: &#039;1.41.0&#039;,&lt;br /&gt;
  node: &#039;10.23.1&#039;,&lt;br /&gt;
  openssl: &#039;1.1.1i&#039;,&lt;br /&gt;
  tz: &#039;2019c&#039;,&lt;br /&gt;
  unicode: &#039;12.1&#039;,&lt;br /&gt;
  uv: &#039;1.34.2&#039;,&lt;br /&gt;
  v8: &#039;6.8.275.32-node.59&#039;,&lt;br /&gt;
  zlib: &#039;1.2.11&#039; }&lt;br /&gt;
&lt;br /&gt;
    npm start --production&lt;br /&gt;
&lt;br /&gt;
lässt die Anwendung starten. Wegen SSL Zertifikatsproblem kann ich aber unter example.com:3000 nichts sehen.&lt;br /&gt;
&lt;br /&gt;
Passenger angepasst wie in der Anleitung beschrieben.&lt;br /&gt;
&lt;br /&gt;
Unter der richtigen URL kriege ich aber:&lt;br /&gt;
&lt;br /&gt;
    Internal Server Error&lt;br /&gt;
&lt;br /&gt;
Ein Update auf NodeJS 14.15.4 bringt auch nichts anderes:&lt;br /&gt;
&lt;br /&gt;
    $ npm version&lt;br /&gt;
    {&lt;br /&gt;
  HedgeDoc: &#039;1.7.2&#039;,&lt;br /&gt;
  npm: &#039;6.14.10&#039;,&lt;br /&gt;
  ares: &#039;1.16.1&#039;,&lt;br /&gt;
  brotli: &#039;1.0.9&#039;,&lt;br /&gt;
  cldr: &#039;37.0&#039;,&lt;br /&gt;
  icu: &#039;67.1&#039;,&lt;br /&gt;
  llhttp: &#039;2.1.3&#039;,&lt;br /&gt;
  modules: &#039;83&#039;,&lt;br /&gt;
  napi: &#039;7&#039;,&lt;br /&gt;
  nghttp2: &#039;1.41.0&#039;,&lt;br /&gt;
  node: &#039;14.15.4&#039;,&lt;br /&gt;
  openssl: &#039;1.1.1i&#039;,&lt;br /&gt;
  tz: &#039;2020a&#039;,&lt;br /&gt;
  unicode: &#039;13.0&#039;,&lt;br /&gt;
  uv: &#039;1.40.0&#039;,&lt;br /&gt;
  v8: &#039;8.4.371.19-node.17&#039;,&lt;br /&gt;
  zlib: &#039;1.2.11&#039;&lt;br /&gt;
}&lt;/div&gt;</summary>
		<author><name>Has00</name></author>
	</entry>
	<entry>
		<id>https://wiki.hostsharing.net/index.php?title=Diskussion:HedgeDoc_installieren&amp;diff=5374</id>
		<title>Diskussion:HedgeDoc installieren</title>
		<link rel="alternate" type="text/html" href="https://wiki.hostsharing.net/index.php?title=Diskussion:HedgeDoc_installieren&amp;diff=5374"/>
		<updated>2021-01-23T13:32:11Z</updated>

		<summary type="html">&lt;p&gt;Has00: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Evtl. sollte man für den Datenbankbenutzer und die Datenbank zwei unterschiedliche Namen vorsehen. [[Benutzer:Has00|Has00]] ([[Benutzer Diskussion:Has00|Diskussion]]) 14:24, 23. Jan. 2021 (CET)&lt;br /&gt;
&lt;br /&gt;
Ich habe mit dieser Anleitung versucht HedgeDoc zu installieren.&lt;br /&gt;
&lt;br /&gt;
    $ npm version&lt;br /&gt;
    { HedgeDoc: &#039;1.7.2&#039;,&lt;br /&gt;
  npm: &#039;6.14.10&#039;,&lt;br /&gt;
  ares: &#039;1.15.0&#039;,&lt;br /&gt;
  brotli: &#039;1.0.7&#039;,&lt;br /&gt;
  cldr: &#039;35.1&#039;,&lt;br /&gt;
  http_parser: &#039;2.9.4&#039;,&lt;br /&gt;
  icu: &#039;64.2&#039;,&lt;br /&gt;
  modules: &#039;64&#039;,&lt;br /&gt;
  napi: &#039;7&#039;,&lt;br /&gt;
  nghttp2: &#039;1.41.0&#039;,&lt;br /&gt;
  node: &#039;10.23.1&#039;,&lt;br /&gt;
  openssl: &#039;1.1.1i&#039;,&lt;br /&gt;
  tz: &#039;2019c&#039;,&lt;br /&gt;
  unicode: &#039;12.1&#039;,&lt;br /&gt;
  uv: &#039;1.34.2&#039;,&lt;br /&gt;
  v8: &#039;6.8.275.32-node.59&#039;,&lt;br /&gt;
  zlib: &#039;1.2.11&#039; }&lt;br /&gt;
&lt;br /&gt;
    npm start --production&lt;br /&gt;
&lt;br /&gt;
lässt die Anwendung starten. Wegen SSL Zertifikatsproblem kann ich aber unter example.com:3000 nichts sehen.&lt;br /&gt;
&lt;br /&gt;
Passenger angepasst wie in der Anleitung beschrieben.&lt;br /&gt;
&lt;br /&gt;
Unter der richtigen URL kriege ich aber:&lt;br /&gt;
&lt;br /&gt;
    Internal Server Error&lt;/div&gt;</summary>
		<author><name>Has00</name></author>
	</entry>
	<entry>
		<id>https://wiki.hostsharing.net/index.php?title=Diskussion:HedgeDoc_installieren&amp;diff=5373</id>
		<title>Diskussion:HedgeDoc installieren</title>
		<link rel="alternate" type="text/html" href="https://wiki.hostsharing.net/index.php?title=Diskussion:HedgeDoc_installieren&amp;diff=5373"/>
		<updated>2021-01-23T13:24:46Z</updated>

		<summary type="html">&lt;p&gt;Has00: Die Seite wurde neu angelegt: „Evtl. sollte man für den Datenbankbenutzer und die Datenbank zwei unterschiedliche Namen vorsehen. ~~~~“&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Evtl. sollte man für den Datenbankbenutzer und die Datenbank zwei unterschiedliche Namen vorsehen. [[Benutzer:Has00|Has00]] ([[Benutzer Diskussion:Has00|Diskussion]]) 14:24, 23. Jan. 2021 (CET)&lt;/div&gt;</summary>
		<author><name>Has00</name></author>
	</entry>
	<entry>
		<id>https://wiki.hostsharing.net/index.php?title=Coturn_Installieren&amp;diff=5366</id>
		<title>Coturn Installieren</title>
		<link rel="alternate" type="text/html" href="https://wiki.hostsharing.net/index.php?title=Coturn_Installieren&amp;diff=5366"/>
		<updated>2021-01-17T11:45:22Z</updated>

		<summary type="html">&lt;p&gt;Has00: /* Spezielle Installation bei Hostsharing */ Link zu Features hs.net&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Coturn STUN- und TURN-Server installieren&lt;br /&gt;
&lt;br /&gt;
== Allgemein ==&lt;br /&gt;
&lt;br /&gt;
[https://github.com/coturn/coturn Coturn] ist ein STUN- und TURN-Server, der die Steuerung von VoIP-, Video- und Audio-Verbindungen unterstützt.&lt;br /&gt;
&lt;br /&gt;
== Spezielle Installation bei Hostsharing ==&lt;br /&gt;
&lt;br /&gt;
In jedem dynamischen [https://www.hostsharing.net/features/coturn/ Webhosting-Paket der Hostsharing eG] kann ein Coturn-Server betrieben werden.&lt;br /&gt;
&lt;br /&gt;
Dazu muss für jede Coturn-Instanz die Option &amp;quot;Betrieb eines eigenen Serverdienstes&amp;quot; gebucht werden. Im Bereich des Shared Hosting ist die Option kostenpflichtig. &lt;br /&gt;
&lt;br /&gt;
Diese Anleitung dokumentiert die Installation des Coturn-Servers als Service-User in einem WEB-Paket bei Hostsharing.  Mit der Einrichtung der Option &amp;quot;eigener Serverdienst&amp;quot; werden für die Paket-IP-Adresse einer oder mehrere IP-Ports reserviert. An diese Ports wird der eigene Serverdienst (also der Coturn-Server) auf der paketeigenen IP-Adresse gebunden.&lt;br /&gt;
&lt;br /&gt;
Geben Sie bei der Bestellung der Option &amp;quot;Eigener Serverdienst&amp;quot; an:&lt;br /&gt;
&lt;br /&gt;
# den Service User, mit dessen Rechten der Coturn-Dienst laufen soll (also zum Beispiel &amp;quot;xyz00-coturn&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
== Installation == &lt;br /&gt;
&lt;br /&gt;
Coturn ist bereits vorinstalliert. Die STUN-Funktion wenigstens zwei IP-Adressen benötigt, darf als zweite IP-Adresse in diesem Szenario IP-Adresse des Hives bzw. der VM verwendet werden.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
listening-ip=&amp;lt;IP-Adresse-des-Pakets&amp;gt;&lt;br /&gt;
listening-ip=&amp;lt;IP-Adresse-des-Hives/der-VM&amp;gt;&lt;br /&gt;
relay-ip=&amp;lt;IP-Adresse-des-Pakets&amp;gt;&lt;br /&gt;
listening-port=&amp;lt;zugewiesener-Port&amp;gt;&lt;br /&gt;
fingerprint&lt;br /&gt;
lt-cred-mech&lt;br /&gt;
use-auth-secret&lt;br /&gt;
static-auth-secret=&amp;lt;shared-secret&amp;gt;&lt;br /&gt;
realm=&amp;lt;xyz00.hostsharing.net&amp;gt;&lt;br /&gt;
total-quota=100&lt;br /&gt;
bps-capacity=0&lt;br /&gt;
stale-nonce&lt;br /&gt;
no-loopback-peers&lt;br /&gt;
no-multicast-peers&lt;br /&gt;
log-file=&amp;lt;pfad&amp;gt;/turnserver.log&lt;br /&gt;
pidfile=&amp;lt;pfad&amp;gt;/turnserver.pid&lt;br /&gt;
userdb=&amp;lt;pfad&amp;gt;/turnserver.db&lt;br /&gt;
no-tls&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Start mit turnserver -c &amp;lt;pfad&amp;gt;/turnserver.conf&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
[[Kategorie:HSDoku]]&lt;br /&gt;
[[Kategorie:Installationsanleitungen]]&lt;br /&gt;
[[Kategorie:Software]]&lt;br /&gt;
[[Kategorie:Eigene Daemons]]&lt;/div&gt;</summary>
		<author><name>Has00</name></author>
	</entry>
	<entry>
		<id>https://wiki.hostsharing.net/index.php?title=Gitea&amp;diff=4784</id>
		<title>Gitea</title>
		<link rel="alternate" type="text/html" href="https://wiki.hostsharing.net/index.php?title=Gitea&amp;diff=4784"/>
		<updated>2019-01-30T13:42:50Z</updated>

		<summary type="html">&lt;p&gt;Has00: /* Start- und Stopp-Skripte einrichten */ Code-Auszeichnung&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
== Gitea installieren ==&lt;br /&gt;
&lt;br /&gt;
[https://gitea.io/en-us/ Gitea] ist ein einfacher, selbst gehosteter Git-Service wie GitHub oder GitLab. Die Software ist ein Fork von Gogs und ebenfalls in der Programmiersprache Go geschrieben. Gitea benötigt wenig Ressourcen. Um Gitea auf der Hostsharing Plattform nutzen zu können, benötigt man entweder einen Managed Server oder man muss für seinen Managed Webspace einen Daemon hinzubuchen.&lt;br /&gt;
&lt;br /&gt;
Gitea unterstützt verschiedene Datenbanken. Wir gehen in dieser Anleitung davon aus, dass PostgreSQL benutzt wird.&lt;br /&gt;
&lt;br /&gt;
=== Vorbereitung der Installation ===&lt;br /&gt;
&lt;br /&gt;
Um Gitea auf der Managed Operation Platform von Hostsharing zu installieren, ist folgende Vorbereitung erforderlich.&lt;br /&gt;
&lt;br /&gt;
1. Anlegen eines Domain-Benutzers. In unserem Beispiel &amp;lt;code&amp;gt;xyz00-gitea&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
2. Anlegen einer Domain. In unserem Beispiel &amp;lt;code&amp;gt;gitea.hs-example.de&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
3. Anlegen eines Datenbank-Benutzers. Hier &amp;lt;code&amp;gt;xyz00_giteadbuser&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
4. Anlegen einer Datenbank. Hier &amp;lt;code&amp;gt;xyz00_giteadb&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Auf der Kommandozeile kann man dies folgendermaßen erledigen.&lt;br /&gt;
&lt;br /&gt;
Man loggt sich als Paketbenutzer ein und startet die Kommandozeilenversion von HSAdmin mit dem Befehl &amp;lt;code&amp;gt;hsscript&amp;lt;/code&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
  hsscript -u xyz00 -i&lt;br /&gt;
  Password: ********&lt;br /&gt;
&lt;br /&gt;
Anschließend kann man die Vorbereitungsschritte 1 bis 4 erledigen:&lt;br /&gt;
&lt;br /&gt;
  xyz00@hsadmin&amp;gt; user.add({set:{name:&#039;xyz00-gitea&#039;,password:&#039;geheim&#039;,shell:&#039;/bin/bash&#039;}})&lt;br /&gt;
  xyz00@hsadmin&amp;gt; domain.add({set:{name:&#039;gitea.hs-example.de&#039;,user:&#039;xyz00-gitea&#039;}})&lt;br /&gt;
  xyz00@hsadmin&amp;gt; postgresqluser.add({set:{name:&#039;xyz00_giteadbuser&#039;,password:&#039;geheim&#039;}})&lt;br /&gt;
  xyz00@hsadmin&amp;gt; postgresqldb.add({set:{name:&#039;xyz00_giteadb&#039;,owner:&#039;xyz00_giteadbuser&#039;}})&lt;br /&gt;
&lt;br /&gt;
=== Installation von Gitea ===&lt;br /&gt;
&lt;br /&gt;
Gitea wird als Binary zur Verfügung gestellt.&lt;br /&gt;
Wir installieren das Binary im Verzeichnis des Domain-Benutzers.&lt;br /&gt;
Wenn wir als Paketbenutzer eingeloggt sind, können wir den Benutzer folgendermaßen wechseln:&lt;br /&gt;
&lt;br /&gt;
  sudo -u xyz00-gitea -i&lt;br /&gt;
  &lt;br /&gt;
Nun laden wir das passende Binary herunter.&lt;br /&gt;
Auf der Website https://dl.gitea.io/gitea/ finden Sie das jeweils aktuelle Binary (hier die 64-Bit-Version, &lt;br /&gt;
für die shared Server h01 bis h08 bitte die 32-Bit-Version gitea-1.7.0-linux-i386 herunterladen).&lt;br /&gt;
&lt;br /&gt;
  wget -O gitea https://dl.gitea.io/gitea/1.7.0/gitea-1.7.0-linux-amd64&lt;br /&gt;
  chmod +x gitea&lt;br /&gt;
&lt;br /&gt;
Wir laden die GPG-Signatur herunter und überprüfen sie:&lt;br /&gt;
&lt;br /&gt;
  wget https://dl.gitea.io/gitea/1.7.0/gitea-1.7.0-linux-amd64.asc&lt;br /&gt;
  gpg --keyserver pgp.mit.edu --recv 7C9E68152594688862D62AF62D9AE806EC1592E2&lt;br /&gt;
  gpg --verify gitea-1.7.0-linux-amd64.asc gitea-1.7.0-linux-amd64&lt;br /&gt;
&lt;br /&gt;
Nun können wir Gitea testweise starten:&lt;br /&gt;
&lt;br /&gt;
  ./gitea web&lt;br /&gt;
  &lt;br /&gt;
&lt;br /&gt;
Der Webserver von Gitea startet auf dem Port 3000. Das werden wir später ändern.&lt;br /&gt;
&lt;br /&gt;
Der Server kann mit Ctrl-C beendet werden.&lt;br /&gt;
&lt;br /&gt;
=== Konfiguration der Domain ===&lt;br /&gt;
&lt;br /&gt;
Zunächst wechseln wir in das Verzeichnis &amp;lt;code&amp;gt;doms/gitea.hs-example.de&amp;lt;/code&amp;gt; und löschen den Ordner für die Subdomain &#039;www&#039;:&lt;br /&gt;
&lt;br /&gt;
  rm -rf subs/www&lt;br /&gt;
  rm -rf subs-ssl/www&lt;br /&gt;
  &lt;br /&gt;
Anschließend tragen wir die Umleitung auf HTTPS ein, falls dies nicht schon geschehen ist.&lt;br /&gt;
&lt;br /&gt;
  vi htdocs/.htaccess&lt;br /&gt;
  &lt;br /&gt;
Der Eintrag muss lauten:&lt;br /&gt;
&lt;br /&gt;
  Redirect permanent / https://gitea.hs-example.com/&lt;br /&gt;
  &lt;br /&gt;
Dann legen wir die Datei &amp;lt;code&amp;gt;htdocs-ssl/.htaccess&amp;lt;/code&amp;gt; mit folgendem Inhalt an:&lt;br /&gt;
&lt;br /&gt;
  RewriteEngine on&lt;br /&gt;
  RewriteBase /&lt;br /&gt;
  RewriteRule ^(.*) http://localhost:31580/$1 [proxy,last]&lt;br /&gt;
  &lt;br /&gt;
Merken Sie sich die Portnummer 31580.&lt;br /&gt;
Sie wird später bei der Konfiguration von Gitea gebraucht.&lt;br /&gt;
Die Portnummer bekommen Sie vom Hostmaster, wenn Sie für Ihren Webspace einen Serverdienst (Daemon) buchen.&lt;br /&gt;
Wenn Sie einen Managed Server haben, können Sie selbst die Portnummer auswählen.&lt;br /&gt;
&lt;br /&gt;
Damit ist die Konfiguration von Apache abgeschlossen.&lt;br /&gt;
&lt;br /&gt;
=== Konfiguration von Gitea ===&lt;br /&gt;
&lt;br /&gt;
Wir editieren nun die Konfigurationsdatei von Gitea &amp;lt;code&amp;gt;app.ini&amp;lt;/code&amp;gt;.&lt;br /&gt;
Sie befindet sich in dem Verzeichnis &amp;lt;code&amp;gt;~/custom/conf&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;ACHTUNG&#039;&#039;&#039;: Sie können die Konfiguration teilweise auch über das Webinterface durchführen. Starten Sie dazu Gitea, wie oben beschrieben, und versuchen Sie einen Benutzer zu registrieren. Daraufhin öffnet sich der Konfigurationsdialog. Sie müssen den Gitea-Benutzer, den Namen der Datenbank, den Datenbank-Benutzer und sein Passwort parat haben.&lt;br /&gt;
&lt;br /&gt;
Die Konfigurationsdatei beginnt mit allgemeinen Einträgen:&lt;br /&gt;
&lt;br /&gt;
  APP_NAME = Gitea: Git with a cup of tea&lt;br /&gt;
  RUN_USER = xyz00-gitea&lt;br /&gt;
  RUN_MODE = prod&lt;br /&gt;
  &lt;br /&gt;
Im Abschnitt [database] folgen die Angaben zur Datenbank:&lt;br /&gt;
&lt;br /&gt;
  [database]&lt;br /&gt;
  DB_TYPE  = postgres&lt;br /&gt;
  HOST     = 127.0.0.1:5432&lt;br /&gt;
  NAME     = xyz00_giteadb&lt;br /&gt;
  USER     = xyz00_giteadbuser&lt;br /&gt;
  PASSWD   = geheim&lt;br /&gt;
  SSL_MODE = disable&lt;br /&gt;
  PATH     = data/gitea.db&lt;br /&gt;
&lt;br /&gt;
Es folgt der Pfad zu den Git-Repositorys und die Server-Konfiguration:&lt;br /&gt;
&lt;br /&gt;
  [repository]&lt;br /&gt;
  ROOT = /home/pacs/xyz00/users/gitea/gitea-repositories&lt;br /&gt;
  &lt;br /&gt;
  [server]&lt;br /&gt;
  PROTOCOL         = http&lt;br /&gt;
  SSH_DOMAIN       = gitea.hs-example.de &lt;br /&gt;
  DOMAIN           = gitea.hs-example.de&lt;br /&gt;
  HTTP_ADDR        = localhost&lt;br /&gt;
  HTTP_PORT        = 31580&lt;br /&gt;
  ROOT_URL         = https://gitea.hs-example.de/&lt;br /&gt;
  DISABLE_SSH      = false&lt;br /&gt;
  SSH_PORT         = 22&lt;br /&gt;
  LFS_START_SERVER = true&lt;br /&gt;
  &lt;br /&gt;
Sie können nun Gitea starten:&lt;br /&gt;
&lt;br /&gt;
  ./gitea web&lt;br /&gt;
  &lt;br /&gt;
Der Git-Service ist dann im Browser unter der Adresse gitea.hs-example.de erreichbar.&lt;br /&gt;
&lt;br /&gt;
=== Start- und Stopp-Skripte einrichten ===&lt;br /&gt;
&lt;br /&gt;
Zum Schluss müssen Sie noch Start- und Stoppskripte einrichten und Monit konfigurieren.&lt;br /&gt;
&lt;br /&gt;
Das Startskript speichern Sie unter dem Pfad &amp;lt;code&amp;gt;~/bin/gitea-start.sh&amp;lt;/code&amp;gt; ab.&lt;br /&gt;
Es hat folgenden Inhalt:&lt;br /&gt;
&lt;br /&gt;
  #!/bin/bash&lt;br /&gt;
  export HOME=/home/pacs/xyz00/users/gitea&lt;br /&gt;
  export PATH=$HOME/bin:/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games&lt;br /&gt;
  export PID=$HOME/.gitea.pid&lt;br /&gt;
  cd $HOME&lt;br /&gt;
  exec $HOME/gitea web &amp;gt;$HOME/custom/logs/gitea.log 2&amp;gt;&amp;amp;1 &amp;amp;&lt;br /&gt;
  echo $! &amp;gt; $PID&lt;br /&gt;
&lt;br /&gt;
Das Stoppskript speichern Sie unter dem Pfad &amp;lt;code&amp;gt;~/bin/gitea-stopp.sh&amp;lt;/code&amp;gt; an.&lt;br /&gt;
Es hat folgenden Inhalt:&lt;br /&gt;
&lt;br /&gt;
  #!/bin/bash&lt;br /&gt;
  export HOME=/home/pacs/xyz00/users/gitea&lt;br /&gt;
  export PATH=$HOME/bin:/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games&lt;br /&gt;
  export PID=$HOME/.gitea.pid&lt;br /&gt;
  cd $HOME&lt;br /&gt;
  &lt;br /&gt;
  if [ -f $PID ] ; then &lt;br /&gt;
      kill $( cat $PID );&lt;br /&gt;
      sleep 20 ;&lt;br /&gt;
      kill -9 $( cat $PID ) &amp;gt;/dev/null 2&amp;gt;&amp;amp;1 ;&lt;br /&gt;
      rm $PID ;&lt;br /&gt;
  fi&lt;br /&gt;
&lt;br /&gt;
Monit ist ein Programm zur Überwachung eines Servers oder eines Dienstes.&lt;br /&gt;
Das Programm erwartet im Verzeichnis des Domain-Benutzers die Datei &amp;lt;code&amp;gt;~/.monitrc&amp;lt;/code&amp;gt; mit der entsprechenden Konfiguration.&lt;br /&gt;
Legen Sie die Datei mit folgendem Inhalt an:&lt;br /&gt;
&lt;br /&gt;
  set daemon 600&lt;br /&gt;
  set logfile /home/pacs/xyz00/users/gitea/custom/logs/monit.log&lt;br /&gt;
  set mailserver localhost&lt;br /&gt;
  set alert webmaster@gitea.hs-example.de&lt;br /&gt;
&lt;br /&gt;
  check process gitead with pidfile /home/pacs/xyz00/users/gitea/.gitea.pid&lt;br /&gt;
      start program &amp;quot;/home/pacs/xyz00/users/gitea/bin/gitea-start.sh&amp;quot;&lt;br /&gt;
      stop program &amp;quot;/home/pacs/xyz00/users/gitea/bin/gitea-stop.sh&amp;quot;&lt;br /&gt;
      &lt;br /&gt;
Nun können Sie noch die Rotation der Logfiles konfigurieren.&lt;br /&gt;
Dies geschieht in der Datei &amp;lt;code&amp;gt;~/.logrotate&amp;lt;/code&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
  /home/pacs/xyz00/users/gitea/custom/logs/gitea.log {&lt;br /&gt;
    copytruncate&lt;br /&gt;
    daily&lt;br /&gt;
    rotate 7&lt;br /&gt;
    compress&lt;br /&gt;
    missingok&lt;br /&gt;
  }&lt;br /&gt;
  /home/pacs/xyz00/users/gitea/custom/logs/monit.log {&lt;br /&gt;
    copytruncate&lt;br /&gt;
    monthly&lt;br /&gt;
    rotate 2&lt;br /&gt;
    compress&lt;br /&gt;
    missingok&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
Damit die Konfiguration für logrotate und monit auch nach einem Server-Neustart eingelesen werden, müssen Sie folgenden Eintrag in der crontab der Domain-Benutzers machen:&lt;br /&gt;
&lt;br /&gt;
  # m h  dom mon dow   command&lt;br /&gt;
  HOME=/home/pacs/xyz00/users/gitea&lt;br /&gt;
  PATH=$HOME/bin:/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games&lt;br /&gt;
  PID=$HOME/.gitea.pid&lt;br /&gt;
  @reboot /usr/bin/monit -c $HOME/.monitrc &amp;gt; /dev/null&lt;br /&gt;
  51 1 * * * /usr/sbin/logrotate -s $HOME/.logrotate.state $HOME/.logrotate&lt;br /&gt;
 &lt;br /&gt;
Wichtig ist der @reboot-Eintrag, der automatisch nach einem Neustart des Hosts ausgeführt wird.&lt;br /&gt;
Die Uhrzeit für die Logrotation können Sie beliebig einstellen.&lt;br /&gt;
&lt;br /&gt;
Abschließend können Sie Ihre Gitea-Instanz starten:&lt;br /&gt;
&lt;br /&gt;
  ~/bin/gitea-start.sh&lt;/div&gt;</summary>
		<author><name>Has00</name></author>
	</entry>
	<entry>
		<id>https://wiki.hostsharing.net/index.php?title=Gitea&amp;diff=4783</id>
		<title>Gitea</title>
		<link rel="alternate" type="text/html" href="https://wiki.hostsharing.net/index.php?title=Gitea&amp;diff=4783"/>
		<updated>2019-01-30T13:40:17Z</updated>

		<summary type="html">&lt;p&gt;Has00: /* Konfiguration von Gitea */ Code-Auszeichnung&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
== Gitea installieren ==&lt;br /&gt;
&lt;br /&gt;
[https://gitea.io/en-us/ Gitea] ist ein einfacher, selbst gehosteter Git-Service wie GitHub oder GitLab. Die Software ist ein Fork von Gogs und ebenfalls in der Programmiersprache Go geschrieben. Gitea benötigt wenig Ressourcen. Um Gitea auf der Hostsharing Plattform nutzen zu können, benötigt man entweder einen Managed Server oder man muss für seinen Managed Webspace einen Daemon hinzubuchen.&lt;br /&gt;
&lt;br /&gt;
Gitea unterstützt verschiedene Datenbanken. Wir gehen in dieser Anleitung davon aus, dass PostgreSQL benutzt wird.&lt;br /&gt;
&lt;br /&gt;
=== Vorbereitung der Installation ===&lt;br /&gt;
&lt;br /&gt;
Um Gitea auf der Managed Operation Platform von Hostsharing zu installieren, ist folgende Vorbereitung erforderlich.&lt;br /&gt;
&lt;br /&gt;
1. Anlegen eines Domain-Benutzers. In unserem Beispiel &amp;lt;code&amp;gt;xyz00-gitea&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
2. Anlegen einer Domain. In unserem Beispiel &amp;lt;code&amp;gt;gitea.hs-example.de&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
3. Anlegen eines Datenbank-Benutzers. Hier &amp;lt;code&amp;gt;xyz00_giteadbuser&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
4. Anlegen einer Datenbank. Hier &amp;lt;code&amp;gt;xyz00_giteadb&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Auf der Kommandozeile kann man dies folgendermaßen erledigen.&lt;br /&gt;
&lt;br /&gt;
Man loggt sich als Paketbenutzer ein und startet die Kommandozeilenversion von HSAdmin mit dem Befehl &amp;lt;code&amp;gt;hsscript&amp;lt;/code&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
  hsscript -u xyz00 -i&lt;br /&gt;
  Password: ********&lt;br /&gt;
&lt;br /&gt;
Anschließend kann man die Vorbereitungsschritte 1 bis 4 erledigen:&lt;br /&gt;
&lt;br /&gt;
  xyz00@hsadmin&amp;gt; user.add({set:{name:&#039;xyz00-gitea&#039;,password:&#039;geheim&#039;,shell:&#039;/bin/bash&#039;}})&lt;br /&gt;
  xyz00@hsadmin&amp;gt; domain.add({set:{name:&#039;gitea.hs-example.de&#039;,user:&#039;xyz00-gitea&#039;}})&lt;br /&gt;
  xyz00@hsadmin&amp;gt; postgresqluser.add({set:{name:&#039;xyz00_giteadbuser&#039;,password:&#039;geheim&#039;}})&lt;br /&gt;
  xyz00@hsadmin&amp;gt; postgresqldb.add({set:{name:&#039;xyz00_giteadb&#039;,owner:&#039;xyz00_giteadbuser&#039;}})&lt;br /&gt;
&lt;br /&gt;
=== Installation von Gitea ===&lt;br /&gt;
&lt;br /&gt;
Gitea wird als Binary zur Verfügung gestellt.&lt;br /&gt;
Wir installieren das Binary im Verzeichnis des Domain-Benutzers.&lt;br /&gt;
Wenn wir als Paketbenutzer eingeloggt sind, können wir den Benutzer folgendermaßen wechseln:&lt;br /&gt;
&lt;br /&gt;
  sudo -u xyz00-gitea -i&lt;br /&gt;
  &lt;br /&gt;
Nun laden wir das passende Binary herunter.&lt;br /&gt;
Auf der Website https://dl.gitea.io/gitea/ finden Sie das jeweils aktuelle Binary (hier die 64-Bit-Version, &lt;br /&gt;
für die shared Server h01 bis h08 bitte die 32-Bit-Version gitea-1.7.0-linux-i386 herunterladen).&lt;br /&gt;
&lt;br /&gt;
  wget -O gitea https://dl.gitea.io/gitea/1.7.0/gitea-1.7.0-linux-amd64&lt;br /&gt;
  chmod +x gitea&lt;br /&gt;
&lt;br /&gt;
Wir laden die GPG-Signatur herunter und überprüfen sie:&lt;br /&gt;
&lt;br /&gt;
  wget https://dl.gitea.io/gitea/1.7.0/gitea-1.7.0-linux-amd64.asc&lt;br /&gt;
  gpg --keyserver pgp.mit.edu --recv 7C9E68152594688862D62AF62D9AE806EC1592E2&lt;br /&gt;
  gpg --verify gitea-1.7.0-linux-amd64.asc gitea-1.7.0-linux-amd64&lt;br /&gt;
&lt;br /&gt;
Nun können wir Gitea testweise starten:&lt;br /&gt;
&lt;br /&gt;
  ./gitea web&lt;br /&gt;
  &lt;br /&gt;
&lt;br /&gt;
Der Webserver von Gitea startet auf dem Port 3000. Das werden wir später ändern.&lt;br /&gt;
&lt;br /&gt;
Der Server kann mit Ctrl-C beendet werden.&lt;br /&gt;
&lt;br /&gt;
=== Konfiguration der Domain ===&lt;br /&gt;
&lt;br /&gt;
Zunächst wechseln wir in das Verzeichnis &amp;lt;code&amp;gt;doms/gitea.hs-example.de&amp;lt;/code&amp;gt; und löschen den Ordner für die Subdomain &#039;www&#039;:&lt;br /&gt;
&lt;br /&gt;
  rm -rf subs/www&lt;br /&gt;
  rm -rf subs-ssl/www&lt;br /&gt;
  &lt;br /&gt;
Anschließend tragen wir die Umleitung auf HTTPS ein, falls dies nicht schon geschehen ist.&lt;br /&gt;
&lt;br /&gt;
  vi htdocs/.htaccess&lt;br /&gt;
  &lt;br /&gt;
Der Eintrag muss lauten:&lt;br /&gt;
&lt;br /&gt;
  Redirect permanent / https://gitea.hs-example.com/&lt;br /&gt;
  &lt;br /&gt;
Dann legen wir die Datei &amp;lt;code&amp;gt;htdocs-ssl/.htaccess&amp;lt;/code&amp;gt; mit folgendem Inhalt an:&lt;br /&gt;
&lt;br /&gt;
  RewriteEngine on&lt;br /&gt;
  RewriteBase /&lt;br /&gt;
  RewriteRule ^(.*) http://localhost:31580/$1 [proxy,last]&lt;br /&gt;
  &lt;br /&gt;
Merken Sie sich die Portnummer 31580.&lt;br /&gt;
Sie wird später bei der Konfiguration von Gitea gebraucht.&lt;br /&gt;
Die Portnummer bekommen Sie vom Hostmaster, wenn Sie für Ihren Webspace einen Serverdienst (Daemon) buchen.&lt;br /&gt;
Wenn Sie einen Managed Server haben, können Sie selbst die Portnummer auswählen.&lt;br /&gt;
&lt;br /&gt;
Damit ist die Konfiguration von Apache abgeschlossen.&lt;br /&gt;
&lt;br /&gt;
=== Konfiguration von Gitea ===&lt;br /&gt;
&lt;br /&gt;
Wir editieren nun die Konfigurationsdatei von Gitea &amp;lt;code&amp;gt;app.ini&amp;lt;/code&amp;gt;.&lt;br /&gt;
Sie befindet sich in dem Verzeichnis &amp;lt;code&amp;gt;~/custom/conf&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;ACHTUNG&#039;&#039;&#039;: Sie können die Konfiguration teilweise auch über das Webinterface durchführen. Starten Sie dazu Gitea, wie oben beschrieben, und versuchen Sie einen Benutzer zu registrieren. Daraufhin öffnet sich der Konfigurationsdialog. Sie müssen den Gitea-Benutzer, den Namen der Datenbank, den Datenbank-Benutzer und sein Passwort parat haben.&lt;br /&gt;
&lt;br /&gt;
Die Konfigurationsdatei beginnt mit allgemeinen Einträgen:&lt;br /&gt;
&lt;br /&gt;
  APP_NAME = Gitea: Git with a cup of tea&lt;br /&gt;
  RUN_USER = xyz00-gitea&lt;br /&gt;
  RUN_MODE = prod&lt;br /&gt;
  &lt;br /&gt;
Im Abschnitt [database] folgen die Angaben zur Datenbank:&lt;br /&gt;
&lt;br /&gt;
  [database]&lt;br /&gt;
  DB_TYPE  = postgres&lt;br /&gt;
  HOST     = 127.0.0.1:5432&lt;br /&gt;
  NAME     = xyz00_giteadb&lt;br /&gt;
  USER     = xyz00_giteadbuser&lt;br /&gt;
  PASSWD   = geheim&lt;br /&gt;
  SSL_MODE = disable&lt;br /&gt;
  PATH     = data/gitea.db&lt;br /&gt;
&lt;br /&gt;
Es folgt der Pfad zu den Git-Repositorys und die Server-Konfiguration:&lt;br /&gt;
&lt;br /&gt;
  [repository]&lt;br /&gt;
  ROOT = /home/pacs/xyz00/users/gitea/gitea-repositories&lt;br /&gt;
  &lt;br /&gt;
  [server]&lt;br /&gt;
  PROTOCOL         = http&lt;br /&gt;
  SSH_DOMAIN       = gitea.hs-example.de &lt;br /&gt;
  DOMAIN           = gitea.hs-example.de&lt;br /&gt;
  HTTP_ADDR        = localhost&lt;br /&gt;
  HTTP_PORT        = 31580&lt;br /&gt;
  ROOT_URL         = https://gitea.hs-example.de/&lt;br /&gt;
  DISABLE_SSH      = false&lt;br /&gt;
  SSH_PORT         = 22&lt;br /&gt;
  LFS_START_SERVER = true&lt;br /&gt;
  &lt;br /&gt;
Sie können nun Gitea starten:&lt;br /&gt;
&lt;br /&gt;
  ./gitea web&lt;br /&gt;
  &lt;br /&gt;
Der Git-Service ist dann im Browser unter der Adresse gitea.hs-example.de erreichbar.&lt;br /&gt;
&lt;br /&gt;
=== Start- und Stopp-Skripte einrichten ===&lt;br /&gt;
&lt;br /&gt;
Zum Schluss müssen Sie noch Start- und Stoppskripte einrichten und Monit konfigurieren.&lt;br /&gt;
&lt;br /&gt;
Das Startskript speichern Sie unter dem Pfad ~/bin/gitea-start.sh ab.&lt;br /&gt;
Es hat folgenden Inhalt:&lt;br /&gt;
&lt;br /&gt;
  #!/bin/bash&lt;br /&gt;
  export HOME=/home/pacs/xyz00/users/gitea&lt;br /&gt;
  export PATH=$HOME/bin:/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games&lt;br /&gt;
  export PID=$HOME/.gitea.pid&lt;br /&gt;
  cd $HOME&lt;br /&gt;
  exec $HOME/gitea web &amp;gt;$HOME/custom/logs/gitea.log 2&amp;gt;&amp;amp;1 &amp;amp;&lt;br /&gt;
  echo $! &amp;gt; $PID&lt;br /&gt;
&lt;br /&gt;
Das Stoppskript speichern Sie unter dem Pfad ~/bin/gitea-stopp.sh an.&lt;br /&gt;
Es hat folgenden Inhalt:&lt;br /&gt;
&lt;br /&gt;
  #!/bin/bash&lt;br /&gt;
  export HOME=/home/pacs/xyz00/users/gitea&lt;br /&gt;
  export PATH=$HOME/bin:/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games&lt;br /&gt;
  export PID=$HOME/.gitea.pid&lt;br /&gt;
  cd $HOME&lt;br /&gt;
  &lt;br /&gt;
  if [ -f $PID ] ; then &lt;br /&gt;
      kill $( cat $PID );&lt;br /&gt;
      sleep 20 ;&lt;br /&gt;
      kill -9 $( cat $PID ) &amp;gt;/dev/null 2&amp;gt;&amp;amp;1 ;&lt;br /&gt;
      rm $PID ;&lt;br /&gt;
  fi&lt;br /&gt;
&lt;br /&gt;
Monit ist ein Programm zur Überwachung eines Servers oder eines Dienstes.&lt;br /&gt;
Das Programm erwartet im Verzeichnis des Domain-Benutzers die Datei &#039;~/.monitrc&#039; mit der entsprechenden Konfiguration.&lt;br /&gt;
Legen Sie die Datei mit folgendem Inhalt an:&lt;br /&gt;
&lt;br /&gt;
  set daemon 600&lt;br /&gt;
  set logfile /home/pacs/xyz00/users/gitea/custom/logs/monit.log&lt;br /&gt;
  set mailserver localhost&lt;br /&gt;
  set alert webmaster@gitea.hs-example.de&lt;br /&gt;
&lt;br /&gt;
  check process gitead with pidfile /home/pacs/xyz00/users/gitea/.gitea.pid&lt;br /&gt;
      start program &amp;quot;/home/pacs/xyz00/users/gitea/bin/gitea-start.sh&amp;quot;&lt;br /&gt;
      stop program &amp;quot;/home/pacs/xyz00/users/gitea/bin/gitea-stop.sh&amp;quot;&lt;br /&gt;
      &lt;br /&gt;
Nun können Sie noch die Rotation der Logfiles konfigurieren.&lt;br /&gt;
Dies geschieht in der Datei &#039;~/.logrotate&#039;:&lt;br /&gt;
&lt;br /&gt;
  /home/pacs/xyz00/users/gitea/custom/logs/gitea.log {&lt;br /&gt;
    copytruncate&lt;br /&gt;
    daily&lt;br /&gt;
    rotate 7&lt;br /&gt;
    compress&lt;br /&gt;
    missingok&lt;br /&gt;
  }&lt;br /&gt;
  /home/pacs/xyz00/users/gitea/custom/logs/monit.log {&lt;br /&gt;
    copytruncate&lt;br /&gt;
    monthly&lt;br /&gt;
    rotate 2&lt;br /&gt;
    compress&lt;br /&gt;
    missingok&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
Damit die Konfiguration für logrotate und monit auch nach einem Server-Neustart eingelesen werden, müssen Sie folgenden Eintrag in der crontab der Domain-Benutzers machen:&lt;br /&gt;
&lt;br /&gt;
  # m h  dom mon dow   command&lt;br /&gt;
  HOME=/home/pacs/xyz00/users/gitea&lt;br /&gt;
  PATH=$HOME/bin:/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games&lt;br /&gt;
  PID=$HOME/.gitea.pid&lt;br /&gt;
  @reboot /usr/bin/monit -c $HOME/.monitrc &amp;gt; /dev/null&lt;br /&gt;
  51 1 * * * /usr/sbin/logrotate -s $HOME/.logrotate.state $HOME/.logrotate&lt;br /&gt;
 &lt;br /&gt;
Wichtig ist der @reboot-Eintrag, der automatisch nach einem Neustart des Hosts ausgeführt wird.&lt;br /&gt;
Die Uhrzeit für die Logrotation können Sie beliebig einstellen.&lt;br /&gt;
&lt;br /&gt;
Abschließend können Sie Ihre Gitea-Instanz starten:&lt;br /&gt;
&lt;br /&gt;
  ~/bin/gitea-start.sh&lt;/div&gt;</summary>
		<author><name>Has00</name></author>
	</entry>
	<entry>
		<id>https://wiki.hostsharing.net/index.php?title=Gitea&amp;diff=4782</id>
		<title>Gitea</title>
		<link rel="alternate" type="text/html" href="https://wiki.hostsharing.net/index.php?title=Gitea&amp;diff=4782"/>
		<updated>2019-01-30T13:39:16Z</updated>

		<summary type="html">&lt;p&gt;Has00: /* Konfiguration der Domain */ Code-Auszeichnung&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
== Gitea installieren ==&lt;br /&gt;
&lt;br /&gt;
[https://gitea.io/en-us/ Gitea] ist ein einfacher, selbst gehosteter Git-Service wie GitHub oder GitLab. Die Software ist ein Fork von Gogs und ebenfalls in der Programmiersprache Go geschrieben. Gitea benötigt wenig Ressourcen. Um Gitea auf der Hostsharing Plattform nutzen zu können, benötigt man entweder einen Managed Server oder man muss für seinen Managed Webspace einen Daemon hinzubuchen.&lt;br /&gt;
&lt;br /&gt;
Gitea unterstützt verschiedene Datenbanken. Wir gehen in dieser Anleitung davon aus, dass PostgreSQL benutzt wird.&lt;br /&gt;
&lt;br /&gt;
=== Vorbereitung der Installation ===&lt;br /&gt;
&lt;br /&gt;
Um Gitea auf der Managed Operation Platform von Hostsharing zu installieren, ist folgende Vorbereitung erforderlich.&lt;br /&gt;
&lt;br /&gt;
1. Anlegen eines Domain-Benutzers. In unserem Beispiel &amp;lt;code&amp;gt;xyz00-gitea&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
2. Anlegen einer Domain. In unserem Beispiel &amp;lt;code&amp;gt;gitea.hs-example.de&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
3. Anlegen eines Datenbank-Benutzers. Hier &amp;lt;code&amp;gt;xyz00_giteadbuser&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
4. Anlegen einer Datenbank. Hier &amp;lt;code&amp;gt;xyz00_giteadb&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Auf der Kommandozeile kann man dies folgendermaßen erledigen.&lt;br /&gt;
&lt;br /&gt;
Man loggt sich als Paketbenutzer ein und startet die Kommandozeilenversion von HSAdmin mit dem Befehl &amp;lt;code&amp;gt;hsscript&amp;lt;/code&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
  hsscript -u xyz00 -i&lt;br /&gt;
  Password: ********&lt;br /&gt;
&lt;br /&gt;
Anschließend kann man die Vorbereitungsschritte 1 bis 4 erledigen:&lt;br /&gt;
&lt;br /&gt;
  xyz00@hsadmin&amp;gt; user.add({set:{name:&#039;xyz00-gitea&#039;,password:&#039;geheim&#039;,shell:&#039;/bin/bash&#039;}})&lt;br /&gt;
  xyz00@hsadmin&amp;gt; domain.add({set:{name:&#039;gitea.hs-example.de&#039;,user:&#039;xyz00-gitea&#039;}})&lt;br /&gt;
  xyz00@hsadmin&amp;gt; postgresqluser.add({set:{name:&#039;xyz00_giteadbuser&#039;,password:&#039;geheim&#039;}})&lt;br /&gt;
  xyz00@hsadmin&amp;gt; postgresqldb.add({set:{name:&#039;xyz00_giteadb&#039;,owner:&#039;xyz00_giteadbuser&#039;}})&lt;br /&gt;
&lt;br /&gt;
=== Installation von Gitea ===&lt;br /&gt;
&lt;br /&gt;
Gitea wird als Binary zur Verfügung gestellt.&lt;br /&gt;
Wir installieren das Binary im Verzeichnis des Domain-Benutzers.&lt;br /&gt;
Wenn wir als Paketbenutzer eingeloggt sind, können wir den Benutzer folgendermaßen wechseln:&lt;br /&gt;
&lt;br /&gt;
  sudo -u xyz00-gitea -i&lt;br /&gt;
  &lt;br /&gt;
Nun laden wir das passende Binary herunter.&lt;br /&gt;
Auf der Website https://dl.gitea.io/gitea/ finden Sie das jeweils aktuelle Binary (hier die 64-Bit-Version, &lt;br /&gt;
für die shared Server h01 bis h08 bitte die 32-Bit-Version gitea-1.7.0-linux-i386 herunterladen).&lt;br /&gt;
&lt;br /&gt;
  wget -O gitea https://dl.gitea.io/gitea/1.7.0/gitea-1.7.0-linux-amd64&lt;br /&gt;
  chmod +x gitea&lt;br /&gt;
&lt;br /&gt;
Wir laden die GPG-Signatur herunter und überprüfen sie:&lt;br /&gt;
&lt;br /&gt;
  wget https://dl.gitea.io/gitea/1.7.0/gitea-1.7.0-linux-amd64.asc&lt;br /&gt;
  gpg --keyserver pgp.mit.edu --recv 7C9E68152594688862D62AF62D9AE806EC1592E2&lt;br /&gt;
  gpg --verify gitea-1.7.0-linux-amd64.asc gitea-1.7.0-linux-amd64&lt;br /&gt;
&lt;br /&gt;
Nun können wir Gitea testweise starten:&lt;br /&gt;
&lt;br /&gt;
  ./gitea web&lt;br /&gt;
  &lt;br /&gt;
&lt;br /&gt;
Der Webserver von Gitea startet auf dem Port 3000. Das werden wir später ändern.&lt;br /&gt;
&lt;br /&gt;
Der Server kann mit Ctrl-C beendet werden.&lt;br /&gt;
&lt;br /&gt;
=== Konfiguration der Domain ===&lt;br /&gt;
&lt;br /&gt;
Zunächst wechseln wir in das Verzeichnis &amp;lt;code&amp;gt;doms/gitea.hs-example.de&amp;lt;/code&amp;gt; und löschen den Ordner für die Subdomain &#039;www&#039;:&lt;br /&gt;
&lt;br /&gt;
  rm -rf subs/www&lt;br /&gt;
  rm -rf subs-ssl/www&lt;br /&gt;
  &lt;br /&gt;
Anschließend tragen wir die Umleitung auf HTTPS ein, falls dies nicht schon geschehen ist.&lt;br /&gt;
&lt;br /&gt;
  vi htdocs/.htaccess&lt;br /&gt;
  &lt;br /&gt;
Der Eintrag muss lauten:&lt;br /&gt;
&lt;br /&gt;
  Redirect permanent / https://gitea.hs-example.com/&lt;br /&gt;
  &lt;br /&gt;
Dann legen wir die Datei &amp;lt;code&amp;gt;htdocs-ssl/.htaccess&amp;lt;/code&amp;gt; mit folgendem Inhalt an:&lt;br /&gt;
&lt;br /&gt;
  RewriteEngine on&lt;br /&gt;
  RewriteBase /&lt;br /&gt;
  RewriteRule ^(.*) http://localhost:31580/$1 [proxy,last]&lt;br /&gt;
  &lt;br /&gt;
Merken Sie sich die Portnummer 31580.&lt;br /&gt;
Sie wird später bei der Konfiguration von Gitea gebraucht.&lt;br /&gt;
Die Portnummer bekommen Sie vom Hostmaster, wenn Sie für Ihren Webspace einen Serverdienst (Daemon) buchen.&lt;br /&gt;
Wenn Sie einen Managed Server haben, können Sie selbst die Portnummer auswählen.&lt;br /&gt;
&lt;br /&gt;
Damit ist die Konfiguration von Apache abgeschlossen.&lt;br /&gt;
&lt;br /&gt;
=== Konfiguration von Gitea ===&lt;br /&gt;
&lt;br /&gt;
Wir editieren nun die Konfigurationsdatei von Gitea &#039;app.ini&#039;.&lt;br /&gt;
Sie befindet sich in dem Verzeichnis &#039;~/custom/conf&#039;.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;ACHTUNG&#039;&#039;&#039;: Sie können die Konfiguration teilweise auch über das Webinterface durchführen. Starten Sie dazu Gitea, wie oben beschrieben, und versuchen Sie einen Benutzer zu registrieren. Daraufhin öffnet sich der Konfigurationsdialog. Sie müssen den Gitea-Benutzer, den Namen der Datenbank, den Datenbank-Benutzer und sein Passwort parat haben.&lt;br /&gt;
&lt;br /&gt;
Die Konfigurationsdatei beginnt mit allgemeinen Einträgen:&lt;br /&gt;
&lt;br /&gt;
  APP_NAME = Gitea: Git with a cup of tea&lt;br /&gt;
  RUN_USER = xyz00-gitea&lt;br /&gt;
  RUN_MODE = prod&lt;br /&gt;
  &lt;br /&gt;
Im Abschnitt [database] folgen die Angaben zur Datenbank:&lt;br /&gt;
&lt;br /&gt;
  [database]&lt;br /&gt;
  DB_TYPE  = postgres&lt;br /&gt;
  HOST     = 127.0.0.1:5432&lt;br /&gt;
  NAME     = xyz00_giteadb&lt;br /&gt;
  USER     = xyz00_giteadbuser&lt;br /&gt;
  PASSWD   = geheim&lt;br /&gt;
  SSL_MODE = disable&lt;br /&gt;
  PATH     = data/gitea.db&lt;br /&gt;
&lt;br /&gt;
Es folgt der Pfad zu den Git-Repositorys und die Server-Konfiguration:&lt;br /&gt;
&lt;br /&gt;
  [repository]&lt;br /&gt;
  ROOT = /home/pacs/xyz00/users/gitea/gitea-repositories&lt;br /&gt;
  &lt;br /&gt;
  [server]&lt;br /&gt;
  PROTOCOL         = http&lt;br /&gt;
  SSH_DOMAIN       = gitea.hs-example.de &lt;br /&gt;
  DOMAIN           = gitea.hs-example.de&lt;br /&gt;
  HTTP_ADDR        = localhost&lt;br /&gt;
  HTTP_PORT        = 31580&lt;br /&gt;
  ROOT_URL         = https://gitea.hs-example.de/&lt;br /&gt;
  DISABLE_SSH      = false&lt;br /&gt;
  SSH_PORT         = 22&lt;br /&gt;
  LFS_START_SERVER = true&lt;br /&gt;
  &lt;br /&gt;
Sie können nun Gitea starten:&lt;br /&gt;
&lt;br /&gt;
  ./gitea web&lt;br /&gt;
  &lt;br /&gt;
Der Git-Service ist dann im Browser unter der Adresse gitea.hs-example.de erreichbar.&lt;br /&gt;
&lt;br /&gt;
=== Start- und Stopp-Skripte einrichten ===&lt;br /&gt;
&lt;br /&gt;
Zum Schluss müssen Sie noch Start- und Stoppskripte einrichten und Monit konfigurieren.&lt;br /&gt;
&lt;br /&gt;
Das Startskript speichern Sie unter dem Pfad ~/bin/gitea-start.sh ab.&lt;br /&gt;
Es hat folgenden Inhalt:&lt;br /&gt;
&lt;br /&gt;
  #!/bin/bash&lt;br /&gt;
  export HOME=/home/pacs/xyz00/users/gitea&lt;br /&gt;
  export PATH=$HOME/bin:/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games&lt;br /&gt;
  export PID=$HOME/.gitea.pid&lt;br /&gt;
  cd $HOME&lt;br /&gt;
  exec $HOME/gitea web &amp;gt;$HOME/custom/logs/gitea.log 2&amp;gt;&amp;amp;1 &amp;amp;&lt;br /&gt;
  echo $! &amp;gt; $PID&lt;br /&gt;
&lt;br /&gt;
Das Stoppskript speichern Sie unter dem Pfad ~/bin/gitea-stopp.sh an.&lt;br /&gt;
Es hat folgenden Inhalt:&lt;br /&gt;
&lt;br /&gt;
  #!/bin/bash&lt;br /&gt;
  export HOME=/home/pacs/xyz00/users/gitea&lt;br /&gt;
  export PATH=$HOME/bin:/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games&lt;br /&gt;
  export PID=$HOME/.gitea.pid&lt;br /&gt;
  cd $HOME&lt;br /&gt;
  &lt;br /&gt;
  if [ -f $PID ] ; then &lt;br /&gt;
      kill $( cat $PID );&lt;br /&gt;
      sleep 20 ;&lt;br /&gt;
      kill -9 $( cat $PID ) &amp;gt;/dev/null 2&amp;gt;&amp;amp;1 ;&lt;br /&gt;
      rm $PID ;&lt;br /&gt;
  fi&lt;br /&gt;
&lt;br /&gt;
Monit ist ein Programm zur Überwachung eines Servers oder eines Dienstes.&lt;br /&gt;
Das Programm erwartet im Verzeichnis des Domain-Benutzers die Datei &#039;~/.monitrc&#039; mit der entsprechenden Konfiguration.&lt;br /&gt;
Legen Sie die Datei mit folgendem Inhalt an:&lt;br /&gt;
&lt;br /&gt;
  set daemon 600&lt;br /&gt;
  set logfile /home/pacs/xyz00/users/gitea/custom/logs/monit.log&lt;br /&gt;
  set mailserver localhost&lt;br /&gt;
  set alert webmaster@gitea.hs-example.de&lt;br /&gt;
&lt;br /&gt;
  check process gitead with pidfile /home/pacs/xyz00/users/gitea/.gitea.pid&lt;br /&gt;
      start program &amp;quot;/home/pacs/xyz00/users/gitea/bin/gitea-start.sh&amp;quot;&lt;br /&gt;
      stop program &amp;quot;/home/pacs/xyz00/users/gitea/bin/gitea-stop.sh&amp;quot;&lt;br /&gt;
      &lt;br /&gt;
Nun können Sie noch die Rotation der Logfiles konfigurieren.&lt;br /&gt;
Dies geschieht in der Datei &#039;~/.logrotate&#039;:&lt;br /&gt;
&lt;br /&gt;
  /home/pacs/xyz00/users/gitea/custom/logs/gitea.log {&lt;br /&gt;
    copytruncate&lt;br /&gt;
    daily&lt;br /&gt;
    rotate 7&lt;br /&gt;
    compress&lt;br /&gt;
    missingok&lt;br /&gt;
  }&lt;br /&gt;
  /home/pacs/xyz00/users/gitea/custom/logs/monit.log {&lt;br /&gt;
    copytruncate&lt;br /&gt;
    monthly&lt;br /&gt;
    rotate 2&lt;br /&gt;
    compress&lt;br /&gt;
    missingok&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
Damit die Konfiguration für logrotate und monit auch nach einem Server-Neustart eingelesen werden, müssen Sie folgenden Eintrag in der crontab der Domain-Benutzers machen:&lt;br /&gt;
&lt;br /&gt;
  # m h  dom mon dow   command&lt;br /&gt;
  HOME=/home/pacs/xyz00/users/gitea&lt;br /&gt;
  PATH=$HOME/bin:/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games&lt;br /&gt;
  PID=$HOME/.gitea.pid&lt;br /&gt;
  @reboot /usr/bin/monit -c $HOME/.monitrc &amp;gt; /dev/null&lt;br /&gt;
  51 1 * * * /usr/sbin/logrotate -s $HOME/.logrotate.state $HOME/.logrotate&lt;br /&gt;
 &lt;br /&gt;
Wichtig ist der @reboot-Eintrag, der automatisch nach einem Neustart des Hosts ausgeführt wird.&lt;br /&gt;
Die Uhrzeit für die Logrotation können Sie beliebig einstellen.&lt;br /&gt;
&lt;br /&gt;
Abschließend können Sie Ihre Gitea-Instanz starten:&lt;br /&gt;
&lt;br /&gt;
  ~/bin/gitea-start.sh&lt;/div&gt;</summary>
		<author><name>Has00</name></author>
	</entry>
	<entry>
		<id>https://wiki.hostsharing.net/index.php?title=Gitea&amp;diff=4780</id>
		<title>Gitea</title>
		<link rel="alternate" type="text/html" href="https://wiki.hostsharing.net/index.php?title=Gitea&amp;diff=4780"/>
		<updated>2019-01-30T13:37:42Z</updated>

		<summary type="html">&lt;p&gt;Has00: /* Vorbereitung der Installation */ Code-Auszeichnung&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
== Gitea installieren ==&lt;br /&gt;
&lt;br /&gt;
[https://gitea.io/en-us/ Gitea] ist ein einfacher, selbst gehosteter Git-Service wie GitHub oder GitLab. Die Software ist ein Fork von Gogs und ebenfalls in der Programmiersprache Go geschrieben. Gitea benötigt wenig Ressourcen. Um Gitea auf der Hostsharing Plattform nutzen zu können, benötigt man entweder einen Managed Server oder man muss für seinen Managed Webspace einen Daemon hinzubuchen.&lt;br /&gt;
&lt;br /&gt;
Gitea unterstützt verschiedene Datenbanken. Wir gehen in dieser Anleitung davon aus, dass PostgreSQL benutzt wird.&lt;br /&gt;
&lt;br /&gt;
=== Vorbereitung der Installation ===&lt;br /&gt;
&lt;br /&gt;
Um Gitea auf der Managed Operation Platform von Hostsharing zu installieren, ist folgende Vorbereitung erforderlich.&lt;br /&gt;
&lt;br /&gt;
1. Anlegen eines Domain-Benutzers. In unserem Beispiel &amp;lt;code&amp;gt;xyz00-gitea&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
2. Anlegen einer Domain. In unserem Beispiel &amp;lt;code&amp;gt;gitea.hs-example.de&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
3. Anlegen eines Datenbank-Benutzers. Hier &amp;lt;code&amp;gt;xyz00_giteadbuser&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
4. Anlegen einer Datenbank. Hier &amp;lt;code&amp;gt;xyz00_giteadb&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Auf der Kommandozeile kann man dies folgendermaßen erledigen.&lt;br /&gt;
&lt;br /&gt;
Man loggt sich als Paketbenutzer ein und startet die Kommandozeilenversion von HSAdmin mit dem Befehl &amp;lt;code&amp;gt;hsscript&amp;lt;/code&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
  hsscript -u xyz00 -i&lt;br /&gt;
  Password: ********&lt;br /&gt;
&lt;br /&gt;
Anschließend kann man die Vorbereitungsschritte 1 bis 4 erledigen:&lt;br /&gt;
&lt;br /&gt;
  xyz00@hsadmin&amp;gt; user.add({set:{name:&#039;xyz00-gitea&#039;,password:&#039;geheim&#039;,comment:&#039;Domain-User&#039;}})&lt;br /&gt;
  xyz00@hsadmin&amp;gt; domain.add({set:{name:&#039;gitea.hs-example.de&#039;,user:&#039;xyz00-gitea&#039;}})&lt;br /&gt;
  xyz00@hsadmin&amp;gt; postgresqluser.add({set:{name:&#039;xyz00_giteadbuser&#039;,password:&#039;geheim&#039;}})&lt;br /&gt;
  xyz00@hsadmin&amp;gt; postgresqldb.add({set:{name:&#039;xyz00_giteadb&#039;,owner:&#039;xyz00_giteadbuser&#039;}})&lt;br /&gt;
&lt;br /&gt;
=== Installation von Gitea ===&lt;br /&gt;
&lt;br /&gt;
Gitea wird als Binary zur Verfügung gestellt.&lt;br /&gt;
Wir installieren das Binary im Verzeichnis des Domain-Benutzers.&lt;br /&gt;
Wenn wir als Paketbenutzer eingeloggt sind, können wir den Benutzer folgendermaßen wechseln:&lt;br /&gt;
&lt;br /&gt;
  sudo -u xyz00-gitea -i&lt;br /&gt;
  &lt;br /&gt;
Nun laden wir das passende Binary herunter.&lt;br /&gt;
Auf der Website https://dl.gitea.io/gitea/ finden Sie das jeweils aktuelle Binary (hier die 64-Bit-Version, &lt;br /&gt;
für die shared Server h01 bis h08 bitte die 32-Bit-Version gitea-1.7.0-linux-i386 herunterladen).&lt;br /&gt;
&lt;br /&gt;
  wget -O gitea https://dl.gitea.io/gitea/1.7.0/gitea-1.7.0-linux-amd64&lt;br /&gt;
  chmod +x gitea&lt;br /&gt;
&lt;br /&gt;
Wir laden die GPG-Signatur herunter und überprüfen sie:&lt;br /&gt;
&lt;br /&gt;
  wget https://dl.gitea.io/gitea/1.7.0/gitea-1.7.0-linux-amd64.asc&lt;br /&gt;
  gpg --keyserver pgp.mit.edu --recv 7C9E68152594688862D62AF62D9AE806EC1592E2&lt;br /&gt;
  gpg --verify gitea-1.7.0-linux-amd64.asc gitea-1.7.0-linux-amd64&lt;br /&gt;
&lt;br /&gt;
Nun können wir Gitea testweise starten:&lt;br /&gt;
&lt;br /&gt;
  ./gitea web&lt;br /&gt;
  &lt;br /&gt;
&lt;br /&gt;
Der Webserver von Gitea startet auf dem Port 3000. Das werden wir später ändern.&lt;br /&gt;
&lt;br /&gt;
Der Server kann mit Ctrl-C beendet werden.&lt;br /&gt;
&lt;br /&gt;
=== Konfiguration der Domain ===&lt;br /&gt;
&lt;br /&gt;
Zunächst wechseln wir in das Verzeichnis &#039;doms/gitea.hs-example.de&#039; und löschen den Ordner für die Subdomain &#039;www&#039;:&lt;br /&gt;
&lt;br /&gt;
  rm -rf subs/www&lt;br /&gt;
  rm -rf subs-ssl/www&lt;br /&gt;
  &lt;br /&gt;
Anschließend tragen wir die Umleitung auf HTTPS ein, falls dies nicht schon geschehen ist.&lt;br /&gt;
&lt;br /&gt;
  vi htdocs/.htaccess&lt;br /&gt;
  &lt;br /&gt;
Der Eintrag muss lauten:&lt;br /&gt;
&lt;br /&gt;
  Redirect permanent / https://gitea.hs-example.com/&lt;br /&gt;
  &lt;br /&gt;
Dann legen wir die Datei htdocs-ssl/.htaccess mit folgendem Inhalt an:&lt;br /&gt;
&lt;br /&gt;
  RewriteEngine on&lt;br /&gt;
  RewriteBase /&lt;br /&gt;
  RewriteRule ^(.*) http://localhost:31580/$1 [proxy,last]&lt;br /&gt;
  &lt;br /&gt;
Merken Sie sich die Portnummer 31580.&lt;br /&gt;
Sie wird später bei der Konfiguration von Gitea gebraucht.&lt;br /&gt;
Die Portnummer bekommen Sie vom Hostmaster, wenn Sie für Ihren Webspace einen Serverdienst (Daemon) buchen.&lt;br /&gt;
Wenn Sie einen Managed Server haben, können Sie selbst die Portnummer auswählen.&lt;br /&gt;
&lt;br /&gt;
Damit ist die Konfiguration von Apache abgeschlossen.&lt;br /&gt;
&lt;br /&gt;
=== Konfiguration von Gitea ===&lt;br /&gt;
&lt;br /&gt;
Wir editieren nun die Konfigurationsdatei von Gitea &#039;app.ini&#039;.&lt;br /&gt;
Sie befindet sich in dem Verzeichnis &#039;~/custom/conf&#039;.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;ACHTUNG&#039;&#039;&#039;: Sie können die Konfiguration teilweise auch über das Webinterface durchführen. Starten Sie dazu Gitea, wie oben beschrieben, und versuchen Sie einen Benutzer zu registrieren. Daraufhin öffnet sich der Konfigurationsdialog. Sie müssen den Gitea-Benutzer, den Namen der Datenbank, den Datenbank-Benutzer und sein Passwort parat haben.&lt;br /&gt;
&lt;br /&gt;
Die Konfigurationsdatei beginnt mit allgemeinen Einträgen:&lt;br /&gt;
&lt;br /&gt;
  APP_NAME = Gitea: Git with a cup of tea&lt;br /&gt;
  RUN_USER = xyz00-gitea&lt;br /&gt;
  RUN_MODE = prod&lt;br /&gt;
  &lt;br /&gt;
Im Abschnitt [database] folgen die Angaben zur Datenbank:&lt;br /&gt;
&lt;br /&gt;
  [database]&lt;br /&gt;
  DB_TYPE  = postgres&lt;br /&gt;
  HOST     = 127.0.0.1:5432&lt;br /&gt;
  NAME     = xyz00_giteadb&lt;br /&gt;
  USER     = xyz00_giteadbuser&lt;br /&gt;
  PASSWD   = geheim&lt;br /&gt;
  SSL_MODE = disable&lt;br /&gt;
  PATH     = data/gitea.db&lt;br /&gt;
&lt;br /&gt;
Es folgt der Pfad zu den Git-Repositorys und die Server-Konfiguration:&lt;br /&gt;
&lt;br /&gt;
  [repository]&lt;br /&gt;
  ROOT = /home/pacs/xyz00/users/gitea/gitea-repositories&lt;br /&gt;
  &lt;br /&gt;
  [server]&lt;br /&gt;
  PROTOCOL         = http&lt;br /&gt;
  SSH_DOMAIN       = gitea.hs-example.de &lt;br /&gt;
  DOMAIN           = gitea.hs-example.de&lt;br /&gt;
  HTTP_ADDR        = localhost&lt;br /&gt;
  HTTP_PORT        = 31580&lt;br /&gt;
  ROOT_URL         = https://gitea.hs-example.de/&lt;br /&gt;
  DISABLE_SSH      = false&lt;br /&gt;
  SSH_PORT         = 22&lt;br /&gt;
  LFS_START_SERVER = true&lt;br /&gt;
  &lt;br /&gt;
Sie können nun Gitea starten:&lt;br /&gt;
&lt;br /&gt;
  ./gitea web&lt;br /&gt;
  &lt;br /&gt;
Der Git-Service ist dann im Browser unter der Adresse gitea.hs-example.de erreichbar.&lt;br /&gt;
&lt;br /&gt;
=== Start- und Stopp-Skripte einrichten ===&lt;br /&gt;
&lt;br /&gt;
Zum Schluss müssen Sie noch Start- und Stoppskripte einrichten und Monit konfigurieren.&lt;br /&gt;
&lt;br /&gt;
Das Startskript speichern Sie unter dem Pfad ~/bin/gitea-start.sh ab.&lt;br /&gt;
Es hat folgenden Inhalt:&lt;br /&gt;
&lt;br /&gt;
  #!/bin/bash&lt;br /&gt;
  export HOME=/home/pacs/xyz00/users/gitea&lt;br /&gt;
  export PATH=$HOME/bin:/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games&lt;br /&gt;
  export PID=$HOME/.gitea.pid&lt;br /&gt;
  cd $HOME&lt;br /&gt;
  exec $HOME/gitea web &amp;gt;$HOME/custom/logs/gitea.log 2&amp;gt;&amp;amp;1 &amp;amp;&lt;br /&gt;
  echo $! &amp;gt; $PID&lt;br /&gt;
&lt;br /&gt;
Das Stoppskript speichern Sie unter dem Pfad ~/bin/gitea-stopp.sh an.&lt;br /&gt;
Es hat folgenden Inhalt:&lt;br /&gt;
&lt;br /&gt;
  #!/bin/bash&lt;br /&gt;
  export HOME=/home/pacs/xyz00/users/gitea&lt;br /&gt;
  export PATH=$HOME/bin:/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games&lt;br /&gt;
  export PID=$HOME/.gitea.pid&lt;br /&gt;
  cd $HOME&lt;br /&gt;
  &lt;br /&gt;
  if [ -f $PID ] ; then &lt;br /&gt;
      kill $( cat $PID );&lt;br /&gt;
      sleep 20 ;&lt;br /&gt;
      kill -9 $( cat $PID ) &amp;gt;/dev/null 2&amp;gt;&amp;amp;1 ;&lt;br /&gt;
      rm $PID ;&lt;br /&gt;
  fi&lt;br /&gt;
&lt;br /&gt;
Monit ist ein Programm zur Überwachung eines Servers oder eines Dienstes.&lt;br /&gt;
Das Programm erwartet im Verzeichnis des Domain-Benutzers die Datei &#039;~/.monitrc&#039; mit der entsprechenden Konfiguration.&lt;br /&gt;
Legen Sie die Datei mit folgendem Inhalt an:&lt;br /&gt;
&lt;br /&gt;
  set daemon 600&lt;br /&gt;
  set logfile /home/pacs/xyz00/users/gitea/custom/logs/monit.log&lt;br /&gt;
  set mailserver localhost&lt;br /&gt;
  set alert webmaster@gitea.hs-example.de&lt;br /&gt;
&lt;br /&gt;
  check process gitead with pidfile /home/pacs/xyz00/users/gitea/.gitea.pid&lt;br /&gt;
      start program &amp;quot;/home/pacs/xyz00/users/gitea/bin/gitea-start.sh&amp;quot;&lt;br /&gt;
      stop program &amp;quot;/home/pacs/xyz00/users/gitea/bin/gitea-stop.sh&amp;quot;&lt;br /&gt;
      &lt;br /&gt;
Nun können Sie noch die Rotation der Logfiles konfigurieren.&lt;br /&gt;
Dies geschieht in der Datei &#039;~/.logrotate&#039;:&lt;br /&gt;
&lt;br /&gt;
  /home/pacs/xyz00/users/gitea/custom/logs/gitea.log {&lt;br /&gt;
    copytruncate&lt;br /&gt;
    daily&lt;br /&gt;
    rotate 7&lt;br /&gt;
    compress&lt;br /&gt;
    missingok&lt;br /&gt;
  }&lt;br /&gt;
  /home/pacs/xyz00/users/gitea/custom/logs/monit.log {&lt;br /&gt;
    copytruncate&lt;br /&gt;
    monthly&lt;br /&gt;
    rotate 2&lt;br /&gt;
    compress&lt;br /&gt;
    missingok&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
Damit die Konfiguration für logrotate und monit auch nach einem Server-Neustart eingelesen werden, müssen Sie folgenden Eintrag in der crontab der Domain-Benutzers machen:&lt;br /&gt;
&lt;br /&gt;
  # m h  dom mon dow   command&lt;br /&gt;
  HOME=/home/pacs/xyz00/users/gitea&lt;br /&gt;
  PATH=$HOME/bin:/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games&lt;br /&gt;
  PID=$HOME/.gitea.pid&lt;br /&gt;
  @reboot /usr/bin/monit -c $HOME/.monitrc &amp;gt; /dev/null&lt;br /&gt;
  51 1 * * * /usr/sbin/logrotate -s $HOME/.logrotate.state $HOME/.logrotate&lt;br /&gt;
 &lt;br /&gt;
Wichtig ist der @reboot-Eintrag, der automatisch nach einem Neustart des Hosts ausgeführt wird.&lt;br /&gt;
Die Uhrzeit für die Logrotation können Sie beliebig einstellen.&lt;br /&gt;
&lt;br /&gt;
Abschließend können Sie Ihre Gitea-Instanz starten:&lt;br /&gt;
&lt;br /&gt;
  ~/bin/gitea-start.sh&lt;/div&gt;</summary>
		<author><name>Has00</name></author>
	</entry>
	<entry>
		<id>https://wiki.hostsharing.net/index.php?title=Gitea&amp;diff=4777</id>
		<title>Gitea</title>
		<link rel="alternate" type="text/html" href="https://wiki.hostsharing.net/index.php?title=Gitea&amp;diff=4777"/>
		<updated>2019-01-30T13:01:51Z</updated>

		<summary type="html">&lt;p&gt;Has00: /* Konfiguration von Gitea */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
== Gitea installieren ==&lt;br /&gt;
&lt;br /&gt;
[https://gitea.io/en-us/ Gitea] ist ein einfacher, selbst gehosteter Git-Service wie GitHub oder GitLab. Die Software ist ein Fork von Gogs und ebenfalls in der Programmiersprache Go geschrieben. Gitea benötigt wenig Ressourcen. Um Gitea auf der Hostsharing Plattform nutzen zu können, benötigt man entweder einen Managed Server oder man muss für seinen Managed Webspace einen Daemon hinzubuchen.&lt;br /&gt;
&lt;br /&gt;
Gitea unterstützt verschiedene Datenbanken. Wir gehen in dieser Anleitung davon aus, dass PostgreSQL benutzt wird.&lt;br /&gt;
&lt;br /&gt;
=== Vorbereitung der Installation ===&lt;br /&gt;
&lt;br /&gt;
Um Gitea auf der Managed Operation Platform von Hostsharing zu installieren, ist folgende Vorbereitung erforderlich.&lt;br /&gt;
&lt;br /&gt;
1. Anlegen eines Domain-Benutzers. In unserem Beispiel xyz00-gitea.&lt;br /&gt;
&lt;br /&gt;
2. Anlegen einer Domain. In unserem Beispiel gitea.hs-example.de&lt;br /&gt;
&lt;br /&gt;
3. Anlegen eines Datenbank-Benutzers. Hier xyz00_giteadbuser.&lt;br /&gt;
&lt;br /&gt;
4. Anlegen einer Datenbank. Hier xyz00_giteadb&lt;br /&gt;
&lt;br /&gt;
Auf der Kommandozeile kann man dies folgendermaßen erledigen.&lt;br /&gt;
&lt;br /&gt;
Man loggt sich als Paketbenutzer ein und startet die Kommandozeilenversion von HSAdmin mit dem Befehl &#039;&#039;hsscript&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
  hsscript -u xyz00 -i&lt;br /&gt;
  Password: ********&lt;br /&gt;
&lt;br /&gt;
Anschließend kann man die Vorbereitungsschritte 1 bis 4 erledigen:&lt;br /&gt;
&lt;br /&gt;
  xyz00@hsadmin&amp;gt; user.add({set:{name:&#039;xyz00-gitea&#039;,password:&#039;geheim&#039;,comment:&#039;Domain-User&#039;}})&lt;br /&gt;
  xyz00@hsadmin&amp;gt; domain.add({set:{name:&#039;gitea.hs-example.de&#039;,user:&#039;xyz00-gitea&#039;}})&lt;br /&gt;
  xyz00@hsadmin&amp;gt; postgresqluser.add({set:{name:&#039;xyz00_giteadbuser&#039;,password:&#039;geheim&#039;}})&lt;br /&gt;
  xyz00@hsadmin&amp;gt; postgresqldb.add({set:{name:&#039;xyz00_giteadb&#039;,owner:&#039;xyz00_giteadbuser&#039;}})&lt;br /&gt;
&lt;br /&gt;
=== Installation von Gitea ===&lt;br /&gt;
&lt;br /&gt;
Gitea wird als Binary zur Verfügung gestellt.&lt;br /&gt;
Wir installieren das Binary im Verzeichnis des Domain-Benutzers.&lt;br /&gt;
Wenn wir als Paketbenutzer eingeloggt sind, können wir den Benutzer folgendermaßen wechseln:&lt;br /&gt;
&lt;br /&gt;
  sudo -u xyz00-gitea -i&lt;br /&gt;
  &lt;br /&gt;
Nun laden wir das passende Binary herunter.&lt;br /&gt;
Auf der Website https://dl.gitea.io/gitea/ finden Sie das jeweils aktuelle Binary.&lt;br /&gt;
&lt;br /&gt;
  wget -O gitea https://dl.gitea.io/gitea/1.7.0/gitea-1.7.0-linux-amd64&lt;br /&gt;
  chmod +x gitea&lt;br /&gt;
&lt;br /&gt;
Wir laden die GPG-Signatur herunter und überprüfen sie:&lt;br /&gt;
&lt;br /&gt;
  wget https://dl.gitea.io/gitea/1.7.0/gitea-1.7.0-linux-amd64.asc&lt;br /&gt;
  gpg --keyserver pgp.mit.edu --recv 7C9E68152594688862D62AF62D9AE806EC1592E2&lt;br /&gt;
  gpg --verify gitea-1.7.0-linux-amd64.asc gitea-1.7.0-linux-amd64&lt;br /&gt;
&lt;br /&gt;
Nun können wir Gitea testweise starten:&lt;br /&gt;
&lt;br /&gt;
  ./gitea web&lt;br /&gt;
  &lt;br /&gt;
&lt;br /&gt;
Der Webserver von Gitea startet auf dem Port 3000. Das werden wir später ändern.&lt;br /&gt;
&lt;br /&gt;
Der Server kann mit Ctrl-C beendet werden.&lt;br /&gt;
&lt;br /&gt;
=== Konfiguration der Domain ===&lt;br /&gt;
&lt;br /&gt;
Zunächst wechseln wir in das Verzeichnis &#039;doms/gitea.hs-example.de&#039; und löschen den Ordner für die Subdomain &#039;www&#039;:&lt;br /&gt;
&lt;br /&gt;
  rm -rf subs/www&lt;br /&gt;
  rm -rf subs-ssl/www&lt;br /&gt;
  &lt;br /&gt;
Anschließend tragen wir die Umleitung auf HTTPS ein, falls dies nicht schon geschehen ist.&lt;br /&gt;
&lt;br /&gt;
  vi htdocs/.htaccess&lt;br /&gt;
  &lt;br /&gt;
Der Eintrag muss lauten:&lt;br /&gt;
&lt;br /&gt;
  Redirect permanent / https://gitea.hs-example.com/&lt;br /&gt;
  &lt;br /&gt;
Dann legen wir die Datei htdocs-ssl/.htaccess mit folgendem Inhalt an:&lt;br /&gt;
&lt;br /&gt;
  RewriteEngine on&lt;br /&gt;
  RewriteBase /&lt;br /&gt;
  RewriteRule ^(.*) http://localhost:31580/$1 [proxy,last]&lt;br /&gt;
  &lt;br /&gt;
Merken Sie sich die Portnummer 31580.&lt;br /&gt;
Sie wird später bei der Konfiguration von Gitea gebraucht.&lt;br /&gt;
Die Portnummer bekommen Sie vom Hostmaster, wenn Sie für Ihren Webspace einen Serverdienst (Daemon) buchen.&lt;br /&gt;
Wenn Sie einen Managed Server haben, können Sie selbst die Portnummer auswählen.&lt;br /&gt;
&lt;br /&gt;
Damit ist die Konfiguration von Apache abgeschlossen.&lt;br /&gt;
&lt;br /&gt;
=== Konfiguration von Gitea ===&lt;br /&gt;
&lt;br /&gt;
Wir editieren nun die Konfigurationsdatei von Gitea &#039;app.ini&#039;.&lt;br /&gt;
Sie befindet sich in dem Verzeichnis &#039;~/custom/conf&#039;.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;ACHTUNG&#039;&#039;&#039;: Sie können die Konfiguration teilweise auch über das Webinterface durchführen. Starten Sie dazu Gitea, wie oben beschrieben, und versuchen Sie einen Benutzer zu registrieren. Daraufhin öffnet sich der Konfigurationsdialog. Sie müssen den Gitea-Benutzer, den Namen der Datenbank, den Datenbank-Benutzer und sein Passwort parat haben.&lt;br /&gt;
&lt;br /&gt;
Die Konfigurationsdatei beginnt mit allgemeinen Einträgen:&lt;br /&gt;
&lt;br /&gt;
  APP_NAME = Gitea: Git with a cup of tea&lt;br /&gt;
  RUN_USER = xyz00-gitea&lt;br /&gt;
  RUN_MODE = prod&lt;br /&gt;
  &lt;br /&gt;
Im Abschnitt [database] folgen die Angaben zur Datenbank:&lt;br /&gt;
&lt;br /&gt;
  [database]&lt;br /&gt;
  DB_TYPE  = postgres&lt;br /&gt;
  HOST     = 127.0.0.1:5432&lt;br /&gt;
  NAME     = xyz00_giteadb&lt;br /&gt;
  USER     = xyz00_giteadbuser&lt;br /&gt;
  PASSWD   = geheim&lt;br /&gt;
  SSL_MODE = disable&lt;br /&gt;
  PATH     = data/gitea.db&lt;br /&gt;
&lt;br /&gt;
Es folgt der Pfad zu den Git-Repositorys und die Server-Konfiguration:&lt;br /&gt;
&lt;br /&gt;
  [repository]&lt;br /&gt;
  ROOT = /home/pacs/xyz00/users/gitea/gitea-repositories&lt;br /&gt;
  &lt;br /&gt;
  [server]&lt;br /&gt;
  PROTOCOL         = http&lt;br /&gt;
  SSH_DOMAIN       = gitea.hs-example.de &lt;br /&gt;
  DOMAIN           = gitea.hs-example.de&lt;br /&gt;
  HTTP_ADDR        = localhost&lt;br /&gt;
  HTTP_PORT        = 31580&lt;br /&gt;
  ROOT_URL         = https://gitea.hs-example.de/&lt;br /&gt;
  DISABLE_SSH      = false&lt;br /&gt;
  SSH_PORT         = 22&lt;br /&gt;
  LFS_START_SERVER = true&lt;br /&gt;
  &lt;br /&gt;
Sie können nun Gitea starten:&lt;br /&gt;
&lt;br /&gt;
  ./gitea web&lt;br /&gt;
  &lt;br /&gt;
Der Git-Service ist dann im Browser unter der Adresse gitea.hs-example.de erreichbar.&lt;br /&gt;
&lt;br /&gt;
=== Start- und Stopp-Skripte einrichten ===&lt;br /&gt;
&lt;br /&gt;
Zum Schluss müssen Sie noch Start- und Stoppskripte einrichten und Monit konfigurieren.&lt;br /&gt;
&lt;br /&gt;
Das Startskript speichern Sie unter dem Pfad ~/bin/gitea-start.sh ab.&lt;br /&gt;
Es hat folgenden Inhalt:&lt;br /&gt;
&lt;br /&gt;
  #!/bin/bash&lt;br /&gt;
  export HOME=/home/pacs/xyz00/users/gitea&lt;br /&gt;
  export PATH=$HOME/bin:/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games&lt;br /&gt;
  export PID=$HOME/.gitea.pid&lt;br /&gt;
  cd $HOME&lt;br /&gt;
  exec $HOME/gitea web &amp;gt;$HOME/custom/logs/gitea.log 2&amp;gt;&amp;amp;1 &amp;amp;&lt;br /&gt;
  echo $! &amp;gt; $PID&lt;br /&gt;
&lt;br /&gt;
Das Stoppskript speichern Sie unter dem Pfad ~/bin/gitea-stopp.sh an.&lt;br /&gt;
Es hat folgenden Inhalt:&lt;br /&gt;
&lt;br /&gt;
  #!/bin/bash&lt;br /&gt;
  export HOME=/home/pacs/xyz00/users/gitea&lt;br /&gt;
  export PATH=$HOME/bin:/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games&lt;br /&gt;
  export PID=$HOME/.gitea.pid&lt;br /&gt;
  cd $HOME&lt;br /&gt;
  &lt;br /&gt;
  if [ -f $PID ] ; then &lt;br /&gt;
      kill $( cat $PID );&lt;br /&gt;
      sleep 20 ;&lt;br /&gt;
      kill -9 $( cat $PID ) &amp;gt;/dev/null 2&amp;gt;&amp;amp;1 ;&lt;br /&gt;
      rm $PID ;&lt;br /&gt;
  fi&lt;br /&gt;
&lt;br /&gt;
Monit ist ein Programm zur Überwachung eines Servers oder eines Dienstes.&lt;br /&gt;
Das Programm erwartet im Verzeichnis des Domain-Benutzers die Datei &#039;~/.monitrc&#039; mit der entsprechenden Konfiguration.&lt;br /&gt;
Legen Sie die Datei mit folgendem Inhalt an:&lt;br /&gt;
&lt;br /&gt;
  set daemon 600&lt;br /&gt;
  set logfile /home/pacs/xyz00/users/gitea/custom/logs/monit.log&lt;br /&gt;
  set mailserver localhost&lt;br /&gt;
  set alert webmaster@gitea.hs-example.de&lt;br /&gt;
&lt;br /&gt;
  check process gitead with pidfile /home/pacs/xyz00/users/gitea/.gitea.pid&lt;br /&gt;
      start program &amp;quot;/home/pacs/xyz00/users/gitea/bin/gitea-start.sh&amp;quot;&lt;br /&gt;
      stop program &amp;quot;/home/pacs/xyz00/users/gitea/bin/gitea-stop.sh&amp;quot;&lt;br /&gt;
      &lt;br /&gt;
Nun können Sie noch die Rotation der Logfiles konfigurieren.&lt;br /&gt;
Dies geschieht in der Datei &#039;~/.logrotate&#039;:&lt;br /&gt;
&lt;br /&gt;
  /home/pacs/xyz00/users/gitea/custom/logs/gitea.log {&lt;br /&gt;
    copytruncate&lt;br /&gt;
    daily&lt;br /&gt;
    rotate 7&lt;br /&gt;
    compress&lt;br /&gt;
    missingok&lt;br /&gt;
  }&lt;br /&gt;
  /home/pacs/xyz00/users/gitea/custom/logs/monit.log {&lt;br /&gt;
    copytruncate&lt;br /&gt;
    monthly&lt;br /&gt;
    rotate 2&lt;br /&gt;
    compress&lt;br /&gt;
    missingok&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
Damit die Konfiguration für logrotate und monit auch nach einem Server-Neustart eingelesen werden, müssen Sie folgenden Eintrag in der crontab der Domain-Benutzers machen:&lt;br /&gt;
&lt;br /&gt;
  # m h  dom mon dow   command&lt;br /&gt;
  HOME=/home/pacs/xyz00/users/gitea&lt;br /&gt;
  PATH=$HOME/bin:/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games&lt;br /&gt;
  PID=$HOME/.gitea.pid&lt;br /&gt;
  @reboot /usr/bin/monit -c $HOME/.monitrc &amp;gt; /dev/null&lt;br /&gt;
  51 1 * * * /usr/sbin/logrotate -s $HOME/.logrotate.state $HOME/.logrotate&lt;br /&gt;
 &lt;br /&gt;
Wichtig ist der @reboot-Eintrag, der automatisch nach einem Neustart des Hosts ausgeführt wird.&lt;br /&gt;
Die Uhrzeit für die Logrotation können Sie beliebig einstellen.&lt;br /&gt;
&lt;br /&gt;
Abschließend können Sie Ihre Gitea-Instanz starten:&lt;br /&gt;
&lt;br /&gt;
  ~/bin/gitea-start.sh&lt;/div&gt;</summary>
		<author><name>Has00</name></author>
	</entry>
	<entry>
		<id>https://wiki.hostsharing.net/index.php?title=Gitea&amp;diff=4776</id>
		<title>Gitea</title>
		<link rel="alternate" type="text/html" href="https://wiki.hostsharing.net/index.php?title=Gitea&amp;diff=4776"/>
		<updated>2019-01-30T12:45:44Z</updated>

		<summary type="html">&lt;p&gt;Has00: /* Start- und Stopp-Skripte einrichten */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
== Gitea installieren ==&lt;br /&gt;
&lt;br /&gt;
[https://gitea.io/en-us/ Gitea] ist ein einfacher, selbst gehosteter Git-Service wie GitHub oder GitLab. Die Software ist ein Fork von Gogs und ebenfalls in der Programmiersprache Go geschrieben. Gitea benötigt wenig Ressourcen. Um Gitea auf der Hostsharing Plattform nutzen zu können, benötigt man entweder einen Managed Server oder man muss für seinen Managed Webspace einen Daemon hinzubuchen.&lt;br /&gt;
&lt;br /&gt;
Gitea unterstützt verschiedene Datenbanken. Wir gehen in dieser Anleitung davon aus, dass PostgreSQL benutzt wird.&lt;br /&gt;
&lt;br /&gt;
=== Vorbereitung der Installation ===&lt;br /&gt;
&lt;br /&gt;
Um Gitea auf der Managed Operation Platform von Hostsharing zu installieren, ist folgende Vorbereitung erforderlich.&lt;br /&gt;
&lt;br /&gt;
1. Anlegen eines Domain-Benutzers. In unserem Beispiel xyz00-gitea.&lt;br /&gt;
&lt;br /&gt;
2. Anlegen einer Domain. In unserem Beispiel gitea.hs-example.de&lt;br /&gt;
&lt;br /&gt;
3. Anlegen eines Datenbank-Benutzers. Hier xyz00_giteadbuser.&lt;br /&gt;
&lt;br /&gt;
4. Anlegen einer Datenbank. Hier xyz00_giteadb&lt;br /&gt;
&lt;br /&gt;
Auf der Kommandozeile kann man dies folgendermaßen erledigen.&lt;br /&gt;
&lt;br /&gt;
Man loggt sich als Paketbenutzer ein und startet die Kommandozeilenversion von HSAdmin mit dem Befehl &#039;&#039;hsscript&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
  hsscript -u xyz00 -i&lt;br /&gt;
  Password: ********&lt;br /&gt;
&lt;br /&gt;
Anschließend kann man die Vorbereitungsschritte 1 bis 4 erledigen:&lt;br /&gt;
&lt;br /&gt;
  xyz00@hsadmin&amp;gt; user.add({set:{name:&#039;xyz00-gitea&#039;,password:&#039;geheim&#039;,comment:&#039;Domain-User&#039;}})&lt;br /&gt;
  xyz00@hsadmin&amp;gt; domain.add({set:{name:&#039;gitea.hs-example.de&#039;,user:&#039;xyz00-gitea&#039;}})&lt;br /&gt;
  xyz00@hsadmin&amp;gt; postgresqluser.add({set:{name:&#039;xyz00_giteadbuser&#039;,password:&#039;geheim&#039;}})&lt;br /&gt;
  xyz00@hsadmin&amp;gt; postgresqldb.add({set:{name:&#039;xyz00_giteadb&#039;,owner:&#039;xyz00_giteadbuser&#039;}})&lt;br /&gt;
&lt;br /&gt;
=== Installation von Gitea ===&lt;br /&gt;
&lt;br /&gt;
Gitea wird als Binary zur Verfügung gestellt.&lt;br /&gt;
Wir installieren das Binary im Verzeichnis des Domain-Benutzers.&lt;br /&gt;
Wenn wir als Paketbenutzer eingeloggt sind, können wir den Benutzer folgendermaßen wechseln:&lt;br /&gt;
&lt;br /&gt;
  sudo -u xyz00-gitea -i&lt;br /&gt;
  &lt;br /&gt;
Nun laden wir das passende Binary herunter.&lt;br /&gt;
Auf der Website https://dl.gitea.io/gitea/ finden Sie das jeweils aktuelle Binary.&lt;br /&gt;
&lt;br /&gt;
  wget -O gitea https://dl.gitea.io/gitea/1.7.0/gitea-1.7.0-linux-amd64&lt;br /&gt;
  chmod +x gitea&lt;br /&gt;
&lt;br /&gt;
Wir laden die GPG-Signatur herunter und überprüfen sie:&lt;br /&gt;
&lt;br /&gt;
  wget https://dl.gitea.io/gitea/1.7.0/gitea-1.7.0-linux-amd64.asc&lt;br /&gt;
  gpg --keyserver pgp.mit.edu --recv 7C9E68152594688862D62AF62D9AE806EC1592E2&lt;br /&gt;
  gpg --verify gitea-1.7.0-linux-amd64.asc gitea-1.7.0-linux-amd64&lt;br /&gt;
&lt;br /&gt;
Nun können wir Gitea testweise starten:&lt;br /&gt;
&lt;br /&gt;
  ./gitea web&lt;br /&gt;
  &lt;br /&gt;
&lt;br /&gt;
Der Webserver von Gitea startet auf dem Port 3000. Das werden wir später ändern.&lt;br /&gt;
&lt;br /&gt;
Der Server kann mit Ctrl-C beendet werden.&lt;br /&gt;
&lt;br /&gt;
=== Konfiguration der Domain ===&lt;br /&gt;
&lt;br /&gt;
Zunächst wechseln wir in das Verzeichnis &#039;doms/gitea.hs-example.de&#039; und löschen den Ordner für die Subdomain &#039;www&#039;:&lt;br /&gt;
&lt;br /&gt;
  rm -rf subs/www&lt;br /&gt;
  rm -rf subs-ssl/www&lt;br /&gt;
  &lt;br /&gt;
Anschließend tragen wir die Umleitung auf HTTPS ein, falls dies nicht schon geschehen ist.&lt;br /&gt;
&lt;br /&gt;
  vi htdocs/.htaccess&lt;br /&gt;
  &lt;br /&gt;
Der Eintrag muss lauten:&lt;br /&gt;
&lt;br /&gt;
  Redirect permanent / https://gitea.hs-example.com/&lt;br /&gt;
  &lt;br /&gt;
Dann legen wir die Datei htdocs-ssl/.htaccess mit folgendem Inhalt an:&lt;br /&gt;
&lt;br /&gt;
  RewriteEngine on&lt;br /&gt;
  RewriteBase /&lt;br /&gt;
  RewriteRule ^(.*) http://localhost:31580/$1 [proxy,last]&lt;br /&gt;
  &lt;br /&gt;
Merken Sie sich die Portnummer 31580.&lt;br /&gt;
Sie wird später bei der Konfiguration von Gitea gebraucht.&lt;br /&gt;
Die Portnummer bekommen Sie vom Hostmaster, wenn Sie für Ihren Webspace einen Serverdienst (Daemon) buchen.&lt;br /&gt;
Wenn Sie einen Managed Server haben, können Sie selbst die Portnummer auswählen.&lt;br /&gt;
&lt;br /&gt;
Damit ist die Konfiguration von Apache abgeschlossen.&lt;br /&gt;
&lt;br /&gt;
=== Konfiguration von Gitea ===&lt;br /&gt;
&lt;br /&gt;
Wir editieren nun die Konfigurationsdatei von Gitea &#039;app.ini&#039;.&lt;br /&gt;
Sie befindet sich in dem Verzeichnis &#039;~/custom/conf&#039;.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;ACHTUNG&#039;&#039;&#039;: Sie können die Konfiguration teilweise auch über das Webinterface durchführen. Starten Sie dazu Gitea, wie oben beschrieben, und versuchen Sie einen Benutzer zu registrieren. Daraufhin öffnet sich der Konfigurationsdialog. Sie müssen den Gitea-Benutzer, den Namen der Datenbank, den Datenbank-Benutzer und sein Passwort parat haben.&lt;br /&gt;
&lt;br /&gt;
Die Konfigurationsdatei beginnt mit allgemeinen Einträgen:&lt;br /&gt;
&lt;br /&gt;
  APP_NAME = Gitea: Git with a cup of tea&lt;br /&gt;
  RUN_USER = xyz00-gitea&lt;br /&gt;
  RUN_MODE = prod&lt;br /&gt;
  &lt;br /&gt;
Im Abschnitt [database] folgen die Angaben zur Datenbank:&lt;br /&gt;
&lt;br /&gt;
  [database]&lt;br /&gt;
  DB_TYPE  = postgres&lt;br /&gt;
  HOST     = 127.0.0.1:5432&lt;br /&gt;
  NAME     = xyz00_giteadb&lt;br /&gt;
  USER     = xyz00_giteadbuser&lt;br /&gt;
  PASSWD   = [Passwort des Datenbankbenutzers]&lt;br /&gt;
  SSL_MODE = disable&lt;br /&gt;
  PATH     = data/gitea.db&lt;br /&gt;
&lt;br /&gt;
Es folgt der Pfad zu den Git-Repositorys und die Server-Konfiguration:&lt;br /&gt;
&lt;br /&gt;
  [repository]&lt;br /&gt;
  ROOT = /home/pacs/xyz00/users/gitea/gitea-repositories&lt;br /&gt;
  &lt;br /&gt;
  [server]&lt;br /&gt;
  PROTOCOL         = http&lt;br /&gt;
  SSH_DOMAIN       = gitea.hs-example.de &lt;br /&gt;
  DOMAIN           = gitea.hs-example.de&lt;br /&gt;
  HTTP_ADDR        = localhost&lt;br /&gt;
  HTTP_PORT        = 31580&lt;br /&gt;
  ROOT_URL         = https://gitea.hs-example.de/&lt;br /&gt;
  DISABLE_SSH      = false&lt;br /&gt;
  SSH_PORT         = 22&lt;br /&gt;
  LFS_START_SERVER = true&lt;br /&gt;
  &lt;br /&gt;
Sie können nun Gitea starten:&lt;br /&gt;
&lt;br /&gt;
  ./gitea web&lt;br /&gt;
  &lt;br /&gt;
Der Git-Service ist dann im Browser unter der Adresse gitea.hs-example.de erreichbar.&lt;br /&gt;
&lt;br /&gt;
=== Start- und Stopp-Skripte einrichten ===&lt;br /&gt;
&lt;br /&gt;
Zum Schluss müssen Sie noch Start- und Stoppskripte einrichten und Monit konfigurieren.&lt;br /&gt;
&lt;br /&gt;
Das Startskript speichern Sie unter dem Pfad ~/bin/gitea-start.sh ab.&lt;br /&gt;
Es hat folgenden Inhalt:&lt;br /&gt;
&lt;br /&gt;
  #!/bin/bash&lt;br /&gt;
  export HOME=/home/pacs/xyz00/users/gitea&lt;br /&gt;
  export PATH=$HOME/bin:/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games&lt;br /&gt;
  export PID=$HOME/.gitea.pid&lt;br /&gt;
  cd $HOME&lt;br /&gt;
  exec $HOME/gitea web &amp;gt;$HOME/custom/logs/gitea.log 2&amp;gt;&amp;amp;1 &amp;amp;&lt;br /&gt;
  echo $! &amp;gt; $PID&lt;br /&gt;
&lt;br /&gt;
Das Stoppskript speichern Sie unter dem Pfad ~/bin/gitea-stopp.sh an.&lt;br /&gt;
Es hat folgenden Inhalt:&lt;br /&gt;
&lt;br /&gt;
  #!/bin/bash&lt;br /&gt;
  export HOME=/home/pacs/xyz00/users/gitea&lt;br /&gt;
  export PATH=$HOME/bin:/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games&lt;br /&gt;
  export PID=$HOME/.gitea.pid&lt;br /&gt;
  cd $HOME&lt;br /&gt;
  &lt;br /&gt;
  if [ -f $PID ] ; then &lt;br /&gt;
      kill $( cat $PID );&lt;br /&gt;
      sleep 20 ;&lt;br /&gt;
      kill -9 $( cat $PID ) &amp;gt;/dev/null 2&amp;gt;&amp;amp;1 ;&lt;br /&gt;
      rm $PID ;&lt;br /&gt;
  fi&lt;br /&gt;
&lt;br /&gt;
Monit ist ein Programm zur Überwachung eines Servers oder eines Dienstes.&lt;br /&gt;
Das Programm erwartet im Verzeichnis des Domain-Benutzers die Datei &#039;~/.monitrc&#039; mit der entsprechenden Konfiguration.&lt;br /&gt;
Legen Sie die Datei mit folgendem Inhalt an:&lt;br /&gt;
&lt;br /&gt;
  set daemon 600&lt;br /&gt;
  set logfile /home/pacs/xyz00/users/gitea/custom/logs/monit.log&lt;br /&gt;
  set mailserver localhost&lt;br /&gt;
  set alert webmaster@gitea.hs-example.de&lt;br /&gt;
&lt;br /&gt;
  check process gitead with pidfile /home/pacs/xyz00/users/gitea/.gitea.pid&lt;br /&gt;
      start program &amp;quot;/home/pacs/xyz00/users/gitea/bin/gitea-start.sh&amp;quot;&lt;br /&gt;
      stop program &amp;quot;/home/pacs/xyz00/users/gitea/bin/gitea-stop.sh&amp;quot;&lt;br /&gt;
      &lt;br /&gt;
Nun können Sie noch die Rotation der Logfiles konfigurieren.&lt;br /&gt;
Dies geschieht in der Datei &#039;~/.logrotate&#039;:&lt;br /&gt;
&lt;br /&gt;
  /home/pacs/xyz00/users/gitea/custom/logs/gitea.log {&lt;br /&gt;
    copytruncate&lt;br /&gt;
    daily&lt;br /&gt;
    rotate 7&lt;br /&gt;
    compress&lt;br /&gt;
    missingok&lt;br /&gt;
  }&lt;br /&gt;
  /home/pacs/xyz00/users/gitea/custom/logs/monit.log {&lt;br /&gt;
    copytruncate&lt;br /&gt;
    monthly&lt;br /&gt;
    rotate 2&lt;br /&gt;
    compress&lt;br /&gt;
    missingok&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
Damit die Konfiguration für logrotate und monit auch nach einem Server-Neustart eingelesen werden, müssen Sie folgenden Eintrag in der crontab der Domain-Benutzers machen:&lt;br /&gt;
&lt;br /&gt;
  # m h  dom mon dow   command&lt;br /&gt;
  HOME=/home/pacs/xyz00/users/gitea&lt;br /&gt;
  PATH=$HOME/bin:/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games&lt;br /&gt;
  PID=$HOME/.gitea.pid&lt;br /&gt;
  @reboot /usr/bin/monit -c $HOME/.monitrc &amp;gt; /dev/null&lt;br /&gt;
  51 1 * * * /usr/sbin/logrotate -s $HOME/.logrotate.state $HOME/.logrotate&lt;br /&gt;
 &lt;br /&gt;
Wichtig ist der @reboot-Eintrag, der automatisch nach einem Neustart des Hosts ausgeführt wird.&lt;br /&gt;
Die Uhrzeit für die Logrotation können Sie beliebig einstellen.&lt;br /&gt;
&lt;br /&gt;
Abschließend können Sie Ihre Gitea-Instanz starten:&lt;br /&gt;
&lt;br /&gt;
  ~/bin/gitea-start.sh&lt;/div&gt;</summary>
		<author><name>Has00</name></author>
	</entry>
	<entry>
		<id>https://wiki.hostsharing.net/index.php?title=Gitea&amp;diff=4775</id>
		<title>Gitea</title>
		<link rel="alternate" type="text/html" href="https://wiki.hostsharing.net/index.php?title=Gitea&amp;diff=4775"/>
		<updated>2019-01-30T12:43:57Z</updated>

		<summary type="html">&lt;p&gt;Has00: /* Konfiguration von Gitea */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
== Gitea installieren ==&lt;br /&gt;
&lt;br /&gt;
[https://gitea.io/en-us/ Gitea] ist ein einfacher, selbst gehosteter Git-Service wie GitHub oder GitLab. Die Software ist ein Fork von Gogs und ebenfalls in der Programmiersprache Go geschrieben. Gitea benötigt wenig Ressourcen. Um Gitea auf der Hostsharing Plattform nutzen zu können, benötigt man entweder einen Managed Server oder man muss für seinen Managed Webspace einen Daemon hinzubuchen.&lt;br /&gt;
&lt;br /&gt;
Gitea unterstützt verschiedene Datenbanken. Wir gehen in dieser Anleitung davon aus, dass PostgreSQL benutzt wird.&lt;br /&gt;
&lt;br /&gt;
=== Vorbereitung der Installation ===&lt;br /&gt;
&lt;br /&gt;
Um Gitea auf der Managed Operation Platform von Hostsharing zu installieren, ist folgende Vorbereitung erforderlich.&lt;br /&gt;
&lt;br /&gt;
1. Anlegen eines Domain-Benutzers. In unserem Beispiel xyz00-gitea.&lt;br /&gt;
&lt;br /&gt;
2. Anlegen einer Domain. In unserem Beispiel gitea.hs-example.de&lt;br /&gt;
&lt;br /&gt;
3. Anlegen eines Datenbank-Benutzers. Hier xyz00_giteadbuser.&lt;br /&gt;
&lt;br /&gt;
4. Anlegen einer Datenbank. Hier xyz00_giteadb&lt;br /&gt;
&lt;br /&gt;
Auf der Kommandozeile kann man dies folgendermaßen erledigen.&lt;br /&gt;
&lt;br /&gt;
Man loggt sich als Paketbenutzer ein und startet die Kommandozeilenversion von HSAdmin mit dem Befehl &#039;&#039;hsscript&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
  hsscript -u xyz00 -i&lt;br /&gt;
  Password: ********&lt;br /&gt;
&lt;br /&gt;
Anschließend kann man die Vorbereitungsschritte 1 bis 4 erledigen:&lt;br /&gt;
&lt;br /&gt;
  xyz00@hsadmin&amp;gt; user.add({set:{name:&#039;xyz00-gitea&#039;,password:&#039;geheim&#039;,comment:&#039;Domain-User&#039;}})&lt;br /&gt;
  xyz00@hsadmin&amp;gt; domain.add({set:{name:&#039;gitea.hs-example.de&#039;,user:&#039;xyz00-gitea&#039;}})&lt;br /&gt;
  xyz00@hsadmin&amp;gt; postgresqluser.add({set:{name:&#039;xyz00_giteadbuser&#039;,password:&#039;geheim&#039;}})&lt;br /&gt;
  xyz00@hsadmin&amp;gt; postgresqldb.add({set:{name:&#039;xyz00_giteadb&#039;,owner:&#039;xyz00_giteadbuser&#039;}})&lt;br /&gt;
&lt;br /&gt;
=== Installation von Gitea ===&lt;br /&gt;
&lt;br /&gt;
Gitea wird als Binary zur Verfügung gestellt.&lt;br /&gt;
Wir installieren das Binary im Verzeichnis des Domain-Benutzers.&lt;br /&gt;
Wenn wir als Paketbenutzer eingeloggt sind, können wir den Benutzer folgendermaßen wechseln:&lt;br /&gt;
&lt;br /&gt;
  sudo -u xyz00-gitea -i&lt;br /&gt;
  &lt;br /&gt;
Nun laden wir das passende Binary herunter.&lt;br /&gt;
Auf der Website https://dl.gitea.io/gitea/ finden Sie das jeweils aktuelle Binary.&lt;br /&gt;
&lt;br /&gt;
  wget -O gitea https://dl.gitea.io/gitea/1.7.0/gitea-1.7.0-linux-amd64&lt;br /&gt;
  chmod +x gitea&lt;br /&gt;
&lt;br /&gt;
Wir laden die GPG-Signatur herunter und überprüfen sie:&lt;br /&gt;
&lt;br /&gt;
  wget https://dl.gitea.io/gitea/1.7.0/gitea-1.7.0-linux-amd64.asc&lt;br /&gt;
  gpg --keyserver pgp.mit.edu --recv 7C9E68152594688862D62AF62D9AE806EC1592E2&lt;br /&gt;
  gpg --verify gitea-1.7.0-linux-amd64.asc gitea-1.7.0-linux-amd64&lt;br /&gt;
&lt;br /&gt;
Nun können wir Gitea testweise starten:&lt;br /&gt;
&lt;br /&gt;
  ./gitea web&lt;br /&gt;
  &lt;br /&gt;
&lt;br /&gt;
Der Webserver von Gitea startet auf dem Port 3000. Das werden wir später ändern.&lt;br /&gt;
&lt;br /&gt;
Der Server kann mit Ctrl-C beendet werden.&lt;br /&gt;
&lt;br /&gt;
=== Konfiguration der Domain ===&lt;br /&gt;
&lt;br /&gt;
Zunächst wechseln wir in das Verzeichnis &#039;doms/gitea.hs-example.de&#039; und löschen den Ordner für die Subdomain &#039;www&#039;:&lt;br /&gt;
&lt;br /&gt;
  rm -rf subs/www&lt;br /&gt;
  rm -rf subs-ssl/www&lt;br /&gt;
  &lt;br /&gt;
Anschließend tragen wir die Umleitung auf HTTPS ein, falls dies nicht schon geschehen ist.&lt;br /&gt;
&lt;br /&gt;
  vi htdocs/.htaccess&lt;br /&gt;
  &lt;br /&gt;
Der Eintrag muss lauten:&lt;br /&gt;
&lt;br /&gt;
  Redirect permanent / https://gitea.hs-example.com/&lt;br /&gt;
  &lt;br /&gt;
Dann legen wir die Datei htdocs-ssl/.htaccess mit folgendem Inhalt an:&lt;br /&gt;
&lt;br /&gt;
  RewriteEngine on&lt;br /&gt;
  RewriteBase /&lt;br /&gt;
  RewriteRule ^(.*) http://localhost:31580/$1 [proxy,last]&lt;br /&gt;
  &lt;br /&gt;
Merken Sie sich die Portnummer 31580.&lt;br /&gt;
Sie wird später bei der Konfiguration von Gitea gebraucht.&lt;br /&gt;
Die Portnummer bekommen Sie vom Hostmaster, wenn Sie für Ihren Webspace einen Serverdienst (Daemon) buchen.&lt;br /&gt;
Wenn Sie einen Managed Server haben, können Sie selbst die Portnummer auswählen.&lt;br /&gt;
&lt;br /&gt;
Damit ist die Konfiguration von Apache abgeschlossen.&lt;br /&gt;
&lt;br /&gt;
=== Konfiguration von Gitea ===&lt;br /&gt;
&lt;br /&gt;
Wir editieren nun die Konfigurationsdatei von Gitea &#039;app.ini&#039;.&lt;br /&gt;
Sie befindet sich in dem Verzeichnis &#039;~/custom/conf&#039;.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;ACHTUNG&#039;&#039;&#039;: Sie können die Konfiguration teilweise auch über das Webinterface durchführen. Starten Sie dazu Gitea, wie oben beschrieben, und versuchen Sie einen Benutzer zu registrieren. Daraufhin öffnet sich der Konfigurationsdialog. Sie müssen den Gitea-Benutzer, den Namen der Datenbank, den Datenbank-Benutzer und sein Passwort parat haben.&lt;br /&gt;
&lt;br /&gt;
Die Konfigurationsdatei beginnt mit allgemeinen Einträgen:&lt;br /&gt;
&lt;br /&gt;
  APP_NAME = Gitea: Git with a cup of tea&lt;br /&gt;
  RUN_USER = xyz00-gitea&lt;br /&gt;
  RUN_MODE = prod&lt;br /&gt;
  &lt;br /&gt;
Im Abschnitt [database] folgen die Angaben zur Datenbank:&lt;br /&gt;
&lt;br /&gt;
  [database]&lt;br /&gt;
  DB_TYPE  = postgres&lt;br /&gt;
  HOST     = 127.0.0.1:5432&lt;br /&gt;
  NAME     = xyz00_giteadb&lt;br /&gt;
  USER     = xyz00_giteadbuser&lt;br /&gt;
  PASSWD   = [Passwort des Datenbankbenutzers]&lt;br /&gt;
  SSL_MODE = disable&lt;br /&gt;
  PATH     = data/gitea.db&lt;br /&gt;
&lt;br /&gt;
Es folgt der Pfad zu den Git-Repositorys und die Server-Konfiguration:&lt;br /&gt;
&lt;br /&gt;
  [repository]&lt;br /&gt;
  ROOT = /home/pacs/xyz00/users/gitea/gitea-repositories&lt;br /&gt;
  &lt;br /&gt;
  [server]&lt;br /&gt;
  PROTOCOL         = http&lt;br /&gt;
  SSH_DOMAIN       = gitea.hs-example.de &lt;br /&gt;
  DOMAIN           = gitea.hs-example.de&lt;br /&gt;
  HTTP_ADDR        = localhost&lt;br /&gt;
  HTTP_PORT        = 31580&lt;br /&gt;
  ROOT_URL         = https://gitea.hs-example.de/&lt;br /&gt;
  DISABLE_SSH      = false&lt;br /&gt;
  SSH_PORT         = 22&lt;br /&gt;
  LFS_START_SERVER = true&lt;br /&gt;
  &lt;br /&gt;
Sie können nun Gitea starten:&lt;br /&gt;
&lt;br /&gt;
  ./gitea web&lt;br /&gt;
  &lt;br /&gt;
Der Git-Service ist dann im Browser unter der Adresse gitea.hs-example.de erreichbar.&lt;br /&gt;
&lt;br /&gt;
=== Start- und Stopp-Skripte einrichten ===&lt;br /&gt;
&lt;br /&gt;
Zum Schluss müssen Sie noch Start- und Stoppskripte einrichten und Monit konfigurieren.&lt;br /&gt;
&lt;br /&gt;
Das Startskript speichern Sie unter dem Pfad &#039;~/bin/gitea-start.sh&#039; ab.&lt;br /&gt;
Es hat folgenden Inhalt:&lt;br /&gt;
&lt;br /&gt;
  #!/bin/bash&lt;br /&gt;
  export HOME=/home/pacs/xyz00/users/gitea&lt;br /&gt;
  export PATH=$HOME/bin:/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games&lt;br /&gt;
  export PID=$HOME/.gitea.pid&lt;br /&gt;
  cd $HOME&lt;br /&gt;
  exec $HOME/gitea web &amp;gt;$HOME/custom/logs/gitea.log 2&amp;gt;&amp;amp;1 &amp;amp;&lt;br /&gt;
  echo $! &amp;gt; $PID&lt;br /&gt;
&lt;br /&gt;
Das Stoppskript speichern Sie unter dem Pfad &#039;~/bin/gitea-stopp.sh&#039; an.&lt;br /&gt;
Es hat folgenden Inhalt:&lt;br /&gt;
&lt;br /&gt;
  #!/bin/bash&lt;br /&gt;
  export HOME=/home/pacs/xyz00/users/gitea&lt;br /&gt;
  export PATH=$HOME/bin:/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games&lt;br /&gt;
  export PID=$HOME/.gitea.pid&lt;br /&gt;
  cd $HOME&lt;br /&gt;
  &lt;br /&gt;
  if [ -f $PID ] ; then &lt;br /&gt;
      kill $( cat $PID );&lt;br /&gt;
      sleep 20 ;&lt;br /&gt;
      kill -9 $( cat $PID ) &amp;gt;/dev/null 2&amp;gt;&amp;amp;1 ;&lt;br /&gt;
      rm $PID ;&lt;br /&gt;
  fi&lt;br /&gt;
&lt;br /&gt;
Monit ist ein Programm zur Überwachung eines Servers oder eines Dienstes.&lt;br /&gt;
Das Programm erwartet im Verzeichnis des Domain-Benutzers die Datei &#039;~/.monitrc&#039; mit der entsprechenden Konfiguration.&lt;br /&gt;
Legen Sie die Datei mit folgendem Inhalt an:&lt;br /&gt;
&lt;br /&gt;
  set daemon 600&lt;br /&gt;
  set logfile /home/pacs/xyz00/users/gitea/custom/logs/monit.log&lt;br /&gt;
  set mailserver localhost&lt;br /&gt;
  set alert webmaster@gitea.hs-example.de&lt;br /&gt;
&lt;br /&gt;
  check process gitead with pidfile /home/pacs/xyz00/users/gitea/.gitea.pid&lt;br /&gt;
      start program &amp;quot;/home/pacs/xyz00/users/gitea/bin/gitea-start.sh&amp;quot;&lt;br /&gt;
      stop program &amp;quot;/home/pacs/xyz00/users/gitea/bin/gitea-stop.sh&amp;quot;&lt;br /&gt;
      &lt;br /&gt;
Nun können Sie noch die Rotation der Logfiles konfigurieren.&lt;br /&gt;
Dies geschieht in der Datei &#039;~/.logrotate&#039;:&lt;br /&gt;
&lt;br /&gt;
  /home/pacs/xyz00/users/gitea/custom/logs/gitea.log {&lt;br /&gt;
    copytruncate&lt;br /&gt;
    daily&lt;br /&gt;
    rotate 7&lt;br /&gt;
    compress&lt;br /&gt;
    missingok&lt;br /&gt;
  }&lt;br /&gt;
  /home/pacs/xyz00/users/gitea/custom/logs/monit.log {&lt;br /&gt;
    copytruncate&lt;br /&gt;
    monthly&lt;br /&gt;
    rotate 2&lt;br /&gt;
    compress&lt;br /&gt;
    missingok&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
Damit die Konfiguration für logrotate und monit auch nach einem Server-Neustart eingelesen werden, müssen Sie folgenden Eintrag in der crontab der Domain-Benutzers machen:&lt;br /&gt;
&lt;br /&gt;
  # m h  dom mon dow   command&lt;br /&gt;
  HOME=/home/pacs/xyz00/users/gitea&lt;br /&gt;
  PATH=$HOME/bin:/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games&lt;br /&gt;
  PID=$HOME/.gitea.pid&lt;br /&gt;
  @reboot /usr/bin/monit -c $HOME/.monitrc &amp;gt; /dev/null&lt;br /&gt;
  51 1 * * * /usr/sbin/logrotate -s $HOME/.logrotate.state $HOME/.logrotate&lt;br /&gt;
 &lt;br /&gt;
Wichtig ist der @reboot-Eintrag, der automatisch nach einem Neustart des Hosts ausgeführt wird.&lt;br /&gt;
Die Uhrzeit für die Logrotation können Sie beliebig einstellen.&lt;br /&gt;
&lt;br /&gt;
Abschließend können Sie Ihre Gitea-Instanz starten:&lt;br /&gt;
&lt;br /&gt;
  ~/bin/gitea-start.sh&lt;/div&gt;</summary>
		<author><name>Has00</name></author>
	</entry>
	<entry>
		<id>https://wiki.hostsharing.net/index.php?title=Gitea&amp;diff=4774</id>
		<title>Gitea</title>
		<link rel="alternate" type="text/html" href="https://wiki.hostsharing.net/index.php?title=Gitea&amp;diff=4774"/>
		<updated>2019-01-30T12:43:15Z</updated>

		<summary type="html">&lt;p&gt;Has00: /* Konfiguration von Gitea */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
== Gitea installieren ==&lt;br /&gt;
&lt;br /&gt;
[https://gitea.io/en-us/ Gitea] ist ein einfacher, selbst gehosteter Git-Service wie GitHub oder GitLab. Die Software ist ein Fork von Gogs und ebenfalls in der Programmiersprache Go geschrieben. Gitea benötigt wenig Ressourcen. Um Gitea auf der Hostsharing Plattform nutzen zu können, benötigt man entweder einen Managed Server oder man muss für seinen Managed Webspace einen Daemon hinzubuchen.&lt;br /&gt;
&lt;br /&gt;
Gitea unterstützt verschiedene Datenbanken. Wir gehen in dieser Anleitung davon aus, dass PostgreSQL benutzt wird.&lt;br /&gt;
&lt;br /&gt;
=== Vorbereitung der Installation ===&lt;br /&gt;
&lt;br /&gt;
Um Gitea auf der Managed Operation Platform von Hostsharing zu installieren, ist folgende Vorbereitung erforderlich.&lt;br /&gt;
&lt;br /&gt;
1. Anlegen eines Domain-Benutzers. In unserem Beispiel xyz00-gitea.&lt;br /&gt;
&lt;br /&gt;
2. Anlegen einer Domain. In unserem Beispiel gitea.hs-example.de&lt;br /&gt;
&lt;br /&gt;
3. Anlegen eines Datenbank-Benutzers. Hier xyz00_giteadbuser.&lt;br /&gt;
&lt;br /&gt;
4. Anlegen einer Datenbank. Hier xyz00_giteadb&lt;br /&gt;
&lt;br /&gt;
Auf der Kommandozeile kann man dies folgendermaßen erledigen.&lt;br /&gt;
&lt;br /&gt;
Man loggt sich als Paketbenutzer ein und startet die Kommandozeilenversion von HSAdmin mit dem Befehl &#039;&#039;hsscript&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
  hsscript -u xyz00 -i&lt;br /&gt;
  Password: ********&lt;br /&gt;
&lt;br /&gt;
Anschließend kann man die Vorbereitungsschritte 1 bis 4 erledigen:&lt;br /&gt;
&lt;br /&gt;
  xyz00@hsadmin&amp;gt; user.add({set:{name:&#039;xyz00-gitea&#039;,password:&#039;geheim&#039;,comment:&#039;Domain-User&#039;}})&lt;br /&gt;
  xyz00@hsadmin&amp;gt; domain.add({set:{name:&#039;gitea.hs-example.de&#039;,user:&#039;xyz00-gitea&#039;}})&lt;br /&gt;
  xyz00@hsadmin&amp;gt; postgresqluser.add({set:{name:&#039;xyz00_giteadbuser&#039;,password:&#039;geheim&#039;}})&lt;br /&gt;
  xyz00@hsadmin&amp;gt; postgresqldb.add({set:{name:&#039;xyz00_giteadb&#039;,owner:&#039;xyz00_giteadbuser&#039;}})&lt;br /&gt;
&lt;br /&gt;
=== Installation von Gitea ===&lt;br /&gt;
&lt;br /&gt;
Gitea wird als Binary zur Verfügung gestellt.&lt;br /&gt;
Wir installieren das Binary im Verzeichnis des Domain-Benutzers.&lt;br /&gt;
Wenn wir als Paketbenutzer eingeloggt sind, können wir den Benutzer folgendermaßen wechseln:&lt;br /&gt;
&lt;br /&gt;
  sudo -u xyz00-gitea -i&lt;br /&gt;
  &lt;br /&gt;
Nun laden wir das passende Binary herunter.&lt;br /&gt;
Auf der Website https://dl.gitea.io/gitea/ finden Sie das jeweils aktuelle Binary.&lt;br /&gt;
&lt;br /&gt;
  wget -O gitea https://dl.gitea.io/gitea/1.7.0/gitea-1.7.0-linux-amd64&lt;br /&gt;
  chmod +x gitea&lt;br /&gt;
&lt;br /&gt;
Wir laden die GPG-Signatur herunter und überprüfen sie:&lt;br /&gt;
&lt;br /&gt;
  wget https://dl.gitea.io/gitea/1.7.0/gitea-1.7.0-linux-amd64.asc&lt;br /&gt;
  gpg --keyserver pgp.mit.edu --recv 7C9E68152594688862D62AF62D9AE806EC1592E2&lt;br /&gt;
  gpg --verify gitea-1.7.0-linux-amd64.asc gitea-1.7.0-linux-amd64&lt;br /&gt;
&lt;br /&gt;
Nun können wir Gitea testweise starten:&lt;br /&gt;
&lt;br /&gt;
  ./gitea web&lt;br /&gt;
  &lt;br /&gt;
&lt;br /&gt;
Der Webserver von Gitea startet auf dem Port 3000. Das werden wir später ändern.&lt;br /&gt;
&lt;br /&gt;
Der Server kann mit Ctrl-C beendet werden.&lt;br /&gt;
&lt;br /&gt;
=== Konfiguration der Domain ===&lt;br /&gt;
&lt;br /&gt;
Zunächst wechseln wir in das Verzeichnis &#039;doms/gitea.hs-example.de&#039; und löschen den Ordner für die Subdomain &#039;www&#039;:&lt;br /&gt;
&lt;br /&gt;
  rm -rf subs/www&lt;br /&gt;
  rm -rf subs-ssl/www&lt;br /&gt;
  &lt;br /&gt;
Anschließend tragen wir die Umleitung auf HTTPS ein, falls dies nicht schon geschehen ist.&lt;br /&gt;
&lt;br /&gt;
  vi htdocs/.htaccess&lt;br /&gt;
  &lt;br /&gt;
Der Eintrag muss lauten:&lt;br /&gt;
&lt;br /&gt;
  Redirect permanent / https://gitea.hs-example.com/&lt;br /&gt;
  &lt;br /&gt;
Dann legen wir die Datei htdocs-ssl/.htaccess mit folgendem Inhalt an:&lt;br /&gt;
&lt;br /&gt;
  RewriteEngine on&lt;br /&gt;
  RewriteBase /&lt;br /&gt;
  RewriteRule ^(.*) http://localhost:31580/$1 [proxy,last]&lt;br /&gt;
  &lt;br /&gt;
Merken Sie sich die Portnummer 31580.&lt;br /&gt;
Sie wird später bei der Konfiguration von Gitea gebraucht.&lt;br /&gt;
Die Portnummer bekommen Sie vom Hostmaster, wenn Sie für Ihren Webspace einen Serverdienst (Daemon) buchen.&lt;br /&gt;
Wenn Sie einen Managed Server haben, können Sie selbst die Portnummer auswählen.&lt;br /&gt;
&lt;br /&gt;
Damit ist die Konfiguration von Apache abgeschlossen.&lt;br /&gt;
&lt;br /&gt;
=== Konfiguration von Gitea ===&lt;br /&gt;
&lt;br /&gt;
Wir editieren nun die Konfigurationsdatei von Gitea &#039;app.ini&#039;.&lt;br /&gt;
Sie befindet sich in dem Verzeichnis &#039;~/custom/conf&#039;.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;ACHTUNG&#039;&#039;&#039;: Sie können die Konfiguration teilweise auch über das Webinterface durchführen. Starten Sie dazu Gitea, wie oben beschrieben, und versuchen Sie einen Benutzer zu registrieren. Daraufhin öffnet sich der Konfigurationsdialog. Sie müssen den Gitea-Benutzer, den Namen der Datenbank, den Datenbank-Benutzer und sein Passwort parat haben.&lt;br /&gt;
&lt;br /&gt;
Die Konfigurationsdatei beginnt mit allgemeinen Einträgen:&lt;br /&gt;
&lt;br /&gt;
  APP_NAME = Gitea: Git with a cup of tea&lt;br /&gt;
  RUN_USER = xyz00-gitea&lt;br /&gt;
  RUN_MODE = prod&lt;br /&gt;
  &lt;br /&gt;
Im Abschnitt [database] folgen die Angaben zur Datenbank:&lt;br /&gt;
&lt;br /&gt;
  [database]&lt;br /&gt;
  DB_TYPE  = postgres&lt;br /&gt;
  HOST     = 127.0.0.1:5432&lt;br /&gt;
  NAME     = xyz00_giteadb&lt;br /&gt;
  USER     = xyz00_giteadbuser&lt;br /&gt;
  PASSWD   = [Passwort des Datenbankbenutzers]&lt;br /&gt;
  SSL_MODE = disable&lt;br /&gt;
  PATH     = data/gitea.db&lt;br /&gt;
&lt;br /&gt;
Es folgt der Pfad zu den Git-Repositorys und die Server-Konfiguration:&lt;br /&gt;
&lt;br /&gt;
  [repository]&lt;br /&gt;
  ROOT = /home/pacs/xyz00/users/gitea/gitea-repositories&lt;br /&gt;
  &lt;br /&gt;
  [server]&lt;br /&gt;
  PROTOCOL         = http&lt;br /&gt;
  SSH_DOMAIN       = gitea.hs-example.de &lt;br /&gt;
  DOMAIN           = gitea.hs-example.de&lt;br /&gt;
  HTTP_ADDR        = localhost&lt;br /&gt;
  HTTP_PORT        = 31580&lt;br /&gt;
  ROOT_URL         = https://gitea.hs-example.de/&lt;br /&gt;
  DISABLE_SSH      = false&lt;br /&gt;
  SSH_PORT         = 22&lt;br /&gt;
  LFS_START_SERVER = true&lt;br /&gt;
  &lt;br /&gt;
Sie können nun Gitea starten:&lt;br /&gt;
&lt;br /&gt;
  ./gitea web&lt;br /&gt;
  &lt;br /&gt;
Und den Git-Service im Browser unter der Adresse gitea.hs-example.de öffnen.&lt;br /&gt;
&lt;br /&gt;
=== Start- und Stopp-Skripte einrichten ===&lt;br /&gt;
&lt;br /&gt;
Zum Schluss müssen Sie noch Start- und Stoppskripte einrichten und Monit konfigurieren.&lt;br /&gt;
&lt;br /&gt;
Das Startskript speichern Sie unter dem Pfad &#039;~/bin/gitea-start.sh&#039; ab.&lt;br /&gt;
Es hat folgenden Inhalt:&lt;br /&gt;
&lt;br /&gt;
  #!/bin/bash&lt;br /&gt;
  export HOME=/home/pacs/xyz00/users/gitea&lt;br /&gt;
  export PATH=$HOME/bin:/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games&lt;br /&gt;
  export PID=$HOME/.gitea.pid&lt;br /&gt;
  cd $HOME&lt;br /&gt;
  exec $HOME/gitea web &amp;gt;$HOME/custom/logs/gitea.log 2&amp;gt;&amp;amp;1 &amp;amp;&lt;br /&gt;
  echo $! &amp;gt; $PID&lt;br /&gt;
&lt;br /&gt;
Das Stoppskript speichern Sie unter dem Pfad &#039;~/bin/gitea-stopp.sh&#039; an.&lt;br /&gt;
Es hat folgenden Inhalt:&lt;br /&gt;
&lt;br /&gt;
  #!/bin/bash&lt;br /&gt;
  export HOME=/home/pacs/xyz00/users/gitea&lt;br /&gt;
  export PATH=$HOME/bin:/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games&lt;br /&gt;
  export PID=$HOME/.gitea.pid&lt;br /&gt;
  cd $HOME&lt;br /&gt;
  &lt;br /&gt;
  if [ -f $PID ] ; then &lt;br /&gt;
      kill $( cat $PID );&lt;br /&gt;
      sleep 20 ;&lt;br /&gt;
      kill -9 $( cat $PID ) &amp;gt;/dev/null 2&amp;gt;&amp;amp;1 ;&lt;br /&gt;
      rm $PID ;&lt;br /&gt;
  fi&lt;br /&gt;
&lt;br /&gt;
Monit ist ein Programm zur Überwachung eines Servers oder eines Dienstes.&lt;br /&gt;
Das Programm erwartet im Verzeichnis des Domain-Benutzers die Datei &#039;~/.monitrc&#039; mit der entsprechenden Konfiguration.&lt;br /&gt;
Legen Sie die Datei mit folgendem Inhalt an:&lt;br /&gt;
&lt;br /&gt;
  set daemon 600&lt;br /&gt;
  set logfile /home/pacs/xyz00/users/gitea/custom/logs/monit.log&lt;br /&gt;
  set mailserver localhost&lt;br /&gt;
  set alert webmaster@gitea.hs-example.de&lt;br /&gt;
&lt;br /&gt;
  check process gitead with pidfile /home/pacs/xyz00/users/gitea/.gitea.pid&lt;br /&gt;
      start program &amp;quot;/home/pacs/xyz00/users/gitea/bin/gitea-start.sh&amp;quot;&lt;br /&gt;
      stop program &amp;quot;/home/pacs/xyz00/users/gitea/bin/gitea-stop.sh&amp;quot;&lt;br /&gt;
      &lt;br /&gt;
Nun können Sie noch die Rotation der Logfiles konfigurieren.&lt;br /&gt;
Dies geschieht in der Datei &#039;~/.logrotate&#039;:&lt;br /&gt;
&lt;br /&gt;
  /home/pacs/xyz00/users/gitea/custom/logs/gitea.log {&lt;br /&gt;
    copytruncate&lt;br /&gt;
    daily&lt;br /&gt;
    rotate 7&lt;br /&gt;
    compress&lt;br /&gt;
    missingok&lt;br /&gt;
  }&lt;br /&gt;
  /home/pacs/xyz00/users/gitea/custom/logs/monit.log {&lt;br /&gt;
    copytruncate&lt;br /&gt;
    monthly&lt;br /&gt;
    rotate 2&lt;br /&gt;
    compress&lt;br /&gt;
    missingok&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
Damit die Konfiguration für logrotate und monit auch nach einem Server-Neustart eingelesen werden, müssen Sie folgenden Eintrag in der crontab der Domain-Benutzers machen:&lt;br /&gt;
&lt;br /&gt;
  # m h  dom mon dow   command&lt;br /&gt;
  HOME=/home/pacs/xyz00/users/gitea&lt;br /&gt;
  PATH=$HOME/bin:/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games&lt;br /&gt;
  PID=$HOME/.gitea.pid&lt;br /&gt;
  @reboot /usr/bin/monit -c $HOME/.monitrc &amp;gt; /dev/null&lt;br /&gt;
  51 1 * * * /usr/sbin/logrotate -s $HOME/.logrotate.state $HOME/.logrotate&lt;br /&gt;
 &lt;br /&gt;
Wichtig ist der @reboot-Eintrag, der automatisch nach einem Neustart des Hosts ausgeführt wird.&lt;br /&gt;
Die Uhrzeit für die Logrotation können Sie beliebig einstellen.&lt;br /&gt;
&lt;br /&gt;
Abschließend können Sie Ihre Gitea-Instanz starten:&lt;br /&gt;
&lt;br /&gt;
  ~/bin/gitea-start.sh&lt;/div&gt;</summary>
		<author><name>Has00</name></author>
	</entry>
	<entry>
		<id>https://wiki.hostsharing.net/index.php?title=Gitea&amp;diff=4773</id>
		<title>Gitea</title>
		<link rel="alternate" type="text/html" href="https://wiki.hostsharing.net/index.php?title=Gitea&amp;diff=4773"/>
		<updated>2019-01-30T12:41:43Z</updated>

		<summary type="html">&lt;p&gt;Has00: /* Konfiguration von Gitea */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
== Gitea installieren ==&lt;br /&gt;
&lt;br /&gt;
[https://gitea.io/en-us/ Gitea] ist ein einfacher, selbst gehosteter Git-Service wie GitHub oder GitLab. Die Software ist ein Fork von Gogs und ebenfalls in der Programmiersprache Go geschrieben. Gitea benötigt wenig Ressourcen. Um Gitea auf der Hostsharing Plattform nutzen zu können, benötigt man entweder einen Managed Server oder man muss für seinen Managed Webspace einen Daemon hinzubuchen.&lt;br /&gt;
&lt;br /&gt;
Gitea unterstützt verschiedene Datenbanken. Wir gehen in dieser Anleitung davon aus, dass PostgreSQL benutzt wird.&lt;br /&gt;
&lt;br /&gt;
=== Vorbereitung der Installation ===&lt;br /&gt;
&lt;br /&gt;
Um Gitea auf der Managed Operation Platform von Hostsharing zu installieren, ist folgende Vorbereitung erforderlich.&lt;br /&gt;
&lt;br /&gt;
1. Anlegen eines Domain-Benutzers. In unserem Beispiel xyz00-gitea.&lt;br /&gt;
&lt;br /&gt;
2. Anlegen einer Domain. In unserem Beispiel gitea.hs-example.de&lt;br /&gt;
&lt;br /&gt;
3. Anlegen eines Datenbank-Benutzers. Hier xyz00_giteadbuser.&lt;br /&gt;
&lt;br /&gt;
4. Anlegen einer Datenbank. Hier xyz00_giteadb&lt;br /&gt;
&lt;br /&gt;
Auf der Kommandozeile kann man dies folgendermaßen erledigen.&lt;br /&gt;
&lt;br /&gt;
Man loggt sich als Paketbenutzer ein und startet die Kommandozeilenversion von HSAdmin mit dem Befehl &#039;&#039;hsscript&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
  hsscript -u xyz00 -i&lt;br /&gt;
  Password: ********&lt;br /&gt;
&lt;br /&gt;
Anschließend kann man die Vorbereitungsschritte 1 bis 4 erledigen:&lt;br /&gt;
&lt;br /&gt;
  xyz00@hsadmin&amp;gt; user.add({set:{name:&#039;xyz00-gitea&#039;,password:&#039;geheim&#039;,comment:&#039;Domain-User&#039;}})&lt;br /&gt;
  xyz00@hsadmin&amp;gt; domain.add({set:{name:&#039;gitea.hs-example.de&#039;,user:&#039;xyz00-gitea&#039;}})&lt;br /&gt;
  xyz00@hsadmin&amp;gt; postgresqluser.add({set:{name:&#039;xyz00_giteadbuser&#039;,password:&#039;geheim&#039;}})&lt;br /&gt;
  xyz00@hsadmin&amp;gt; postgresqldb.add({set:{name:&#039;xyz00_giteadb&#039;,owner:&#039;xyz00_giteadbuser&#039;}})&lt;br /&gt;
&lt;br /&gt;
=== Installation von Gitea ===&lt;br /&gt;
&lt;br /&gt;
Gitea wird als Binary zur Verfügung gestellt.&lt;br /&gt;
Wir installieren das Binary im Verzeichnis des Domain-Benutzers.&lt;br /&gt;
Wenn wir als Paketbenutzer eingeloggt sind, können wir den Benutzer folgendermaßen wechseln:&lt;br /&gt;
&lt;br /&gt;
  sudo -u xyz00-gitea -i&lt;br /&gt;
  &lt;br /&gt;
Nun laden wir das passende Binary herunter.&lt;br /&gt;
Auf der Website https://dl.gitea.io/gitea/ finden Sie das jeweils aktuelle Binary.&lt;br /&gt;
&lt;br /&gt;
  wget -O gitea https://dl.gitea.io/gitea/1.7.0/gitea-1.7.0-linux-amd64&lt;br /&gt;
  chmod +x gitea&lt;br /&gt;
&lt;br /&gt;
Wir laden die GPG-Signatur herunter und überprüfen sie:&lt;br /&gt;
&lt;br /&gt;
  wget https://dl.gitea.io/gitea/1.7.0/gitea-1.7.0-linux-amd64.asc&lt;br /&gt;
  gpg --keyserver pgp.mit.edu --recv 7C9E68152594688862D62AF62D9AE806EC1592E2&lt;br /&gt;
  gpg --verify gitea-1.7.0-linux-amd64.asc gitea-1.7.0-linux-amd64&lt;br /&gt;
&lt;br /&gt;
Nun können wir Gitea testweise starten:&lt;br /&gt;
&lt;br /&gt;
  ./gitea web&lt;br /&gt;
  &lt;br /&gt;
&lt;br /&gt;
Der Webserver von Gitea startet auf dem Port 3000. Das werden wir später ändern.&lt;br /&gt;
&lt;br /&gt;
Der Server kann mit Ctrl-C beendet werden.&lt;br /&gt;
&lt;br /&gt;
=== Konfiguration der Domain ===&lt;br /&gt;
&lt;br /&gt;
Zunächst wechseln wir in das Verzeichnis &#039;doms/gitea.hs-example.de&#039; und löschen den Ordner für die Subdomain &#039;www&#039;:&lt;br /&gt;
&lt;br /&gt;
  rm -rf subs/www&lt;br /&gt;
  rm -rf subs-ssl/www&lt;br /&gt;
  &lt;br /&gt;
Anschließend tragen wir die Umleitung auf HTTPS ein, falls dies nicht schon geschehen ist.&lt;br /&gt;
&lt;br /&gt;
  vi htdocs/.htaccess&lt;br /&gt;
  &lt;br /&gt;
Der Eintrag muss lauten:&lt;br /&gt;
&lt;br /&gt;
  Redirect permanent / https://gitea.hs-example.com/&lt;br /&gt;
  &lt;br /&gt;
Dann legen wir die Datei htdocs-ssl/.htaccess mit folgendem Inhalt an:&lt;br /&gt;
&lt;br /&gt;
  RewriteEngine on&lt;br /&gt;
  RewriteBase /&lt;br /&gt;
  RewriteRule ^(.*) http://localhost:31580/$1 [proxy,last]&lt;br /&gt;
  &lt;br /&gt;
Merken Sie sich die Portnummer 31580.&lt;br /&gt;
Sie wird später bei der Konfiguration von Gitea gebraucht.&lt;br /&gt;
Die Portnummer bekommen Sie vom Hostmaster, wenn Sie für Ihren Webspace einen Serverdienst (Daemon) buchen.&lt;br /&gt;
Wenn Sie einen Managed Server haben, können Sie selbst die Portnummer auswählen.&lt;br /&gt;
&lt;br /&gt;
Damit ist die Konfiguration von Apache abgeschlossen.&lt;br /&gt;
&lt;br /&gt;
=== Konfiguration von Gitea ===&lt;br /&gt;
&lt;br /&gt;
Wir editieren nun die Konfigurationsdatei von Gitea &#039;app.ini&#039;.&lt;br /&gt;
Sie befindet sich in dem Verzeichnis &#039;~/custom/conf&#039;.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;ACHTUNG&#039;&#039;&#039;: Sie können die Konfiguration teilweise auch über das Webinterface durchführen. Starten Sie dazu Gitea, wie oben beschrieben, und versuchen Sie einen Benutzer zu registrieren. Daraufhin öffnet sich der Konfigurationsdialog. Sie müssen den Gitea-Benutzer, den Namen der Datenbank, den Datenbank-Benutzer und sein Passwort parat haben.&lt;br /&gt;
&lt;br /&gt;
Die Konfigurationsdatei beginnt mit allgemeinen Einträgen:&lt;br /&gt;
&lt;br /&gt;
  APP_NAME = Gitea: Git with a cup of tea&lt;br /&gt;
  RUN_USER = xyz00-gitea&lt;br /&gt;
  RUN_MODE = prod&lt;br /&gt;
  &lt;br /&gt;
Im Abschnitt [database] folgen die Angaben zur Datenbank:&lt;br /&gt;
&lt;br /&gt;
  [database]&lt;br /&gt;
  DB_TYPE  = postgres&lt;br /&gt;
  HOST     = 127.0.0.1:5432&lt;br /&gt;
  NAME     = xyz00_giteadb&lt;br /&gt;
  USER     = xyz00_giteadbuser&lt;br /&gt;
  PASSWD   = ******&lt;br /&gt;
  SSL_MODE = disable&lt;br /&gt;
  PATH     = data/gitea.db&lt;br /&gt;
&lt;br /&gt;
Es folgt der Pfad zu den Git-Repositorys und die Server-Konfiguration:&lt;br /&gt;
&lt;br /&gt;
  [repository]&lt;br /&gt;
  ROOT = /home/pacs/xyz00/users/gitea/gitea-repositories&lt;br /&gt;
  &lt;br /&gt;
  [server]&lt;br /&gt;
  PROTOCOL         = http&lt;br /&gt;
  SSH_DOMAIN       = gitea.hs-example.de &lt;br /&gt;
  DOMAIN           = gitea.hs-example.de&lt;br /&gt;
  HTTP_ADDR        = localhost&lt;br /&gt;
  HTTP_PORT        = 31580&lt;br /&gt;
  ROOT_URL         = https://gitea.hs-example.de/&lt;br /&gt;
  DISABLE_SSH      = false&lt;br /&gt;
  SSH_PORT         = 22&lt;br /&gt;
  LFS_START_SERVER = true&lt;br /&gt;
  &lt;br /&gt;
Sie können nun Gitea starten:&lt;br /&gt;
&lt;br /&gt;
  ./gitea web&lt;br /&gt;
  &lt;br /&gt;
Und den Git-Service im Browser unter der Adresse gitea.hs-example.de öffnen.&lt;br /&gt;
&lt;br /&gt;
=== Start- und Stopp-Skripte einrichten ===&lt;br /&gt;
&lt;br /&gt;
Zum Schluss müssen Sie noch Start- und Stoppskripte einrichten und Monit konfigurieren.&lt;br /&gt;
&lt;br /&gt;
Das Startskript speichern Sie unter dem Pfad &#039;~/bin/gitea-start.sh&#039; ab.&lt;br /&gt;
Es hat folgenden Inhalt:&lt;br /&gt;
&lt;br /&gt;
  #!/bin/bash&lt;br /&gt;
  export HOME=/home/pacs/xyz00/users/gitea&lt;br /&gt;
  export PATH=$HOME/bin:/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games&lt;br /&gt;
  export PID=$HOME/.gitea.pid&lt;br /&gt;
  cd $HOME&lt;br /&gt;
  exec $HOME/gitea web &amp;gt;$HOME/custom/logs/gitea.log 2&amp;gt;&amp;amp;1 &amp;amp;&lt;br /&gt;
  echo $! &amp;gt; $PID&lt;br /&gt;
&lt;br /&gt;
Das Stoppskript speichern Sie unter dem Pfad &#039;~/bin/gitea-stopp.sh&#039; an.&lt;br /&gt;
Es hat folgenden Inhalt:&lt;br /&gt;
&lt;br /&gt;
  #!/bin/bash&lt;br /&gt;
  export HOME=/home/pacs/xyz00/users/gitea&lt;br /&gt;
  export PATH=$HOME/bin:/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games&lt;br /&gt;
  export PID=$HOME/.gitea.pid&lt;br /&gt;
  cd $HOME&lt;br /&gt;
  &lt;br /&gt;
  if [ -f $PID ] ; then &lt;br /&gt;
      kill $( cat $PID );&lt;br /&gt;
      sleep 20 ;&lt;br /&gt;
      kill -9 $( cat $PID ) &amp;gt;/dev/null 2&amp;gt;&amp;amp;1 ;&lt;br /&gt;
      rm $PID ;&lt;br /&gt;
  fi&lt;br /&gt;
&lt;br /&gt;
Monit ist ein Programm zur Überwachung eines Servers oder eines Dienstes.&lt;br /&gt;
Das Programm erwartet im Verzeichnis des Domain-Benutzers die Datei &#039;~/.monitrc&#039; mit der entsprechenden Konfiguration.&lt;br /&gt;
Legen Sie die Datei mit folgendem Inhalt an:&lt;br /&gt;
&lt;br /&gt;
  set daemon 600&lt;br /&gt;
  set logfile /home/pacs/xyz00/users/gitea/custom/logs/monit.log&lt;br /&gt;
  set mailserver localhost&lt;br /&gt;
  set alert webmaster@gitea.hs-example.de&lt;br /&gt;
&lt;br /&gt;
  check process gitead with pidfile /home/pacs/xyz00/users/gitea/.gitea.pid&lt;br /&gt;
      start program &amp;quot;/home/pacs/xyz00/users/gitea/bin/gitea-start.sh&amp;quot;&lt;br /&gt;
      stop program &amp;quot;/home/pacs/xyz00/users/gitea/bin/gitea-stop.sh&amp;quot;&lt;br /&gt;
      &lt;br /&gt;
Nun können Sie noch die Rotation der Logfiles konfigurieren.&lt;br /&gt;
Dies geschieht in der Datei &#039;~/.logrotate&#039;:&lt;br /&gt;
&lt;br /&gt;
  /home/pacs/xyz00/users/gitea/custom/logs/gitea.log {&lt;br /&gt;
    copytruncate&lt;br /&gt;
    daily&lt;br /&gt;
    rotate 7&lt;br /&gt;
    compress&lt;br /&gt;
    missingok&lt;br /&gt;
  }&lt;br /&gt;
  /home/pacs/xyz00/users/gitea/custom/logs/monit.log {&lt;br /&gt;
    copytruncate&lt;br /&gt;
    monthly&lt;br /&gt;
    rotate 2&lt;br /&gt;
    compress&lt;br /&gt;
    missingok&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
Damit die Konfiguration für logrotate und monit auch nach einem Server-Neustart eingelesen werden, müssen Sie folgenden Eintrag in der crontab der Domain-Benutzers machen:&lt;br /&gt;
&lt;br /&gt;
  # m h  dom mon dow   command&lt;br /&gt;
  HOME=/home/pacs/xyz00/users/gitea&lt;br /&gt;
  PATH=$HOME/bin:/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games&lt;br /&gt;
  PID=$HOME/.gitea.pid&lt;br /&gt;
  @reboot /usr/bin/monit -c $HOME/.monitrc &amp;gt; /dev/null&lt;br /&gt;
  51 1 * * * /usr/sbin/logrotate -s $HOME/.logrotate.state $HOME/.logrotate&lt;br /&gt;
 &lt;br /&gt;
Wichtig ist der @reboot-Eintrag, der automatisch nach einem Neustart des Hosts ausgeführt wird.&lt;br /&gt;
Die Uhrzeit für die Logrotation können Sie beliebig einstellen.&lt;br /&gt;
&lt;br /&gt;
Abschließend können Sie Ihre Gitea-Instanz starten:&lt;br /&gt;
&lt;br /&gt;
  ~/bin/gitea-start.sh&lt;/div&gt;</summary>
		<author><name>Has00</name></author>
	</entry>
	<entry>
		<id>https://wiki.hostsharing.net/index.php?title=Gitea&amp;diff=4772</id>
		<title>Gitea</title>
		<link rel="alternate" type="text/html" href="https://wiki.hostsharing.net/index.php?title=Gitea&amp;diff=4772"/>
		<updated>2019-01-30T12:41:15Z</updated>

		<summary type="html">&lt;p&gt;Has00: /* Konfiguration von Gitea */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
== Gitea installieren ==&lt;br /&gt;
&lt;br /&gt;
[https://gitea.io/en-us/ Gitea] ist ein einfacher, selbst gehosteter Git-Service wie GitHub oder GitLab. Die Software ist ein Fork von Gogs und ebenfalls in der Programmiersprache Go geschrieben. Gitea benötigt wenig Ressourcen. Um Gitea auf der Hostsharing Plattform nutzen zu können, benötigt man entweder einen Managed Server oder man muss für seinen Managed Webspace einen Daemon hinzubuchen.&lt;br /&gt;
&lt;br /&gt;
Gitea unterstützt verschiedene Datenbanken. Wir gehen in dieser Anleitung davon aus, dass PostgreSQL benutzt wird.&lt;br /&gt;
&lt;br /&gt;
=== Vorbereitung der Installation ===&lt;br /&gt;
&lt;br /&gt;
Um Gitea auf der Managed Operation Platform von Hostsharing zu installieren, ist folgende Vorbereitung erforderlich.&lt;br /&gt;
&lt;br /&gt;
1. Anlegen eines Domain-Benutzers. In unserem Beispiel xyz00-gitea.&lt;br /&gt;
&lt;br /&gt;
2. Anlegen einer Domain. In unserem Beispiel gitea.hs-example.de&lt;br /&gt;
&lt;br /&gt;
3. Anlegen eines Datenbank-Benutzers. Hier xyz00_giteadbuser.&lt;br /&gt;
&lt;br /&gt;
4. Anlegen einer Datenbank. Hier xyz00_giteadb&lt;br /&gt;
&lt;br /&gt;
Auf der Kommandozeile kann man dies folgendermaßen erledigen.&lt;br /&gt;
&lt;br /&gt;
Man loggt sich als Paketbenutzer ein und startet die Kommandozeilenversion von HSAdmin mit dem Befehl &#039;&#039;hsscript&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
  hsscript -u xyz00 -i&lt;br /&gt;
  Password: ********&lt;br /&gt;
&lt;br /&gt;
Anschließend kann man die Vorbereitungsschritte 1 bis 4 erledigen:&lt;br /&gt;
&lt;br /&gt;
  xyz00@hsadmin&amp;gt; user.add({set:{name:&#039;xyz00-gitea&#039;,password:&#039;geheim&#039;,comment:&#039;Domain-User&#039;}})&lt;br /&gt;
  xyz00@hsadmin&amp;gt; domain.add({set:{name:&#039;gitea.hs-example.de&#039;,user:&#039;xyz00-gitea&#039;}})&lt;br /&gt;
  xyz00@hsadmin&amp;gt; postgresqluser.add({set:{name:&#039;xyz00_giteadbuser&#039;,password:&#039;geheim&#039;}})&lt;br /&gt;
  xyz00@hsadmin&amp;gt; postgresqldb.add({set:{name:&#039;xyz00_giteadb&#039;,owner:&#039;xyz00_giteadbuser&#039;}})&lt;br /&gt;
&lt;br /&gt;
=== Installation von Gitea ===&lt;br /&gt;
&lt;br /&gt;
Gitea wird als Binary zur Verfügung gestellt.&lt;br /&gt;
Wir installieren das Binary im Verzeichnis des Domain-Benutzers.&lt;br /&gt;
Wenn wir als Paketbenutzer eingeloggt sind, können wir den Benutzer folgendermaßen wechseln:&lt;br /&gt;
&lt;br /&gt;
  sudo -u xyz00-gitea -i&lt;br /&gt;
  &lt;br /&gt;
Nun laden wir das passende Binary herunter.&lt;br /&gt;
Auf der Website https://dl.gitea.io/gitea/ finden Sie das jeweils aktuelle Binary.&lt;br /&gt;
&lt;br /&gt;
  wget -O gitea https://dl.gitea.io/gitea/1.7.0/gitea-1.7.0-linux-amd64&lt;br /&gt;
  chmod +x gitea&lt;br /&gt;
&lt;br /&gt;
Wir laden die GPG-Signatur herunter und überprüfen sie:&lt;br /&gt;
&lt;br /&gt;
  wget https://dl.gitea.io/gitea/1.7.0/gitea-1.7.0-linux-amd64.asc&lt;br /&gt;
  gpg --keyserver pgp.mit.edu --recv 7C9E68152594688862D62AF62D9AE806EC1592E2&lt;br /&gt;
  gpg --verify gitea-1.7.0-linux-amd64.asc gitea-1.7.0-linux-amd64&lt;br /&gt;
&lt;br /&gt;
Nun können wir Gitea testweise starten:&lt;br /&gt;
&lt;br /&gt;
  ./gitea web&lt;br /&gt;
  &lt;br /&gt;
&lt;br /&gt;
Der Webserver von Gitea startet auf dem Port 3000. Das werden wir später ändern.&lt;br /&gt;
&lt;br /&gt;
Der Server kann mit Ctrl-C beendet werden.&lt;br /&gt;
&lt;br /&gt;
=== Konfiguration der Domain ===&lt;br /&gt;
&lt;br /&gt;
Zunächst wechseln wir in das Verzeichnis &#039;doms/gitea.hs-example.de&#039; und löschen den Ordner für die Subdomain &#039;www&#039;:&lt;br /&gt;
&lt;br /&gt;
  rm -rf subs/www&lt;br /&gt;
  rm -rf subs-ssl/www&lt;br /&gt;
  &lt;br /&gt;
Anschließend tragen wir die Umleitung auf HTTPS ein, falls dies nicht schon geschehen ist.&lt;br /&gt;
&lt;br /&gt;
  vi htdocs/.htaccess&lt;br /&gt;
  &lt;br /&gt;
Der Eintrag muss lauten:&lt;br /&gt;
&lt;br /&gt;
  Redirect permanent / https://gitea.hs-example.com/&lt;br /&gt;
  &lt;br /&gt;
Dann legen wir die Datei htdocs-ssl/.htaccess mit folgendem Inhalt an:&lt;br /&gt;
&lt;br /&gt;
  RewriteEngine on&lt;br /&gt;
  RewriteBase /&lt;br /&gt;
  RewriteRule ^(.*) http://localhost:31580/$1 [proxy,last]&lt;br /&gt;
  &lt;br /&gt;
Merken Sie sich die Portnummer 31580.&lt;br /&gt;
Sie wird später bei der Konfiguration von Gitea gebraucht.&lt;br /&gt;
Die Portnummer bekommen Sie vom Hostmaster, wenn Sie für Ihren Webspace einen Serverdienst (Daemon) buchen.&lt;br /&gt;
Wenn Sie einen Managed Server haben, können Sie selbst die Portnummer auswählen.&lt;br /&gt;
&lt;br /&gt;
Damit ist die Konfiguration von Apache abgeschlossen.&lt;br /&gt;
&lt;br /&gt;
=== Konfiguration von Gitea ===&lt;br /&gt;
&lt;br /&gt;
Wir editieren nun die Konfigurationsdatei von Gitea &#039;app.ini&#039;.&lt;br /&gt;
Sie befindet sich in dem Verzeichnis &#039;~/custom/conf&#039;.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;ACHTUNG&#039;&#039;&#039;: Sie können die Konfiguration teilweise auch über das Webinterface durchführen. Starten Sie dazu Gitea, wie oben beschrieben, und versuchen Sie einen Benutzer zu registrieren. Daraufhin öffnet sich der Konfigurationsdialog. Sie müssen den Gitea-Benutzer, den Namen der Datenbank, den Datenbank-Benutzer und sein Passwort parat haben.&lt;br /&gt;
&lt;br /&gt;
Die Konfigurationsdatei beginnt mit allgemeinen Einträgen:&lt;br /&gt;
&lt;br /&gt;
  APP_NAME = Gitea: Git with a cup of tea&lt;br /&gt;
  RUN_USER = xyz00-gitea&lt;br /&gt;
  RUN_MODE = prod&lt;br /&gt;
  &lt;br /&gt;
Im Abschnitt [database] folgen die Angaben zur Datenbank:&lt;br /&gt;
&lt;br /&gt;
  [database]&lt;br /&gt;
  DB_TYPE  = postgres&lt;br /&gt;
  HOST     = 127.0.0.1:5432&lt;br /&gt;
  NAME     = xyz00_giteadb&lt;br /&gt;
  USER     = xyz00_giteadbuser&lt;br /&gt;
  PASSWD   = giteahs&lt;br /&gt;
  SSL_MODE = disable&lt;br /&gt;
  PATH     = data/gitea.db&lt;br /&gt;
&lt;br /&gt;
Es folgt der Pfad zu den Git-Repositorys und die Server-Konfiguration:&lt;br /&gt;
&lt;br /&gt;
  [repository]&lt;br /&gt;
  ROOT = /home/pacs/xyz00/users/gitea/gitea-repositories&lt;br /&gt;
  &lt;br /&gt;
  [server]&lt;br /&gt;
  PROTOCOL         = http&lt;br /&gt;
  SSH_DOMAIN       = gitea.hs-example.de &lt;br /&gt;
  DOMAIN           = gitea.hs-example.de&lt;br /&gt;
  HTTP_ADDR        = localhost&lt;br /&gt;
  HTTP_PORT        = 31580&lt;br /&gt;
  ROOT_URL         = https://gitea.hs-example.de/&lt;br /&gt;
  DISABLE_SSH      = false&lt;br /&gt;
  SSH_PORT         = 22&lt;br /&gt;
  LFS_START_SERVER = true&lt;br /&gt;
  &lt;br /&gt;
Sie können nun Gitea starten:&lt;br /&gt;
&lt;br /&gt;
  ./gitea web&lt;br /&gt;
  &lt;br /&gt;
Und den Git-Service im Browser unter der Adresse gitea.hs-example.de öffnen.&lt;br /&gt;
&lt;br /&gt;
=== Start- und Stopp-Skripte einrichten ===&lt;br /&gt;
&lt;br /&gt;
Zum Schluss müssen Sie noch Start- und Stoppskripte einrichten und Monit konfigurieren.&lt;br /&gt;
&lt;br /&gt;
Das Startskript speichern Sie unter dem Pfad &#039;~/bin/gitea-start.sh&#039; ab.&lt;br /&gt;
Es hat folgenden Inhalt:&lt;br /&gt;
&lt;br /&gt;
  #!/bin/bash&lt;br /&gt;
  export HOME=/home/pacs/xyz00/users/gitea&lt;br /&gt;
  export PATH=$HOME/bin:/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games&lt;br /&gt;
  export PID=$HOME/.gitea.pid&lt;br /&gt;
  cd $HOME&lt;br /&gt;
  exec $HOME/gitea web &amp;gt;$HOME/custom/logs/gitea.log 2&amp;gt;&amp;amp;1 &amp;amp;&lt;br /&gt;
  echo $! &amp;gt; $PID&lt;br /&gt;
&lt;br /&gt;
Das Stoppskript speichern Sie unter dem Pfad &#039;~/bin/gitea-stopp.sh&#039; an.&lt;br /&gt;
Es hat folgenden Inhalt:&lt;br /&gt;
&lt;br /&gt;
  #!/bin/bash&lt;br /&gt;
  export HOME=/home/pacs/xyz00/users/gitea&lt;br /&gt;
  export PATH=$HOME/bin:/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games&lt;br /&gt;
  export PID=$HOME/.gitea.pid&lt;br /&gt;
  cd $HOME&lt;br /&gt;
  &lt;br /&gt;
  if [ -f $PID ] ; then &lt;br /&gt;
      kill $( cat $PID );&lt;br /&gt;
      sleep 20 ;&lt;br /&gt;
      kill -9 $( cat $PID ) &amp;gt;/dev/null 2&amp;gt;&amp;amp;1 ;&lt;br /&gt;
      rm $PID ;&lt;br /&gt;
  fi&lt;br /&gt;
&lt;br /&gt;
Monit ist ein Programm zur Überwachung eines Servers oder eines Dienstes.&lt;br /&gt;
Das Programm erwartet im Verzeichnis des Domain-Benutzers die Datei &#039;~/.monitrc&#039; mit der entsprechenden Konfiguration.&lt;br /&gt;
Legen Sie die Datei mit folgendem Inhalt an:&lt;br /&gt;
&lt;br /&gt;
  set daemon 600&lt;br /&gt;
  set logfile /home/pacs/xyz00/users/gitea/custom/logs/monit.log&lt;br /&gt;
  set mailserver localhost&lt;br /&gt;
  set alert webmaster@gitea.hs-example.de&lt;br /&gt;
&lt;br /&gt;
  check process gitead with pidfile /home/pacs/xyz00/users/gitea/.gitea.pid&lt;br /&gt;
      start program &amp;quot;/home/pacs/xyz00/users/gitea/bin/gitea-start.sh&amp;quot;&lt;br /&gt;
      stop program &amp;quot;/home/pacs/xyz00/users/gitea/bin/gitea-stop.sh&amp;quot;&lt;br /&gt;
      &lt;br /&gt;
Nun können Sie noch die Rotation der Logfiles konfigurieren.&lt;br /&gt;
Dies geschieht in der Datei &#039;~/.logrotate&#039;:&lt;br /&gt;
&lt;br /&gt;
  /home/pacs/xyz00/users/gitea/custom/logs/gitea.log {&lt;br /&gt;
    copytruncate&lt;br /&gt;
    daily&lt;br /&gt;
    rotate 7&lt;br /&gt;
    compress&lt;br /&gt;
    missingok&lt;br /&gt;
  }&lt;br /&gt;
  /home/pacs/xyz00/users/gitea/custom/logs/monit.log {&lt;br /&gt;
    copytruncate&lt;br /&gt;
    monthly&lt;br /&gt;
    rotate 2&lt;br /&gt;
    compress&lt;br /&gt;
    missingok&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
Damit die Konfiguration für logrotate und monit auch nach einem Server-Neustart eingelesen werden, müssen Sie folgenden Eintrag in der crontab der Domain-Benutzers machen:&lt;br /&gt;
&lt;br /&gt;
  # m h  dom mon dow   command&lt;br /&gt;
  HOME=/home/pacs/xyz00/users/gitea&lt;br /&gt;
  PATH=$HOME/bin:/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games&lt;br /&gt;
  PID=$HOME/.gitea.pid&lt;br /&gt;
  @reboot /usr/bin/monit -c $HOME/.monitrc &amp;gt; /dev/null&lt;br /&gt;
  51 1 * * * /usr/sbin/logrotate -s $HOME/.logrotate.state $HOME/.logrotate&lt;br /&gt;
 &lt;br /&gt;
Wichtig ist der @reboot-Eintrag, der automatisch nach einem Neustart des Hosts ausgeführt wird.&lt;br /&gt;
Die Uhrzeit für die Logrotation können Sie beliebig einstellen.&lt;br /&gt;
&lt;br /&gt;
Abschließend können Sie Ihre Gitea-Instanz starten:&lt;br /&gt;
&lt;br /&gt;
  ~/bin/gitea-start.sh&lt;/div&gt;</summary>
		<author><name>Has00</name></author>
	</entry>
	<entry>
		<id>https://wiki.hostsharing.net/index.php?title=Gitea&amp;diff=4771</id>
		<title>Gitea</title>
		<link rel="alternate" type="text/html" href="https://wiki.hostsharing.net/index.php?title=Gitea&amp;diff=4771"/>
		<updated>2019-01-30T12:40:36Z</updated>

		<summary type="html">&lt;p&gt;Has00: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
== Gitea installieren ==&lt;br /&gt;
&lt;br /&gt;
[https://gitea.io/en-us/ Gitea] ist ein einfacher, selbst gehosteter Git-Service wie GitHub oder GitLab. Die Software ist ein Fork von Gogs und ebenfalls in der Programmiersprache Go geschrieben. Gitea benötigt wenig Ressourcen. Um Gitea auf der Hostsharing Plattform nutzen zu können, benötigt man entweder einen Managed Server oder man muss für seinen Managed Webspace einen Daemon hinzubuchen.&lt;br /&gt;
&lt;br /&gt;
Gitea unterstützt verschiedene Datenbanken. Wir gehen in dieser Anleitung davon aus, dass PostgreSQL benutzt wird.&lt;br /&gt;
&lt;br /&gt;
=== Vorbereitung der Installation ===&lt;br /&gt;
&lt;br /&gt;
Um Gitea auf der Managed Operation Platform von Hostsharing zu installieren, ist folgende Vorbereitung erforderlich.&lt;br /&gt;
&lt;br /&gt;
1. Anlegen eines Domain-Benutzers. In unserem Beispiel xyz00-gitea.&lt;br /&gt;
&lt;br /&gt;
2. Anlegen einer Domain. In unserem Beispiel gitea.hs-example.de&lt;br /&gt;
&lt;br /&gt;
3. Anlegen eines Datenbank-Benutzers. Hier xyz00_giteadbuser.&lt;br /&gt;
&lt;br /&gt;
4. Anlegen einer Datenbank. Hier xyz00_giteadb&lt;br /&gt;
&lt;br /&gt;
Auf der Kommandozeile kann man dies folgendermaßen erledigen.&lt;br /&gt;
&lt;br /&gt;
Man loggt sich als Paketbenutzer ein und startet die Kommandozeilenversion von HSAdmin mit dem Befehl &#039;&#039;hsscript&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
  hsscript -u xyz00 -i&lt;br /&gt;
  Password: ********&lt;br /&gt;
&lt;br /&gt;
Anschließend kann man die Vorbereitungsschritte 1 bis 4 erledigen:&lt;br /&gt;
&lt;br /&gt;
  xyz00@hsadmin&amp;gt; user.add({set:{name:&#039;xyz00-gitea&#039;,password:&#039;geheim&#039;,comment:&#039;Domain-User&#039;}})&lt;br /&gt;
  xyz00@hsadmin&amp;gt; domain.add({set:{name:&#039;gitea.hs-example.de&#039;,user:&#039;xyz00-gitea&#039;}})&lt;br /&gt;
  xyz00@hsadmin&amp;gt; postgresqluser.add({set:{name:&#039;xyz00_giteadbuser&#039;,password:&#039;geheim&#039;}})&lt;br /&gt;
  xyz00@hsadmin&amp;gt; postgresqldb.add({set:{name:&#039;xyz00_giteadb&#039;,owner:&#039;xyz00_giteadbuser&#039;}})&lt;br /&gt;
&lt;br /&gt;
=== Installation von Gitea ===&lt;br /&gt;
&lt;br /&gt;
Gitea wird als Binary zur Verfügung gestellt.&lt;br /&gt;
Wir installieren das Binary im Verzeichnis des Domain-Benutzers.&lt;br /&gt;
Wenn wir als Paketbenutzer eingeloggt sind, können wir den Benutzer folgendermaßen wechseln:&lt;br /&gt;
&lt;br /&gt;
  sudo -u xyz00-gitea -i&lt;br /&gt;
  &lt;br /&gt;
Nun laden wir das passende Binary herunter.&lt;br /&gt;
Auf der Website https://dl.gitea.io/gitea/ finden Sie das jeweils aktuelle Binary.&lt;br /&gt;
&lt;br /&gt;
  wget -O gitea https://dl.gitea.io/gitea/1.7.0/gitea-1.7.0-linux-amd64&lt;br /&gt;
  chmod +x gitea&lt;br /&gt;
&lt;br /&gt;
Wir laden die GPG-Signatur herunter und überprüfen sie:&lt;br /&gt;
&lt;br /&gt;
  wget https://dl.gitea.io/gitea/1.7.0/gitea-1.7.0-linux-amd64.asc&lt;br /&gt;
  gpg --keyserver pgp.mit.edu --recv 7C9E68152594688862D62AF62D9AE806EC1592E2&lt;br /&gt;
  gpg --verify gitea-1.7.0-linux-amd64.asc gitea-1.7.0-linux-amd64&lt;br /&gt;
&lt;br /&gt;
Nun können wir Gitea testweise starten:&lt;br /&gt;
&lt;br /&gt;
  ./gitea web&lt;br /&gt;
  &lt;br /&gt;
&lt;br /&gt;
Der Webserver von Gitea startet auf dem Port 3000. Das werden wir später ändern.&lt;br /&gt;
&lt;br /&gt;
Der Server kann mit Ctrl-C beendet werden.&lt;br /&gt;
&lt;br /&gt;
=== Konfiguration der Domain ===&lt;br /&gt;
&lt;br /&gt;
Zunächst wechseln wir in das Verzeichnis &#039;doms/gitea.hs-example.de&#039; und löschen den Ordner für die Subdomain &#039;www&#039;:&lt;br /&gt;
&lt;br /&gt;
  rm -rf subs/www&lt;br /&gt;
  rm -rf subs-ssl/www&lt;br /&gt;
  &lt;br /&gt;
Anschließend tragen wir die Umleitung auf HTTPS ein, falls dies nicht schon geschehen ist.&lt;br /&gt;
&lt;br /&gt;
  vi htdocs/.htaccess&lt;br /&gt;
  &lt;br /&gt;
Der Eintrag muss lauten:&lt;br /&gt;
&lt;br /&gt;
  Redirect permanent / https://gitea.hs-example.com/&lt;br /&gt;
  &lt;br /&gt;
Dann legen wir die Datei htdocs-ssl/.htaccess mit folgendem Inhalt an:&lt;br /&gt;
&lt;br /&gt;
  RewriteEngine on&lt;br /&gt;
  RewriteBase /&lt;br /&gt;
  RewriteRule ^(.*) http://localhost:31580/$1 [proxy,last]&lt;br /&gt;
  &lt;br /&gt;
Merken Sie sich die Portnummer 31580.&lt;br /&gt;
Sie wird später bei der Konfiguration von Gitea gebraucht.&lt;br /&gt;
Die Portnummer bekommen Sie vom Hostmaster, wenn Sie für Ihren Webspace einen Serverdienst (Daemon) buchen.&lt;br /&gt;
Wenn Sie einen Managed Server haben, können Sie selbst die Portnummer auswählen.&lt;br /&gt;
&lt;br /&gt;
Damit ist die Konfiguration von Apache abgeschlossen.&lt;br /&gt;
&lt;br /&gt;
=== Konfiguration von Gitea ===&lt;br /&gt;
&lt;br /&gt;
Wir editieren nun die Konfigurationsdatei von Gitea &#039;app.ini&#039;.&lt;br /&gt;
Sie befindet sich in dem Verzeichnis &#039;~/custom/conf&#039;.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;ACHTUNG&#039;&#039;&#039;: Sie können die Konfiguration teilweise auch über das Webinterface durchführen. Starten Sie dazu Gitea, wie oben beschrieben, und versuchen Sie einen Benutzer zu registrieren. Daraufhin öffnet sich der Konfigurationsdialog. Sie müssen den Gitea-Benutzer, den Namen der Datenbank, den Datenbank-Benutzer und sein Passwort parat haben.&lt;br /&gt;
&lt;br /&gt;
Die Datei beginnt mit allgemeinen Einträgen:&lt;br /&gt;
&lt;br /&gt;
  APP_NAME = Gitea: Git with a cup of tea&lt;br /&gt;
  RUN_USER = xyz00-gitea&lt;br /&gt;
  RUN_MODE = prod&lt;br /&gt;
  &lt;br /&gt;
Im Abschnitt [database] folgen die Angaben zur Datenbank:&lt;br /&gt;
&lt;br /&gt;
  [database]&lt;br /&gt;
  DB_TYPE  = postgres&lt;br /&gt;
  HOST     = 127.0.0.1:5432&lt;br /&gt;
  NAME     = xyz00_giteadb&lt;br /&gt;
  USER     = xyz00_giteadbuser&lt;br /&gt;
  PASSWD   = giteahs&lt;br /&gt;
  SSL_MODE = disable&lt;br /&gt;
  PATH     = data/gitea.db&lt;br /&gt;
&lt;br /&gt;
Es folgt der Pfad zu den Git-Repositorys und die Server-Konfiguration:&lt;br /&gt;
&lt;br /&gt;
  [repository]&lt;br /&gt;
  ROOT = /home/pacs/xyz00/users/gitea/gitea-repositories&lt;br /&gt;
  &lt;br /&gt;
  [server]&lt;br /&gt;
  PROTOCOL         = http&lt;br /&gt;
  SSH_DOMAIN       = gitea.hs-example.de &lt;br /&gt;
  DOMAIN           = gitea.hs-example.de&lt;br /&gt;
  HTTP_ADDR        = localhost&lt;br /&gt;
  HTTP_PORT        = 31580&lt;br /&gt;
  ROOT_URL         = https://gitea.hs-example.de/&lt;br /&gt;
  DISABLE_SSH      = false&lt;br /&gt;
  SSH_PORT         = 22&lt;br /&gt;
  LFS_START_SERVER = true&lt;br /&gt;
  &lt;br /&gt;
Sie können nun Gitea starten:&lt;br /&gt;
&lt;br /&gt;
  ./gitea web&lt;br /&gt;
  &lt;br /&gt;
Und den Git-Service im Browser unter der Adresse gitea.hs-example.de öffnen.&lt;br /&gt;
&lt;br /&gt;
=== Start- und Stopp-Skripte einrichten ===&lt;br /&gt;
&lt;br /&gt;
Zum Schluss müssen Sie noch Start- und Stoppskripte einrichten und Monit konfigurieren.&lt;br /&gt;
&lt;br /&gt;
Das Startskript speichern Sie unter dem Pfad &#039;~/bin/gitea-start.sh&#039; ab.&lt;br /&gt;
Es hat folgenden Inhalt:&lt;br /&gt;
&lt;br /&gt;
  #!/bin/bash&lt;br /&gt;
  export HOME=/home/pacs/xyz00/users/gitea&lt;br /&gt;
  export PATH=$HOME/bin:/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games&lt;br /&gt;
  export PID=$HOME/.gitea.pid&lt;br /&gt;
  cd $HOME&lt;br /&gt;
  exec $HOME/gitea web &amp;gt;$HOME/custom/logs/gitea.log 2&amp;gt;&amp;amp;1 &amp;amp;&lt;br /&gt;
  echo $! &amp;gt; $PID&lt;br /&gt;
&lt;br /&gt;
Das Stoppskript speichern Sie unter dem Pfad &#039;~/bin/gitea-stopp.sh&#039; an.&lt;br /&gt;
Es hat folgenden Inhalt:&lt;br /&gt;
&lt;br /&gt;
  #!/bin/bash&lt;br /&gt;
  export HOME=/home/pacs/xyz00/users/gitea&lt;br /&gt;
  export PATH=$HOME/bin:/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games&lt;br /&gt;
  export PID=$HOME/.gitea.pid&lt;br /&gt;
  cd $HOME&lt;br /&gt;
  &lt;br /&gt;
  if [ -f $PID ] ; then &lt;br /&gt;
      kill $( cat $PID );&lt;br /&gt;
      sleep 20 ;&lt;br /&gt;
      kill -9 $( cat $PID ) &amp;gt;/dev/null 2&amp;gt;&amp;amp;1 ;&lt;br /&gt;
      rm $PID ;&lt;br /&gt;
  fi&lt;br /&gt;
&lt;br /&gt;
Monit ist ein Programm zur Überwachung eines Servers oder eines Dienstes.&lt;br /&gt;
Das Programm erwartet im Verzeichnis des Domain-Benutzers die Datei &#039;~/.monitrc&#039; mit der entsprechenden Konfiguration.&lt;br /&gt;
Legen Sie die Datei mit folgendem Inhalt an:&lt;br /&gt;
&lt;br /&gt;
  set daemon 600&lt;br /&gt;
  set logfile /home/pacs/xyz00/users/gitea/custom/logs/monit.log&lt;br /&gt;
  set mailserver localhost&lt;br /&gt;
  set alert webmaster@gitea.hs-example.de&lt;br /&gt;
&lt;br /&gt;
  check process gitead with pidfile /home/pacs/xyz00/users/gitea/.gitea.pid&lt;br /&gt;
      start program &amp;quot;/home/pacs/xyz00/users/gitea/bin/gitea-start.sh&amp;quot;&lt;br /&gt;
      stop program &amp;quot;/home/pacs/xyz00/users/gitea/bin/gitea-stop.sh&amp;quot;&lt;br /&gt;
      &lt;br /&gt;
Nun können Sie noch die Rotation der Logfiles konfigurieren.&lt;br /&gt;
Dies geschieht in der Datei &#039;~/.logrotate&#039;:&lt;br /&gt;
&lt;br /&gt;
  /home/pacs/xyz00/users/gitea/custom/logs/gitea.log {&lt;br /&gt;
    copytruncate&lt;br /&gt;
    daily&lt;br /&gt;
    rotate 7&lt;br /&gt;
    compress&lt;br /&gt;
    missingok&lt;br /&gt;
  }&lt;br /&gt;
  /home/pacs/xyz00/users/gitea/custom/logs/monit.log {&lt;br /&gt;
    copytruncate&lt;br /&gt;
    monthly&lt;br /&gt;
    rotate 2&lt;br /&gt;
    compress&lt;br /&gt;
    missingok&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
Damit die Konfiguration für logrotate und monit auch nach einem Server-Neustart eingelesen werden, müssen Sie folgenden Eintrag in der crontab der Domain-Benutzers machen:&lt;br /&gt;
&lt;br /&gt;
  # m h  dom mon dow   command&lt;br /&gt;
  HOME=/home/pacs/xyz00/users/gitea&lt;br /&gt;
  PATH=$HOME/bin:/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games&lt;br /&gt;
  PID=$HOME/.gitea.pid&lt;br /&gt;
  @reboot /usr/bin/monit -c $HOME/.monitrc &amp;gt; /dev/null&lt;br /&gt;
  51 1 * * * /usr/sbin/logrotate -s $HOME/.logrotate.state $HOME/.logrotate&lt;br /&gt;
 &lt;br /&gt;
Wichtig ist der @reboot-Eintrag, der automatisch nach einem Neustart des Hosts ausgeführt wird.&lt;br /&gt;
Die Uhrzeit für die Logrotation können Sie beliebig einstellen.&lt;br /&gt;
&lt;br /&gt;
Abschließend können Sie Ihre Gitea-Instanz starten:&lt;br /&gt;
&lt;br /&gt;
  ~/bin/gitea-start.sh&lt;/div&gt;</summary>
		<author><name>Has00</name></author>
	</entry>
	<entry>
		<id>https://wiki.hostsharing.net/index.php?title=Gitea&amp;diff=4770</id>
		<title>Gitea</title>
		<link rel="alternate" type="text/html" href="https://wiki.hostsharing.net/index.php?title=Gitea&amp;diff=4770"/>
		<updated>2019-01-30T12:37:11Z</updated>

		<summary type="html">&lt;p&gt;Has00: /* Vorbereitung der Installation */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
== Gitea installieren ==&lt;br /&gt;
&lt;br /&gt;
[https://gitea.io/en-us/ Gitea] ist ein einfacher, selbst gehosteter Git-Service wie GitHub oder GitLab. Die Software ist ein Fork von Gogs und ebenfalls in der Programmiersprache Go geschrieben. Gitea benötigt wenig Ressourcen. Um Gitea auf der Hostsharing Plattform nutzen zu können, benötigt man entweder einen Managed Server oder man muss für seinen Managed Webspace einen Daemon hinzubuchen.&lt;br /&gt;
&lt;br /&gt;
Gitea unterstützt verschiedene Datenbanken. Wir gehen in dieser Anleitung davon aus, dass PostgreSQL benutzt wird.&lt;br /&gt;
&lt;br /&gt;
=== Vorbereitung der Installation ===&lt;br /&gt;
&lt;br /&gt;
Um Gitea auf der Managed Operation Platform von Hostsharing zu installieren, ist folgende Vorbereitung erforderlich.&lt;br /&gt;
&lt;br /&gt;
1. Anlegen eines Domain-Benutzers. In unserem Beispiel xyz00-gitea.&lt;br /&gt;
&lt;br /&gt;
2. Anlegen einer Domain. In unserem Beispiel gitea.hs-example.de&lt;br /&gt;
&lt;br /&gt;
3. Anlegen eines Datenbank-Benutzers. Hier xyz00_giteadbuser.&lt;br /&gt;
&lt;br /&gt;
4. Anlegen einer Datenbank. Hier xyz00_giteadb&lt;br /&gt;
&lt;br /&gt;
Auf der Kommandozeile kann man dies folgendermaßen erledigen.&lt;br /&gt;
&lt;br /&gt;
Man loggt sich als Paketbenutzer ein und startet die Kommandozeilenversion von HSAdmin mit dem Befehl &#039;&#039;hsscript&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
  hsscript -u xyz00 -i&lt;br /&gt;
  Password: ********&lt;br /&gt;
&lt;br /&gt;
Anschließend kann man die Vorbereitungsschritte 1 bis 4 erledigen:&lt;br /&gt;
&lt;br /&gt;
  xyz00@hsadmin&amp;gt; user.add({set:{name:&#039;xyz00-gitea&#039;,password:&#039;geheim&#039;,comment:&#039;Domain-User&#039;}})&lt;br /&gt;
  xyz00@hsadmin&amp;gt; domain.add({set:{name:&#039;gitea.hs-example.de&#039;,user:&#039;xyz00-gitea&#039;}})&lt;br /&gt;
  xyz00@hsadmin&amp;gt; postgresqluser.add({set:{name:&#039;xyz00_giteadbuser&#039;,password:&#039;geheim&#039;}})&lt;br /&gt;
  xyz00@hsadmin&amp;gt; postgresqldb.add({set:{name:&#039;xyz00_giteadb&#039;,owner:&#039;xyz00_giteadbuser&#039;}})&lt;br /&gt;
&lt;br /&gt;
=== Installation von Gitea ===&lt;br /&gt;
&lt;br /&gt;
Gitea wird als Binary zur Verfügung gestellt.&lt;br /&gt;
Wir installieren das Binary im Verzeichnis des Domain-Benutzers.&lt;br /&gt;
Wenn wir als Paketbenutzer eingeloggt sind, können wir den Benutzer folgendermaßen wechseln:&lt;br /&gt;
&lt;br /&gt;
  sudo -u xyz00-gitea -i&lt;br /&gt;
  &lt;br /&gt;
Nun laden wir das passende Binary herunter.&lt;br /&gt;
Auf der Website https://dl.gitea.io/gitea/ finden Sie das jeweils aktuelle Binary.&lt;br /&gt;
&lt;br /&gt;
  wget -O gitea https://dl.gitea.io/gitea/1.7.0/gitea-1.7.0-linux-amd64&lt;br /&gt;
  chmod +x gitea&lt;br /&gt;
&lt;br /&gt;
Wir laden die GPG-Signatur herunter und überprüfen sie:&lt;br /&gt;
&lt;br /&gt;
  wget https://dl.gitea.io/gitea/1.7.0/gitea-1.7.0-linux-amd64.asc&lt;br /&gt;
  gpg --keyserver pgp.mit.edu --recv 7C9E68152594688862D62AF62D9AE806EC1592E2&lt;br /&gt;
  gpg --verify gitea-1.7.0-linux-amd64.asc gitea-1.7.0-linux-amd64&lt;br /&gt;
&lt;br /&gt;
Nun können wir Gitea testweise starten:&lt;br /&gt;
&lt;br /&gt;
  ./gitea web&lt;br /&gt;
  &lt;br /&gt;
&lt;br /&gt;
Der Webserver von Gitea startet auf dem Port 3000. Das werden wir später ändern.&lt;br /&gt;
&lt;br /&gt;
Der Server kann mit Ctrl-C beendet werden.&lt;br /&gt;
&lt;br /&gt;
=== Konfiguration von Gitea und der Domain ===&lt;br /&gt;
&lt;br /&gt;
Zunächst wechseln wir in das Verzeichnis &#039;doms/gitea.hs-example.de&#039; und löschen den Ordner für die Subdomain &#039;www&#039;:&lt;br /&gt;
&lt;br /&gt;
  rm -rf subs/www&lt;br /&gt;
  rm -rf subs-ssl/www&lt;br /&gt;
  &lt;br /&gt;
Anschließend tragen wir die Umleitung auf HTTPS ein, falls dies nicht schon geschehen ist.&lt;br /&gt;
&lt;br /&gt;
  vi htdocs/.htaccess&lt;br /&gt;
  &lt;br /&gt;
Der Eintrag muss lauten:&lt;br /&gt;
&lt;br /&gt;
  Redirect permanent / https://gitea.hs-example.com/&lt;br /&gt;
  &lt;br /&gt;
Dann legen wir die Datei htdocs-ssl/.htaccess mit folgendem Inhalt an:&lt;br /&gt;
&lt;br /&gt;
  RewriteEngine on&lt;br /&gt;
  RewriteBase /&lt;br /&gt;
  RewriteRule ^(.*) http://localhost:31580/$1 [proxy,last]&lt;br /&gt;
  &lt;br /&gt;
Merken Sie sich die Portnummer 31580.&lt;br /&gt;
Sie wird später bei der Konfiguration von Gitea gebraucht.&lt;br /&gt;
Die Portnummer bekommen Sie vom Hostmaster, wenn Sie für Ihren Webspace einen Serverdienst (Daemon) buchen.&lt;br /&gt;
Wenn Sie einen Managed Server haben, können Sie selbst die Portnummer auswählen.&lt;br /&gt;
&lt;br /&gt;
Damit ist die Konfiguration von Apache abgeschlossen.&lt;br /&gt;
&lt;br /&gt;
Wir editieren nun die Konfigurationsdatei von Gitea &#039;app.ini&#039;.&lt;br /&gt;
Sie befindet sich in dem Verzeichnis &#039;~/custom/conf&#039;.&lt;br /&gt;
&lt;br /&gt;
ACHTUNG: Sie können die Konfiguration teilweise auch über das Webinterface durchführen. Starten Sie dazu Gitea, wie oben beschrieben, und versuchen Sie einen Benutzer zu registrieren. Daraufhin öffnet sich der Konfigurationsdialog. Sie müssen den Gitea-Benutzer, den Namen der Datenbank, den Datenbank-Benutzer und sein Passwort parat haben.&lt;br /&gt;
&lt;br /&gt;
Die Datei beginnt mit allgemeinen Einträgen:&lt;br /&gt;
&lt;br /&gt;
  APP_NAME = Gitea: Git with a cup of tea&lt;br /&gt;
  RUN_USER = xyz00-gitea&lt;br /&gt;
  RUN_MODE = prod&lt;br /&gt;
  &lt;br /&gt;
Im Abschnitt [database] folgen die Angaben zur Datenbank:&lt;br /&gt;
&lt;br /&gt;
  [database]&lt;br /&gt;
  DB_TYPE  = postgres&lt;br /&gt;
  HOST     = 127.0.0.1:5432&lt;br /&gt;
  NAME     = xyz00_giteadb&lt;br /&gt;
  USER     = xyz00_giteadbuser&lt;br /&gt;
  PASSWD   = giteahs&lt;br /&gt;
  SSL_MODE = disable&lt;br /&gt;
  PATH     = data/gitea.db&lt;br /&gt;
&lt;br /&gt;
Es folgt der Pfad zu den Git-Repositorys und die Server-Konfiguration:&lt;br /&gt;
&lt;br /&gt;
  [repository]&lt;br /&gt;
  ROOT = /home/pacs/xyz00/users/gitea/gitea-repositories&lt;br /&gt;
  &lt;br /&gt;
  [server]&lt;br /&gt;
  PROTOCOL         = http&lt;br /&gt;
  SSH_DOMAIN       = gitea.hs-example.de &lt;br /&gt;
  DOMAIN           = gitea.hs-example.de&lt;br /&gt;
  HTTP_ADDR        = localhost&lt;br /&gt;
  HTTP_PORT        = 31580&lt;br /&gt;
  ROOT_URL         = https://gitea.hs-example.de/&lt;br /&gt;
  DISABLE_SSH      = false&lt;br /&gt;
  SSH_PORT         = 22&lt;br /&gt;
  LFS_START_SERVER = true&lt;br /&gt;
  &lt;br /&gt;
Sie können nun Gitea starten:&lt;br /&gt;
&lt;br /&gt;
  ./gitea web&lt;br /&gt;
  &lt;br /&gt;
Und den Git-Service im Browser unter der Adresse gitea.hs-example.de öffnen.&lt;br /&gt;
&lt;br /&gt;
=== Start- und Stopp-Skripte einrichten ===&lt;br /&gt;
&lt;br /&gt;
Zum Schluss müssen Sie noch Start- und Stoppskripte einrichten und Monit konfigurieren.&lt;br /&gt;
&lt;br /&gt;
Das Startskript speichern Sie unter dem Pfad &#039;~/bin/gitea-start.sh&#039; ab.&lt;br /&gt;
Es hat folgenden Inhalt:&lt;br /&gt;
&lt;br /&gt;
  #!/bin/bash&lt;br /&gt;
  export HOME=/home/pacs/xyz00/users/gitea&lt;br /&gt;
  export PATH=$HOME/bin:/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games&lt;br /&gt;
  export PID=$HOME/.gitea.pid&lt;br /&gt;
  cd $HOME&lt;br /&gt;
  exec $HOME/gitea web &amp;gt;$HOME/custom/logs/gitea.log 2&amp;gt;&amp;amp;1 &amp;amp;&lt;br /&gt;
  echo $! &amp;gt; $PID&lt;br /&gt;
&lt;br /&gt;
Das Stoppskript speichern Sie unter dem Pfad &#039;~/bin/gitea-stopp.sh&#039; an.&lt;br /&gt;
Es hat folgenden Inhalt:&lt;br /&gt;
&lt;br /&gt;
  #!/bin/bash&lt;br /&gt;
  export HOME=/home/pacs/xyz00/users/gitea&lt;br /&gt;
  export PATH=$HOME/bin:/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games&lt;br /&gt;
  export PID=$HOME/.gitea.pid&lt;br /&gt;
  cd $HOME&lt;br /&gt;
  &lt;br /&gt;
  if [ -f $PID ] ; then &lt;br /&gt;
      kill $( cat $PID );&lt;br /&gt;
      sleep 20 ;&lt;br /&gt;
      kill -9 $( cat $PID ) &amp;gt;/dev/null 2&amp;gt;&amp;amp;1 ;&lt;br /&gt;
      rm $PID ;&lt;br /&gt;
  fi&lt;br /&gt;
&lt;br /&gt;
Monit ist ein Programm zur Überwachung eines Servers oder eines Dienstes.&lt;br /&gt;
Das Programm erwartet im Verzeichnis des Domain-Benutzers die Datei &#039;~/.monitrc&#039; mit der entsprechenden Konfiguration.&lt;br /&gt;
Legen Sie die Datei mit folgendem Inhalt an:&lt;br /&gt;
&lt;br /&gt;
  set daemon 600&lt;br /&gt;
  set logfile /home/pacs/xyz00/users/gitea/custom/logs/monit.log&lt;br /&gt;
  set mailserver localhost&lt;br /&gt;
  set alert webmaster@gitea.hs-example.de&lt;br /&gt;
&lt;br /&gt;
  check process gitead with pidfile /home/pacs/xyz00/users/gitea/.gitea.pid&lt;br /&gt;
      start program &amp;quot;/home/pacs/xyz00/users/gitea/bin/gitea-start.sh&amp;quot;&lt;br /&gt;
      stop program &amp;quot;/home/pacs/xyz00/users/gitea/bin/gitea-stop.sh&amp;quot;&lt;br /&gt;
      &lt;br /&gt;
Nun können Sie noch die Rotation der Logfiles konfigurieren.&lt;br /&gt;
Dies geschieht in der Datei &#039;~/.logrotate&#039;:&lt;br /&gt;
&lt;br /&gt;
  /home/pacs/xyz00/users/gitea/custom/logs/gitea.log {&lt;br /&gt;
    copytruncate&lt;br /&gt;
    daily&lt;br /&gt;
    rotate 7&lt;br /&gt;
    compress&lt;br /&gt;
    missingok&lt;br /&gt;
  }&lt;br /&gt;
  /home/pacs/xyz00/users/gitea/custom/logs/monit.log {&lt;br /&gt;
    copytruncate&lt;br /&gt;
    monthly&lt;br /&gt;
    rotate 2&lt;br /&gt;
    compress&lt;br /&gt;
    missingok&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
Damit die Konfiguration für logrotate und monit auch nach einem Server-Neustart eingelesen werden, müssen Sie folgenden Eintrag in der crontab der Domain-Benutzers machen:&lt;br /&gt;
&lt;br /&gt;
  # m h  dom mon dow   command&lt;br /&gt;
  HOME=/home/pacs/xyz00/users/gitea&lt;br /&gt;
  PATH=$HOME/bin:/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games&lt;br /&gt;
  PID=$HOME/.gitea.pid&lt;br /&gt;
  @reboot /usr/bin/monit -c $HOME/.monitrc &amp;gt; /dev/null&lt;br /&gt;
  51 1 * * * /usr/sbin/logrotate -s $HOME/.logrotate.state $HOME/.logrotate&lt;br /&gt;
 &lt;br /&gt;
Wichtig ist der @reboot-Eintrag, der automatisch nach einem Neustart des Hosts ausgeführt wird.&lt;br /&gt;
Die Uhrzeit für die Logrotation können Sie beliebig einstellen.&lt;br /&gt;
&lt;br /&gt;
Abschließend können Sie Ihre Gitea-Instanz starten:&lt;br /&gt;
&lt;br /&gt;
  ~/bin/gitea-start.sh&lt;/div&gt;</summary>
		<author><name>Has00</name></author>
	</entry>
	<entry>
		<id>https://wiki.hostsharing.net/index.php?title=Gitea&amp;diff=4769</id>
		<title>Gitea</title>
		<link rel="alternate" type="text/html" href="https://wiki.hostsharing.net/index.php?title=Gitea&amp;diff=4769"/>
		<updated>2019-01-30T12:36:12Z</updated>

		<summary type="html">&lt;p&gt;Has00: Erster Entwurf&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
== Gitea installieren ==&lt;br /&gt;
&lt;br /&gt;
[https://gitea.io/en-us/ Gitea] ist ein einfacher, selbst gehosteter Git-Service wie GitHub oder GitLab. Die Software ist ein Fork von Gogs und ebenfalls in der Programmiersprache Go geschrieben. Gitea benötigt wenig Ressourcen. Um Gitea auf der Hostsharing Plattform nutzen zu können, benötigt man entweder einen Managed Server oder man muss für seinen Managed Webspace einen Daemon hinzubuchen.&lt;br /&gt;
&lt;br /&gt;
Gitea unterstützt verschiedene Datenbanken. Wir gehen in dieser Anleitung davon aus, dass PostgreSQL benutzt wird.&lt;br /&gt;
&lt;br /&gt;
=== Vorbereitung der Installation ===&lt;br /&gt;
&lt;br /&gt;
Um Gitea auf der Managed Operation Platform von Hostsharing zu installieren, ist folgende Vorbereitung erforderlich.&lt;br /&gt;
&lt;br /&gt;
1. Anlegen eines Domain-Benutzers. In unserem Beispiel xyz00-gitea.&lt;br /&gt;
&lt;br /&gt;
2. Anlegen einer Domain. In unserem Beispiel gitea.hs-example.de&lt;br /&gt;
&lt;br /&gt;
3. Anlegen eines Datenbank-Benutzers. Hier xyz00_giteadbuser.&lt;br /&gt;
&lt;br /&gt;
4. Anlegen einer Datenbank. Hier xyz00_giteadb&lt;br /&gt;
&lt;br /&gt;
Auf der Kommandozeile kann man dies folgendermaßen erledigen.&lt;br /&gt;
&lt;br /&gt;
Man loggt sich als Paketbenutzer ein und startet die Kommandozeilenversion von HSAdmin mit dem Befehl &#039;&#039;hsscript&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
  hsscript -u xyz00 -i&lt;br /&gt;
  Password: ********&lt;br /&gt;
&lt;br /&gt;
Anschließend kann man die Vorbereitungsschritte 1 bis 4 erledigen:&lt;br /&gt;
&lt;br /&gt;
  xyz00@hsadmin&amp;gt; user.add({set:{name:&#039;xyz00-gitea&#039;,password:&#039;geheim&#039;,comment:&#039;Domain-Nutzer&#039;}})&lt;br /&gt;
  xyz00@hsadmin&amp;gt; domain.add({set:{name:&#039;gitea.hs-example.de&#039;,user:&#039;xyz00-gitea&#039;}})&lt;br /&gt;
  xyz00@hsadmin&amp;gt; postgresqluser.add({set:{name:&#039;xyz00_giteadbuser&#039;,password:&#039;geheim&#039;}})&lt;br /&gt;
  xyz00@hsadmin&amp;gt; postgresqldb.add({set:{name:&#039;xyz00_giteadb&#039;,owner:&#039;xyz00_giteadbuser&#039;}})&lt;br /&gt;
&lt;br /&gt;
=== Installation von Gitea ===&lt;br /&gt;
&lt;br /&gt;
Gitea wird als Binary zur Verfügung gestellt.&lt;br /&gt;
Wir installieren das Binary im Verzeichnis des Domain-Benutzers.&lt;br /&gt;
Wenn wir als Paketbenutzer eingeloggt sind, können wir den Benutzer folgendermaßen wechseln:&lt;br /&gt;
&lt;br /&gt;
  sudo -u xyz00-gitea -i&lt;br /&gt;
  &lt;br /&gt;
Nun laden wir das passende Binary herunter.&lt;br /&gt;
Auf der Website https://dl.gitea.io/gitea/ finden Sie das jeweils aktuelle Binary.&lt;br /&gt;
&lt;br /&gt;
  wget -O gitea https://dl.gitea.io/gitea/1.7.0/gitea-1.7.0-linux-amd64&lt;br /&gt;
  chmod +x gitea&lt;br /&gt;
&lt;br /&gt;
Wir laden die GPG-Signatur herunter und überprüfen sie:&lt;br /&gt;
&lt;br /&gt;
  wget https://dl.gitea.io/gitea/1.7.0/gitea-1.7.0-linux-amd64.asc&lt;br /&gt;
  gpg --keyserver pgp.mit.edu --recv 7C9E68152594688862D62AF62D9AE806EC1592E2&lt;br /&gt;
  gpg --verify gitea-1.7.0-linux-amd64.asc gitea-1.7.0-linux-amd64&lt;br /&gt;
&lt;br /&gt;
Nun können wir Gitea testweise starten:&lt;br /&gt;
&lt;br /&gt;
  ./gitea web&lt;br /&gt;
  &lt;br /&gt;
&lt;br /&gt;
Der Webserver von Gitea startet auf dem Port 3000. Das werden wir später ändern.&lt;br /&gt;
&lt;br /&gt;
Der Server kann mit Ctrl-C beendet werden.&lt;br /&gt;
&lt;br /&gt;
=== Konfiguration von Gitea und der Domain ===&lt;br /&gt;
&lt;br /&gt;
Zunächst wechseln wir in das Verzeichnis &#039;doms/gitea.hs-example.de&#039; und löschen den Ordner für die Subdomain &#039;www&#039;:&lt;br /&gt;
&lt;br /&gt;
  rm -rf subs/www&lt;br /&gt;
  rm -rf subs-ssl/www&lt;br /&gt;
  &lt;br /&gt;
Anschließend tragen wir die Umleitung auf HTTPS ein, falls dies nicht schon geschehen ist.&lt;br /&gt;
&lt;br /&gt;
  vi htdocs/.htaccess&lt;br /&gt;
  &lt;br /&gt;
Der Eintrag muss lauten:&lt;br /&gt;
&lt;br /&gt;
  Redirect permanent / https://gitea.hs-example.com/&lt;br /&gt;
  &lt;br /&gt;
Dann legen wir die Datei htdocs-ssl/.htaccess mit folgendem Inhalt an:&lt;br /&gt;
&lt;br /&gt;
  RewriteEngine on&lt;br /&gt;
  RewriteBase /&lt;br /&gt;
  RewriteRule ^(.*) http://localhost:31580/$1 [proxy,last]&lt;br /&gt;
  &lt;br /&gt;
Merken Sie sich die Portnummer 31580.&lt;br /&gt;
Sie wird später bei der Konfiguration von Gitea gebraucht.&lt;br /&gt;
Die Portnummer bekommen Sie vom Hostmaster, wenn Sie für Ihren Webspace einen Serverdienst (Daemon) buchen.&lt;br /&gt;
Wenn Sie einen Managed Server haben, können Sie selbst die Portnummer auswählen.&lt;br /&gt;
&lt;br /&gt;
Damit ist die Konfiguration von Apache abgeschlossen.&lt;br /&gt;
&lt;br /&gt;
Wir editieren nun die Konfigurationsdatei von Gitea &#039;app.ini&#039;.&lt;br /&gt;
Sie befindet sich in dem Verzeichnis &#039;~/custom/conf&#039;.&lt;br /&gt;
&lt;br /&gt;
ACHTUNG: Sie können die Konfiguration teilweise auch über das Webinterface durchführen. Starten Sie dazu Gitea, wie oben beschrieben, und versuchen Sie einen Benutzer zu registrieren. Daraufhin öffnet sich der Konfigurationsdialog. Sie müssen den Gitea-Benutzer, den Namen der Datenbank, den Datenbank-Benutzer und sein Passwort parat haben.&lt;br /&gt;
&lt;br /&gt;
Die Datei beginnt mit allgemeinen Einträgen:&lt;br /&gt;
&lt;br /&gt;
  APP_NAME = Gitea: Git with a cup of tea&lt;br /&gt;
  RUN_USER = xyz00-gitea&lt;br /&gt;
  RUN_MODE = prod&lt;br /&gt;
  &lt;br /&gt;
Im Abschnitt [database] folgen die Angaben zur Datenbank:&lt;br /&gt;
&lt;br /&gt;
  [database]&lt;br /&gt;
  DB_TYPE  = postgres&lt;br /&gt;
  HOST     = 127.0.0.1:5432&lt;br /&gt;
  NAME     = xyz00_giteadb&lt;br /&gt;
  USER     = xyz00_giteadbuser&lt;br /&gt;
  PASSWD   = giteahs&lt;br /&gt;
  SSL_MODE = disable&lt;br /&gt;
  PATH     = data/gitea.db&lt;br /&gt;
&lt;br /&gt;
Es folgt der Pfad zu den Git-Repositorys und die Server-Konfiguration:&lt;br /&gt;
&lt;br /&gt;
  [repository]&lt;br /&gt;
  ROOT = /home/pacs/xyz00/users/gitea/gitea-repositories&lt;br /&gt;
  &lt;br /&gt;
  [server]&lt;br /&gt;
  PROTOCOL         = http&lt;br /&gt;
  SSH_DOMAIN       = gitea.hs-example.de &lt;br /&gt;
  DOMAIN           = gitea.hs-example.de&lt;br /&gt;
  HTTP_ADDR        = localhost&lt;br /&gt;
  HTTP_PORT        = 31580&lt;br /&gt;
  ROOT_URL         = https://gitea.hs-example.de/&lt;br /&gt;
  DISABLE_SSH      = false&lt;br /&gt;
  SSH_PORT         = 22&lt;br /&gt;
  LFS_START_SERVER = true&lt;br /&gt;
  &lt;br /&gt;
Sie können nun Gitea starten:&lt;br /&gt;
&lt;br /&gt;
  ./gitea web&lt;br /&gt;
  &lt;br /&gt;
Und den Git-Service im Browser unter der Adresse gitea.hs-example.de öffnen.&lt;br /&gt;
&lt;br /&gt;
=== Start- und Stopp-Skripte einrichten ===&lt;br /&gt;
&lt;br /&gt;
Zum Schluss müssen Sie noch Start- und Stoppskripte einrichten und Monit konfigurieren.&lt;br /&gt;
&lt;br /&gt;
Das Startskript speichern Sie unter dem Pfad &#039;~/bin/gitea-start.sh&#039; ab.&lt;br /&gt;
Es hat folgenden Inhalt:&lt;br /&gt;
&lt;br /&gt;
  #!/bin/bash&lt;br /&gt;
  export HOME=/home/pacs/xyz00/users/gitea&lt;br /&gt;
  export PATH=$HOME/bin:/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games&lt;br /&gt;
  export PID=$HOME/.gitea.pid&lt;br /&gt;
  cd $HOME&lt;br /&gt;
  exec $HOME/gitea web &amp;gt;$HOME/custom/logs/gitea.log 2&amp;gt;&amp;amp;1 &amp;amp;&lt;br /&gt;
  echo $! &amp;gt; $PID&lt;br /&gt;
&lt;br /&gt;
Das Stoppskript speichern Sie unter dem Pfad &#039;~/bin/gitea-stopp.sh&#039; an.&lt;br /&gt;
Es hat folgenden Inhalt:&lt;br /&gt;
&lt;br /&gt;
  #!/bin/bash&lt;br /&gt;
  export HOME=/home/pacs/xyz00/users/gitea&lt;br /&gt;
  export PATH=$HOME/bin:/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games&lt;br /&gt;
  export PID=$HOME/.gitea.pid&lt;br /&gt;
  cd $HOME&lt;br /&gt;
  &lt;br /&gt;
  if [ -f $PID ] ; then &lt;br /&gt;
      kill $( cat $PID );&lt;br /&gt;
      sleep 20 ;&lt;br /&gt;
      kill -9 $( cat $PID ) &amp;gt;/dev/null 2&amp;gt;&amp;amp;1 ;&lt;br /&gt;
      rm $PID ;&lt;br /&gt;
  fi&lt;br /&gt;
&lt;br /&gt;
Monit ist ein Programm zur Überwachung eines Servers oder eines Dienstes.&lt;br /&gt;
Das Programm erwartet im Verzeichnis des Domain-Benutzers die Datei &#039;~/.monitrc&#039; mit der entsprechenden Konfiguration.&lt;br /&gt;
Legen Sie die Datei mit folgendem Inhalt an:&lt;br /&gt;
&lt;br /&gt;
  set daemon 600&lt;br /&gt;
  set logfile /home/pacs/xyz00/users/gitea/custom/logs/monit.log&lt;br /&gt;
  set mailserver localhost&lt;br /&gt;
  set alert webmaster@gitea.hs-example.de&lt;br /&gt;
&lt;br /&gt;
  check process gitead with pidfile /home/pacs/xyz00/users/gitea/.gitea.pid&lt;br /&gt;
      start program &amp;quot;/home/pacs/xyz00/users/gitea/bin/gitea-start.sh&amp;quot;&lt;br /&gt;
      stop program &amp;quot;/home/pacs/xyz00/users/gitea/bin/gitea-stop.sh&amp;quot;&lt;br /&gt;
      &lt;br /&gt;
Nun können Sie noch die Rotation der Logfiles konfigurieren.&lt;br /&gt;
Dies geschieht in der Datei &#039;~/.logrotate&#039;:&lt;br /&gt;
&lt;br /&gt;
  /home/pacs/xyz00/users/gitea/custom/logs/gitea.log {&lt;br /&gt;
    copytruncate&lt;br /&gt;
    daily&lt;br /&gt;
    rotate 7&lt;br /&gt;
    compress&lt;br /&gt;
    missingok&lt;br /&gt;
  }&lt;br /&gt;
  /home/pacs/xyz00/users/gitea/custom/logs/monit.log {&lt;br /&gt;
    copytruncate&lt;br /&gt;
    monthly&lt;br /&gt;
    rotate 2&lt;br /&gt;
    compress&lt;br /&gt;
    missingok&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
Damit die Konfiguration für logrotate und monit auch nach einem Server-Neustart eingelesen werden, müssen Sie folgenden Eintrag in der crontab der Domain-Benutzers machen:&lt;br /&gt;
&lt;br /&gt;
  # m h  dom mon dow   command&lt;br /&gt;
  HOME=/home/pacs/xyz00/users/gitea&lt;br /&gt;
  PATH=$HOME/bin:/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games&lt;br /&gt;
  PID=$HOME/.gitea.pid&lt;br /&gt;
  @reboot /usr/bin/monit -c $HOME/.monitrc &amp;gt; /dev/null&lt;br /&gt;
  51 1 * * * /usr/sbin/logrotate -s $HOME/.logrotate.state $HOME/.logrotate&lt;br /&gt;
 &lt;br /&gt;
Wichtig ist der @reboot-Eintrag, der automatisch nach einem Neustart des Hosts ausgeführt wird.&lt;br /&gt;
Die Uhrzeit für die Logrotation können Sie beliebig einstellen.&lt;br /&gt;
&lt;br /&gt;
Abschließend können Sie Ihre Gitea-Instanz starten:&lt;br /&gt;
&lt;br /&gt;
  ~/bin/gitea-start.sh&lt;/div&gt;</summary>
		<author><name>Has00</name></author>
	</entry>
	<entry>
		<id>https://wiki.hostsharing.net/index.php?title=Green_Web_Foundation&amp;diff=4760</id>
		<title>Green Web Foundation</title>
		<link rel="alternate" type="text/html" href="https://wiki.hostsharing.net/index.php?title=Green_Web_Foundation&amp;diff=4760"/>
		<updated>2018-12-11T12:07:31Z</updated>

		<summary type="html">&lt;p&gt;Has00: Einbindung des Badge beschrieben&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Hostsharing ist Mitglied der Green Web Foundation und hat nachgewiesen, dass in den Rechenzentren der Genossenschaft Strom aus erneuerbaren Energiequellen genutzt wird.&lt;br /&gt;
&lt;br /&gt;
Deshalb kann nicht nur Hostsharing sich mit dem Badge der Green Web Foundation schmücken.&lt;br /&gt;
Auch alle bei Hostsharing gehosteten Websites können das Signet einbinden. &lt;br /&gt;
&lt;br /&gt;
== Benutzung der  Website der Green Web Foundation ==&lt;br /&gt;
&lt;br /&gt;
Die Green Web Foundation betreibt ein Register, in dem Websites aufgeführt werden, die mit grünem Strom betrieben werden. Auf der Website https://www.thegreenwebfoundation.org/ lässt sich der Status einer Website abfragen.&lt;br /&gt;
&lt;br /&gt;
Gebt einfach in das Suchfeld die Adresse der Website ein. &lt;br /&gt;
&lt;br /&gt;
Falls eure Website bei Hostsharing gehostet ist, erscheint ein grüner Smiley:&lt;br /&gt;
&lt;br /&gt;
[[Datei:Green_Web_Foundation_Hostsharing.png]]&lt;br /&gt;
&lt;br /&gt;
== Einbindung des Badge ==&lt;br /&gt;
&lt;br /&gt;
Das Badge der Green Web Foundation könnt ihr auf zwei Arten in eure Website einbinden.&lt;br /&gt;
&lt;br /&gt;
1. Ihr könnt entweder den angegebenen Link zur API an die Stelle setzen, an der der Badge auf euren Seiten erscheinen soll.&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;img src=&amp;quot;https://api.thegreenwebfoundation.org/greencheckimage/www.example.com&amp;quot; alt=&amp;quot;This website is hosted Green - checked by thegreenwebfoundation.org&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dann wird die Bilddatei mit dem Badge von der Website der Green Web Foundation aus eingebunden.&lt;br /&gt;
Die Folge ist, dass die Browser der Besucher eurer Website eine Anfrage an den Server der Foundation stellen, wodurch Daten übertragen werden.&lt;br /&gt;
&lt;br /&gt;
2. Wenn ihr verhindern wollt, dass Daten an die Foundation fließen, speichert einfach die Bilddatei in eurer Website ab und bindet sie so in den Seitencode eurer Website ein. Ein solcher Link könnte so aussehen:&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;a class=&amp;quot;image&amp;quot; href=&amp;quot;https://www.thegreenwebfoundation.org/green-web-check/?url=www.example.com&amp;quot;&amp;gt;&amp;lt;img src=&amp;quot;images/badge-greenwebfoundation.png&amp;quot;&amp;gt;&amp;lt;/a&amp;gt;&lt;/div&gt;</summary>
		<author><name>Has00</name></author>
	</entry>
	<entry>
		<id>https://wiki.hostsharing.net/index.php?title=Datei:Green_Web_Foundation_Hostsharing.png&amp;diff=4759</id>
		<title>Datei:Green Web Foundation Hostsharing.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.hostsharing.net/index.php?title=Datei:Green_Web_Foundation_Hostsharing.png&amp;diff=4759"/>
		<updated>2018-12-11T11:52:36Z</updated>

		<summary type="html">&lt;p&gt;Has00: Anzeige auf der Website der Green Web Foundation&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Anzeige auf der Website der Green Web Foundation&lt;/div&gt;</summary>
		<author><name>Has00</name></author>
	</entry>
	<entry>
		<id>https://wiki.hostsharing.net/index.php?title=Green_Web_Foundation&amp;diff=4758</id>
		<title>Green Web Foundation</title>
		<link rel="alternate" type="text/html" href="https://wiki.hostsharing.net/index.php?title=Green_Web_Foundation&amp;diff=4758"/>
		<updated>2018-12-11T11:50:45Z</updated>

		<summary type="html">&lt;p&gt;Has00: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Hostsharing ist Mitglied der Green Web Foundation und hat nachgewiesen, dass in den Rechenzentren der Genossenschaft Strom aus erneuerbaren Energiequellen genutzt wird.&lt;br /&gt;
&lt;br /&gt;
Alle bei Hostsharing gehosteten Websites können deshalb ein Signet der Green Web Foundation einbinden. &lt;br /&gt;
&lt;br /&gt;
== Benutzung der  Website der Green Web Foundation ==&lt;br /&gt;
&lt;br /&gt;
Auf der Website https://www.thegreenwebfoundation.org/ lässt sich der Status einer Website abfragen.&lt;br /&gt;
&lt;br /&gt;
Gebt einfach in das Suchfeld die Adresse eurer Website ein. Falls eure Website bei Hostsharing gehostet ist, erscheint ein grüner Smiley wie zum Beispiel hier:&lt;br /&gt;
&lt;br /&gt;
https://www.thegreenwebfoundation.org/green-web-check/?url=www.hostsharing.net&lt;br /&gt;
&lt;br /&gt;
[[Datei:Green_Web_Foundation_Hostsharing.png]]&lt;/div&gt;</summary>
		<author><name>Has00</name></author>
	</entry>
	<entry>
		<id>https://wiki.hostsharing.net/index.php?title=Green_Web_Foundation&amp;diff=4757</id>
		<title>Green Web Foundation</title>
		<link rel="alternate" type="text/html" href="https://wiki.hostsharing.net/index.php?title=Green_Web_Foundation&amp;diff=4757"/>
		<updated>2018-12-11T11:49:01Z</updated>

		<summary type="html">&lt;p&gt;Has00: Die Seite wurde neu angelegt: „Hostsharing ist Mitglied der Green Web Foundation und hat nachgewiesen, dass in den Rechenzentren der Genossenschaft Strom aus erneuerbaren Energiequellen genu…“&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Hostsharing ist Mitglied der Green Web Foundation und hat nachgewiesen, dass in den Rechenzentren der Genossenschaft Strom aus erneuerbaren Energiequellen genutzt wird.&lt;br /&gt;
&lt;br /&gt;
Alle bei Hostsharing gehosteten Websites können deshalb ein Signet der Green Web Foundation einbinden. &lt;br /&gt;
&lt;br /&gt;
== Benutzung der  Website der Green Web Foundation ==&lt;br /&gt;
&lt;br /&gt;
Auf der Website https://www.thegreenwebfoundation.org/ lässt sich der Status einer Website abfragen.&lt;br /&gt;
&lt;br /&gt;
Gebt einfach in das Suchfeld die Adresse eurer Website ein. Falls eure Website bei Hostsharing gehostet ist, erscheint ein grüner Smiley wie zum Beispiel hier:&lt;br /&gt;
&lt;br /&gt;
https://www.thegreenwebfoundation.org/green-web-check/?url=www.hostsharing.net&lt;br /&gt;
&lt;br /&gt;
[[Datei:green-web-foundation-hs.png]]&lt;/div&gt;</summary>
		<author><name>Has00</name></author>
	</entry>
	<entry>
		<id>https://wiki.hostsharing.net/index.php?title=Hauptseite&amp;diff=4756</id>
		<title>Hauptseite</title>
		<link rel="alternate" type="text/html" href="https://wiki.hostsharing.net/index.php?title=Hauptseite&amp;diff=4756"/>
		<updated>2018-12-11T11:42:50Z</updated>

		<summary type="html">&lt;p&gt;Has00: /* Hostsharing Benefits */ Grüner Strom Green Web Foundation&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{HSDoku-Links}} __NOTOC__ &lt;br /&gt;
&lt;br /&gt;
== Willkommen im Hostsharing-Wiki! ==&lt;br /&gt;
... der &#039;&#039;&#039;inoffiziellen&#039;&#039;&#039; Dokumentation der Mitglieder von Hostsharing. Die wichtigsten Themen findest du in der Leiste oben. Alle Themen und Seiten des Wiki erreichst du am besten über die Kategorie [[:Kategorie:HSDoku|HSDoku]]. &lt;br /&gt;
&lt;br /&gt;
Die &#039;&#039;&#039;offizielle&#039;&#039;&#039; Kerndokumentation ist unter:&lt;br /&gt;
https://doc.hostsharing.net/users/&lt;br /&gt;
&lt;br /&gt;
Allgemeine Fragen zum Umgang mit den HS Diensten und Angeboten beantwortet die HS Community in der [https://lists.hostsharing.net/mailman/listinfo/support Support Mailingliste] mit der Mailadresse [mailto:support@hostsharing.net support@hostsharing.net]. Fragen, die vertrauliche Themen behandeln (Domainnamen, Benutzernamen, Passwörter etc.) sollten direkt an den [[HS-Service]] gehen, der ansonsten kostenpflichtig ist. Ergänzende Hinweise finden sich in den [https://lists.hostsharing.net/archiv/global-announce/ Global Announces] der Hostmaster und des Vorstandes zu aktuellen Geschehnissen und technischen Änderungen bei Hostsharing. &lt;br /&gt;
&lt;br /&gt;
Du kannst dich mit deinen HS Userdaten einloggen und mithelfen, die Dokumentation zu verbessern. In unserem [[Autorenportal]] findest du Hinweise dazu, wie du dich beteiligen kannst. Was hier ins Wiki gehört, und wie es gemacht wird, ist unter [[Hilfe:Hostsharing_Wiki_Konventionen|Konventionen]] erklärt.&lt;br /&gt;
&lt;br /&gt;
Zum Testen und Rumspielen ist der [[Sandkasten]] da. Und nun viel Freude im Hostsharing Wiki :-)&lt;br /&gt;
&lt;br /&gt;
== Hostsharing Benefits ==&lt;br /&gt;
&lt;br /&gt;
Hostsharing.net ist die professionelle Alternative zur Administration eigener Root Server mit dem Bonus der Redundanz und des gemeinschaftlich organisierten Betriebes.&lt;br /&gt;
&lt;br /&gt;
[[Green Web Foundation | Ökostrom: Hostsharing ist Mitglied der Green Web Foundation]]&lt;br /&gt;
&lt;br /&gt;
[[10 Missverständnisse über dedizierte root-Server | Rootserver Missverständnisse]]&amp;lt;br&amp;gt;&lt;br /&gt;
[[Rootserver Checkliste]]&lt;br /&gt;
&lt;br /&gt;
==Mastodon-Instanz für Mitglieder==&lt;br /&gt;
[[Einrichtung und Benutzung von Mastodon-Accounts auf https://hostsharing.coop]]&amp;lt;br/&amp;gt;&lt;br /&gt;
[[Einrichtung des Crossposting Bots]]&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
[[Kategorie:Hostsharing Wiki]]&lt;br /&gt;
[[Kategorie:HSDoku]]&lt;/div&gt;</summary>
		<author><name>Has00</name></author>
	</entry>
	<entry>
		<id>https://wiki.hostsharing.net/index.php?title=Mastodon_bei_Hostsharing&amp;diff=4708</id>
		<title>Mastodon bei Hostsharing</title>
		<link rel="alternate" type="text/html" href="https://wiki.hostsharing.net/index.php?title=Mastodon_bei_Hostsharing&amp;diff=4708"/>
		<updated>2018-10-10T06:58:02Z</updated>

		<summary type="html">&lt;p&gt;Has00: Kleiner SEO Einstieg&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Diese Anleitung beschreibt, wie man Mastodon auf der Managed Hosting Plattform von Hostsharing installieren kann. &lt;br /&gt;
&lt;br /&gt;
{{Textkasten|gelb|Für Managed Server|Ein funktionierender Mastodon-Server erfordert mehrere laufende Server-Dienste. Für den Betrieb ist ein Managed Server sinnvoll.}}&lt;br /&gt;
&lt;br /&gt;
== Vorbereitungen ==&lt;br /&gt;
&lt;br /&gt;
Mit Hilfe von HSAdmin wird angelegt:&lt;br /&gt;
# Ein User als Service-User mit &#039;&#039;/bin/bash&#039;&#039; als Shell, zum Beispiel Beispiel: &#039;&#039;xyz00-mastodon&#039;&#039;&lt;br /&gt;
# Eine Domain mit &#039;&#039;xyz00-mastodon&#039;&#039; als Domain-Administrator, zum Beispiel &#039;&#039;beispiel.social&#039;&#039;&lt;br /&gt;
# Einen Postgresql-User &#039;&#039;xyz00_mastuser&#039;&#039; mit Passwort &#039;&#039;meinPasswort&#039;&#039;&lt;br /&gt;
# Eine Postgresql-Datenbank &#039;&#039;xyz00_mastdb&#039;&#039; mit Datenbank-Owner &#039;&#039;xyz00_mastuser&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Verwendete IP-Ports der Server-Dienste:&lt;br /&gt;
# Monit: localhost:32001&lt;br /&gt;
# Redis: localhost:32002&lt;br /&gt;
# Mastodon-Web: localhost:32003&lt;br /&gt;
# Mastodon-Streaming: localhost:32004&lt;br /&gt;
&lt;br /&gt;
== Konfiguration des Redis Server ==&lt;br /&gt;
&lt;br /&gt;
Anlegen einer Datei &#039;&#039;/home/pacs/xyz00/users/mastodon/redis/etc/redis.conf&#039;&#039; mit folgendem Inhalt:&lt;br /&gt;
&lt;br /&gt;
    daemonize yes&lt;br /&gt;
    pidfile /home/pacs/xyz00/users/mastodon/redis/var/redis-server.pid&lt;br /&gt;
    port 32002&lt;br /&gt;
    tcp-backlog 128&lt;br /&gt;
    bind 127.0.0.1&lt;br /&gt;
    timeout 300&lt;br /&gt;
    loglevel notice&lt;br /&gt;
    logfile /home/pacs/xyz00/users/mastodon/redis/var/redis.log&lt;br /&gt;
    databases 16&lt;br /&gt;
    save 900 1&lt;br /&gt;
    save 300 10&lt;br /&gt;
    save 60 10000&lt;br /&gt;
    slave-serve-stale-data yes&lt;br /&gt;
    appendonly no&lt;br /&gt;
    dbfilename dump.rdb&lt;br /&gt;
    dir /home/pacs/xyz00/users/mastodon/redis/var&lt;br /&gt;
&lt;br /&gt;
== Installation von NodeJS ==&lt;br /&gt;
&lt;br /&gt;
Als User &#039;xyz00-mastodon&#039;&#039;: Installation von &#039;&#039;nvm&#039;&#039; und &#039;&#039;nodejs&#039;&#039; (Version 8) nach der Anleitung [[NodeJS]]&lt;br /&gt;
&lt;br /&gt;
Installation von &#039;&#039;yarn&#039;&#039; mit:&lt;br /&gt;
&lt;br /&gt;
    npm install -g yarn&lt;br /&gt;
&lt;br /&gt;
== Installation von Ruby ==&lt;br /&gt;
&lt;br /&gt;
Als User &#039;&#039;xyz00-mastodon&#039;&#039;:  Installation von Ruby mit &#039;&#039;rbenv&#039;&#039; mit folgenden Befehlen:&lt;br /&gt;
&lt;br /&gt;
Zunächst &#039;&#039;rbenv&#039;&#039; and &#039;&#039;ruby-build&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
    git clone https://github.com/rbenv/rbenv.git ~/.rbenv&lt;br /&gt;
    cd ~/.rbenv &amp;amp;&amp;amp; src/configure &amp;amp;&amp;amp; make -C src&lt;br /&gt;
    echo &#039;export PATH=&amp;quot;$HOME/.rbenv/bin:$PATH&amp;quot;&#039; &amp;gt;&amp;gt; ~/.profile&lt;br /&gt;
    echo &#039;eval &amp;quot;$(rbenv init -)&amp;quot;&#039; &amp;gt;&amp;gt; ~/.profile&lt;br /&gt;
&lt;br /&gt;
starte neue Shell:&lt;br /&gt;
&lt;br /&gt;
    exec bash&lt;br /&gt;
&lt;br /&gt;
Überprüfe rbenv-Installation&lt;br /&gt;
&lt;br /&gt;
    type rbenv&lt;br /&gt;
&lt;br /&gt;
Installiere ruby-build als rbenv-Plugin&lt;br /&gt;
&lt;br /&gt;
    git clone https://github.com/rbenv/ruby-build.git ~/.rbenv/plugins/ruby-build&lt;br /&gt;
&lt;br /&gt;
Nun kann die benötigte Ruby-Version installiert werden:&lt;br /&gt;
&lt;br /&gt;
    rbenv install 2.5.1&lt;br /&gt;
&lt;br /&gt;
== Installation der Mastodon Software ==&lt;br /&gt;
&lt;br /&gt;
Weiterhin Als User &#039;&#039;xyz00-mastodon&#039;&#039;:  &lt;br /&gt;
&lt;br /&gt;
    cd ~&lt;br /&gt;
    git clone https://github.com/tootsuite/mastodon.git live&lt;br /&gt;
    cd ~/live&lt;br /&gt;
&lt;br /&gt;
Die stabile Version auschecken:&lt;br /&gt;
&lt;br /&gt;
    git checkout $(git tag -l | grep -v &#039;rc[0-9]*$&#039; | sort -V | tail -n 1)&lt;br /&gt;
&lt;br /&gt;
Ruby Pakete installieren:&lt;br /&gt;
&lt;br /&gt;
    gem install bundler&lt;br /&gt;
    bundle install -j$(getconf _NPROCESSORS_ONLN) --deployment --without development test&lt;br /&gt;
&lt;br /&gt;
Node.js Pakete installieren:&lt;br /&gt;
&lt;br /&gt;
    yarn install --pure-lockfile&lt;br /&gt;
&lt;br /&gt;
== Konfiguration der Mastodon Software ==&lt;br /&gt;
&lt;br /&gt;
Anlegen einer Datei &#039;&#039;/home/pacs/xyz00/users/mastodon/mystodon/live/.env.production&#039;&#039; mit dem folgenden Inhalt:&lt;br /&gt;
&lt;br /&gt;
    REDIS_HOST=localhost&lt;br /&gt;
    REDIS_PORT=32002&lt;br /&gt;
    DB_HOST=localhost&lt;br /&gt;
    DB_USER=xyz00_mastuser&lt;br /&gt;
    DB_NAME=xyz00_mastdb&lt;br /&gt;
    DB_PASS=meinPasswort&lt;br /&gt;
    DB_PORT=5432&lt;br /&gt;
    LOCAL_DOMAIN=beispiel.social&lt;br /&gt;
    SECRET_KEY_BASE=12ab..&lt;br /&gt;
    OTP_SECRET=34ef..&lt;br /&gt;
    VAPID_PRIVATE_KEY=ABCD..&lt;br /&gt;
    VAPID_PUBLIC_KEY=EFGH..&lt;br /&gt;
    DEFAULT_LOCALE=de&lt;br /&gt;
    SMTP_SERVER=localhost&lt;br /&gt;
    SMTP_PORT=25&lt;br /&gt;
    SMTP_FROM_ADDRESS=notifications@beispiel.social&lt;br /&gt;
    SMTP_AUTH_METHOD=none&lt;br /&gt;
    SMTP_OPENSSL_VERIFY_MODE=none&lt;br /&gt;
    STREAMING_CLUSTER_NUM=1&lt;br /&gt;
&lt;br /&gt;
Die Zufallswerte für die Variablen SECRET_KEY_BASE und OTP_SECRET erzeugt man durch zwei Aufrufe des Kommandos&lt;br /&gt;
&lt;br /&gt;
    RAILS_ENV=production bundle exec rake secret&lt;br /&gt;
&lt;br /&gt;
Die Werte für VAPID_PRIVATE_KEY und VAPID_PUBLIC_KEY erzeugt das Kommando&lt;br /&gt;
&lt;br /&gt;
    RAILS_ENV=production bundle exec rake mastodon:webpush:generate_vapid_key&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Initialisieren der Datenbank:&lt;br /&gt;
&lt;br /&gt;
    export SAFETY_ASSURED=1&lt;br /&gt;
    RAILS_ENV=production bundle exec rails db:schema:load&lt;br /&gt;
    RAILS_ENV=production bundle exec rails db:seed&lt;br /&gt;
&lt;br /&gt;
== Starten der Dienste  ==&lt;br /&gt;
&lt;br /&gt;
Zum Start aller notwendigen Dienste wird in dieser Anleitung &#039;&#039;monit&#039;&#039; benutzt. Hier ein Beispiel für eine Datei &#039;&#039;.monitrc&#039;&#039; (überlange Zeilen werden hier im Wiki umgebrochen)&lt;br /&gt;
&lt;br /&gt;
    set daemon 60&lt;br /&gt;
        with start delay 120&lt;br /&gt;
    set logfile /home/pacs/xyz00/users/mastodon/monit/var/monit.log&lt;br /&gt;
    set idfile /home/pacs/xyz00/users/mastodon/monit/var/monit.id&lt;br /&gt;
    set statefile /home/pacs/xyz00/users/mastodon/monit/var/monit.state&lt;br /&gt;
    set mailserver localhost&lt;br /&gt;
    set mail-format { from: monit@beispiel.social }&lt;br /&gt;
    set alert mastodon@beispiel.social&lt;br /&gt;
    set httpd port 32001 address xyz00.hostsharing.net &lt;br /&gt;
        allow mostodon:monitpassword&lt;br /&gt;
    check process redis with pidfile /home/pacs/xyz00/users/mastodon/redis/var/redis-server.pid&lt;br /&gt;
        start program &amp;quot;/usr/bin/redis-server /home/pacs/xyz00/users/mastodon/redis/etc/redis.conf&amp;quot;&lt;br /&gt;
        stop program &amp;quot;/bin/bash -c &#039;/bin/kill $( cat /home/pacs/xyz00/users/mastodon/redis/var/redis-server.pid )&#039;&amp;quot;&lt;br /&gt;
    check process mstdn_web with pidfile /home/pacs/xyz00/users/mastodon/mastodon/var/puma.pid&lt;br /&gt;
        depends redis&lt;br /&gt;
        start program &amp;quot;/bin/bash -c &#039;export HOME=/home/pacs/xyz00/users/mastodon &amp;amp;&amp;amp; cd $HOME/mastodon/live &amp;amp;&amp;amp; ( $HOME/.rbenv/shims/bundle exec puma -C config/puma.rb -e production -b tcp://127.0.0.1:32003 &amp;gt;$HOME/mastodon/var/puma.log 2&amp;gt;&amp;amp;1 &amp;amp;  echo $! &amp;gt; $HOME/mastodon/var/puma.pid  )&#039;&amp;quot;&lt;br /&gt;
        stop program &amp;quot;/bin/bash -c &#039;/bin/kill $( cat /home/pacs/xyz00/users/mastodon/mastodon/var/puma.pid )&#039;&amp;quot;&lt;br /&gt;
    check process mstdn_sidekiq with pidfile /home/pacs/xyz00/users/mastodon/mastodon/var/sidekiq.pid&lt;br /&gt;
        depends redis&lt;br /&gt;
        start program &amp;quot;/bin/bash -c &#039;export RAILS_ENV=production &amp;amp;&amp;amp; export DB_POOL=5 &amp;amp;&amp;amp; export HOME=/home/pacs/xyz00/users/mastodon &amp;amp;&amp;amp; cd $HOME/mastodon/live &amp;amp;&amp;amp; ( $HOME/.rbenv/shims/bundle exec sidekiq -c 5 -q default -q mailers -q pull -q push &amp;gt;$HOME/mastodon/var/sidekiq.log 2&amp;gt;&amp;amp;1 &amp;amp;  echo $! &amp;gt; $HOME/mastodon/var/sidekiq.pid  )&#039;&amp;quot;&lt;br /&gt;
        stop program &amp;quot;/bin/bash -c &#039;/bin/kill $( cat /home/pacs/xyz00/users/mastodon/mastodon/var/sidekiq.pid )&#039;&amp;quot;&lt;br /&gt;
    check process mstdn_streaming with pidfile /home/pacs/xyz00/users/mastodon/mastodon/var/streaming.pid&lt;br /&gt;
        depends redis&lt;br /&gt;
        start program &amp;quot;/bin/bash -c &#039;export HOME=/home/pacs/xyz00/users/mastodon &amp;amp;&amp;amp; export NVM_DIR=&amp;quot;$HOME/.nvm&amp;quot; &amp;amp;&amp;amp; export NVM_BIN=/home/pacs/xyz00/users/mastodon/.nvm/versions/node/v8.12.0/bin &amp;amp;&amp;amp; export NODE_ENV=production &amp;amp;&amp;amp; export PORT=32004 &amp;amp;&amp;amp; BIND=127.0.0.1 &amp;amp;&amp;amp; cd $HOME/mastodon/live &amp;amp;&amp;amp; ( $HOME/.nvm/versions/node/v8.12.0/bin/node streaming/index.js &amp;gt;$HOME/mastodon/var/streaming.log 2&amp;gt;&amp;amp;1 &amp;amp;  echo $! &amp;gt; $HOME/mastodon/var/streaming.pid  )&#039;&amp;quot;&lt;br /&gt;
        stop program &amp;quot;/bin/bash -c &#039;/bin/kill $( cat /home/pacs/xyz00/users/mastodon/mastodon/var/streaming.pid )&#039;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Einrichten des Apache VHost ==&lt;br /&gt;
&lt;br /&gt;
    cd ~/doms/beispiel.social&lt;br /&gt;
    rm -rf htdocs-ssl subs/www subs-ssl/www&lt;br /&gt;
    ln -s ~/live/public htdocs-ssl&lt;br /&gt;
    touch htdocs-ssl/.htaccess&lt;br /&gt;
&lt;br /&gt;
Dann die &#039;&#039;htdocs-ssl/.htaccess&#039;&#039; mit dem Editor der Wahl öffnen und &lt;br /&gt;
folgende Konfiguration einfügen:&lt;br /&gt;
&lt;br /&gt;
    DirectoryIndex disabled&lt;br /&gt;
    RewriteEngine On&lt;br /&gt;
    RewriteBase /&lt;br /&gt;
    RewriteCond %{REQUEST_URI}  ^/api/v1/streaming    [NC]&lt;br /&gt;
    RewriteRule .* ws://localhost:32004%{REQUEST_URI}  [proxy]&lt;br /&gt;
    RequestHeader set X-Forwarded-Proto &amp;quot;https&amp;quot;&lt;br /&gt;
    RewriteCond %{REQUEST_FILENAME} !-f&lt;br /&gt;
    RewriteCond %{REQUEST_FILENAME} !-l&lt;br /&gt;
    RewriteRule .* http://localhost:32003%{REQUEST_URI} [proxy]&lt;br /&gt;
    RequestHeader set X-Forwarded-Proto &amp;quot;https&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Cronjobs ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Cron&#039;&#039; wird für zwei Aufgaben genutzt:&lt;br /&gt;
* Start von monit nach einem Server Reboot&lt;br /&gt;
* Aufräumen von alten Resourcen&lt;br /&gt;
&lt;br /&gt;
Einrichten der crontab mit &#039;&#039;cronttab -e&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
    HOME=/home/pacs/xyz00/users/mastodon&lt;br /&gt;
    MAILTO=mastodon@beispiel.social&lt;br /&gt;
    RAILS_ENV=production&lt;br /&gt;
    NUM_DAYS=31&lt;br /&gt;
    &lt;br /&gt;
    @reboot /usr/bin/monit -c $HOME/.monitrc&lt;br /&gt;
    18 4 * * * cd $HOME/mastodon/live &amp;amp;&amp;amp; $HOME/.rbenv/shims/bundle exec rake mastodon:media:remove_remote&lt;br /&gt;
&lt;br /&gt;
== Volltextsuche ==&lt;br /&gt;
&lt;br /&gt;
In der installierten Version gibt es noch keine Volltextsuche. Es kann lediglich nach Nutzerkennungen und Hastags gesucht werden. Für die Volltextsuche kann optional Elasticsearch installiert werden.&lt;br /&gt;
* https://github.com/tootsuite/documentation/blob/master/Running-Mastodon/Elasticsearch-guide.md&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
&lt;br /&gt;
* https://github.com/tootsuite/documentation/blob/master/Running-Mastodon/Production-guide.md&lt;br /&gt;
* https://krinetzki.de/2017/04/installation-von-mastodon-auf-debian-8-jessie/&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Installationsanleitungen]]&lt;/div&gt;</summary>
		<author><name>Has00</name></author>
	</entry>
	<entry>
		<id>https://wiki.hostsharing.net/index.php?title=Domainregistrierung&amp;diff=4640</id>
		<title>Domainregistrierung</title>
		<link rel="alternate" type="text/html" href="https://wiki.hostsharing.net/index.php?title=Domainregistrierung&amp;diff=4640"/>
		<updated>2018-08-06T16:00:43Z</updated>

		<summary type="html">&lt;p&gt;Has00: Reihenfolge: erst HSAdmin dann Domain-Bestellsystem per Headline hervorgehoben&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{HSDoku-DomainLinks}}&lt;br /&gt;
__NOTOC__&lt;br /&gt;
&lt;br /&gt;
=== Erst eine neue Domain über HSAdmin einrichten, dann über das Domain-Bestellsystem registrieren oder von einem anderen Provider transferieren ===&lt;br /&gt;
&lt;br /&gt;
Wird eine neue Domain registriert oder von einem anderen Provider zu Hostsharing transferiert, sollte im Normalfall die Domain bei Hostsharing über HSAdmin eingerichtet werden, bevor die Registrierung letztlich eingeleitet bzw. aktualisiert wird. Sonst kann es zu Problemen beim Konnektieren der Domain kommen.&lt;br /&gt;
&lt;br /&gt;
= Einrichten der Domain auf den HS Servern =&lt;br /&gt;
&lt;br /&gt;
{{Kerndoku|https://doc.hostsharing.net/users/administration/hsadmin/domain.html}}&lt;br /&gt;
&lt;br /&gt;
Der Domainname muss im Punicode Format angelegt werden aus münster.de wird xn--mnster-3ya.de .&lt;br /&gt;
&lt;br /&gt;
Bei diesem Vorgang werden die Verzeichnisse für die Domain im eigenen Paket angelegt und die Domain wird auf die Mail, Web- und Nameserver von HS [[Aufschaltung|aufgeschaltet]]. Letzteres (das Nameserver-Update) ist Voraussetzung für den nächsten Schritt.&lt;br /&gt;
&lt;br /&gt;
= Domainregistrierung oder eingehender Transfer ([[KK]]) =&lt;br /&gt;
&lt;br /&gt;
== Bei fremdem Provider registrierte Domain zum Transfer freischalten ==&lt;br /&gt;
&lt;br /&gt;
Falls die Domain bisher bei einem anderen Provider gehostet ist, muss diesem die Transfer-Absicht mitgeteilt werden. Dafür gibt es bei den jeweiligen Providern etablierte Verfahren, die dort zu erfragen sind. Üblicherweise bekommt man dort einen AuthCode für die Domain mitgeteilt. Gibt es kein etabliertes Verfahren, so kann man wie folgt verfahren:&lt;br /&gt;
&lt;br /&gt;
* Formlos per Brief/Fax den Transfer ankündigen und um Zustimmung bitten, z.B.: &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Hiermit kündige ich als Owner/Admin-C den Transfer (KK) der &lt;br /&gt;
Domain example.com zur Hostsharing eG, vertreten durch den Registrar &lt;br /&gt;
Internetwire, an. Ich bitte, dem folgenden Transferantrag zuzustimmen.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Nach Absendung der Transfer-Ankündigung 3-4 Tage warten, um dem alten Provider  Zeit zu geben auf den Transferantrag zu reagieren. &lt;br /&gt;
* Wenn dem Transfer nicht stattgegeben wird, den Registrar der Domain herausfinden (z.B. über die Nameserver oder zuständige Registry) und bitten den Transfer zuzulassen.&lt;br /&gt;
&lt;br /&gt;
== Neuregistrierung oder Transfer zu Hostsharing ([[KK]]) ==&lt;br /&gt;
&lt;br /&gt;
Die Vorgehensweise ist unter  https://doc.hostsharing.net/users/anleitung/domain.html  beschrieben. &lt;br /&gt;
&lt;br /&gt;
* Bei der allerersten Domainregistrierung im Domainbestellsystem müssen die Hostsharing Nameserver noch manuell eingegeben werden. Es sind dies:&lt;br /&gt;
&lt;br /&gt;
     dns1.hostsharing.net&lt;br /&gt;
     dns2.hostsharing.net&lt;br /&gt;
     dns3.hostsharing.net&lt;br /&gt;
&lt;br /&gt;
= E-Mail-Adressen der neu eingerichteten Domain =&lt;br /&gt;
&lt;br /&gt;
Ist die Domain bei Hostsharing aufgeschaltet, sind standardmäßig nur die E-Mail-Adressen webmaster@..., postmaster@... und abuse@... eingerichtet. Die Einrichtung weiterer E-Mail-Adressen ist unter [https://doc.hostsharing.net/users/anleitung/email.html] beschrieben.&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:HSDoku]]&lt;br /&gt;
[[Kategorie:Domains]]&lt;br /&gt;
[[Kategorie:Hsadmin]]&lt;/div&gt;</summary>
		<author><name>Has00</name></author>
	</entry>
	<entry>
		<id>https://wiki.hostsharing.net/index.php?title=Observatory_by_Mozilla&amp;diff=4624</id>
		<title>Observatory by Mozilla</title>
		<link rel="alternate" type="text/html" href="https://wiki.hostsharing.net/index.php?title=Observatory_by_Mozilla&amp;diff=4624"/>
		<updated>2018-06-24T14:20:18Z</updated>

		<summary type="html">&lt;p&gt;Has00: /* Meta-Tag Snippet für A+ Rating */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Sicherheits-Scan mit Rating ==&lt;br /&gt;
&lt;br /&gt;
[https://observatory.mozilla.org/ Das Observatory von Mozilla] scannt Websites und analysiert die Implementierung von wichtigen Sicherheits-Features. Auf der Ergebnisseite werden Webmaster darüber informiert, wie ihre Website abgeschnitten hat. Neben einem Rating von A bis F (analog der US-amerikanischen Schulnoten) erfährt man auf der Ergebnisseite, wie man die Sicherheit der eigenen Website verbessern kann.&lt;br /&gt;
&lt;br /&gt;
Mozilla hat die Sicherheitshinweise in ausführlichen [https://infosec.mozilla.org/guidelines/web_security.html Guidelines] zusammengefasst.&lt;br /&gt;
&lt;br /&gt;
== Snippet für A+ Rating ==&lt;br /&gt;
&lt;br /&gt;
Die Header zur Verbesserung der Sicherheit können in der Apache-Konfiguration gesetzt werden. Zum Beispiel in der Datei [[.htaccess]]&lt;br /&gt;
&lt;br /&gt;
Mit der folgenden Konfiguration erzielt die Homepage von Hostsharing beim Rating ein A+:&lt;br /&gt;
&lt;br /&gt;
    Header set Content-Security-Policy &amp;quot;default-src &#039;none&#039;; font-src &#039;self&#039;; img-src &#039;self&#039;; script-src &#039;self&#039;; style-src &#039;self&#039; &#039;unsafe-inline&#039;; base-uri &#039;self&#039;; form-action &#039;self&#039;; frame-ancestors &#039;none&#039;&amp;quot;&lt;br /&gt;
    Header set X-Content-Type-Options &amp;quot;nosniff&amp;quot;&lt;br /&gt;
    Header set X-Frame-Options &amp;quot;DENY&amp;quot;&lt;br /&gt;
    Header set X-XSS-Protection &amp;quot;1; mode=block&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Meta-Tag Snippet für A+ Rating ==&lt;br /&gt;
&lt;br /&gt;
Die Header können teilweise auch im HTML-Code der Website gesetzt werden.&lt;br /&gt;
&lt;br /&gt;
Mit diesen Meta-Tags im Header erzielt man ebenfalls ein A+-Rating:&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;meta http-equiv=&amp;quot;Content-Security-Policy&amp;quot; content=&amp;quot;default-src &#039;none&#039;; object-src &#039;none&#039;; font-src &#039;self&#039;; img-src &#039;self&#039;; script-src &#039;self&#039;; style-src &#039;self&#039; &#039;unsafe-inline&#039;; base-uri &#039;self&#039;; form-action &#039;self&#039;; frame-ancestors &#039;none&#039;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;meta http-equiv=&amp;quot;X-XSS-Protection&amp;quot; content=&amp;quot;1; mode=block&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;meta http-equiv=&amp;quot;X-Content-Type-Options&amp;quot; content=&amp;quot;nosniff&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;meta http-equiv=&amp;quot;X-Frame-Options&amp;quot; content=&amp;quot;DENY&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;meta http-equiv=&amp;quot;Referrer-Policy&amp;quot; content=&amp;quot;no-referrer, strict-origin-when-cross-origin&amp;quot;&amp;gt;&lt;/div&gt;</summary>
		<author><name>Has00</name></author>
	</entry>
	<entry>
		<id>https://wiki.hostsharing.net/index.php?title=Observatory_by_Mozilla&amp;diff=4623</id>
		<title>Observatory by Mozilla</title>
		<link rel="alternate" type="text/html" href="https://wiki.hostsharing.net/index.php?title=Observatory_by_Mozilla&amp;diff=4623"/>
		<updated>2018-06-24T14:07:11Z</updated>

		<summary type="html">&lt;p&gt;Has00: /* Snippet für A+ Rating */ .htaccess erwähnt&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Sicherheits-Scan mit Rating ==&lt;br /&gt;
&lt;br /&gt;
[https://observatory.mozilla.org/ Das Observatory von Mozilla] scannt Websites und analysiert die Implementierung von wichtigen Sicherheits-Features. Auf der Ergebnisseite werden Webmaster darüber informiert, wie ihre Website abgeschnitten hat. Neben einem Rating von A bis F (analog der US-amerikanischen Schulnoten) erfährt man auf der Ergebnisseite, wie man die Sicherheit der eigenen Website verbessern kann.&lt;br /&gt;
&lt;br /&gt;
Mozilla hat die Sicherheitshinweise in ausführlichen [https://infosec.mozilla.org/guidelines/web_security.html Guidelines] zusammengefasst.&lt;br /&gt;
&lt;br /&gt;
== Snippet für A+ Rating ==&lt;br /&gt;
&lt;br /&gt;
Die Header zur Verbesserung der Sicherheit können in der Apache-Konfiguration gesetzt werden. Zum Beispiel in der Datei [[.htaccess]]&lt;br /&gt;
&lt;br /&gt;
Mit der folgenden Konfiguration erzielt die Homepage von Hostsharing beim Rating ein A+:&lt;br /&gt;
&lt;br /&gt;
    Header set Content-Security-Policy &amp;quot;default-src &#039;none&#039;; font-src &#039;self&#039;; img-src &#039;self&#039;; script-src &#039;self&#039;; style-src &#039;self&#039; &#039;unsafe-inline&#039;; base-uri &#039;self&#039;; form-action &#039;self&#039;; frame-ancestors &#039;none&#039;&amp;quot;&lt;br /&gt;
    Header set X-Content-Type-Options &amp;quot;nosniff&amp;quot;&lt;br /&gt;
    Header set X-Frame-Options &amp;quot;DENY&amp;quot;&lt;br /&gt;
    Header set X-XSS-Protection &amp;quot;1; mode=block&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Meta-Tag Snippet für A+ Rating ==&lt;br /&gt;
&lt;br /&gt;
Die Header können auch in HTML-Code der Website gesetzt werden.&lt;br /&gt;
&lt;br /&gt;
Mit diesen Meta-Tags im Header erzielt man ebenfalls ein A+-Rating:&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;meta http-equiv=&amp;quot;Content-Security-Policy&amp;quot; content=&amp;quot;default-src &#039;none&#039;; object-src &#039;none&#039;; font-src &#039;self&#039;; img-src &#039;self&#039;; script-src &#039;self&#039;; style-src &#039;self&#039; &#039;unsafe-inline&#039;; base-uri &#039;self&#039;; form-action &#039;self&#039;; frame-ancestors &#039;none&#039;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;meta http-equiv=&amp;quot;X-XSS-Protection&amp;quot; content=&amp;quot;1; mode=block&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;meta http-equiv=&amp;quot;X-Content-Type-Options&amp;quot; content=&amp;quot;nosniff&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;meta http-equiv=&amp;quot;X-Frame-Options&amp;quot; content=&amp;quot;DENY&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;meta http-equiv=&amp;quot;Referrer-Policy&amp;quot; content=&amp;quot;no-referrer, strict-origin-when-cross-origin&amp;quot;&amp;gt;&lt;/div&gt;</summary>
		<author><name>Has00</name></author>
	</entry>
	<entry>
		<id>https://wiki.hostsharing.net/index.php?title=Observatory_by_Mozilla&amp;diff=4622</id>
		<title>Observatory by Mozilla</title>
		<link rel="alternate" type="text/html" href="https://wiki.hostsharing.net/index.php?title=Observatory_by_Mozilla&amp;diff=4622"/>
		<updated>2018-06-24T11:41:45Z</updated>

		<summary type="html">&lt;p&gt;Has00: /* Meta-Tag Snippet für A+ Rating */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Sicherheits-Scan mit Rating ==&lt;br /&gt;
&lt;br /&gt;
[https://observatory.mozilla.org/ Das Observatory von Mozilla] scannt Websites und analysiert die Implementierung von wichtigen Sicherheits-Features. Auf der Ergebnisseite werden Webmaster darüber informiert, wie ihre Website abgeschnitten hat. Neben einem Rating von A bis F (analog der US-amerikanischen Schulnoten) erfährt man auf der Ergebnisseite, wie man die Sicherheit der eigenen Website verbessern kann.&lt;br /&gt;
&lt;br /&gt;
Mozilla hat die Sicherheitshinweise in ausführlichen [https://infosec.mozilla.org/guidelines/web_security.html Guidelines] zusammengefasst.&lt;br /&gt;
&lt;br /&gt;
== Snippet für A+ Rating ==&lt;br /&gt;
&lt;br /&gt;
Die Header zur Verbesserung der Sicherheit können in der Apache-Konfiguration gesetzt werden.&lt;br /&gt;
&lt;br /&gt;
Mit der folgenden Konfiguration erzielt die Homepage von Hostsharing beim Rating ein A+:&lt;br /&gt;
&lt;br /&gt;
    Header set Content-Security-Policy &amp;quot;default-src &#039;none&#039;; font-src &#039;self&#039;; img-src &#039;self&#039;; script-src &#039;self&#039;; style-src &#039;self&#039; &#039;unsafe-inline&#039;; base-uri &#039;self&#039;; form-action &#039;self&#039;; frame-ancestors &#039;none&#039;&amp;quot;&lt;br /&gt;
    Header set X-Content-Type-Options &amp;quot;nosniff&amp;quot;&lt;br /&gt;
    Header set X-Frame-Options &amp;quot;DENY&amp;quot;&lt;br /&gt;
    Header set X-XSS-Protection &amp;quot;1; mode=block&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Meta-Tag Snippet für A+ Rating ==&lt;br /&gt;
&lt;br /&gt;
Die Header können auch in HTML-Code der Website gesetzt werden.&lt;br /&gt;
&lt;br /&gt;
Mit diesen Meta-Tags im Header erzielt man ebenfalls ein A+-Rating:&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;meta http-equiv=&amp;quot;Content-Security-Policy&amp;quot; content=&amp;quot;default-src &#039;none&#039;; object-src &#039;none&#039;; font-src &#039;self&#039;; img-src &#039;self&#039;; script-src &#039;self&#039;; style-src &#039;self&#039; &#039;unsafe-inline&#039;; base-uri &#039;self&#039;; form-action &#039;self&#039;; frame-ancestors &#039;none&#039;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;meta http-equiv=&amp;quot;X-XSS-Protection&amp;quot; content=&amp;quot;1; mode=block&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;meta http-equiv=&amp;quot;X-Content-Type-Options&amp;quot; content=&amp;quot;nosniff&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;meta http-equiv=&amp;quot;X-Frame-Options&amp;quot; content=&amp;quot;DENY&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;meta http-equiv=&amp;quot;Referrer-Policy&amp;quot; content=&amp;quot;no-referrer, strict-origin-when-cross-origin&amp;quot;&amp;gt;&lt;/div&gt;</summary>
		<author><name>Has00</name></author>
	</entry>
	<entry>
		<id>https://wiki.hostsharing.net/index.php?title=Observatory_by_Mozilla&amp;diff=4621</id>
		<title>Observatory by Mozilla</title>
		<link rel="alternate" type="text/html" href="https://wiki.hostsharing.net/index.php?title=Observatory_by_Mozilla&amp;diff=4621"/>
		<updated>2018-06-24T11:41:04Z</updated>

		<summary type="html">&lt;p&gt;Has00: /* Snippet für A+ Rating */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Sicherheits-Scan mit Rating ==&lt;br /&gt;
&lt;br /&gt;
[https://observatory.mozilla.org/ Das Observatory von Mozilla] scannt Websites und analysiert die Implementierung von wichtigen Sicherheits-Features. Auf der Ergebnisseite werden Webmaster darüber informiert, wie ihre Website abgeschnitten hat. Neben einem Rating von A bis F (analog der US-amerikanischen Schulnoten) erfährt man auf der Ergebnisseite, wie man die Sicherheit der eigenen Website verbessern kann.&lt;br /&gt;
&lt;br /&gt;
Mozilla hat die Sicherheitshinweise in ausführlichen [https://infosec.mozilla.org/guidelines/web_security.html Guidelines] zusammengefasst.&lt;br /&gt;
&lt;br /&gt;
== Snippet für A+ Rating ==&lt;br /&gt;
&lt;br /&gt;
Die Header zur Verbesserung der Sicherheit können in der Apache-Konfiguration gesetzt werden.&lt;br /&gt;
&lt;br /&gt;
Mit der folgenden Konfiguration erzielt die Homepage von Hostsharing beim Rating ein A+:&lt;br /&gt;
&lt;br /&gt;
    Header set Content-Security-Policy &amp;quot;default-src &#039;none&#039;; font-src &#039;self&#039;; img-src &#039;self&#039;; script-src &#039;self&#039;; style-src &#039;self&#039; &#039;unsafe-inline&#039;; base-uri &#039;self&#039;; form-action &#039;self&#039;; frame-ancestors &#039;none&#039;&amp;quot;&lt;br /&gt;
    Header set X-Content-Type-Options &amp;quot;nosniff&amp;quot;&lt;br /&gt;
    Header set X-Frame-Options &amp;quot;DENY&amp;quot;&lt;br /&gt;
    Header set X-XSS-Protection &amp;quot;1; mode=block&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Meta-Tag Snippet für A+ Rating ==&lt;br /&gt;
&lt;br /&gt;
Mit diesen Meta-Tags im Header erzielt man ebenfalls ein A+-Rating:&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;meta http-equiv=&amp;quot;Content-Security-Policy&amp;quot; content=&amp;quot;default-src &#039;none&#039;; object-src &#039;none&#039;; font-src &#039;self&#039;; img-src &#039;self&#039;; script-src &#039;self&#039;; style-src &#039;self&#039; &#039;unsafe-inline&#039;; base-uri &#039;self&#039;; form-action &#039;self&#039;; frame-ancestors &#039;none&#039;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;meta http-equiv=&amp;quot;X-XSS-Protection&amp;quot; content=&amp;quot;1; mode=block&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;meta http-equiv=&amp;quot;X-Content-Type-Options&amp;quot; content=&amp;quot;nosniff&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;meta http-equiv=&amp;quot;X-Frame-Options&amp;quot; content=&amp;quot;DENY&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;meta http-equiv=&amp;quot;Referrer-Policy&amp;quot; content=&amp;quot;no-referrer, strict-origin-when-cross-origin&amp;quot;&amp;gt;&lt;/div&gt;</summary>
		<author><name>Has00</name></author>
	</entry>
	<entry>
		<id>https://wiki.hostsharing.net/index.php?title=Observatory_by_Mozilla&amp;diff=4620</id>
		<title>Observatory by Mozilla</title>
		<link rel="alternate" type="text/html" href="https://wiki.hostsharing.net/index.php?title=Observatory_by_Mozilla&amp;diff=4620"/>
		<updated>2018-06-24T11:30:42Z</updated>

		<summary type="html">&lt;p&gt;Has00: /* Sicherheits-Scan mit Rating */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Sicherheits-Scan mit Rating ==&lt;br /&gt;
&lt;br /&gt;
[https://observatory.mozilla.org/ Das Observatory von Mozilla] scannt Websites und analysiert die Implementierung von wichtigen Sicherheits-Features. Auf der Ergebnisseite werden Webmaster darüber informiert, wie ihre Website abgeschnitten hat. Neben einem Rating von A bis F (analog der US-amerikanischen Schulnoten) erfährt man auf der Ergebnisseite, wie man die Sicherheit der eigenen Website verbessern kann.&lt;br /&gt;
&lt;br /&gt;
Mozilla hat die Sicherheitshinweise in ausführlichen [https://infosec.mozilla.org/guidelines/web_security.html Guidelines] zusammengefasst.&lt;br /&gt;
&lt;br /&gt;
== Snippet für A+ Rating ==&lt;br /&gt;
&lt;br /&gt;
    Header set Content-Security-Policy &amp;quot;default-src &#039;none&#039;; font-src &#039;self&#039;; img-src &#039;self&#039;; script-src &#039;self&#039;; style-src &#039;self&#039; &#039;unsafe-inline&#039;; base-uri &#039;self&#039;; form-action &#039;self&#039;; frame-ancestors &#039;none&#039;&amp;quot;&lt;br /&gt;
    Header set X-Content-Type-Options &amp;quot;nosniff&amp;quot;&lt;br /&gt;
    Header set X-Frame-Options &amp;quot;DENY&amp;quot;&lt;br /&gt;
    Header set X-XSS-Protection &amp;quot;1; mode=block&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Meta-Tag Snippet für A+ Rating ==&lt;br /&gt;
&lt;br /&gt;
Mit diesen Meta-Tags im Header erzielt man ebenfalls ein A+-Rating:&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;meta http-equiv=&amp;quot;Content-Security-Policy&amp;quot; content=&amp;quot;default-src &#039;none&#039;; object-src &#039;none&#039;; font-src &#039;self&#039;; img-src &#039;self&#039;; script-src &#039;self&#039;; style-src &#039;self&#039; &#039;unsafe-inline&#039;; base-uri &#039;self&#039;; form-action &#039;self&#039;; frame-ancestors &#039;none&#039;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;meta http-equiv=&amp;quot;X-XSS-Protection&amp;quot; content=&amp;quot;1; mode=block&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;meta http-equiv=&amp;quot;X-Content-Type-Options&amp;quot; content=&amp;quot;nosniff&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;meta http-equiv=&amp;quot;X-Frame-Options&amp;quot; content=&amp;quot;DENY&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;meta http-equiv=&amp;quot;Referrer-Policy&amp;quot; content=&amp;quot;no-referrer, strict-origin-when-cross-origin&amp;quot;&amp;gt;&lt;/div&gt;</summary>
		<author><name>Has00</name></author>
	</entry>
	<entry>
		<id>https://wiki.hostsharing.net/index.php?title=Observatory_by_Mozilla&amp;diff=4619</id>
		<title>Observatory by Mozilla</title>
		<link rel="alternate" type="text/html" href="https://wiki.hostsharing.net/index.php?title=Observatory_by_Mozilla&amp;diff=4619"/>
		<updated>2018-06-24T11:29:05Z</updated>

		<summary type="html">&lt;p&gt;Has00: /* Sicherheits-Scan mit Rating */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Sicherheits-Scan mit Rating ==&lt;br /&gt;
&lt;br /&gt;
[https://observatory.mozilla.org/ Das Observatory von Mozilla] scannt Websites und analysiert die Implementierung von wichtigen Sicherheits-Features. Auf der Ergebnisseite werden Webmaster darüber informiert, wie ihre Website abgeschnitten hat. Neben einem Rating von A bis F (analog der US-amerikanischen Schulnoten) erfährt man auf der Ergebnisseite, wie man die Sicherheit der eigenen Website verbessern kann.&lt;br /&gt;
&lt;br /&gt;
== Snippet für A+ Rating ==&lt;br /&gt;
&lt;br /&gt;
    Header set Content-Security-Policy &amp;quot;default-src &#039;none&#039;; font-src &#039;self&#039;; img-src &#039;self&#039;; script-src &#039;self&#039;; style-src &#039;self&#039; &#039;unsafe-inline&#039;; base-uri &#039;self&#039;; form-action &#039;self&#039;; frame-ancestors &#039;none&#039;&amp;quot;&lt;br /&gt;
    Header set X-Content-Type-Options &amp;quot;nosniff&amp;quot;&lt;br /&gt;
    Header set X-Frame-Options &amp;quot;DENY&amp;quot;&lt;br /&gt;
    Header set X-XSS-Protection &amp;quot;1; mode=block&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Meta-Tag Snippet für A+ Rating ==&lt;br /&gt;
&lt;br /&gt;
Mit diesen Meta-Tags im Header erzielt man ebenfalls ein A+-Rating:&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;meta http-equiv=&amp;quot;Content-Security-Policy&amp;quot; content=&amp;quot;default-src &#039;none&#039;; object-src &#039;none&#039;; font-src &#039;self&#039;; img-src &#039;self&#039;; script-src &#039;self&#039;; style-src &#039;self&#039; &#039;unsafe-inline&#039;; base-uri &#039;self&#039;; form-action &#039;self&#039;; frame-ancestors &#039;none&#039;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;meta http-equiv=&amp;quot;X-XSS-Protection&amp;quot; content=&amp;quot;1; mode=block&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;meta http-equiv=&amp;quot;X-Content-Type-Options&amp;quot; content=&amp;quot;nosniff&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;meta http-equiv=&amp;quot;X-Frame-Options&amp;quot; content=&amp;quot;DENY&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;meta http-equiv=&amp;quot;Referrer-Policy&amp;quot; content=&amp;quot;no-referrer, strict-origin-when-cross-origin&amp;quot;&amp;gt;&lt;/div&gt;</summary>
		<author><name>Has00</name></author>
	</entry>
	<entry>
		<id>https://wiki.hostsharing.net/index.php?title=Observatory_by_Mozilla&amp;diff=4618</id>
		<title>Observatory by Mozilla</title>
		<link rel="alternate" type="text/html" href="https://wiki.hostsharing.net/index.php?title=Observatory_by_Mozilla&amp;diff=4618"/>
		<updated>2018-06-24T11:25:05Z</updated>

		<summary type="html">&lt;p&gt;Has00: Erste Fassung&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Sicherheits-Scan mit Rating ==&lt;br /&gt;
&lt;br /&gt;
[https://observatory.mozilla.org/ Das Observatory von Mozilla] scannt Websites und analysiert die Sicherheitseinstellungen. Die Ergebnisseite gibt ein Rating aus und erklärt, wie man das Rating verbessern kann.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Snippet für A+ Rating ==&lt;br /&gt;
&lt;br /&gt;
    Header set Content-Security-Policy &amp;quot;default-src &#039;none&#039;; font-src &#039;self&#039;; img-src &#039;self&#039;; script-src &#039;self&#039;; style-src &#039;self&#039; &#039;unsafe-inline&#039;; base-uri &#039;self&#039;; form-action &#039;self&#039;; frame-ancestors &#039;none&#039;&amp;quot;&lt;br /&gt;
    Header set X-Content-Type-Options &amp;quot;nosniff&amp;quot;&lt;br /&gt;
    Header set X-Frame-Options &amp;quot;DENY&amp;quot;&lt;br /&gt;
    Header set X-XSS-Protection &amp;quot;1; mode=block&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Meta-Tag Snippet für A+ Rating ==&lt;br /&gt;
&lt;br /&gt;
Mit diesen Meta-Tags im Header erzielt man ebenfalls ein A+-Rating:&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;meta http-equiv=&amp;quot;Content-Security-Policy&amp;quot; content=&amp;quot;default-src &#039;none&#039;; object-src &#039;none&#039;; font-src &#039;self&#039;; img-src &#039;self&#039;; script-src &#039;self&#039;; style-src &#039;self&#039; &#039;unsafe-inline&#039;; base-uri &#039;self&#039;; form-action &#039;self&#039;; frame-ancestors &#039;none&#039;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;meta http-equiv=&amp;quot;X-XSS-Protection&amp;quot; content=&amp;quot;1; mode=block&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;meta http-equiv=&amp;quot;X-Content-Type-Options&amp;quot; content=&amp;quot;nosniff&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;meta http-equiv=&amp;quot;X-Frame-Options&amp;quot; content=&amp;quot;DENY&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;meta http-equiv=&amp;quot;Referrer-Policy&amp;quot; content=&amp;quot;no-referrer, strict-origin-when-cross-origin&amp;quot;&amp;gt;&lt;/div&gt;</summary>
		<author><name>Has00</name></author>
	</entry>
	<entry>
		<id>https://wiki.hostsharing.net/index.php?title=WWW&amp;diff=4617</id>
		<title>WWW</title>
		<link rel="alternate" type="text/html" href="https://wiki.hostsharing.net/index.php?title=WWW&amp;diff=4617"/>
		<updated>2018-06-24T11:11:29Z</updated>

		<summary type="html">&lt;p&gt;Has00: Observatory Link&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{HSDoku-Links}}&lt;br /&gt;
&lt;br /&gt;
Diese Seite gibt Hinweise zur Konfiguration des Webservers und beschreibt Einstellungen, die typischerweise an eigene Bedürfnisse angepasst werden. &lt;br /&gt;
&lt;br /&gt;
== Einstellungen zum HTTP Zugriff ==&lt;br /&gt;
Mit .htaccess Dateien können innerhalb der Domainverzeichnisse z.B. Verzeichnisschutz, Filelistings und Umleitungen (Redirects/Rewrites) des Apache Webservers eingestellt werden. Die Konfiguration wird auf der Seite [[.htaccess]] beschrieben.&lt;br /&gt;
&lt;br /&gt;
=== Abbildung von http(s)-Requests auf das Dateisystem&amp;lt;span id=&amp;quot;subs&amp;quot;&amp;gt;&amp;lt;/span&amp;gt; ===&lt;br /&gt;
* http(s)-Requests auf example.com werden auf das Verzeichnis ~/doms/example.com/htdocs(-ssl) geroutet. Standardmäßig ist im Verzeichnis ~/doms/example.com/htdocs(-ssl) eine .htaccess-Datei hinterlegt, welche beim Zugriff auf http(s)://example.com eine Weiterleitung auf http(s)://www.example.com auslöst.&lt;br /&gt;
&lt;br /&gt;
* http(s)-Requests auf www.example.com werden auf das Verzeichnis ~/doms/example.com/subs(-ssl)/www geroutet, sofern dieses existiert.&lt;br /&gt;
&lt;br /&gt;
Ansonsten werden diese Requests ebenfalls auf das Verzeichnis ~/doms/example.com/htdocs(-ssl) geroutet. Hierbei gilt www lediglich als&lt;br /&gt;
Standardbeispiel, es sind beliebige Subdomainnamen verwendbar. Dies sind sogenannte [[Leichtgewichtige Subdomain|leichtgewichtige Subdomains]].&lt;br /&gt;
&lt;br /&gt;
Für [[Aufschaltung|aufgeschaltete Subdomains]] gilt das oben beschriebene analog. Sie werden intern wie eigene Domains behandelt. Die Subdomain (z.b. sub.example.com) tritt dann an die Stelle von example.com.&lt;br /&gt;
&lt;br /&gt;
=== Anwendungsbeispiel ===&lt;br /&gt;
Alle Requests auf Subdomains, für die kein passendes Verzeichnis unterhalb von subs(-ssl) existiert, werden auf htdocs(-ssl) geroutet. &lt;br /&gt;
&lt;br /&gt;
Löscht man nun die Weiterleitung aus dem Verzeichnis htdocs(-ssl) und installiert eine subdomainfähige Webanwendung, etwa gängige Content-Management-Systeme oder Blogs, in htdocs(-ssl) und löscht zudem subs(-ssl)/www, so kann die Webanwendung die Subdomains selbstständig verwalten. Das Einrichten neuer Subdomains innerhalb der Webanwendung erfordert dann keinen Eingriff in die Verzeichnisstrukturen mehr.&lt;br /&gt;
&lt;br /&gt;
== Https / SSL / TLS ==&lt;br /&gt;
&amp;quot;Secure Socket Layer&amp;quot;: Die Nutzung von verschlüsselten https:// Verbindungen und Sicherheitszertifikaten wird auf der Seite [[TLS_/_SSL|TLS/SSL]] beschrieben.&lt;br /&gt;
&lt;br /&gt;
== PHP Ausführung ==&lt;br /&gt;
PHP Skripte (.php Dateien) werden beim http Zugriff standardmäßig ausgeführt. PHP kann jedoch (und muss oft) an individuelle Bedürfnisse angepasst werden. Die Konfiguration wird auf der Seite [[PHP]] beschrieben.&lt;br /&gt;
&lt;br /&gt;
== Einstellen des im HTTP Header angegebenen Zeichensatzes ==&lt;br /&gt;
Die HS Systeme bieten volle Unterstützung für den universellen UTF Zeichensatz. Der Standard Zeichensatz, den der Apache Webserver im Header angibt, ist jedoch auf iso-8859-1 eingestellt. So funktionieren bestehende Webseiten, die im ISO Zeichensatz erstellt wurden, auch weiterhin ohne Modifikation.&lt;br /&gt;
&lt;br /&gt;
Bei neuen Webseiten empfiehlt es sich, diese im UTF-8 Zeichensatz zu speichern, bzw. ist UTF-8 auf modernen Systemen ohnehin der Standardzeichensatz. Damit Webbrowser beim Abbruf von UTF-8-Seiten vom HS Server auch den korrekten UTF-8 Zeichensatz verwenden, muss jedoch entsprechend die Zeichensatzangabe im Header des Apache Webservers auf UTF-8 gestellt werden. &lt;br /&gt;
&lt;br /&gt;
Für .htm(l) und .php Dateien kann dies in der [[.htaccess]] Datei mit Kombination in der php.ini siehe [[PHP|PHP Konfiguration]] eingestellt werden.&lt;br /&gt;
&lt;br /&gt;
== CGI ==&lt;br /&gt;
&amp;quot;Common Gateway Interface&amp;quot;: Was CGI Scripte sind und wie man sie auf unserem Server ausführen kann steht auf der Seite [[CGI]].&lt;br /&gt;
&lt;br /&gt;
== Überwachung der HS-Dienste ==&lt;br /&gt;
Der Status der HS-Server, und damit auch der Status der eigenen Webseiten, wird von außen überwacht und ist unter [[Überwachung der HS-Dienste]] beschrieben. &lt;br /&gt;
&lt;br /&gt;
== robots.txt ==&lt;br /&gt;
&lt;br /&gt;
Die optionale Datei robots.txt dient der Steuerung der Indizierung der Webseiten einer Domain durch Suchmaschinen. Die Datei kann Steuerbefehle für die Robots enthalten, mit denen die Suchmaschinen Webseiten nach Informationen &amp;quot;abgrasen&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Achtung: Fehlerhafte oder so nicht gewollte Einträge können dafür sorgen, dass die Webseiten von den Suchmaschinen nicht mehr indiziert werden, also auch nicht mehr mit Suchmaschinen gefunden werden können!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Eine [http://http://www.robotstxt.org/ robots.txt]-Datei muss um Wurzelverzeichnis der veröffentlichten Website&lt;br /&gt;
abrufbar sein. Wenn die Website unter http://www.example.com erreichbar ist, muss&lt;br /&gt;
der Aufruf von http://www.example.com/robots.txt den Inhalt eben dieser Datei liefern.&lt;br /&gt;
&lt;br /&gt;
Bei Hostsharing muss man sie also in den obersten Ordner der jeweiligen Website legen, für die Domain http://www.example.com in unserem Beispiel als [[Domain-Admin]] in den Ordner ~/doms/example.com/subs/www, wenn die Standardeinstellungen verwendet werden.&lt;br /&gt;
&lt;br /&gt;
== Web Security ==&lt;br /&gt;
&lt;br /&gt;
Firefox betreibt unter der URL https://observatory.mozilla.org/ einen Dienst zur Verbesserung der Sicherheit von Websites. Die Seite [[Observatory by Mozilla]] zeigt ein Snippet, mit dem man ein gutes Rating erzielen kann.&lt;br /&gt;
----&lt;br /&gt;
[[Kategorie:HSDoku]]&lt;br /&gt;
[[Kategorie:WWW]]&lt;/div&gt;</summary>
		<author><name>Has00</name></author>
	</entry>
	<entry>
		<id>https://wiki.hostsharing.net/index.php?title=Tiny_Tiny_RSS_Installieren&amp;diff=4492</id>
		<title>Tiny Tiny RSS Installieren</title>
		<link rel="alternate" type="text/html" href="https://wiki.hostsharing.net/index.php?title=Tiny_Tiny_RSS_Installieren&amp;diff=4492"/>
		<updated>2017-08-30T12:54:51Z</updated>

		<summary type="html">&lt;p&gt;Has00: /* Abschluss der Installation mit dem Installer von Tiny Tiny RSS */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
== Über Tiny Tiny RSS ==&lt;br /&gt;
&lt;br /&gt;
Wikipedia schreibt: »Tiny Tiny RSS ist ein freier, webbasierter Feedreader. Die Anwendung ermöglicht das Abonnieren und Betrachten von Web-Feeds über einen Webbrowser. Zudem gibt es eine offizielle Android-App, es wird jedoch auch ein API für weitere Clients zur Verfügung gestellt. Es werden die Formate RSS und Atom unterstützt. Das Programm ruft abonnierte Web-Feeds serverseitig in regelmäßigen Abständen ab und speichert die gefunden Artikel in einer Datenbank. Somit verpasst der Benutzer keinen Artikel, auch wenn er den Feedreader über einen langen Zeitraum nicht aufruft. Auf einer Instanz von Tiny Tiny RSS können mehrere Benutzer unabhängig voneinander arbeiten. Neue Benutzer können eigenständig direkt über die Anwendung ein neues Benutzerkonto erstellen. Des Weiteren bietet die Software komplexe Filterregeln für Artikel und das Teilen/Veröffentlichen von Artikeln in Form eines benutzerspezifischen Web-Feeds.«&lt;br /&gt;
&lt;br /&gt;
== Vorbereitung der Installation ==&lt;br /&gt;
&lt;br /&gt;
Um Tiny Tiny RSS auf der Managed Operation Platform von Hostsharing zu installieren, ist entsprechend der Best-Practice-Vorgaben folgende Vorbereitung erforderlich.&lt;br /&gt;
&lt;br /&gt;
1. Anlegen eines Domain-Benutzers&lt;br /&gt;
&lt;br /&gt;
2. Anlegen einer Domain&lt;br /&gt;
&lt;br /&gt;
3. Anlegen eines Datenbank-Benutzers&lt;br /&gt;
&lt;br /&gt;
4. Anlegen einer Datenbank (Tiny Tiny RSS arbeitet mit MySQL und PostgreSQL zusammen. Wir empfehlen die Nutzung von PostgreSQL.)&lt;br /&gt;
&lt;br /&gt;
Auf der Kommandozeile kann man dies folgendermaßen erledigen.&lt;br /&gt;
&lt;br /&gt;
Man loggt sich als Paketbenutzer ein und startet &#039;&#039;hsadmin&#039;&#039; mit &#039;&#039;hsscript&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
  hsscript -u xyz00 -i&lt;br /&gt;
  Password: ********&lt;br /&gt;
&lt;br /&gt;
Anschließend kann man die Vorbereitungsschritte 1 bis 4 erledigen:&lt;br /&gt;
&lt;br /&gt;
  xyz00@hsadmin&amp;gt; user.add({set:{name:&#039;xyz00-ttrss&#039;,password:&#039;geheim&#039;,comment:&#039;Drupal CMS&#039;}})&lt;br /&gt;
  xyz00@hsadmin&amp;gt; domain.add({set:{name:&#039;ttrss.hs-example.de&#039;,user:&#039;xyz00-ttrss&#039;}})&lt;br /&gt;
  xyz00@hsadmin&amp;gt; postgresqluser.add({set:{name:&#039;xyz00_ttrssuser&#039;,password:&#039;geheim&#039;}})&lt;br /&gt;
  xyz00@hsadmin&amp;gt; postgresqldb.add({set:{name:&#039;xyz00_ttrssdb&#039;,owner:&#039;xyz00_ttrssuser&#039;}})&lt;br /&gt;
&lt;br /&gt;
== Herunterladen des Quellcodes mit Hilfe von Git ==&lt;br /&gt;
&lt;br /&gt;
Wir installieren Tiny Tiny RSS mit Hilfe von Git aus den Quellen.&lt;br /&gt;
&lt;br /&gt;
 $ ssh xyz00-ttrss@xyz00.hostsharing.net&lt;br /&gt;
 $ git clone https://tt-rss.org/git/tt-rss.git tt-rss&lt;br /&gt;
&lt;br /&gt;
== Hostsharing-Dateisystem einrichten ==&lt;br /&gt;
&lt;br /&gt;
Nun müssen wir nur noch einige Änderungen im Dateisystem vornehmen.&lt;br /&gt;
&lt;br /&gt;
Wir wechseln in die neu angelegte Domain.&lt;br /&gt;
&lt;br /&gt;
 $ cd $HOME/doms/ttrss.hs-example.com/&lt;br /&gt;
&lt;br /&gt;
Dort löschen wir zunächst die Ordner für die Subdomain &amp;lt;code&amp;gt;www&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
 $ rm -rf subs/www&lt;br /&gt;
 $ rm -rf subs-ssl/www&lt;br /&gt;
&lt;br /&gt;
Anschließend tragen wir die Umleitung auf HTTPS ein.&lt;br /&gt;
&lt;br /&gt;
 $ vim htdocs/.htaccess&lt;br /&gt;
&lt;br /&gt;
Der  Eintrag muss folgendermaßen lauten:&lt;br /&gt;
&lt;br /&gt;
 Redirect permanent / https://ttrss.hs-example.com/&lt;br /&gt;
&lt;br /&gt;
Danach löschen wir den htdocs-ssl Ordner und legen einen symbolischen Link auf unsere Shaarli-Installation an.&lt;br /&gt;
&lt;br /&gt;
 $ rm -rf htdocs-ssl/&lt;br /&gt;
 $ ln -s $HOME/tt-rss htdocs-ssl&lt;br /&gt;
&lt;br /&gt;
== Abschluss der Installation mit dem Installer von Tiny Tiny RSS ==&lt;br /&gt;
&lt;br /&gt;
Unter der URL &amp;lt;code&amp;gt;ttrss.hs-example.com/install/&amp;lt;/code&amp;gt; können wir nun den Installer von Tiny Tiny RSS aufrufen, um die Installation zu beenden.&lt;br /&gt;
&lt;br /&gt;
[[Datei:Tiny-tiny-rss-installer.png]]&lt;br /&gt;
&lt;br /&gt;
Database type: Die jeweils benutzte Datenbank, MySQL oder PostgreSQL&lt;br /&gt;
&lt;br /&gt;
Username: Der Datenbankbenutzer: &amp;quot;xyz00_ttrssuser&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Passwort: Gemeint ist das Passwort des Datenbankbenutzers: &amp;quot;geheim&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Database name: der Namen der Datenbank: &amp;quot;xyz00_ttrssdb&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Host name: &amp;lt;code&amp;gt;localhost&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Port: die jeweils gültige Portnummer; 3306 für MySQL und 5432 für PostgreSQL.&lt;br /&gt;
&lt;br /&gt;
Tiny Tiny RSS URL: Die URL der neuen Domain unter der wir Tiny Tiny RSS aufrufen wollen: https://ttrss.hs-example.com/&lt;br /&gt;
&lt;br /&gt;
Anschließend klicken wir auf &amp;quot;Test configuration&amp;quot;, um die Konfiguration zu testen. War der Test erfolgreich, wird die Datei &amp;lt;code&amp;gt;config.php&amp;lt;/code&amp;gt; angezeigt, in der alle Konfigurationsparameter stehen. Wir speichern die Konfigurations ab.&lt;br /&gt;
&lt;br /&gt;
Nach dem Abspeichern befindet sich die Konfigurationsdatei unter dem Pfad &amp;lt;code&amp;gt;$HOME/tt-rss/config.php&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Weitere Informationen zur Nutzung von Tiny Tiny RSS finden sich auf der Homepage des Projekts: https://tt-rss.org/&lt;/div&gt;</summary>
		<author><name>Has00</name></author>
	</entry>
	<entry>
		<id>https://wiki.hostsharing.net/index.php?title=Tiny_Tiny_RSS_Installieren&amp;diff=4491</id>
		<title>Tiny Tiny RSS Installieren</title>
		<link rel="alternate" type="text/html" href="https://wiki.hostsharing.net/index.php?title=Tiny_Tiny_RSS_Installieren&amp;diff=4491"/>
		<updated>2017-08-30T12:53:18Z</updated>

		<summary type="html">&lt;p&gt;Has00: /* Abschluss der Installation mit dem Installer von Tiny Tiny RSS */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
== Über Tiny Tiny RSS ==&lt;br /&gt;
&lt;br /&gt;
Wikipedia schreibt: »Tiny Tiny RSS ist ein freier, webbasierter Feedreader. Die Anwendung ermöglicht das Abonnieren und Betrachten von Web-Feeds über einen Webbrowser. Zudem gibt es eine offizielle Android-App, es wird jedoch auch ein API für weitere Clients zur Verfügung gestellt. Es werden die Formate RSS und Atom unterstützt. Das Programm ruft abonnierte Web-Feeds serverseitig in regelmäßigen Abständen ab und speichert die gefunden Artikel in einer Datenbank. Somit verpasst der Benutzer keinen Artikel, auch wenn er den Feedreader über einen langen Zeitraum nicht aufruft. Auf einer Instanz von Tiny Tiny RSS können mehrere Benutzer unabhängig voneinander arbeiten. Neue Benutzer können eigenständig direkt über die Anwendung ein neues Benutzerkonto erstellen. Des Weiteren bietet die Software komplexe Filterregeln für Artikel und das Teilen/Veröffentlichen von Artikeln in Form eines benutzerspezifischen Web-Feeds.«&lt;br /&gt;
&lt;br /&gt;
== Vorbereitung der Installation ==&lt;br /&gt;
&lt;br /&gt;
Um Tiny Tiny RSS auf der Managed Operation Platform von Hostsharing zu installieren, ist entsprechend der Best-Practice-Vorgaben folgende Vorbereitung erforderlich.&lt;br /&gt;
&lt;br /&gt;
1. Anlegen eines Domain-Benutzers&lt;br /&gt;
&lt;br /&gt;
2. Anlegen einer Domain&lt;br /&gt;
&lt;br /&gt;
3. Anlegen eines Datenbank-Benutzers&lt;br /&gt;
&lt;br /&gt;
4. Anlegen einer Datenbank (Tiny Tiny RSS arbeitet mit MySQL und PostgreSQL zusammen. Wir empfehlen die Nutzung von PostgreSQL.)&lt;br /&gt;
&lt;br /&gt;
Auf der Kommandozeile kann man dies folgendermaßen erledigen.&lt;br /&gt;
&lt;br /&gt;
Man loggt sich als Paketbenutzer ein und startet &#039;&#039;hsadmin&#039;&#039; mit &#039;&#039;hsscript&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
  hsscript -u xyz00 -i&lt;br /&gt;
  Password: ********&lt;br /&gt;
&lt;br /&gt;
Anschließend kann man die Vorbereitungsschritte 1 bis 4 erledigen:&lt;br /&gt;
&lt;br /&gt;
  xyz00@hsadmin&amp;gt; user.add({set:{name:&#039;xyz00-ttrss&#039;,password:&#039;geheim&#039;,comment:&#039;Drupal CMS&#039;}})&lt;br /&gt;
  xyz00@hsadmin&amp;gt; domain.add({set:{name:&#039;ttrss.hs-example.de&#039;,user:&#039;xyz00-ttrss&#039;}})&lt;br /&gt;
  xyz00@hsadmin&amp;gt; postgresqluser.add({set:{name:&#039;xyz00_ttrssuser&#039;,password:&#039;geheim&#039;}})&lt;br /&gt;
  xyz00@hsadmin&amp;gt; postgresqldb.add({set:{name:&#039;xyz00_ttrssdb&#039;,owner:&#039;xyz00_ttrssuser&#039;}})&lt;br /&gt;
&lt;br /&gt;
== Herunterladen des Quellcodes mit Hilfe von Git ==&lt;br /&gt;
&lt;br /&gt;
Wir installieren Tiny Tiny RSS mit Hilfe von Git aus den Quellen.&lt;br /&gt;
&lt;br /&gt;
 $ ssh xyz00-ttrss@xyz00.hostsharing.net&lt;br /&gt;
 $ git clone https://tt-rss.org/git/tt-rss.git tt-rss&lt;br /&gt;
&lt;br /&gt;
== Hostsharing-Dateisystem einrichten ==&lt;br /&gt;
&lt;br /&gt;
Nun müssen wir nur noch einige Änderungen im Dateisystem vornehmen.&lt;br /&gt;
&lt;br /&gt;
Wir wechseln in die neu angelegte Domain.&lt;br /&gt;
&lt;br /&gt;
 $ cd $HOME/doms/ttrss.hs-example.com/&lt;br /&gt;
&lt;br /&gt;
Dort löschen wir zunächst die Ordner für die Subdomain &amp;lt;code&amp;gt;www&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
 $ rm -rf subs/www&lt;br /&gt;
 $ rm -rf subs-ssl/www&lt;br /&gt;
&lt;br /&gt;
Anschließend tragen wir die Umleitung auf HTTPS ein.&lt;br /&gt;
&lt;br /&gt;
 $ vim htdocs/.htaccess&lt;br /&gt;
&lt;br /&gt;
Der  Eintrag muss folgendermaßen lauten:&lt;br /&gt;
&lt;br /&gt;
 Redirect permanent / https://ttrss.hs-example.com/&lt;br /&gt;
&lt;br /&gt;
Danach löschen wir den htdocs-ssl Ordner und legen einen symbolischen Link auf unsere Shaarli-Installation an.&lt;br /&gt;
&lt;br /&gt;
 $ rm -rf htdocs-ssl/&lt;br /&gt;
 $ ln -s $HOME/tt-rss htdocs-ssl&lt;br /&gt;
&lt;br /&gt;
== Abschluss der Installation mit dem Installer von Tiny Tiny RSS ==&lt;br /&gt;
&lt;br /&gt;
Unter der URL &amp;lt;code&amp;gt;ttrss.hs-example.com/install/&amp;lt;/code&amp;gt; können wir nun den Installer von Tiny Tiny RSS aufrufen, um die Installation zu beenden.&lt;br /&gt;
&lt;br /&gt;
[[Datei:Tiny-tiny-rss-installer.png]]&lt;br /&gt;
&lt;br /&gt;
Database type: Die jeweils benutzte Datenbank, MySQL oder PostgreSQL&lt;br /&gt;
&lt;br /&gt;
Username: Der Datenbankbenutzer: &amp;quot;xyz00_ttrssuser&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Passwort: Gemeint ist das Passwort des Datenbankbenutzers: &amp;quot;geheim&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Database name: der Namen der Datenbank: &amp;quot;xyz00_ttrssdb&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Host name: &amp;lt;code&amp;gt;localhost&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Port: die jeweils gültige Portnummer; 3306 für MySQL und 5432 für PostgreSQL.&lt;br /&gt;
&lt;br /&gt;
Tiny Tiny RSS URL: Die URL der neuen Domain unter der wir Tiny Tiny RSS aufrufen wollen: https://ttrss.hs-example.com/&lt;br /&gt;
&lt;br /&gt;
Anschließend klicken wir auf &amp;quot;Test configuration&amp;quot;, um die Konfiguration zu testen. War der Test erfolgreich, wird die Datei &amp;lt;code&amp;gt;config.php&amp;lt;/code&amp;gt; angezeigt, in der alle Konfigurationsparameter stehen. Wir speichern die Konfigurations ab.&lt;br /&gt;
&lt;br /&gt;
Nach dem Abspeichern befindet sich die Konfigurationsdatei unter dem Pfad &amp;lt;code&amp;gt;$HOME/tt-rss/config.php&amp;lt;/code&amp;gt;.&lt;/div&gt;</summary>
		<author><name>Has00</name></author>
	</entry>
	<entry>
		<id>https://wiki.hostsharing.net/index.php?title=Tiny_Tiny_RSS_Installieren&amp;diff=4490</id>
		<title>Tiny Tiny RSS Installieren</title>
		<link rel="alternate" type="text/html" href="https://wiki.hostsharing.net/index.php?title=Tiny_Tiny_RSS_Installieren&amp;diff=4490"/>
		<updated>2017-08-30T12:50:23Z</updated>

		<summary type="html">&lt;p&gt;Has00: /* Abschluss der Installation mit dem Installer von Tiny Tiny RSS */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
== Über Tiny Tiny RSS ==&lt;br /&gt;
&lt;br /&gt;
Wikipedia schreibt: »Tiny Tiny RSS ist ein freier, webbasierter Feedreader. Die Anwendung ermöglicht das Abonnieren und Betrachten von Web-Feeds über einen Webbrowser. Zudem gibt es eine offizielle Android-App, es wird jedoch auch ein API für weitere Clients zur Verfügung gestellt. Es werden die Formate RSS und Atom unterstützt. Das Programm ruft abonnierte Web-Feeds serverseitig in regelmäßigen Abständen ab und speichert die gefunden Artikel in einer Datenbank. Somit verpasst der Benutzer keinen Artikel, auch wenn er den Feedreader über einen langen Zeitraum nicht aufruft. Auf einer Instanz von Tiny Tiny RSS können mehrere Benutzer unabhängig voneinander arbeiten. Neue Benutzer können eigenständig direkt über die Anwendung ein neues Benutzerkonto erstellen. Des Weiteren bietet die Software komplexe Filterregeln für Artikel und das Teilen/Veröffentlichen von Artikeln in Form eines benutzerspezifischen Web-Feeds.«&lt;br /&gt;
&lt;br /&gt;
== Vorbereitung der Installation ==&lt;br /&gt;
&lt;br /&gt;
Um Tiny Tiny RSS auf der Managed Operation Platform von Hostsharing zu installieren, ist entsprechend der Best-Practice-Vorgaben folgende Vorbereitung erforderlich.&lt;br /&gt;
&lt;br /&gt;
1. Anlegen eines Domain-Benutzers&lt;br /&gt;
&lt;br /&gt;
2. Anlegen einer Domain&lt;br /&gt;
&lt;br /&gt;
3. Anlegen eines Datenbank-Benutzers&lt;br /&gt;
&lt;br /&gt;
4. Anlegen einer Datenbank (Tiny Tiny RSS arbeitet mit MySQL und PostgreSQL zusammen. Wir empfehlen die Nutzung von PostgreSQL.)&lt;br /&gt;
&lt;br /&gt;
Auf der Kommandozeile kann man dies folgendermaßen erledigen.&lt;br /&gt;
&lt;br /&gt;
Man loggt sich als Paketbenutzer ein und startet &#039;&#039;hsadmin&#039;&#039; mit &#039;&#039;hsscript&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
  hsscript -u xyz00 -i&lt;br /&gt;
  Password: ********&lt;br /&gt;
&lt;br /&gt;
Anschließend kann man die Vorbereitungsschritte 1 bis 4 erledigen:&lt;br /&gt;
&lt;br /&gt;
  xyz00@hsadmin&amp;gt; user.add({set:{name:&#039;xyz00-ttrss&#039;,password:&#039;geheim&#039;,comment:&#039;Drupal CMS&#039;}})&lt;br /&gt;
  xyz00@hsadmin&amp;gt; domain.add({set:{name:&#039;ttrss.hs-example.de&#039;,user:&#039;xyz00-ttrss&#039;}})&lt;br /&gt;
  xyz00@hsadmin&amp;gt; postgresqluser.add({set:{name:&#039;xyz00_ttrssuser&#039;,password:&#039;geheim&#039;}})&lt;br /&gt;
  xyz00@hsadmin&amp;gt; postgresqldb.add({set:{name:&#039;xyz00_ttrssdb&#039;,owner:&#039;xyz00_ttrssuser&#039;}})&lt;br /&gt;
&lt;br /&gt;
== Herunterladen des Quellcodes mit Hilfe von Git ==&lt;br /&gt;
&lt;br /&gt;
Wir installieren Tiny Tiny RSS mit Hilfe von Git aus den Quellen.&lt;br /&gt;
&lt;br /&gt;
 $ ssh xyz00-ttrss@xyz00.hostsharing.net&lt;br /&gt;
 $ git clone https://tt-rss.org/git/tt-rss.git tt-rss&lt;br /&gt;
&lt;br /&gt;
== Hostsharing-Dateisystem einrichten ==&lt;br /&gt;
&lt;br /&gt;
Nun müssen wir nur noch einige Änderungen im Dateisystem vornehmen.&lt;br /&gt;
&lt;br /&gt;
Wir wechseln in die neu angelegte Domain.&lt;br /&gt;
&lt;br /&gt;
 $ cd $HOME/doms/ttrss.hs-example.com/&lt;br /&gt;
&lt;br /&gt;
Dort löschen wir zunächst die Ordner für die Subdomain &amp;lt;code&amp;gt;www&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
 $ rm -rf subs/www&lt;br /&gt;
 $ rm -rf subs-ssl/www&lt;br /&gt;
&lt;br /&gt;
Anschließend tragen wir die Umleitung auf HTTPS ein.&lt;br /&gt;
&lt;br /&gt;
 $ vim htdocs/.htaccess&lt;br /&gt;
&lt;br /&gt;
Der  Eintrag muss folgendermaßen lauten:&lt;br /&gt;
&lt;br /&gt;
 Redirect permanent / https://ttrss.hs-example.com/&lt;br /&gt;
&lt;br /&gt;
Danach löschen wir den htdocs-ssl Ordner und legen einen symbolischen Link auf unsere Shaarli-Installation an.&lt;br /&gt;
&lt;br /&gt;
 $ rm -rf htdocs-ssl/&lt;br /&gt;
 $ ln -s $HOME/tt-rss htdocs-ssl&lt;br /&gt;
&lt;br /&gt;
== Abschluss der Installation mit dem Installer von Tiny Tiny RSS ==&lt;br /&gt;
&lt;br /&gt;
Unter der URL &amp;lt;code&amp;gt;ttrss.hs-example.com/install/&amp;lt;/code&amp;gt; können wir nun den Installer von Tiny Tiny RSS aufrufen, um die Installation zu beenden.&lt;br /&gt;
&lt;br /&gt;
[[Datei:Tiny-tiny-rss-installer.png]]&lt;br /&gt;
&lt;br /&gt;
Database type: Die jeweils benutzte Datenbank, MySQL oder PostgreSQL&lt;br /&gt;
&lt;br /&gt;
Username: Der Datenbankbenutzer: &amp;quot;xyz00_ttrssuser&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Passwort: Gemeint ist das Passwort des Datenbankbenutzers: &amp;quot;geheim&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Database name: der Namen der Datenbank: &amp;quot;xyz00_ttrssdb&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Host name: &amp;lt;code&amp;gt;localhost&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Port: die jeweils gültige Portnummer; 3306 für MySQL und 5432 für PostgreSQL.&lt;br /&gt;
&lt;br /&gt;
Tiny Tiny RSS URL: Die URL der neuen Domain unter der wir Tiny Tiny RSS aufrufen wollen: https://ttrss.hs-example.com/&lt;br /&gt;
&lt;br /&gt;
Anschließend testen wir die Konfiguration und speichern sie bei erfolgreichem Test.&lt;/div&gt;</summary>
		<author><name>Has00</name></author>
	</entry>
	<entry>
		<id>https://wiki.hostsharing.net/index.php?title=Tiny_Tiny_RSS_Installieren&amp;diff=4489</id>
		<title>Tiny Tiny RSS Installieren</title>
		<link rel="alternate" type="text/html" href="https://wiki.hostsharing.net/index.php?title=Tiny_Tiny_RSS_Installieren&amp;diff=4489"/>
		<updated>2017-08-30T12:48:14Z</updated>

		<summary type="html">&lt;p&gt;Has00: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
== Über Tiny Tiny RSS ==&lt;br /&gt;
&lt;br /&gt;
Wikipedia schreibt: »Tiny Tiny RSS ist ein freier, webbasierter Feedreader. Die Anwendung ermöglicht das Abonnieren und Betrachten von Web-Feeds über einen Webbrowser. Zudem gibt es eine offizielle Android-App, es wird jedoch auch ein API für weitere Clients zur Verfügung gestellt. Es werden die Formate RSS und Atom unterstützt. Das Programm ruft abonnierte Web-Feeds serverseitig in regelmäßigen Abständen ab und speichert die gefunden Artikel in einer Datenbank. Somit verpasst der Benutzer keinen Artikel, auch wenn er den Feedreader über einen langen Zeitraum nicht aufruft. Auf einer Instanz von Tiny Tiny RSS können mehrere Benutzer unabhängig voneinander arbeiten. Neue Benutzer können eigenständig direkt über die Anwendung ein neues Benutzerkonto erstellen. Des Weiteren bietet die Software komplexe Filterregeln für Artikel und das Teilen/Veröffentlichen von Artikeln in Form eines benutzerspezifischen Web-Feeds.«&lt;br /&gt;
&lt;br /&gt;
== Vorbereitung der Installation ==&lt;br /&gt;
&lt;br /&gt;
Um Tiny Tiny RSS auf der Managed Operation Platform von Hostsharing zu installieren, ist entsprechend der Best-Practice-Vorgaben folgende Vorbereitung erforderlich.&lt;br /&gt;
&lt;br /&gt;
1. Anlegen eines Domain-Benutzers&lt;br /&gt;
&lt;br /&gt;
2. Anlegen einer Domain&lt;br /&gt;
&lt;br /&gt;
3. Anlegen eines Datenbank-Benutzers&lt;br /&gt;
&lt;br /&gt;
4. Anlegen einer Datenbank (Tiny Tiny RSS arbeitet mit MySQL und PostgreSQL zusammen. Wir empfehlen die Nutzung von PostgreSQL.)&lt;br /&gt;
&lt;br /&gt;
Auf der Kommandozeile kann man dies folgendermaßen erledigen.&lt;br /&gt;
&lt;br /&gt;
Man loggt sich als Paketbenutzer ein und startet &#039;&#039;hsadmin&#039;&#039; mit &#039;&#039;hsscript&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
  hsscript -u xyz00 -i&lt;br /&gt;
  Password: ********&lt;br /&gt;
&lt;br /&gt;
Anschließend kann man die Vorbereitungsschritte 1 bis 4 erledigen:&lt;br /&gt;
&lt;br /&gt;
  xyz00@hsadmin&amp;gt; user.add({set:{name:&#039;xyz00-ttrss&#039;,password:&#039;geheim&#039;,comment:&#039;Drupal CMS&#039;}})&lt;br /&gt;
  xyz00@hsadmin&amp;gt; domain.add({set:{name:&#039;ttrss.hs-example.de&#039;,user:&#039;xyz00-ttrss&#039;}})&lt;br /&gt;
  xyz00@hsadmin&amp;gt; postgresqluser.add({set:{name:&#039;xyz00_ttrssuser&#039;,password:&#039;geheim&#039;}})&lt;br /&gt;
  xyz00@hsadmin&amp;gt; postgresqldb.add({set:{name:&#039;xyz00_ttrssdb&#039;,owner:&#039;xyz00_ttrssuser&#039;}})&lt;br /&gt;
&lt;br /&gt;
== Herunterladen des Quellcodes mit Hilfe von Git ==&lt;br /&gt;
&lt;br /&gt;
Wir installieren Tiny Tiny RSS mit Hilfe von Git aus den Quellen.&lt;br /&gt;
&lt;br /&gt;
 $ ssh xyz00-ttrss@xyz00.hostsharing.net&lt;br /&gt;
 $ git clone https://tt-rss.org/git/tt-rss.git tt-rss&lt;br /&gt;
&lt;br /&gt;
== Hostsharing-Dateisystem einrichten ==&lt;br /&gt;
&lt;br /&gt;
Nun müssen wir nur noch einige Änderungen im Dateisystem vornehmen.&lt;br /&gt;
&lt;br /&gt;
Wir wechseln in die neu angelegte Domain.&lt;br /&gt;
&lt;br /&gt;
 $ cd $HOME/doms/ttrss.hs-example.com/&lt;br /&gt;
&lt;br /&gt;
Dort löschen wir zunächst die Ordner für die Subdomain &amp;lt;code&amp;gt;www&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
 $ rm -rf subs/www&lt;br /&gt;
 $ rm -rf subs-ssl/www&lt;br /&gt;
&lt;br /&gt;
Anschließend tragen wir die Umleitung auf HTTPS ein.&lt;br /&gt;
&lt;br /&gt;
 $ vim htdocs/.htaccess&lt;br /&gt;
&lt;br /&gt;
Der  Eintrag muss folgendermaßen lauten:&lt;br /&gt;
&lt;br /&gt;
 Redirect permanent / https://ttrss.hs-example.com/&lt;br /&gt;
&lt;br /&gt;
Danach löschen wir den htdocs-ssl Ordner und legen einen symbolischen Link auf unsere Shaarli-Installation an.&lt;br /&gt;
&lt;br /&gt;
 $ rm -rf htdocs-ssl/&lt;br /&gt;
 $ ln -s $HOME/tt-rss htdocs-ssl&lt;br /&gt;
&lt;br /&gt;
== Abschluss der Installation mit dem Installer von Tiny Tiny RSS ==&lt;br /&gt;
&lt;br /&gt;
Unter der URL &amp;lt;code&amp;gt;ttrss.hs-example.com/install/&amp;lt;/code&amp;gt; können wir nun den Installer von Tiny Tiny RSS aufrufen, um die Installation zu beenden.&lt;br /&gt;
&lt;br /&gt;
[[Datei:Tiny-tiny-rss-installer.png]]&lt;br /&gt;
&lt;br /&gt;
Unter Username tragen wir den Datenbankbenutzer ein: &amp;quot;xyz00_ttrssuser&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Unter Passwort das Passwort des Datenbankbenutzers: &amp;quot;geheim&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Unter Database name den Namen der Datenbank: &amp;quot;xyz00_ttrssdb&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Unter Host name tragen wir &amp;lt;code&amp;gt;localhost&amp;lt;/code&amp;gt; ein.&lt;br /&gt;
&lt;br /&gt;
Unter Port die jeweils gültige Portnummer. 3306 für MySQL und 5432 für PostgreSQL.&lt;br /&gt;
&lt;br /&gt;
Und in das Feld Tiny Tiny RSS URL tragen wir die URL der neuen Domain ein: https://ttrss.hs-example.com/&lt;br /&gt;
&lt;br /&gt;
Anschließend testen wir die Konfiguration und speichern sie bei erfolgreichem Test.&lt;/div&gt;</summary>
		<author><name>Has00</name></author>
	</entry>
	<entry>
		<id>https://wiki.hostsharing.net/index.php?title=Datei:Tiny-tiny-rss-installer.png&amp;diff=4488</id>
		<title>Datei:Tiny-tiny-rss-installer.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.hostsharing.net/index.php?title=Datei:Tiny-tiny-rss-installer.png&amp;diff=4488"/>
		<updated>2017-08-30T12:44:01Z</updated>

		<summary type="html">&lt;p&gt;Has00: Has00 lud eine neue Version von Datei:Tiny-tiny-rss-installer.png hoch&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Has00</name></author>
	</entry>
	<entry>
		<id>https://wiki.hostsharing.net/index.php?title=Tiny_Tiny_RSS_Installieren&amp;diff=4487</id>
		<title>Tiny Tiny RSS Installieren</title>
		<link rel="alternate" type="text/html" href="https://wiki.hostsharing.net/index.php?title=Tiny_Tiny_RSS_Installieren&amp;diff=4487"/>
		<updated>2017-08-30T12:42:36Z</updated>

		<summary type="html">&lt;p&gt;Has00: /* Abschluss der Installation mit dem Installer von Tiny Tiny RSS */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
== Über Tiny Tiny RSS ==&lt;br /&gt;
&lt;br /&gt;
Wikipedia schreibt: »Tiny Tiny RSS ist ein freier, webbasierter Feedreader. Die Anwendung ermöglicht das Abonnieren und Betrachten von Web-Feeds über einen Webbrowser. Zudem gibt es eine offizielle Android-App, es wird jedoch auch ein API für weitere Clients zur Verfügung gestellt. Es werden die Formate RSS und Atom unterstützt. Das Programm ruft abonnierte Web-Feeds serverseitig in regelmäßigen Abständen ab und speichert die gefunden Artikel in einer Datenbank. Somit verpasst der Benutzer keinen Artikel, auch wenn er den Feedreader über einen langen Zeitraum nicht aufruft. Auf einer Instanz von Tiny Tiny RSS können mehrere Benutzer unabhängig voneinander arbeiten. Neue Benutzer können eigenständig direkt über die Anwendung ein neues Benutzerkonto erstellen. Des Weiteren bietet die Software komplexe Filterregeln für Artikel und das Teilen/Veröffentlichen von Artikeln in Form eines benutzerspezifischen Web-Feeds.«&lt;br /&gt;
&lt;br /&gt;
== Vorbereitung der Installation ==&lt;br /&gt;
&lt;br /&gt;
Um Tiny Tiny RSS auf der Managed Operation Platform von Hostsharing zu installieren, ist entsprechend der Best-Practice-Vorgaben folgende Vorbereitung erforderlich.&lt;br /&gt;
&lt;br /&gt;
1. Anlegen eines Domain-Benutzers&lt;br /&gt;
&lt;br /&gt;
2. Anlegen einer Domain&lt;br /&gt;
&lt;br /&gt;
3. Anlegen eines Datenbank-Benutzers&lt;br /&gt;
&lt;br /&gt;
4. Anlegen einer Datenbank (Tiny Tiny RSS arbeitet mit MySQL und PostgreSQL zusammen. Wir empfehlen die Nutzung von PostgreSQL.)&lt;br /&gt;
&lt;br /&gt;
Auf der Kommandozeile kann man dies folgendermaßen erledigen.&lt;br /&gt;
&lt;br /&gt;
Man loggt sich als Paketbenutzer ein und startet &#039;&#039;hsadmin&#039;&#039; mit &#039;&#039;hsscript&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
  hsscript -u xyz00 -i&lt;br /&gt;
  Password: ********&lt;br /&gt;
&lt;br /&gt;
Anschließend kann man die Vorbereitungsschritte 1 bis 4 erledigen:&lt;br /&gt;
&lt;br /&gt;
  xyz00@hsadmin&amp;gt; user.add({set:{name:&#039;xyz00-ttrss&#039;,password:&#039;geheim&#039;,comment:&#039;Drupal CMS&#039;}})&lt;br /&gt;
  xyz00@hsadmin&amp;gt; domain.add({set:{name:&#039;ttrss.hs-example.de&#039;,user:&#039;xyz00-ttrss&#039;}})&lt;br /&gt;
  xyz00@hsadmin&amp;gt; postgresqluser.add({set:{name:&#039;xyz00_ttrssuser&#039;,password:&#039;geheim&#039;}})&lt;br /&gt;
  xyz00@hsadmin&amp;gt; postgresqldb.add({set:{name:&#039;xyz00_ttrssdb&#039;,owner:&#039;xyz00_ttrssuser&#039;}})&lt;br /&gt;
&lt;br /&gt;
== Herunterladen des Quellcodes mit Hilfe von Git ==&lt;br /&gt;
&lt;br /&gt;
Wir installieren Tiny Tiny RSS mit Hilfe von Git aus den Quellen.&lt;br /&gt;
&lt;br /&gt;
 $ ssh xyz00-ttrss@xyz00.hostsharing.net&lt;br /&gt;
 $ git clone https://tt-rss.org/git/tt-rss.git tt-rss&lt;br /&gt;
&lt;br /&gt;
== Hostsharing-Dateisystem einrichten ==&lt;br /&gt;
&lt;br /&gt;
Nun müssen wir nur noch einige Änderungen im Dateisystem vornehmen.&lt;br /&gt;
&lt;br /&gt;
Wir wechseln in die neu angelegte Domain.&lt;br /&gt;
&lt;br /&gt;
 $ cd $HOME/doms/ttrss.hs-example.com/&lt;br /&gt;
&lt;br /&gt;
Dort löschen wir zunächst die Ordner für die Subdomain &amp;lt;code&amp;gt;www&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
 $ rm -rf subs/www&lt;br /&gt;
 $ rm -rf subs-ssl/www&lt;br /&gt;
&lt;br /&gt;
Anschließend tragen wir die Umleitung auf HTTPS ein.&lt;br /&gt;
&lt;br /&gt;
 $ vim htdocs/.htaccess&lt;br /&gt;
&lt;br /&gt;
Der  Eintrag muss folgendermaßen lauten:&lt;br /&gt;
&lt;br /&gt;
 Redirect permanent / https://ttrss.hs-example.com/&lt;br /&gt;
&lt;br /&gt;
Danach löschen wir den htdocs-ssl Ordner und legen einen symbolischen Link auf unsere Shaarli-Installation an.&lt;br /&gt;
&lt;br /&gt;
 $ rm -rf htdocs-ssl/&lt;br /&gt;
 $ ln -s $HOME/tt-rss htdocs-ssl&lt;br /&gt;
&lt;br /&gt;
== Abschluss der Installation mit dem Installer von Tiny Tiny RSS ==&lt;br /&gt;
&lt;br /&gt;
Unter der URL &amp;lt;code&amp;gt;ttrss.hs-example.com/install/&amp;lt;/code&amp;gt; können wir nun den Installer von Tiny Tiny RSS aufrufen, um die Installation zu beenden.&lt;br /&gt;
&lt;br /&gt;
[[Datei:Tiny-tiny-rss-installer.png]]&lt;br /&gt;
&lt;br /&gt;
Unter Username tragen wir den Datenbankbenutzer ein.&lt;br /&gt;
&lt;br /&gt;
Unter Passwort das Passwort des Datenbankbenutzers.&lt;br /&gt;
&lt;br /&gt;
Unter Database name den Namen der Datenbank.&lt;br /&gt;
&lt;br /&gt;
Unter Host name tragen wir &amp;lt;code&amp;gt;localhost&amp;lt;/code&amp;gt; ein.&lt;br /&gt;
&lt;br /&gt;
Unter Port die jeweils gültige Portnummer. 3306 für MySQL und 5432 für PostgreSQL.&lt;/div&gt;</summary>
		<author><name>Has00</name></author>
	</entry>
	<entry>
		<id>https://wiki.hostsharing.net/index.php?title=Tiny_Tiny_RSS_Installieren&amp;diff=4486</id>
		<title>Tiny Tiny RSS Installieren</title>
		<link rel="alternate" type="text/html" href="https://wiki.hostsharing.net/index.php?title=Tiny_Tiny_RSS_Installieren&amp;diff=4486"/>
		<updated>2017-08-30T12:39:49Z</updated>

		<summary type="html">&lt;p&gt;Has00: /* Abschluss der Installation mit dem Installer von Tiny Tiny RSS */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
== Über Tiny Tiny RSS ==&lt;br /&gt;
&lt;br /&gt;
Wikipedia schreibt: »Tiny Tiny RSS ist ein freier, webbasierter Feedreader. Die Anwendung ermöglicht das Abonnieren und Betrachten von Web-Feeds über einen Webbrowser. Zudem gibt es eine offizielle Android-App, es wird jedoch auch ein API für weitere Clients zur Verfügung gestellt. Es werden die Formate RSS und Atom unterstützt. Das Programm ruft abonnierte Web-Feeds serverseitig in regelmäßigen Abständen ab und speichert die gefunden Artikel in einer Datenbank. Somit verpasst der Benutzer keinen Artikel, auch wenn er den Feedreader über einen langen Zeitraum nicht aufruft. Auf einer Instanz von Tiny Tiny RSS können mehrere Benutzer unabhängig voneinander arbeiten. Neue Benutzer können eigenständig direkt über die Anwendung ein neues Benutzerkonto erstellen. Des Weiteren bietet die Software komplexe Filterregeln für Artikel und das Teilen/Veröffentlichen von Artikeln in Form eines benutzerspezifischen Web-Feeds.«&lt;br /&gt;
&lt;br /&gt;
== Vorbereitung der Installation ==&lt;br /&gt;
&lt;br /&gt;
Um Tiny Tiny RSS auf der Managed Operation Platform von Hostsharing zu installieren, ist entsprechend der Best-Practice-Vorgaben folgende Vorbereitung erforderlich.&lt;br /&gt;
&lt;br /&gt;
1. Anlegen eines Domain-Benutzers&lt;br /&gt;
&lt;br /&gt;
2. Anlegen einer Domain&lt;br /&gt;
&lt;br /&gt;
3. Anlegen eines Datenbank-Benutzers&lt;br /&gt;
&lt;br /&gt;
4. Anlegen einer Datenbank (Tiny Tiny RSS arbeitet mit MySQL und PostgreSQL zusammen. Wir empfehlen die Nutzung von PostgreSQL.)&lt;br /&gt;
&lt;br /&gt;
Auf der Kommandozeile kann man dies folgendermaßen erledigen.&lt;br /&gt;
&lt;br /&gt;
Man loggt sich als Paketbenutzer ein und startet &#039;&#039;hsadmin&#039;&#039; mit &#039;&#039;hsscript&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
  hsscript -u xyz00 -i&lt;br /&gt;
  Password: ********&lt;br /&gt;
&lt;br /&gt;
Anschließend kann man die Vorbereitungsschritte 1 bis 4 erledigen:&lt;br /&gt;
&lt;br /&gt;
  xyz00@hsadmin&amp;gt; user.add({set:{name:&#039;xyz00-ttrss&#039;,password:&#039;geheim&#039;,comment:&#039;Drupal CMS&#039;}})&lt;br /&gt;
  xyz00@hsadmin&amp;gt; domain.add({set:{name:&#039;ttrss.hs-example.de&#039;,user:&#039;xyz00-ttrss&#039;}})&lt;br /&gt;
  xyz00@hsadmin&amp;gt; postgresqluser.add({set:{name:&#039;xyz00_ttrssuser&#039;,password:&#039;geheim&#039;}})&lt;br /&gt;
  xyz00@hsadmin&amp;gt; postgresqldb.add({set:{name:&#039;xyz00_ttrssdb&#039;,owner:&#039;xyz00_ttrssuser&#039;}})&lt;br /&gt;
&lt;br /&gt;
== Herunterladen des Quellcodes mit Hilfe von Git ==&lt;br /&gt;
&lt;br /&gt;
Wir installieren Tiny Tiny RSS mit Hilfe von Git aus den Quellen.&lt;br /&gt;
&lt;br /&gt;
 $ ssh xyz00-ttrss@xyz00.hostsharing.net&lt;br /&gt;
 $ git clone https://tt-rss.org/git/tt-rss.git tt-rss&lt;br /&gt;
&lt;br /&gt;
== Hostsharing-Dateisystem einrichten ==&lt;br /&gt;
&lt;br /&gt;
Nun müssen wir nur noch einige Änderungen im Dateisystem vornehmen.&lt;br /&gt;
&lt;br /&gt;
Wir wechseln in die neu angelegte Domain.&lt;br /&gt;
&lt;br /&gt;
 $ cd $HOME/doms/ttrss.hs-example.com/&lt;br /&gt;
&lt;br /&gt;
Dort löschen wir zunächst die Ordner für die Subdomain &amp;lt;code&amp;gt;www&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
 $ rm -rf subs/www&lt;br /&gt;
 $ rm -rf subs-ssl/www&lt;br /&gt;
&lt;br /&gt;
Anschließend tragen wir die Umleitung auf HTTPS ein.&lt;br /&gt;
&lt;br /&gt;
 $ vim htdocs/.htaccess&lt;br /&gt;
&lt;br /&gt;
Der  Eintrag muss folgendermaßen lauten:&lt;br /&gt;
&lt;br /&gt;
 Redirect permanent / https://ttrss.hs-example.com/&lt;br /&gt;
&lt;br /&gt;
Danach löschen wir den htdocs-ssl Ordner und legen einen symbolischen Link auf unsere Shaarli-Installation an.&lt;br /&gt;
&lt;br /&gt;
 $ rm -rf htdocs-ssl/&lt;br /&gt;
 $ ln -s $HOME/tt-rss htdocs-ssl&lt;br /&gt;
&lt;br /&gt;
== Abschluss der Installation mit dem Installer von Tiny Tiny RSS ==&lt;br /&gt;
&lt;br /&gt;
Unter der URL &amp;lt;code&amp;gt;ttrss.hs-example.com/install/&amp;lt;/code&amp;gt; können wir nun den Installer von Tiny Tiny RSS aufrufen, um die Installation zu beenden.&lt;br /&gt;
&lt;br /&gt;
[[Datei:Tiny-tiny-rss-installer.png]]&lt;/div&gt;</summary>
		<author><name>Has00</name></author>
	</entry>
	<entry>
		<id>https://wiki.hostsharing.net/index.php?title=Datei:Tiny-tiny-rss-installer.png&amp;diff=4485</id>
		<title>Datei:Tiny-tiny-rss-installer.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.hostsharing.net/index.php?title=Datei:Tiny-tiny-rss-installer.png&amp;diff=4485"/>
		<updated>2017-08-30T12:39:25Z</updated>

		<summary type="html">&lt;p&gt;Has00: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Has00</name></author>
	</entry>
	<entry>
		<id>https://wiki.hostsharing.net/index.php?title=Tiny_Tiny_RSS_Installieren&amp;diff=4484</id>
		<title>Tiny Tiny RSS Installieren</title>
		<link rel="alternate" type="text/html" href="https://wiki.hostsharing.net/index.php?title=Tiny_Tiny_RSS_Installieren&amp;diff=4484"/>
		<updated>2017-08-30T12:37:56Z</updated>

		<summary type="html">&lt;p&gt;Has00: /* Abschluss der Installation mit dem Installer von Tiny Tiny RSS */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
== Über Tiny Tiny RSS ==&lt;br /&gt;
&lt;br /&gt;
Wikipedia schreibt: »Tiny Tiny RSS ist ein freier, webbasierter Feedreader. Die Anwendung ermöglicht das Abonnieren und Betrachten von Web-Feeds über einen Webbrowser. Zudem gibt es eine offizielle Android-App, es wird jedoch auch ein API für weitere Clients zur Verfügung gestellt. Es werden die Formate RSS und Atom unterstützt. Das Programm ruft abonnierte Web-Feeds serverseitig in regelmäßigen Abständen ab und speichert die gefunden Artikel in einer Datenbank. Somit verpasst der Benutzer keinen Artikel, auch wenn er den Feedreader über einen langen Zeitraum nicht aufruft. Auf einer Instanz von Tiny Tiny RSS können mehrere Benutzer unabhängig voneinander arbeiten. Neue Benutzer können eigenständig direkt über die Anwendung ein neues Benutzerkonto erstellen. Des Weiteren bietet die Software komplexe Filterregeln für Artikel und das Teilen/Veröffentlichen von Artikeln in Form eines benutzerspezifischen Web-Feeds.«&lt;br /&gt;
&lt;br /&gt;
== Vorbereitung der Installation ==&lt;br /&gt;
&lt;br /&gt;
Um Tiny Tiny RSS auf der Managed Operation Platform von Hostsharing zu installieren, ist entsprechend der Best-Practice-Vorgaben folgende Vorbereitung erforderlich.&lt;br /&gt;
&lt;br /&gt;
1. Anlegen eines Domain-Benutzers&lt;br /&gt;
&lt;br /&gt;
2. Anlegen einer Domain&lt;br /&gt;
&lt;br /&gt;
3. Anlegen eines Datenbank-Benutzers&lt;br /&gt;
&lt;br /&gt;
4. Anlegen einer Datenbank (Tiny Tiny RSS arbeitet mit MySQL und PostgreSQL zusammen. Wir empfehlen die Nutzung von PostgreSQL.)&lt;br /&gt;
&lt;br /&gt;
Auf der Kommandozeile kann man dies folgendermaßen erledigen.&lt;br /&gt;
&lt;br /&gt;
Man loggt sich als Paketbenutzer ein und startet &#039;&#039;hsadmin&#039;&#039; mit &#039;&#039;hsscript&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
  hsscript -u xyz00 -i&lt;br /&gt;
  Password: ********&lt;br /&gt;
&lt;br /&gt;
Anschließend kann man die Vorbereitungsschritte 1 bis 4 erledigen:&lt;br /&gt;
&lt;br /&gt;
  xyz00@hsadmin&amp;gt; user.add({set:{name:&#039;xyz00-ttrss&#039;,password:&#039;geheim&#039;,comment:&#039;Drupal CMS&#039;}})&lt;br /&gt;
  xyz00@hsadmin&amp;gt; domain.add({set:{name:&#039;ttrss.hs-example.de&#039;,user:&#039;xyz00-ttrss&#039;}})&lt;br /&gt;
  xyz00@hsadmin&amp;gt; postgresqluser.add({set:{name:&#039;xyz00_ttrssuser&#039;,password:&#039;geheim&#039;}})&lt;br /&gt;
  xyz00@hsadmin&amp;gt; postgresqldb.add({set:{name:&#039;xyz00_ttrssdb&#039;,owner:&#039;xyz00_ttrssuser&#039;}})&lt;br /&gt;
&lt;br /&gt;
== Herunterladen des Quellcodes mit Hilfe von Git ==&lt;br /&gt;
&lt;br /&gt;
Wir installieren Tiny Tiny RSS mit Hilfe von Git aus den Quellen.&lt;br /&gt;
&lt;br /&gt;
 $ ssh xyz00-ttrss@xyz00.hostsharing.net&lt;br /&gt;
 $ git clone https://tt-rss.org/git/tt-rss.git tt-rss&lt;br /&gt;
&lt;br /&gt;
== Hostsharing-Dateisystem einrichten ==&lt;br /&gt;
&lt;br /&gt;
Nun müssen wir nur noch einige Änderungen im Dateisystem vornehmen.&lt;br /&gt;
&lt;br /&gt;
Wir wechseln in die neu angelegte Domain.&lt;br /&gt;
&lt;br /&gt;
 $ cd $HOME/doms/ttrss.hs-example.com/&lt;br /&gt;
&lt;br /&gt;
Dort löschen wir zunächst die Ordner für die Subdomain &amp;lt;code&amp;gt;www&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
 $ rm -rf subs/www&lt;br /&gt;
 $ rm -rf subs-ssl/www&lt;br /&gt;
&lt;br /&gt;
Anschließend tragen wir die Umleitung auf HTTPS ein.&lt;br /&gt;
&lt;br /&gt;
 $ vim htdocs/.htaccess&lt;br /&gt;
&lt;br /&gt;
Der  Eintrag muss folgendermaßen lauten:&lt;br /&gt;
&lt;br /&gt;
 Redirect permanent / https://ttrss.hs-example.com/&lt;br /&gt;
&lt;br /&gt;
Danach löschen wir den htdocs-ssl Ordner und legen einen symbolischen Link auf unsere Shaarli-Installation an.&lt;br /&gt;
&lt;br /&gt;
 $ rm -rf htdocs-ssl/&lt;br /&gt;
 $ ln -s $HOME/tt-rss htdocs-ssl&lt;br /&gt;
&lt;br /&gt;
== Abschluss der Installation mit dem Installer von Tiny Tiny RSS ==&lt;br /&gt;
&lt;br /&gt;
Unter der URL &amp;lt;code&amp;gt;ttrss.hs-example.com/install/&amp;lt;/code&amp;gt; können wir nun den Installer von Tiny Tiny RSS aufrufen, um die Installation zu beenden.&lt;br /&gt;
&lt;br /&gt;
[[Datei:Tiny_Tiny_Installer_Screenshot.png]]&lt;/div&gt;</summary>
		<author><name>Has00</name></author>
	</entry>
	<entry>
		<id>https://wiki.hostsharing.net/index.php?title=Tiny_Tiny_RSS_Installieren&amp;diff=4483</id>
		<title>Tiny Tiny RSS Installieren</title>
		<link rel="alternate" type="text/html" href="https://wiki.hostsharing.net/index.php?title=Tiny_Tiny_RSS_Installieren&amp;diff=4483"/>
		<updated>2017-08-30T12:36:32Z</updated>

		<summary type="html">&lt;p&gt;Has00: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
== Über Tiny Tiny RSS ==&lt;br /&gt;
&lt;br /&gt;
Wikipedia schreibt: »Tiny Tiny RSS ist ein freier, webbasierter Feedreader. Die Anwendung ermöglicht das Abonnieren und Betrachten von Web-Feeds über einen Webbrowser. Zudem gibt es eine offizielle Android-App, es wird jedoch auch ein API für weitere Clients zur Verfügung gestellt. Es werden die Formate RSS und Atom unterstützt. Das Programm ruft abonnierte Web-Feeds serverseitig in regelmäßigen Abständen ab und speichert die gefunden Artikel in einer Datenbank. Somit verpasst der Benutzer keinen Artikel, auch wenn er den Feedreader über einen langen Zeitraum nicht aufruft. Auf einer Instanz von Tiny Tiny RSS können mehrere Benutzer unabhängig voneinander arbeiten. Neue Benutzer können eigenständig direkt über die Anwendung ein neues Benutzerkonto erstellen. Des Weiteren bietet die Software komplexe Filterregeln für Artikel und das Teilen/Veröffentlichen von Artikeln in Form eines benutzerspezifischen Web-Feeds.«&lt;br /&gt;
&lt;br /&gt;
== Vorbereitung der Installation ==&lt;br /&gt;
&lt;br /&gt;
Um Tiny Tiny RSS auf der Managed Operation Platform von Hostsharing zu installieren, ist entsprechend der Best-Practice-Vorgaben folgende Vorbereitung erforderlich.&lt;br /&gt;
&lt;br /&gt;
1. Anlegen eines Domain-Benutzers&lt;br /&gt;
&lt;br /&gt;
2. Anlegen einer Domain&lt;br /&gt;
&lt;br /&gt;
3. Anlegen eines Datenbank-Benutzers&lt;br /&gt;
&lt;br /&gt;
4. Anlegen einer Datenbank (Tiny Tiny RSS arbeitet mit MySQL und PostgreSQL zusammen. Wir empfehlen die Nutzung von PostgreSQL.)&lt;br /&gt;
&lt;br /&gt;
Auf der Kommandozeile kann man dies folgendermaßen erledigen.&lt;br /&gt;
&lt;br /&gt;
Man loggt sich als Paketbenutzer ein und startet &#039;&#039;hsadmin&#039;&#039; mit &#039;&#039;hsscript&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
  hsscript -u xyz00 -i&lt;br /&gt;
  Password: ********&lt;br /&gt;
&lt;br /&gt;
Anschließend kann man die Vorbereitungsschritte 1 bis 4 erledigen:&lt;br /&gt;
&lt;br /&gt;
  xyz00@hsadmin&amp;gt; user.add({set:{name:&#039;xyz00-ttrss&#039;,password:&#039;geheim&#039;,comment:&#039;Drupal CMS&#039;}})&lt;br /&gt;
  xyz00@hsadmin&amp;gt; domain.add({set:{name:&#039;ttrss.hs-example.de&#039;,user:&#039;xyz00-ttrss&#039;}})&lt;br /&gt;
  xyz00@hsadmin&amp;gt; postgresqluser.add({set:{name:&#039;xyz00_ttrssuser&#039;,password:&#039;geheim&#039;}})&lt;br /&gt;
  xyz00@hsadmin&amp;gt; postgresqldb.add({set:{name:&#039;xyz00_ttrssdb&#039;,owner:&#039;xyz00_ttrssuser&#039;}})&lt;br /&gt;
&lt;br /&gt;
== Herunterladen des Quellcodes mit Hilfe von Git ==&lt;br /&gt;
&lt;br /&gt;
Wir installieren Tiny Tiny RSS mit Hilfe von Git aus den Quellen.&lt;br /&gt;
&lt;br /&gt;
 $ ssh xyz00-ttrss@xyz00.hostsharing.net&lt;br /&gt;
 $ git clone https://tt-rss.org/git/tt-rss.git tt-rss&lt;br /&gt;
&lt;br /&gt;
== Hostsharing-Dateisystem einrichten ==&lt;br /&gt;
&lt;br /&gt;
Nun müssen wir nur noch einige Änderungen im Dateisystem vornehmen.&lt;br /&gt;
&lt;br /&gt;
Wir wechseln in die neu angelegte Domain.&lt;br /&gt;
&lt;br /&gt;
 $ cd $HOME/doms/ttrss.hs-example.com/&lt;br /&gt;
&lt;br /&gt;
Dort löschen wir zunächst die Ordner für die Subdomain &amp;lt;code&amp;gt;www&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
 $ rm -rf subs/www&lt;br /&gt;
 $ rm -rf subs-ssl/www&lt;br /&gt;
&lt;br /&gt;
Anschließend tragen wir die Umleitung auf HTTPS ein.&lt;br /&gt;
&lt;br /&gt;
 $ vim htdocs/.htaccess&lt;br /&gt;
&lt;br /&gt;
Der  Eintrag muss folgendermaßen lauten:&lt;br /&gt;
&lt;br /&gt;
 Redirect permanent / https://ttrss.hs-example.com/&lt;br /&gt;
&lt;br /&gt;
Danach löschen wir den htdocs-ssl Ordner und legen einen symbolischen Link auf unsere Shaarli-Installation an.&lt;br /&gt;
&lt;br /&gt;
 $ rm -rf htdocs-ssl/&lt;br /&gt;
 $ ln -s $HOME/tt-rss htdocs-ssl&lt;br /&gt;
&lt;br /&gt;
== Abschluss der Installation mit dem Installer von Tiny Tiny RSS ==&lt;br /&gt;
&lt;br /&gt;
Unter der URL &amp;lt;code&amp;gt;ttrss.hs-example.com/install/&amp;lt;/code&amp;gt; können wir nun den Installer von Tiny Tiny RSS aufrufen, um die Installation zu beenden.&lt;/div&gt;</summary>
		<author><name>Has00</name></author>
	</entry>
	<entry>
		<id>https://wiki.hostsharing.net/index.php?title=Tiny_Tiny_RSS_Installieren&amp;diff=4482</id>
		<title>Tiny Tiny RSS Installieren</title>
		<link rel="alternate" type="text/html" href="https://wiki.hostsharing.net/index.php?title=Tiny_Tiny_RSS_Installieren&amp;diff=4482"/>
		<updated>2017-08-30T12:34:57Z</updated>

		<summary type="html">&lt;p&gt;Has00: /* Installation mit Hilfe von Git */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
== Über Tiny Tiny RSS ==&lt;br /&gt;
&lt;br /&gt;
Wikipedia schreibt: »Tiny Tiny RSS ist ein freier, webbasierter Feedreader. Die Anwendung ermöglicht das Abonnieren und Betrachten von Web-Feeds über einen Webbrowser. Zudem gibt es eine offizielle Android-App, es wird jedoch auch ein API für weitere Clients zur Verfügung gestellt. Es werden die Formate RSS und Atom unterstützt. Das Programm ruft abonnierte Web-Feeds serverseitig in regelmäßigen Abständen ab und speichert die gefunden Artikel in einer Datenbank. Somit verpasst der Benutzer keinen Artikel, auch wenn er den Feedreader über einen langen Zeitraum nicht aufruft. Auf einer Instanz von Tiny Tiny RSS können mehrere Benutzer unabhängig voneinander arbeiten. Neue Benutzer können eigenständig direkt über die Anwendung ein neues Benutzerkonto erstellen. Des Weiteren bietet die Software komplexe Filterregeln für Artikel und das Teilen/Veröffentlichen von Artikeln in Form eines benutzerspezifischen Web-Feeds.«&lt;br /&gt;
&lt;br /&gt;
== Vorbereitung der Installation ==&lt;br /&gt;
&lt;br /&gt;
Um Tiny Tiny RSS auf der Managed Operation Platform von Hostsharing zu installieren, ist entsprechend der Best-Practice-Vorgaben folgende Vorbereitung erforderlich.&lt;br /&gt;
&lt;br /&gt;
1. Anlegen eines Domain-Benutzers&lt;br /&gt;
&lt;br /&gt;
2. Anlegen einer Domain&lt;br /&gt;
&lt;br /&gt;
3. Anlegen eines Datenbank-Benutzers&lt;br /&gt;
&lt;br /&gt;
4. Anlegen einer Datenbank (Tiny Tiny RSS arbeitet mit MySQL und PostgreSQL zusammen. Wir empfehlen die Nutzung von PostgreSQL.)&lt;br /&gt;
&lt;br /&gt;
Auf der Kommandozeile kann man dies folgendermaßen erledigen.&lt;br /&gt;
&lt;br /&gt;
Man loggt sich als Paketbenutzer ein und startet &#039;&#039;hsadmin&#039;&#039; mit &#039;&#039;hsscript&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
  hsscript -u xyz00 -i&lt;br /&gt;
  Password: ********&lt;br /&gt;
&lt;br /&gt;
Anschließend kann man die Vorbereitungsschritte 1 bis 4 erledigen:&lt;br /&gt;
&lt;br /&gt;
  xyz00@hsadmin&amp;gt; user.add({set:{name:&#039;xyz00-ttrss&#039;,password:&#039;geheim&#039;,comment:&#039;Drupal CMS&#039;}})&lt;br /&gt;
  xyz00@hsadmin&amp;gt; domain.add({set:{name:&#039;ttrss.hs-example.de&#039;,user:&#039;xyz00-ttrss&#039;}})&lt;br /&gt;
  xyz00@hsadmin&amp;gt; postgresqluser.add({set:{name:&#039;xyz00_ttrssuser&#039;,password:&#039;geheim&#039;}})&lt;br /&gt;
  xyz00@hsadmin&amp;gt; postgresqldb.add({set:{name:&#039;xyz00_ttrssdb&#039;,owner:&#039;xyz00_ttrssuser&#039;}})&lt;br /&gt;
&lt;br /&gt;
== Herunterladen des Quellcodes mit Hilfe von Git ==&lt;br /&gt;
&lt;br /&gt;
Wir installieren Tiny Tiny RSS mit Hilfe von Git aus den Quellen.&lt;br /&gt;
&lt;br /&gt;
 $ ssh xyz00-ttrss@xyz00.hostsharing.net&lt;br /&gt;
 $ git clone https://tt-rss.org/git/tt-rss.git tt-rss&lt;br /&gt;
&lt;br /&gt;
== Hostsharing-Dateisystem einrichten ==&lt;br /&gt;
&lt;br /&gt;
Nun müssen wir nur noch einige Änderungen im Dateisystem vornehmen.&lt;br /&gt;
&lt;br /&gt;
Wir wechseln in die neu angelegte Domain.&lt;br /&gt;
&lt;br /&gt;
 $ cd $HOME/doms/ttrss.hs-example.com/&lt;br /&gt;
&lt;br /&gt;
Dort löschen wir zunächst die Ordner für die Subdomain &amp;lt;code&amp;gt;www&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
 $ rm -rf subs/www&lt;br /&gt;
 $ rm -rf subs-ssl/www&lt;br /&gt;
&lt;br /&gt;
Anschließend tragen wir die Umleitung auf HTTPS ein.&lt;br /&gt;
&lt;br /&gt;
 $ vim htdocs/.htaccess&lt;br /&gt;
&lt;br /&gt;
Der  Eintrag muss folgendermaßen lauten:&lt;br /&gt;
&lt;br /&gt;
 Redirect permanent / https://ttrss.hs-example.com/&lt;br /&gt;
&lt;br /&gt;
Danach löschen wir den htdocs-ssl Ordner und legen einen symbolischen Link auf unsere Shaarli-Installation an.&lt;br /&gt;
&lt;br /&gt;
 $ rm -rf htdocs-ssl/&lt;br /&gt;
 $ ln -s $HOME/tt-rss htdocs-ssl&lt;/div&gt;</summary>
		<author><name>Has00</name></author>
	</entry>
	<entry>
		<id>https://wiki.hostsharing.net/index.php?title=Tiny_Tiny_RSS_Installieren&amp;diff=4481</id>
		<title>Tiny Tiny RSS Installieren</title>
		<link rel="alternate" type="text/html" href="https://wiki.hostsharing.net/index.php?title=Tiny_Tiny_RSS_Installieren&amp;diff=4481"/>
		<updated>2017-08-30T12:27:09Z</updated>

		<summary type="html">&lt;p&gt;Has00: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
== Über Tiny Tiny RSS ==&lt;br /&gt;
&lt;br /&gt;
Wikipedia schreibt: »Tiny Tiny RSS ist ein freier, webbasierter Feedreader. Die Anwendung ermöglicht das Abonnieren und Betrachten von Web-Feeds über einen Webbrowser. Zudem gibt es eine offizielle Android-App, es wird jedoch auch ein API für weitere Clients zur Verfügung gestellt. Es werden die Formate RSS und Atom unterstützt. Das Programm ruft abonnierte Web-Feeds serverseitig in regelmäßigen Abständen ab und speichert die gefunden Artikel in einer Datenbank. Somit verpasst der Benutzer keinen Artikel, auch wenn er den Feedreader über einen langen Zeitraum nicht aufruft. Auf einer Instanz von Tiny Tiny RSS können mehrere Benutzer unabhängig voneinander arbeiten. Neue Benutzer können eigenständig direkt über die Anwendung ein neues Benutzerkonto erstellen. Des Weiteren bietet die Software komplexe Filterregeln für Artikel und das Teilen/Veröffentlichen von Artikeln in Form eines benutzerspezifischen Web-Feeds.«&lt;br /&gt;
&lt;br /&gt;
== Vorbereitung der Installation ==&lt;br /&gt;
&lt;br /&gt;
Um Tiny Tiny RSS auf der Managed Operation Platform von Hostsharing zu installieren, ist entsprechend der Best-Practice-Vorgaben folgende Vorbereitung erforderlich.&lt;br /&gt;
&lt;br /&gt;
1. Anlegen eines Domain-Benutzers&lt;br /&gt;
&lt;br /&gt;
2. Anlegen einer Domain&lt;br /&gt;
&lt;br /&gt;
3. Anlegen eines Datenbank-Benutzers&lt;br /&gt;
&lt;br /&gt;
4. Anlegen einer Datenbank (Tiny Tiny RSS arbeitet mit MySQL und PostgreSQL zusammen. Wir empfehlen die Nutzung von PostgreSQL.)&lt;br /&gt;
&lt;br /&gt;
Auf der Kommandozeile kann man dies folgendermaßen erledigen.&lt;br /&gt;
&lt;br /&gt;
Man loggt sich als Paketbenutzer ein und startet &#039;&#039;hsadmin&#039;&#039; mit &#039;&#039;hsscript&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
  hsscript -u xyz00 -i&lt;br /&gt;
  Password: ********&lt;br /&gt;
&lt;br /&gt;
Anschließend kann man die Vorbereitungsschritte 1 bis 4 erledigen:&lt;br /&gt;
&lt;br /&gt;
  xyz00@hsadmin&amp;gt; user.add({set:{name:&#039;xyz00-ttrss&#039;,password:&#039;geheim&#039;,comment:&#039;Drupal CMS&#039;}})&lt;br /&gt;
  xyz00@hsadmin&amp;gt; domain.add({set:{name:&#039;ttrss.hs-example.de&#039;,user:&#039;xyz00-ttrss&#039;}})&lt;br /&gt;
  xyz00@hsadmin&amp;gt; postgresqluser.add({set:{name:&#039;xyz00_ttrssuser&#039;,password:&#039;geheim&#039;}})&lt;br /&gt;
  xyz00@hsadmin&amp;gt; postgresqldb.add({set:{name:&#039;xyz00_ttrssdb&#039;,owner:&#039;xyz00_ttrssuser&#039;}})&lt;br /&gt;
&lt;br /&gt;
== Installation mit Hilfe von Git ==&lt;br /&gt;
&lt;br /&gt;
Wir installieren Tiny Tiny RSS mit Hilfe von Git aus den Quellen.&lt;br /&gt;
&lt;br /&gt;
 $ ssh xyz00-ttrss@xyz00.hostsharing.net&lt;br /&gt;
 $ git clone https://tt-rss.org/git/tt-rss.git tt-rss&lt;br /&gt;
&lt;br /&gt;
== Hostsharing-Dateisystem einrichten ==&lt;br /&gt;
&lt;br /&gt;
Nun müssen wir nur noch einige Änderungen im Dateisystem vornehmen.&lt;br /&gt;
&lt;br /&gt;
Wir wechseln in die neu angelegte Domain.&lt;br /&gt;
&lt;br /&gt;
 $ cd $HOME/doms/ttrss.hs-example.com/&lt;br /&gt;
&lt;br /&gt;
Dort löschen wir zunächst die Ordner für die Subdomain &amp;lt;code&amp;gt;www&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
 $ rm -rf subs/www&lt;br /&gt;
 $ rm -rf subs-ssl/www&lt;br /&gt;
&lt;br /&gt;
Anschließend tragen wir die Umleitung auf HTTPS ein.&lt;br /&gt;
&lt;br /&gt;
 $ vim htdocs/.htaccess&lt;br /&gt;
&lt;br /&gt;
Der  Eintrag muss folgendermaßen lauten:&lt;br /&gt;
&lt;br /&gt;
 Redirect permanent / https://ttrss.hs-example.com/&lt;br /&gt;
&lt;br /&gt;
Danach löschen wir den htdocs-ssl Ordner und legen einen symbolischen Link auf unsere Shaarli-Installation an.&lt;br /&gt;
&lt;br /&gt;
 $ rm -rf htdocs-ssl/&lt;br /&gt;
 $ ln -s $HOME/tt-rss htdocs-ssl&lt;/div&gt;</summary>
		<author><name>Has00</name></author>
	</entry>
</feed>