<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
		<id>http://wiki.iustus.eu/wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=87.123.95.19</id>
		<title>Lawsuit - Wiki - Benutzerbeiträge [de]</title>
		<link rel="self" type="application/atom+xml" href="http://wiki.iustus.eu/wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=87.123.95.19"/>
		<link rel="alternate" type="text/html" href="http://wiki.iustus.eu/wiki/index.php?title=Spezial:Beitr%C3%A4ge/87.123.95.19"/>
		<updated>2026-07-05T13:53:39Z</updated>
		<subtitle>Benutzerbeiträge</subtitle>
		<generator>MediaWiki 1.27.4</generator>

	<entry>
		<id>http://wiki.iustus.eu/wiki/index.php?title=Fehlende_Pakete_nachladen_-_ubuntu&amp;diff=7155</id>
		<title>Fehlende Pakete nachladen - ubuntu</title>
		<link rel="alternate" type="text/html" href="http://wiki.iustus.eu/wiki/index.php?title=Fehlende_Pakete_nachladen_-_ubuntu&amp;diff=7155"/>
				<updated>2026-01-02T19:16:31Z</updated>
		
		<summary type="html">&lt;p&gt;87.123.95.19: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Ubuntu|&lt;br /&gt;
*[https://ubuntu.com/16-04 16.04]&lt;br /&gt;
|&lt;br /&gt;
*[https://wiki.ubuntuusers.de/Perl/ Perl]&lt;br /&gt;
|&lt;br /&gt;
*[https://innovativeinnovation.github.io/ubuntu-setup/perl/cpan.html Perl-Einrichtung]&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Einführung ==&lt;br /&gt;
&lt;br /&gt;
Ubuntu liefert ein System, das aus aus Sicherheitsgründen viele notwendigen Pakete für ''Lawsuit'' noch nicht enthält.&lt;br /&gt;
Zudem sind für die Installation und Kompilierung von Perlmodulen nötigen Programme im Kernbestand nicht enthalten und sie müssen nachinstalliert werden. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
== Themes anpassen ==&lt;br /&gt;
Installieren Sie die Themes-Erweiterung per&lt;br /&gt;
{{shell|&amp;gt; sudo apt-get install gnome-tweaks gnome-shell-extensions}}&lt;br /&gt;
Sofern noch nicht vorhanden, legen Sie den &amp;lt;tt&amp;gt;.themes&amp;lt;/tt&amp;gt;-Ordner an:&lt;br /&gt;
{{shell|&amp;gt; mkdir ~/.themes}}&lt;br /&gt;
Ermitteln Sie die von Ihnen verwendete ''Gnome''-version mit&lt;br /&gt;
{{shell|&amp;gt; gnome-shell --version}}&lt;br /&gt;
und folgen der Anleitung unter&lt;br /&gt;
 https://drasite.com/flat-remix-gnome&lt;br /&gt;
insbesondere mit dem folgenden Befehl&lt;br /&gt;
{{shell|&amp;gt; sudo apt install git}}&lt;br /&gt;
und dann&lt;br /&gt;
{{shell|&amp;gt; git clone --branch 20231026 https://github.com/daniruiz/flat-remix-gnome&amp;lt;br&amp;gt;&amp;amp;nbsp; cd flat-remix-gnome&amp;lt;br&amp;gt;&amp;amp;nbsp; make &amp;amp;&amp;amp; sudo make install}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Weitere benötigte Pakete ==&lt;br /&gt;
{{Shell|&amp;gt; sudo apt install libglib2.0-dev-bin imagemagick gcc gimp k3b kdiff3 kfind python3-img2pdf qrencode unoconv zip }}&lt;br /&gt;
Ferner&lt;br /&gt;
{{Shell|&amp;gt; sudo snap install tesseract }}&lt;br /&gt;
&lt;br /&gt;
== Installation fehlender Perl-Module ==&lt;br /&gt;
Einige Perl-Module, die ''Lawsuit'' verwendet, sind teilweise in rpm-Paketen von openSUSE enthalten. Für deren Installation aus externen Quellen werden folgende Pakete zusätzlich benötigt:&lt;br /&gt;
{{Shell|&amp;gt; sudo apt install automake libapache2-mod-fcgid make libarchive-zip-perl libcgi-simple-perl libpdf-api2-perl libimage-magick-perl libyaml-perl libjpeg-dev libjpeg8-dev libjpeg-turbo8-dev zbar-tools libnet-whois-raw-perl libcrypt-rijndael-perl libgd-dev libdatetime-locale-perl libdatetime-timezone-systemv-perl}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Als Superuser starten Sie die MCPAN-Shell:&lt;br /&gt;
{{Shell|&amp;gt; su&amp;lt;br&amp;gt;# perl -e shell -MCPAN}}&lt;br /&gt;
und installieren Sie dann die folgenden Module:&lt;br /&gt;
{{Shell|cpan[1]&amp;gt;install CGI.pm &amp;lt;br&amp;gt;cpan[2]&amp;gt;install CGI::Cookie&amp;lt;br&amp;gt;cpan[3]&amp;gt;install File::Tail&amp;lt;br&amp;gt;cpan[4]&amp;gt;install ODF::lpOD&amp;lt;br&amp;gt;cpan[5]&amp;gt;install URI::Encode&amp;lt;br&amp;gt;cpan[6]&amp;gt;install JSON&amp;lt;br&amp;gt;cpan[7]&amp;gt;install Imager::QRCode&amp;lt;br&amp;gt;cpan[8]&amp;gt;install Imager::File::JPEG&amp;lt;br&amp;gt;cpan[9]&amp;gt;install Image::Scale&amp;lt;br&amp;gt;cpan[10]&amp;gt;install HTTP::Request&amp;lt;br&amp;gt;cpan[11]&amp;gt;install LWP::UserAgent&amp;lt;br&amp;gt;cpan[12]&amp;gt;install LWP::Simple::Post&amp;lt;br&amp;gt;cpan[13]&amp;gt;install List::Util&amp;lt;br&amp;gt;cpan[14]&amp;gt;install MIME::Words&amp;lt;br&amp;gt;cpan[15]&amp;gt;install App::PDFUtils&amp;lt;br&amp;gt;cpan[16]&amp;gt;install Data::ICal&amp;lt;br&amp;gt;cpan[17]&amp;gt;install DateTime::Event::ICal&amp;lt;br&amp;gt;cpan[18]&amp;gt;install Data::ICal::DateTime&amp;lt;br&amp;gt;cpan[19]&amp;gt;install Net::Fritz::Box&amp;lt;br&amp;gt;cpan[20]&amp;gt;install Net::Fritz::Phonebook # W&amp;amp;auml;hlen Sie hier Pretty Printing&amp;lt;br&amp;gt;cpan[21]&amp;gt;install Spreadsheet::ParseXLSX&amp;lt;br&amp;gt;cpan[22]&amp;gt;quit}}&lt;br /&gt;
&lt;br /&gt;
Daneben wird für das beA-Postfach grundsätzlich eine Texterkennung erwartet. Für sie verwendet ''Lawsuit'' die Erweiterung ''pdfsandwich'', die wie folgt installiert wird&lt;br /&gt;
{{Shell|&amp;gt; sudo apt-get install pdfsandwich}}&lt;br /&gt;
Fügen Sie anschließend in der Datei &amp;lt;tt&amp;gt;/etc/ImageMagick-7-SUSE/policy.xml&amp;lt;/tt&amp;gt; die folgende Zeile ein oder kommentieren Sie sie aus:&lt;br /&gt;
  &amp;lt;policy domain=&amp;quot;coder&amp;quot; rights=&amp;quot;read|write&amp;quot; pattern=&amp;quot;PDF&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Zusatzprogramm für aktuelle USB-Sticks ==&lt;br /&gt;
{{Shell|&amp;gt; sudo apt-get install exfatprogs}}&lt;br /&gt;
&lt;br /&gt;
== Zusatzprogramm für Ausweisfunktion ==&lt;br /&gt;
Die ''AusweisApp2'' ist bereits standardmäßig im Release enthalten, ansonsten kann man weitere Versionen unter&lt;br /&gt;
 https://www.openecard.org/en/download/&lt;br /&gt;
finden.&lt;br /&gt;
&lt;br /&gt;
== Zusatzeinstellungen für die Fritz!Box ==&lt;br /&gt;
Sofern Sie eine Fritz!Box benutzten, können Sie sich die eingehenden Anrufe mit dem Skript ''fritzcall.pl'' direkt anzeigen lassen. Dafür sind allerdings zunächst Anpassungen in der Fritz!Box nötig. Unter&lt;br /&gt;
 &amp;gt; Heimnetz &amp;gt; Netzwerk &amp;gt;  Netzwerkeinstellungen&lt;br /&gt;
klicken Sie unter dem Zusatzpunkt ''weitere Einstellungen'' die Auswahlbox ''Zugriff für Anwendungen zulassen'' an, um Abrufe über die TR-064 API zuzulassen.&lt;br /&gt;
Ferner müssen Sie dem User, den Sie später in ''fritzcall.pl'' unter ''username'' mit seinem ''password'' eintragen wollen, zunächst unter&lt;br /&gt;
 &amp;gt; System &amp;gt; Fritz!Box-Benutzer &lt;br /&gt;
den Zugang aus dem Internet erlauben.&lt;br /&gt;
Wenn diese Einstellungen richtig vorgenommen sind, sollte der im Rechner gestartete Browser-Aufruf&lt;br /&gt;
 http://fritz.box:49000/tr64desc.xml&lt;br /&gt;
eine XML-Datei auswerfen.&lt;br /&gt;
&lt;br /&gt;
===External links===&lt;br /&gt;
*[https://www.perl.org/ Perl-Community]&lt;br /&gt;
{{DEFAULTSORT:{{PAGENAME}}}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Linuxinstallation]]&lt;/div&gt;</summary>
		<author><name>87.123.95.19</name></author>	</entry>

	<entry>
		<id>http://wiki.iustus.eu/wiki/index.php?title=Fehlende_Pakete_nachladen_-_ubuntu&amp;diff=7154</id>
		<title>Fehlende Pakete nachladen - ubuntu</title>
		<link rel="alternate" type="text/html" href="http://wiki.iustus.eu/wiki/index.php?title=Fehlende_Pakete_nachladen_-_ubuntu&amp;diff=7154"/>
				<updated>2026-01-02T18:55:31Z</updated>
		
		<summary type="html">&lt;p&gt;87.123.95.19: /* Installation fehlender Perl-Module */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Ubuntu|&lt;br /&gt;
*[https://de.opensuse.org/Portal:Tumbleweed Tumbleweed]&lt;br /&gt;
*[https://de.opensuse.org/Portal:42.3 Leap 42.3]&lt;br /&gt;
*[https://de.opensuse.org/Portal:42.2 Leap 42.2]&lt;br /&gt;
*[https://de.opensuse.org/Portal:42.1 Leap 42.1]&lt;br /&gt;
|&lt;br /&gt;
*[https://de.opensuse.org/Perl Perl]&lt;br /&gt;
|&lt;br /&gt;
*[https://de.opensuse.org/Perl-Entwicklung Perl-Entwicklung]&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Einführung ==&lt;br /&gt;
&lt;br /&gt;
Ubuntu liefert ein System, das aus aus Sicherheitsgründen viele notwendigen Pakete für ''Lawsuit'' noch nicht enthält.&lt;br /&gt;
Zudem sind für die Installation und Kompilierung von Perlmodulen nötigen Programme im Kernbestand nicht enthalten und sie müssen nachinstalliert werden. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
== Themes anpassen ==&lt;br /&gt;
Installieren Sie die Themes-Erweiterung per&lt;br /&gt;
{{shell|&amp;gt; sudo apt-get install gnome-tweaks gnome-shell-extensions}}&lt;br /&gt;
Sofern noch nicht vorhanden, legen Sie den &amp;lt;tt&amp;gt;.themes&amp;lt;/tt&amp;gt;-Ordner an:&lt;br /&gt;
{{shell|&amp;gt; mkdir ~/.themes}}&lt;br /&gt;
Ermitteln Sie die von Ihnen verwendete ''Gnome''-version mit&lt;br /&gt;
{{shell|&amp;gt; gnome-shell --version}}&lt;br /&gt;
und folgen der Anleitung unter&lt;br /&gt;
 https://drasite.com/flat-remix-gnome&lt;br /&gt;
insbesondere mit dem folgenden Befehl&lt;br /&gt;
{{shell|&amp;gt; sudo apt install git}}&lt;br /&gt;
und dann&lt;br /&gt;
{{shell|&amp;gt; git clone --branch 20231026 https://github.com/daniruiz/flat-remix-gnome&amp;lt;br&amp;gt;&amp;amp;nbsp; cd flat-remix-gnome&amp;lt;br&amp;gt;&amp;amp;nbsp; make &amp;amp;&amp;amp; sudo make install}}&lt;br /&gt;
&lt;br /&gt;
== Multimediapaket per 1-Klick-Installation ==&lt;br /&gt;
&lt;br /&gt;
Rufen Sie mit einem Browser die Seite&lt;br /&gt;
 https://opensuse-community.org/&lt;br /&gt;
auf. Klicken Sie auf den zu Ihrer Desktopumgebung passenden Button und bestätigen Sie die Erweiterungen der von Ihnen akzeptierten Software-Repositories.&lt;br /&gt;
&lt;br /&gt;
Sollte der österreichische Server nicht zu erreichen sein, hilft alternativ der Eintrag eines neuen Repositories&lt;br /&gt;
 {{Shell|&amp;gt; sudo zypper addrepo -cfp 90 &amp;amp;apos;https://ftp.gwdg.de/pub/linux/misc/packman/suse/openSUSE_Leap_15.4/&amp;amp;apos; packman}}&lt;br /&gt;
&lt;br /&gt;
== Weitere benötigte RPM-Pakete ==&lt;br /&gt;
{{Shell|&amp;gt; sudo apt install libglib2.0-dev-bin imagemagick gcc gimp k3b kdiff3 kfind python3-img2pdf qrencode unoconv zip }}&lt;br /&gt;
Ferner&lt;br /&gt;
{{Shell|&amp;gt; sudo snap install tesseract }}&lt;br /&gt;
&lt;br /&gt;
== Installation fehlender Perl-Module ==&lt;br /&gt;
Einige Perl-Module, die ''Lawsuit'' verwendet, sind teilweise in rpm-Paketen von openSUSE enthalten. Für deren Installation aus externen Quellen werden folgende Pakete zusätzlich benötigt:&lt;br /&gt;
{{Shell|&amp;gt; sudo apt install automake libapache2-mod-fcgid make libarchive-zip-perl libcgi-simple-perl libpdf-api2-perl libimage-magick-perl libyaml-perl libjpeg-dev libjpeg8-dev libjpeg-turbo8-dev zbar-tools libnet-whois-raw-perl libcrypt-rijndael-perl libgd-dev libdatetime-locale-perl libdatetime-timezone-systemv-perl}}&lt;br /&gt;
&lt;br /&gt;
Daneben wird für das beA-Postfach grundsätzlich eine Texterkennung erwartet. Für sie verwendet ''Lawsuit'' die Erweiterung ''pdfsandwich'', die sich hier findet&lt;br /&gt;
 https://software.opensuse.org/package/pdfsandwich?search_term=pdfsandwich&lt;br /&gt;
oder alternativ wie folgt von Hand installiert werden kann:&lt;br /&gt;
{{Shell|&amp;gt; sudo zypper addrepo https://download.opensuse.org/repositories/home:/brassh/15.4/ pdfsandwich&amp;lt;br&amp;gt;&amp;amp;nbsp; sudo zypper in pdfsandwich}}&lt;br /&gt;
Fügen Sie anschließend in der Datei &amp;lt;tt&amp;gt;/etc/ImageMagick-7-SUSE/policy.xml&amp;lt;/tt&amp;gt; die folgende Zeile ein oder kommentieren Sie sie aus:&lt;br /&gt;
  &amp;lt;policy domain=&amp;quot;coder&amp;quot; rights=&amp;quot;read|write&amp;quot; pattern=&amp;quot;PDF&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Als Superuser starten Sie die MCPAN-Shell:&lt;br /&gt;
{{Shell|&amp;gt; su&amp;lt;br&amp;gt;# perl -e shell -MCPAN}}&lt;br /&gt;
und installieren Sie dann die folgenden Module:&lt;br /&gt;
{{Shell|cpan[1]&amp;gt;install CGI.pm &amp;lt;br&amp;gt;cpan[2]&amp;gt;install CGI::Cookie&amp;lt;br&amp;gt;cpan[3]&amp;gt;install File::Tail&amp;lt;br&amp;gt;cpan[4]&amp;gt;install ODF::lpOD&amp;lt;br&amp;gt;cpan[5]&amp;gt;install URI::Encode&amp;lt;br&amp;gt;cpan[6]&amp;gt;install JSON&amp;lt;br&amp;gt;cpan[7]&amp;gt;install Imager::QRCode&amp;lt;br&amp;gt;cpan[8]&amp;gt;install Imager::File::JPEG&amp;lt;br&amp;gt;cpan[9]&amp;gt;install Image::Scale&amp;lt;br&amp;gt;cpan[10]&amp;gt;install HTTP::Request&amp;lt;br&amp;gt;cpan[11]&amp;gt;install LWP::UserAgent&amp;lt;br&amp;gt;cpan[12]&amp;gt;install LWP::Simple::Post&amp;lt;br&amp;gt;cpan[13]&amp;gt;install List::Util&amp;lt;br&amp;gt;cpan[14]&amp;gt;install MIME::Words&amp;lt;br&amp;gt;cpan[15]&amp;gt;install App::PDFUtils&amp;lt;br&amp;gt;cpan[16]&amp;gt;install Data::ICal&amp;lt;br&amp;gt;cpan[17]&amp;gt;install DateTime::Event::ICal&amp;lt;br&amp;gt;cpan[18]&amp;gt;install Data::ICal::DateTime&amp;lt;br&amp;gt;cpan[19]&amp;gt;install Net::Fritz::Box&amp;lt;br&amp;gt;cpan[20]&amp;gt;install Net::Fritz::Phonebook # W&amp;amp;auml;hlen Sie hier Pretty Printing&amp;lt;br&amp;gt;cpan[21]&amp;gt;install Spreadsheet::ParseXLSX&amp;lt;br&amp;gt;cpan[22]&amp;gt;quit}}&lt;br /&gt;
&lt;br /&gt;
== Zusatzprogramm für aktuelle USB-Sticks ==&lt;br /&gt;
{{Shell|&amp;gt; sudo zypper in fuse-exfat exfatprogs}}&lt;br /&gt;
&lt;br /&gt;
== Zusatzprogramm für Ausweisfunktion ==&lt;br /&gt;
{{Shell|&amp;gt; wget &amp;quot;https://github.com/ecsec/open-ecard/releases/download/1.4.5/open-ecard-app-1.4.5-1.x86_64.rpm&amp;quot;&amp;lt;br&amp;gt;&amp;gt; sudo zypper in open-ecard-app-1.4.5-1.x86_64.rpm&lt;br /&gt;
}}&lt;br /&gt;
Die aktuellen RPMs finden Sie ansonsten unter&lt;br /&gt;
 https://www.openecard.org/en/download/pc/&lt;br /&gt;
&lt;br /&gt;
== Unsignierte Pakete ==&lt;br /&gt;
Um Updates für selbst heruntergeladene RPM-Pakete automatisch installieren zu können, obwohl die ihm &amp;lt;tt&amp;gt;bin&amp;lt;/tt&amp;gt;-Verzeichnis hinterlegten Softwarepakete in der Regel nicht signiert sind, geben sie anschließend nur für dieses Repository folgende Ausnahmeregelung für ''zypper'' ein:&lt;br /&gt;
{{Shell|&amp;gt; sudo zypper modifyrepo --gpgcheck-allow-unsigned-package bin}}&lt;br /&gt;
&lt;br /&gt;
== Zusatzeinstellungen für die Fritz!Box ==&lt;br /&gt;
Sofern Sie eine Fritz!Box benutzten, können Sie sich die eingehenden Anrufe mit dem Skript ''fritzcall.pl'' direkt anzeigen lassen. Dafür sind allerdings zunächst Anpassungen in der Fritz!Box nötig. Unter&lt;br /&gt;
 &amp;gt; Heimnetz &amp;gt; Netzwerk &amp;gt;  Netzwerkeinstellungen&lt;br /&gt;
klicken Sie unter dem Zusatzpunkt ''weitere Einstellungen'' die Auswahlbox ''Zugriff für Anwendungen zulassen'' an, um Abrufe über die TR-064 API zuzulassen.&lt;br /&gt;
Ferner müssen Sie dem User, den Sie später in ''fritzcall.pl'' unter ''username'' mit seinem ''password'' eintragen wollen, zunächst unter&lt;br /&gt;
 &amp;gt; System &amp;gt; Fritz!Box-Benutzer &lt;br /&gt;
den Zugang aus dem Internet erlauben.&lt;br /&gt;
Wenn diese Einstellungen richtig vorgenommen sind, sollte der im Rechner gestartete Browser-Aufruf&lt;br /&gt;
 http://fritz.box:49000/tr64desc.xml&lt;br /&gt;
eine XML-Datei auswerfen.&lt;br /&gt;
&lt;br /&gt;
===External links===&lt;br /&gt;
*[https://www.perl.org/ Perl-Community]&lt;br /&gt;
{{DEFAULTSORT:{{PAGENAME}}}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Linuxinstallation]]&lt;/div&gt;</summary>
		<author><name>87.123.95.19</name></author>	</entry>

	<entry>
		<id>http://wiki.iustus.eu/wiki/index.php?title=Fehlende_Pakete_nachladen_-_ubuntu&amp;diff=7153</id>
		<title>Fehlende Pakete nachladen - ubuntu</title>
		<link rel="alternate" type="text/html" href="http://wiki.iustus.eu/wiki/index.php?title=Fehlende_Pakete_nachladen_-_ubuntu&amp;diff=7153"/>
				<updated>2026-01-02T18:36:16Z</updated>
		
		<summary type="html">&lt;p&gt;87.123.95.19: /* Installation fehlender Perl-Module */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Ubuntu|&lt;br /&gt;
*[https://de.opensuse.org/Portal:Tumbleweed Tumbleweed]&lt;br /&gt;
*[https://de.opensuse.org/Portal:42.3 Leap 42.3]&lt;br /&gt;
*[https://de.opensuse.org/Portal:42.2 Leap 42.2]&lt;br /&gt;
*[https://de.opensuse.org/Portal:42.1 Leap 42.1]&lt;br /&gt;
|&lt;br /&gt;
*[https://de.opensuse.org/Perl Perl]&lt;br /&gt;
|&lt;br /&gt;
*[https://de.opensuse.org/Perl-Entwicklung Perl-Entwicklung]&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Einführung ==&lt;br /&gt;
&lt;br /&gt;
Ubuntu liefert ein System, das aus aus Sicherheitsgründen viele notwendigen Pakete für ''Lawsuit'' noch nicht enthält.&lt;br /&gt;
Zudem sind für die Installation und Kompilierung von Perlmodulen nötigen Programme im Kernbestand nicht enthalten und sie müssen nachinstalliert werden. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
== Themes anpassen ==&lt;br /&gt;
Installieren Sie die Themes-Erweiterung per&lt;br /&gt;
{{shell|&amp;gt; sudo apt-get install gnome-tweaks gnome-shell-extensions}}&lt;br /&gt;
Sofern noch nicht vorhanden, legen Sie den &amp;lt;tt&amp;gt;.themes&amp;lt;/tt&amp;gt;-Ordner an:&lt;br /&gt;
{{shell|&amp;gt; mkdir ~/.themes}}&lt;br /&gt;
Ermitteln Sie die von Ihnen verwendete ''Gnome''-version mit&lt;br /&gt;
{{shell|&amp;gt; gnome-shell --version}}&lt;br /&gt;
und folgen der Anleitung unter&lt;br /&gt;
 https://drasite.com/flat-remix-gnome&lt;br /&gt;
insbesondere mit dem folgenden Befehl&lt;br /&gt;
{{shell|&amp;gt; sudo apt install git}}&lt;br /&gt;
und dann&lt;br /&gt;
{{shell|&amp;gt; git clone --branch 20231026 https://github.com/daniruiz/flat-remix-gnome&amp;lt;br&amp;gt;&amp;amp;nbsp; cd flat-remix-gnome&amp;lt;br&amp;gt;&amp;amp;nbsp; make &amp;amp;&amp;amp; sudo make install}}&lt;br /&gt;
&lt;br /&gt;
== Multimediapaket per 1-Klick-Installation ==&lt;br /&gt;
&lt;br /&gt;
Rufen Sie mit einem Browser die Seite&lt;br /&gt;
 https://opensuse-community.org/&lt;br /&gt;
auf. Klicken Sie auf den zu Ihrer Desktopumgebung passenden Button und bestätigen Sie die Erweiterungen der von Ihnen akzeptierten Software-Repositories.&lt;br /&gt;
&lt;br /&gt;
Sollte der österreichische Server nicht zu erreichen sein, hilft alternativ der Eintrag eines neuen Repositories&lt;br /&gt;
 {{Shell|&amp;gt; sudo zypper addrepo -cfp 90 &amp;amp;apos;https://ftp.gwdg.de/pub/linux/misc/packman/suse/openSUSE_Leap_15.4/&amp;amp;apos; packman}}&lt;br /&gt;
&lt;br /&gt;
== Weitere benötigte RPM-Pakete ==&lt;br /&gt;
{{Shell|&amp;gt; sudo apt install libglib2.0-dev-bin imagemagick gcc gimp k3b kdiff3 kfind python3-img2pdf qrencode unoconv zip }}&lt;br /&gt;
Ferner&lt;br /&gt;
{{Shell|&amp;gt; sudo snap install tesseract }}&lt;br /&gt;
&lt;br /&gt;
== Installation fehlender Perl-Module ==&lt;br /&gt;
Einige Perl-Module, die ''Lawsuit'' verwendet, sind teilweise in rpm-Paketen von openSUSE enthalten. Für deren Installation aus externen Quellen werden folgende Pakete zusätzlich benötigt:&lt;br /&gt;
{{Shell|&amp;gt; sudo apt install automake libapache2-mod-fcgid make libarchive-zip-perl libcgi-simple-perl libpdf-api2-perl libimage-magick-perl libyaml-perl libjpeg-dev libjpeg8-dev libjpeg-turbo8-dev zbar-tools libnet-whois-raw-perl libcrypt-rijndael-perl libgd-dev libdatetime-locale-perl libdatetime-timezone-systemv-perl}}&lt;br /&gt;
&lt;br /&gt;
Daneben wird für das beA-Postfach grundsätzlich eine Texterkennung erwartet. Für sie verwendet ''Lawsuit'' die Erweiterung ''pdfsandwich'', die sich hier findet&lt;br /&gt;
 https://software.opensuse.org/package/pdfsandwich?search_term=pdfsandwich&lt;br /&gt;
oder alternativ wie folgt von Hand installiert werden kann:&lt;br /&gt;
{{Shell|&amp;gt; sudo zypper addrepo https://download.opensuse.org/repositories/home:/brassh/15.4/ pdfsandwich&amp;lt;br&amp;gt;&amp;amp;nbsp; sudo zypper in pdfsandwich}}&lt;br /&gt;
Fügen Sie anschließend in der Datei &amp;lt;tt&amp;gt;/etc/ImageMagick-7-SUSE/policy.xml&amp;lt;/tt&amp;gt; die folgende Zeile ein oder kommentieren Sie sie aus:&lt;br /&gt;
  &amp;lt;policy domain=&amp;quot;coder&amp;quot; rights=&amp;quot;read|write&amp;quot; pattern=&amp;quot;PDF&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Als Superuser starten Sie die MCPAN-Shell:&lt;br /&gt;
{{Shell|&amp;gt; su&amp;lt;br&amp;gt;# perl -e shell -MCPAN}}&lt;br /&gt;
und installieren Sie dann die folgenden Module:&lt;br /&gt;
{{Shell|cpan[1]&amp;gt;install CGI.pm &amp;lt;br&amp;gt;cpan[2]&amp;gt;install CGI::Cookie&amp;lt;br&amp;gt;cpan[2]&amp;gt;install File::Tail&amp;lt;br&amp;gt;cpan[3]&amp;gt;install ODF::lpOD&amp;lt;br&amp;gt;cpan[4]&amp;gt;install URI::Encode&amp;lt;br&amp;gt;cpan[5]&amp;gt;install JSON&amp;lt;br&amp;gt;cpan[6]&amp;gt;install Imager::QRCode&amp;lt;br&amp;gt;cpan[7]&amp;gt;install Imager::File::JPEG&amp;lt;br&amp;gt;cpan[8]&amp;gt;install Image::Scale&amp;lt;br&amp;gt;cpan[9]&amp;gt;install HTTP::Request&amp;lt;br&amp;gt;cpan[10]&amp;gt;install LWP::UserAgent&amp;lt;br&amp;gt;cpan[11]&amp;gt;install LWP::Simple::Post&amp;lt;br&amp;gt;cpan[12]&amp;gt;install List::Util&amp;lt;br&amp;gt;cpan[13]&amp;gt;install MIME::Words&amp;lt;br&amp;gt;cpan[14]&amp;gt;install App::PDFUtils&amp;lt;br&amp;gt;cpan[15]&amp;gt;install Data::ICal&amp;lt;br&amp;gt;cpan[16]&amp;gt;install DateTime::Event::ICal&amp;lt;br&amp;gt;cpan[17]&amp;gt;install Data::ICal::DateTime&amp;lt;br&amp;gt;cpan[18]&amp;gt;install Net::Fritz::Box&amp;lt;br&amp;gt;cpan[19]&amp;gt;install Net::Fritz::Phonebook # W&amp;amp;auml;hlen Sie hier Pretty Printing&amp;lt;br&amp;gt;cpan[20]&amp;gt;install Spreadsheet::ParseXLSX&amp;lt;br&amp;gt;cpan[21]&amp;gt;quit}}&lt;br /&gt;
&lt;br /&gt;
== Zusatzprogramm für aktuelle USB-Sticks ==&lt;br /&gt;
{{Shell|&amp;gt; sudo zypper in fuse-exfat exfatprogs}}&lt;br /&gt;
&lt;br /&gt;
== Zusatzprogramm für Ausweisfunktion ==&lt;br /&gt;
{{Shell|&amp;gt; wget &amp;quot;https://github.com/ecsec/open-ecard/releases/download/1.4.5/open-ecard-app-1.4.5-1.x86_64.rpm&amp;quot;&amp;lt;br&amp;gt;&amp;gt; sudo zypper in open-ecard-app-1.4.5-1.x86_64.rpm&lt;br /&gt;
}}&lt;br /&gt;
Die aktuellen RPMs finden Sie ansonsten unter&lt;br /&gt;
 https://www.openecard.org/en/download/pc/&lt;br /&gt;
&lt;br /&gt;
== Unsignierte Pakete ==&lt;br /&gt;
Um Updates für selbst heruntergeladene RPM-Pakete automatisch installieren zu können, obwohl die ihm &amp;lt;tt&amp;gt;bin&amp;lt;/tt&amp;gt;-Verzeichnis hinterlegten Softwarepakete in der Regel nicht signiert sind, geben sie anschließend nur für dieses Repository folgende Ausnahmeregelung für ''zypper'' ein:&lt;br /&gt;
{{Shell|&amp;gt; sudo zypper modifyrepo --gpgcheck-allow-unsigned-package bin}}&lt;br /&gt;
&lt;br /&gt;
== Zusatzeinstellungen für die Fritz!Box ==&lt;br /&gt;
Sofern Sie eine Fritz!Box benutzten, können Sie sich die eingehenden Anrufe mit dem Skript ''fritzcall.pl'' direkt anzeigen lassen. Dafür sind allerdings zunächst Anpassungen in der Fritz!Box nötig. Unter&lt;br /&gt;
 &amp;gt; Heimnetz &amp;gt; Netzwerk &amp;gt;  Netzwerkeinstellungen&lt;br /&gt;
klicken Sie unter dem Zusatzpunkt ''weitere Einstellungen'' die Auswahlbox ''Zugriff für Anwendungen zulassen'' an, um Abrufe über die TR-064 API zuzulassen.&lt;br /&gt;
Ferner müssen Sie dem User, den Sie später in ''fritzcall.pl'' unter ''username'' mit seinem ''password'' eintragen wollen, zunächst unter&lt;br /&gt;
 &amp;gt; System &amp;gt; Fritz!Box-Benutzer &lt;br /&gt;
den Zugang aus dem Internet erlauben.&lt;br /&gt;
Wenn diese Einstellungen richtig vorgenommen sind, sollte der im Rechner gestartete Browser-Aufruf&lt;br /&gt;
 http://fritz.box:49000/tr64desc.xml&lt;br /&gt;
eine XML-Datei auswerfen.&lt;br /&gt;
&lt;br /&gt;
===External links===&lt;br /&gt;
*[https://www.perl.org/ Perl-Community]&lt;br /&gt;
{{DEFAULTSORT:{{PAGENAME}}}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Linuxinstallation]]&lt;/div&gt;</summary>
		<author><name>87.123.95.19</name></author>	</entry>

	<entry>
		<id>http://wiki.iustus.eu/wiki/index.php?title=Fehlende_Pakete_nachladen_-_ubuntu&amp;diff=7152</id>
		<title>Fehlende Pakete nachladen - ubuntu</title>
		<link rel="alternate" type="text/html" href="http://wiki.iustus.eu/wiki/index.php?title=Fehlende_Pakete_nachladen_-_ubuntu&amp;diff=7152"/>
				<updated>2026-01-02T18:35:36Z</updated>
		
		<summary type="html">&lt;p&gt;87.123.95.19: /* Installation fehlender Perl-Module */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Ubuntu|&lt;br /&gt;
*[https://de.opensuse.org/Portal:Tumbleweed Tumbleweed]&lt;br /&gt;
*[https://de.opensuse.org/Portal:42.3 Leap 42.3]&lt;br /&gt;
*[https://de.opensuse.org/Portal:42.2 Leap 42.2]&lt;br /&gt;
*[https://de.opensuse.org/Portal:42.1 Leap 42.1]&lt;br /&gt;
|&lt;br /&gt;
*[https://de.opensuse.org/Perl Perl]&lt;br /&gt;
|&lt;br /&gt;
*[https://de.opensuse.org/Perl-Entwicklung Perl-Entwicklung]&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Einführung ==&lt;br /&gt;
&lt;br /&gt;
Ubuntu liefert ein System, das aus aus Sicherheitsgründen viele notwendigen Pakete für ''Lawsuit'' noch nicht enthält.&lt;br /&gt;
Zudem sind für die Installation und Kompilierung von Perlmodulen nötigen Programme im Kernbestand nicht enthalten und sie müssen nachinstalliert werden. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
== Themes anpassen ==&lt;br /&gt;
Installieren Sie die Themes-Erweiterung per&lt;br /&gt;
{{shell|&amp;gt; sudo apt-get install gnome-tweaks gnome-shell-extensions}}&lt;br /&gt;
Sofern noch nicht vorhanden, legen Sie den &amp;lt;tt&amp;gt;.themes&amp;lt;/tt&amp;gt;-Ordner an:&lt;br /&gt;
{{shell|&amp;gt; mkdir ~/.themes}}&lt;br /&gt;
Ermitteln Sie die von Ihnen verwendete ''Gnome''-version mit&lt;br /&gt;
{{shell|&amp;gt; gnome-shell --version}}&lt;br /&gt;
und folgen der Anleitung unter&lt;br /&gt;
 https://drasite.com/flat-remix-gnome&lt;br /&gt;
insbesondere mit dem folgenden Befehl&lt;br /&gt;
{{shell|&amp;gt; sudo apt install git}}&lt;br /&gt;
und dann&lt;br /&gt;
{{shell|&amp;gt; git clone --branch 20231026 https://github.com/daniruiz/flat-remix-gnome&amp;lt;br&amp;gt;&amp;amp;nbsp; cd flat-remix-gnome&amp;lt;br&amp;gt;&amp;amp;nbsp; make &amp;amp;&amp;amp; sudo make install}}&lt;br /&gt;
&lt;br /&gt;
== Multimediapaket per 1-Klick-Installation ==&lt;br /&gt;
&lt;br /&gt;
Rufen Sie mit einem Browser die Seite&lt;br /&gt;
 https://opensuse-community.org/&lt;br /&gt;
auf. Klicken Sie auf den zu Ihrer Desktopumgebung passenden Button und bestätigen Sie die Erweiterungen der von Ihnen akzeptierten Software-Repositories.&lt;br /&gt;
&lt;br /&gt;
Sollte der österreichische Server nicht zu erreichen sein, hilft alternativ der Eintrag eines neuen Repositories&lt;br /&gt;
 {{Shell|&amp;gt; sudo zypper addrepo -cfp 90 &amp;amp;apos;https://ftp.gwdg.de/pub/linux/misc/packman/suse/openSUSE_Leap_15.4/&amp;amp;apos; packman}}&lt;br /&gt;
&lt;br /&gt;
== Weitere benötigte RPM-Pakete ==&lt;br /&gt;
{{Shell|&amp;gt; sudo apt install libglib2.0-dev-bin imagemagick gcc gimp k3b kdiff3 kfind python3-img2pdf qrencode unoconv zip }}&lt;br /&gt;
Ferner&lt;br /&gt;
{{Shell|&amp;gt; sudo snap install tesseract }}&lt;br /&gt;
&lt;br /&gt;
== Installation fehlender Perl-Module ==&lt;br /&gt;
Einige Perl-Module, die ''Lawsuit'' verwendet, sind teilweise in rpm-Paketen von openSUSE enthalten. Für deren Installation aus externen Quellen werden folgende Pakete zusätzlich benötigt:&lt;br /&gt;
{{Shell|&amp;gt; sudo apt install automake libapache2-mod-fcgid make libarchive-zip-perl libcgi-simple-perl libpdf-api2-perl libimage-magick-perl libyaml-perl libjpeg62-dev libjpeg-dev libjpeg8-dev libjpeg-turbo8-dev zbar-tools libnet-whois-raw-perl libcrypt-rijndael-perl libgd-dev libdatetime-locale-perl libdatetime-timezone-systemv-perl}}&lt;br /&gt;
&lt;br /&gt;
Daneben wird für das beA-Postfach grundsätzlich eine Texterkennung erwartet. Für sie verwendet ''Lawsuit'' die Erweiterung ''pdfsandwich'', die sich hier findet&lt;br /&gt;
 https://software.opensuse.org/package/pdfsandwich?search_term=pdfsandwich&lt;br /&gt;
oder alternativ wie folgt von Hand installiert werden kann:&lt;br /&gt;
{{Shell|&amp;gt; sudo zypper addrepo https://download.opensuse.org/repositories/home:/brassh/15.4/ pdfsandwich&amp;lt;br&amp;gt;&amp;amp;nbsp; sudo zypper in pdfsandwich}}&lt;br /&gt;
Fügen Sie anschließend in der Datei &amp;lt;tt&amp;gt;/etc/ImageMagick-7-SUSE/policy.xml&amp;lt;/tt&amp;gt; die folgende Zeile ein oder kommentieren Sie sie aus:&lt;br /&gt;
  &amp;lt;policy domain=&amp;quot;coder&amp;quot; rights=&amp;quot;read|write&amp;quot; pattern=&amp;quot;PDF&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Als Superuser starten Sie die MCPAN-Shell:&lt;br /&gt;
{{Shell|&amp;gt; su&amp;lt;br&amp;gt;# perl -e shell -MCPAN}}&lt;br /&gt;
und installieren Sie dann die folgenden Module:&lt;br /&gt;
{{Shell|cpan[1]&amp;gt;install CGI.pm &amp;lt;br&amp;gt;cpan[2]&amp;gt;install CGI::Cookie&amp;lt;br&amp;gt;cpan[2]&amp;gt;install File::Tail&amp;lt;br&amp;gt;cpan[3]&amp;gt;install ODF::lpOD&amp;lt;br&amp;gt;cpan[4]&amp;gt;install URI::Encode&amp;lt;br&amp;gt;cpan[5]&amp;gt;install JSON&amp;lt;br&amp;gt;cpan[6]&amp;gt;install Imager::QRCode&amp;lt;br&amp;gt;cpan[7]&amp;gt;install Imager::File::JPEG&amp;lt;br&amp;gt;cpan[8]&amp;gt;install Image::Scale&amp;lt;br&amp;gt;cpan[9]&amp;gt;install HTTP::Request&amp;lt;br&amp;gt;cpan[10]&amp;gt;install LWP::UserAgent&amp;lt;br&amp;gt;cpan[11]&amp;gt;install LWP::Simple::Post&amp;lt;br&amp;gt;cpan[12]&amp;gt;install List::Util&amp;lt;br&amp;gt;cpan[13]&amp;gt;install MIME::Words&amp;lt;br&amp;gt;cpan[14]&amp;gt;install App::PDFUtils&amp;lt;br&amp;gt;cpan[15]&amp;gt;install Data::ICal&amp;lt;br&amp;gt;cpan[16]&amp;gt;install DateTime::Event::ICal&amp;lt;br&amp;gt;cpan[17]&amp;gt;install Data::ICal::DateTime&amp;lt;br&amp;gt;cpan[18]&amp;gt;install Net::Fritz::Box&amp;lt;br&amp;gt;cpan[19]&amp;gt;install Net::Fritz::Phonebook # W&amp;amp;auml;hlen Sie hier Pretty Printing&amp;lt;br&amp;gt;cpan[20]&amp;gt;install Spreadsheet::ParseXLSX&amp;lt;br&amp;gt;cpan[21]&amp;gt;quit}}&lt;br /&gt;
&lt;br /&gt;
== Zusatzprogramm für aktuelle USB-Sticks ==&lt;br /&gt;
{{Shell|&amp;gt; sudo zypper in fuse-exfat exfatprogs}}&lt;br /&gt;
&lt;br /&gt;
== Zusatzprogramm für Ausweisfunktion ==&lt;br /&gt;
{{Shell|&amp;gt; wget &amp;quot;https://github.com/ecsec/open-ecard/releases/download/1.4.5/open-ecard-app-1.4.5-1.x86_64.rpm&amp;quot;&amp;lt;br&amp;gt;&amp;gt; sudo zypper in open-ecard-app-1.4.5-1.x86_64.rpm&lt;br /&gt;
}}&lt;br /&gt;
Die aktuellen RPMs finden Sie ansonsten unter&lt;br /&gt;
 https://www.openecard.org/en/download/pc/&lt;br /&gt;
&lt;br /&gt;
== Unsignierte Pakete ==&lt;br /&gt;
Um Updates für selbst heruntergeladene RPM-Pakete automatisch installieren zu können, obwohl die ihm &amp;lt;tt&amp;gt;bin&amp;lt;/tt&amp;gt;-Verzeichnis hinterlegten Softwarepakete in der Regel nicht signiert sind, geben sie anschließend nur für dieses Repository folgende Ausnahmeregelung für ''zypper'' ein:&lt;br /&gt;
{{Shell|&amp;gt; sudo zypper modifyrepo --gpgcheck-allow-unsigned-package bin}}&lt;br /&gt;
&lt;br /&gt;
== Zusatzeinstellungen für die Fritz!Box ==&lt;br /&gt;
Sofern Sie eine Fritz!Box benutzten, können Sie sich die eingehenden Anrufe mit dem Skript ''fritzcall.pl'' direkt anzeigen lassen. Dafür sind allerdings zunächst Anpassungen in der Fritz!Box nötig. Unter&lt;br /&gt;
 &amp;gt; Heimnetz &amp;gt; Netzwerk &amp;gt;  Netzwerkeinstellungen&lt;br /&gt;
klicken Sie unter dem Zusatzpunkt ''weitere Einstellungen'' die Auswahlbox ''Zugriff für Anwendungen zulassen'' an, um Abrufe über die TR-064 API zuzulassen.&lt;br /&gt;
Ferner müssen Sie dem User, den Sie später in ''fritzcall.pl'' unter ''username'' mit seinem ''password'' eintragen wollen, zunächst unter&lt;br /&gt;
 &amp;gt; System &amp;gt; Fritz!Box-Benutzer &lt;br /&gt;
den Zugang aus dem Internet erlauben.&lt;br /&gt;
Wenn diese Einstellungen richtig vorgenommen sind, sollte der im Rechner gestartete Browser-Aufruf&lt;br /&gt;
 http://fritz.box:49000/tr64desc.xml&lt;br /&gt;
eine XML-Datei auswerfen.&lt;br /&gt;
&lt;br /&gt;
===External links===&lt;br /&gt;
*[https://www.perl.org/ Perl-Community]&lt;br /&gt;
{{DEFAULTSORT:{{PAGENAME}}}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Linuxinstallation]]&lt;/div&gt;</summary>
		<author><name>87.123.95.19</name></author>	</entry>

	<entry>
		<id>http://wiki.iustus.eu/wiki/index.php?title=Fehlende_Pakete_nachladen_-_ubuntu&amp;diff=7151</id>
		<title>Fehlende Pakete nachladen - ubuntu</title>
		<link rel="alternate" type="text/html" href="http://wiki.iustus.eu/wiki/index.php?title=Fehlende_Pakete_nachladen_-_ubuntu&amp;diff=7151"/>
				<updated>2026-01-02T18:34:34Z</updated>
		
		<summary type="html">&lt;p&gt;87.123.95.19: /* Installation fehlender Perl-Module */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Ubuntu|&lt;br /&gt;
*[https://de.opensuse.org/Portal:Tumbleweed Tumbleweed]&lt;br /&gt;
*[https://de.opensuse.org/Portal:42.3 Leap 42.3]&lt;br /&gt;
*[https://de.opensuse.org/Portal:42.2 Leap 42.2]&lt;br /&gt;
*[https://de.opensuse.org/Portal:42.1 Leap 42.1]&lt;br /&gt;
|&lt;br /&gt;
*[https://de.opensuse.org/Perl Perl]&lt;br /&gt;
|&lt;br /&gt;
*[https://de.opensuse.org/Perl-Entwicklung Perl-Entwicklung]&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Einführung ==&lt;br /&gt;
&lt;br /&gt;
Ubuntu liefert ein System, das aus aus Sicherheitsgründen viele notwendigen Pakete für ''Lawsuit'' noch nicht enthält.&lt;br /&gt;
Zudem sind für die Installation und Kompilierung von Perlmodulen nötigen Programme im Kernbestand nicht enthalten und sie müssen nachinstalliert werden. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
== Themes anpassen ==&lt;br /&gt;
Installieren Sie die Themes-Erweiterung per&lt;br /&gt;
{{shell|&amp;gt; sudo apt-get install gnome-tweaks gnome-shell-extensions}}&lt;br /&gt;
Sofern noch nicht vorhanden, legen Sie den &amp;lt;tt&amp;gt;.themes&amp;lt;/tt&amp;gt;-Ordner an:&lt;br /&gt;
{{shell|&amp;gt; mkdir ~/.themes}}&lt;br /&gt;
Ermitteln Sie die von Ihnen verwendete ''Gnome''-version mit&lt;br /&gt;
{{shell|&amp;gt; gnome-shell --version}}&lt;br /&gt;
und folgen der Anleitung unter&lt;br /&gt;
 https://drasite.com/flat-remix-gnome&lt;br /&gt;
insbesondere mit dem folgenden Befehl&lt;br /&gt;
{{shell|&amp;gt; sudo apt install git}}&lt;br /&gt;
und dann&lt;br /&gt;
{{shell|&amp;gt; git clone --branch 20231026 https://github.com/daniruiz/flat-remix-gnome&amp;lt;br&amp;gt;&amp;amp;nbsp; cd flat-remix-gnome&amp;lt;br&amp;gt;&amp;amp;nbsp; make &amp;amp;&amp;amp; sudo make install}}&lt;br /&gt;
&lt;br /&gt;
== Multimediapaket per 1-Klick-Installation ==&lt;br /&gt;
&lt;br /&gt;
Rufen Sie mit einem Browser die Seite&lt;br /&gt;
 https://opensuse-community.org/&lt;br /&gt;
auf. Klicken Sie auf den zu Ihrer Desktopumgebung passenden Button und bestätigen Sie die Erweiterungen der von Ihnen akzeptierten Software-Repositories.&lt;br /&gt;
&lt;br /&gt;
Sollte der österreichische Server nicht zu erreichen sein, hilft alternativ der Eintrag eines neuen Repositories&lt;br /&gt;
 {{Shell|&amp;gt; sudo zypper addrepo -cfp 90 &amp;amp;apos;https://ftp.gwdg.de/pub/linux/misc/packman/suse/openSUSE_Leap_15.4/&amp;amp;apos; packman}}&lt;br /&gt;
&lt;br /&gt;
== Weitere benötigte RPM-Pakete ==&lt;br /&gt;
{{Shell|&amp;gt; sudo apt install libglib2.0-dev-bin imagemagick gcc gimp k3b kdiff3 kfind python3-img2pdf qrencode unoconv zip }}&lt;br /&gt;
Ferner&lt;br /&gt;
{{Shell|&amp;gt; sudo snap install tesseract }}&lt;br /&gt;
&lt;br /&gt;
== Installation fehlender Perl-Module ==&lt;br /&gt;
Einige Perl-Module, die ''Lawsuit'' verwendet, sind teilweise in rpm-Paketen von openSUSE enthalten. Für deren Installation aus externen Quellen werden folgende Pakete zusätzlich benötigt:&lt;br /&gt;
{{Shell|&amp;gt; sudo apt install automake libapache2-mod-fcgid make libarchive-zip-perl libcgi-simple-perl libpdf-api2-perl libimage-magick-perl libyaml-perl libjpeg62-dev libjpeg-dev libjpeg8-dev libjpeg-turbo8-dev zbarimg libnet-whois-raw-perl libcrypt-rijndael-perl libgd-dev libdatetime-locale-perl libdatetime-timezone-systemv-perl}}&lt;br /&gt;
&lt;br /&gt;
Daneben wird für das beA-Postfach grundsätzlich eine Texterkennung erwartet. Für sie verwendet ''Lawsuit'' die Erweiterung ''pdfsandwich'', die sich hier findet&lt;br /&gt;
 https://software.opensuse.org/package/pdfsandwich?search_term=pdfsandwich&lt;br /&gt;
oder alternativ wie folgt von Hand installiert werden kann:&lt;br /&gt;
{{Shell|&amp;gt; sudo zypper addrepo https://download.opensuse.org/repositories/home:/brassh/15.4/ pdfsandwich&amp;lt;br&amp;gt;&amp;amp;nbsp; sudo zypper in pdfsandwich}}&lt;br /&gt;
Fügen Sie anschließend in der Datei &amp;lt;tt&amp;gt;/etc/ImageMagick-7-SUSE/policy.xml&amp;lt;/tt&amp;gt; die folgende Zeile ein oder kommentieren Sie sie aus:&lt;br /&gt;
  &amp;lt;policy domain=&amp;quot;coder&amp;quot; rights=&amp;quot;read|write&amp;quot; pattern=&amp;quot;PDF&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Als Superuser starten Sie die MCPAN-Shell:&lt;br /&gt;
{{Shell|&amp;gt; su&amp;lt;br&amp;gt;# perl -e shell -MCPAN}}&lt;br /&gt;
und installieren Sie dann die folgenden Module:&lt;br /&gt;
{{Shell|cpan[1]&amp;gt;install CGI.pm &amp;lt;br&amp;gt;cpan[2]&amp;gt;install CGI::Cookie&amp;lt;br&amp;gt;cpan[2]&amp;gt;install File::Tail&amp;lt;br&amp;gt;cpan[3]&amp;gt;install ODF::lpOD&amp;lt;br&amp;gt;cpan[4]&amp;gt;install URI::Encode&amp;lt;br&amp;gt;cpan[5]&amp;gt;install JSON&amp;lt;br&amp;gt;cpan[6]&amp;gt;install Imager::QRCode&amp;lt;br&amp;gt;cpan[7]&amp;gt;install Imager::File::JPEG&amp;lt;br&amp;gt;cpan[8]&amp;gt;install Image::Scale&amp;lt;br&amp;gt;cpan[9]&amp;gt;install HTTP::Request&amp;lt;br&amp;gt;cpan[10]&amp;gt;install LWP::UserAgent&amp;lt;br&amp;gt;cpan[11]&amp;gt;install LWP::Simple::Post&amp;lt;br&amp;gt;cpan[12]&amp;gt;install List::Util&amp;lt;br&amp;gt;cpan[13]&amp;gt;install MIME::Words&amp;lt;br&amp;gt;cpan[14]&amp;gt;install App::PDFUtils&amp;lt;br&amp;gt;cpan[15]&amp;gt;install Data::ICal&amp;lt;br&amp;gt;cpan[16]&amp;gt;install DateTime::Event::ICal&amp;lt;br&amp;gt;cpan[17]&amp;gt;install Data::ICal::DateTime&amp;lt;br&amp;gt;cpan[18]&amp;gt;install Net::Fritz::Box&amp;lt;br&amp;gt;cpan[19]&amp;gt;install Net::Fritz::Phonebook # W&amp;amp;auml;hlen Sie hier Pretty Printing&amp;lt;br&amp;gt;cpan[20]&amp;gt;install Spreadsheet::ParseXLSX&amp;lt;br&amp;gt;cpan[21]&amp;gt;quit}}&lt;br /&gt;
&lt;br /&gt;
== Zusatzprogramm für aktuelle USB-Sticks ==&lt;br /&gt;
{{Shell|&amp;gt; sudo zypper in fuse-exfat exfatprogs}}&lt;br /&gt;
&lt;br /&gt;
== Zusatzprogramm für Ausweisfunktion ==&lt;br /&gt;
{{Shell|&amp;gt; wget &amp;quot;https://github.com/ecsec/open-ecard/releases/download/1.4.5/open-ecard-app-1.4.5-1.x86_64.rpm&amp;quot;&amp;lt;br&amp;gt;&amp;gt; sudo zypper in open-ecard-app-1.4.5-1.x86_64.rpm&lt;br /&gt;
}}&lt;br /&gt;
Die aktuellen RPMs finden Sie ansonsten unter&lt;br /&gt;
 https://www.openecard.org/en/download/pc/&lt;br /&gt;
&lt;br /&gt;
== Unsignierte Pakete ==&lt;br /&gt;
Um Updates für selbst heruntergeladene RPM-Pakete automatisch installieren zu können, obwohl die ihm &amp;lt;tt&amp;gt;bin&amp;lt;/tt&amp;gt;-Verzeichnis hinterlegten Softwarepakete in der Regel nicht signiert sind, geben sie anschließend nur für dieses Repository folgende Ausnahmeregelung für ''zypper'' ein:&lt;br /&gt;
{{Shell|&amp;gt; sudo zypper modifyrepo --gpgcheck-allow-unsigned-package bin}}&lt;br /&gt;
&lt;br /&gt;
== Zusatzeinstellungen für die Fritz!Box ==&lt;br /&gt;
Sofern Sie eine Fritz!Box benutzten, können Sie sich die eingehenden Anrufe mit dem Skript ''fritzcall.pl'' direkt anzeigen lassen. Dafür sind allerdings zunächst Anpassungen in der Fritz!Box nötig. Unter&lt;br /&gt;
 &amp;gt; Heimnetz &amp;gt; Netzwerk &amp;gt;  Netzwerkeinstellungen&lt;br /&gt;
klicken Sie unter dem Zusatzpunkt ''weitere Einstellungen'' die Auswahlbox ''Zugriff für Anwendungen zulassen'' an, um Abrufe über die TR-064 API zuzulassen.&lt;br /&gt;
Ferner müssen Sie dem User, den Sie später in ''fritzcall.pl'' unter ''username'' mit seinem ''password'' eintragen wollen, zunächst unter&lt;br /&gt;
 &amp;gt; System &amp;gt; Fritz!Box-Benutzer &lt;br /&gt;
den Zugang aus dem Internet erlauben.&lt;br /&gt;
Wenn diese Einstellungen richtig vorgenommen sind, sollte der im Rechner gestartete Browser-Aufruf&lt;br /&gt;
 http://fritz.box:49000/tr64desc.xml&lt;br /&gt;
eine XML-Datei auswerfen.&lt;br /&gt;
&lt;br /&gt;
===External links===&lt;br /&gt;
*[https://www.perl.org/ Perl-Community]&lt;br /&gt;
{{DEFAULTSORT:{{PAGENAME}}}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Linuxinstallation]]&lt;/div&gt;</summary>
		<author><name>87.123.95.19</name></author>	</entry>

	<entry>
		<id>http://wiki.iustus.eu/wiki/index.php?title=Fehlende_Pakete_nachladen_-_ubuntu&amp;diff=7150</id>
		<title>Fehlende Pakete nachladen - ubuntu</title>
		<link rel="alternate" type="text/html" href="http://wiki.iustus.eu/wiki/index.php?title=Fehlende_Pakete_nachladen_-_ubuntu&amp;diff=7150"/>
				<updated>2026-01-02T18:33:13Z</updated>
		
		<summary type="html">&lt;p&gt;87.123.95.19: /* Installation fehlender Perl-Module */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Ubuntu|&lt;br /&gt;
*[https://de.opensuse.org/Portal:Tumbleweed Tumbleweed]&lt;br /&gt;
*[https://de.opensuse.org/Portal:42.3 Leap 42.3]&lt;br /&gt;
*[https://de.opensuse.org/Portal:42.2 Leap 42.2]&lt;br /&gt;
*[https://de.opensuse.org/Portal:42.1 Leap 42.1]&lt;br /&gt;
|&lt;br /&gt;
*[https://de.opensuse.org/Perl Perl]&lt;br /&gt;
|&lt;br /&gt;
*[https://de.opensuse.org/Perl-Entwicklung Perl-Entwicklung]&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Einführung ==&lt;br /&gt;
&lt;br /&gt;
Ubuntu liefert ein System, das aus aus Sicherheitsgründen viele notwendigen Pakete für ''Lawsuit'' noch nicht enthält.&lt;br /&gt;
Zudem sind für die Installation und Kompilierung von Perlmodulen nötigen Programme im Kernbestand nicht enthalten und sie müssen nachinstalliert werden. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
== Themes anpassen ==&lt;br /&gt;
Installieren Sie die Themes-Erweiterung per&lt;br /&gt;
{{shell|&amp;gt; sudo apt-get install gnome-tweaks gnome-shell-extensions}}&lt;br /&gt;
Sofern noch nicht vorhanden, legen Sie den &amp;lt;tt&amp;gt;.themes&amp;lt;/tt&amp;gt;-Ordner an:&lt;br /&gt;
{{shell|&amp;gt; mkdir ~/.themes}}&lt;br /&gt;
Ermitteln Sie die von Ihnen verwendete ''Gnome''-version mit&lt;br /&gt;
{{shell|&amp;gt; gnome-shell --version}}&lt;br /&gt;
und folgen der Anleitung unter&lt;br /&gt;
 https://drasite.com/flat-remix-gnome&lt;br /&gt;
insbesondere mit dem folgenden Befehl&lt;br /&gt;
{{shell|&amp;gt; sudo apt install git}}&lt;br /&gt;
und dann&lt;br /&gt;
{{shell|&amp;gt; git clone --branch 20231026 https://github.com/daniruiz/flat-remix-gnome&amp;lt;br&amp;gt;&amp;amp;nbsp; cd flat-remix-gnome&amp;lt;br&amp;gt;&amp;amp;nbsp; make &amp;amp;&amp;amp; sudo make install}}&lt;br /&gt;
&lt;br /&gt;
== Multimediapaket per 1-Klick-Installation ==&lt;br /&gt;
&lt;br /&gt;
Rufen Sie mit einem Browser die Seite&lt;br /&gt;
 https://opensuse-community.org/&lt;br /&gt;
auf. Klicken Sie auf den zu Ihrer Desktopumgebung passenden Button und bestätigen Sie die Erweiterungen der von Ihnen akzeptierten Software-Repositories.&lt;br /&gt;
&lt;br /&gt;
Sollte der österreichische Server nicht zu erreichen sein, hilft alternativ der Eintrag eines neuen Repositories&lt;br /&gt;
 {{Shell|&amp;gt; sudo zypper addrepo -cfp 90 &amp;amp;apos;https://ftp.gwdg.de/pub/linux/misc/packman/suse/openSUSE_Leap_15.4/&amp;amp;apos; packman}}&lt;br /&gt;
&lt;br /&gt;
== Weitere benötigte RPM-Pakete ==&lt;br /&gt;
{{Shell|&amp;gt; sudo apt install libglib2.0-dev-bin imagemagick gcc gimp k3b kdiff3 kfind python3-img2pdf qrencode unoconv zip }}&lt;br /&gt;
Ferner&lt;br /&gt;
{{Shell|&amp;gt; sudo snap install tesseract }}&lt;br /&gt;
&lt;br /&gt;
== Installation fehlender Perl-Module ==&lt;br /&gt;
Einige Perl-Module, die ''Lawsuit'' verwendet, sind teilweise in rpm-Paketen von openSUSE enthalten. Für deren Installation aus externen Quellen werden folgende Pakete zusätzlich benötigt:&lt;br /&gt;
{{Shell|&amp;gt; sudo apt install automake libapache2-mod-fcgid make libarchive-zip-perl libcgi-simple-perl libpdf-api2-perl libimage-magick-perl libyaml-perl libjpeg62-dev libjpeg-dev libjpeg8-dev libjpeg-turbo8-dev zbar libnet-whois-raw-perl libcrypt-rijndael-perl libgd-dev libdatetime-locale-perl libdatetime-timezone-systemv-perl}}&lt;br /&gt;
&lt;br /&gt;
Daneben wird für das beA-Postfach grundsätzlich eine Texterkennung erwartet. Für sie verwendet ''Lawsuit'' die Erweiterung ''pdfsandwich'', die sich hier findet&lt;br /&gt;
 https://software.opensuse.org/package/pdfsandwich?search_term=pdfsandwich&lt;br /&gt;
oder alternativ wie folgt von Hand installiert werden kann:&lt;br /&gt;
{{Shell|&amp;gt; sudo zypper addrepo https://download.opensuse.org/repositories/home:/brassh/15.4/ pdfsandwich&amp;lt;br&amp;gt;&amp;amp;nbsp; sudo zypper in pdfsandwich}}&lt;br /&gt;
Fügen Sie anschließend in der Datei &amp;lt;tt&amp;gt;/etc/ImageMagick-7-SUSE/policy.xml&amp;lt;/tt&amp;gt; die folgende Zeile ein oder kommentieren Sie sie aus:&lt;br /&gt;
  &amp;lt;policy domain=&amp;quot;coder&amp;quot; rights=&amp;quot;read|write&amp;quot; pattern=&amp;quot;PDF&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Als Superuser starten Sie die MCPAN-Shell:&lt;br /&gt;
{{Shell|&amp;gt; su&amp;lt;br&amp;gt;# perl -e shell -MCPAN}}&lt;br /&gt;
und installieren Sie dann die folgenden Module:&lt;br /&gt;
{{Shell|cpan[1]&amp;gt;install CGI.pm &amp;lt;br&amp;gt;cpan[2]&amp;gt;install CGI::Cookie&amp;lt;br&amp;gt;cpan[2]&amp;gt;install File::Tail&amp;lt;br&amp;gt;cpan[3]&amp;gt;install ODF::lpOD&amp;lt;br&amp;gt;cpan[4]&amp;gt;install URI::Encode&amp;lt;br&amp;gt;cpan[5]&amp;gt;install JSON&amp;lt;br&amp;gt;cpan[6]&amp;gt;install Imager::QRCode&amp;lt;br&amp;gt;cpan[7]&amp;gt;install Imager::File::JPEG&amp;lt;br&amp;gt;cpan[8]&amp;gt;install Image::Scale&amp;lt;br&amp;gt;cpan[9]&amp;gt;install HTTP::Request&amp;lt;br&amp;gt;cpan[10]&amp;gt;install LWP::UserAgent&amp;lt;br&amp;gt;cpan[11]&amp;gt;install LWP::Simple::Post&amp;lt;br&amp;gt;cpan[12]&amp;gt;install List::Util&amp;lt;br&amp;gt;cpan[13]&amp;gt;install MIME::Words&amp;lt;br&amp;gt;cpan[14]&amp;gt;install App::PDFUtils&amp;lt;br&amp;gt;cpan[15]&amp;gt;install Data::ICal&amp;lt;br&amp;gt;cpan[16]&amp;gt;install DateTime::Event::ICal&amp;lt;br&amp;gt;cpan[17]&amp;gt;install Data::ICal::DateTime&amp;lt;br&amp;gt;cpan[18]&amp;gt;install Net::Fritz::Box&amp;lt;br&amp;gt;cpan[19]&amp;gt;install Net::Fritz::Phonebook # W&amp;amp;auml;hlen Sie hier Pretty Printing&amp;lt;br&amp;gt;cpan[20]&amp;gt;install Spreadsheet::ParseXLSX&amp;lt;br&amp;gt;cpan[21]&amp;gt;quit}}&lt;br /&gt;
&lt;br /&gt;
== Zusatzprogramm für aktuelle USB-Sticks ==&lt;br /&gt;
{{Shell|&amp;gt; sudo zypper in fuse-exfat exfatprogs}}&lt;br /&gt;
&lt;br /&gt;
== Zusatzprogramm für Ausweisfunktion ==&lt;br /&gt;
{{Shell|&amp;gt; wget &amp;quot;https://github.com/ecsec/open-ecard/releases/download/1.4.5/open-ecard-app-1.4.5-1.x86_64.rpm&amp;quot;&amp;lt;br&amp;gt;&amp;gt; sudo zypper in open-ecard-app-1.4.5-1.x86_64.rpm&lt;br /&gt;
}}&lt;br /&gt;
Die aktuellen RPMs finden Sie ansonsten unter&lt;br /&gt;
 https://www.openecard.org/en/download/pc/&lt;br /&gt;
&lt;br /&gt;
== Unsignierte Pakete ==&lt;br /&gt;
Um Updates für selbst heruntergeladene RPM-Pakete automatisch installieren zu können, obwohl die ihm &amp;lt;tt&amp;gt;bin&amp;lt;/tt&amp;gt;-Verzeichnis hinterlegten Softwarepakete in der Regel nicht signiert sind, geben sie anschließend nur für dieses Repository folgende Ausnahmeregelung für ''zypper'' ein:&lt;br /&gt;
{{Shell|&amp;gt; sudo zypper modifyrepo --gpgcheck-allow-unsigned-package bin}}&lt;br /&gt;
&lt;br /&gt;
== Zusatzeinstellungen für die Fritz!Box ==&lt;br /&gt;
Sofern Sie eine Fritz!Box benutzten, können Sie sich die eingehenden Anrufe mit dem Skript ''fritzcall.pl'' direkt anzeigen lassen. Dafür sind allerdings zunächst Anpassungen in der Fritz!Box nötig. Unter&lt;br /&gt;
 &amp;gt; Heimnetz &amp;gt; Netzwerk &amp;gt;  Netzwerkeinstellungen&lt;br /&gt;
klicken Sie unter dem Zusatzpunkt ''weitere Einstellungen'' die Auswahlbox ''Zugriff für Anwendungen zulassen'' an, um Abrufe über die TR-064 API zuzulassen.&lt;br /&gt;
Ferner müssen Sie dem User, den Sie später in ''fritzcall.pl'' unter ''username'' mit seinem ''password'' eintragen wollen, zunächst unter&lt;br /&gt;
 &amp;gt; System &amp;gt; Fritz!Box-Benutzer &lt;br /&gt;
den Zugang aus dem Internet erlauben.&lt;br /&gt;
Wenn diese Einstellungen richtig vorgenommen sind, sollte der im Rechner gestartete Browser-Aufruf&lt;br /&gt;
 http://fritz.box:49000/tr64desc.xml&lt;br /&gt;
eine XML-Datei auswerfen.&lt;br /&gt;
&lt;br /&gt;
===External links===&lt;br /&gt;
*[https://www.perl.org/ Perl-Community]&lt;br /&gt;
{{DEFAULTSORT:{{PAGENAME}}}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Linuxinstallation]]&lt;/div&gt;</summary>
		<author><name>87.123.95.19</name></author>	</entry>

	<entry>
		<id>http://wiki.iustus.eu/wiki/index.php?title=Fehlende_Pakete_nachladen_-_ubuntu&amp;diff=7149</id>
		<title>Fehlende Pakete nachladen - ubuntu</title>
		<link rel="alternate" type="text/html" href="http://wiki.iustus.eu/wiki/index.php?title=Fehlende_Pakete_nachladen_-_ubuntu&amp;diff=7149"/>
				<updated>2026-01-02T18:30:28Z</updated>
		
		<summary type="html">&lt;p&gt;87.123.95.19: /* Installation fehlender Perl-Module */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Ubuntu|&lt;br /&gt;
*[https://de.opensuse.org/Portal:Tumbleweed Tumbleweed]&lt;br /&gt;
*[https://de.opensuse.org/Portal:42.3 Leap 42.3]&lt;br /&gt;
*[https://de.opensuse.org/Portal:42.2 Leap 42.2]&lt;br /&gt;
*[https://de.opensuse.org/Portal:42.1 Leap 42.1]&lt;br /&gt;
|&lt;br /&gt;
*[https://de.opensuse.org/Perl Perl]&lt;br /&gt;
|&lt;br /&gt;
*[https://de.opensuse.org/Perl-Entwicklung Perl-Entwicklung]&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Einführung ==&lt;br /&gt;
&lt;br /&gt;
Ubuntu liefert ein System, das aus aus Sicherheitsgründen viele notwendigen Pakete für ''Lawsuit'' noch nicht enthält.&lt;br /&gt;
Zudem sind für die Installation und Kompilierung von Perlmodulen nötigen Programme im Kernbestand nicht enthalten und sie müssen nachinstalliert werden. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
== Themes anpassen ==&lt;br /&gt;
Installieren Sie die Themes-Erweiterung per&lt;br /&gt;
{{shell|&amp;gt; sudo apt-get install gnome-tweaks gnome-shell-extensions}}&lt;br /&gt;
Sofern noch nicht vorhanden, legen Sie den &amp;lt;tt&amp;gt;.themes&amp;lt;/tt&amp;gt;-Ordner an:&lt;br /&gt;
{{shell|&amp;gt; mkdir ~/.themes}}&lt;br /&gt;
Ermitteln Sie die von Ihnen verwendete ''Gnome''-version mit&lt;br /&gt;
{{shell|&amp;gt; gnome-shell --version}}&lt;br /&gt;
und folgen der Anleitung unter&lt;br /&gt;
 https://drasite.com/flat-remix-gnome&lt;br /&gt;
insbesondere mit dem folgenden Befehl&lt;br /&gt;
{{shell|&amp;gt; sudo apt install git}}&lt;br /&gt;
und dann&lt;br /&gt;
{{shell|&amp;gt; git clone --branch 20231026 https://github.com/daniruiz/flat-remix-gnome&amp;lt;br&amp;gt;&amp;amp;nbsp; cd flat-remix-gnome&amp;lt;br&amp;gt;&amp;amp;nbsp; make &amp;amp;&amp;amp; sudo make install}}&lt;br /&gt;
&lt;br /&gt;
== Multimediapaket per 1-Klick-Installation ==&lt;br /&gt;
&lt;br /&gt;
Rufen Sie mit einem Browser die Seite&lt;br /&gt;
 https://opensuse-community.org/&lt;br /&gt;
auf. Klicken Sie auf den zu Ihrer Desktopumgebung passenden Button und bestätigen Sie die Erweiterungen der von Ihnen akzeptierten Software-Repositories.&lt;br /&gt;
&lt;br /&gt;
Sollte der österreichische Server nicht zu erreichen sein, hilft alternativ der Eintrag eines neuen Repositories&lt;br /&gt;
 {{Shell|&amp;gt; sudo zypper addrepo -cfp 90 &amp;amp;apos;https://ftp.gwdg.de/pub/linux/misc/packman/suse/openSUSE_Leap_15.4/&amp;amp;apos; packman}}&lt;br /&gt;
&lt;br /&gt;
== Weitere benötigte RPM-Pakete ==&lt;br /&gt;
{{Shell|&amp;gt; sudo apt install libglib2.0-dev-bin imagemagick gcc gimp k3b kdiff3 kfind python3-img2pdf qrencode unoconv zip }}&lt;br /&gt;
Ferner&lt;br /&gt;
{{Shell|&amp;gt; sudo snap install tesseract }}&lt;br /&gt;
&lt;br /&gt;
== Installation fehlender Perl-Module ==&lt;br /&gt;
Einige Perl-Module, die ''Lawsuit'' verwendet, sind teilweise in rpm-Paketen von openSUSE enthalten. Für deren Installation aus externen Quellen werden folgende Pakete zusätzlich benötigt:&lt;br /&gt;
{{Shell|&amp;gt; sudo apt install automake libapache2-mod-fcgid make libarchive-zip-perl libcgi-simple-perl libpdf-api2-perl libimage-magick-perl libyaml-perl libjpeg-turbo libjpeg8-devel zbar libnet-whois-raw-perl libcrypt-rijndael-perl libgd-dev libdatetime-locale-perl libdatetime-timezone-systemv-perl}}&lt;br /&gt;
&lt;br /&gt;
Daneben wird für das beA-Postfach grundsätzlich eine Texterkennung erwartet. Für sie verwendet ''Lawsuit'' die Erweiterung ''pdfsandwich'', die sich hier findet&lt;br /&gt;
 https://software.opensuse.org/package/pdfsandwich?search_term=pdfsandwich&lt;br /&gt;
oder alternativ wie folgt von Hand installiert werden kann:&lt;br /&gt;
{{Shell|&amp;gt; sudo zypper addrepo https://download.opensuse.org/repositories/home:/brassh/15.4/ pdfsandwich&amp;lt;br&amp;gt;&amp;amp;nbsp; sudo zypper in pdfsandwich}}&lt;br /&gt;
Fügen Sie anschließend in der Datei &amp;lt;tt&amp;gt;/etc/ImageMagick-7-SUSE/policy.xml&amp;lt;/tt&amp;gt; die folgende Zeile ein oder kommentieren Sie sie aus:&lt;br /&gt;
  &amp;lt;policy domain=&amp;quot;coder&amp;quot; rights=&amp;quot;read|write&amp;quot; pattern=&amp;quot;PDF&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Als Superuser starten Sie die MCPAN-Shell:&lt;br /&gt;
{{Shell|&amp;gt; su&amp;lt;br&amp;gt;# perl -e shell -MCPAN}}&lt;br /&gt;
und installieren Sie dann die folgenden Module:&lt;br /&gt;
{{Shell|cpan[1]&amp;gt;install CGI.pm &amp;lt;br&amp;gt;cpan[2]&amp;gt;install CGI::Cookie&amp;lt;br&amp;gt;cpan[2]&amp;gt;install File::Tail&amp;lt;br&amp;gt;cpan[3]&amp;gt;install ODF::lpOD&amp;lt;br&amp;gt;cpan[4]&amp;gt;install URI::Encode&amp;lt;br&amp;gt;cpan[5]&amp;gt;install JSON&amp;lt;br&amp;gt;cpan[6]&amp;gt;install Imager::QRCode&amp;lt;br&amp;gt;cpan[7]&amp;gt;install Imager::File::JPEG&amp;lt;br&amp;gt;cpan[8]&amp;gt;install Image::Scale&amp;lt;br&amp;gt;cpan[9]&amp;gt;install HTTP::Request&amp;lt;br&amp;gt;cpan[10]&amp;gt;install LWP::UserAgent&amp;lt;br&amp;gt;cpan[11]&amp;gt;install LWP::Simple::Post&amp;lt;br&amp;gt;cpan[12]&amp;gt;install List::Util&amp;lt;br&amp;gt;cpan[13]&amp;gt;install MIME::Words&amp;lt;br&amp;gt;cpan[14]&amp;gt;install App::PDFUtils&amp;lt;br&amp;gt;cpan[15]&amp;gt;install Data::ICal&amp;lt;br&amp;gt;cpan[16]&amp;gt;install DateTime::Event::ICal&amp;lt;br&amp;gt;cpan[17]&amp;gt;install Data::ICal::DateTime&amp;lt;br&amp;gt;cpan[18]&amp;gt;install Net::Fritz::Box&amp;lt;br&amp;gt;cpan[19]&amp;gt;install Net::Fritz::Phonebook # W&amp;amp;auml;hlen Sie hier Pretty Printing&amp;lt;br&amp;gt;cpan[20]&amp;gt;install Spreadsheet::ParseXLSX&amp;lt;br&amp;gt;cpan[21]&amp;gt;quit}}&lt;br /&gt;
&lt;br /&gt;
== Zusatzprogramm für aktuelle USB-Sticks ==&lt;br /&gt;
{{Shell|&amp;gt; sudo zypper in fuse-exfat exfatprogs}}&lt;br /&gt;
&lt;br /&gt;
== Zusatzprogramm für Ausweisfunktion ==&lt;br /&gt;
{{Shell|&amp;gt; wget &amp;quot;https://github.com/ecsec/open-ecard/releases/download/1.4.5/open-ecard-app-1.4.5-1.x86_64.rpm&amp;quot;&amp;lt;br&amp;gt;&amp;gt; sudo zypper in open-ecard-app-1.4.5-1.x86_64.rpm&lt;br /&gt;
}}&lt;br /&gt;
Die aktuellen RPMs finden Sie ansonsten unter&lt;br /&gt;
 https://www.openecard.org/en/download/pc/&lt;br /&gt;
&lt;br /&gt;
== Unsignierte Pakete ==&lt;br /&gt;
Um Updates für selbst heruntergeladene RPM-Pakete automatisch installieren zu können, obwohl die ihm &amp;lt;tt&amp;gt;bin&amp;lt;/tt&amp;gt;-Verzeichnis hinterlegten Softwarepakete in der Regel nicht signiert sind, geben sie anschließend nur für dieses Repository folgende Ausnahmeregelung für ''zypper'' ein:&lt;br /&gt;
{{Shell|&amp;gt; sudo zypper modifyrepo --gpgcheck-allow-unsigned-package bin}}&lt;br /&gt;
&lt;br /&gt;
== Zusatzeinstellungen für die Fritz!Box ==&lt;br /&gt;
Sofern Sie eine Fritz!Box benutzten, können Sie sich die eingehenden Anrufe mit dem Skript ''fritzcall.pl'' direkt anzeigen lassen. Dafür sind allerdings zunächst Anpassungen in der Fritz!Box nötig. Unter&lt;br /&gt;
 &amp;gt; Heimnetz &amp;gt; Netzwerk &amp;gt;  Netzwerkeinstellungen&lt;br /&gt;
klicken Sie unter dem Zusatzpunkt ''weitere Einstellungen'' die Auswahlbox ''Zugriff für Anwendungen zulassen'' an, um Abrufe über die TR-064 API zuzulassen.&lt;br /&gt;
Ferner müssen Sie dem User, den Sie später in ''fritzcall.pl'' unter ''username'' mit seinem ''password'' eintragen wollen, zunächst unter&lt;br /&gt;
 &amp;gt; System &amp;gt; Fritz!Box-Benutzer &lt;br /&gt;
den Zugang aus dem Internet erlauben.&lt;br /&gt;
Wenn diese Einstellungen richtig vorgenommen sind, sollte der im Rechner gestartete Browser-Aufruf&lt;br /&gt;
 http://fritz.box:49000/tr64desc.xml&lt;br /&gt;
eine XML-Datei auswerfen.&lt;br /&gt;
&lt;br /&gt;
===External links===&lt;br /&gt;
*[https://www.perl.org/ Perl-Community]&lt;br /&gt;
{{DEFAULTSORT:{{PAGENAME}}}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Linuxinstallation]]&lt;/div&gt;</summary>
		<author><name>87.123.95.19</name></author>	</entry>

	<entry>
		<id>http://wiki.iustus.eu/wiki/index.php?title=Fehlende_Pakete_nachladen_-_ubuntu&amp;diff=7148</id>
		<title>Fehlende Pakete nachladen - ubuntu</title>
		<link rel="alternate" type="text/html" href="http://wiki.iustus.eu/wiki/index.php?title=Fehlende_Pakete_nachladen_-_ubuntu&amp;diff=7148"/>
				<updated>2026-01-02T18:28:59Z</updated>
		
		<summary type="html">&lt;p&gt;87.123.95.19: /* Installation fehlender Perl-Module */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Ubuntu|&lt;br /&gt;
*[https://de.opensuse.org/Portal:Tumbleweed Tumbleweed]&lt;br /&gt;
*[https://de.opensuse.org/Portal:42.3 Leap 42.3]&lt;br /&gt;
*[https://de.opensuse.org/Portal:42.2 Leap 42.2]&lt;br /&gt;
*[https://de.opensuse.org/Portal:42.1 Leap 42.1]&lt;br /&gt;
|&lt;br /&gt;
*[https://de.opensuse.org/Perl Perl]&lt;br /&gt;
|&lt;br /&gt;
*[https://de.opensuse.org/Perl-Entwicklung Perl-Entwicklung]&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Einführung ==&lt;br /&gt;
&lt;br /&gt;
Ubuntu liefert ein System, das aus aus Sicherheitsgründen viele notwendigen Pakete für ''Lawsuit'' noch nicht enthält.&lt;br /&gt;
Zudem sind für die Installation und Kompilierung von Perlmodulen nötigen Programme im Kernbestand nicht enthalten und sie müssen nachinstalliert werden. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
== Themes anpassen ==&lt;br /&gt;
Installieren Sie die Themes-Erweiterung per&lt;br /&gt;
{{shell|&amp;gt; sudo apt-get install gnome-tweaks gnome-shell-extensions}}&lt;br /&gt;
Sofern noch nicht vorhanden, legen Sie den &amp;lt;tt&amp;gt;.themes&amp;lt;/tt&amp;gt;-Ordner an:&lt;br /&gt;
{{shell|&amp;gt; mkdir ~/.themes}}&lt;br /&gt;
Ermitteln Sie die von Ihnen verwendete ''Gnome''-version mit&lt;br /&gt;
{{shell|&amp;gt; gnome-shell --version}}&lt;br /&gt;
und folgen der Anleitung unter&lt;br /&gt;
 https://drasite.com/flat-remix-gnome&lt;br /&gt;
insbesondere mit dem folgenden Befehl&lt;br /&gt;
{{shell|&amp;gt; sudo apt install git}}&lt;br /&gt;
und dann&lt;br /&gt;
{{shell|&amp;gt; git clone --branch 20231026 https://github.com/daniruiz/flat-remix-gnome&amp;lt;br&amp;gt;&amp;amp;nbsp; cd flat-remix-gnome&amp;lt;br&amp;gt;&amp;amp;nbsp; make &amp;amp;&amp;amp; sudo make install}}&lt;br /&gt;
&lt;br /&gt;
== Multimediapaket per 1-Klick-Installation ==&lt;br /&gt;
&lt;br /&gt;
Rufen Sie mit einem Browser die Seite&lt;br /&gt;
 https://opensuse-community.org/&lt;br /&gt;
auf. Klicken Sie auf den zu Ihrer Desktopumgebung passenden Button und bestätigen Sie die Erweiterungen der von Ihnen akzeptierten Software-Repositories.&lt;br /&gt;
&lt;br /&gt;
Sollte der österreichische Server nicht zu erreichen sein, hilft alternativ der Eintrag eines neuen Repositories&lt;br /&gt;
 {{Shell|&amp;gt; sudo zypper addrepo -cfp 90 &amp;amp;apos;https://ftp.gwdg.de/pub/linux/misc/packman/suse/openSUSE_Leap_15.4/&amp;amp;apos; packman}}&lt;br /&gt;
&lt;br /&gt;
== Weitere benötigte RPM-Pakete ==&lt;br /&gt;
{{Shell|&amp;gt; sudo apt install libglib2.0-dev-bin imagemagick gcc gimp k3b kdiff3 kfind python3-img2pdf qrencode unoconv zip }}&lt;br /&gt;
Ferner&lt;br /&gt;
{{Shell|&amp;gt; sudo snap install tesseract }}&lt;br /&gt;
&lt;br /&gt;
== Installation fehlender Perl-Module ==&lt;br /&gt;
Einige Perl-Module, die ''Lawsuit'' verwendet, sind teilweise in rpm-Paketen von openSUSE enthalten. Für deren Installation aus externen Quellen werden folgende Pakete zusätzlich benötigt:&lt;br /&gt;
{{Shell|&amp;gt; sudo apt install automake libapache2-mod-fcgid make libarchive-zip-perl libcgi-simple-perl perl-PDF-API2 libimage-magick-perl libyaml-perl libjpeg-turbo libjpeg8-devel zbar libnet-whois-raw-perl libcrypt-rijndael-perl libgd-dev libdatetime-locale-perl libdatetime-timezone-systemv-perl}}&lt;br /&gt;
&lt;br /&gt;
Daneben wird für das beA-Postfach grundsätzlich eine Texterkennung erwartet. Für sie verwendet ''Lawsuit'' die Erweiterung ''pdfsandwich'', die sich hier findet&lt;br /&gt;
 https://software.opensuse.org/package/pdfsandwich?search_term=pdfsandwich&lt;br /&gt;
oder alternativ wie folgt von Hand installiert werden kann:&lt;br /&gt;
{{Shell|&amp;gt; sudo zypper addrepo https://download.opensuse.org/repositories/home:/brassh/15.4/ pdfsandwich&amp;lt;br&amp;gt;&amp;amp;nbsp; sudo zypper in pdfsandwich}}&lt;br /&gt;
Fügen Sie anschließend in der Datei &amp;lt;tt&amp;gt;/etc/ImageMagick-7-SUSE/policy.xml&amp;lt;/tt&amp;gt; die folgende Zeile ein oder kommentieren Sie sie aus:&lt;br /&gt;
  &amp;lt;policy domain=&amp;quot;coder&amp;quot; rights=&amp;quot;read|write&amp;quot; pattern=&amp;quot;PDF&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Als Superuser starten Sie die MCPAN-Shell:&lt;br /&gt;
{{Shell|&amp;gt; su&amp;lt;br&amp;gt;# perl -e shell -MCPAN}}&lt;br /&gt;
und installieren Sie dann die folgenden Module:&lt;br /&gt;
{{Shell|cpan[1]&amp;gt;install CGI.pm &amp;lt;br&amp;gt;cpan[2]&amp;gt;install CGI::Cookie&amp;lt;br&amp;gt;cpan[2]&amp;gt;install File::Tail&amp;lt;br&amp;gt;cpan[3]&amp;gt;install ODF::lpOD&amp;lt;br&amp;gt;cpan[4]&amp;gt;install URI::Encode&amp;lt;br&amp;gt;cpan[5]&amp;gt;install JSON&amp;lt;br&amp;gt;cpan[6]&amp;gt;install Imager::QRCode&amp;lt;br&amp;gt;cpan[7]&amp;gt;install Imager::File::JPEG&amp;lt;br&amp;gt;cpan[8]&amp;gt;install Image::Scale&amp;lt;br&amp;gt;cpan[9]&amp;gt;install HTTP::Request&amp;lt;br&amp;gt;cpan[10]&amp;gt;install LWP::UserAgent&amp;lt;br&amp;gt;cpan[11]&amp;gt;install LWP::Simple::Post&amp;lt;br&amp;gt;cpan[12]&amp;gt;install List::Util&amp;lt;br&amp;gt;cpan[13]&amp;gt;install MIME::Words&amp;lt;br&amp;gt;cpan[14]&amp;gt;install App::PDFUtils&amp;lt;br&amp;gt;cpan[15]&amp;gt;install Data::ICal&amp;lt;br&amp;gt;cpan[16]&amp;gt;install DateTime::Event::ICal&amp;lt;br&amp;gt;cpan[17]&amp;gt;install Data::ICal::DateTime&amp;lt;br&amp;gt;cpan[18]&amp;gt;install Net::Fritz::Box&amp;lt;br&amp;gt;cpan[19]&amp;gt;install Net::Fritz::Phonebook # W&amp;amp;auml;hlen Sie hier Pretty Printing&amp;lt;br&amp;gt;cpan[20]&amp;gt;install Spreadsheet::ParseXLSX&amp;lt;br&amp;gt;cpan[21]&amp;gt;quit}}&lt;br /&gt;
&lt;br /&gt;
== Zusatzprogramm für aktuelle USB-Sticks ==&lt;br /&gt;
{{Shell|&amp;gt; sudo zypper in fuse-exfat exfatprogs}}&lt;br /&gt;
&lt;br /&gt;
== Zusatzprogramm für Ausweisfunktion ==&lt;br /&gt;
{{Shell|&amp;gt; wget &amp;quot;https://github.com/ecsec/open-ecard/releases/download/1.4.5/open-ecard-app-1.4.5-1.x86_64.rpm&amp;quot;&amp;lt;br&amp;gt;&amp;gt; sudo zypper in open-ecard-app-1.4.5-1.x86_64.rpm&lt;br /&gt;
}}&lt;br /&gt;
Die aktuellen RPMs finden Sie ansonsten unter&lt;br /&gt;
 https://www.openecard.org/en/download/pc/&lt;br /&gt;
&lt;br /&gt;
== Unsignierte Pakete ==&lt;br /&gt;
Um Updates für selbst heruntergeladene RPM-Pakete automatisch installieren zu können, obwohl die ihm &amp;lt;tt&amp;gt;bin&amp;lt;/tt&amp;gt;-Verzeichnis hinterlegten Softwarepakete in der Regel nicht signiert sind, geben sie anschließend nur für dieses Repository folgende Ausnahmeregelung für ''zypper'' ein:&lt;br /&gt;
{{Shell|&amp;gt; sudo zypper modifyrepo --gpgcheck-allow-unsigned-package bin}}&lt;br /&gt;
&lt;br /&gt;
== Zusatzeinstellungen für die Fritz!Box ==&lt;br /&gt;
Sofern Sie eine Fritz!Box benutzten, können Sie sich die eingehenden Anrufe mit dem Skript ''fritzcall.pl'' direkt anzeigen lassen. Dafür sind allerdings zunächst Anpassungen in der Fritz!Box nötig. Unter&lt;br /&gt;
 &amp;gt; Heimnetz &amp;gt; Netzwerk &amp;gt;  Netzwerkeinstellungen&lt;br /&gt;
klicken Sie unter dem Zusatzpunkt ''weitere Einstellungen'' die Auswahlbox ''Zugriff für Anwendungen zulassen'' an, um Abrufe über die TR-064 API zuzulassen.&lt;br /&gt;
Ferner müssen Sie dem User, den Sie später in ''fritzcall.pl'' unter ''username'' mit seinem ''password'' eintragen wollen, zunächst unter&lt;br /&gt;
 &amp;gt; System &amp;gt; Fritz!Box-Benutzer &lt;br /&gt;
den Zugang aus dem Internet erlauben.&lt;br /&gt;
Wenn diese Einstellungen richtig vorgenommen sind, sollte der im Rechner gestartete Browser-Aufruf&lt;br /&gt;
 http://fritz.box:49000/tr64desc.xml&lt;br /&gt;
eine XML-Datei auswerfen.&lt;br /&gt;
&lt;br /&gt;
===External links===&lt;br /&gt;
*[https://www.perl.org/ Perl-Community]&lt;br /&gt;
{{DEFAULTSORT:{{PAGENAME}}}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Linuxinstallation]]&lt;/div&gt;</summary>
		<author><name>87.123.95.19</name></author>	</entry>

	<entry>
		<id>http://wiki.iustus.eu/wiki/index.php?title=Fehlende_Pakete_nachladen_-_ubuntu&amp;diff=7147</id>
		<title>Fehlende Pakete nachladen - ubuntu</title>
		<link rel="alternate" type="text/html" href="http://wiki.iustus.eu/wiki/index.php?title=Fehlende_Pakete_nachladen_-_ubuntu&amp;diff=7147"/>
				<updated>2026-01-02T18:16:26Z</updated>
		
		<summary type="html">&lt;p&gt;87.123.95.19: /* Installation fehlender Perl-Module */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Ubuntu|&lt;br /&gt;
*[https://de.opensuse.org/Portal:Tumbleweed Tumbleweed]&lt;br /&gt;
*[https://de.opensuse.org/Portal:42.3 Leap 42.3]&lt;br /&gt;
*[https://de.opensuse.org/Portal:42.2 Leap 42.2]&lt;br /&gt;
*[https://de.opensuse.org/Portal:42.1 Leap 42.1]&lt;br /&gt;
|&lt;br /&gt;
*[https://de.opensuse.org/Perl Perl]&lt;br /&gt;
|&lt;br /&gt;
*[https://de.opensuse.org/Perl-Entwicklung Perl-Entwicklung]&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Einführung ==&lt;br /&gt;
&lt;br /&gt;
Ubuntu liefert ein System, das aus aus Sicherheitsgründen viele notwendigen Pakete für ''Lawsuit'' noch nicht enthält.&lt;br /&gt;
Zudem sind für die Installation und Kompilierung von Perlmodulen nötigen Programme im Kernbestand nicht enthalten und sie müssen nachinstalliert werden. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
== Themes anpassen ==&lt;br /&gt;
Installieren Sie die Themes-Erweiterung per&lt;br /&gt;
{{shell|&amp;gt; sudo apt-get install gnome-tweaks gnome-shell-extensions}}&lt;br /&gt;
Sofern noch nicht vorhanden, legen Sie den &amp;lt;tt&amp;gt;.themes&amp;lt;/tt&amp;gt;-Ordner an:&lt;br /&gt;
{{shell|&amp;gt; mkdir ~/.themes}}&lt;br /&gt;
Ermitteln Sie die von Ihnen verwendete ''Gnome''-version mit&lt;br /&gt;
{{shell|&amp;gt; gnome-shell --version}}&lt;br /&gt;
und folgen der Anleitung unter&lt;br /&gt;
 https://drasite.com/flat-remix-gnome&lt;br /&gt;
insbesondere mit dem folgenden Befehl&lt;br /&gt;
{{shell|&amp;gt; sudo apt install git}}&lt;br /&gt;
und dann&lt;br /&gt;
{{shell|&amp;gt; git clone --branch 20231026 https://github.com/daniruiz/flat-remix-gnome&amp;lt;br&amp;gt;&amp;amp;nbsp; cd flat-remix-gnome&amp;lt;br&amp;gt;&amp;amp;nbsp; make &amp;amp;&amp;amp; sudo make install}}&lt;br /&gt;
&lt;br /&gt;
== Multimediapaket per 1-Klick-Installation ==&lt;br /&gt;
&lt;br /&gt;
Rufen Sie mit einem Browser die Seite&lt;br /&gt;
 https://opensuse-community.org/&lt;br /&gt;
auf. Klicken Sie auf den zu Ihrer Desktopumgebung passenden Button und bestätigen Sie die Erweiterungen der von Ihnen akzeptierten Software-Repositories.&lt;br /&gt;
&lt;br /&gt;
Sollte der österreichische Server nicht zu erreichen sein, hilft alternativ der Eintrag eines neuen Repositories&lt;br /&gt;
 {{Shell|&amp;gt; sudo zypper addrepo -cfp 90 &amp;amp;apos;https://ftp.gwdg.de/pub/linux/misc/packman/suse/openSUSE_Leap_15.4/&amp;amp;apos; packman}}&lt;br /&gt;
&lt;br /&gt;
== Weitere benötigte RPM-Pakete ==&lt;br /&gt;
{{Shell|&amp;gt; sudo apt install libglib2.0-dev-bin imagemagick gcc gimp k3b kdiff3 kfind python3-img2pdf qrencode unoconv zip }}&lt;br /&gt;
Ferner&lt;br /&gt;
{{Shell|&amp;gt; sudo snap install tesseract }}&lt;br /&gt;
&lt;br /&gt;
== Installation fehlender Perl-Module ==&lt;br /&gt;
Einige Perl-Module, die ''Lawsuit'' verwendet, sind teilweise in rpm-Paketen von openSUSE enthalten. Für deren Installation aus externen Quellen werden folgende Pakete zusätzlich benötigt:&lt;br /&gt;
{{Shell|&amp;gt; sudo apt install automake libapache2-mod-fcgid make perl-Archive-Zip perl-CGI-Simple perl-File-Tail perl-PDF-API2 perl-PerlMagick perl-YAML libjpeg-turbo libjpeg8-devel zbar perl-Net-Whois-Raw perl-Crypt-Rijndael perl-GD perl-DateTime-Locale perl-DateTime-TimeZone}}&lt;br /&gt;
&lt;br /&gt;
Daneben wird für das beA-Postfach grundsätzlich eine Texterkennung erwartet. Für sie verwendet ''Lawsuit'' die Erweiterung ''pdfsandwich'', die sich hier findet&lt;br /&gt;
 https://software.opensuse.org/package/pdfsandwich?search_term=pdfsandwich&lt;br /&gt;
oder alternativ wie folgt von Hand installiert werden kann:&lt;br /&gt;
{{Shell|&amp;gt; sudo zypper addrepo https://download.opensuse.org/repositories/home:/brassh/15.4/ pdfsandwich&amp;lt;br&amp;gt;&amp;amp;nbsp; sudo zypper in pdfsandwich}}&lt;br /&gt;
Fügen Sie anschließend in der Datei &amp;lt;tt&amp;gt;/etc/ImageMagick-7-SUSE/policy.xml&amp;lt;/tt&amp;gt; die folgende Zeile ein oder kommentieren Sie sie aus:&lt;br /&gt;
  &amp;lt;policy domain=&amp;quot;coder&amp;quot; rights=&amp;quot;read|write&amp;quot; pattern=&amp;quot;PDF&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Als Superuser starten Sie die MCPAN-Shell:&lt;br /&gt;
{{Shell|&amp;gt; su&amp;lt;br&amp;gt;# perl -e shell -MCPAN}}&lt;br /&gt;
und installieren Sie dann die folgenden Module:&lt;br /&gt;
{{Shell|cpan[1]&amp;gt;install CGI.pm &amp;lt;br&amp;gt;cpan[2]&amp;gt;install CGI::Cookie&amp;lt;br&amp;gt;cpan[3]&amp;gt;install ODF::lpOD&amp;lt;br&amp;gt;cpan[4]&amp;gt;install URI::Encode&amp;lt;br&amp;gt;cpan[5]&amp;gt;install JSON&amp;lt;br&amp;gt;cpan[6]&amp;gt;install Imager::QRCode&amp;lt;br&amp;gt;cpan[7]&amp;gt;install Imager::File::JPEG&amp;lt;br&amp;gt;cpan[8]&amp;gt;install Image::Scale&amp;lt;br&amp;gt;cpan[9]&amp;gt;install HTTP::Request&amp;lt;br&amp;gt;cpan[10]&amp;gt;install LWP::UserAgent&amp;lt;br&amp;gt;cpan[11]&amp;gt;install LWP::Simple::Post&amp;lt;br&amp;gt;cpan[12]&amp;gt;install List::Util&amp;lt;br&amp;gt;cpan[13]&amp;gt;install MIME::Words&amp;lt;br&amp;gt;cpan[14]&amp;gt;install App::PDFUtils&amp;lt;br&amp;gt;cpan[15]&amp;gt;install Data::ICal&amp;lt;br&amp;gt;cpan[16]&amp;gt;install DateTime::Event::ICal&amp;lt;br&amp;gt;cpan[17]&amp;gt;install Data::ICal::DateTime&amp;lt;br&amp;gt;cpan[18]&amp;gt;install Net::Fritz::Box&amp;lt;br&amp;gt;cpan[19]&amp;gt;install Net::Fritz::Phonebook # W&amp;amp;auml;hlen Sie hier Pretty Printing&amp;lt;br&amp;gt;cpan[20]&amp;gt;install Spreadsheet::ParseXLSX&amp;lt;br&amp;gt;cpan[21]&amp;gt;quit}}&lt;br /&gt;
&lt;br /&gt;
== Zusatzprogramm für aktuelle USB-Sticks ==&lt;br /&gt;
{{Shell|&amp;gt; sudo zypper in fuse-exfat exfatprogs}}&lt;br /&gt;
&lt;br /&gt;
== Zusatzprogramm für Ausweisfunktion ==&lt;br /&gt;
{{Shell|&amp;gt; wget &amp;quot;https://github.com/ecsec/open-ecard/releases/download/1.4.5/open-ecard-app-1.4.5-1.x86_64.rpm&amp;quot;&amp;lt;br&amp;gt;&amp;gt; sudo zypper in open-ecard-app-1.4.5-1.x86_64.rpm&lt;br /&gt;
}}&lt;br /&gt;
Die aktuellen RPMs finden Sie ansonsten unter&lt;br /&gt;
 https://www.openecard.org/en/download/pc/&lt;br /&gt;
&lt;br /&gt;
== Unsignierte Pakete ==&lt;br /&gt;
Um Updates für selbst heruntergeladene RPM-Pakete automatisch installieren zu können, obwohl die ihm &amp;lt;tt&amp;gt;bin&amp;lt;/tt&amp;gt;-Verzeichnis hinterlegten Softwarepakete in der Regel nicht signiert sind, geben sie anschließend nur für dieses Repository folgende Ausnahmeregelung für ''zypper'' ein:&lt;br /&gt;
{{Shell|&amp;gt; sudo zypper modifyrepo --gpgcheck-allow-unsigned-package bin}}&lt;br /&gt;
&lt;br /&gt;
== Zusatzeinstellungen für die Fritz!Box ==&lt;br /&gt;
Sofern Sie eine Fritz!Box benutzten, können Sie sich die eingehenden Anrufe mit dem Skript ''fritzcall.pl'' direkt anzeigen lassen. Dafür sind allerdings zunächst Anpassungen in der Fritz!Box nötig. Unter&lt;br /&gt;
 &amp;gt; Heimnetz &amp;gt; Netzwerk &amp;gt;  Netzwerkeinstellungen&lt;br /&gt;
klicken Sie unter dem Zusatzpunkt ''weitere Einstellungen'' die Auswahlbox ''Zugriff für Anwendungen zulassen'' an, um Abrufe über die TR-064 API zuzulassen.&lt;br /&gt;
Ferner müssen Sie dem User, den Sie später in ''fritzcall.pl'' unter ''username'' mit seinem ''password'' eintragen wollen, zunächst unter&lt;br /&gt;
 &amp;gt; System &amp;gt; Fritz!Box-Benutzer &lt;br /&gt;
den Zugang aus dem Internet erlauben.&lt;br /&gt;
Wenn diese Einstellungen richtig vorgenommen sind, sollte der im Rechner gestartete Browser-Aufruf&lt;br /&gt;
 http://fritz.box:49000/tr64desc.xml&lt;br /&gt;
eine XML-Datei auswerfen.&lt;br /&gt;
&lt;br /&gt;
===External links===&lt;br /&gt;
*[https://www.perl.org/ Perl-Community]&lt;br /&gt;
{{DEFAULTSORT:{{PAGENAME}}}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Linuxinstallation]]&lt;/div&gt;</summary>
		<author><name>87.123.95.19</name></author>	</entry>

	<entry>
		<id>http://wiki.iustus.eu/wiki/index.php?title=Aufsetzen_des_Apache-Servers_-_ubuntu&amp;diff=7146</id>
		<title>Aufsetzen des Apache-Servers - ubuntu</title>
		<link rel="alternate" type="text/html" href="http://wiki.iustus.eu/wiki/index.php?title=Aufsetzen_des_Apache-Servers_-_ubuntu&amp;diff=7146"/>
				<updated>2026-01-02T17:46:26Z</updated>
		
		<summary type="html">&lt;p&gt;87.123.95.19: /* Vergabe einer Domain für den Rechner mit den Lawsuit-Daten */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Ubuntu|&lt;br /&gt;
*[https://ubuntu.com/tutorials/install-ubuntu-desktop-1604#1-overview 16.04.]&lt;br /&gt;
|&lt;br /&gt;
*[https://ubuntu.com/tutorials/install-and-configure-apache#2-installing-apache Apache Installation]&lt;br /&gt;
|&lt;br /&gt;
*[https://wiki.ubuntuusers.de/Apache_2.4/]&lt;br /&gt;
*[https://wiki.ubuntuusers.de/Apache/Module/ Apache Module]&lt;br /&gt;
*[https://wiki.ubuntuusers.de/Apache/Virtual_Hosts/ Virtual Hosts]&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Einführung ==&lt;br /&gt;
&lt;br /&gt;
Diese Dokument gibt eine rasche Einführung, wie ein Apache-Server auf dem lokalen Rechner aufgesetzt werden kann, der die Lawsuit-Programmteile bereitstellt.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
{{Warnung| Die Kurzanleitung geht nicht vertieft auf mögliche Experten-Einstellungen des Servers ein. Insbesondere bleiben hier Sicherheitseinstellungen unberücksichtigt, die für den Betrieb als öffentlich zugänglicher Netzserver unumgänglich wären. Die nachfolgenden Schritte sind für Anwender gedacht, die Lawsuit intern auf dem Kanzleirechner hinter einer Firewall betreiben möchten.}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== Allgemeine Rechner-Konfiguration ==&lt;br /&gt;
&lt;br /&gt;
Die Software benötigt eine funktionierende Netzwerkumgebung. Diese wird jedoch bereits standardmäßig von Ubuntu eingereichtet. Achten Sie aber insbesondere bei der Nutzung von [https://de.wikipedia.org/wiki/Dynamic_Host_Configuration_Protocol DHCP] darauf, dass [[Mehrplatzsysteme - ubuntu|weitere Rechner]] der Kanzlei vom Networkmanager tatsächlich im selben Nummernraum wie dieser PC eingetragen wurden, auf dem Apache nun installiert werden soll. Ansonsten können diese Rechner später nicht auf die Kanzleisoftware zugreifen.&lt;br /&gt;
&lt;br /&gt;
Als Zweites sollte der PC auf dem aktuellen Softwarestand sein. &lt;br /&gt;
{{Shell|&amp;gt; sudo apt update}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Installation der Apache-Pakete ===&lt;br /&gt;
&lt;br /&gt;
Der Apache-Server und das optionale Perl-Modul können mit ''apt'' installiert werden. Öffnen Sie dazu ein Terminal-Fenster und wechseln Sie wie folgt in den Superuser-Modus:&lt;br /&gt;
{{Shell|&amp;gt; sudo apt install apache2}}&lt;br /&gt;
Geben Sie das Passwort ein.&lt;br /&gt;
Prüfen Sie die korrekte Funktionsweise des Apache-Servers, indem Sie in die Browser-Adresszeile die folgende Adresse eingeben:&lt;br /&gt;
 http://localhost/&lt;br /&gt;
Es sollte folgende Ausgabe zu sehen sein:&lt;br /&gt;
[[Datei:Apache_works.png|thumb|600px|left|Apache-Server Startausgabe]]&lt;br /&gt;
&amp;lt;br clear=all&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Start des Servers ===&lt;br /&gt;
Mit folgenden zwei Befehlen wird der Apache-Server gestartet und auf Dauer im System aktiviert.&lt;br /&gt;
{{Shell|# systemctl start apache2&amp;lt;br&amp;gt;&amp;amp;nbsp; systemctl enable apache2}}&lt;br /&gt;
&lt;br /&gt;
=== Einrichtung und Anpassung der Firewall ===&lt;br /&gt;
&lt;br /&gt;
Normalerweise sollte die die Firewall ''ufd'' (Uncomplicated Firewall) vorinstalliert sein. Für unsere Zwecke zielführender ist ''firewalld''. Dies wird mit&lt;br /&gt;
{{Shell|&amp;gt; sudo apt install firewalld}}&lt;br /&gt;
installiert. Danach muss, um Systemkonflikte zu vermeiden ''ufd'' deaktiviert werden. Dies erfolgt per&lt;br /&gt;
{{Shell|&amp;gt; sudo ufw disable}}&lt;br /&gt;
Starten Sie nun ''firewalld'' mit&lt;br /&gt;
{{Shell|&amp;gt; sudo systemctl enable --now firewalld}}&lt;br /&gt;
&lt;br /&gt;
Die Firewall ist so voreingestellt, dass sie über Port 80 auf den Rechner eingehende Daten grundsätzlich sperrt. Folglich müssen die Firewall-Einstellungen so angepasst werden, dass aus dem Lokalen Netzwerk über Port 80 eingehender Datenstrom akzeptiert wird.&lt;br /&gt;
Die folgenden Schritte müssen dazu weiterhin als Root ausgeführt werden. &lt;br /&gt;
&lt;br /&gt;
{{Shell|&amp;gt; sudo firewall-cmd --zone internal --permanent --add-interface&amp;amp;#61;eth0&amp;lt;br&amp;gt;&amp;amp;nbsp; sudo firewall-cmd --zone internal --permanent --add-service&amp;amp;#61;nfs&amp;lt;br&amp;gt;&amp;amp;nbsp; sudo firewall-cmd --zone internal --permanent --add-service&amp;amp;#61;http&amp;lt;br&amp;gt;&amp;amp;nbsp; sudo firewall-cmd --zone internal --permanent --add-service&amp;amp;#61;https&amp;lt;br&amp;gt;&amp;amp;nbsp; sudo firewall-cmd --reload}}&lt;br /&gt;
&lt;br /&gt;
Weitere verfügbare Dienste lassen sich mit folgendem Befehl anzeigen&lt;br /&gt;
{{Shell|&amp;gt; sudo firewall-cmd --get-service}}&lt;br /&gt;
und ggf. nach obigem Muster ergänzen&lt;br /&gt;
&lt;br /&gt;
=== Aktivierung des Servers ===&lt;br /&gt;
Starten Sie den Server und aktivieren Sie ihn in einem Bootverzeichnis, damit er mit dem Rechner hochgefahren wird (s.o. ohne Yast):&lt;br /&gt;
{{Shell|# systemctl start apache2.service&amp;lt;br&amp;gt;&amp;amp;nbsp; systemctl enable apache2}}&lt;br /&gt;
&lt;br /&gt;
=== Hinzufügen von Apache-Modulen===&lt;br /&gt;
Um benötigte Apache-Module zu laden, können wir die Konfigurationsvariable ''APACHE_MODULES'' in &amp;lt;tt&amp;gt;/etc/sysconfig/apache2&amp;lt;/tt&amp;gt; editieren. Schneller geht es jedoch mit den nachfolgenden Befehlen.&lt;br /&gt;
Einige Programme müssen zunächst nachgeladen werden:&lt;br /&gt;
{{Shell|&amp;gt; sudo apt install libapache2-mod-perl2 libapache2-mod-dnssd libapache2-mod-python}}&lt;br /&gt;
Nach der Änderung muss der Server neu gestartet werden. Auch für die folgenden Befehle sind wieder die Rechte eines Superusers vonnöten.&lt;br /&gt;
{{Shell|&amp;gt; sudo a2enmod perl ssl dnssd rewrite actions python&amp;lt;br&amp;gt;&amp;amp;nbsp; sudo systemctl restart apache2}}&lt;br /&gt;
&lt;br /&gt;
== Virtual Hosts ==&lt;br /&gt;
===Allgemeines===&lt;br /&gt;
Das Verzeichnis für alle Virtual Host unter Ubuntu ist &amp;lt;tt&amp;gt;/etc/apache2/sites-available/&amp;lt;/tt&amp;gt;. Nur Dateien mit dem Suffix &amp;quot;.conf&amp;quot; werden automatisch in die Apachekonfiguration einbezogen. Damit sie von Apache verwendet werden, müssen sie zudem vom Verzeichnis &amp;lt;tt&amp;gt;/etc/apache2/sites-enabled/&amp;lt;/tt&amp;gt; verlinkt sein. &lt;br /&gt;
&lt;br /&gt;
{{Intro|Wenn Sie neben Lawsuit einen weiteren eigenen Virtual Host hinzufügen möchten, ersetzen Sie in den folgenden Zeilen bitte ''Domainname'' durch ihren Verzeichnisnamen oder Ihre IP-Adresse.}}&lt;br /&gt;
&lt;br /&gt;
* Es gibt mehrere Varianten für die Struktur, mit welcher der eigenen Server auf dem Rechner aufgesetzt werden kann. Folgende Optionen bieten sich an: &lt;br /&gt;
:* [https://httpd.apache.org/docs/2.4/de/vhosts/name-based.html namensbasiert]&lt;br /&gt;
:* [https://httpd.apache.org/docs/2.4/de/vhosts/ip-based.html IP-basiert]&lt;br /&gt;
:* portbasiert&lt;br /&gt;
&lt;br /&gt;
* Sei können für Ihre Verzeichnisse die Vorlage '''vhost.template''' kopieren und als Ihre '''{DOMAINNAME}.conf''' speichern. Hier hinein tragen Sie anschließend die Unterverzeichnisse für Ihren Virtual Host ein.&lt;br /&gt;
&lt;br /&gt;
===Einstellungen für ''Lawsuit''===&lt;br /&gt;
Deaktivieren Sie zunächst die von Ubuntu bereitgestellte Vorlage&lt;br /&gt;
{{Shell|&amp;gt; sudo a2dissite 000-default.conf}}&lt;br /&gt;
Für ''Lawsuit'' wird die stattdessen benötigte Konfigurationsdatei im Unterverzeichnis &amp;lt;tt&amp;gt;lawsuit/settings&amp;lt;/tt&amp;gt; bereits fertig zur Verfügung gestellt. Sie müssen lediglich in der genannten Datei den Platzhalter durch den eigenen Nutzernamen ersetzen und die fertige Datei in das Vhosts-Verzeichnis verlinken. Wechseln Sie in das Unterverzeichnis &amp;lt;tt&amp;gt;lawsuit/settings&amp;lt;/tt&amp;gt;. Wenn Sie ''Lawsuit'' in Ihrem Nutzerhauptverzeichnis installiert haben, gelangen Sie mit diesem Befehl dorthin:&lt;br /&gt;
{{Shell | &amp;gt; cd ~/lawsuit/settings}}&lt;br /&gt;
Erstellen Sie dort eine Konfigurationsdatei aus der Vorlage &amp;lt;tt&amp;gt;lawsuit-httpd.template&amp;lt;/tt&amp;gt; und ersetzen Sie den darin enthaltenen Platzhalter ''meinpfad'' dabei durch Ihren Pfad zum aktuellen Verzeichnis. Dies erfolgt automatisiert durch diese Befehle:&lt;br /&gt;
{{Shell | &amp;gt; pfad&amp;amp;#61;&amp;amp;#96;pwd &amp;amp;#124; sed &amp;amp;apos;s/\/lawsuit.*//&amp;amp;apos;  &amp;amp;#124; sed &amp;amp;apos;s/\//\\\\\//g&amp;amp;apos;&amp;amp;#96;&amp;lt;br&amp;gt; &amp;gt; sed &amp;amp;quot;s/meinpfad/$pfad/g&amp;amp;quot; lawsuit-httpd.template &amp;gt; lawsuit-httpd.conf}}&lt;br /&gt;
Falls Ihr Pfad zum Ordner &amp;lt;tt&amp;gt;Documents&amp;lt;/tt&amp;gt; nicht mit dem soeben ermittelten Pfad für &amp;lt;tt&amp;gt;lawsuit&amp;lt;/tt&amp;gt; identisch ist, passen Sie diese Einstellungen für das Verzeichnis &amp;lt;tt&amp;gt;Documents&amp;lt;/tt&amp;gt; bitte in der &amp;lt;tt&amp;gt;lawsuit-httpd.conf&amp;lt;/tt&amp;gt; mit einem Editor wie '''kate''' von Hand an.&lt;br /&gt;
&lt;br /&gt;
Abschließend kopieren Sie die erstellte Konfigurationsdatei als ''Superuser'' in das Verzeichnis der Virtual Hosts von Apache&lt;br /&gt;
&lt;br /&gt;
{{Shell | &amp;gt; sudo cp lawsuit-httpd.conf /etc/apache2/sites-availabel/}}&lt;br /&gt;
&lt;br /&gt;
und aktivieren sie durch Verlinkung auf &amp;lt;tt&amp;gt;/etc/apache2/sites-enabled&amp;lt;/tt&amp;gt;:&lt;br /&gt;
{{Shell | &amp;gt; sudo a2ensite lawsuit-httpd.conf}}&lt;br /&gt;
&lt;br /&gt;
Abschließend muss Apache mit der neuen Konfiguration geladen werden:&lt;br /&gt;
{{Shell | &amp;gt; sudo systemctl reload apache2}}&lt;br /&gt;
&lt;br /&gt;
* Neustart von Apache&lt;br /&gt;
{{Shell | &amp;gt; sudo service apache2 restart}}&lt;br /&gt;
&lt;br /&gt;
=== Anpassen der Konfiguration ===&lt;br /&gt;
Um Ergänzungen oder Änderungen einheitlich für alle Virtual Hosts vorzunehmen, editieren Sie die Datei &amp;lt;tt&amp;gt;/etc/apache2/apache2.conf&amp;lt;/tt&amp;gt;. Zum Verständnis der Hierarchie und des Layouts um Dateien finden sich dort ausführliche die Kommentierungen. Die ursprüngliche, einfache Konfigurationsdatei mit nur 40K findet sich notfalls unter &amp;lt;tt&amp;gt;etc/apache2/sites-enabled/000-default.conf&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Optional: Ein Zertifikat für localhost erstellen ==&lt;br /&gt;
Bei Mehrplatzsystemen funktionieren die Javascript-Voreintragungen bei Nutzung einer sicheren HTTPS-Verbindung nur, wenn ein eigenes Zertifikat erstellt wird, dessen Aussteller zudem noch aus vertrauenswürdig eingestuft werden muss.OpenSSL bringt umfassende Werkzeuge mit, um eine eigene, kleine Certificate Authority (CA) betreiben zu können. &lt;br /&gt;
=== Vergabe einer Domain für den Rechner mit den Lawsuit-Daten ===&lt;br /&gt;
Im Networkmanager  &amp;amp;#9881; &amp;gt; Kabelgebuden &amp;amp;#9881; fügen Sie unter der Zeile &amp;quot;localhost&amp;quot; folgende Daten ein:&lt;br /&gt;
 IP-Adresse: &amp;lt;b&amp;gt;192.168.2.10&amp;lt;/b&amp;gt;&lt;br /&gt;
 Hostnamen:  &amp;lt;b&amp;gt;k1&amp;lt;/b&amp;gt;&lt;br /&gt;
Sie können statt &amp;quot;k1&amp;quot; eine beliebe andere Bezeichnung für den Hauptrechner wählen, müssen dann aber Ihre Domain in den folgenden Einstellungen beibehalten.&lt;br /&gt;
&lt;br /&gt;
=== Certificate Authority (CA) erstellen ===&lt;br /&gt;
Zu Beginn wird die Certificate Authority generiert. Zunächst wird ein geheimer Private Key erzeugt:&lt;br /&gt;
{{Shell |&amp;amp;gt; sudo openssl genrsa -aes256 -out /etc/ssl/private/rootCA.key 4096}}&lt;br /&gt;
Der Key trägt den Namen “rootCA.pem” und hat eine Länge von 4096 Bit. Die Option “-aes256” führt dazu, dass der Key mit einem Passwort geschützt wird. Die Key-Datei der CA muss tatsächlich besonders gut geschützt werden. Ein Angreifer, der den Key in die Hände bekommt, kann beliebig gefälschte Zertifikate im Namen der Kanzlei ausstellen, denen die Clients trauen. Die Verschlüsselung dieses Keys mit einem Passwort gibt zusätzlichen Schutz. Das gewünschte Passwort wird bei der Generierung abgefragt.&lt;br /&gt;
Einen geheimen Key für die CA gibt es damit also schon - es fehlt noch das Root-Zertifikat, das von den Clients später importiert werden muss, damit die von der CA ausgestellten Zertifikate im Browser als gültig erkannt werden. Das Root-Zertifikat “ca-root.pem” wird mit folgendem Befehl erzeugt: &lt;br /&gt;
{{Shell |&amp;amp;gt; sudo openssl req -x509 -new -nodes -key /etc/ssl/private/rootCA.key -sha512 -days 5483 -out /etc/ssl/certs/rootCA.pem}}&lt;br /&gt;
In diesem Fall wird die CA 5483 Tage, also mit Schalttagen 15 Jahre lang gültig bleiben. Während der Generierung werden das Passwort für die CA und einige Attribute abgefragt (hier ein Beispiel):&lt;br /&gt;
 Country Name (2 letter code) [AU]:&amp;lt;b&amp;gt;DE&amp;lt;/b&amp;gt;&lt;br /&gt;
 State or Province Name (full name) [Some-State]:&amp;lt;b&amp;gt;Nordrhein-Westfalen&amp;lt;/b&amp;gt;&lt;br /&gt;
 Locality Name (eg, city) []:&amp;lt;b&amp;gt;Muenster&amp;lt;/b&amp;gt;&lt;br /&gt;
 Organization Name (eg, company) [Internet Widgits Pty Ltd]:&amp;lt;b&amp;gt;Kanzlei Hermanns&amp;lt;/b&amp;gt;&lt;br /&gt;
 Organizational Unit Name (eg, section) []:&amp;lt;b&amp;gt;Rechtsanwalt&amp;lt;/b&amp;gt;&lt;br /&gt;
 Common Name (e.g. server FQDN or YOUR name) []:&amp;lt;b&amp;gt;RA Matthias Hermanns&amp;lt;/b&amp;gt;&lt;br /&gt;
 Email Address []:&amp;lt;b&amp;gt;hermanns@iustus.eu&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Erzeugen des Schlüssels===&lt;br /&gt;
Mit diesen Daten wird auch eine Konfiguratunsdatei mit Namen &amp;lt;tt&amp;gt;ssl.cnf&amp;lt;/tt&amp;gt; befüllt, die die Schlüsselausgabe später vereinfacht.&lt;br /&gt;
Zur besseren Übersichtlichkeit sollte ein mächtiges Textverarbeitungsprogramm wie ''kate'' verwendet werden.&lt;br /&gt;
{{Shell |&amp;amp;gt;sudo apt install kate}}&lt;br /&gt;
Erzeugen Sie dann Unterverzeichnisse und legen eine Konfigurationsdatei an:&lt;br /&gt;
{{Shell |&amp;amp;gt; cd ~/bin&amp;lt;br&amp;gt;&amp;amp;nbsp; mkdir keys&amp;lt;br&amp;gt;&amp;amp;nbsp; cd keys&amp;lt;br&amp;gt;&amp;amp;nbsp; kate ssl.cnf}}&lt;br /&gt;
Die Datei kann beispielsweise den folgenden Inhalt haben&lt;br /&gt;
 [req]&lt;br /&gt;
 # Standard-Verschlüsselung&lt;br /&gt;
 default_bits = 4096&lt;br /&gt;
 # verhindere prompt für die Zertifikat-Erstellung&lt;br /&gt;
 # (Daten kommen aus dieser Datei)&lt;br /&gt;
 prompt = no&lt;br /&gt;
 # Verschlüsselungsmethode&lt;br /&gt;
 default_md = sha512&lt;br /&gt;
 # Kryptographie abschalten&lt;br /&gt;
 encrypt_key = no&lt;br /&gt;
 # Sektion für Zertifizierer-Informationen:&lt;br /&gt;
 distinguished_name = dn&lt;br /&gt;
 &lt;br /&gt;
 # Zertifizierer-Informationen:&lt;br /&gt;
 [dn]&lt;br /&gt;
 # Länder-Code&lt;br /&gt;
 C=DE&lt;br /&gt;
 # Bundesland&lt;br /&gt;
 ST=Nordrhein-Westfalen&lt;br /&gt;
 # Stadt&lt;br /&gt;
 L=Muenster&lt;br /&gt;
 # Bezeichnung/Firmen-Name/Dein Name:&lt;br /&gt;
 O=Kanzlei Hermanns&lt;br /&gt;
 # Aussteller Name&lt;br /&gt;
 OU=RA Matthias Hermanns&lt;br /&gt;
 # E-Mail-Adresse&lt;br /&gt;
 emailAddress=hermanns@iustus.eu&lt;br /&gt;
 # Primärer Servername&lt;br /&gt;
 CN = &amp;lt;b&amp;gt;k1&amp;lt;/b&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 [v3_ca]&lt;br /&gt;
 keyUsage = digitalSignature, keyEncipherment&lt;br /&gt;
 extendedKeyUsage = serverAuth&lt;br /&gt;
 subjectAltName = IP:&amp;lt;b&amp;gt;192.168.2.10&amp;lt;/b&amp;gt;, DNS:&amp;lt;b&amp;gt;k1&amp;lt;/b&amp;gt;, DNS:&amp;lt;b&amp;gt;k1.local&amp;lt;/b&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 [ req_ext ]&lt;br /&gt;
 subjectAltName = @alt_names&lt;br /&gt;
 &lt;br /&gt;
 [alt_names]&lt;br /&gt;
 # Primärer Server-Name&lt;br /&gt;
 DNS.1 = &amp;lt;b&amp;gt;k1&amp;lt;/b&amp;gt;&lt;br /&gt;
 # Sekunärer Server-Name&lt;br /&gt;
 DNS.2 = &amp;lt;b&amp;gt;k1.local&amp;lt;/b&amp;gt;&lt;br /&gt;
 # Wildcard Subdomains&lt;br /&gt;
 DNS.3 = *.&amp;lt;b&amp;gt;k1.local&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Speichern Sie die so erstellte Datei &amp;lt;tt&amp;gt;ssl.cnf&amp;lt;/tt&amp;gt; im &amp;lt;tt&amp;gt;bin&amp;lt;/tt&amp;gt;-Verzeichnis ab. Mit folgendem Befehl erzeugen Sie nun als zertifizierter Aussteller die eigentlichen Schlüssel für die SSL-Verbindung.&lt;br /&gt;
Zunächst wird der RSA-Key mit 3072 Bit erzeugt (Asymmetrischer Schlüssel von Rivest, Shamir und Adleman, der einen privaten und einen öffentlichen Teil hat):&lt;br /&gt;
{{Shell |&amp;amp;gt; openssl genrsa -out k1.key 3072}}&lt;br /&gt;
Nun folgt die Certificate Signing Request (CSR; deutsch Zertifikatsignierungsanforderung), ein digitaler Antrag, um mittels der soeben erzeugten digitalen Signatur und der zusätzlichen Identitätsangaben zum Antragstellers aus der &amp;lt;tt&amp;gt;ssl.cnf&amp;lt;/tt&amp;gt; ein persönliches digitales Identitäts-Zertifikat (auch Public-Key-Zertifikat genannt) zu erstellen:&lt;br /&gt;
{{Shell |&amp;amp;gt; openssl req -new -keyout ~/bin/keys/k1.key -out ~/bin/keys/k1.csr -config ~/bin/keys/ssl.cnf}}&lt;br /&gt;
Mithilfe des Wurzelzertifikats vom verifizierten Aussteller (uns selbst) wird nun der eigentliche Schlüssel erstellt, damit eine Rückverfolgung zum Wurzelzertifikat möglich ist. &lt;br /&gt;
{{Shell |&amp;amp;gt; sudo openssl x509 -req \&amp;lt;br&amp;gt;&amp;amp;nbsp; -in ~/bin/keys/k1.csr \&amp;lt;br&amp;gt;&amp;amp;nbsp; -CA /etc/ssl/certs/rootCA.pem \&amp;lt;br&amp;gt;&amp;amp;nbsp; -CAkey /etc/ssl/private/rootCA.key \&amp;lt;br&amp;gt;&amp;amp;nbsp; -CAcreateserial \&amp;lt;br&amp;gt;&amp;amp;nbsp; -out ~/bin/keys/k1.crt \&amp;lt;br&amp;gt;&amp;amp;nbsp; -days 3653 \&amp;lt;br&amp;gt;&amp;amp;nbsp; -extfile ~/bin/keys/ssl.cnf \&amp;lt;br&amp;gt;&amp;amp;nbsp; -extensions v3_ca }}&lt;br /&gt;
&lt;br /&gt;
Damit die Zertifkate in unsere regelmäßige Sicherungsspeicherung aufgenommen werden, können wir sie in das Schlüsselverzeichnis &amp;lt;tt&amp;gt;keys&amp;lt;/tt&amp;gt; unter &amp;lt;tt&amp;gt;lawsuit&amp;lt;/tt&amp;gt; kopieren. Dies ist jedoch nicht optional, weil es ein Sicherheitsrisiko eröffnet:&lt;br /&gt;
{{Shell |&amp;amp;gt; sudo chown matthias:users keys/k1.crt&amp;lt;br&amp;gt;&amp;amp;nbsp; chmod 640 ~/bin/keys/k1.*&amp;lt;br&amp;gt;&amp;amp;nbsp; cp ~/bin/keys/k1.* ~/lawsuit/keys/}}&lt;br /&gt;
&lt;br /&gt;
=== Verbindung mit dem Server ===&lt;br /&gt;
Wenn Sie host-Datei &amp;lt;tt&amp;gt;lawsuit-httpd.conf&amp;lt;/tt&amp;gt; automatisch wie oben vorgeschlagen generiert haben, sind die notwendigen Einstellungen schon voreingetragen und müssen nur auskommentiert werden. Ansonsten ergänzen Sie unter /etc/apache2/sites_enabled/&lt;br /&gt;
folgende Zeilen:&lt;br /&gt;
 &amp;lt;VirtualHost *:80&amp;gt;&lt;br /&gt;
    ServerName &amp;lt;b&amp;gt;k1&amp;lt;/b&amp;gt;&lt;br /&gt;
    ServerAlias &amp;lt;b&amp;gt;k1.local&amp;lt;/b&amp;gt;&lt;br /&gt;
 &amp;lt;/VirtualHost&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 &amp;lt;IfModule mod_ssl.c&amp;gt;&lt;br /&gt;
    &amp;lt;VirtualHost *:443&amp;gt;&lt;br /&gt;
        ServerAdmin webmaster@localhost&lt;br /&gt;
        DocumentRoot /home/BENUTZERNAME/lawsuit/&lt;br /&gt;
        ServerName &amp;lt;b&amp;gt;k1&amp;lt;/b&amp;gt;&lt;br /&gt;
        ServerAlias &amp;lt;b&amp;gt;k1.local&amp;lt;/b&amp;gt;&lt;br /&gt;
        ErrorLog /var/log/apache2/error_log&lt;br /&gt;
        SSLEngine on&lt;br /&gt;
        SSLCertificateFile      /home/BENUTZERNAME/bin/keys/&amp;lt;b&amp;gt;k1.crt&amp;lt;/b&amp;gt;&lt;br /&gt;
        SSLCertificateKeyFile   /home/BENUTZERNAME/bin/keys/&amp;lt;b&amp;gt;k1.key&amp;lt;/b&amp;gt;&lt;br /&gt;
        &amp;lt;IfModule mod_headers.c&amp;gt;&lt;br /&gt;
            Header always set Strict-Transport-Security &amp;quot;max-age=15552000; includeSubDomains&amp;quot;&lt;br /&gt;
        &amp;lt;/IfModule&amp;gt;&lt;br /&gt;
        &amp;lt;FilesMatch &amp;quot;\.(cgi|html|shtml|pl|phtml|php)$&amp;quot;&amp;gt;&lt;br /&gt;
            SSLOptions +StdEnvVars&lt;br /&gt;
        &amp;lt;/FilesMatch&amp;gt;&lt;br /&gt;
        &amp;lt;Directory /home/BENUTZERNAME/lawsuit/cgi-bin&amp;gt;&lt;br /&gt;
            SSLOptions +StdEnvVars&lt;br /&gt;
        &amp;lt;/Directory&amp;gt;&lt;br /&gt;
    &amp;lt;/VirtualHost&amp;gt;&lt;br /&gt;
 &amp;lt;/IfModule&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 # configuration&lt;br /&gt;
 SSLProtocol             all -SSLv3 -TLSv1 -TLSv1.1 -TLSv1.2&lt;br /&gt;
 SSLHonorCipherOrder     off&lt;br /&gt;
 SSLSessionTickets       off&lt;br /&gt;
&lt;br /&gt;
Damit diese Einstellungen vom Browser angenommen werden, muss das Zertifkat fort eingetragen werden.&lt;br /&gt;
Gehen Sie dazu unter Firefox in das Menu und wählen die Unterpunkte &amp;gt; Datenschutz &amp;amp; Sicherheit oder rufen Sie den Unterpunkt direkt mit&lt;br /&gt;
 about:preferences#privacy&lt;br /&gt;
auf. Gehen Sie zum Unterpunkt &amp;lt;tt&amp;gt;Sicherheit &amp;gt; Zertifikate&amp;lt;/tt&amp;gt; und klicken Sie ''Zeertifikate anzeigen...'' an. Dort tragen Sie unter dem Reiter ''Server'' das eigene Zertifikate ein, indem Sie das eigene auf der Seite &lt;br /&gt;
 https://k1&lt;br /&gt;
als Ausnahme bestätigen.&lt;br /&gt;
Laden Sie dazu das Zertifikat von der Seite ''https://k1'' herunter und bestätigen Sie mit dem Auswahlästchen, dass es sich um eine dauerhaft zu speichernde Ausnahme handelt. Drücken Sie den Button ''Sicherheitsausnahme bestätigen''.&lt;br /&gt;
[[Datei:Zertifikat_eintragen.png|thumb|600px|left|Importieren des Zertifikate als dauerhafte Sicherheitsausnahme]]&lt;br /&gt;
&amp;lt;br clear=all&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Unter Firefox kann das selbstgezeichnete Zertifikat nun verwendet werden. Bitte beachten Sie, dass für jede Apache-Konfigurrationsdatei ein anderer Port geöffnet werden muss, &amp;quot;443&amp;quot; also nur einmal verwendet werden kann. Sie können alternativ z.B. &amp;quot;4443&amp;quot; verwenden.&lt;br /&gt;
&lt;br /&gt;
Abschließender Test und Neustart:&lt;br /&gt;
{{Shell |&amp;amp;#35; sudo apache2ctl -t&amp;lt;br&amp;gt;&amp;amp;nbsp; sudo systemctl restart apache2}}&lt;br /&gt;
&lt;br /&gt;
=== Registrierung als vertrauenswürdiger Aussteller für den Firefox-Browser ===&lt;br /&gt;
Damit der Firefox-Browser das Zertifikat tatsächlich verwendet und als vertrauenswürdig akzeptiert, muss es im Kleopatra-Schlüsseldienst eingetragen werden, auf den der Browser zugreift. &lt;br /&gt;
{{Shell |&amp;amp;gt; kleopatra}}&lt;br /&gt;
Klicken Sie den Reiter &amp;lt;b&amp;gt;Importieren&amp;lt;/b&amp;gt; an und fügen Sie nacheinander die folgenden Dateien ein:&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;/home/BENUTZERNAME/bin/keys/k1.crt&amp;lt;/tt&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;/etc/ssl/certs/rootCA.pem&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Bitte bestätigen Sie die erbetenen Beglaubigungen mit der Maustaste.&lt;br /&gt;
[[Datei:Kleopatra.png|thumb|600px|left|Importieren der Zertifikate in das Kleopatra-Schlüsselverwaltungsprogramm]]&lt;br /&gt;
&amp;lt;br clear=all&amp;gt;&lt;br /&gt;
Nun wechseln Sie in den Firefox-Browser und geben in die Adresszeile ein&lt;br /&gt;
 about:config&lt;br /&gt;
Dort ändern Sie die Variable&lt;br /&gt;
 security.enterprise_roots.enabled -&amp;gt; true&lt;br /&gt;
von &amp;quot;false&amp;quot; auf &amp;quot;true&amp;quot;. Nun bezieht der Browser auch Ihre eigenen CA-Beglaubigungen des Unternehmens eine seine Bewertungen mit ein und vergibt ein grünes Schlüsselsymbol.&lt;br /&gt;
&lt;br /&gt;
== Problembehebung ==&lt;br /&gt;
Lesen Sie wenn möglich die Fehlermeldungen nach dem Start des Servers. Versuchen Sie Fehler ggf. zu reproduzieren und vergleichen Sie die Einträge in den Log-Dateien. Den Einblick auf die dortigen Meldungen können Sie mit dem folgenden Befehl auf den neuesten Stand reduzieren::&lt;br /&gt;
&lt;br /&gt;
{{Shell | # tail -F /var/log/apache2/*}}&lt;br /&gt;
&lt;br /&gt;
Da die Error-Messages schnell sehr großen Umfang einnehmen, der am Ende sogar den Systemstart blockieren kann, empfiehlt es sich, mit Logrotate den Bestand unter Kontrolle zu halten. Installieren Sie dazu, falls noch nicht vom System geschehen:&lt;br /&gt;
{{Shell | # zypper in logrotate}}&lt;br /&gt;
Sie können die Einstellungen in der Konfigurationsdatei &lt;br /&gt;
 /etc/logrotate.conf&lt;br /&gt;
ändern. Eine typische Konfiguration von &amp;lt;tt&amp;gt;logrotate.conf&amp;lt;/tt&amp;gt; sieht z.B. wie folgt aus:&lt;br /&gt;
{{Shell |&amp;amp;#35; see &amp;quot;man logrotate&amp;quot; for details&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;amp;#35; rotate log files weekly &lt;br /&gt;
&amp;lt;br&amp;gt;weekly &lt;br /&gt;
&amp;lt;br&amp;gt;&amp;amp;#35; keep 4 weeks worth of backlogs &lt;br /&gt;
&amp;lt;br&amp;gt;rotate 4&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;b&amp;gt;&amp;amp;#35; remove rotated logs older than &amp;lt;count&amp;gt; days&lt;br /&gt;
&amp;lt;br&amp;gt;maxage 90 &amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;amp;#35; create new (empty) log files after rotating old ones &lt;br /&gt;
&amp;lt;br&amp;gt;create&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;amp;#35; use date as a suffix of the rotated file&lt;br /&gt;
&amp;lt;br&amp;gt;dateext&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;amp;#35; uncomment this if you want your log files compressed &lt;br /&gt;
&amp;lt;br&amp;gt;compress&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;amp;#35; comment these to switch compression to use gzip or another &lt;br /&gt;
&amp;lt;br&amp;gt;&amp;amp;#35; compression scheme&lt;br /&gt;
&amp;lt;br&amp;gt;compresscmd /usr/bin/xz&lt;br /&gt;
&amp;lt;br&amp;gt;uncompresscmd /usr/bin/xzdec&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;amp;#35; RPM packages drop log rotation information into this directory&lt;br /&gt;
&amp;lt;br&amp;gt;include /etc/logrotate.d&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Sollten Sie einen Fehler gefunden haben, [https://de.opensuse.org/SDB:Fehler_berichten berichten Sie ihn] bitte.&lt;br /&gt;
&lt;br /&gt;
==Weiterführende Informationen==&lt;br /&gt;
=== Verwandte Artikel ===&lt;br /&gt;
*[https://documentation.ubuntu.com/server/how-to/security/firewalls/ Optionen für das Einrichten der Firewall unter Ubuntu]&lt;br /&gt;
* Package documentation and example configuration files in /usr/share/doc/packages/apache2/&lt;br /&gt;
&lt;br /&gt;
===Externe Links===&lt;br /&gt;
* [https://documentation.ubuntu.com/server/how-to/web-services/install-apache2/ Apache Documentation]&lt;br /&gt;
* [http://httpd.apache.org/ The Apache Project]&lt;br /&gt;
* [http://www.apache.org/ Apache Software Foundation]&lt;br /&gt;
&lt;br /&gt;
{{DEFAULTSORT:{{PAGENAME}}}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Linuxinstallation]]&lt;/div&gt;</summary>
		<author><name>87.123.95.19</name></author>	</entry>

	<entry>
		<id>http://wiki.iustus.eu/wiki/index.php?title=Aufsetzen_des_Apache-Servers_-_ubuntu&amp;diff=7145</id>
		<title>Aufsetzen des Apache-Servers - ubuntu</title>
		<link rel="alternate" type="text/html" href="http://wiki.iustus.eu/wiki/index.php?title=Aufsetzen_des_Apache-Servers_-_ubuntu&amp;diff=7145"/>
				<updated>2026-01-02T17:46:10Z</updated>
		
		<summary type="html">&lt;p&gt;87.123.95.19: /* Vergabe einer Domain für den Rechner mit den Lawsuit-Daten */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Ubuntu|&lt;br /&gt;
*[https://ubuntu.com/tutorials/install-ubuntu-desktop-1604#1-overview 16.04.]&lt;br /&gt;
|&lt;br /&gt;
*[https://ubuntu.com/tutorials/install-and-configure-apache#2-installing-apache Apache Installation]&lt;br /&gt;
|&lt;br /&gt;
*[https://wiki.ubuntuusers.de/Apache_2.4/]&lt;br /&gt;
*[https://wiki.ubuntuusers.de/Apache/Module/ Apache Module]&lt;br /&gt;
*[https://wiki.ubuntuusers.de/Apache/Virtual_Hosts/ Virtual Hosts]&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Einführung ==&lt;br /&gt;
&lt;br /&gt;
Diese Dokument gibt eine rasche Einführung, wie ein Apache-Server auf dem lokalen Rechner aufgesetzt werden kann, der die Lawsuit-Programmteile bereitstellt.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
{{Warnung| Die Kurzanleitung geht nicht vertieft auf mögliche Experten-Einstellungen des Servers ein. Insbesondere bleiben hier Sicherheitseinstellungen unberücksichtigt, die für den Betrieb als öffentlich zugänglicher Netzserver unumgänglich wären. Die nachfolgenden Schritte sind für Anwender gedacht, die Lawsuit intern auf dem Kanzleirechner hinter einer Firewall betreiben möchten.}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== Allgemeine Rechner-Konfiguration ==&lt;br /&gt;
&lt;br /&gt;
Die Software benötigt eine funktionierende Netzwerkumgebung. Diese wird jedoch bereits standardmäßig von Ubuntu eingereichtet. Achten Sie aber insbesondere bei der Nutzung von [https://de.wikipedia.org/wiki/Dynamic_Host_Configuration_Protocol DHCP] darauf, dass [[Mehrplatzsysteme - ubuntu|weitere Rechner]] der Kanzlei vom Networkmanager tatsächlich im selben Nummernraum wie dieser PC eingetragen wurden, auf dem Apache nun installiert werden soll. Ansonsten können diese Rechner später nicht auf die Kanzleisoftware zugreifen.&lt;br /&gt;
&lt;br /&gt;
Als Zweites sollte der PC auf dem aktuellen Softwarestand sein. &lt;br /&gt;
{{Shell|&amp;gt; sudo apt update}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Installation der Apache-Pakete ===&lt;br /&gt;
&lt;br /&gt;
Der Apache-Server und das optionale Perl-Modul können mit ''apt'' installiert werden. Öffnen Sie dazu ein Terminal-Fenster und wechseln Sie wie folgt in den Superuser-Modus:&lt;br /&gt;
{{Shell|&amp;gt; sudo apt install apache2}}&lt;br /&gt;
Geben Sie das Passwort ein.&lt;br /&gt;
Prüfen Sie die korrekte Funktionsweise des Apache-Servers, indem Sie in die Browser-Adresszeile die folgende Adresse eingeben:&lt;br /&gt;
 http://localhost/&lt;br /&gt;
Es sollte folgende Ausgabe zu sehen sein:&lt;br /&gt;
[[Datei:Apache_works.png|thumb|600px|left|Apache-Server Startausgabe]]&lt;br /&gt;
&amp;lt;br clear=all&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Start des Servers ===&lt;br /&gt;
Mit folgenden zwei Befehlen wird der Apache-Server gestartet und auf Dauer im System aktiviert.&lt;br /&gt;
{{Shell|# systemctl start apache2&amp;lt;br&amp;gt;&amp;amp;nbsp; systemctl enable apache2}}&lt;br /&gt;
&lt;br /&gt;
=== Einrichtung und Anpassung der Firewall ===&lt;br /&gt;
&lt;br /&gt;
Normalerweise sollte die die Firewall ''ufd'' (Uncomplicated Firewall) vorinstalliert sein. Für unsere Zwecke zielführender ist ''firewalld''. Dies wird mit&lt;br /&gt;
{{Shell|&amp;gt; sudo apt install firewalld}}&lt;br /&gt;
installiert. Danach muss, um Systemkonflikte zu vermeiden ''ufd'' deaktiviert werden. Dies erfolgt per&lt;br /&gt;
{{Shell|&amp;gt; sudo ufw disable}}&lt;br /&gt;
Starten Sie nun ''firewalld'' mit&lt;br /&gt;
{{Shell|&amp;gt; sudo systemctl enable --now firewalld}}&lt;br /&gt;
&lt;br /&gt;
Die Firewall ist so voreingestellt, dass sie über Port 80 auf den Rechner eingehende Daten grundsätzlich sperrt. Folglich müssen die Firewall-Einstellungen so angepasst werden, dass aus dem Lokalen Netzwerk über Port 80 eingehender Datenstrom akzeptiert wird.&lt;br /&gt;
Die folgenden Schritte müssen dazu weiterhin als Root ausgeführt werden. &lt;br /&gt;
&lt;br /&gt;
{{Shell|&amp;gt; sudo firewall-cmd --zone internal --permanent --add-interface&amp;amp;#61;eth0&amp;lt;br&amp;gt;&amp;amp;nbsp; sudo firewall-cmd --zone internal --permanent --add-service&amp;amp;#61;nfs&amp;lt;br&amp;gt;&amp;amp;nbsp; sudo firewall-cmd --zone internal --permanent --add-service&amp;amp;#61;http&amp;lt;br&amp;gt;&amp;amp;nbsp; sudo firewall-cmd --zone internal --permanent --add-service&amp;amp;#61;https&amp;lt;br&amp;gt;&amp;amp;nbsp; sudo firewall-cmd --reload}}&lt;br /&gt;
&lt;br /&gt;
Weitere verfügbare Dienste lassen sich mit folgendem Befehl anzeigen&lt;br /&gt;
{{Shell|&amp;gt; sudo firewall-cmd --get-service}}&lt;br /&gt;
und ggf. nach obigem Muster ergänzen&lt;br /&gt;
&lt;br /&gt;
=== Aktivierung des Servers ===&lt;br /&gt;
Starten Sie den Server und aktivieren Sie ihn in einem Bootverzeichnis, damit er mit dem Rechner hochgefahren wird (s.o. ohne Yast):&lt;br /&gt;
{{Shell|# systemctl start apache2.service&amp;lt;br&amp;gt;&amp;amp;nbsp; systemctl enable apache2}}&lt;br /&gt;
&lt;br /&gt;
=== Hinzufügen von Apache-Modulen===&lt;br /&gt;
Um benötigte Apache-Module zu laden, können wir die Konfigurationsvariable ''APACHE_MODULES'' in &amp;lt;tt&amp;gt;/etc/sysconfig/apache2&amp;lt;/tt&amp;gt; editieren. Schneller geht es jedoch mit den nachfolgenden Befehlen.&lt;br /&gt;
Einige Programme müssen zunächst nachgeladen werden:&lt;br /&gt;
{{Shell|&amp;gt; sudo apt install libapache2-mod-perl2 libapache2-mod-dnssd libapache2-mod-python}}&lt;br /&gt;
Nach der Änderung muss der Server neu gestartet werden. Auch für die folgenden Befehle sind wieder die Rechte eines Superusers vonnöten.&lt;br /&gt;
{{Shell|&amp;gt; sudo a2enmod perl ssl dnssd rewrite actions python&amp;lt;br&amp;gt;&amp;amp;nbsp; sudo systemctl restart apache2}}&lt;br /&gt;
&lt;br /&gt;
== Virtual Hosts ==&lt;br /&gt;
===Allgemeines===&lt;br /&gt;
Das Verzeichnis für alle Virtual Host unter Ubuntu ist &amp;lt;tt&amp;gt;/etc/apache2/sites-available/&amp;lt;/tt&amp;gt;. Nur Dateien mit dem Suffix &amp;quot;.conf&amp;quot; werden automatisch in die Apachekonfiguration einbezogen. Damit sie von Apache verwendet werden, müssen sie zudem vom Verzeichnis &amp;lt;tt&amp;gt;/etc/apache2/sites-enabled/&amp;lt;/tt&amp;gt; verlinkt sein. &lt;br /&gt;
&lt;br /&gt;
{{Intro|Wenn Sie neben Lawsuit einen weiteren eigenen Virtual Host hinzufügen möchten, ersetzen Sie in den folgenden Zeilen bitte ''Domainname'' durch ihren Verzeichnisnamen oder Ihre IP-Adresse.}}&lt;br /&gt;
&lt;br /&gt;
* Es gibt mehrere Varianten für die Struktur, mit welcher der eigenen Server auf dem Rechner aufgesetzt werden kann. Folgende Optionen bieten sich an: &lt;br /&gt;
:* [https://httpd.apache.org/docs/2.4/de/vhosts/name-based.html namensbasiert]&lt;br /&gt;
:* [https://httpd.apache.org/docs/2.4/de/vhosts/ip-based.html IP-basiert]&lt;br /&gt;
:* portbasiert&lt;br /&gt;
&lt;br /&gt;
* Sei können für Ihre Verzeichnisse die Vorlage '''vhost.template''' kopieren und als Ihre '''{DOMAINNAME}.conf''' speichern. Hier hinein tragen Sie anschließend die Unterverzeichnisse für Ihren Virtual Host ein.&lt;br /&gt;
&lt;br /&gt;
===Einstellungen für ''Lawsuit''===&lt;br /&gt;
Deaktivieren Sie zunächst die von Ubuntu bereitgestellte Vorlage&lt;br /&gt;
{{Shell|&amp;gt; sudo a2dissite 000-default.conf}}&lt;br /&gt;
Für ''Lawsuit'' wird die stattdessen benötigte Konfigurationsdatei im Unterverzeichnis &amp;lt;tt&amp;gt;lawsuit/settings&amp;lt;/tt&amp;gt; bereits fertig zur Verfügung gestellt. Sie müssen lediglich in der genannten Datei den Platzhalter durch den eigenen Nutzernamen ersetzen und die fertige Datei in das Vhosts-Verzeichnis verlinken. Wechseln Sie in das Unterverzeichnis &amp;lt;tt&amp;gt;lawsuit/settings&amp;lt;/tt&amp;gt;. Wenn Sie ''Lawsuit'' in Ihrem Nutzerhauptverzeichnis installiert haben, gelangen Sie mit diesem Befehl dorthin:&lt;br /&gt;
{{Shell | &amp;gt; cd ~/lawsuit/settings}}&lt;br /&gt;
Erstellen Sie dort eine Konfigurationsdatei aus der Vorlage &amp;lt;tt&amp;gt;lawsuit-httpd.template&amp;lt;/tt&amp;gt; und ersetzen Sie den darin enthaltenen Platzhalter ''meinpfad'' dabei durch Ihren Pfad zum aktuellen Verzeichnis. Dies erfolgt automatisiert durch diese Befehle:&lt;br /&gt;
{{Shell | &amp;gt; pfad&amp;amp;#61;&amp;amp;#96;pwd &amp;amp;#124; sed &amp;amp;apos;s/\/lawsuit.*//&amp;amp;apos;  &amp;amp;#124; sed &amp;amp;apos;s/\//\\\\\//g&amp;amp;apos;&amp;amp;#96;&amp;lt;br&amp;gt; &amp;gt; sed &amp;amp;quot;s/meinpfad/$pfad/g&amp;amp;quot; lawsuit-httpd.template &amp;gt; lawsuit-httpd.conf}}&lt;br /&gt;
Falls Ihr Pfad zum Ordner &amp;lt;tt&amp;gt;Documents&amp;lt;/tt&amp;gt; nicht mit dem soeben ermittelten Pfad für &amp;lt;tt&amp;gt;lawsuit&amp;lt;/tt&amp;gt; identisch ist, passen Sie diese Einstellungen für das Verzeichnis &amp;lt;tt&amp;gt;Documents&amp;lt;/tt&amp;gt; bitte in der &amp;lt;tt&amp;gt;lawsuit-httpd.conf&amp;lt;/tt&amp;gt; mit einem Editor wie '''kate''' von Hand an.&lt;br /&gt;
&lt;br /&gt;
Abschließend kopieren Sie die erstellte Konfigurationsdatei als ''Superuser'' in das Verzeichnis der Virtual Hosts von Apache&lt;br /&gt;
&lt;br /&gt;
{{Shell | &amp;gt; sudo cp lawsuit-httpd.conf /etc/apache2/sites-availabel/}}&lt;br /&gt;
&lt;br /&gt;
und aktivieren sie durch Verlinkung auf &amp;lt;tt&amp;gt;/etc/apache2/sites-enabled&amp;lt;/tt&amp;gt;:&lt;br /&gt;
{{Shell | &amp;gt; sudo a2ensite lawsuit-httpd.conf}}&lt;br /&gt;
&lt;br /&gt;
Abschließend muss Apache mit der neuen Konfiguration geladen werden:&lt;br /&gt;
{{Shell | &amp;gt; sudo systemctl reload apache2}}&lt;br /&gt;
&lt;br /&gt;
* Neustart von Apache&lt;br /&gt;
{{Shell | &amp;gt; sudo service apache2 restart}}&lt;br /&gt;
&lt;br /&gt;
=== Anpassen der Konfiguration ===&lt;br /&gt;
Um Ergänzungen oder Änderungen einheitlich für alle Virtual Hosts vorzunehmen, editieren Sie die Datei &amp;lt;tt&amp;gt;/etc/apache2/apache2.conf&amp;lt;/tt&amp;gt;. Zum Verständnis der Hierarchie und des Layouts um Dateien finden sich dort ausführliche die Kommentierungen. Die ursprüngliche, einfache Konfigurationsdatei mit nur 40K findet sich notfalls unter &amp;lt;tt&amp;gt;etc/apache2/sites-enabled/000-default.conf&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Optional: Ein Zertifikat für localhost erstellen ==&lt;br /&gt;
Bei Mehrplatzsystemen funktionieren die Javascript-Voreintragungen bei Nutzung einer sicheren HTTPS-Verbindung nur, wenn ein eigenes Zertifikat erstellt wird, dessen Aussteller zudem noch aus vertrauenswürdig eingestuft werden muss.OpenSSL bringt umfassende Werkzeuge mit, um eine eigene, kleine Certificate Authority (CA) betreiben zu können. &lt;br /&gt;
=== Vergabe einer Domain für den Rechner mit den Lawsuit-Daten ===&lt;br /&gt;
Im Networkmanager  &amp;amp;#9881; &amp;gt; Kabelgebuden &amp;amp;#9881; fügen Sie unter der Zeile &amp;quot;localhost&amp;quot; folgende Daten ein:&lt;br /&gt;
 IP-Adresse: &amp;lt;b&amp;gt;192.168.2.10&amp;lt;/b&amp;gt;&lt;br /&gt;
 Hostnamen:  &amp;lt;b&amp;gt;k1.local&amp;lt;/b&amp;gt;&lt;br /&gt;
Sie können statt &amp;quot;k1&amp;quot; eine beliebe andere Bezeichnung für den Hauptrechner wählen, müssen dann aber Ihre Domain in den folgenden Einstellungen beibehalten.&lt;br /&gt;
&lt;br /&gt;
=== Certificate Authority (CA) erstellen ===&lt;br /&gt;
Zu Beginn wird die Certificate Authority generiert. Zunächst wird ein geheimer Private Key erzeugt:&lt;br /&gt;
{{Shell |&amp;amp;gt; sudo openssl genrsa -aes256 -out /etc/ssl/private/rootCA.key 4096}}&lt;br /&gt;
Der Key trägt den Namen “rootCA.pem” und hat eine Länge von 4096 Bit. Die Option “-aes256” führt dazu, dass der Key mit einem Passwort geschützt wird. Die Key-Datei der CA muss tatsächlich besonders gut geschützt werden. Ein Angreifer, der den Key in die Hände bekommt, kann beliebig gefälschte Zertifikate im Namen der Kanzlei ausstellen, denen die Clients trauen. Die Verschlüsselung dieses Keys mit einem Passwort gibt zusätzlichen Schutz. Das gewünschte Passwort wird bei der Generierung abgefragt.&lt;br /&gt;
Einen geheimen Key für die CA gibt es damit also schon - es fehlt noch das Root-Zertifikat, das von den Clients später importiert werden muss, damit die von der CA ausgestellten Zertifikate im Browser als gültig erkannt werden. Das Root-Zertifikat “ca-root.pem” wird mit folgendem Befehl erzeugt: &lt;br /&gt;
{{Shell |&amp;amp;gt; sudo openssl req -x509 -new -nodes -key /etc/ssl/private/rootCA.key -sha512 -days 5483 -out /etc/ssl/certs/rootCA.pem}}&lt;br /&gt;
In diesem Fall wird die CA 5483 Tage, also mit Schalttagen 15 Jahre lang gültig bleiben. Während der Generierung werden das Passwort für die CA und einige Attribute abgefragt (hier ein Beispiel):&lt;br /&gt;
 Country Name (2 letter code) [AU]:&amp;lt;b&amp;gt;DE&amp;lt;/b&amp;gt;&lt;br /&gt;
 State or Province Name (full name) [Some-State]:&amp;lt;b&amp;gt;Nordrhein-Westfalen&amp;lt;/b&amp;gt;&lt;br /&gt;
 Locality Name (eg, city) []:&amp;lt;b&amp;gt;Muenster&amp;lt;/b&amp;gt;&lt;br /&gt;
 Organization Name (eg, company) [Internet Widgits Pty Ltd]:&amp;lt;b&amp;gt;Kanzlei Hermanns&amp;lt;/b&amp;gt;&lt;br /&gt;
 Organizational Unit Name (eg, section) []:&amp;lt;b&amp;gt;Rechtsanwalt&amp;lt;/b&amp;gt;&lt;br /&gt;
 Common Name (e.g. server FQDN or YOUR name) []:&amp;lt;b&amp;gt;RA Matthias Hermanns&amp;lt;/b&amp;gt;&lt;br /&gt;
 Email Address []:&amp;lt;b&amp;gt;hermanns@iustus.eu&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Erzeugen des Schlüssels===&lt;br /&gt;
Mit diesen Daten wird auch eine Konfiguratunsdatei mit Namen &amp;lt;tt&amp;gt;ssl.cnf&amp;lt;/tt&amp;gt; befüllt, die die Schlüsselausgabe später vereinfacht.&lt;br /&gt;
Zur besseren Übersichtlichkeit sollte ein mächtiges Textverarbeitungsprogramm wie ''kate'' verwendet werden.&lt;br /&gt;
{{Shell |&amp;amp;gt;sudo apt install kate}}&lt;br /&gt;
Erzeugen Sie dann Unterverzeichnisse und legen eine Konfigurationsdatei an:&lt;br /&gt;
{{Shell |&amp;amp;gt; cd ~/bin&amp;lt;br&amp;gt;&amp;amp;nbsp; mkdir keys&amp;lt;br&amp;gt;&amp;amp;nbsp; cd keys&amp;lt;br&amp;gt;&amp;amp;nbsp; kate ssl.cnf}}&lt;br /&gt;
Die Datei kann beispielsweise den folgenden Inhalt haben&lt;br /&gt;
 [req]&lt;br /&gt;
 # Standard-Verschlüsselung&lt;br /&gt;
 default_bits = 4096&lt;br /&gt;
 # verhindere prompt für die Zertifikat-Erstellung&lt;br /&gt;
 # (Daten kommen aus dieser Datei)&lt;br /&gt;
 prompt = no&lt;br /&gt;
 # Verschlüsselungsmethode&lt;br /&gt;
 default_md = sha512&lt;br /&gt;
 # Kryptographie abschalten&lt;br /&gt;
 encrypt_key = no&lt;br /&gt;
 # Sektion für Zertifizierer-Informationen:&lt;br /&gt;
 distinguished_name = dn&lt;br /&gt;
 &lt;br /&gt;
 # Zertifizierer-Informationen:&lt;br /&gt;
 [dn]&lt;br /&gt;
 # Länder-Code&lt;br /&gt;
 C=DE&lt;br /&gt;
 # Bundesland&lt;br /&gt;
 ST=Nordrhein-Westfalen&lt;br /&gt;
 # Stadt&lt;br /&gt;
 L=Muenster&lt;br /&gt;
 # Bezeichnung/Firmen-Name/Dein Name:&lt;br /&gt;
 O=Kanzlei Hermanns&lt;br /&gt;
 # Aussteller Name&lt;br /&gt;
 OU=RA Matthias Hermanns&lt;br /&gt;
 # E-Mail-Adresse&lt;br /&gt;
 emailAddress=hermanns@iustus.eu&lt;br /&gt;
 # Primärer Servername&lt;br /&gt;
 CN = &amp;lt;b&amp;gt;k1&amp;lt;/b&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 [v3_ca]&lt;br /&gt;
 keyUsage = digitalSignature, keyEncipherment&lt;br /&gt;
 extendedKeyUsage = serverAuth&lt;br /&gt;
 subjectAltName = IP:&amp;lt;b&amp;gt;192.168.2.10&amp;lt;/b&amp;gt;, DNS:&amp;lt;b&amp;gt;k1&amp;lt;/b&amp;gt;, DNS:&amp;lt;b&amp;gt;k1.local&amp;lt;/b&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 [ req_ext ]&lt;br /&gt;
 subjectAltName = @alt_names&lt;br /&gt;
 &lt;br /&gt;
 [alt_names]&lt;br /&gt;
 # Primärer Server-Name&lt;br /&gt;
 DNS.1 = &amp;lt;b&amp;gt;k1&amp;lt;/b&amp;gt;&lt;br /&gt;
 # Sekunärer Server-Name&lt;br /&gt;
 DNS.2 = &amp;lt;b&amp;gt;k1.local&amp;lt;/b&amp;gt;&lt;br /&gt;
 # Wildcard Subdomains&lt;br /&gt;
 DNS.3 = *.&amp;lt;b&amp;gt;k1.local&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Speichern Sie die so erstellte Datei &amp;lt;tt&amp;gt;ssl.cnf&amp;lt;/tt&amp;gt; im &amp;lt;tt&amp;gt;bin&amp;lt;/tt&amp;gt;-Verzeichnis ab. Mit folgendem Befehl erzeugen Sie nun als zertifizierter Aussteller die eigentlichen Schlüssel für die SSL-Verbindung.&lt;br /&gt;
Zunächst wird der RSA-Key mit 3072 Bit erzeugt (Asymmetrischer Schlüssel von Rivest, Shamir und Adleman, der einen privaten und einen öffentlichen Teil hat):&lt;br /&gt;
{{Shell |&amp;amp;gt; openssl genrsa -out k1.key 3072}}&lt;br /&gt;
Nun folgt die Certificate Signing Request (CSR; deutsch Zertifikatsignierungsanforderung), ein digitaler Antrag, um mittels der soeben erzeugten digitalen Signatur und der zusätzlichen Identitätsangaben zum Antragstellers aus der &amp;lt;tt&amp;gt;ssl.cnf&amp;lt;/tt&amp;gt; ein persönliches digitales Identitäts-Zertifikat (auch Public-Key-Zertifikat genannt) zu erstellen:&lt;br /&gt;
{{Shell |&amp;amp;gt; openssl req -new -keyout ~/bin/keys/k1.key -out ~/bin/keys/k1.csr -config ~/bin/keys/ssl.cnf}}&lt;br /&gt;
Mithilfe des Wurzelzertifikats vom verifizierten Aussteller (uns selbst) wird nun der eigentliche Schlüssel erstellt, damit eine Rückverfolgung zum Wurzelzertifikat möglich ist. &lt;br /&gt;
{{Shell |&amp;amp;gt; sudo openssl x509 -req \&amp;lt;br&amp;gt;&amp;amp;nbsp; -in ~/bin/keys/k1.csr \&amp;lt;br&amp;gt;&amp;amp;nbsp; -CA /etc/ssl/certs/rootCA.pem \&amp;lt;br&amp;gt;&amp;amp;nbsp; -CAkey /etc/ssl/private/rootCA.key \&amp;lt;br&amp;gt;&amp;amp;nbsp; -CAcreateserial \&amp;lt;br&amp;gt;&amp;amp;nbsp; -out ~/bin/keys/k1.crt \&amp;lt;br&amp;gt;&amp;amp;nbsp; -days 3653 \&amp;lt;br&amp;gt;&amp;amp;nbsp; -extfile ~/bin/keys/ssl.cnf \&amp;lt;br&amp;gt;&amp;amp;nbsp; -extensions v3_ca }}&lt;br /&gt;
&lt;br /&gt;
Damit die Zertifkate in unsere regelmäßige Sicherungsspeicherung aufgenommen werden, können wir sie in das Schlüsselverzeichnis &amp;lt;tt&amp;gt;keys&amp;lt;/tt&amp;gt; unter &amp;lt;tt&amp;gt;lawsuit&amp;lt;/tt&amp;gt; kopieren. Dies ist jedoch nicht optional, weil es ein Sicherheitsrisiko eröffnet:&lt;br /&gt;
{{Shell |&amp;amp;gt; sudo chown matthias:users keys/k1.crt&amp;lt;br&amp;gt;&amp;amp;nbsp; chmod 640 ~/bin/keys/k1.*&amp;lt;br&amp;gt;&amp;amp;nbsp; cp ~/bin/keys/k1.* ~/lawsuit/keys/}}&lt;br /&gt;
&lt;br /&gt;
=== Verbindung mit dem Server ===&lt;br /&gt;
Wenn Sie host-Datei &amp;lt;tt&amp;gt;lawsuit-httpd.conf&amp;lt;/tt&amp;gt; automatisch wie oben vorgeschlagen generiert haben, sind die notwendigen Einstellungen schon voreingetragen und müssen nur auskommentiert werden. Ansonsten ergänzen Sie unter /etc/apache2/sites_enabled/&lt;br /&gt;
folgende Zeilen:&lt;br /&gt;
 &amp;lt;VirtualHost *:80&amp;gt;&lt;br /&gt;
    ServerName &amp;lt;b&amp;gt;k1&amp;lt;/b&amp;gt;&lt;br /&gt;
    ServerAlias &amp;lt;b&amp;gt;k1.local&amp;lt;/b&amp;gt;&lt;br /&gt;
 &amp;lt;/VirtualHost&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 &amp;lt;IfModule mod_ssl.c&amp;gt;&lt;br /&gt;
    &amp;lt;VirtualHost *:443&amp;gt;&lt;br /&gt;
        ServerAdmin webmaster@localhost&lt;br /&gt;
        DocumentRoot /home/BENUTZERNAME/lawsuit/&lt;br /&gt;
        ServerName &amp;lt;b&amp;gt;k1&amp;lt;/b&amp;gt;&lt;br /&gt;
        ServerAlias &amp;lt;b&amp;gt;k1.local&amp;lt;/b&amp;gt;&lt;br /&gt;
        ErrorLog /var/log/apache2/error_log&lt;br /&gt;
        SSLEngine on&lt;br /&gt;
        SSLCertificateFile      /home/BENUTZERNAME/bin/keys/&amp;lt;b&amp;gt;k1.crt&amp;lt;/b&amp;gt;&lt;br /&gt;
        SSLCertificateKeyFile   /home/BENUTZERNAME/bin/keys/&amp;lt;b&amp;gt;k1.key&amp;lt;/b&amp;gt;&lt;br /&gt;
        &amp;lt;IfModule mod_headers.c&amp;gt;&lt;br /&gt;
            Header always set Strict-Transport-Security &amp;quot;max-age=15552000; includeSubDomains&amp;quot;&lt;br /&gt;
        &amp;lt;/IfModule&amp;gt;&lt;br /&gt;
        &amp;lt;FilesMatch &amp;quot;\.(cgi|html|shtml|pl|phtml|php)$&amp;quot;&amp;gt;&lt;br /&gt;
            SSLOptions +StdEnvVars&lt;br /&gt;
        &amp;lt;/FilesMatch&amp;gt;&lt;br /&gt;
        &amp;lt;Directory /home/BENUTZERNAME/lawsuit/cgi-bin&amp;gt;&lt;br /&gt;
            SSLOptions +StdEnvVars&lt;br /&gt;
        &amp;lt;/Directory&amp;gt;&lt;br /&gt;
    &amp;lt;/VirtualHost&amp;gt;&lt;br /&gt;
 &amp;lt;/IfModule&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 # configuration&lt;br /&gt;
 SSLProtocol             all -SSLv3 -TLSv1 -TLSv1.1 -TLSv1.2&lt;br /&gt;
 SSLHonorCipherOrder     off&lt;br /&gt;
 SSLSessionTickets       off&lt;br /&gt;
&lt;br /&gt;
Damit diese Einstellungen vom Browser angenommen werden, muss das Zertifkat fort eingetragen werden.&lt;br /&gt;
Gehen Sie dazu unter Firefox in das Menu und wählen die Unterpunkte &amp;gt; Datenschutz &amp;amp; Sicherheit oder rufen Sie den Unterpunkt direkt mit&lt;br /&gt;
 about:preferences#privacy&lt;br /&gt;
auf. Gehen Sie zum Unterpunkt &amp;lt;tt&amp;gt;Sicherheit &amp;gt; Zertifikate&amp;lt;/tt&amp;gt; und klicken Sie ''Zeertifikate anzeigen...'' an. Dort tragen Sie unter dem Reiter ''Server'' das eigene Zertifikate ein, indem Sie das eigene auf der Seite &lt;br /&gt;
 https://k1&lt;br /&gt;
als Ausnahme bestätigen.&lt;br /&gt;
Laden Sie dazu das Zertifikat von der Seite ''https://k1'' herunter und bestätigen Sie mit dem Auswahlästchen, dass es sich um eine dauerhaft zu speichernde Ausnahme handelt. Drücken Sie den Button ''Sicherheitsausnahme bestätigen''.&lt;br /&gt;
[[Datei:Zertifikat_eintragen.png|thumb|600px|left|Importieren des Zertifikate als dauerhafte Sicherheitsausnahme]]&lt;br /&gt;
&amp;lt;br clear=all&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Unter Firefox kann das selbstgezeichnete Zertifikat nun verwendet werden. Bitte beachten Sie, dass für jede Apache-Konfigurrationsdatei ein anderer Port geöffnet werden muss, &amp;quot;443&amp;quot; also nur einmal verwendet werden kann. Sie können alternativ z.B. &amp;quot;4443&amp;quot; verwenden.&lt;br /&gt;
&lt;br /&gt;
Abschließender Test und Neustart:&lt;br /&gt;
{{Shell |&amp;amp;#35; sudo apache2ctl -t&amp;lt;br&amp;gt;&amp;amp;nbsp; sudo systemctl restart apache2}}&lt;br /&gt;
&lt;br /&gt;
=== Registrierung als vertrauenswürdiger Aussteller für den Firefox-Browser ===&lt;br /&gt;
Damit der Firefox-Browser das Zertifikat tatsächlich verwendet und als vertrauenswürdig akzeptiert, muss es im Kleopatra-Schlüsseldienst eingetragen werden, auf den der Browser zugreift. &lt;br /&gt;
{{Shell |&amp;amp;gt; kleopatra}}&lt;br /&gt;
Klicken Sie den Reiter &amp;lt;b&amp;gt;Importieren&amp;lt;/b&amp;gt; an und fügen Sie nacheinander die folgenden Dateien ein:&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;/home/BENUTZERNAME/bin/keys/k1.crt&amp;lt;/tt&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;/etc/ssl/certs/rootCA.pem&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Bitte bestätigen Sie die erbetenen Beglaubigungen mit der Maustaste.&lt;br /&gt;
[[Datei:Kleopatra.png|thumb|600px|left|Importieren der Zertifikate in das Kleopatra-Schlüsselverwaltungsprogramm]]&lt;br /&gt;
&amp;lt;br clear=all&amp;gt;&lt;br /&gt;
Nun wechseln Sie in den Firefox-Browser und geben in die Adresszeile ein&lt;br /&gt;
 about:config&lt;br /&gt;
Dort ändern Sie die Variable&lt;br /&gt;
 security.enterprise_roots.enabled -&amp;gt; true&lt;br /&gt;
von &amp;quot;false&amp;quot; auf &amp;quot;true&amp;quot;. Nun bezieht der Browser auch Ihre eigenen CA-Beglaubigungen des Unternehmens eine seine Bewertungen mit ein und vergibt ein grünes Schlüsselsymbol.&lt;br /&gt;
&lt;br /&gt;
== Problembehebung ==&lt;br /&gt;
Lesen Sie wenn möglich die Fehlermeldungen nach dem Start des Servers. Versuchen Sie Fehler ggf. zu reproduzieren und vergleichen Sie die Einträge in den Log-Dateien. Den Einblick auf die dortigen Meldungen können Sie mit dem folgenden Befehl auf den neuesten Stand reduzieren::&lt;br /&gt;
&lt;br /&gt;
{{Shell | # tail -F /var/log/apache2/*}}&lt;br /&gt;
&lt;br /&gt;
Da die Error-Messages schnell sehr großen Umfang einnehmen, der am Ende sogar den Systemstart blockieren kann, empfiehlt es sich, mit Logrotate den Bestand unter Kontrolle zu halten. Installieren Sie dazu, falls noch nicht vom System geschehen:&lt;br /&gt;
{{Shell | # zypper in logrotate}}&lt;br /&gt;
Sie können die Einstellungen in der Konfigurationsdatei &lt;br /&gt;
 /etc/logrotate.conf&lt;br /&gt;
ändern. Eine typische Konfiguration von &amp;lt;tt&amp;gt;logrotate.conf&amp;lt;/tt&amp;gt; sieht z.B. wie folgt aus:&lt;br /&gt;
{{Shell |&amp;amp;#35; see &amp;quot;man logrotate&amp;quot; for details&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;amp;#35; rotate log files weekly &lt;br /&gt;
&amp;lt;br&amp;gt;weekly &lt;br /&gt;
&amp;lt;br&amp;gt;&amp;amp;#35; keep 4 weeks worth of backlogs &lt;br /&gt;
&amp;lt;br&amp;gt;rotate 4&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;b&amp;gt;&amp;amp;#35; remove rotated logs older than &amp;lt;count&amp;gt; days&lt;br /&gt;
&amp;lt;br&amp;gt;maxage 90 &amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;amp;#35; create new (empty) log files after rotating old ones &lt;br /&gt;
&amp;lt;br&amp;gt;create&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;amp;#35; use date as a suffix of the rotated file&lt;br /&gt;
&amp;lt;br&amp;gt;dateext&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;amp;#35; uncomment this if you want your log files compressed &lt;br /&gt;
&amp;lt;br&amp;gt;compress&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;amp;#35; comment these to switch compression to use gzip or another &lt;br /&gt;
&amp;lt;br&amp;gt;&amp;amp;#35; compression scheme&lt;br /&gt;
&amp;lt;br&amp;gt;compresscmd /usr/bin/xz&lt;br /&gt;
&amp;lt;br&amp;gt;uncompresscmd /usr/bin/xzdec&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;amp;#35; RPM packages drop log rotation information into this directory&lt;br /&gt;
&amp;lt;br&amp;gt;include /etc/logrotate.d&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Sollten Sie einen Fehler gefunden haben, [https://de.opensuse.org/SDB:Fehler_berichten berichten Sie ihn] bitte.&lt;br /&gt;
&lt;br /&gt;
==Weiterführende Informationen==&lt;br /&gt;
=== Verwandte Artikel ===&lt;br /&gt;
*[https://documentation.ubuntu.com/server/how-to/security/firewalls/ Optionen für das Einrichten der Firewall unter Ubuntu]&lt;br /&gt;
* Package documentation and example configuration files in /usr/share/doc/packages/apache2/&lt;br /&gt;
&lt;br /&gt;
===Externe Links===&lt;br /&gt;
* [https://documentation.ubuntu.com/server/how-to/web-services/install-apache2/ Apache Documentation]&lt;br /&gt;
* [http://httpd.apache.org/ The Apache Project]&lt;br /&gt;
* [http://www.apache.org/ Apache Software Foundation]&lt;br /&gt;
&lt;br /&gt;
{{DEFAULTSORT:{{PAGENAME}}}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Linuxinstallation]]&lt;/div&gt;</summary>
		<author><name>87.123.95.19</name></author>	</entry>

	<entry>
		<id>http://wiki.iustus.eu/wiki/index.php?title=Aufsetzen_des_Apache-Servers_-_ubuntu&amp;diff=7144</id>
		<title>Aufsetzen des Apache-Servers - ubuntu</title>
		<link rel="alternate" type="text/html" href="http://wiki.iustus.eu/wiki/index.php?title=Aufsetzen_des_Apache-Servers_-_ubuntu&amp;diff=7144"/>
				<updated>2026-01-02T17:45:50Z</updated>
		
		<summary type="html">&lt;p&gt;87.123.95.19: /* Vergabe einer Domain für den Rechner mit den Lawsuit-Daten */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Ubuntu|&lt;br /&gt;
*[https://ubuntu.com/tutorials/install-ubuntu-desktop-1604#1-overview 16.04.]&lt;br /&gt;
|&lt;br /&gt;
*[https://ubuntu.com/tutorials/install-and-configure-apache#2-installing-apache Apache Installation]&lt;br /&gt;
|&lt;br /&gt;
*[https://wiki.ubuntuusers.de/Apache_2.4/]&lt;br /&gt;
*[https://wiki.ubuntuusers.de/Apache/Module/ Apache Module]&lt;br /&gt;
*[https://wiki.ubuntuusers.de/Apache/Virtual_Hosts/ Virtual Hosts]&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Einführung ==&lt;br /&gt;
&lt;br /&gt;
Diese Dokument gibt eine rasche Einführung, wie ein Apache-Server auf dem lokalen Rechner aufgesetzt werden kann, der die Lawsuit-Programmteile bereitstellt.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
{{Warnung| Die Kurzanleitung geht nicht vertieft auf mögliche Experten-Einstellungen des Servers ein. Insbesondere bleiben hier Sicherheitseinstellungen unberücksichtigt, die für den Betrieb als öffentlich zugänglicher Netzserver unumgänglich wären. Die nachfolgenden Schritte sind für Anwender gedacht, die Lawsuit intern auf dem Kanzleirechner hinter einer Firewall betreiben möchten.}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== Allgemeine Rechner-Konfiguration ==&lt;br /&gt;
&lt;br /&gt;
Die Software benötigt eine funktionierende Netzwerkumgebung. Diese wird jedoch bereits standardmäßig von Ubuntu eingereichtet. Achten Sie aber insbesondere bei der Nutzung von [https://de.wikipedia.org/wiki/Dynamic_Host_Configuration_Protocol DHCP] darauf, dass [[Mehrplatzsysteme - ubuntu|weitere Rechner]] der Kanzlei vom Networkmanager tatsächlich im selben Nummernraum wie dieser PC eingetragen wurden, auf dem Apache nun installiert werden soll. Ansonsten können diese Rechner später nicht auf die Kanzleisoftware zugreifen.&lt;br /&gt;
&lt;br /&gt;
Als Zweites sollte der PC auf dem aktuellen Softwarestand sein. &lt;br /&gt;
{{Shell|&amp;gt; sudo apt update}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Installation der Apache-Pakete ===&lt;br /&gt;
&lt;br /&gt;
Der Apache-Server und das optionale Perl-Modul können mit ''apt'' installiert werden. Öffnen Sie dazu ein Terminal-Fenster und wechseln Sie wie folgt in den Superuser-Modus:&lt;br /&gt;
{{Shell|&amp;gt; sudo apt install apache2}}&lt;br /&gt;
Geben Sie das Passwort ein.&lt;br /&gt;
Prüfen Sie die korrekte Funktionsweise des Apache-Servers, indem Sie in die Browser-Adresszeile die folgende Adresse eingeben:&lt;br /&gt;
 http://localhost/&lt;br /&gt;
Es sollte folgende Ausgabe zu sehen sein:&lt;br /&gt;
[[Datei:Apache_works.png|thumb|600px|left|Apache-Server Startausgabe]]&lt;br /&gt;
&amp;lt;br clear=all&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Start des Servers ===&lt;br /&gt;
Mit folgenden zwei Befehlen wird der Apache-Server gestartet und auf Dauer im System aktiviert.&lt;br /&gt;
{{Shell|# systemctl start apache2&amp;lt;br&amp;gt;&amp;amp;nbsp; systemctl enable apache2}}&lt;br /&gt;
&lt;br /&gt;
=== Einrichtung und Anpassung der Firewall ===&lt;br /&gt;
&lt;br /&gt;
Normalerweise sollte die die Firewall ''ufd'' (Uncomplicated Firewall) vorinstalliert sein. Für unsere Zwecke zielführender ist ''firewalld''. Dies wird mit&lt;br /&gt;
{{Shell|&amp;gt; sudo apt install firewalld}}&lt;br /&gt;
installiert. Danach muss, um Systemkonflikte zu vermeiden ''ufd'' deaktiviert werden. Dies erfolgt per&lt;br /&gt;
{{Shell|&amp;gt; sudo ufw disable}}&lt;br /&gt;
Starten Sie nun ''firewalld'' mit&lt;br /&gt;
{{Shell|&amp;gt; sudo systemctl enable --now firewalld}}&lt;br /&gt;
&lt;br /&gt;
Die Firewall ist so voreingestellt, dass sie über Port 80 auf den Rechner eingehende Daten grundsätzlich sperrt. Folglich müssen die Firewall-Einstellungen so angepasst werden, dass aus dem Lokalen Netzwerk über Port 80 eingehender Datenstrom akzeptiert wird.&lt;br /&gt;
Die folgenden Schritte müssen dazu weiterhin als Root ausgeführt werden. &lt;br /&gt;
&lt;br /&gt;
{{Shell|&amp;gt; sudo firewall-cmd --zone internal --permanent --add-interface&amp;amp;#61;eth0&amp;lt;br&amp;gt;&amp;amp;nbsp; sudo firewall-cmd --zone internal --permanent --add-service&amp;amp;#61;nfs&amp;lt;br&amp;gt;&amp;amp;nbsp; sudo firewall-cmd --zone internal --permanent --add-service&amp;amp;#61;http&amp;lt;br&amp;gt;&amp;amp;nbsp; sudo firewall-cmd --zone internal --permanent --add-service&amp;amp;#61;https&amp;lt;br&amp;gt;&amp;amp;nbsp; sudo firewall-cmd --reload}}&lt;br /&gt;
&lt;br /&gt;
Weitere verfügbare Dienste lassen sich mit folgendem Befehl anzeigen&lt;br /&gt;
{{Shell|&amp;gt; sudo firewall-cmd --get-service}}&lt;br /&gt;
und ggf. nach obigem Muster ergänzen&lt;br /&gt;
&lt;br /&gt;
=== Aktivierung des Servers ===&lt;br /&gt;
Starten Sie den Server und aktivieren Sie ihn in einem Bootverzeichnis, damit er mit dem Rechner hochgefahren wird (s.o. ohne Yast):&lt;br /&gt;
{{Shell|# systemctl start apache2.service&amp;lt;br&amp;gt;&amp;amp;nbsp; systemctl enable apache2}}&lt;br /&gt;
&lt;br /&gt;
=== Hinzufügen von Apache-Modulen===&lt;br /&gt;
Um benötigte Apache-Module zu laden, können wir die Konfigurationsvariable ''APACHE_MODULES'' in &amp;lt;tt&amp;gt;/etc/sysconfig/apache2&amp;lt;/tt&amp;gt; editieren. Schneller geht es jedoch mit den nachfolgenden Befehlen.&lt;br /&gt;
Einige Programme müssen zunächst nachgeladen werden:&lt;br /&gt;
{{Shell|&amp;gt; sudo apt install libapache2-mod-perl2 libapache2-mod-dnssd libapache2-mod-python}}&lt;br /&gt;
Nach der Änderung muss der Server neu gestartet werden. Auch für die folgenden Befehle sind wieder die Rechte eines Superusers vonnöten.&lt;br /&gt;
{{Shell|&amp;gt; sudo a2enmod perl ssl dnssd rewrite actions python&amp;lt;br&amp;gt;&amp;amp;nbsp; sudo systemctl restart apache2}}&lt;br /&gt;
&lt;br /&gt;
== Virtual Hosts ==&lt;br /&gt;
===Allgemeines===&lt;br /&gt;
Das Verzeichnis für alle Virtual Host unter Ubuntu ist &amp;lt;tt&amp;gt;/etc/apache2/sites-available/&amp;lt;/tt&amp;gt;. Nur Dateien mit dem Suffix &amp;quot;.conf&amp;quot; werden automatisch in die Apachekonfiguration einbezogen. Damit sie von Apache verwendet werden, müssen sie zudem vom Verzeichnis &amp;lt;tt&amp;gt;/etc/apache2/sites-enabled/&amp;lt;/tt&amp;gt; verlinkt sein. &lt;br /&gt;
&lt;br /&gt;
{{Intro|Wenn Sie neben Lawsuit einen weiteren eigenen Virtual Host hinzufügen möchten, ersetzen Sie in den folgenden Zeilen bitte ''Domainname'' durch ihren Verzeichnisnamen oder Ihre IP-Adresse.}}&lt;br /&gt;
&lt;br /&gt;
* Es gibt mehrere Varianten für die Struktur, mit welcher der eigenen Server auf dem Rechner aufgesetzt werden kann. Folgende Optionen bieten sich an: &lt;br /&gt;
:* [https://httpd.apache.org/docs/2.4/de/vhosts/name-based.html namensbasiert]&lt;br /&gt;
:* [https://httpd.apache.org/docs/2.4/de/vhosts/ip-based.html IP-basiert]&lt;br /&gt;
:* portbasiert&lt;br /&gt;
&lt;br /&gt;
* Sei können für Ihre Verzeichnisse die Vorlage '''vhost.template''' kopieren und als Ihre '''{DOMAINNAME}.conf''' speichern. Hier hinein tragen Sie anschließend die Unterverzeichnisse für Ihren Virtual Host ein.&lt;br /&gt;
&lt;br /&gt;
===Einstellungen für ''Lawsuit''===&lt;br /&gt;
Deaktivieren Sie zunächst die von Ubuntu bereitgestellte Vorlage&lt;br /&gt;
{{Shell|&amp;gt; sudo a2dissite 000-default.conf}}&lt;br /&gt;
Für ''Lawsuit'' wird die stattdessen benötigte Konfigurationsdatei im Unterverzeichnis &amp;lt;tt&amp;gt;lawsuit/settings&amp;lt;/tt&amp;gt; bereits fertig zur Verfügung gestellt. Sie müssen lediglich in der genannten Datei den Platzhalter durch den eigenen Nutzernamen ersetzen und die fertige Datei in das Vhosts-Verzeichnis verlinken. Wechseln Sie in das Unterverzeichnis &amp;lt;tt&amp;gt;lawsuit/settings&amp;lt;/tt&amp;gt;. Wenn Sie ''Lawsuit'' in Ihrem Nutzerhauptverzeichnis installiert haben, gelangen Sie mit diesem Befehl dorthin:&lt;br /&gt;
{{Shell | &amp;gt; cd ~/lawsuit/settings}}&lt;br /&gt;
Erstellen Sie dort eine Konfigurationsdatei aus der Vorlage &amp;lt;tt&amp;gt;lawsuit-httpd.template&amp;lt;/tt&amp;gt; und ersetzen Sie den darin enthaltenen Platzhalter ''meinpfad'' dabei durch Ihren Pfad zum aktuellen Verzeichnis. Dies erfolgt automatisiert durch diese Befehle:&lt;br /&gt;
{{Shell | &amp;gt; pfad&amp;amp;#61;&amp;amp;#96;pwd &amp;amp;#124; sed &amp;amp;apos;s/\/lawsuit.*//&amp;amp;apos;  &amp;amp;#124; sed &amp;amp;apos;s/\//\\\\\//g&amp;amp;apos;&amp;amp;#96;&amp;lt;br&amp;gt; &amp;gt; sed &amp;amp;quot;s/meinpfad/$pfad/g&amp;amp;quot; lawsuit-httpd.template &amp;gt; lawsuit-httpd.conf}}&lt;br /&gt;
Falls Ihr Pfad zum Ordner &amp;lt;tt&amp;gt;Documents&amp;lt;/tt&amp;gt; nicht mit dem soeben ermittelten Pfad für &amp;lt;tt&amp;gt;lawsuit&amp;lt;/tt&amp;gt; identisch ist, passen Sie diese Einstellungen für das Verzeichnis &amp;lt;tt&amp;gt;Documents&amp;lt;/tt&amp;gt; bitte in der &amp;lt;tt&amp;gt;lawsuit-httpd.conf&amp;lt;/tt&amp;gt; mit einem Editor wie '''kate''' von Hand an.&lt;br /&gt;
&lt;br /&gt;
Abschließend kopieren Sie die erstellte Konfigurationsdatei als ''Superuser'' in das Verzeichnis der Virtual Hosts von Apache&lt;br /&gt;
&lt;br /&gt;
{{Shell | &amp;gt; sudo cp lawsuit-httpd.conf /etc/apache2/sites-availabel/}}&lt;br /&gt;
&lt;br /&gt;
und aktivieren sie durch Verlinkung auf &amp;lt;tt&amp;gt;/etc/apache2/sites-enabled&amp;lt;/tt&amp;gt;:&lt;br /&gt;
{{Shell | &amp;gt; sudo a2ensite lawsuit-httpd.conf}}&lt;br /&gt;
&lt;br /&gt;
Abschließend muss Apache mit der neuen Konfiguration geladen werden:&lt;br /&gt;
{{Shell | &amp;gt; sudo systemctl reload apache2}}&lt;br /&gt;
&lt;br /&gt;
* Neustart von Apache&lt;br /&gt;
{{Shell | &amp;gt; sudo service apache2 restart}}&lt;br /&gt;
&lt;br /&gt;
=== Anpassen der Konfiguration ===&lt;br /&gt;
Um Ergänzungen oder Änderungen einheitlich für alle Virtual Hosts vorzunehmen, editieren Sie die Datei &amp;lt;tt&amp;gt;/etc/apache2/apache2.conf&amp;lt;/tt&amp;gt;. Zum Verständnis der Hierarchie und des Layouts um Dateien finden sich dort ausführliche die Kommentierungen. Die ursprüngliche, einfache Konfigurationsdatei mit nur 40K findet sich notfalls unter &amp;lt;tt&amp;gt;etc/apache2/sites-enabled/000-default.conf&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Optional: Ein Zertifikat für localhost erstellen ==&lt;br /&gt;
Bei Mehrplatzsystemen funktionieren die Javascript-Voreintragungen bei Nutzung einer sicheren HTTPS-Verbindung nur, wenn ein eigenes Zertifikat erstellt wird, dessen Aussteller zudem noch aus vertrauenswürdig eingestuft werden muss.OpenSSL bringt umfassende Werkzeuge mit, um eine eigene, kleine Certificate Authority (CA) betreiben zu können. &lt;br /&gt;
=== Vergabe einer Domain für den Rechner mit den Lawsuit-Daten ===&lt;br /&gt;
Im Networkmanager  &amp;amp;#9881; &amp;gt; Kabelgebuden &amp;amp;#9881; fügen Sie unter der Zeile &amp;quot;localhost&amp;quot; folgende Daten ein:&lt;br /&gt;
 IP-Adresse: &amp;lt;b&amp;gt;192.168.2.10&amp;lt;/b&amp;gt;&lt;br /&gt;
 Hostnamen:  &amp;lt;b&amp;gt;k1.local&lt;br /&gt;
Sie können statt &amp;quot;k1&amp;quot; eine beliebe andere Bezeichnung für den Hauptrechner wählen, müssen dann aber Ihre Domain in den folgenden Einstellungen beibehalten.&lt;br /&gt;
&lt;br /&gt;
=== Certificate Authority (CA) erstellen ===&lt;br /&gt;
Zu Beginn wird die Certificate Authority generiert. Zunächst wird ein geheimer Private Key erzeugt:&lt;br /&gt;
{{Shell |&amp;amp;gt; sudo openssl genrsa -aes256 -out /etc/ssl/private/rootCA.key 4096}}&lt;br /&gt;
Der Key trägt den Namen “rootCA.pem” und hat eine Länge von 4096 Bit. Die Option “-aes256” führt dazu, dass der Key mit einem Passwort geschützt wird. Die Key-Datei der CA muss tatsächlich besonders gut geschützt werden. Ein Angreifer, der den Key in die Hände bekommt, kann beliebig gefälschte Zertifikate im Namen der Kanzlei ausstellen, denen die Clients trauen. Die Verschlüsselung dieses Keys mit einem Passwort gibt zusätzlichen Schutz. Das gewünschte Passwort wird bei der Generierung abgefragt.&lt;br /&gt;
Einen geheimen Key für die CA gibt es damit also schon - es fehlt noch das Root-Zertifikat, das von den Clients später importiert werden muss, damit die von der CA ausgestellten Zertifikate im Browser als gültig erkannt werden. Das Root-Zertifikat “ca-root.pem” wird mit folgendem Befehl erzeugt: &lt;br /&gt;
{{Shell |&amp;amp;gt; sudo openssl req -x509 -new -nodes -key /etc/ssl/private/rootCA.key -sha512 -days 5483 -out /etc/ssl/certs/rootCA.pem}}&lt;br /&gt;
In diesem Fall wird die CA 5483 Tage, also mit Schalttagen 15 Jahre lang gültig bleiben. Während der Generierung werden das Passwort für die CA und einige Attribute abgefragt (hier ein Beispiel):&lt;br /&gt;
 Country Name (2 letter code) [AU]:&amp;lt;b&amp;gt;DE&amp;lt;/b&amp;gt;&lt;br /&gt;
 State or Province Name (full name) [Some-State]:&amp;lt;b&amp;gt;Nordrhein-Westfalen&amp;lt;/b&amp;gt;&lt;br /&gt;
 Locality Name (eg, city) []:&amp;lt;b&amp;gt;Muenster&amp;lt;/b&amp;gt;&lt;br /&gt;
 Organization Name (eg, company) [Internet Widgits Pty Ltd]:&amp;lt;b&amp;gt;Kanzlei Hermanns&amp;lt;/b&amp;gt;&lt;br /&gt;
 Organizational Unit Name (eg, section) []:&amp;lt;b&amp;gt;Rechtsanwalt&amp;lt;/b&amp;gt;&lt;br /&gt;
 Common Name (e.g. server FQDN or YOUR name) []:&amp;lt;b&amp;gt;RA Matthias Hermanns&amp;lt;/b&amp;gt;&lt;br /&gt;
 Email Address []:&amp;lt;b&amp;gt;hermanns@iustus.eu&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Erzeugen des Schlüssels===&lt;br /&gt;
Mit diesen Daten wird auch eine Konfiguratunsdatei mit Namen &amp;lt;tt&amp;gt;ssl.cnf&amp;lt;/tt&amp;gt; befüllt, die die Schlüsselausgabe später vereinfacht.&lt;br /&gt;
Zur besseren Übersichtlichkeit sollte ein mächtiges Textverarbeitungsprogramm wie ''kate'' verwendet werden.&lt;br /&gt;
{{Shell |&amp;amp;gt;sudo apt install kate}}&lt;br /&gt;
Erzeugen Sie dann Unterverzeichnisse und legen eine Konfigurationsdatei an:&lt;br /&gt;
{{Shell |&amp;amp;gt; cd ~/bin&amp;lt;br&amp;gt;&amp;amp;nbsp; mkdir keys&amp;lt;br&amp;gt;&amp;amp;nbsp; cd keys&amp;lt;br&amp;gt;&amp;amp;nbsp; kate ssl.cnf}}&lt;br /&gt;
Die Datei kann beispielsweise den folgenden Inhalt haben&lt;br /&gt;
 [req]&lt;br /&gt;
 # Standard-Verschlüsselung&lt;br /&gt;
 default_bits = 4096&lt;br /&gt;
 # verhindere prompt für die Zertifikat-Erstellung&lt;br /&gt;
 # (Daten kommen aus dieser Datei)&lt;br /&gt;
 prompt = no&lt;br /&gt;
 # Verschlüsselungsmethode&lt;br /&gt;
 default_md = sha512&lt;br /&gt;
 # Kryptographie abschalten&lt;br /&gt;
 encrypt_key = no&lt;br /&gt;
 # Sektion für Zertifizierer-Informationen:&lt;br /&gt;
 distinguished_name = dn&lt;br /&gt;
 &lt;br /&gt;
 # Zertifizierer-Informationen:&lt;br /&gt;
 [dn]&lt;br /&gt;
 # Länder-Code&lt;br /&gt;
 C=DE&lt;br /&gt;
 # Bundesland&lt;br /&gt;
 ST=Nordrhein-Westfalen&lt;br /&gt;
 # Stadt&lt;br /&gt;
 L=Muenster&lt;br /&gt;
 # Bezeichnung/Firmen-Name/Dein Name:&lt;br /&gt;
 O=Kanzlei Hermanns&lt;br /&gt;
 # Aussteller Name&lt;br /&gt;
 OU=RA Matthias Hermanns&lt;br /&gt;
 # E-Mail-Adresse&lt;br /&gt;
 emailAddress=hermanns@iustus.eu&lt;br /&gt;
 # Primärer Servername&lt;br /&gt;
 CN = &amp;lt;b&amp;gt;k1&amp;lt;/b&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 [v3_ca]&lt;br /&gt;
 keyUsage = digitalSignature, keyEncipherment&lt;br /&gt;
 extendedKeyUsage = serverAuth&lt;br /&gt;
 subjectAltName = IP:&amp;lt;b&amp;gt;192.168.2.10&amp;lt;/b&amp;gt;, DNS:&amp;lt;b&amp;gt;k1&amp;lt;/b&amp;gt;, DNS:&amp;lt;b&amp;gt;k1.local&amp;lt;/b&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 [ req_ext ]&lt;br /&gt;
 subjectAltName = @alt_names&lt;br /&gt;
 &lt;br /&gt;
 [alt_names]&lt;br /&gt;
 # Primärer Server-Name&lt;br /&gt;
 DNS.1 = &amp;lt;b&amp;gt;k1&amp;lt;/b&amp;gt;&lt;br /&gt;
 # Sekunärer Server-Name&lt;br /&gt;
 DNS.2 = &amp;lt;b&amp;gt;k1.local&amp;lt;/b&amp;gt;&lt;br /&gt;
 # Wildcard Subdomains&lt;br /&gt;
 DNS.3 = *.&amp;lt;b&amp;gt;k1.local&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Speichern Sie die so erstellte Datei &amp;lt;tt&amp;gt;ssl.cnf&amp;lt;/tt&amp;gt; im &amp;lt;tt&amp;gt;bin&amp;lt;/tt&amp;gt;-Verzeichnis ab. Mit folgendem Befehl erzeugen Sie nun als zertifizierter Aussteller die eigentlichen Schlüssel für die SSL-Verbindung.&lt;br /&gt;
Zunächst wird der RSA-Key mit 3072 Bit erzeugt (Asymmetrischer Schlüssel von Rivest, Shamir und Adleman, der einen privaten und einen öffentlichen Teil hat):&lt;br /&gt;
{{Shell |&amp;amp;gt; openssl genrsa -out k1.key 3072}}&lt;br /&gt;
Nun folgt die Certificate Signing Request (CSR; deutsch Zertifikatsignierungsanforderung), ein digitaler Antrag, um mittels der soeben erzeugten digitalen Signatur und der zusätzlichen Identitätsangaben zum Antragstellers aus der &amp;lt;tt&amp;gt;ssl.cnf&amp;lt;/tt&amp;gt; ein persönliches digitales Identitäts-Zertifikat (auch Public-Key-Zertifikat genannt) zu erstellen:&lt;br /&gt;
{{Shell |&amp;amp;gt; openssl req -new -keyout ~/bin/keys/k1.key -out ~/bin/keys/k1.csr -config ~/bin/keys/ssl.cnf}}&lt;br /&gt;
Mithilfe des Wurzelzertifikats vom verifizierten Aussteller (uns selbst) wird nun der eigentliche Schlüssel erstellt, damit eine Rückverfolgung zum Wurzelzertifikat möglich ist. &lt;br /&gt;
{{Shell |&amp;amp;gt; sudo openssl x509 -req \&amp;lt;br&amp;gt;&amp;amp;nbsp; -in ~/bin/keys/k1.csr \&amp;lt;br&amp;gt;&amp;amp;nbsp; -CA /etc/ssl/certs/rootCA.pem \&amp;lt;br&amp;gt;&amp;amp;nbsp; -CAkey /etc/ssl/private/rootCA.key \&amp;lt;br&amp;gt;&amp;amp;nbsp; -CAcreateserial \&amp;lt;br&amp;gt;&amp;amp;nbsp; -out ~/bin/keys/k1.crt \&amp;lt;br&amp;gt;&amp;amp;nbsp; -days 3653 \&amp;lt;br&amp;gt;&amp;amp;nbsp; -extfile ~/bin/keys/ssl.cnf \&amp;lt;br&amp;gt;&amp;amp;nbsp; -extensions v3_ca }}&lt;br /&gt;
&lt;br /&gt;
Damit die Zertifkate in unsere regelmäßige Sicherungsspeicherung aufgenommen werden, können wir sie in das Schlüsselverzeichnis &amp;lt;tt&amp;gt;keys&amp;lt;/tt&amp;gt; unter &amp;lt;tt&amp;gt;lawsuit&amp;lt;/tt&amp;gt; kopieren. Dies ist jedoch nicht optional, weil es ein Sicherheitsrisiko eröffnet:&lt;br /&gt;
{{Shell |&amp;amp;gt; sudo chown matthias:users keys/k1.crt&amp;lt;br&amp;gt;&amp;amp;nbsp; chmod 640 ~/bin/keys/k1.*&amp;lt;br&amp;gt;&amp;amp;nbsp; cp ~/bin/keys/k1.* ~/lawsuit/keys/}}&lt;br /&gt;
&lt;br /&gt;
=== Verbindung mit dem Server ===&lt;br /&gt;
Wenn Sie host-Datei &amp;lt;tt&amp;gt;lawsuit-httpd.conf&amp;lt;/tt&amp;gt; automatisch wie oben vorgeschlagen generiert haben, sind die notwendigen Einstellungen schon voreingetragen und müssen nur auskommentiert werden. Ansonsten ergänzen Sie unter /etc/apache2/sites_enabled/&lt;br /&gt;
folgende Zeilen:&lt;br /&gt;
 &amp;lt;VirtualHost *:80&amp;gt;&lt;br /&gt;
    ServerName &amp;lt;b&amp;gt;k1&amp;lt;/b&amp;gt;&lt;br /&gt;
    ServerAlias &amp;lt;b&amp;gt;k1.local&amp;lt;/b&amp;gt;&lt;br /&gt;
 &amp;lt;/VirtualHost&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 &amp;lt;IfModule mod_ssl.c&amp;gt;&lt;br /&gt;
    &amp;lt;VirtualHost *:443&amp;gt;&lt;br /&gt;
        ServerAdmin webmaster@localhost&lt;br /&gt;
        DocumentRoot /home/BENUTZERNAME/lawsuit/&lt;br /&gt;
        ServerName &amp;lt;b&amp;gt;k1&amp;lt;/b&amp;gt;&lt;br /&gt;
        ServerAlias &amp;lt;b&amp;gt;k1.local&amp;lt;/b&amp;gt;&lt;br /&gt;
        ErrorLog /var/log/apache2/error_log&lt;br /&gt;
        SSLEngine on&lt;br /&gt;
        SSLCertificateFile      /home/BENUTZERNAME/bin/keys/&amp;lt;b&amp;gt;k1.crt&amp;lt;/b&amp;gt;&lt;br /&gt;
        SSLCertificateKeyFile   /home/BENUTZERNAME/bin/keys/&amp;lt;b&amp;gt;k1.key&amp;lt;/b&amp;gt;&lt;br /&gt;
        &amp;lt;IfModule mod_headers.c&amp;gt;&lt;br /&gt;
            Header always set Strict-Transport-Security &amp;quot;max-age=15552000; includeSubDomains&amp;quot;&lt;br /&gt;
        &amp;lt;/IfModule&amp;gt;&lt;br /&gt;
        &amp;lt;FilesMatch &amp;quot;\.(cgi|html|shtml|pl|phtml|php)$&amp;quot;&amp;gt;&lt;br /&gt;
            SSLOptions +StdEnvVars&lt;br /&gt;
        &amp;lt;/FilesMatch&amp;gt;&lt;br /&gt;
        &amp;lt;Directory /home/BENUTZERNAME/lawsuit/cgi-bin&amp;gt;&lt;br /&gt;
            SSLOptions +StdEnvVars&lt;br /&gt;
        &amp;lt;/Directory&amp;gt;&lt;br /&gt;
    &amp;lt;/VirtualHost&amp;gt;&lt;br /&gt;
 &amp;lt;/IfModule&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 # configuration&lt;br /&gt;
 SSLProtocol             all -SSLv3 -TLSv1 -TLSv1.1 -TLSv1.2&lt;br /&gt;
 SSLHonorCipherOrder     off&lt;br /&gt;
 SSLSessionTickets       off&lt;br /&gt;
&lt;br /&gt;
Damit diese Einstellungen vom Browser angenommen werden, muss das Zertifkat fort eingetragen werden.&lt;br /&gt;
Gehen Sie dazu unter Firefox in das Menu und wählen die Unterpunkte &amp;gt; Datenschutz &amp;amp; Sicherheit oder rufen Sie den Unterpunkt direkt mit&lt;br /&gt;
 about:preferences#privacy&lt;br /&gt;
auf. Gehen Sie zum Unterpunkt &amp;lt;tt&amp;gt;Sicherheit &amp;gt; Zertifikate&amp;lt;/tt&amp;gt; und klicken Sie ''Zeertifikate anzeigen...'' an. Dort tragen Sie unter dem Reiter ''Server'' das eigene Zertifikate ein, indem Sie das eigene auf der Seite &lt;br /&gt;
 https://k1&lt;br /&gt;
als Ausnahme bestätigen.&lt;br /&gt;
Laden Sie dazu das Zertifikat von der Seite ''https://k1'' herunter und bestätigen Sie mit dem Auswahlästchen, dass es sich um eine dauerhaft zu speichernde Ausnahme handelt. Drücken Sie den Button ''Sicherheitsausnahme bestätigen''.&lt;br /&gt;
[[Datei:Zertifikat_eintragen.png|thumb|600px|left|Importieren des Zertifikate als dauerhafte Sicherheitsausnahme]]&lt;br /&gt;
&amp;lt;br clear=all&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Unter Firefox kann das selbstgezeichnete Zertifikat nun verwendet werden. Bitte beachten Sie, dass für jede Apache-Konfigurrationsdatei ein anderer Port geöffnet werden muss, &amp;quot;443&amp;quot; also nur einmal verwendet werden kann. Sie können alternativ z.B. &amp;quot;4443&amp;quot; verwenden.&lt;br /&gt;
&lt;br /&gt;
Abschließender Test und Neustart:&lt;br /&gt;
{{Shell |&amp;amp;#35; sudo apache2ctl -t&amp;lt;br&amp;gt;&amp;amp;nbsp; sudo systemctl restart apache2}}&lt;br /&gt;
&lt;br /&gt;
=== Registrierung als vertrauenswürdiger Aussteller für den Firefox-Browser ===&lt;br /&gt;
Damit der Firefox-Browser das Zertifikat tatsächlich verwendet und als vertrauenswürdig akzeptiert, muss es im Kleopatra-Schlüsseldienst eingetragen werden, auf den der Browser zugreift. &lt;br /&gt;
{{Shell |&amp;amp;gt; kleopatra}}&lt;br /&gt;
Klicken Sie den Reiter &amp;lt;b&amp;gt;Importieren&amp;lt;/b&amp;gt; an und fügen Sie nacheinander die folgenden Dateien ein:&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;/home/BENUTZERNAME/bin/keys/k1.crt&amp;lt;/tt&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;/etc/ssl/certs/rootCA.pem&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Bitte bestätigen Sie die erbetenen Beglaubigungen mit der Maustaste.&lt;br /&gt;
[[Datei:Kleopatra.png|thumb|600px|left|Importieren der Zertifikate in das Kleopatra-Schlüsselverwaltungsprogramm]]&lt;br /&gt;
&amp;lt;br clear=all&amp;gt;&lt;br /&gt;
Nun wechseln Sie in den Firefox-Browser und geben in die Adresszeile ein&lt;br /&gt;
 about:config&lt;br /&gt;
Dort ändern Sie die Variable&lt;br /&gt;
 security.enterprise_roots.enabled -&amp;gt; true&lt;br /&gt;
von &amp;quot;false&amp;quot; auf &amp;quot;true&amp;quot;. Nun bezieht der Browser auch Ihre eigenen CA-Beglaubigungen des Unternehmens eine seine Bewertungen mit ein und vergibt ein grünes Schlüsselsymbol.&lt;br /&gt;
&lt;br /&gt;
== Problembehebung ==&lt;br /&gt;
Lesen Sie wenn möglich die Fehlermeldungen nach dem Start des Servers. Versuchen Sie Fehler ggf. zu reproduzieren und vergleichen Sie die Einträge in den Log-Dateien. Den Einblick auf die dortigen Meldungen können Sie mit dem folgenden Befehl auf den neuesten Stand reduzieren::&lt;br /&gt;
&lt;br /&gt;
{{Shell | # tail -F /var/log/apache2/*}}&lt;br /&gt;
&lt;br /&gt;
Da die Error-Messages schnell sehr großen Umfang einnehmen, der am Ende sogar den Systemstart blockieren kann, empfiehlt es sich, mit Logrotate den Bestand unter Kontrolle zu halten. Installieren Sie dazu, falls noch nicht vom System geschehen:&lt;br /&gt;
{{Shell | # zypper in logrotate}}&lt;br /&gt;
Sie können die Einstellungen in der Konfigurationsdatei &lt;br /&gt;
 /etc/logrotate.conf&lt;br /&gt;
ändern. Eine typische Konfiguration von &amp;lt;tt&amp;gt;logrotate.conf&amp;lt;/tt&amp;gt; sieht z.B. wie folgt aus:&lt;br /&gt;
{{Shell |&amp;amp;#35; see &amp;quot;man logrotate&amp;quot; for details&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;amp;#35; rotate log files weekly &lt;br /&gt;
&amp;lt;br&amp;gt;weekly &lt;br /&gt;
&amp;lt;br&amp;gt;&amp;amp;#35; keep 4 weeks worth of backlogs &lt;br /&gt;
&amp;lt;br&amp;gt;rotate 4&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;b&amp;gt;&amp;amp;#35; remove rotated logs older than &amp;lt;count&amp;gt; days&lt;br /&gt;
&amp;lt;br&amp;gt;maxage 90 &amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;amp;#35; create new (empty) log files after rotating old ones &lt;br /&gt;
&amp;lt;br&amp;gt;create&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;amp;#35; use date as a suffix of the rotated file&lt;br /&gt;
&amp;lt;br&amp;gt;dateext&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;amp;#35; uncomment this if you want your log files compressed &lt;br /&gt;
&amp;lt;br&amp;gt;compress&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;amp;#35; comment these to switch compression to use gzip or another &lt;br /&gt;
&amp;lt;br&amp;gt;&amp;amp;#35; compression scheme&lt;br /&gt;
&amp;lt;br&amp;gt;compresscmd /usr/bin/xz&lt;br /&gt;
&amp;lt;br&amp;gt;uncompresscmd /usr/bin/xzdec&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;amp;#35; RPM packages drop log rotation information into this directory&lt;br /&gt;
&amp;lt;br&amp;gt;include /etc/logrotate.d&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Sollten Sie einen Fehler gefunden haben, [https://de.opensuse.org/SDB:Fehler_berichten berichten Sie ihn] bitte.&lt;br /&gt;
&lt;br /&gt;
==Weiterführende Informationen==&lt;br /&gt;
=== Verwandte Artikel ===&lt;br /&gt;
*[https://documentation.ubuntu.com/server/how-to/security/firewalls/ Optionen für das Einrichten der Firewall unter Ubuntu]&lt;br /&gt;
* Package documentation and example configuration files in /usr/share/doc/packages/apache2/&lt;br /&gt;
&lt;br /&gt;
===Externe Links===&lt;br /&gt;
* [https://documentation.ubuntu.com/server/how-to/web-services/install-apache2/ Apache Documentation]&lt;br /&gt;
* [http://httpd.apache.org/ The Apache Project]&lt;br /&gt;
* [http://www.apache.org/ Apache Software Foundation]&lt;br /&gt;
&lt;br /&gt;
{{DEFAULTSORT:{{PAGENAME}}}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Linuxinstallation]]&lt;/div&gt;</summary>
		<author><name>87.123.95.19</name></author>	</entry>

	<entry>
		<id>http://wiki.iustus.eu/wiki/index.php?title=Aufsetzen_des_Apache-Servers_-_ubuntu&amp;diff=7143</id>
		<title>Aufsetzen des Apache-Servers - ubuntu</title>
		<link rel="alternate" type="text/html" href="http://wiki.iustus.eu/wiki/index.php?title=Aufsetzen_des_Apache-Servers_-_ubuntu&amp;diff=7143"/>
				<updated>2026-01-02T17:44:14Z</updated>
		
		<summary type="html">&lt;p&gt;87.123.95.19: /* Vergabe einer Domain für den Rechner mit den Lawsuit-Daten */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Ubuntu|&lt;br /&gt;
*[https://ubuntu.com/tutorials/install-ubuntu-desktop-1604#1-overview 16.04.]&lt;br /&gt;
|&lt;br /&gt;
*[https://ubuntu.com/tutorials/install-and-configure-apache#2-installing-apache Apache Installation]&lt;br /&gt;
|&lt;br /&gt;
*[https://wiki.ubuntuusers.de/Apache_2.4/]&lt;br /&gt;
*[https://wiki.ubuntuusers.de/Apache/Module/ Apache Module]&lt;br /&gt;
*[https://wiki.ubuntuusers.de/Apache/Virtual_Hosts/ Virtual Hosts]&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Einführung ==&lt;br /&gt;
&lt;br /&gt;
Diese Dokument gibt eine rasche Einführung, wie ein Apache-Server auf dem lokalen Rechner aufgesetzt werden kann, der die Lawsuit-Programmteile bereitstellt.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
{{Warnung| Die Kurzanleitung geht nicht vertieft auf mögliche Experten-Einstellungen des Servers ein. Insbesondere bleiben hier Sicherheitseinstellungen unberücksichtigt, die für den Betrieb als öffentlich zugänglicher Netzserver unumgänglich wären. Die nachfolgenden Schritte sind für Anwender gedacht, die Lawsuit intern auf dem Kanzleirechner hinter einer Firewall betreiben möchten.}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== Allgemeine Rechner-Konfiguration ==&lt;br /&gt;
&lt;br /&gt;
Die Software benötigt eine funktionierende Netzwerkumgebung. Diese wird jedoch bereits standardmäßig von Ubuntu eingereichtet. Achten Sie aber insbesondere bei der Nutzung von [https://de.wikipedia.org/wiki/Dynamic_Host_Configuration_Protocol DHCP] darauf, dass [[Mehrplatzsysteme - ubuntu|weitere Rechner]] der Kanzlei vom Networkmanager tatsächlich im selben Nummernraum wie dieser PC eingetragen wurden, auf dem Apache nun installiert werden soll. Ansonsten können diese Rechner später nicht auf die Kanzleisoftware zugreifen.&lt;br /&gt;
&lt;br /&gt;
Als Zweites sollte der PC auf dem aktuellen Softwarestand sein. &lt;br /&gt;
{{Shell|&amp;gt; sudo apt update}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Installation der Apache-Pakete ===&lt;br /&gt;
&lt;br /&gt;
Der Apache-Server und das optionale Perl-Modul können mit ''apt'' installiert werden. Öffnen Sie dazu ein Terminal-Fenster und wechseln Sie wie folgt in den Superuser-Modus:&lt;br /&gt;
{{Shell|&amp;gt; sudo apt install apache2}}&lt;br /&gt;
Geben Sie das Passwort ein.&lt;br /&gt;
Prüfen Sie die korrekte Funktionsweise des Apache-Servers, indem Sie in die Browser-Adresszeile die folgende Adresse eingeben:&lt;br /&gt;
 http://localhost/&lt;br /&gt;
Es sollte folgende Ausgabe zu sehen sein:&lt;br /&gt;
[[Datei:Apache_works.png|thumb|600px|left|Apache-Server Startausgabe]]&lt;br /&gt;
&amp;lt;br clear=all&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Start des Servers ===&lt;br /&gt;
Mit folgenden zwei Befehlen wird der Apache-Server gestartet und auf Dauer im System aktiviert.&lt;br /&gt;
{{Shell|# systemctl start apache2&amp;lt;br&amp;gt;&amp;amp;nbsp; systemctl enable apache2}}&lt;br /&gt;
&lt;br /&gt;
=== Einrichtung und Anpassung der Firewall ===&lt;br /&gt;
&lt;br /&gt;
Normalerweise sollte die die Firewall ''ufd'' (Uncomplicated Firewall) vorinstalliert sein. Für unsere Zwecke zielführender ist ''firewalld''. Dies wird mit&lt;br /&gt;
{{Shell|&amp;gt; sudo apt install firewalld}}&lt;br /&gt;
installiert. Danach muss, um Systemkonflikte zu vermeiden ''ufd'' deaktiviert werden. Dies erfolgt per&lt;br /&gt;
{{Shell|&amp;gt; sudo ufw disable}}&lt;br /&gt;
Starten Sie nun ''firewalld'' mit&lt;br /&gt;
{{Shell|&amp;gt; sudo systemctl enable --now firewalld}}&lt;br /&gt;
&lt;br /&gt;
Die Firewall ist so voreingestellt, dass sie über Port 80 auf den Rechner eingehende Daten grundsätzlich sperrt. Folglich müssen die Firewall-Einstellungen so angepasst werden, dass aus dem Lokalen Netzwerk über Port 80 eingehender Datenstrom akzeptiert wird.&lt;br /&gt;
Die folgenden Schritte müssen dazu weiterhin als Root ausgeführt werden. &lt;br /&gt;
&lt;br /&gt;
{{Shell|&amp;gt; sudo firewall-cmd --zone internal --permanent --add-interface&amp;amp;#61;eth0&amp;lt;br&amp;gt;&amp;amp;nbsp; sudo firewall-cmd --zone internal --permanent --add-service&amp;amp;#61;nfs&amp;lt;br&amp;gt;&amp;amp;nbsp; sudo firewall-cmd --zone internal --permanent --add-service&amp;amp;#61;http&amp;lt;br&amp;gt;&amp;amp;nbsp; sudo firewall-cmd --zone internal --permanent --add-service&amp;amp;#61;https&amp;lt;br&amp;gt;&amp;amp;nbsp; sudo firewall-cmd --reload}}&lt;br /&gt;
&lt;br /&gt;
Weitere verfügbare Dienste lassen sich mit folgendem Befehl anzeigen&lt;br /&gt;
{{Shell|&amp;gt; sudo firewall-cmd --get-service}}&lt;br /&gt;
und ggf. nach obigem Muster ergänzen&lt;br /&gt;
&lt;br /&gt;
=== Aktivierung des Servers ===&lt;br /&gt;
Starten Sie den Server und aktivieren Sie ihn in einem Bootverzeichnis, damit er mit dem Rechner hochgefahren wird (s.o. ohne Yast):&lt;br /&gt;
{{Shell|# systemctl start apache2.service&amp;lt;br&amp;gt;&amp;amp;nbsp; systemctl enable apache2}}&lt;br /&gt;
&lt;br /&gt;
=== Hinzufügen von Apache-Modulen===&lt;br /&gt;
Um benötigte Apache-Module zu laden, können wir die Konfigurationsvariable ''APACHE_MODULES'' in &amp;lt;tt&amp;gt;/etc/sysconfig/apache2&amp;lt;/tt&amp;gt; editieren. Schneller geht es jedoch mit den nachfolgenden Befehlen.&lt;br /&gt;
Einige Programme müssen zunächst nachgeladen werden:&lt;br /&gt;
{{Shell|&amp;gt; sudo apt install libapache2-mod-perl2 libapache2-mod-dnssd libapache2-mod-python}}&lt;br /&gt;
Nach der Änderung muss der Server neu gestartet werden. Auch für die folgenden Befehle sind wieder die Rechte eines Superusers vonnöten.&lt;br /&gt;
{{Shell|&amp;gt; sudo a2enmod perl ssl dnssd rewrite actions python&amp;lt;br&amp;gt;&amp;amp;nbsp; sudo systemctl restart apache2}}&lt;br /&gt;
&lt;br /&gt;
== Virtual Hosts ==&lt;br /&gt;
===Allgemeines===&lt;br /&gt;
Das Verzeichnis für alle Virtual Host unter Ubuntu ist &amp;lt;tt&amp;gt;/etc/apache2/sites-available/&amp;lt;/tt&amp;gt;. Nur Dateien mit dem Suffix &amp;quot;.conf&amp;quot; werden automatisch in die Apachekonfiguration einbezogen. Damit sie von Apache verwendet werden, müssen sie zudem vom Verzeichnis &amp;lt;tt&amp;gt;/etc/apache2/sites-enabled/&amp;lt;/tt&amp;gt; verlinkt sein. &lt;br /&gt;
&lt;br /&gt;
{{Intro|Wenn Sie neben Lawsuit einen weiteren eigenen Virtual Host hinzufügen möchten, ersetzen Sie in den folgenden Zeilen bitte ''Domainname'' durch ihren Verzeichnisnamen oder Ihre IP-Adresse.}}&lt;br /&gt;
&lt;br /&gt;
* Es gibt mehrere Varianten für die Struktur, mit welcher der eigenen Server auf dem Rechner aufgesetzt werden kann. Folgende Optionen bieten sich an: &lt;br /&gt;
:* [https://httpd.apache.org/docs/2.4/de/vhosts/name-based.html namensbasiert]&lt;br /&gt;
:* [https://httpd.apache.org/docs/2.4/de/vhosts/ip-based.html IP-basiert]&lt;br /&gt;
:* portbasiert&lt;br /&gt;
&lt;br /&gt;
* Sei können für Ihre Verzeichnisse die Vorlage '''vhost.template''' kopieren und als Ihre '''{DOMAINNAME}.conf''' speichern. Hier hinein tragen Sie anschließend die Unterverzeichnisse für Ihren Virtual Host ein.&lt;br /&gt;
&lt;br /&gt;
===Einstellungen für ''Lawsuit''===&lt;br /&gt;
Deaktivieren Sie zunächst die von Ubuntu bereitgestellte Vorlage&lt;br /&gt;
{{Shell|&amp;gt; sudo a2dissite 000-default.conf}}&lt;br /&gt;
Für ''Lawsuit'' wird die stattdessen benötigte Konfigurationsdatei im Unterverzeichnis &amp;lt;tt&amp;gt;lawsuit/settings&amp;lt;/tt&amp;gt; bereits fertig zur Verfügung gestellt. Sie müssen lediglich in der genannten Datei den Platzhalter durch den eigenen Nutzernamen ersetzen und die fertige Datei in das Vhosts-Verzeichnis verlinken. Wechseln Sie in das Unterverzeichnis &amp;lt;tt&amp;gt;lawsuit/settings&amp;lt;/tt&amp;gt;. Wenn Sie ''Lawsuit'' in Ihrem Nutzerhauptverzeichnis installiert haben, gelangen Sie mit diesem Befehl dorthin:&lt;br /&gt;
{{Shell | &amp;gt; cd ~/lawsuit/settings}}&lt;br /&gt;
Erstellen Sie dort eine Konfigurationsdatei aus der Vorlage &amp;lt;tt&amp;gt;lawsuit-httpd.template&amp;lt;/tt&amp;gt; und ersetzen Sie den darin enthaltenen Platzhalter ''meinpfad'' dabei durch Ihren Pfad zum aktuellen Verzeichnis. Dies erfolgt automatisiert durch diese Befehle:&lt;br /&gt;
{{Shell | &amp;gt; pfad&amp;amp;#61;&amp;amp;#96;pwd &amp;amp;#124; sed &amp;amp;apos;s/\/lawsuit.*//&amp;amp;apos;  &amp;amp;#124; sed &amp;amp;apos;s/\//\\\\\//g&amp;amp;apos;&amp;amp;#96;&amp;lt;br&amp;gt; &amp;gt; sed &amp;amp;quot;s/meinpfad/$pfad/g&amp;amp;quot; lawsuit-httpd.template &amp;gt; lawsuit-httpd.conf}}&lt;br /&gt;
Falls Ihr Pfad zum Ordner &amp;lt;tt&amp;gt;Documents&amp;lt;/tt&amp;gt; nicht mit dem soeben ermittelten Pfad für &amp;lt;tt&amp;gt;lawsuit&amp;lt;/tt&amp;gt; identisch ist, passen Sie diese Einstellungen für das Verzeichnis &amp;lt;tt&amp;gt;Documents&amp;lt;/tt&amp;gt; bitte in der &amp;lt;tt&amp;gt;lawsuit-httpd.conf&amp;lt;/tt&amp;gt; mit einem Editor wie '''kate''' von Hand an.&lt;br /&gt;
&lt;br /&gt;
Abschließend kopieren Sie die erstellte Konfigurationsdatei als ''Superuser'' in das Verzeichnis der Virtual Hosts von Apache&lt;br /&gt;
&lt;br /&gt;
{{Shell | &amp;gt; sudo cp lawsuit-httpd.conf /etc/apache2/sites-availabel/}}&lt;br /&gt;
&lt;br /&gt;
und aktivieren sie durch Verlinkung auf &amp;lt;tt&amp;gt;/etc/apache2/sites-enabled&amp;lt;/tt&amp;gt;:&lt;br /&gt;
{{Shell | &amp;gt; sudo a2ensite lawsuit-httpd.conf}}&lt;br /&gt;
&lt;br /&gt;
Abschließend muss Apache mit der neuen Konfiguration geladen werden:&lt;br /&gt;
{{Shell | &amp;gt; sudo systemctl reload apache2}}&lt;br /&gt;
&lt;br /&gt;
* Neustart von Apache&lt;br /&gt;
{{Shell | &amp;gt; sudo service apache2 restart}}&lt;br /&gt;
&lt;br /&gt;
=== Anpassen der Konfiguration ===&lt;br /&gt;
Um Ergänzungen oder Änderungen einheitlich für alle Virtual Hosts vorzunehmen, editieren Sie die Datei &amp;lt;tt&amp;gt;/etc/apache2/apache2.conf&amp;lt;/tt&amp;gt;. Zum Verständnis der Hierarchie und des Layouts um Dateien finden sich dort ausführliche die Kommentierungen. Die ursprüngliche, einfache Konfigurationsdatei mit nur 40K findet sich notfalls unter &amp;lt;tt&amp;gt;etc/apache2/sites-enabled/000-default.conf&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Optional: Ein Zertifikat für localhost erstellen ==&lt;br /&gt;
Bei Mehrplatzsystemen funktionieren die Javascript-Voreintragungen bei Nutzung einer sicheren HTTPS-Verbindung nur, wenn ein eigenes Zertifikat erstellt wird, dessen Aussteller zudem noch aus vertrauenswürdig eingestuft werden muss.OpenSSL bringt umfassende Werkzeuge mit, um eine eigene, kleine Certificate Authority (CA) betreiben zu können. &lt;br /&gt;
=== Vergabe einer Domain für den Rechner mit den Lawsuit-Daten ===&lt;br /&gt;
Im Networkmanager  &amp;amp;#9881; &amp;gt; Kabelgebuden &amp;amp;#9881; fügen Sie unter der Zeile &amp;quot;localhost&amp;quot; folgende Daten ein:&lt;br /&gt;
 IP-Adresse: &amp;lt;b&amp;gt;192.168.2.10&amp;lt;/b&amp;gt;&lt;br /&gt;
 Hostnamen:  &amp;lt;b&amp;gt;k1.local&amp;lt;/b&amp;gt;&lt;br /&gt;
 Aliasnamen: &amp;lt;b&amp;gt;k1&amp;lt;/b&amp;gt;&lt;br /&gt;
[[Datei:Hostkonfiguration.png|thumb|600px|left|Eigenen Rechnernamen vergeben]]&lt;br /&gt;
&amp;lt;br clear=all&amp;gt;&lt;br /&gt;
Sie können statt &amp;quot;k1&amp;quot; eine beliebe andere Bezeichnung für den Hauptrechner wählen, müssen dann aber Ihre Domain in den folgenden Einstellungen beibehalten.&lt;br /&gt;
&lt;br /&gt;
=== Certificate Authority (CA) erstellen ===&lt;br /&gt;
Zu Beginn wird die Certificate Authority generiert. Zunächst wird ein geheimer Private Key erzeugt:&lt;br /&gt;
{{Shell |&amp;amp;gt; sudo openssl genrsa -aes256 -out /etc/ssl/private/rootCA.key 4096}}&lt;br /&gt;
Der Key trägt den Namen “rootCA.pem” und hat eine Länge von 4096 Bit. Die Option “-aes256” führt dazu, dass der Key mit einem Passwort geschützt wird. Die Key-Datei der CA muss tatsächlich besonders gut geschützt werden. Ein Angreifer, der den Key in die Hände bekommt, kann beliebig gefälschte Zertifikate im Namen der Kanzlei ausstellen, denen die Clients trauen. Die Verschlüsselung dieses Keys mit einem Passwort gibt zusätzlichen Schutz. Das gewünschte Passwort wird bei der Generierung abgefragt.&lt;br /&gt;
Einen geheimen Key für die CA gibt es damit also schon - es fehlt noch das Root-Zertifikat, das von den Clients später importiert werden muss, damit die von der CA ausgestellten Zertifikate im Browser als gültig erkannt werden. Das Root-Zertifikat “ca-root.pem” wird mit folgendem Befehl erzeugt: &lt;br /&gt;
{{Shell |&amp;amp;gt; sudo openssl req -x509 -new -nodes -key /etc/ssl/private/rootCA.key -sha512 -days 5483 -out /etc/ssl/certs/rootCA.pem}}&lt;br /&gt;
In diesem Fall wird die CA 5483 Tage, also mit Schalttagen 15 Jahre lang gültig bleiben. Während der Generierung werden das Passwort für die CA und einige Attribute abgefragt (hier ein Beispiel):&lt;br /&gt;
 Country Name (2 letter code) [AU]:&amp;lt;b&amp;gt;DE&amp;lt;/b&amp;gt;&lt;br /&gt;
 State or Province Name (full name) [Some-State]:&amp;lt;b&amp;gt;Nordrhein-Westfalen&amp;lt;/b&amp;gt;&lt;br /&gt;
 Locality Name (eg, city) []:&amp;lt;b&amp;gt;Muenster&amp;lt;/b&amp;gt;&lt;br /&gt;
 Organization Name (eg, company) [Internet Widgits Pty Ltd]:&amp;lt;b&amp;gt;Kanzlei Hermanns&amp;lt;/b&amp;gt;&lt;br /&gt;
 Organizational Unit Name (eg, section) []:&amp;lt;b&amp;gt;Rechtsanwalt&amp;lt;/b&amp;gt;&lt;br /&gt;
 Common Name (e.g. server FQDN or YOUR name) []:&amp;lt;b&amp;gt;RA Matthias Hermanns&amp;lt;/b&amp;gt;&lt;br /&gt;
 Email Address []:&amp;lt;b&amp;gt;hermanns@iustus.eu&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Erzeugen des Schlüssels===&lt;br /&gt;
Mit diesen Daten wird auch eine Konfiguratunsdatei mit Namen &amp;lt;tt&amp;gt;ssl.cnf&amp;lt;/tt&amp;gt; befüllt, die die Schlüsselausgabe später vereinfacht.&lt;br /&gt;
Zur besseren Übersichtlichkeit sollte ein mächtiges Textverarbeitungsprogramm wie ''kate'' verwendet werden.&lt;br /&gt;
{{Shell |&amp;amp;gt;sudo apt install kate}}&lt;br /&gt;
Erzeugen Sie dann Unterverzeichnisse und legen eine Konfigurationsdatei an:&lt;br /&gt;
{{Shell |&amp;amp;gt; cd ~/bin&amp;lt;br&amp;gt;&amp;amp;nbsp; mkdir keys&amp;lt;br&amp;gt;&amp;amp;nbsp; cd keys&amp;lt;br&amp;gt;&amp;amp;nbsp; kate ssl.cnf}}&lt;br /&gt;
Die Datei kann beispielsweise den folgenden Inhalt haben&lt;br /&gt;
 [req]&lt;br /&gt;
 # Standard-Verschlüsselung&lt;br /&gt;
 default_bits = 4096&lt;br /&gt;
 # verhindere prompt für die Zertifikat-Erstellung&lt;br /&gt;
 # (Daten kommen aus dieser Datei)&lt;br /&gt;
 prompt = no&lt;br /&gt;
 # Verschlüsselungsmethode&lt;br /&gt;
 default_md = sha512&lt;br /&gt;
 # Kryptographie abschalten&lt;br /&gt;
 encrypt_key = no&lt;br /&gt;
 # Sektion für Zertifizierer-Informationen:&lt;br /&gt;
 distinguished_name = dn&lt;br /&gt;
 &lt;br /&gt;
 # Zertifizierer-Informationen:&lt;br /&gt;
 [dn]&lt;br /&gt;
 # Länder-Code&lt;br /&gt;
 C=DE&lt;br /&gt;
 # Bundesland&lt;br /&gt;
 ST=Nordrhein-Westfalen&lt;br /&gt;
 # Stadt&lt;br /&gt;
 L=Muenster&lt;br /&gt;
 # Bezeichnung/Firmen-Name/Dein Name:&lt;br /&gt;
 O=Kanzlei Hermanns&lt;br /&gt;
 # Aussteller Name&lt;br /&gt;
 OU=RA Matthias Hermanns&lt;br /&gt;
 # E-Mail-Adresse&lt;br /&gt;
 emailAddress=hermanns@iustus.eu&lt;br /&gt;
 # Primärer Servername&lt;br /&gt;
 CN = &amp;lt;b&amp;gt;k1&amp;lt;/b&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 [v3_ca]&lt;br /&gt;
 keyUsage = digitalSignature, keyEncipherment&lt;br /&gt;
 extendedKeyUsage = serverAuth&lt;br /&gt;
 subjectAltName = IP:&amp;lt;b&amp;gt;192.168.2.10&amp;lt;/b&amp;gt;, DNS:&amp;lt;b&amp;gt;k1&amp;lt;/b&amp;gt;, DNS:&amp;lt;b&amp;gt;k1.local&amp;lt;/b&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 [ req_ext ]&lt;br /&gt;
 subjectAltName = @alt_names&lt;br /&gt;
 &lt;br /&gt;
 [alt_names]&lt;br /&gt;
 # Primärer Server-Name&lt;br /&gt;
 DNS.1 = &amp;lt;b&amp;gt;k1&amp;lt;/b&amp;gt;&lt;br /&gt;
 # Sekunärer Server-Name&lt;br /&gt;
 DNS.2 = &amp;lt;b&amp;gt;k1.local&amp;lt;/b&amp;gt;&lt;br /&gt;
 # Wildcard Subdomains&lt;br /&gt;
 DNS.3 = *.&amp;lt;b&amp;gt;k1.local&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Speichern Sie die so erstellte Datei &amp;lt;tt&amp;gt;ssl.cnf&amp;lt;/tt&amp;gt; im &amp;lt;tt&amp;gt;bin&amp;lt;/tt&amp;gt;-Verzeichnis ab. Mit folgendem Befehl erzeugen Sie nun als zertifizierter Aussteller die eigentlichen Schlüssel für die SSL-Verbindung.&lt;br /&gt;
Zunächst wird der RSA-Key mit 3072 Bit erzeugt (Asymmetrischer Schlüssel von Rivest, Shamir und Adleman, der einen privaten und einen öffentlichen Teil hat):&lt;br /&gt;
{{Shell |&amp;amp;gt; openssl genrsa -out k1.key 3072}}&lt;br /&gt;
Nun folgt die Certificate Signing Request (CSR; deutsch Zertifikatsignierungsanforderung), ein digitaler Antrag, um mittels der soeben erzeugten digitalen Signatur und der zusätzlichen Identitätsangaben zum Antragstellers aus der &amp;lt;tt&amp;gt;ssl.cnf&amp;lt;/tt&amp;gt; ein persönliches digitales Identitäts-Zertifikat (auch Public-Key-Zertifikat genannt) zu erstellen:&lt;br /&gt;
{{Shell |&amp;amp;gt; openssl req -new -keyout ~/bin/keys/k1.key -out ~/bin/keys/k1.csr -config ~/bin/keys/ssl.cnf}}&lt;br /&gt;
Mithilfe des Wurzelzertifikats vom verifizierten Aussteller (uns selbst) wird nun der eigentliche Schlüssel erstellt, damit eine Rückverfolgung zum Wurzelzertifikat möglich ist. &lt;br /&gt;
{{Shell |&amp;amp;gt; sudo openssl x509 -req \&amp;lt;br&amp;gt;&amp;amp;nbsp; -in ~/bin/keys/k1.csr \&amp;lt;br&amp;gt;&amp;amp;nbsp; -CA /etc/ssl/certs/rootCA.pem \&amp;lt;br&amp;gt;&amp;amp;nbsp; -CAkey /etc/ssl/private/rootCA.key \&amp;lt;br&amp;gt;&amp;amp;nbsp; -CAcreateserial \&amp;lt;br&amp;gt;&amp;amp;nbsp; -out ~/bin/keys/k1.crt \&amp;lt;br&amp;gt;&amp;amp;nbsp; -days 3653 \&amp;lt;br&amp;gt;&amp;amp;nbsp; -extfile ~/bin/keys/ssl.cnf \&amp;lt;br&amp;gt;&amp;amp;nbsp; -extensions v3_ca }}&lt;br /&gt;
&lt;br /&gt;
Damit die Zertifkate in unsere regelmäßige Sicherungsspeicherung aufgenommen werden, können wir sie in das Schlüsselverzeichnis &amp;lt;tt&amp;gt;keys&amp;lt;/tt&amp;gt; unter &amp;lt;tt&amp;gt;lawsuit&amp;lt;/tt&amp;gt; kopieren. Dies ist jedoch nicht optional, weil es ein Sicherheitsrisiko eröffnet:&lt;br /&gt;
{{Shell |&amp;amp;gt; sudo chown matthias:users keys/k1.crt&amp;lt;br&amp;gt;&amp;amp;nbsp; chmod 640 ~/bin/keys/k1.*&amp;lt;br&amp;gt;&amp;amp;nbsp; cp ~/bin/keys/k1.* ~/lawsuit/keys/}}&lt;br /&gt;
&lt;br /&gt;
=== Verbindung mit dem Server ===&lt;br /&gt;
Wenn Sie host-Datei &amp;lt;tt&amp;gt;lawsuit-httpd.conf&amp;lt;/tt&amp;gt; automatisch wie oben vorgeschlagen generiert haben, sind die notwendigen Einstellungen schon voreingetragen und müssen nur auskommentiert werden. Ansonsten ergänzen Sie unter /etc/apache2/sites_enabled/&lt;br /&gt;
folgende Zeilen:&lt;br /&gt;
 &amp;lt;VirtualHost *:80&amp;gt;&lt;br /&gt;
    ServerName &amp;lt;b&amp;gt;k1&amp;lt;/b&amp;gt;&lt;br /&gt;
    ServerAlias &amp;lt;b&amp;gt;k1.local&amp;lt;/b&amp;gt;&lt;br /&gt;
 &amp;lt;/VirtualHost&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 &amp;lt;IfModule mod_ssl.c&amp;gt;&lt;br /&gt;
    &amp;lt;VirtualHost *:443&amp;gt;&lt;br /&gt;
        ServerAdmin webmaster@localhost&lt;br /&gt;
        DocumentRoot /home/BENUTZERNAME/lawsuit/&lt;br /&gt;
        ServerName &amp;lt;b&amp;gt;k1&amp;lt;/b&amp;gt;&lt;br /&gt;
        ServerAlias &amp;lt;b&amp;gt;k1.local&amp;lt;/b&amp;gt;&lt;br /&gt;
        ErrorLog /var/log/apache2/error_log&lt;br /&gt;
        SSLEngine on&lt;br /&gt;
        SSLCertificateFile      /home/BENUTZERNAME/bin/keys/&amp;lt;b&amp;gt;k1.crt&amp;lt;/b&amp;gt;&lt;br /&gt;
        SSLCertificateKeyFile   /home/BENUTZERNAME/bin/keys/&amp;lt;b&amp;gt;k1.key&amp;lt;/b&amp;gt;&lt;br /&gt;
        &amp;lt;IfModule mod_headers.c&amp;gt;&lt;br /&gt;
            Header always set Strict-Transport-Security &amp;quot;max-age=15552000; includeSubDomains&amp;quot;&lt;br /&gt;
        &amp;lt;/IfModule&amp;gt;&lt;br /&gt;
        &amp;lt;FilesMatch &amp;quot;\.(cgi|html|shtml|pl|phtml|php)$&amp;quot;&amp;gt;&lt;br /&gt;
            SSLOptions +StdEnvVars&lt;br /&gt;
        &amp;lt;/FilesMatch&amp;gt;&lt;br /&gt;
        &amp;lt;Directory /home/BENUTZERNAME/lawsuit/cgi-bin&amp;gt;&lt;br /&gt;
            SSLOptions +StdEnvVars&lt;br /&gt;
        &amp;lt;/Directory&amp;gt;&lt;br /&gt;
    &amp;lt;/VirtualHost&amp;gt;&lt;br /&gt;
 &amp;lt;/IfModule&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 # configuration&lt;br /&gt;
 SSLProtocol             all -SSLv3 -TLSv1 -TLSv1.1 -TLSv1.2&lt;br /&gt;
 SSLHonorCipherOrder     off&lt;br /&gt;
 SSLSessionTickets       off&lt;br /&gt;
&lt;br /&gt;
Damit diese Einstellungen vom Browser angenommen werden, muss das Zertifkat fort eingetragen werden.&lt;br /&gt;
Gehen Sie dazu unter Firefox in das Menu und wählen die Unterpunkte &amp;gt; Datenschutz &amp;amp; Sicherheit oder rufen Sie den Unterpunkt direkt mit&lt;br /&gt;
 about:preferences#privacy&lt;br /&gt;
auf. Gehen Sie zum Unterpunkt &amp;lt;tt&amp;gt;Sicherheit &amp;gt; Zertifikate&amp;lt;/tt&amp;gt; und klicken Sie ''Zeertifikate anzeigen...'' an. Dort tragen Sie unter dem Reiter ''Server'' das eigene Zertifikate ein, indem Sie das eigene auf der Seite &lt;br /&gt;
 https://k1&lt;br /&gt;
als Ausnahme bestätigen.&lt;br /&gt;
Laden Sie dazu das Zertifikat von der Seite ''https://k1'' herunter und bestätigen Sie mit dem Auswahlästchen, dass es sich um eine dauerhaft zu speichernde Ausnahme handelt. Drücken Sie den Button ''Sicherheitsausnahme bestätigen''.&lt;br /&gt;
[[Datei:Zertifikat_eintragen.png|thumb|600px|left|Importieren des Zertifikate als dauerhafte Sicherheitsausnahme]]&lt;br /&gt;
&amp;lt;br clear=all&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Unter Firefox kann das selbstgezeichnete Zertifikat nun verwendet werden. Bitte beachten Sie, dass für jede Apache-Konfigurrationsdatei ein anderer Port geöffnet werden muss, &amp;quot;443&amp;quot; also nur einmal verwendet werden kann. Sie können alternativ z.B. &amp;quot;4443&amp;quot; verwenden.&lt;br /&gt;
&lt;br /&gt;
Abschließender Test und Neustart:&lt;br /&gt;
{{Shell |&amp;amp;#35; sudo apache2ctl -t&amp;lt;br&amp;gt;&amp;amp;nbsp; sudo systemctl restart apache2}}&lt;br /&gt;
&lt;br /&gt;
=== Registrierung als vertrauenswürdiger Aussteller für den Firefox-Browser ===&lt;br /&gt;
Damit der Firefox-Browser das Zertifikat tatsächlich verwendet und als vertrauenswürdig akzeptiert, muss es im Kleopatra-Schlüsseldienst eingetragen werden, auf den der Browser zugreift. &lt;br /&gt;
{{Shell |&amp;amp;gt; kleopatra}}&lt;br /&gt;
Klicken Sie den Reiter &amp;lt;b&amp;gt;Importieren&amp;lt;/b&amp;gt; an und fügen Sie nacheinander die folgenden Dateien ein:&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;/home/BENUTZERNAME/bin/keys/k1.crt&amp;lt;/tt&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;/etc/ssl/certs/rootCA.pem&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Bitte bestätigen Sie die erbetenen Beglaubigungen mit der Maustaste.&lt;br /&gt;
[[Datei:Kleopatra.png|thumb|600px|left|Importieren der Zertifikate in das Kleopatra-Schlüsselverwaltungsprogramm]]&lt;br /&gt;
&amp;lt;br clear=all&amp;gt;&lt;br /&gt;
Nun wechseln Sie in den Firefox-Browser und geben in die Adresszeile ein&lt;br /&gt;
 about:config&lt;br /&gt;
Dort ändern Sie die Variable&lt;br /&gt;
 security.enterprise_roots.enabled -&amp;gt; true&lt;br /&gt;
von &amp;quot;false&amp;quot; auf &amp;quot;true&amp;quot;. Nun bezieht der Browser auch Ihre eigenen CA-Beglaubigungen des Unternehmens eine seine Bewertungen mit ein und vergibt ein grünes Schlüsselsymbol.&lt;br /&gt;
&lt;br /&gt;
== Problembehebung ==&lt;br /&gt;
Lesen Sie wenn möglich die Fehlermeldungen nach dem Start des Servers. Versuchen Sie Fehler ggf. zu reproduzieren und vergleichen Sie die Einträge in den Log-Dateien. Den Einblick auf die dortigen Meldungen können Sie mit dem folgenden Befehl auf den neuesten Stand reduzieren::&lt;br /&gt;
&lt;br /&gt;
{{Shell | # tail -F /var/log/apache2/*}}&lt;br /&gt;
&lt;br /&gt;
Da die Error-Messages schnell sehr großen Umfang einnehmen, der am Ende sogar den Systemstart blockieren kann, empfiehlt es sich, mit Logrotate den Bestand unter Kontrolle zu halten. Installieren Sie dazu, falls noch nicht vom System geschehen:&lt;br /&gt;
{{Shell | # zypper in logrotate}}&lt;br /&gt;
Sie können die Einstellungen in der Konfigurationsdatei &lt;br /&gt;
 /etc/logrotate.conf&lt;br /&gt;
ändern. Eine typische Konfiguration von &amp;lt;tt&amp;gt;logrotate.conf&amp;lt;/tt&amp;gt; sieht z.B. wie folgt aus:&lt;br /&gt;
{{Shell |&amp;amp;#35; see &amp;quot;man logrotate&amp;quot; for details&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;amp;#35; rotate log files weekly &lt;br /&gt;
&amp;lt;br&amp;gt;weekly &lt;br /&gt;
&amp;lt;br&amp;gt;&amp;amp;#35; keep 4 weeks worth of backlogs &lt;br /&gt;
&amp;lt;br&amp;gt;rotate 4&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;b&amp;gt;&amp;amp;#35; remove rotated logs older than &amp;lt;count&amp;gt; days&lt;br /&gt;
&amp;lt;br&amp;gt;maxage 90 &amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;amp;#35; create new (empty) log files after rotating old ones &lt;br /&gt;
&amp;lt;br&amp;gt;create&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;amp;#35; use date as a suffix of the rotated file&lt;br /&gt;
&amp;lt;br&amp;gt;dateext&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;amp;#35; uncomment this if you want your log files compressed &lt;br /&gt;
&amp;lt;br&amp;gt;compress&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;amp;#35; comment these to switch compression to use gzip or another &lt;br /&gt;
&amp;lt;br&amp;gt;&amp;amp;#35; compression scheme&lt;br /&gt;
&amp;lt;br&amp;gt;compresscmd /usr/bin/xz&lt;br /&gt;
&amp;lt;br&amp;gt;uncompresscmd /usr/bin/xzdec&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;amp;#35; RPM packages drop log rotation information into this directory&lt;br /&gt;
&amp;lt;br&amp;gt;include /etc/logrotate.d&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Sollten Sie einen Fehler gefunden haben, [https://de.opensuse.org/SDB:Fehler_berichten berichten Sie ihn] bitte.&lt;br /&gt;
&lt;br /&gt;
==Weiterführende Informationen==&lt;br /&gt;
=== Verwandte Artikel ===&lt;br /&gt;
*[https://documentation.ubuntu.com/server/how-to/security/firewalls/ Optionen für das Einrichten der Firewall unter Ubuntu]&lt;br /&gt;
* Package documentation and example configuration files in /usr/share/doc/packages/apache2/&lt;br /&gt;
&lt;br /&gt;
===Externe Links===&lt;br /&gt;
* [https://documentation.ubuntu.com/server/how-to/web-services/install-apache2/ Apache Documentation]&lt;br /&gt;
* [http://httpd.apache.org/ The Apache Project]&lt;br /&gt;
* [http://www.apache.org/ Apache Software Foundation]&lt;br /&gt;
&lt;br /&gt;
{{DEFAULTSORT:{{PAGENAME}}}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Linuxinstallation]]&lt;/div&gt;</summary>
		<author><name>87.123.95.19</name></author>	</entry>

	<entry>
		<id>http://wiki.iustus.eu/wiki/index.php?title=Aufsetzen_des_Apache-Servers_-_ubuntu&amp;diff=7142</id>
		<title>Aufsetzen des Apache-Servers - ubuntu</title>
		<link rel="alternate" type="text/html" href="http://wiki.iustus.eu/wiki/index.php?title=Aufsetzen_des_Apache-Servers_-_ubuntu&amp;diff=7142"/>
				<updated>2026-01-02T16:43:17Z</updated>
		
		<summary type="html">&lt;p&gt;87.123.95.19: /* Einstellungen für Lawsuit */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Ubuntu|&lt;br /&gt;
*[https://ubuntu.com/tutorials/install-ubuntu-desktop-1604#1-overview 16.04.]&lt;br /&gt;
|&lt;br /&gt;
*[https://ubuntu.com/tutorials/install-and-configure-apache#2-installing-apache Apache Installation]&lt;br /&gt;
|&lt;br /&gt;
*[https://wiki.ubuntuusers.de/Apache_2.4/]&lt;br /&gt;
*[https://wiki.ubuntuusers.de/Apache/Module/ Apache Module]&lt;br /&gt;
*[https://wiki.ubuntuusers.de/Apache/Virtual_Hosts/ Virtual Hosts]&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Einführung ==&lt;br /&gt;
&lt;br /&gt;
Diese Dokument gibt eine rasche Einführung, wie ein Apache-Server auf dem lokalen Rechner aufgesetzt werden kann, der die Lawsuit-Programmteile bereitstellt.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
{{Warnung| Die Kurzanleitung geht nicht vertieft auf mögliche Experten-Einstellungen des Servers ein. Insbesondere bleiben hier Sicherheitseinstellungen unberücksichtigt, die für den Betrieb als öffentlich zugänglicher Netzserver unumgänglich wären. Die nachfolgenden Schritte sind für Anwender gedacht, die Lawsuit intern auf dem Kanzleirechner hinter einer Firewall betreiben möchten.}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== Allgemeine Rechner-Konfiguration ==&lt;br /&gt;
&lt;br /&gt;
Die Software benötigt eine funktionierende Netzwerkumgebung. Diese wird jedoch bereits standardmäßig von Ubuntu eingereichtet. Achten Sie aber insbesondere bei der Nutzung von [https://de.wikipedia.org/wiki/Dynamic_Host_Configuration_Protocol DHCP] darauf, dass [[Mehrplatzsysteme - ubuntu|weitere Rechner]] der Kanzlei vom Networkmanager tatsächlich im selben Nummernraum wie dieser PC eingetragen wurden, auf dem Apache nun installiert werden soll. Ansonsten können diese Rechner später nicht auf die Kanzleisoftware zugreifen.&lt;br /&gt;
&lt;br /&gt;
Als Zweites sollte der PC auf dem aktuellen Softwarestand sein. &lt;br /&gt;
{{Shell|&amp;gt; sudo apt update}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Installation der Apache-Pakete ===&lt;br /&gt;
&lt;br /&gt;
Der Apache-Server und das optionale Perl-Modul können mit ''apt'' installiert werden. Öffnen Sie dazu ein Terminal-Fenster und wechseln Sie wie folgt in den Superuser-Modus:&lt;br /&gt;
{{Shell|&amp;gt; sudo apt install apache2}}&lt;br /&gt;
Geben Sie das Passwort ein.&lt;br /&gt;
Prüfen Sie die korrekte Funktionsweise des Apache-Servers, indem Sie in die Browser-Adresszeile die folgende Adresse eingeben:&lt;br /&gt;
 http://localhost/&lt;br /&gt;
Es sollte folgende Ausgabe zu sehen sein:&lt;br /&gt;
[[Datei:Apache_works.png|thumb|600px|left|Apache-Server Startausgabe]]&lt;br /&gt;
&amp;lt;br clear=all&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Start des Servers ===&lt;br /&gt;
Mit folgenden zwei Befehlen wird der Apache-Server gestartet und auf Dauer im System aktiviert.&lt;br /&gt;
{{Shell|# systemctl start apache2&amp;lt;br&amp;gt;&amp;amp;nbsp; systemctl enable apache2}}&lt;br /&gt;
&lt;br /&gt;
=== Einrichtung und Anpassung der Firewall ===&lt;br /&gt;
&lt;br /&gt;
Normalerweise sollte die die Firewall ''ufd'' (Uncomplicated Firewall) vorinstalliert sein. Für unsere Zwecke zielführender ist ''firewalld''. Dies wird mit&lt;br /&gt;
{{Shell|&amp;gt; sudo apt install firewalld}}&lt;br /&gt;
installiert. Danach muss, um Systemkonflikte zu vermeiden ''ufd'' deaktiviert werden. Dies erfolgt per&lt;br /&gt;
{{Shell|&amp;gt; sudo ufw disable}}&lt;br /&gt;
Starten Sie nun ''firewalld'' mit&lt;br /&gt;
{{Shell|&amp;gt; sudo systemctl enable --now firewalld}}&lt;br /&gt;
&lt;br /&gt;
Die Firewall ist so voreingestellt, dass sie über Port 80 auf den Rechner eingehende Daten grundsätzlich sperrt. Folglich müssen die Firewall-Einstellungen so angepasst werden, dass aus dem Lokalen Netzwerk über Port 80 eingehender Datenstrom akzeptiert wird.&lt;br /&gt;
Die folgenden Schritte müssen dazu weiterhin als Root ausgeführt werden. &lt;br /&gt;
&lt;br /&gt;
{{Shell|&amp;gt; sudo firewall-cmd --zone internal --permanent --add-interface&amp;amp;#61;eth0&amp;lt;br&amp;gt;&amp;amp;nbsp; sudo firewall-cmd --zone internal --permanent --add-service&amp;amp;#61;nfs&amp;lt;br&amp;gt;&amp;amp;nbsp; sudo firewall-cmd --zone internal --permanent --add-service&amp;amp;#61;http&amp;lt;br&amp;gt;&amp;amp;nbsp; sudo firewall-cmd --zone internal --permanent --add-service&amp;amp;#61;https&amp;lt;br&amp;gt;&amp;amp;nbsp; sudo firewall-cmd --reload}}&lt;br /&gt;
&lt;br /&gt;
Weitere verfügbare Dienste lassen sich mit folgendem Befehl anzeigen&lt;br /&gt;
{{Shell|&amp;gt; sudo firewall-cmd --get-service}}&lt;br /&gt;
und ggf. nach obigem Muster ergänzen&lt;br /&gt;
&lt;br /&gt;
=== Aktivierung des Servers ===&lt;br /&gt;
Starten Sie den Server und aktivieren Sie ihn in einem Bootverzeichnis, damit er mit dem Rechner hochgefahren wird (s.o. ohne Yast):&lt;br /&gt;
{{Shell|# systemctl start apache2.service&amp;lt;br&amp;gt;&amp;amp;nbsp; systemctl enable apache2}}&lt;br /&gt;
&lt;br /&gt;
=== Hinzufügen von Apache-Modulen===&lt;br /&gt;
Um benötigte Apache-Module zu laden, können wir die Konfigurationsvariable ''APACHE_MODULES'' in &amp;lt;tt&amp;gt;/etc/sysconfig/apache2&amp;lt;/tt&amp;gt; editieren. Schneller geht es jedoch mit den nachfolgenden Befehlen.&lt;br /&gt;
Einige Programme müssen zunächst nachgeladen werden:&lt;br /&gt;
{{Shell|&amp;gt; sudo apt install libapache2-mod-perl2 libapache2-mod-dnssd libapache2-mod-python}}&lt;br /&gt;
Nach der Änderung muss der Server neu gestartet werden. Auch für die folgenden Befehle sind wieder die Rechte eines Superusers vonnöten.&lt;br /&gt;
{{Shell|&amp;gt; sudo a2enmod perl ssl dnssd rewrite actions python&amp;lt;br&amp;gt;&amp;amp;nbsp; sudo systemctl restart apache2}}&lt;br /&gt;
&lt;br /&gt;
== Virtual Hosts ==&lt;br /&gt;
===Allgemeines===&lt;br /&gt;
Das Verzeichnis für alle Virtual Host unter Ubuntu ist &amp;lt;tt&amp;gt;/etc/apache2/sites-available/&amp;lt;/tt&amp;gt;. Nur Dateien mit dem Suffix &amp;quot;.conf&amp;quot; werden automatisch in die Apachekonfiguration einbezogen. Damit sie von Apache verwendet werden, müssen sie zudem vom Verzeichnis &amp;lt;tt&amp;gt;/etc/apache2/sites-enabled/&amp;lt;/tt&amp;gt; verlinkt sein. &lt;br /&gt;
&lt;br /&gt;
{{Intro|Wenn Sie neben Lawsuit einen weiteren eigenen Virtual Host hinzufügen möchten, ersetzen Sie in den folgenden Zeilen bitte ''Domainname'' durch ihren Verzeichnisnamen oder Ihre IP-Adresse.}}&lt;br /&gt;
&lt;br /&gt;
* Es gibt mehrere Varianten für die Struktur, mit welcher der eigenen Server auf dem Rechner aufgesetzt werden kann. Folgende Optionen bieten sich an: &lt;br /&gt;
:* [https://httpd.apache.org/docs/2.4/de/vhosts/name-based.html namensbasiert]&lt;br /&gt;
:* [https://httpd.apache.org/docs/2.4/de/vhosts/ip-based.html IP-basiert]&lt;br /&gt;
:* portbasiert&lt;br /&gt;
&lt;br /&gt;
* Sei können für Ihre Verzeichnisse die Vorlage '''vhost.template''' kopieren und als Ihre '''{DOMAINNAME}.conf''' speichern. Hier hinein tragen Sie anschließend die Unterverzeichnisse für Ihren Virtual Host ein.&lt;br /&gt;
&lt;br /&gt;
===Einstellungen für ''Lawsuit''===&lt;br /&gt;
Deaktivieren Sie zunächst die von Ubuntu bereitgestellte Vorlage&lt;br /&gt;
{{Shell|&amp;gt; sudo a2dissite 000-default.conf}}&lt;br /&gt;
Für ''Lawsuit'' wird die stattdessen benötigte Konfigurationsdatei im Unterverzeichnis &amp;lt;tt&amp;gt;lawsuit/settings&amp;lt;/tt&amp;gt; bereits fertig zur Verfügung gestellt. Sie müssen lediglich in der genannten Datei den Platzhalter durch den eigenen Nutzernamen ersetzen und die fertige Datei in das Vhosts-Verzeichnis verlinken. Wechseln Sie in das Unterverzeichnis &amp;lt;tt&amp;gt;lawsuit/settings&amp;lt;/tt&amp;gt;. Wenn Sie ''Lawsuit'' in Ihrem Nutzerhauptverzeichnis installiert haben, gelangen Sie mit diesem Befehl dorthin:&lt;br /&gt;
{{Shell | &amp;gt; cd ~/lawsuit/settings}}&lt;br /&gt;
Erstellen Sie dort eine Konfigurationsdatei aus der Vorlage &amp;lt;tt&amp;gt;lawsuit-httpd.template&amp;lt;/tt&amp;gt; und ersetzen Sie den darin enthaltenen Platzhalter ''meinpfad'' dabei durch Ihren Pfad zum aktuellen Verzeichnis. Dies erfolgt automatisiert durch diese Befehle:&lt;br /&gt;
{{Shell | &amp;gt; pfad&amp;amp;#61;&amp;amp;#96;pwd &amp;amp;#124; sed &amp;amp;apos;s/\/lawsuit.*//&amp;amp;apos;  &amp;amp;#124; sed &amp;amp;apos;s/\//\\\\\//g&amp;amp;apos;&amp;amp;#96;&amp;lt;br&amp;gt; &amp;gt; sed &amp;amp;quot;s/meinpfad/$pfad/g&amp;amp;quot; lawsuit-httpd.template &amp;gt; lawsuit-httpd.conf}}&lt;br /&gt;
Falls Ihr Pfad zum Ordner &amp;lt;tt&amp;gt;Documents&amp;lt;/tt&amp;gt; nicht mit dem soeben ermittelten Pfad für &amp;lt;tt&amp;gt;lawsuit&amp;lt;/tt&amp;gt; identisch ist, passen Sie diese Einstellungen für das Verzeichnis &amp;lt;tt&amp;gt;Documents&amp;lt;/tt&amp;gt; bitte in der &amp;lt;tt&amp;gt;lawsuit-httpd.conf&amp;lt;/tt&amp;gt; mit einem Editor wie '''kate''' von Hand an.&lt;br /&gt;
&lt;br /&gt;
Abschließend kopieren Sie die erstellte Konfigurationsdatei als ''Superuser'' in das Verzeichnis der Virtual Hosts von Apache&lt;br /&gt;
&lt;br /&gt;
{{Shell | &amp;gt; sudo cp lawsuit-httpd.conf /etc/apache2/sites-availabel/}}&lt;br /&gt;
&lt;br /&gt;
und aktivieren sie durch Verlinkung auf &amp;lt;tt&amp;gt;/etc/apache2/sites-enabled&amp;lt;/tt&amp;gt;:&lt;br /&gt;
{{Shell | &amp;gt; sudo a2ensite lawsuit-httpd.conf}}&lt;br /&gt;
&lt;br /&gt;
Abschließend muss Apache mit der neuen Konfiguration geladen werden:&lt;br /&gt;
{{Shell | &amp;gt; sudo systemctl reload apache2}}&lt;br /&gt;
&lt;br /&gt;
* Neustart von Apache&lt;br /&gt;
{{Shell | &amp;gt; sudo service apache2 restart}}&lt;br /&gt;
&lt;br /&gt;
=== Anpassen der Konfiguration ===&lt;br /&gt;
Um Ergänzungen oder Änderungen einheitlich für alle Virtual Hosts vorzunehmen, editieren Sie die Datei &amp;lt;tt&amp;gt;/etc/apache2/apache2.conf&amp;lt;/tt&amp;gt;. Zum Verständnis der Hierarchie und des Layouts um Dateien finden sich dort ausführliche die Kommentierungen. Die ursprüngliche, einfache Konfigurationsdatei mit nur 40K findet sich notfalls unter &amp;lt;tt&amp;gt;etc/apache2/sites-enabled/000-default.conf&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Optional: Ein Zertifikat für localhost erstellen ==&lt;br /&gt;
Bei Mehrplatzsystemen funktionieren die Javascript-Voreintragungen bei Nutzung einer sicheren HTTPS-Verbindung nur, wenn ein eigenes Zertifikat erstellt wird, dessen Aussteller zudem noch aus vertrauenswürdig eingestuft werden muss.OpenSSL bringt umfassende Werkzeuge mit, um eine eigene, kleine Certificate Authority (CA) betreiben zu können. &lt;br /&gt;
=== Vergabe einer Domain für den Rechner mit den Lawsuit-Daten ===&lt;br /&gt;
Unter &amp;lt;i&amp;gt;yast2 &amp;gt; Netzwerkdienste &amp;gt; Rechnernamen&amp;lt;/i&amp;gt; fügen Sie unter der Zeile &amp;quot;localhost&amp;quot; eine Zeile mit folgenden Daten ein:&lt;br /&gt;
 IP-Adresse: &amp;lt;b&amp;gt;192.168.2.10&amp;lt;/b&amp;gt;&lt;br /&gt;
 Hostnamen:  &amp;lt;b&amp;gt;k1.local&amp;lt;/b&amp;gt;&lt;br /&gt;
 Aliasnamen: &amp;lt;b&amp;gt;k1&amp;lt;/b&amp;gt;&lt;br /&gt;
[[Datei:Hostkonfiguration.png|thumb|600px|left|Eigenen Rechnernamen vergeben]]&lt;br /&gt;
&amp;lt;br clear=all&amp;gt;&lt;br /&gt;
Sie können statt &amp;quot;k1&amp;quot; eine beliebe andere Bezeichnung für den Hauptrechner wählen, müssen dann aber Ihre Domain in den folgenden Einstellungen beibehalten.&lt;br /&gt;
&lt;br /&gt;
=== Certificate Authority (CA) erstellen ===&lt;br /&gt;
Zu Beginn wird die Certificate Authority generiert. Zunächst wird ein geheimer Private Key erzeugt:&lt;br /&gt;
{{Shell |&amp;amp;gt; sudo openssl genrsa -aes256 -out /etc/ssl/private/rootCA.key 4096}}&lt;br /&gt;
Der Key trägt den Namen “rootCA.pem” und hat eine Länge von 4096 Bit. Die Option “-aes256” führt dazu, dass der Key mit einem Passwort geschützt wird. Die Key-Datei der CA muss tatsächlich besonders gut geschützt werden. Ein Angreifer, der den Key in die Hände bekommt, kann beliebig gefälschte Zertifikate im Namen der Kanzlei ausstellen, denen die Clients trauen. Die Verschlüsselung dieses Keys mit einem Passwort gibt zusätzlichen Schutz. Das gewünschte Passwort wird bei der Generierung abgefragt.&lt;br /&gt;
Einen geheimen Key für die CA gibt es damit also schon - es fehlt noch das Root-Zertifikat, das von den Clients später importiert werden muss, damit die von der CA ausgestellten Zertifikate im Browser als gültig erkannt werden. Das Root-Zertifikat “ca-root.pem” wird mit folgendem Befehl erzeugt: &lt;br /&gt;
{{Shell |&amp;amp;gt; sudo openssl req -x509 -new -nodes -key /etc/ssl/private/rootCA.key -sha512 -days 5483 -out /etc/ssl/certs/rootCA.pem}}&lt;br /&gt;
In diesem Fall wird die CA 5483 Tage, also mit Schalttagen 15 Jahre lang gültig bleiben. Während der Generierung werden das Passwort für die CA und einige Attribute abgefragt (hier ein Beispiel):&lt;br /&gt;
 Country Name (2 letter code) [AU]:&amp;lt;b&amp;gt;DE&amp;lt;/b&amp;gt;&lt;br /&gt;
 State or Province Name (full name) [Some-State]:&amp;lt;b&amp;gt;Nordrhein-Westfalen&amp;lt;/b&amp;gt;&lt;br /&gt;
 Locality Name (eg, city) []:&amp;lt;b&amp;gt;Muenster&amp;lt;/b&amp;gt;&lt;br /&gt;
 Organization Name (eg, company) [Internet Widgits Pty Ltd]:&amp;lt;b&amp;gt;Kanzlei Hermanns&amp;lt;/b&amp;gt;&lt;br /&gt;
 Organizational Unit Name (eg, section) []:&amp;lt;b&amp;gt;Rechtsanwalt&amp;lt;/b&amp;gt;&lt;br /&gt;
 Common Name (e.g. server FQDN or YOUR name) []:&amp;lt;b&amp;gt;RA Matthias Hermanns&amp;lt;/b&amp;gt;&lt;br /&gt;
 Email Address []:&amp;lt;b&amp;gt;hermanns@iustus.eu&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Erzeugen des Schlüssels===&lt;br /&gt;
Mit diesen Daten wird auch eine Konfiguratunsdatei mit Namen &amp;lt;tt&amp;gt;ssl.cnf&amp;lt;/tt&amp;gt; befüllt, die die Schlüsselausgabe später vereinfacht.&lt;br /&gt;
Zur besseren Übersichtlichkeit sollte ein mächtiges Textverarbeitungsprogramm wie ''kate'' verwendet werden.&lt;br /&gt;
{{Shell |&amp;amp;gt;sudo apt install kate}}&lt;br /&gt;
Erzeugen Sie dann Unterverzeichnisse und legen eine Konfigurationsdatei an:&lt;br /&gt;
{{Shell |&amp;amp;gt; cd ~/bin&amp;lt;br&amp;gt;&amp;amp;nbsp; mkdir keys&amp;lt;br&amp;gt;&amp;amp;nbsp; cd keys&amp;lt;br&amp;gt;&amp;amp;nbsp; kate ssl.cnf}}&lt;br /&gt;
Die Datei kann beispielsweise den folgenden Inhalt haben&lt;br /&gt;
 [req]&lt;br /&gt;
 # Standard-Verschlüsselung&lt;br /&gt;
 default_bits = 4096&lt;br /&gt;
 # verhindere prompt für die Zertifikat-Erstellung&lt;br /&gt;
 # (Daten kommen aus dieser Datei)&lt;br /&gt;
 prompt = no&lt;br /&gt;
 # Verschlüsselungsmethode&lt;br /&gt;
 default_md = sha512&lt;br /&gt;
 # Kryptographie abschalten&lt;br /&gt;
 encrypt_key = no&lt;br /&gt;
 # Sektion für Zertifizierer-Informationen:&lt;br /&gt;
 distinguished_name = dn&lt;br /&gt;
 &lt;br /&gt;
 # Zertifizierer-Informationen:&lt;br /&gt;
 [dn]&lt;br /&gt;
 # Länder-Code&lt;br /&gt;
 C=DE&lt;br /&gt;
 # Bundesland&lt;br /&gt;
 ST=Nordrhein-Westfalen&lt;br /&gt;
 # Stadt&lt;br /&gt;
 L=Muenster&lt;br /&gt;
 # Bezeichnung/Firmen-Name/Dein Name:&lt;br /&gt;
 O=Kanzlei Hermanns&lt;br /&gt;
 # Aussteller Name&lt;br /&gt;
 OU=RA Matthias Hermanns&lt;br /&gt;
 # E-Mail-Adresse&lt;br /&gt;
 emailAddress=hermanns@iustus.eu&lt;br /&gt;
 # Primärer Servername&lt;br /&gt;
 CN = &amp;lt;b&amp;gt;k1&amp;lt;/b&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 [v3_ca]&lt;br /&gt;
 keyUsage = digitalSignature, keyEncipherment&lt;br /&gt;
 extendedKeyUsage = serverAuth&lt;br /&gt;
 subjectAltName = IP:&amp;lt;b&amp;gt;192.168.2.10&amp;lt;/b&amp;gt;, DNS:&amp;lt;b&amp;gt;k1&amp;lt;/b&amp;gt;, DNS:&amp;lt;b&amp;gt;k1.local&amp;lt;/b&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 [ req_ext ]&lt;br /&gt;
 subjectAltName = @alt_names&lt;br /&gt;
 &lt;br /&gt;
 [alt_names]&lt;br /&gt;
 # Primärer Server-Name&lt;br /&gt;
 DNS.1 = &amp;lt;b&amp;gt;k1&amp;lt;/b&amp;gt;&lt;br /&gt;
 # Sekunärer Server-Name&lt;br /&gt;
 DNS.2 = &amp;lt;b&amp;gt;k1.local&amp;lt;/b&amp;gt;&lt;br /&gt;
 # Wildcard Subdomains&lt;br /&gt;
 DNS.3 = *.&amp;lt;b&amp;gt;k1.local&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Speichern Sie die so erstellte Datei &amp;lt;tt&amp;gt;ssl.cnf&amp;lt;/tt&amp;gt; im &amp;lt;tt&amp;gt;bin&amp;lt;/tt&amp;gt;-Verzeichnis ab. Mit folgendem Befehl erzeugen Sie nun als zertifizierter Aussteller die eigentlichen Schlüssel für die SSL-Verbindung.&lt;br /&gt;
Zunächst wird der RSA-Key mit 3072 Bit erzeugt (Asymmetrischer Schlüssel von Rivest, Shamir und Adleman, der einen privaten und einen öffentlichen Teil hat):&lt;br /&gt;
{{Shell |&amp;amp;gt; openssl genrsa -out k1.key 3072}}&lt;br /&gt;
Nun folgt die Certificate Signing Request (CSR; deutsch Zertifikatsignierungsanforderung), ein digitaler Antrag, um mittels der soeben erzeugten digitalen Signatur und der zusätzlichen Identitätsangaben zum Antragstellers aus der &amp;lt;tt&amp;gt;ssl.cnf&amp;lt;/tt&amp;gt; ein persönliches digitales Identitäts-Zertifikat (auch Public-Key-Zertifikat genannt) zu erstellen:&lt;br /&gt;
{{Shell |&amp;amp;gt; openssl req -new -keyout ~/bin/keys/k1.key -out ~/bin/keys/k1.csr -config ~/bin/keys/ssl.cnf}}&lt;br /&gt;
Mithilfe des Wurzelzertifikats vom verifizierten Aussteller (uns selbst) wird nun der eigentliche Schlüssel erstellt, damit eine Rückverfolgung zum Wurzelzertifikat möglich ist. &lt;br /&gt;
{{Shell |&amp;amp;gt; sudo openssl x509 -req \&amp;lt;br&amp;gt;&amp;amp;nbsp; -in ~/bin/keys/k1.csr \&amp;lt;br&amp;gt;&amp;amp;nbsp; -CA /etc/ssl/certs/rootCA.pem \&amp;lt;br&amp;gt;&amp;amp;nbsp; -CAkey /etc/ssl/private/rootCA.key \&amp;lt;br&amp;gt;&amp;amp;nbsp; -CAcreateserial \&amp;lt;br&amp;gt;&amp;amp;nbsp; -out ~/bin/keys/k1.crt \&amp;lt;br&amp;gt;&amp;amp;nbsp; -days 3653 \&amp;lt;br&amp;gt;&amp;amp;nbsp; -extfile ~/bin/keys/ssl.cnf \&amp;lt;br&amp;gt;&amp;amp;nbsp; -extensions v3_ca }}&lt;br /&gt;
&lt;br /&gt;
Damit die Zertifkate in unsere regelmäßige Sicherungsspeicherung aufgenommen werden, können wir sie in das Schlüsselverzeichnis &amp;lt;tt&amp;gt;keys&amp;lt;/tt&amp;gt; unter &amp;lt;tt&amp;gt;lawsuit&amp;lt;/tt&amp;gt; kopieren. Dies ist jedoch nicht optional, weil es ein Sicherheitsrisiko eröffnet:&lt;br /&gt;
{{Shell |&amp;amp;gt; sudo chown matthias:users keys/k1.crt&amp;lt;br&amp;gt;&amp;amp;nbsp; chmod 640 ~/bin/keys/k1.*&amp;lt;br&amp;gt;&amp;amp;nbsp; cp ~/bin/keys/k1.* ~/lawsuit/keys/}}&lt;br /&gt;
&lt;br /&gt;
=== Verbindung mit dem Server ===&lt;br /&gt;
Wenn Sie host-Datei &amp;lt;tt&amp;gt;lawsuit-httpd.conf&amp;lt;/tt&amp;gt; automatisch wie oben vorgeschlagen generiert haben, sind die notwendigen Einstellungen schon voreingetragen und müssen nur auskommentiert werden. Ansonsten ergänzen Sie unter /etc/apache2/sites_enabled/&lt;br /&gt;
folgende Zeilen:&lt;br /&gt;
 &amp;lt;VirtualHost *:80&amp;gt;&lt;br /&gt;
    ServerName &amp;lt;b&amp;gt;k1&amp;lt;/b&amp;gt;&lt;br /&gt;
    ServerAlias &amp;lt;b&amp;gt;k1.local&amp;lt;/b&amp;gt;&lt;br /&gt;
 &amp;lt;/VirtualHost&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 &amp;lt;IfModule mod_ssl.c&amp;gt;&lt;br /&gt;
    &amp;lt;VirtualHost *:443&amp;gt;&lt;br /&gt;
        ServerAdmin webmaster@localhost&lt;br /&gt;
        DocumentRoot /home/BENUTZERNAME/lawsuit/&lt;br /&gt;
        ServerName &amp;lt;b&amp;gt;k1&amp;lt;/b&amp;gt;&lt;br /&gt;
        ServerAlias &amp;lt;b&amp;gt;k1.local&amp;lt;/b&amp;gt;&lt;br /&gt;
        ErrorLog /var/log/apache2/error_log&lt;br /&gt;
        SSLEngine on&lt;br /&gt;
        SSLCertificateFile      /home/BENUTZERNAME/bin/keys/&amp;lt;b&amp;gt;k1.crt&amp;lt;/b&amp;gt;&lt;br /&gt;
        SSLCertificateKeyFile   /home/BENUTZERNAME/bin/keys/&amp;lt;b&amp;gt;k1.key&amp;lt;/b&amp;gt;&lt;br /&gt;
        &amp;lt;IfModule mod_headers.c&amp;gt;&lt;br /&gt;
            Header always set Strict-Transport-Security &amp;quot;max-age=15552000; includeSubDomains&amp;quot;&lt;br /&gt;
        &amp;lt;/IfModule&amp;gt;&lt;br /&gt;
        &amp;lt;FilesMatch &amp;quot;\.(cgi|html|shtml|pl|phtml|php)$&amp;quot;&amp;gt;&lt;br /&gt;
            SSLOptions +StdEnvVars&lt;br /&gt;
        &amp;lt;/FilesMatch&amp;gt;&lt;br /&gt;
        &amp;lt;Directory /home/BENUTZERNAME/lawsuit/cgi-bin&amp;gt;&lt;br /&gt;
            SSLOptions +StdEnvVars&lt;br /&gt;
        &amp;lt;/Directory&amp;gt;&lt;br /&gt;
    &amp;lt;/VirtualHost&amp;gt;&lt;br /&gt;
 &amp;lt;/IfModule&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 # configuration&lt;br /&gt;
 SSLProtocol             all -SSLv3 -TLSv1 -TLSv1.1 -TLSv1.2&lt;br /&gt;
 SSLHonorCipherOrder     off&lt;br /&gt;
 SSLSessionTickets       off&lt;br /&gt;
&lt;br /&gt;
Damit diese Einstellungen vom Browser angenommen werden, muss das Zertifkat fort eingetragen werden.&lt;br /&gt;
Gehen Sie dazu unter Firefox in das Menu und wählen die Unterpunkte &amp;gt; Datenschutz &amp;amp; Sicherheit oder rufen Sie den Unterpunkt direkt mit&lt;br /&gt;
 about:preferences#privacy&lt;br /&gt;
auf. Gehen Sie zum Unterpunkt &amp;lt;tt&amp;gt;Sicherheit &amp;gt; Zertifikate&amp;lt;/tt&amp;gt; und klicken Sie ''Zeertifikate anzeigen...'' an. Dort tragen Sie unter dem Reiter ''Server'' das eigene Zertifikate ein, indem Sie das eigene auf der Seite &lt;br /&gt;
 https://k1&lt;br /&gt;
als Ausnahme bestätigen.&lt;br /&gt;
Laden Sie dazu das Zertifikat von der Seite ''https://k1'' herunter und bestätigen Sie mit dem Auswahlästchen, dass es sich um eine dauerhaft zu speichernde Ausnahme handelt. Drücken Sie den Button ''Sicherheitsausnahme bestätigen''.&lt;br /&gt;
[[Datei:Zertifikat_eintragen.png|thumb|600px|left|Importieren des Zertifikate als dauerhafte Sicherheitsausnahme]]&lt;br /&gt;
&amp;lt;br clear=all&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Unter Firefox kann das selbstgezeichnete Zertifikat nun verwendet werden. Bitte beachten Sie, dass für jede Apache-Konfigurrationsdatei ein anderer Port geöffnet werden muss, &amp;quot;443&amp;quot; also nur einmal verwendet werden kann. Sie können alternativ z.B. &amp;quot;4443&amp;quot; verwenden.&lt;br /&gt;
&lt;br /&gt;
Abschließender Test und Neustart:&lt;br /&gt;
{{Shell |&amp;amp;#35; sudo apache2ctl -t&amp;lt;br&amp;gt;&amp;amp;nbsp; sudo systemctl restart apache2}}&lt;br /&gt;
&lt;br /&gt;
=== Registrierung als vertrauenswürdiger Aussteller für den Firefox-Browser ===&lt;br /&gt;
Damit der Firefox-Browser das Zertifikat tatsächlich verwendet und als vertrauenswürdig akzeptiert, muss es im Kleopatra-Schlüsseldienst eingetragen werden, auf den der Browser zugreift. &lt;br /&gt;
{{Shell |&amp;amp;gt; kleopatra}}&lt;br /&gt;
Klicken Sie den Reiter &amp;lt;b&amp;gt;Importieren&amp;lt;/b&amp;gt; an und fügen Sie nacheinander die folgenden Dateien ein:&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;/home/BENUTZERNAME/bin/keys/k1.crt&amp;lt;/tt&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;/etc/ssl/certs/rootCA.pem&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Bitte bestätigen Sie die erbetenen Beglaubigungen mit der Maustaste.&lt;br /&gt;
[[Datei:Kleopatra.png|thumb|600px|left|Importieren der Zertifikate in das Kleopatra-Schlüsselverwaltungsprogramm]]&lt;br /&gt;
&amp;lt;br clear=all&amp;gt;&lt;br /&gt;
Nun wechseln Sie in den Firefox-Browser und geben in die Adresszeile ein&lt;br /&gt;
 about:config&lt;br /&gt;
Dort ändern Sie die Variable&lt;br /&gt;
 security.enterprise_roots.enabled -&amp;gt; true&lt;br /&gt;
von &amp;quot;false&amp;quot; auf &amp;quot;true&amp;quot;. Nun bezieht der Browser auch Ihre eigenen CA-Beglaubigungen des Unternehmens eine seine Bewertungen mit ein und vergibt ein grünes Schlüsselsymbol.&lt;br /&gt;
&lt;br /&gt;
== Problembehebung ==&lt;br /&gt;
Lesen Sie wenn möglich die Fehlermeldungen nach dem Start des Servers. Versuchen Sie Fehler ggf. zu reproduzieren und vergleichen Sie die Einträge in den Log-Dateien. Den Einblick auf die dortigen Meldungen können Sie mit dem folgenden Befehl auf den neuesten Stand reduzieren::&lt;br /&gt;
&lt;br /&gt;
{{Shell | # tail -F /var/log/apache2/*}}&lt;br /&gt;
&lt;br /&gt;
Da die Error-Messages schnell sehr großen Umfang einnehmen, der am Ende sogar den Systemstart blockieren kann, empfiehlt es sich, mit Logrotate den Bestand unter Kontrolle zu halten. Installieren Sie dazu, falls noch nicht vom System geschehen:&lt;br /&gt;
{{Shell | # zypper in logrotate}}&lt;br /&gt;
Sie können die Einstellungen in der Konfigurationsdatei &lt;br /&gt;
 /etc/logrotate.conf&lt;br /&gt;
ändern. Eine typische Konfiguration von &amp;lt;tt&amp;gt;logrotate.conf&amp;lt;/tt&amp;gt; sieht z.B. wie folgt aus:&lt;br /&gt;
{{Shell |&amp;amp;#35; see &amp;quot;man logrotate&amp;quot; for details&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;amp;#35; rotate log files weekly &lt;br /&gt;
&amp;lt;br&amp;gt;weekly &lt;br /&gt;
&amp;lt;br&amp;gt;&amp;amp;#35; keep 4 weeks worth of backlogs &lt;br /&gt;
&amp;lt;br&amp;gt;rotate 4&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;b&amp;gt;&amp;amp;#35; remove rotated logs older than &amp;lt;count&amp;gt; days&lt;br /&gt;
&amp;lt;br&amp;gt;maxage 90 &amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;amp;#35; create new (empty) log files after rotating old ones &lt;br /&gt;
&amp;lt;br&amp;gt;create&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;amp;#35; use date as a suffix of the rotated file&lt;br /&gt;
&amp;lt;br&amp;gt;dateext&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;amp;#35; uncomment this if you want your log files compressed &lt;br /&gt;
&amp;lt;br&amp;gt;compress&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;amp;#35; comment these to switch compression to use gzip or another &lt;br /&gt;
&amp;lt;br&amp;gt;&amp;amp;#35; compression scheme&lt;br /&gt;
&amp;lt;br&amp;gt;compresscmd /usr/bin/xz&lt;br /&gt;
&amp;lt;br&amp;gt;uncompresscmd /usr/bin/xzdec&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;amp;#35; RPM packages drop log rotation information into this directory&lt;br /&gt;
&amp;lt;br&amp;gt;include /etc/logrotate.d&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Sollten Sie einen Fehler gefunden haben, [https://de.opensuse.org/SDB:Fehler_berichten berichten Sie ihn] bitte.&lt;br /&gt;
&lt;br /&gt;
==Weiterführende Informationen==&lt;br /&gt;
=== Verwandte Artikel ===&lt;br /&gt;
*[https://documentation.ubuntu.com/server/how-to/security/firewalls/ Optionen für das Einrichten der Firewall unter Ubuntu]&lt;br /&gt;
* Package documentation and example configuration files in /usr/share/doc/packages/apache2/&lt;br /&gt;
&lt;br /&gt;
===Externe Links===&lt;br /&gt;
* [https://documentation.ubuntu.com/server/how-to/web-services/install-apache2/ Apache Documentation]&lt;br /&gt;
* [http://httpd.apache.org/ The Apache Project]&lt;br /&gt;
* [http://www.apache.org/ Apache Software Foundation]&lt;br /&gt;
&lt;br /&gt;
{{DEFAULTSORT:{{PAGENAME}}}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Linuxinstallation]]&lt;/div&gt;</summary>
		<author><name>87.123.95.19</name></author>	</entry>

	<entry>
		<id>http://wiki.iustus.eu/wiki/index.php?title=Aufsetzen_des_Apache-Servers_-_ubuntu&amp;diff=7141</id>
		<title>Aufsetzen des Apache-Servers - ubuntu</title>
		<link rel="alternate" type="text/html" href="http://wiki.iustus.eu/wiki/index.php?title=Aufsetzen_des_Apache-Servers_-_ubuntu&amp;diff=7141"/>
				<updated>2026-01-02T16:41:24Z</updated>
		
		<summary type="html">&lt;p&gt;87.123.95.19: /* Einstellungen für Lawsuit */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Ubuntu|&lt;br /&gt;
*[https://ubuntu.com/tutorials/install-ubuntu-desktop-1604#1-overview 16.04.]&lt;br /&gt;
|&lt;br /&gt;
*[https://ubuntu.com/tutorials/install-and-configure-apache#2-installing-apache Apache Installation]&lt;br /&gt;
|&lt;br /&gt;
*[https://wiki.ubuntuusers.de/Apache_2.4/]&lt;br /&gt;
*[https://wiki.ubuntuusers.de/Apache/Module/ Apache Module]&lt;br /&gt;
*[https://wiki.ubuntuusers.de/Apache/Virtual_Hosts/ Virtual Hosts]&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Einführung ==&lt;br /&gt;
&lt;br /&gt;
Diese Dokument gibt eine rasche Einführung, wie ein Apache-Server auf dem lokalen Rechner aufgesetzt werden kann, der die Lawsuit-Programmteile bereitstellt.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
{{Warnung| Die Kurzanleitung geht nicht vertieft auf mögliche Experten-Einstellungen des Servers ein. Insbesondere bleiben hier Sicherheitseinstellungen unberücksichtigt, die für den Betrieb als öffentlich zugänglicher Netzserver unumgänglich wären. Die nachfolgenden Schritte sind für Anwender gedacht, die Lawsuit intern auf dem Kanzleirechner hinter einer Firewall betreiben möchten.}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== Allgemeine Rechner-Konfiguration ==&lt;br /&gt;
&lt;br /&gt;
Die Software benötigt eine funktionierende Netzwerkumgebung. Diese wird jedoch bereits standardmäßig von Ubuntu eingereichtet. Achten Sie aber insbesondere bei der Nutzung von [https://de.wikipedia.org/wiki/Dynamic_Host_Configuration_Protocol DHCP] darauf, dass [[Mehrplatzsysteme - ubuntu|weitere Rechner]] der Kanzlei vom Networkmanager tatsächlich im selben Nummernraum wie dieser PC eingetragen wurden, auf dem Apache nun installiert werden soll. Ansonsten können diese Rechner später nicht auf die Kanzleisoftware zugreifen.&lt;br /&gt;
&lt;br /&gt;
Als Zweites sollte der PC auf dem aktuellen Softwarestand sein. &lt;br /&gt;
{{Shell|&amp;gt; sudo apt update}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Installation der Apache-Pakete ===&lt;br /&gt;
&lt;br /&gt;
Der Apache-Server und das optionale Perl-Modul können mit ''apt'' installiert werden. Öffnen Sie dazu ein Terminal-Fenster und wechseln Sie wie folgt in den Superuser-Modus:&lt;br /&gt;
{{Shell|&amp;gt; sudo apt install apache2}}&lt;br /&gt;
Geben Sie das Passwort ein.&lt;br /&gt;
Prüfen Sie die korrekte Funktionsweise des Apache-Servers, indem Sie in die Browser-Adresszeile die folgende Adresse eingeben:&lt;br /&gt;
 http://localhost/&lt;br /&gt;
Es sollte folgende Ausgabe zu sehen sein:&lt;br /&gt;
[[Datei:Apache_works.png|thumb|600px|left|Apache-Server Startausgabe]]&lt;br /&gt;
&amp;lt;br clear=all&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Start des Servers ===&lt;br /&gt;
Mit folgenden zwei Befehlen wird der Apache-Server gestartet und auf Dauer im System aktiviert.&lt;br /&gt;
{{Shell|# systemctl start apache2&amp;lt;br&amp;gt;&amp;amp;nbsp; systemctl enable apache2}}&lt;br /&gt;
&lt;br /&gt;
=== Einrichtung und Anpassung der Firewall ===&lt;br /&gt;
&lt;br /&gt;
Normalerweise sollte die die Firewall ''ufd'' (Uncomplicated Firewall) vorinstalliert sein. Für unsere Zwecke zielführender ist ''firewalld''. Dies wird mit&lt;br /&gt;
{{Shell|&amp;gt; sudo apt install firewalld}}&lt;br /&gt;
installiert. Danach muss, um Systemkonflikte zu vermeiden ''ufd'' deaktiviert werden. Dies erfolgt per&lt;br /&gt;
{{Shell|&amp;gt; sudo ufw disable}}&lt;br /&gt;
Starten Sie nun ''firewalld'' mit&lt;br /&gt;
{{Shell|&amp;gt; sudo systemctl enable --now firewalld}}&lt;br /&gt;
&lt;br /&gt;
Die Firewall ist so voreingestellt, dass sie über Port 80 auf den Rechner eingehende Daten grundsätzlich sperrt. Folglich müssen die Firewall-Einstellungen so angepasst werden, dass aus dem Lokalen Netzwerk über Port 80 eingehender Datenstrom akzeptiert wird.&lt;br /&gt;
Die folgenden Schritte müssen dazu weiterhin als Root ausgeführt werden. &lt;br /&gt;
&lt;br /&gt;
{{Shell|&amp;gt; sudo firewall-cmd --zone internal --permanent --add-interface&amp;amp;#61;eth0&amp;lt;br&amp;gt;&amp;amp;nbsp; sudo firewall-cmd --zone internal --permanent --add-service&amp;amp;#61;nfs&amp;lt;br&amp;gt;&amp;amp;nbsp; sudo firewall-cmd --zone internal --permanent --add-service&amp;amp;#61;http&amp;lt;br&amp;gt;&amp;amp;nbsp; sudo firewall-cmd --zone internal --permanent --add-service&amp;amp;#61;https&amp;lt;br&amp;gt;&amp;amp;nbsp; sudo firewall-cmd --reload}}&lt;br /&gt;
&lt;br /&gt;
Weitere verfügbare Dienste lassen sich mit folgendem Befehl anzeigen&lt;br /&gt;
{{Shell|&amp;gt; sudo firewall-cmd --get-service}}&lt;br /&gt;
und ggf. nach obigem Muster ergänzen&lt;br /&gt;
&lt;br /&gt;
=== Aktivierung des Servers ===&lt;br /&gt;
Starten Sie den Server und aktivieren Sie ihn in einem Bootverzeichnis, damit er mit dem Rechner hochgefahren wird (s.o. ohne Yast):&lt;br /&gt;
{{Shell|# systemctl start apache2.service&amp;lt;br&amp;gt;&amp;amp;nbsp; systemctl enable apache2}}&lt;br /&gt;
&lt;br /&gt;
=== Hinzufügen von Apache-Modulen===&lt;br /&gt;
Um benötigte Apache-Module zu laden, können wir die Konfigurationsvariable ''APACHE_MODULES'' in &amp;lt;tt&amp;gt;/etc/sysconfig/apache2&amp;lt;/tt&amp;gt; editieren. Schneller geht es jedoch mit den nachfolgenden Befehlen.&lt;br /&gt;
Einige Programme müssen zunächst nachgeladen werden:&lt;br /&gt;
{{Shell|&amp;gt; sudo apt install libapache2-mod-perl2 libapache2-mod-dnssd libapache2-mod-python}}&lt;br /&gt;
Nach der Änderung muss der Server neu gestartet werden. Auch für die folgenden Befehle sind wieder die Rechte eines Superusers vonnöten.&lt;br /&gt;
{{Shell|&amp;gt; sudo a2enmod perl ssl dnssd rewrite actions python&amp;lt;br&amp;gt;&amp;amp;nbsp; sudo systemctl restart apache2}}&lt;br /&gt;
&lt;br /&gt;
== Virtual Hosts ==&lt;br /&gt;
===Allgemeines===&lt;br /&gt;
Das Verzeichnis für alle Virtual Host unter Ubuntu ist &amp;lt;tt&amp;gt;/etc/apache2/sites-available/&amp;lt;/tt&amp;gt;. Nur Dateien mit dem Suffix &amp;quot;.conf&amp;quot; werden automatisch in die Apachekonfiguration einbezogen. Damit sie von Apache verwendet werden, müssen sie zudem vom Verzeichnis &amp;lt;tt&amp;gt;/etc/apache2/sites-enabled/&amp;lt;/tt&amp;gt; verlinkt sein. &lt;br /&gt;
&lt;br /&gt;
{{Intro|Wenn Sie neben Lawsuit einen weiteren eigenen Virtual Host hinzufügen möchten, ersetzen Sie in den folgenden Zeilen bitte ''Domainname'' durch ihren Verzeichnisnamen oder Ihre IP-Adresse.}}&lt;br /&gt;
&lt;br /&gt;
* Es gibt mehrere Varianten für die Struktur, mit welcher der eigenen Server auf dem Rechner aufgesetzt werden kann. Folgende Optionen bieten sich an: &lt;br /&gt;
:* [https://httpd.apache.org/docs/2.4/de/vhosts/name-based.html namensbasiert]&lt;br /&gt;
:* [https://httpd.apache.org/docs/2.4/de/vhosts/ip-based.html IP-basiert]&lt;br /&gt;
:* portbasiert&lt;br /&gt;
&lt;br /&gt;
* Sei können für Ihre Verzeichnisse die Vorlage '''vhost.template''' kopieren und als Ihre '''{DOMAINNAME}.conf''' speichern. Hier hinein tragen Sie anschließend die Unterverzeichnisse für Ihren Virtual Host ein.&lt;br /&gt;
&lt;br /&gt;
===Einstellungen für ''Lawsuit''===&lt;br /&gt;
Deaktivieren Sie zunächst die von Ubuntu bereitgestellte Vorlage&lt;br /&gt;
{{Shell|&amp;gt; sudo a2dissite 000-default.conf}}&lt;br /&gt;
Für ''Lawsuit'' wird die stattdessen benötigte Konfigurationsdatei im Unterverzeichnis &amp;lt;tt&amp;gt;lawsuit/settings&amp;lt;/tt&amp;gt; bereits fertig zur Verfügung gestellt. Sie müssen lediglich in der genannten Datei den Platzhalter durch den eigenen Nutzernamen ersetzen und die fertige Datei in das Vhosts-Verzeichnis verlinken. Wechseln Sie in das Unterverzeichnis &amp;lt;tt&amp;gt;lawsuit/settings&amp;lt;/tt&amp;gt;. Wenn Sie ''Lawsuit'' in Ihrem Nutzerhauptverzeichnis installiert haben, gelangen Sie mit diesem Befehl dorthin:&lt;br /&gt;
{{Shell | &amp;gt; cd ~/lawsuit/settings}}&lt;br /&gt;
Erstellen Sie dort eine Konfigurationsdatei aus der Vorlage &amp;lt;tt&amp;gt;lawsuit-httpd.template&amp;lt;/tt&amp;gt; und ersetzen Sie den darin enthaltenen Platzhalter ''meinpfad'' dabei durch Ihren Pfad zum aktuellen Verzeichnis. Dies erfolgt automatisiert durch diese Befehle:&lt;br /&gt;
{{Shell | &amp;gt; pfad&amp;amp;#61;&amp;amp;#96;pwd &amp;amp;#124; sed &amp;amp;apos;s/\/lawsuit.*//&amp;amp;apos;  &amp;amp;#124; sed &amp;amp;apos;s/\//\\\\\//g&amp;amp;apos;&amp;amp;#96;&amp;lt;br&amp;gt; &amp;gt; sed &amp;amp;quot;s/meinpfad/$pfad/g&amp;amp;quot; lawsuit-httpd.template &amp;gt; lawsuit-httpd.conf}}&lt;br /&gt;
Falls Ihr Pfad zum Ordner &amp;lt;tt&amp;gt;Documents&amp;lt;/tt&amp;gt; nicht mit dem soeben ermittelten Pfad für &amp;lt;tt&amp;gt;lawsuit&amp;lt;/tt&amp;gt; identisch ist, passen Sie diese Einstellungen für das Verzeichnis &amp;lt;tt&amp;gt;Documents&amp;lt;/tt&amp;gt; bitte in der &amp;lt;tt&amp;gt;lawsuit-httpd.conf&amp;lt;/tt&amp;gt; mit einem Editor wie '''kate''' von Hand an.&lt;br /&gt;
&lt;br /&gt;
Abschließend kopieren Sie die erstellte Konfigurationsdatei als ''Superuser'' in das Verzeichnis der Virtual Hosts von Apache&lt;br /&gt;
&lt;br /&gt;
{{Shell | &amp;gt; sudo cp lawsuit-httpd.conf /etc/apache2/sites-availabel/}}&lt;br /&gt;
&lt;br /&gt;
und aktivieren sie durch Verlinkung auf &amp;lt;tt&amp;gt;/etc/apache2/sites-enabled&amp;lt;/tt&amp;gt;:&lt;br /&gt;
{{Shell | &amp;gt; sudo a2ensite lawsuit-httpd.conf}}&lt;br /&gt;
&lt;br /&gt;
Abschließend muss Apache mit der neuen Konfiguration geladen werden:&lt;br /&gt;
{{Shell | &amp;gt; systemctl reload apache2}}&lt;br /&gt;
&lt;br /&gt;
* Neustart von Apache&lt;br /&gt;
{{Shell | &amp;gt; sudo service apache2 restart}}&lt;br /&gt;
&lt;br /&gt;
=== Anpassen der Konfiguration ===&lt;br /&gt;
Um Ergänzungen oder Änderungen einheitlich für alle Virtual Hosts vorzunehmen, editieren Sie die Datei &amp;lt;tt&amp;gt;/etc/apache2/apache2.conf&amp;lt;/tt&amp;gt;. Zum Verständnis der Hierarchie und des Layouts um Dateien finden sich dort ausführliche die Kommentierungen. Die ursprüngliche, einfache Konfigurationsdatei mit nur 40K findet sich notfalls unter &amp;lt;tt&amp;gt;etc/apache2/sites-enabled/000-default.conf&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Optional: Ein Zertifikat für localhost erstellen ==&lt;br /&gt;
Bei Mehrplatzsystemen funktionieren die Javascript-Voreintragungen bei Nutzung einer sicheren HTTPS-Verbindung nur, wenn ein eigenes Zertifikat erstellt wird, dessen Aussteller zudem noch aus vertrauenswürdig eingestuft werden muss.OpenSSL bringt umfassende Werkzeuge mit, um eine eigene, kleine Certificate Authority (CA) betreiben zu können. &lt;br /&gt;
=== Vergabe einer Domain für den Rechner mit den Lawsuit-Daten ===&lt;br /&gt;
Unter &amp;lt;i&amp;gt;yast2 &amp;gt; Netzwerkdienste &amp;gt; Rechnernamen&amp;lt;/i&amp;gt; fügen Sie unter der Zeile &amp;quot;localhost&amp;quot; eine Zeile mit folgenden Daten ein:&lt;br /&gt;
 IP-Adresse: &amp;lt;b&amp;gt;192.168.2.10&amp;lt;/b&amp;gt;&lt;br /&gt;
 Hostnamen:  &amp;lt;b&amp;gt;k1.local&amp;lt;/b&amp;gt;&lt;br /&gt;
 Aliasnamen: &amp;lt;b&amp;gt;k1&amp;lt;/b&amp;gt;&lt;br /&gt;
[[Datei:Hostkonfiguration.png|thumb|600px|left|Eigenen Rechnernamen vergeben]]&lt;br /&gt;
&amp;lt;br clear=all&amp;gt;&lt;br /&gt;
Sie können statt &amp;quot;k1&amp;quot; eine beliebe andere Bezeichnung für den Hauptrechner wählen, müssen dann aber Ihre Domain in den folgenden Einstellungen beibehalten.&lt;br /&gt;
&lt;br /&gt;
=== Certificate Authority (CA) erstellen ===&lt;br /&gt;
Zu Beginn wird die Certificate Authority generiert. Zunächst wird ein geheimer Private Key erzeugt:&lt;br /&gt;
{{Shell |&amp;amp;gt; sudo openssl genrsa -aes256 -out /etc/ssl/private/rootCA.key 4096}}&lt;br /&gt;
Der Key trägt den Namen “rootCA.pem” und hat eine Länge von 4096 Bit. Die Option “-aes256” führt dazu, dass der Key mit einem Passwort geschützt wird. Die Key-Datei der CA muss tatsächlich besonders gut geschützt werden. Ein Angreifer, der den Key in die Hände bekommt, kann beliebig gefälschte Zertifikate im Namen der Kanzlei ausstellen, denen die Clients trauen. Die Verschlüsselung dieses Keys mit einem Passwort gibt zusätzlichen Schutz. Das gewünschte Passwort wird bei der Generierung abgefragt.&lt;br /&gt;
Einen geheimen Key für die CA gibt es damit also schon - es fehlt noch das Root-Zertifikat, das von den Clients später importiert werden muss, damit die von der CA ausgestellten Zertifikate im Browser als gültig erkannt werden. Das Root-Zertifikat “ca-root.pem” wird mit folgendem Befehl erzeugt: &lt;br /&gt;
{{Shell |&amp;amp;gt; sudo openssl req -x509 -new -nodes -key /etc/ssl/private/rootCA.key -sha512 -days 5483 -out /etc/ssl/certs/rootCA.pem}}&lt;br /&gt;
In diesem Fall wird die CA 5483 Tage, also mit Schalttagen 15 Jahre lang gültig bleiben. Während der Generierung werden das Passwort für die CA und einige Attribute abgefragt (hier ein Beispiel):&lt;br /&gt;
 Country Name (2 letter code) [AU]:&amp;lt;b&amp;gt;DE&amp;lt;/b&amp;gt;&lt;br /&gt;
 State or Province Name (full name) [Some-State]:&amp;lt;b&amp;gt;Nordrhein-Westfalen&amp;lt;/b&amp;gt;&lt;br /&gt;
 Locality Name (eg, city) []:&amp;lt;b&amp;gt;Muenster&amp;lt;/b&amp;gt;&lt;br /&gt;
 Organization Name (eg, company) [Internet Widgits Pty Ltd]:&amp;lt;b&amp;gt;Kanzlei Hermanns&amp;lt;/b&amp;gt;&lt;br /&gt;
 Organizational Unit Name (eg, section) []:&amp;lt;b&amp;gt;Rechtsanwalt&amp;lt;/b&amp;gt;&lt;br /&gt;
 Common Name (e.g. server FQDN or YOUR name) []:&amp;lt;b&amp;gt;RA Matthias Hermanns&amp;lt;/b&amp;gt;&lt;br /&gt;
 Email Address []:&amp;lt;b&amp;gt;hermanns@iustus.eu&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Erzeugen des Schlüssels===&lt;br /&gt;
Mit diesen Daten wird auch eine Konfiguratunsdatei mit Namen &amp;lt;tt&amp;gt;ssl.cnf&amp;lt;/tt&amp;gt; befüllt, die die Schlüsselausgabe später vereinfacht.&lt;br /&gt;
Zur besseren Übersichtlichkeit sollte ein mächtiges Textverarbeitungsprogramm wie ''kate'' verwendet werden.&lt;br /&gt;
{{Shell |&amp;amp;gt;sudo apt install kate}}&lt;br /&gt;
Erzeugen Sie dann Unterverzeichnisse und legen eine Konfigurationsdatei an:&lt;br /&gt;
{{Shell |&amp;amp;gt; cd ~/bin&amp;lt;br&amp;gt;&amp;amp;nbsp; mkdir keys&amp;lt;br&amp;gt;&amp;amp;nbsp; cd keys&amp;lt;br&amp;gt;&amp;amp;nbsp; kate ssl.cnf}}&lt;br /&gt;
Die Datei kann beispielsweise den folgenden Inhalt haben&lt;br /&gt;
 [req]&lt;br /&gt;
 # Standard-Verschlüsselung&lt;br /&gt;
 default_bits = 4096&lt;br /&gt;
 # verhindere prompt für die Zertifikat-Erstellung&lt;br /&gt;
 # (Daten kommen aus dieser Datei)&lt;br /&gt;
 prompt = no&lt;br /&gt;
 # Verschlüsselungsmethode&lt;br /&gt;
 default_md = sha512&lt;br /&gt;
 # Kryptographie abschalten&lt;br /&gt;
 encrypt_key = no&lt;br /&gt;
 # Sektion für Zertifizierer-Informationen:&lt;br /&gt;
 distinguished_name = dn&lt;br /&gt;
 &lt;br /&gt;
 # Zertifizierer-Informationen:&lt;br /&gt;
 [dn]&lt;br /&gt;
 # Länder-Code&lt;br /&gt;
 C=DE&lt;br /&gt;
 # Bundesland&lt;br /&gt;
 ST=Nordrhein-Westfalen&lt;br /&gt;
 # Stadt&lt;br /&gt;
 L=Muenster&lt;br /&gt;
 # Bezeichnung/Firmen-Name/Dein Name:&lt;br /&gt;
 O=Kanzlei Hermanns&lt;br /&gt;
 # Aussteller Name&lt;br /&gt;
 OU=RA Matthias Hermanns&lt;br /&gt;
 # E-Mail-Adresse&lt;br /&gt;
 emailAddress=hermanns@iustus.eu&lt;br /&gt;
 # Primärer Servername&lt;br /&gt;
 CN = &amp;lt;b&amp;gt;k1&amp;lt;/b&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 [v3_ca]&lt;br /&gt;
 keyUsage = digitalSignature, keyEncipherment&lt;br /&gt;
 extendedKeyUsage = serverAuth&lt;br /&gt;
 subjectAltName = IP:&amp;lt;b&amp;gt;192.168.2.10&amp;lt;/b&amp;gt;, DNS:&amp;lt;b&amp;gt;k1&amp;lt;/b&amp;gt;, DNS:&amp;lt;b&amp;gt;k1.local&amp;lt;/b&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 [ req_ext ]&lt;br /&gt;
 subjectAltName = @alt_names&lt;br /&gt;
 &lt;br /&gt;
 [alt_names]&lt;br /&gt;
 # Primärer Server-Name&lt;br /&gt;
 DNS.1 = &amp;lt;b&amp;gt;k1&amp;lt;/b&amp;gt;&lt;br /&gt;
 # Sekunärer Server-Name&lt;br /&gt;
 DNS.2 = &amp;lt;b&amp;gt;k1.local&amp;lt;/b&amp;gt;&lt;br /&gt;
 # Wildcard Subdomains&lt;br /&gt;
 DNS.3 = *.&amp;lt;b&amp;gt;k1.local&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Speichern Sie die so erstellte Datei &amp;lt;tt&amp;gt;ssl.cnf&amp;lt;/tt&amp;gt; im &amp;lt;tt&amp;gt;bin&amp;lt;/tt&amp;gt;-Verzeichnis ab. Mit folgendem Befehl erzeugen Sie nun als zertifizierter Aussteller die eigentlichen Schlüssel für die SSL-Verbindung.&lt;br /&gt;
Zunächst wird der RSA-Key mit 3072 Bit erzeugt (Asymmetrischer Schlüssel von Rivest, Shamir und Adleman, der einen privaten und einen öffentlichen Teil hat):&lt;br /&gt;
{{Shell |&amp;amp;gt; openssl genrsa -out k1.key 3072}}&lt;br /&gt;
Nun folgt die Certificate Signing Request (CSR; deutsch Zertifikatsignierungsanforderung), ein digitaler Antrag, um mittels der soeben erzeugten digitalen Signatur und der zusätzlichen Identitätsangaben zum Antragstellers aus der &amp;lt;tt&amp;gt;ssl.cnf&amp;lt;/tt&amp;gt; ein persönliches digitales Identitäts-Zertifikat (auch Public-Key-Zertifikat genannt) zu erstellen:&lt;br /&gt;
{{Shell |&amp;amp;gt; openssl req -new -keyout ~/bin/keys/k1.key -out ~/bin/keys/k1.csr -config ~/bin/keys/ssl.cnf}}&lt;br /&gt;
Mithilfe des Wurzelzertifikats vom verifizierten Aussteller (uns selbst) wird nun der eigentliche Schlüssel erstellt, damit eine Rückverfolgung zum Wurzelzertifikat möglich ist. &lt;br /&gt;
{{Shell |&amp;amp;gt; sudo openssl x509 -req \&amp;lt;br&amp;gt;&amp;amp;nbsp; -in ~/bin/keys/k1.csr \&amp;lt;br&amp;gt;&amp;amp;nbsp; -CA /etc/ssl/certs/rootCA.pem \&amp;lt;br&amp;gt;&amp;amp;nbsp; -CAkey /etc/ssl/private/rootCA.key \&amp;lt;br&amp;gt;&amp;amp;nbsp; -CAcreateserial \&amp;lt;br&amp;gt;&amp;amp;nbsp; -out ~/bin/keys/k1.crt \&amp;lt;br&amp;gt;&amp;amp;nbsp; -days 3653 \&amp;lt;br&amp;gt;&amp;amp;nbsp; -extfile ~/bin/keys/ssl.cnf \&amp;lt;br&amp;gt;&amp;amp;nbsp; -extensions v3_ca }}&lt;br /&gt;
&lt;br /&gt;
Damit die Zertifkate in unsere regelmäßige Sicherungsspeicherung aufgenommen werden, können wir sie in das Schlüsselverzeichnis &amp;lt;tt&amp;gt;keys&amp;lt;/tt&amp;gt; unter &amp;lt;tt&amp;gt;lawsuit&amp;lt;/tt&amp;gt; kopieren. Dies ist jedoch nicht optional, weil es ein Sicherheitsrisiko eröffnet:&lt;br /&gt;
{{Shell |&amp;amp;gt; sudo chown matthias:users keys/k1.crt&amp;lt;br&amp;gt;&amp;amp;nbsp; chmod 640 ~/bin/keys/k1.*&amp;lt;br&amp;gt;&amp;amp;nbsp; cp ~/bin/keys/k1.* ~/lawsuit/keys/}}&lt;br /&gt;
&lt;br /&gt;
=== Verbindung mit dem Server ===&lt;br /&gt;
Wenn Sie host-Datei &amp;lt;tt&amp;gt;lawsuit-httpd.conf&amp;lt;/tt&amp;gt; automatisch wie oben vorgeschlagen generiert haben, sind die notwendigen Einstellungen schon voreingetragen und müssen nur auskommentiert werden. Ansonsten ergänzen Sie unter /etc/apache2/sites_enabled/&lt;br /&gt;
folgende Zeilen:&lt;br /&gt;
 &amp;lt;VirtualHost *:80&amp;gt;&lt;br /&gt;
    ServerName &amp;lt;b&amp;gt;k1&amp;lt;/b&amp;gt;&lt;br /&gt;
    ServerAlias &amp;lt;b&amp;gt;k1.local&amp;lt;/b&amp;gt;&lt;br /&gt;
 &amp;lt;/VirtualHost&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 &amp;lt;IfModule mod_ssl.c&amp;gt;&lt;br /&gt;
    &amp;lt;VirtualHost *:443&amp;gt;&lt;br /&gt;
        ServerAdmin webmaster@localhost&lt;br /&gt;
        DocumentRoot /home/BENUTZERNAME/lawsuit/&lt;br /&gt;
        ServerName &amp;lt;b&amp;gt;k1&amp;lt;/b&amp;gt;&lt;br /&gt;
        ServerAlias &amp;lt;b&amp;gt;k1.local&amp;lt;/b&amp;gt;&lt;br /&gt;
        ErrorLog /var/log/apache2/error_log&lt;br /&gt;
        SSLEngine on&lt;br /&gt;
        SSLCertificateFile      /home/BENUTZERNAME/bin/keys/&amp;lt;b&amp;gt;k1.crt&amp;lt;/b&amp;gt;&lt;br /&gt;
        SSLCertificateKeyFile   /home/BENUTZERNAME/bin/keys/&amp;lt;b&amp;gt;k1.key&amp;lt;/b&amp;gt;&lt;br /&gt;
        &amp;lt;IfModule mod_headers.c&amp;gt;&lt;br /&gt;
            Header always set Strict-Transport-Security &amp;quot;max-age=15552000; includeSubDomains&amp;quot;&lt;br /&gt;
        &amp;lt;/IfModule&amp;gt;&lt;br /&gt;
        &amp;lt;FilesMatch &amp;quot;\.(cgi|html|shtml|pl|phtml|php)$&amp;quot;&amp;gt;&lt;br /&gt;
            SSLOptions +StdEnvVars&lt;br /&gt;
        &amp;lt;/FilesMatch&amp;gt;&lt;br /&gt;
        &amp;lt;Directory /home/BENUTZERNAME/lawsuit/cgi-bin&amp;gt;&lt;br /&gt;
            SSLOptions +StdEnvVars&lt;br /&gt;
        &amp;lt;/Directory&amp;gt;&lt;br /&gt;
    &amp;lt;/VirtualHost&amp;gt;&lt;br /&gt;
 &amp;lt;/IfModule&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 # configuration&lt;br /&gt;
 SSLProtocol             all -SSLv3 -TLSv1 -TLSv1.1 -TLSv1.2&lt;br /&gt;
 SSLHonorCipherOrder     off&lt;br /&gt;
 SSLSessionTickets       off&lt;br /&gt;
&lt;br /&gt;
Damit diese Einstellungen vom Browser angenommen werden, muss das Zertifkat fort eingetragen werden.&lt;br /&gt;
Gehen Sie dazu unter Firefox in das Menu und wählen die Unterpunkte &amp;gt; Datenschutz &amp;amp; Sicherheit oder rufen Sie den Unterpunkt direkt mit&lt;br /&gt;
 about:preferences#privacy&lt;br /&gt;
auf. Gehen Sie zum Unterpunkt &amp;lt;tt&amp;gt;Sicherheit &amp;gt; Zertifikate&amp;lt;/tt&amp;gt; und klicken Sie ''Zeertifikate anzeigen...'' an. Dort tragen Sie unter dem Reiter ''Server'' das eigene Zertifikate ein, indem Sie das eigene auf der Seite &lt;br /&gt;
 https://k1&lt;br /&gt;
als Ausnahme bestätigen.&lt;br /&gt;
Laden Sie dazu das Zertifikat von der Seite ''https://k1'' herunter und bestätigen Sie mit dem Auswahlästchen, dass es sich um eine dauerhaft zu speichernde Ausnahme handelt. Drücken Sie den Button ''Sicherheitsausnahme bestätigen''.&lt;br /&gt;
[[Datei:Zertifikat_eintragen.png|thumb|600px|left|Importieren des Zertifikate als dauerhafte Sicherheitsausnahme]]&lt;br /&gt;
&amp;lt;br clear=all&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Unter Firefox kann das selbstgezeichnete Zertifikat nun verwendet werden. Bitte beachten Sie, dass für jede Apache-Konfigurrationsdatei ein anderer Port geöffnet werden muss, &amp;quot;443&amp;quot; also nur einmal verwendet werden kann. Sie können alternativ z.B. &amp;quot;4443&amp;quot; verwenden.&lt;br /&gt;
&lt;br /&gt;
Abschließender Test und Neustart:&lt;br /&gt;
{{Shell |&amp;amp;#35; sudo apache2ctl -t&amp;lt;br&amp;gt;&amp;amp;nbsp; sudo systemctl restart apache2}}&lt;br /&gt;
&lt;br /&gt;
=== Registrierung als vertrauenswürdiger Aussteller für den Firefox-Browser ===&lt;br /&gt;
Damit der Firefox-Browser das Zertifikat tatsächlich verwendet und als vertrauenswürdig akzeptiert, muss es im Kleopatra-Schlüsseldienst eingetragen werden, auf den der Browser zugreift. &lt;br /&gt;
{{Shell |&amp;amp;gt; kleopatra}}&lt;br /&gt;
Klicken Sie den Reiter &amp;lt;b&amp;gt;Importieren&amp;lt;/b&amp;gt; an und fügen Sie nacheinander die folgenden Dateien ein:&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;/home/BENUTZERNAME/bin/keys/k1.crt&amp;lt;/tt&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;/etc/ssl/certs/rootCA.pem&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Bitte bestätigen Sie die erbetenen Beglaubigungen mit der Maustaste.&lt;br /&gt;
[[Datei:Kleopatra.png|thumb|600px|left|Importieren der Zertifikate in das Kleopatra-Schlüsselverwaltungsprogramm]]&lt;br /&gt;
&amp;lt;br clear=all&amp;gt;&lt;br /&gt;
Nun wechseln Sie in den Firefox-Browser und geben in die Adresszeile ein&lt;br /&gt;
 about:config&lt;br /&gt;
Dort ändern Sie die Variable&lt;br /&gt;
 security.enterprise_roots.enabled -&amp;gt; true&lt;br /&gt;
von &amp;quot;false&amp;quot; auf &amp;quot;true&amp;quot;. Nun bezieht der Browser auch Ihre eigenen CA-Beglaubigungen des Unternehmens eine seine Bewertungen mit ein und vergibt ein grünes Schlüsselsymbol.&lt;br /&gt;
&lt;br /&gt;
== Problembehebung ==&lt;br /&gt;
Lesen Sie wenn möglich die Fehlermeldungen nach dem Start des Servers. Versuchen Sie Fehler ggf. zu reproduzieren und vergleichen Sie die Einträge in den Log-Dateien. Den Einblick auf die dortigen Meldungen können Sie mit dem folgenden Befehl auf den neuesten Stand reduzieren::&lt;br /&gt;
&lt;br /&gt;
{{Shell | # tail -F /var/log/apache2/*}}&lt;br /&gt;
&lt;br /&gt;
Da die Error-Messages schnell sehr großen Umfang einnehmen, der am Ende sogar den Systemstart blockieren kann, empfiehlt es sich, mit Logrotate den Bestand unter Kontrolle zu halten. Installieren Sie dazu, falls noch nicht vom System geschehen:&lt;br /&gt;
{{Shell | # zypper in logrotate}}&lt;br /&gt;
Sie können die Einstellungen in der Konfigurationsdatei &lt;br /&gt;
 /etc/logrotate.conf&lt;br /&gt;
ändern. Eine typische Konfiguration von &amp;lt;tt&amp;gt;logrotate.conf&amp;lt;/tt&amp;gt; sieht z.B. wie folgt aus:&lt;br /&gt;
{{Shell |&amp;amp;#35; see &amp;quot;man logrotate&amp;quot; for details&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;amp;#35; rotate log files weekly &lt;br /&gt;
&amp;lt;br&amp;gt;weekly &lt;br /&gt;
&amp;lt;br&amp;gt;&amp;amp;#35; keep 4 weeks worth of backlogs &lt;br /&gt;
&amp;lt;br&amp;gt;rotate 4&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;b&amp;gt;&amp;amp;#35; remove rotated logs older than &amp;lt;count&amp;gt; days&lt;br /&gt;
&amp;lt;br&amp;gt;maxage 90 &amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;amp;#35; create new (empty) log files after rotating old ones &lt;br /&gt;
&amp;lt;br&amp;gt;create&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;amp;#35; use date as a suffix of the rotated file&lt;br /&gt;
&amp;lt;br&amp;gt;dateext&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;amp;#35; uncomment this if you want your log files compressed &lt;br /&gt;
&amp;lt;br&amp;gt;compress&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;amp;#35; comment these to switch compression to use gzip or another &lt;br /&gt;
&amp;lt;br&amp;gt;&amp;amp;#35; compression scheme&lt;br /&gt;
&amp;lt;br&amp;gt;compresscmd /usr/bin/xz&lt;br /&gt;
&amp;lt;br&amp;gt;uncompresscmd /usr/bin/xzdec&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;amp;#35; RPM packages drop log rotation information into this directory&lt;br /&gt;
&amp;lt;br&amp;gt;include /etc/logrotate.d&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Sollten Sie einen Fehler gefunden haben, [https://de.opensuse.org/SDB:Fehler_berichten berichten Sie ihn] bitte.&lt;br /&gt;
&lt;br /&gt;
==Weiterführende Informationen==&lt;br /&gt;
=== Verwandte Artikel ===&lt;br /&gt;
*[https://documentation.ubuntu.com/server/how-to/security/firewalls/ Optionen für das Einrichten der Firewall unter Ubuntu]&lt;br /&gt;
* Package documentation and example configuration files in /usr/share/doc/packages/apache2/&lt;br /&gt;
&lt;br /&gt;
===Externe Links===&lt;br /&gt;
* [https://documentation.ubuntu.com/server/how-to/web-services/install-apache2/ Apache Documentation]&lt;br /&gt;
* [http://httpd.apache.org/ The Apache Project]&lt;br /&gt;
* [http://www.apache.org/ Apache Software Foundation]&lt;br /&gt;
&lt;br /&gt;
{{DEFAULTSORT:{{PAGENAME}}}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Linuxinstallation]]&lt;/div&gt;</summary>
		<author><name>87.123.95.19</name></author>	</entry>

	<entry>
		<id>http://wiki.iustus.eu/wiki/index.php?title=Aufsetzen_des_Apache-Servers_-_ubuntu&amp;diff=7140</id>
		<title>Aufsetzen des Apache-Servers - ubuntu</title>
		<link rel="alternate" type="text/html" href="http://wiki.iustus.eu/wiki/index.php?title=Aufsetzen_des_Apache-Servers_-_ubuntu&amp;diff=7140"/>
				<updated>2026-01-02T16:36:25Z</updated>
		
		<summary type="html">&lt;p&gt;87.123.95.19: /* Einstellungen für Lawsuit */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Ubuntu|&lt;br /&gt;
*[https://ubuntu.com/tutorials/install-ubuntu-desktop-1604#1-overview 16.04.]&lt;br /&gt;
|&lt;br /&gt;
*[https://ubuntu.com/tutorials/install-and-configure-apache#2-installing-apache Apache Installation]&lt;br /&gt;
|&lt;br /&gt;
*[https://wiki.ubuntuusers.de/Apache_2.4/]&lt;br /&gt;
*[https://wiki.ubuntuusers.de/Apache/Module/ Apache Module]&lt;br /&gt;
*[https://wiki.ubuntuusers.de/Apache/Virtual_Hosts/ Virtual Hosts]&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Einführung ==&lt;br /&gt;
&lt;br /&gt;
Diese Dokument gibt eine rasche Einführung, wie ein Apache-Server auf dem lokalen Rechner aufgesetzt werden kann, der die Lawsuit-Programmteile bereitstellt.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
{{Warnung| Die Kurzanleitung geht nicht vertieft auf mögliche Experten-Einstellungen des Servers ein. Insbesondere bleiben hier Sicherheitseinstellungen unberücksichtigt, die für den Betrieb als öffentlich zugänglicher Netzserver unumgänglich wären. Die nachfolgenden Schritte sind für Anwender gedacht, die Lawsuit intern auf dem Kanzleirechner hinter einer Firewall betreiben möchten.}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== Allgemeine Rechner-Konfiguration ==&lt;br /&gt;
&lt;br /&gt;
Die Software benötigt eine funktionierende Netzwerkumgebung. Diese wird jedoch bereits standardmäßig von Ubuntu eingereichtet. Achten Sie aber insbesondere bei der Nutzung von [https://de.wikipedia.org/wiki/Dynamic_Host_Configuration_Protocol DHCP] darauf, dass [[Mehrplatzsysteme - ubuntu|weitere Rechner]] der Kanzlei vom Networkmanager tatsächlich im selben Nummernraum wie dieser PC eingetragen wurden, auf dem Apache nun installiert werden soll. Ansonsten können diese Rechner später nicht auf die Kanzleisoftware zugreifen.&lt;br /&gt;
&lt;br /&gt;
Als Zweites sollte der PC auf dem aktuellen Softwarestand sein. &lt;br /&gt;
{{Shell|&amp;gt; sudo apt update}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Installation der Apache-Pakete ===&lt;br /&gt;
&lt;br /&gt;
Der Apache-Server und das optionale Perl-Modul können mit ''apt'' installiert werden. Öffnen Sie dazu ein Terminal-Fenster und wechseln Sie wie folgt in den Superuser-Modus:&lt;br /&gt;
{{Shell|&amp;gt; sudo apt install apache2}}&lt;br /&gt;
Geben Sie das Passwort ein.&lt;br /&gt;
Prüfen Sie die korrekte Funktionsweise des Apache-Servers, indem Sie in die Browser-Adresszeile die folgende Adresse eingeben:&lt;br /&gt;
 http://localhost/&lt;br /&gt;
Es sollte folgende Ausgabe zu sehen sein:&lt;br /&gt;
[[Datei:Apache_works.png|thumb|600px|left|Apache-Server Startausgabe]]&lt;br /&gt;
&amp;lt;br clear=all&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Start des Servers ===&lt;br /&gt;
Mit folgenden zwei Befehlen wird der Apache-Server gestartet und auf Dauer im System aktiviert.&lt;br /&gt;
{{Shell|# systemctl start apache2&amp;lt;br&amp;gt;&amp;amp;nbsp; systemctl enable apache2}}&lt;br /&gt;
&lt;br /&gt;
=== Einrichtung und Anpassung der Firewall ===&lt;br /&gt;
&lt;br /&gt;
Normalerweise sollte die die Firewall ''ufd'' (Uncomplicated Firewall) vorinstalliert sein. Für unsere Zwecke zielführender ist ''firewalld''. Dies wird mit&lt;br /&gt;
{{Shell|&amp;gt; sudo apt install firewalld}}&lt;br /&gt;
installiert. Danach muss, um Systemkonflikte zu vermeiden ''ufd'' deaktiviert werden. Dies erfolgt per&lt;br /&gt;
{{Shell|&amp;gt; sudo ufw disable}}&lt;br /&gt;
Starten Sie nun ''firewalld'' mit&lt;br /&gt;
{{Shell|&amp;gt; sudo systemctl enable --now firewalld}}&lt;br /&gt;
&lt;br /&gt;
Die Firewall ist so voreingestellt, dass sie über Port 80 auf den Rechner eingehende Daten grundsätzlich sperrt. Folglich müssen die Firewall-Einstellungen so angepasst werden, dass aus dem Lokalen Netzwerk über Port 80 eingehender Datenstrom akzeptiert wird.&lt;br /&gt;
Die folgenden Schritte müssen dazu weiterhin als Root ausgeführt werden. &lt;br /&gt;
&lt;br /&gt;
{{Shell|&amp;gt; sudo firewall-cmd --zone internal --permanent --add-interface&amp;amp;#61;eth0&amp;lt;br&amp;gt;&amp;amp;nbsp; sudo firewall-cmd --zone internal --permanent --add-service&amp;amp;#61;nfs&amp;lt;br&amp;gt;&amp;amp;nbsp; sudo firewall-cmd --zone internal --permanent --add-service&amp;amp;#61;http&amp;lt;br&amp;gt;&amp;amp;nbsp; sudo firewall-cmd --zone internal --permanent --add-service&amp;amp;#61;https&amp;lt;br&amp;gt;&amp;amp;nbsp; sudo firewall-cmd --reload}}&lt;br /&gt;
&lt;br /&gt;
Weitere verfügbare Dienste lassen sich mit folgendem Befehl anzeigen&lt;br /&gt;
{{Shell|&amp;gt; sudo firewall-cmd --get-service}}&lt;br /&gt;
und ggf. nach obigem Muster ergänzen&lt;br /&gt;
&lt;br /&gt;
=== Aktivierung des Servers ===&lt;br /&gt;
Starten Sie den Server und aktivieren Sie ihn in einem Bootverzeichnis, damit er mit dem Rechner hochgefahren wird (s.o. ohne Yast):&lt;br /&gt;
{{Shell|# systemctl start apache2.service&amp;lt;br&amp;gt;&amp;amp;nbsp; systemctl enable apache2}}&lt;br /&gt;
&lt;br /&gt;
=== Hinzufügen von Apache-Modulen===&lt;br /&gt;
Um benötigte Apache-Module zu laden, können wir die Konfigurationsvariable ''APACHE_MODULES'' in &amp;lt;tt&amp;gt;/etc/sysconfig/apache2&amp;lt;/tt&amp;gt; editieren. Schneller geht es jedoch mit den nachfolgenden Befehlen.&lt;br /&gt;
Einige Programme müssen zunächst nachgeladen werden:&lt;br /&gt;
{{Shell|&amp;gt; sudo apt install libapache2-mod-perl2 libapache2-mod-dnssd libapache2-mod-python}}&lt;br /&gt;
Nach der Änderung muss der Server neu gestartet werden. Auch für die folgenden Befehle sind wieder die Rechte eines Superusers vonnöten.&lt;br /&gt;
{{Shell|&amp;gt; sudo a2enmod perl ssl dnssd rewrite actions python&amp;lt;br&amp;gt;&amp;amp;nbsp; sudo systemctl restart apache2}}&lt;br /&gt;
&lt;br /&gt;
== Virtual Hosts ==&lt;br /&gt;
===Allgemeines===&lt;br /&gt;
Das Verzeichnis für alle Virtual Host unter Ubuntu ist &amp;lt;tt&amp;gt;/etc/apache2/sites-available/&amp;lt;/tt&amp;gt;. Nur Dateien mit dem Suffix &amp;quot;.conf&amp;quot; werden automatisch in die Apachekonfiguration einbezogen. Damit sie von Apache verwendet werden, müssen sie zudem vom Verzeichnis &amp;lt;tt&amp;gt;/etc/apache2/sites-enabled/&amp;lt;/tt&amp;gt; verlinkt sein. &lt;br /&gt;
&lt;br /&gt;
{{Intro|Wenn Sie neben Lawsuit einen weiteren eigenen Virtual Host hinzufügen möchten, ersetzen Sie in den folgenden Zeilen bitte ''Domainname'' durch ihren Verzeichnisnamen oder Ihre IP-Adresse.}}&lt;br /&gt;
&lt;br /&gt;
* Es gibt mehrere Varianten für die Struktur, mit welcher der eigenen Server auf dem Rechner aufgesetzt werden kann. Folgende Optionen bieten sich an: &lt;br /&gt;
:* [https://httpd.apache.org/docs/2.4/de/vhosts/name-based.html namensbasiert]&lt;br /&gt;
:* [https://httpd.apache.org/docs/2.4/de/vhosts/ip-based.html IP-basiert]&lt;br /&gt;
:* portbasiert&lt;br /&gt;
&lt;br /&gt;
* Sei können für Ihre Verzeichnisse die Vorlage '''vhost.template''' kopieren und als Ihre '''{DOMAINNAME}.conf''' speichern. Hier hinein tragen Sie anschließend die Unterverzeichnisse für Ihren Virtual Host ein.&lt;br /&gt;
&lt;br /&gt;
===Einstellungen für ''Lawsuit''===&lt;br /&gt;
Deaktivieren Sie zunächst die von Ubuntu bereitgestellte Vorlage&lt;br /&gt;
{{Shell|&amp;gt; sudo a2dissite 000-default.conf}}&lt;br /&gt;
Für ''Lawsuit'' wird die stattdessen benötigte Konfigurationsdatei im Unterverzeichnis &amp;lt;tt&amp;gt;lawsuit/settings&amp;lt;/tt&amp;gt; bereits fertig zur Verfügung gestellt. Sie müssen lediglich in der genannten Datei den Platzhalter durch den eigenen Nutzernamen ersetzen und die fertige Datei in das Vhosts-Verzeichnis verlinken. Wechseln Sie in das Unterverzeichnis &amp;lt;tt&amp;gt;lawsuit/settings&amp;lt;/tt&amp;gt;. Wenn Sie ''Lawsuit'' in Ihrem Nutzerhauptverzeichnis installiert haben, gelangen Sie mit diesem Befehl dorthin:&lt;br /&gt;
{{Shell | &amp;gt; cd ~/lawsuit/settings}}&lt;br /&gt;
Erstellen Sie dort eine Konfigurationsdatei aus der Vorlage &amp;lt;tt&amp;gt;lawsuit-httpd.template&amp;lt;/tt&amp;gt; und ersetzen Sie den darin enthaltenen Platzhalter ''meinpfad'' dabei durch Ihren Pfad zum aktuellen Verzeichnis. Dies erfolgt automatisiert durch diese Befehle:&lt;br /&gt;
{{Shell | &amp;gt; pfad&amp;amp;#61;&amp;amp;#96;pwd &amp;amp;#124; sed &amp;amp;apos;s/\/lawsuit.*//&amp;amp;apos;  &amp;amp;#124; sed &amp;amp;apos;s/\//\\\\\//g&amp;amp;apos;&amp;amp;#96;&amp;lt;br&amp;gt; &amp;gt; sed &amp;amp;quot;s/meinpfad/$pfad/g&amp;amp;quot; lawsuit-httpd.template &amp;gt; lawsuit-httpd.conf}}&lt;br /&gt;
Falls Ihr Pfad zum Ordner &amp;lt;tt&amp;gt;Documents&amp;lt;/tt&amp;gt; nicht mit dem soeben ermittelten Pfad für &amp;lt;tt&amp;gt;lawsuit&amp;lt;/tt&amp;gt; identisch ist, passen Sie diese Einstellungen für das Verzeichnis &amp;lt;tt&amp;gt;Documents&amp;lt;/tt&amp;gt; bitte in der &amp;lt;tt&amp;gt;lawsuit-httpd.conf&amp;lt;/tt&amp;gt; mit einem Editor wie '''kate''' von Hand an.&lt;br /&gt;
&lt;br /&gt;
Abschließend kopieren Sie die erstellte Konfigurationsdatei als ''Superuser'' in das Verzeichnis der Virtual Hosts von Apache:&lt;br /&gt;
&lt;br /&gt;
{{Shell | &amp;gt; sudo cp lawsuit-httpd.conf /etc/apache2/sites-availabel/}}&lt;br /&gt;
&lt;br /&gt;
und aktivieren sie durch Verlinkung auf &amp;lt;tt&amp;gt;/etc/apache2/sites-enabled&amp;lt;/tt&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
{{Shell | &amp;gt; sudo a2ensite lawsuit-httpd.conf}}&lt;br /&gt;
&lt;br /&gt;
* Neustart von Apache&lt;br /&gt;
{{Shell | &amp;gt; sudo service apache2 restart}}&lt;br /&gt;
&lt;br /&gt;
=== Anpassen der Konfiguration ===&lt;br /&gt;
Um Ergänzungen oder Änderungen einheitlich für alle Virtual Hosts vorzunehmen, editieren Sie die Datei &amp;lt;tt&amp;gt;/etc/apache2/apache2.conf&amp;lt;/tt&amp;gt;. Zum Verständnis der Hierarchie und des Layouts um Dateien finden sich dort ausführliche die Kommentierungen. Die ursprüngliche, einfache Konfigurationsdatei mit nur 40K findet sich notfalls unter &amp;lt;tt&amp;gt;etc/apache2/sites-enabled/000-default.conf&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Optional: Ein Zertifikat für localhost erstellen ==&lt;br /&gt;
Bei Mehrplatzsystemen funktionieren die Javascript-Voreintragungen bei Nutzung einer sicheren HTTPS-Verbindung nur, wenn ein eigenes Zertifikat erstellt wird, dessen Aussteller zudem noch aus vertrauenswürdig eingestuft werden muss.OpenSSL bringt umfassende Werkzeuge mit, um eine eigene, kleine Certificate Authority (CA) betreiben zu können. &lt;br /&gt;
=== Vergabe einer Domain für den Rechner mit den Lawsuit-Daten ===&lt;br /&gt;
Unter &amp;lt;i&amp;gt;yast2 &amp;gt; Netzwerkdienste &amp;gt; Rechnernamen&amp;lt;/i&amp;gt; fügen Sie unter der Zeile &amp;quot;localhost&amp;quot; eine Zeile mit folgenden Daten ein:&lt;br /&gt;
 IP-Adresse: &amp;lt;b&amp;gt;192.168.2.10&amp;lt;/b&amp;gt;&lt;br /&gt;
 Hostnamen:  &amp;lt;b&amp;gt;k1.local&amp;lt;/b&amp;gt;&lt;br /&gt;
 Aliasnamen: &amp;lt;b&amp;gt;k1&amp;lt;/b&amp;gt;&lt;br /&gt;
[[Datei:Hostkonfiguration.png|thumb|600px|left|Eigenen Rechnernamen vergeben]]&lt;br /&gt;
&amp;lt;br clear=all&amp;gt;&lt;br /&gt;
Sie können statt &amp;quot;k1&amp;quot; eine beliebe andere Bezeichnung für den Hauptrechner wählen, müssen dann aber Ihre Domain in den folgenden Einstellungen beibehalten.&lt;br /&gt;
&lt;br /&gt;
=== Certificate Authority (CA) erstellen ===&lt;br /&gt;
Zu Beginn wird die Certificate Authority generiert. Zunächst wird ein geheimer Private Key erzeugt:&lt;br /&gt;
{{Shell |&amp;amp;gt; sudo openssl genrsa -aes256 -out /etc/ssl/private/rootCA.key 4096}}&lt;br /&gt;
Der Key trägt den Namen “rootCA.pem” und hat eine Länge von 4096 Bit. Die Option “-aes256” führt dazu, dass der Key mit einem Passwort geschützt wird. Die Key-Datei der CA muss tatsächlich besonders gut geschützt werden. Ein Angreifer, der den Key in die Hände bekommt, kann beliebig gefälschte Zertifikate im Namen der Kanzlei ausstellen, denen die Clients trauen. Die Verschlüsselung dieses Keys mit einem Passwort gibt zusätzlichen Schutz. Das gewünschte Passwort wird bei der Generierung abgefragt.&lt;br /&gt;
Einen geheimen Key für die CA gibt es damit also schon - es fehlt noch das Root-Zertifikat, das von den Clients später importiert werden muss, damit die von der CA ausgestellten Zertifikate im Browser als gültig erkannt werden. Das Root-Zertifikat “ca-root.pem” wird mit folgendem Befehl erzeugt: &lt;br /&gt;
{{Shell |&amp;amp;gt; sudo openssl req -x509 -new -nodes -key /etc/ssl/private/rootCA.key -sha512 -days 5483 -out /etc/ssl/certs/rootCA.pem}}&lt;br /&gt;
In diesem Fall wird die CA 5483 Tage, also mit Schalttagen 15 Jahre lang gültig bleiben. Während der Generierung werden das Passwort für die CA und einige Attribute abgefragt (hier ein Beispiel):&lt;br /&gt;
 Country Name (2 letter code) [AU]:&amp;lt;b&amp;gt;DE&amp;lt;/b&amp;gt;&lt;br /&gt;
 State or Province Name (full name) [Some-State]:&amp;lt;b&amp;gt;Nordrhein-Westfalen&amp;lt;/b&amp;gt;&lt;br /&gt;
 Locality Name (eg, city) []:&amp;lt;b&amp;gt;Muenster&amp;lt;/b&amp;gt;&lt;br /&gt;
 Organization Name (eg, company) [Internet Widgits Pty Ltd]:&amp;lt;b&amp;gt;Kanzlei Hermanns&amp;lt;/b&amp;gt;&lt;br /&gt;
 Organizational Unit Name (eg, section) []:&amp;lt;b&amp;gt;Rechtsanwalt&amp;lt;/b&amp;gt;&lt;br /&gt;
 Common Name (e.g. server FQDN or YOUR name) []:&amp;lt;b&amp;gt;RA Matthias Hermanns&amp;lt;/b&amp;gt;&lt;br /&gt;
 Email Address []:&amp;lt;b&amp;gt;hermanns@iustus.eu&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Erzeugen des Schlüssels===&lt;br /&gt;
Mit diesen Daten wird auch eine Konfiguratunsdatei mit Namen &amp;lt;tt&amp;gt;ssl.cnf&amp;lt;/tt&amp;gt; befüllt, die die Schlüsselausgabe später vereinfacht.&lt;br /&gt;
Zur besseren Übersichtlichkeit sollte ein mächtiges Textverarbeitungsprogramm wie ''kate'' verwendet werden.&lt;br /&gt;
{{Shell |&amp;amp;gt;sudo apt install kate}}&lt;br /&gt;
Erzeugen Sie dann Unterverzeichnisse und legen eine Konfigurationsdatei an:&lt;br /&gt;
{{Shell |&amp;amp;gt; cd ~/bin&amp;lt;br&amp;gt;&amp;amp;nbsp; mkdir keys&amp;lt;br&amp;gt;&amp;amp;nbsp; cd keys&amp;lt;br&amp;gt;&amp;amp;nbsp; kate ssl.cnf}}&lt;br /&gt;
Die Datei kann beispielsweise den folgenden Inhalt haben&lt;br /&gt;
 [req]&lt;br /&gt;
 # Standard-Verschlüsselung&lt;br /&gt;
 default_bits = 4096&lt;br /&gt;
 # verhindere prompt für die Zertifikat-Erstellung&lt;br /&gt;
 # (Daten kommen aus dieser Datei)&lt;br /&gt;
 prompt = no&lt;br /&gt;
 # Verschlüsselungsmethode&lt;br /&gt;
 default_md = sha512&lt;br /&gt;
 # Kryptographie abschalten&lt;br /&gt;
 encrypt_key = no&lt;br /&gt;
 # Sektion für Zertifizierer-Informationen:&lt;br /&gt;
 distinguished_name = dn&lt;br /&gt;
 &lt;br /&gt;
 # Zertifizierer-Informationen:&lt;br /&gt;
 [dn]&lt;br /&gt;
 # Länder-Code&lt;br /&gt;
 C=DE&lt;br /&gt;
 # Bundesland&lt;br /&gt;
 ST=Nordrhein-Westfalen&lt;br /&gt;
 # Stadt&lt;br /&gt;
 L=Muenster&lt;br /&gt;
 # Bezeichnung/Firmen-Name/Dein Name:&lt;br /&gt;
 O=Kanzlei Hermanns&lt;br /&gt;
 # Aussteller Name&lt;br /&gt;
 OU=RA Matthias Hermanns&lt;br /&gt;
 # E-Mail-Adresse&lt;br /&gt;
 emailAddress=hermanns@iustus.eu&lt;br /&gt;
 # Primärer Servername&lt;br /&gt;
 CN = &amp;lt;b&amp;gt;k1&amp;lt;/b&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 [v3_ca]&lt;br /&gt;
 keyUsage = digitalSignature, keyEncipherment&lt;br /&gt;
 extendedKeyUsage = serverAuth&lt;br /&gt;
 subjectAltName = IP:&amp;lt;b&amp;gt;192.168.2.10&amp;lt;/b&amp;gt;, DNS:&amp;lt;b&amp;gt;k1&amp;lt;/b&amp;gt;, DNS:&amp;lt;b&amp;gt;k1.local&amp;lt;/b&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 [ req_ext ]&lt;br /&gt;
 subjectAltName = @alt_names&lt;br /&gt;
 &lt;br /&gt;
 [alt_names]&lt;br /&gt;
 # Primärer Server-Name&lt;br /&gt;
 DNS.1 = &amp;lt;b&amp;gt;k1&amp;lt;/b&amp;gt;&lt;br /&gt;
 # Sekunärer Server-Name&lt;br /&gt;
 DNS.2 = &amp;lt;b&amp;gt;k1.local&amp;lt;/b&amp;gt;&lt;br /&gt;
 # Wildcard Subdomains&lt;br /&gt;
 DNS.3 = *.&amp;lt;b&amp;gt;k1.local&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Speichern Sie die so erstellte Datei &amp;lt;tt&amp;gt;ssl.cnf&amp;lt;/tt&amp;gt; im &amp;lt;tt&amp;gt;bin&amp;lt;/tt&amp;gt;-Verzeichnis ab. Mit folgendem Befehl erzeugen Sie nun als zertifizierter Aussteller die eigentlichen Schlüssel für die SSL-Verbindung.&lt;br /&gt;
Zunächst wird der RSA-Key mit 3072 Bit erzeugt (Asymmetrischer Schlüssel von Rivest, Shamir und Adleman, der einen privaten und einen öffentlichen Teil hat):&lt;br /&gt;
{{Shell |&amp;amp;gt; openssl genrsa -out k1.key 3072}}&lt;br /&gt;
Nun folgt die Certificate Signing Request (CSR; deutsch Zertifikatsignierungsanforderung), ein digitaler Antrag, um mittels der soeben erzeugten digitalen Signatur und der zusätzlichen Identitätsangaben zum Antragstellers aus der &amp;lt;tt&amp;gt;ssl.cnf&amp;lt;/tt&amp;gt; ein persönliches digitales Identitäts-Zertifikat (auch Public-Key-Zertifikat genannt) zu erstellen:&lt;br /&gt;
{{Shell |&amp;amp;gt; openssl req -new -keyout ~/bin/keys/k1.key -out ~/bin/keys/k1.csr -config ~/bin/keys/ssl.cnf}}&lt;br /&gt;
Mithilfe des Wurzelzertifikats vom verifizierten Aussteller (uns selbst) wird nun der eigentliche Schlüssel erstellt, damit eine Rückverfolgung zum Wurzelzertifikat möglich ist. &lt;br /&gt;
{{Shell |&amp;amp;gt; sudo openssl x509 -req \&amp;lt;br&amp;gt;&amp;amp;nbsp; -in ~/bin/keys/k1.csr \&amp;lt;br&amp;gt;&amp;amp;nbsp; -CA /etc/ssl/certs/rootCA.pem \&amp;lt;br&amp;gt;&amp;amp;nbsp; -CAkey /etc/ssl/private/rootCA.key \&amp;lt;br&amp;gt;&amp;amp;nbsp; -CAcreateserial \&amp;lt;br&amp;gt;&amp;amp;nbsp; -out ~/bin/keys/k1.crt \&amp;lt;br&amp;gt;&amp;amp;nbsp; -days 3653 \&amp;lt;br&amp;gt;&amp;amp;nbsp; -extfile ~/bin/keys/ssl.cnf \&amp;lt;br&amp;gt;&amp;amp;nbsp; -extensions v3_ca }}&lt;br /&gt;
&lt;br /&gt;
Damit die Zertifkate in unsere regelmäßige Sicherungsspeicherung aufgenommen werden, können wir sie in das Schlüsselverzeichnis &amp;lt;tt&amp;gt;keys&amp;lt;/tt&amp;gt; unter &amp;lt;tt&amp;gt;lawsuit&amp;lt;/tt&amp;gt; kopieren. Dies ist jedoch nicht optional, weil es ein Sicherheitsrisiko eröffnet:&lt;br /&gt;
{{Shell |&amp;amp;gt; sudo chown matthias:users keys/k1.crt&amp;lt;br&amp;gt;&amp;amp;nbsp; chmod 640 ~/bin/keys/k1.*&amp;lt;br&amp;gt;&amp;amp;nbsp; cp ~/bin/keys/k1.* ~/lawsuit/keys/}}&lt;br /&gt;
&lt;br /&gt;
=== Verbindung mit dem Server ===&lt;br /&gt;
Wenn Sie host-Datei &amp;lt;tt&amp;gt;lawsuit-httpd.conf&amp;lt;/tt&amp;gt; automatisch wie oben vorgeschlagen generiert haben, sind die notwendigen Einstellungen schon voreingetragen und müssen nur auskommentiert werden. Ansonsten ergänzen Sie unter /etc/apache2/sites_enabled/&lt;br /&gt;
folgende Zeilen:&lt;br /&gt;
 &amp;lt;VirtualHost *:80&amp;gt;&lt;br /&gt;
    ServerName &amp;lt;b&amp;gt;k1&amp;lt;/b&amp;gt;&lt;br /&gt;
    ServerAlias &amp;lt;b&amp;gt;k1.local&amp;lt;/b&amp;gt;&lt;br /&gt;
 &amp;lt;/VirtualHost&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 &amp;lt;IfModule mod_ssl.c&amp;gt;&lt;br /&gt;
    &amp;lt;VirtualHost *:443&amp;gt;&lt;br /&gt;
        ServerAdmin webmaster@localhost&lt;br /&gt;
        DocumentRoot /home/BENUTZERNAME/lawsuit/&lt;br /&gt;
        ServerName &amp;lt;b&amp;gt;k1&amp;lt;/b&amp;gt;&lt;br /&gt;
        ServerAlias &amp;lt;b&amp;gt;k1.local&amp;lt;/b&amp;gt;&lt;br /&gt;
        ErrorLog /var/log/apache2/error_log&lt;br /&gt;
        SSLEngine on&lt;br /&gt;
        SSLCertificateFile      /home/BENUTZERNAME/bin/keys/&amp;lt;b&amp;gt;k1.crt&amp;lt;/b&amp;gt;&lt;br /&gt;
        SSLCertificateKeyFile   /home/BENUTZERNAME/bin/keys/&amp;lt;b&amp;gt;k1.key&amp;lt;/b&amp;gt;&lt;br /&gt;
        &amp;lt;IfModule mod_headers.c&amp;gt;&lt;br /&gt;
            Header always set Strict-Transport-Security &amp;quot;max-age=15552000; includeSubDomains&amp;quot;&lt;br /&gt;
        &amp;lt;/IfModule&amp;gt;&lt;br /&gt;
        &amp;lt;FilesMatch &amp;quot;\.(cgi|html|shtml|pl|phtml|php)$&amp;quot;&amp;gt;&lt;br /&gt;
            SSLOptions +StdEnvVars&lt;br /&gt;
        &amp;lt;/FilesMatch&amp;gt;&lt;br /&gt;
        &amp;lt;Directory /home/BENUTZERNAME/lawsuit/cgi-bin&amp;gt;&lt;br /&gt;
            SSLOptions +StdEnvVars&lt;br /&gt;
        &amp;lt;/Directory&amp;gt;&lt;br /&gt;
    &amp;lt;/VirtualHost&amp;gt;&lt;br /&gt;
 &amp;lt;/IfModule&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 # configuration&lt;br /&gt;
 SSLProtocol             all -SSLv3 -TLSv1 -TLSv1.1 -TLSv1.2&lt;br /&gt;
 SSLHonorCipherOrder     off&lt;br /&gt;
 SSLSessionTickets       off&lt;br /&gt;
&lt;br /&gt;
Damit diese Einstellungen vom Browser angenommen werden, muss das Zertifkat fort eingetragen werden.&lt;br /&gt;
Gehen Sie dazu unter Firefox in das Menu und wählen die Unterpunkte &amp;gt; Datenschutz &amp;amp; Sicherheit oder rufen Sie den Unterpunkt direkt mit&lt;br /&gt;
 about:preferences#privacy&lt;br /&gt;
auf. Gehen Sie zum Unterpunkt &amp;lt;tt&amp;gt;Sicherheit &amp;gt; Zertifikate&amp;lt;/tt&amp;gt; und klicken Sie ''Zeertifikate anzeigen...'' an. Dort tragen Sie unter dem Reiter ''Server'' das eigene Zertifikate ein, indem Sie das eigene auf der Seite &lt;br /&gt;
 https://k1&lt;br /&gt;
als Ausnahme bestätigen.&lt;br /&gt;
Laden Sie dazu das Zertifikat von der Seite ''https://k1'' herunter und bestätigen Sie mit dem Auswahlästchen, dass es sich um eine dauerhaft zu speichernde Ausnahme handelt. Drücken Sie den Button ''Sicherheitsausnahme bestätigen''.&lt;br /&gt;
[[Datei:Zertifikat_eintragen.png|thumb|600px|left|Importieren des Zertifikate als dauerhafte Sicherheitsausnahme]]&lt;br /&gt;
&amp;lt;br clear=all&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Unter Firefox kann das selbstgezeichnete Zertifikat nun verwendet werden. Bitte beachten Sie, dass für jede Apache-Konfigurrationsdatei ein anderer Port geöffnet werden muss, &amp;quot;443&amp;quot; also nur einmal verwendet werden kann. Sie können alternativ z.B. &amp;quot;4443&amp;quot; verwenden.&lt;br /&gt;
&lt;br /&gt;
Abschließender Test und Neustart:&lt;br /&gt;
{{Shell |&amp;amp;#35; sudo apache2ctl -t&amp;lt;br&amp;gt;&amp;amp;nbsp; sudo systemctl restart apache2}}&lt;br /&gt;
&lt;br /&gt;
=== Registrierung als vertrauenswürdiger Aussteller für den Firefox-Browser ===&lt;br /&gt;
Damit der Firefox-Browser das Zertifikat tatsächlich verwendet und als vertrauenswürdig akzeptiert, muss es im Kleopatra-Schlüsseldienst eingetragen werden, auf den der Browser zugreift. &lt;br /&gt;
{{Shell |&amp;amp;gt; kleopatra}}&lt;br /&gt;
Klicken Sie den Reiter &amp;lt;b&amp;gt;Importieren&amp;lt;/b&amp;gt; an und fügen Sie nacheinander die folgenden Dateien ein:&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;/home/BENUTZERNAME/bin/keys/k1.crt&amp;lt;/tt&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;/etc/ssl/certs/rootCA.pem&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Bitte bestätigen Sie die erbetenen Beglaubigungen mit der Maustaste.&lt;br /&gt;
[[Datei:Kleopatra.png|thumb|600px|left|Importieren der Zertifikate in das Kleopatra-Schlüsselverwaltungsprogramm]]&lt;br /&gt;
&amp;lt;br clear=all&amp;gt;&lt;br /&gt;
Nun wechseln Sie in den Firefox-Browser und geben in die Adresszeile ein&lt;br /&gt;
 about:config&lt;br /&gt;
Dort ändern Sie die Variable&lt;br /&gt;
 security.enterprise_roots.enabled -&amp;gt; true&lt;br /&gt;
von &amp;quot;false&amp;quot; auf &amp;quot;true&amp;quot;. Nun bezieht der Browser auch Ihre eigenen CA-Beglaubigungen des Unternehmens eine seine Bewertungen mit ein und vergibt ein grünes Schlüsselsymbol.&lt;br /&gt;
&lt;br /&gt;
== Problembehebung ==&lt;br /&gt;
Lesen Sie wenn möglich die Fehlermeldungen nach dem Start des Servers. Versuchen Sie Fehler ggf. zu reproduzieren und vergleichen Sie die Einträge in den Log-Dateien. Den Einblick auf die dortigen Meldungen können Sie mit dem folgenden Befehl auf den neuesten Stand reduzieren::&lt;br /&gt;
&lt;br /&gt;
{{Shell | # tail -F /var/log/apache2/*}}&lt;br /&gt;
&lt;br /&gt;
Da die Error-Messages schnell sehr großen Umfang einnehmen, der am Ende sogar den Systemstart blockieren kann, empfiehlt es sich, mit Logrotate den Bestand unter Kontrolle zu halten. Installieren Sie dazu, falls noch nicht vom System geschehen:&lt;br /&gt;
{{Shell | # zypper in logrotate}}&lt;br /&gt;
Sie können die Einstellungen in der Konfigurationsdatei &lt;br /&gt;
 /etc/logrotate.conf&lt;br /&gt;
ändern. Eine typische Konfiguration von &amp;lt;tt&amp;gt;logrotate.conf&amp;lt;/tt&amp;gt; sieht z.B. wie folgt aus:&lt;br /&gt;
{{Shell |&amp;amp;#35; see &amp;quot;man logrotate&amp;quot; for details&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;amp;#35; rotate log files weekly &lt;br /&gt;
&amp;lt;br&amp;gt;weekly &lt;br /&gt;
&amp;lt;br&amp;gt;&amp;amp;#35; keep 4 weeks worth of backlogs &lt;br /&gt;
&amp;lt;br&amp;gt;rotate 4&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;b&amp;gt;&amp;amp;#35; remove rotated logs older than &amp;lt;count&amp;gt; days&lt;br /&gt;
&amp;lt;br&amp;gt;maxage 90 &amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;amp;#35; create new (empty) log files after rotating old ones &lt;br /&gt;
&amp;lt;br&amp;gt;create&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;amp;#35; use date as a suffix of the rotated file&lt;br /&gt;
&amp;lt;br&amp;gt;dateext&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;amp;#35; uncomment this if you want your log files compressed &lt;br /&gt;
&amp;lt;br&amp;gt;compress&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;amp;#35; comment these to switch compression to use gzip or another &lt;br /&gt;
&amp;lt;br&amp;gt;&amp;amp;#35; compression scheme&lt;br /&gt;
&amp;lt;br&amp;gt;compresscmd /usr/bin/xz&lt;br /&gt;
&amp;lt;br&amp;gt;uncompresscmd /usr/bin/xzdec&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;amp;#35; RPM packages drop log rotation information into this directory&lt;br /&gt;
&amp;lt;br&amp;gt;include /etc/logrotate.d&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Sollten Sie einen Fehler gefunden haben, [https://de.opensuse.org/SDB:Fehler_berichten berichten Sie ihn] bitte.&lt;br /&gt;
&lt;br /&gt;
==Weiterführende Informationen==&lt;br /&gt;
=== Verwandte Artikel ===&lt;br /&gt;
*[https://documentation.ubuntu.com/server/how-to/security/firewalls/ Optionen für das Einrichten der Firewall unter Ubuntu]&lt;br /&gt;
* Package documentation and example configuration files in /usr/share/doc/packages/apache2/&lt;br /&gt;
&lt;br /&gt;
===Externe Links===&lt;br /&gt;
* [https://documentation.ubuntu.com/server/how-to/web-services/install-apache2/ Apache Documentation]&lt;br /&gt;
* [http://httpd.apache.org/ The Apache Project]&lt;br /&gt;
* [http://www.apache.org/ Apache Software Foundation]&lt;br /&gt;
&lt;br /&gt;
{{DEFAULTSORT:{{PAGENAME}}}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Linuxinstallation]]&lt;/div&gt;</summary>
		<author><name>87.123.95.19</name></author>	</entry>

	<entry>
		<id>http://wiki.iustus.eu/wiki/index.php?title=Aufsetzen_des_Apache-Servers_-_ubuntu&amp;diff=7139</id>
		<title>Aufsetzen des Apache-Servers - ubuntu</title>
		<link rel="alternate" type="text/html" href="http://wiki.iustus.eu/wiki/index.php?title=Aufsetzen_des_Apache-Servers_-_ubuntu&amp;diff=7139"/>
				<updated>2026-01-02T16:35:55Z</updated>
		
		<summary type="html">&lt;p&gt;87.123.95.19: /* Einstellungen für Lawsuit */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Ubuntu|&lt;br /&gt;
*[https://ubuntu.com/tutorials/install-ubuntu-desktop-1604#1-overview 16.04.]&lt;br /&gt;
|&lt;br /&gt;
*[https://ubuntu.com/tutorials/install-and-configure-apache#2-installing-apache Apache Installation]&lt;br /&gt;
|&lt;br /&gt;
*[https://wiki.ubuntuusers.de/Apache_2.4/]&lt;br /&gt;
*[https://wiki.ubuntuusers.de/Apache/Module/ Apache Module]&lt;br /&gt;
*[https://wiki.ubuntuusers.de/Apache/Virtual_Hosts/ Virtual Hosts]&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Einführung ==&lt;br /&gt;
&lt;br /&gt;
Diese Dokument gibt eine rasche Einführung, wie ein Apache-Server auf dem lokalen Rechner aufgesetzt werden kann, der die Lawsuit-Programmteile bereitstellt.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
{{Warnung| Die Kurzanleitung geht nicht vertieft auf mögliche Experten-Einstellungen des Servers ein. Insbesondere bleiben hier Sicherheitseinstellungen unberücksichtigt, die für den Betrieb als öffentlich zugänglicher Netzserver unumgänglich wären. Die nachfolgenden Schritte sind für Anwender gedacht, die Lawsuit intern auf dem Kanzleirechner hinter einer Firewall betreiben möchten.}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== Allgemeine Rechner-Konfiguration ==&lt;br /&gt;
&lt;br /&gt;
Die Software benötigt eine funktionierende Netzwerkumgebung. Diese wird jedoch bereits standardmäßig von Ubuntu eingereichtet. Achten Sie aber insbesondere bei der Nutzung von [https://de.wikipedia.org/wiki/Dynamic_Host_Configuration_Protocol DHCP] darauf, dass [[Mehrplatzsysteme - ubuntu|weitere Rechner]] der Kanzlei vom Networkmanager tatsächlich im selben Nummernraum wie dieser PC eingetragen wurden, auf dem Apache nun installiert werden soll. Ansonsten können diese Rechner später nicht auf die Kanzleisoftware zugreifen.&lt;br /&gt;
&lt;br /&gt;
Als Zweites sollte der PC auf dem aktuellen Softwarestand sein. &lt;br /&gt;
{{Shell|&amp;gt; sudo apt update}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Installation der Apache-Pakete ===&lt;br /&gt;
&lt;br /&gt;
Der Apache-Server und das optionale Perl-Modul können mit ''apt'' installiert werden. Öffnen Sie dazu ein Terminal-Fenster und wechseln Sie wie folgt in den Superuser-Modus:&lt;br /&gt;
{{Shell|&amp;gt; sudo apt install apache2}}&lt;br /&gt;
Geben Sie das Passwort ein.&lt;br /&gt;
Prüfen Sie die korrekte Funktionsweise des Apache-Servers, indem Sie in die Browser-Adresszeile die folgende Adresse eingeben:&lt;br /&gt;
 http://localhost/&lt;br /&gt;
Es sollte folgende Ausgabe zu sehen sein:&lt;br /&gt;
[[Datei:Apache_works.png|thumb|600px|left|Apache-Server Startausgabe]]&lt;br /&gt;
&amp;lt;br clear=all&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Start des Servers ===&lt;br /&gt;
Mit folgenden zwei Befehlen wird der Apache-Server gestartet und auf Dauer im System aktiviert.&lt;br /&gt;
{{Shell|# systemctl start apache2&amp;lt;br&amp;gt;&amp;amp;nbsp; systemctl enable apache2}}&lt;br /&gt;
&lt;br /&gt;
=== Einrichtung und Anpassung der Firewall ===&lt;br /&gt;
&lt;br /&gt;
Normalerweise sollte die die Firewall ''ufd'' (Uncomplicated Firewall) vorinstalliert sein. Für unsere Zwecke zielführender ist ''firewalld''. Dies wird mit&lt;br /&gt;
{{Shell|&amp;gt; sudo apt install firewalld}}&lt;br /&gt;
installiert. Danach muss, um Systemkonflikte zu vermeiden ''ufd'' deaktiviert werden. Dies erfolgt per&lt;br /&gt;
{{Shell|&amp;gt; sudo ufw disable}}&lt;br /&gt;
Starten Sie nun ''firewalld'' mit&lt;br /&gt;
{{Shell|&amp;gt; sudo systemctl enable --now firewalld}}&lt;br /&gt;
&lt;br /&gt;
Die Firewall ist so voreingestellt, dass sie über Port 80 auf den Rechner eingehende Daten grundsätzlich sperrt. Folglich müssen die Firewall-Einstellungen so angepasst werden, dass aus dem Lokalen Netzwerk über Port 80 eingehender Datenstrom akzeptiert wird.&lt;br /&gt;
Die folgenden Schritte müssen dazu weiterhin als Root ausgeführt werden. &lt;br /&gt;
&lt;br /&gt;
{{Shell|&amp;gt; sudo firewall-cmd --zone internal --permanent --add-interface&amp;amp;#61;eth0&amp;lt;br&amp;gt;&amp;amp;nbsp; sudo firewall-cmd --zone internal --permanent --add-service&amp;amp;#61;nfs&amp;lt;br&amp;gt;&amp;amp;nbsp; sudo firewall-cmd --zone internal --permanent --add-service&amp;amp;#61;http&amp;lt;br&amp;gt;&amp;amp;nbsp; sudo firewall-cmd --zone internal --permanent --add-service&amp;amp;#61;https&amp;lt;br&amp;gt;&amp;amp;nbsp; sudo firewall-cmd --reload}}&lt;br /&gt;
&lt;br /&gt;
Weitere verfügbare Dienste lassen sich mit folgendem Befehl anzeigen&lt;br /&gt;
{{Shell|&amp;gt; sudo firewall-cmd --get-service}}&lt;br /&gt;
und ggf. nach obigem Muster ergänzen&lt;br /&gt;
&lt;br /&gt;
=== Aktivierung des Servers ===&lt;br /&gt;
Starten Sie den Server und aktivieren Sie ihn in einem Bootverzeichnis, damit er mit dem Rechner hochgefahren wird (s.o. ohne Yast):&lt;br /&gt;
{{Shell|# systemctl start apache2.service&amp;lt;br&amp;gt;&amp;amp;nbsp; systemctl enable apache2}}&lt;br /&gt;
&lt;br /&gt;
=== Hinzufügen von Apache-Modulen===&lt;br /&gt;
Um benötigte Apache-Module zu laden, können wir die Konfigurationsvariable ''APACHE_MODULES'' in &amp;lt;tt&amp;gt;/etc/sysconfig/apache2&amp;lt;/tt&amp;gt; editieren. Schneller geht es jedoch mit den nachfolgenden Befehlen.&lt;br /&gt;
Einige Programme müssen zunächst nachgeladen werden:&lt;br /&gt;
{{Shell|&amp;gt; sudo apt install libapache2-mod-perl2 libapache2-mod-dnssd libapache2-mod-python}}&lt;br /&gt;
Nach der Änderung muss der Server neu gestartet werden. Auch für die folgenden Befehle sind wieder die Rechte eines Superusers vonnöten.&lt;br /&gt;
{{Shell|&amp;gt; sudo a2enmod perl ssl dnssd rewrite actions python&amp;lt;br&amp;gt;&amp;amp;nbsp; sudo systemctl restart apache2}}&lt;br /&gt;
&lt;br /&gt;
== Virtual Hosts ==&lt;br /&gt;
===Allgemeines===&lt;br /&gt;
Das Verzeichnis für alle Virtual Host unter Ubuntu ist &amp;lt;tt&amp;gt;/etc/apache2/sites-available/&amp;lt;/tt&amp;gt;. Nur Dateien mit dem Suffix &amp;quot;.conf&amp;quot; werden automatisch in die Apachekonfiguration einbezogen. Damit sie von Apache verwendet werden, müssen sie zudem vom Verzeichnis &amp;lt;tt&amp;gt;/etc/apache2/sites-enabled/&amp;lt;/tt&amp;gt; verlinkt sein. &lt;br /&gt;
&lt;br /&gt;
{{Intro|Wenn Sie neben Lawsuit einen weiteren eigenen Virtual Host hinzufügen möchten, ersetzen Sie in den folgenden Zeilen bitte ''Domainname'' durch ihren Verzeichnisnamen oder Ihre IP-Adresse.}}&lt;br /&gt;
&lt;br /&gt;
* Es gibt mehrere Varianten für die Struktur, mit welcher der eigenen Server auf dem Rechner aufgesetzt werden kann. Folgende Optionen bieten sich an: &lt;br /&gt;
:* [https://httpd.apache.org/docs/2.4/de/vhosts/name-based.html namensbasiert]&lt;br /&gt;
:* [https://httpd.apache.org/docs/2.4/de/vhosts/ip-based.html IP-basiert]&lt;br /&gt;
:* portbasiert&lt;br /&gt;
&lt;br /&gt;
* Sei können für Ihre Verzeichnisse die Vorlage '''vhost.template''' kopieren und als Ihre '''{DOMAINNAME}.conf''' speichern. Hier hinein tragen Sie anschließend die Unterverzeichnisse für Ihren Virtual Host ein.&lt;br /&gt;
&lt;br /&gt;
===Einstellungen für ''Lawsuit''===&lt;br /&gt;
Deaktivieren Sie zunächst die von Ubuntu bereitgestellte Vorlage&lt;br /&gt;
{{Shell|&amp;gt; sudo a2dissite 000-default.conf}}&lt;br /&gt;
Für ''Lawsuit'' wird die stattdessen benötigte Konfigurationsdatei im Unterverzeichnis &amp;lt;tt&amp;gt;lawsuit/settings&amp;lt;/tt&amp;gt; bereits fertig zur Verfügung gestellt. Sie müssen lediglich in der genannten Datei den Platzhalter durch den eigenen Nutzernamen ersetzen und die fertige Datei in das Vhosts-Verzeichnis verlinken. Wechseln Sie in das Unterverzeichnis &amp;lt;tt&amp;gt;lawsuit/settings&amp;lt;/tt&amp;gt;. Wenn Sie ''Lawsuit'' in Ihrem Nutzerhauptverzeichnis installiert haben, gelangen Sie mit diesem Befehl dorthin:&lt;br /&gt;
{{Shell | &amp;gt; cd ~/lawsuit/settings}}&lt;br /&gt;
Erstellen Sie dort eine Konfigurationsdatei aus der Vorlage &amp;lt;tt&amp;gt;lawsuit-httpd.template&amp;lt;/tt&amp;gt; und ersetzen Sie den darin enthaltenen Platzhalter ''meinpfad'' dabei durch Ihren Pfad zum aktuellen Verzeichnis. Dies erfolgt automatisiert durch diese Befehle:&lt;br /&gt;
{{Shell | &amp;gt; pfad&amp;amp;#61;&amp;amp;#96;pwd &amp;amp;#124; sed &amp;amp;apos;s/\/lawsuit.*//&amp;amp;apos;  &amp;amp;#124; sed &amp;amp;apos;s/\//\\\\\//g&amp;amp;apos;&amp;amp;#96;&amp;lt;br&amp;gt; &amp;gt; sed &amp;amp;quot;s/meinpfad/$pfad/g&amp;amp;quot; lawsuit-httpd.template &amp;gt; lawsuit-httpd.conf}}&lt;br /&gt;
Falls Ihr Pfad zum Ordner &amp;lt;tt&amp;gt;Documents&amp;lt;/tt&amp;gt; nicht mit dem soeben ermittelten Pfad für &amp;lt;tt&amp;gt;lawsuit&amp;lt;/tt&amp;gt; identisch ist, passen Sie diese Einstellungen für das Verzeichnis &amp;lt;tt&amp;gt;Documents&amp;lt;/tt&amp;gt; bitte in der &amp;lt;tt&amp;gt;lawsuit-httpd.conf&amp;lt;/tt&amp;gt; mit einem Editor wie '''kate''' von Hand an.&lt;br /&gt;
&lt;br /&gt;
Abschließend kopieren Sie die erstellte Konfigurationsdatei als ''Superuser'' in das Verzeichnis der Virtual Hosts von Apache:&lt;br /&gt;
&lt;br /&gt;
{{Shell | &amp;gt; sudo cp lawsuit-httpd.conf /etc/apache2/sites-availabel/}}&lt;br /&gt;
&lt;br /&gt;
und aktivieren sie durch Verlinkung auf &amp;lt;tt&amp;gt;/etc/apache2/sites-enabled&amp;lt;/tt&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
{{Shell | &amp;gt; sudo a2ensite lwasuit-httpd.conf/}}&lt;br /&gt;
&lt;br /&gt;
* Neustart von Apache&lt;br /&gt;
{{Shell | &amp;gt; sudo service apache2 restart}}&lt;br /&gt;
&lt;br /&gt;
=== Anpassen der Konfiguration ===&lt;br /&gt;
Um Ergänzungen oder Änderungen einheitlich für alle Virtual Hosts vorzunehmen, editieren Sie die Datei &amp;lt;tt&amp;gt;/etc/apache2/apache2.conf&amp;lt;/tt&amp;gt;. Zum Verständnis der Hierarchie und des Layouts um Dateien finden sich dort ausführliche die Kommentierungen. Die ursprüngliche, einfache Konfigurationsdatei mit nur 40K findet sich notfalls unter &amp;lt;tt&amp;gt;etc/apache2/sites-enabled/000-default.conf&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Optional: Ein Zertifikat für localhost erstellen ==&lt;br /&gt;
Bei Mehrplatzsystemen funktionieren die Javascript-Voreintragungen bei Nutzung einer sicheren HTTPS-Verbindung nur, wenn ein eigenes Zertifikat erstellt wird, dessen Aussteller zudem noch aus vertrauenswürdig eingestuft werden muss.OpenSSL bringt umfassende Werkzeuge mit, um eine eigene, kleine Certificate Authority (CA) betreiben zu können. &lt;br /&gt;
=== Vergabe einer Domain für den Rechner mit den Lawsuit-Daten ===&lt;br /&gt;
Unter &amp;lt;i&amp;gt;yast2 &amp;gt; Netzwerkdienste &amp;gt; Rechnernamen&amp;lt;/i&amp;gt; fügen Sie unter der Zeile &amp;quot;localhost&amp;quot; eine Zeile mit folgenden Daten ein:&lt;br /&gt;
 IP-Adresse: &amp;lt;b&amp;gt;192.168.2.10&amp;lt;/b&amp;gt;&lt;br /&gt;
 Hostnamen:  &amp;lt;b&amp;gt;k1.local&amp;lt;/b&amp;gt;&lt;br /&gt;
 Aliasnamen: &amp;lt;b&amp;gt;k1&amp;lt;/b&amp;gt;&lt;br /&gt;
[[Datei:Hostkonfiguration.png|thumb|600px|left|Eigenen Rechnernamen vergeben]]&lt;br /&gt;
&amp;lt;br clear=all&amp;gt;&lt;br /&gt;
Sie können statt &amp;quot;k1&amp;quot; eine beliebe andere Bezeichnung für den Hauptrechner wählen, müssen dann aber Ihre Domain in den folgenden Einstellungen beibehalten.&lt;br /&gt;
&lt;br /&gt;
=== Certificate Authority (CA) erstellen ===&lt;br /&gt;
Zu Beginn wird die Certificate Authority generiert. Zunächst wird ein geheimer Private Key erzeugt:&lt;br /&gt;
{{Shell |&amp;amp;gt; sudo openssl genrsa -aes256 -out /etc/ssl/private/rootCA.key 4096}}&lt;br /&gt;
Der Key trägt den Namen “rootCA.pem” und hat eine Länge von 4096 Bit. Die Option “-aes256” führt dazu, dass der Key mit einem Passwort geschützt wird. Die Key-Datei der CA muss tatsächlich besonders gut geschützt werden. Ein Angreifer, der den Key in die Hände bekommt, kann beliebig gefälschte Zertifikate im Namen der Kanzlei ausstellen, denen die Clients trauen. Die Verschlüsselung dieses Keys mit einem Passwort gibt zusätzlichen Schutz. Das gewünschte Passwort wird bei der Generierung abgefragt.&lt;br /&gt;
Einen geheimen Key für die CA gibt es damit also schon - es fehlt noch das Root-Zertifikat, das von den Clients später importiert werden muss, damit die von der CA ausgestellten Zertifikate im Browser als gültig erkannt werden. Das Root-Zertifikat “ca-root.pem” wird mit folgendem Befehl erzeugt: &lt;br /&gt;
{{Shell |&amp;amp;gt; sudo openssl req -x509 -new -nodes -key /etc/ssl/private/rootCA.key -sha512 -days 5483 -out /etc/ssl/certs/rootCA.pem}}&lt;br /&gt;
In diesem Fall wird die CA 5483 Tage, also mit Schalttagen 15 Jahre lang gültig bleiben. Während der Generierung werden das Passwort für die CA und einige Attribute abgefragt (hier ein Beispiel):&lt;br /&gt;
 Country Name (2 letter code) [AU]:&amp;lt;b&amp;gt;DE&amp;lt;/b&amp;gt;&lt;br /&gt;
 State or Province Name (full name) [Some-State]:&amp;lt;b&amp;gt;Nordrhein-Westfalen&amp;lt;/b&amp;gt;&lt;br /&gt;
 Locality Name (eg, city) []:&amp;lt;b&amp;gt;Muenster&amp;lt;/b&amp;gt;&lt;br /&gt;
 Organization Name (eg, company) [Internet Widgits Pty Ltd]:&amp;lt;b&amp;gt;Kanzlei Hermanns&amp;lt;/b&amp;gt;&lt;br /&gt;
 Organizational Unit Name (eg, section) []:&amp;lt;b&amp;gt;Rechtsanwalt&amp;lt;/b&amp;gt;&lt;br /&gt;
 Common Name (e.g. server FQDN or YOUR name) []:&amp;lt;b&amp;gt;RA Matthias Hermanns&amp;lt;/b&amp;gt;&lt;br /&gt;
 Email Address []:&amp;lt;b&amp;gt;hermanns@iustus.eu&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Erzeugen des Schlüssels===&lt;br /&gt;
Mit diesen Daten wird auch eine Konfiguratunsdatei mit Namen &amp;lt;tt&amp;gt;ssl.cnf&amp;lt;/tt&amp;gt; befüllt, die die Schlüsselausgabe später vereinfacht.&lt;br /&gt;
Zur besseren Übersichtlichkeit sollte ein mächtiges Textverarbeitungsprogramm wie ''kate'' verwendet werden.&lt;br /&gt;
{{Shell |&amp;amp;gt;sudo apt install kate}}&lt;br /&gt;
Erzeugen Sie dann Unterverzeichnisse und legen eine Konfigurationsdatei an:&lt;br /&gt;
{{Shell |&amp;amp;gt; cd ~/bin&amp;lt;br&amp;gt;&amp;amp;nbsp; mkdir keys&amp;lt;br&amp;gt;&amp;amp;nbsp; cd keys&amp;lt;br&amp;gt;&amp;amp;nbsp; kate ssl.cnf}}&lt;br /&gt;
Die Datei kann beispielsweise den folgenden Inhalt haben&lt;br /&gt;
 [req]&lt;br /&gt;
 # Standard-Verschlüsselung&lt;br /&gt;
 default_bits = 4096&lt;br /&gt;
 # verhindere prompt für die Zertifikat-Erstellung&lt;br /&gt;
 # (Daten kommen aus dieser Datei)&lt;br /&gt;
 prompt = no&lt;br /&gt;
 # Verschlüsselungsmethode&lt;br /&gt;
 default_md = sha512&lt;br /&gt;
 # Kryptographie abschalten&lt;br /&gt;
 encrypt_key = no&lt;br /&gt;
 # Sektion für Zertifizierer-Informationen:&lt;br /&gt;
 distinguished_name = dn&lt;br /&gt;
 &lt;br /&gt;
 # Zertifizierer-Informationen:&lt;br /&gt;
 [dn]&lt;br /&gt;
 # Länder-Code&lt;br /&gt;
 C=DE&lt;br /&gt;
 # Bundesland&lt;br /&gt;
 ST=Nordrhein-Westfalen&lt;br /&gt;
 # Stadt&lt;br /&gt;
 L=Muenster&lt;br /&gt;
 # Bezeichnung/Firmen-Name/Dein Name:&lt;br /&gt;
 O=Kanzlei Hermanns&lt;br /&gt;
 # Aussteller Name&lt;br /&gt;
 OU=RA Matthias Hermanns&lt;br /&gt;
 # E-Mail-Adresse&lt;br /&gt;
 emailAddress=hermanns@iustus.eu&lt;br /&gt;
 # Primärer Servername&lt;br /&gt;
 CN = &amp;lt;b&amp;gt;k1&amp;lt;/b&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 [v3_ca]&lt;br /&gt;
 keyUsage = digitalSignature, keyEncipherment&lt;br /&gt;
 extendedKeyUsage = serverAuth&lt;br /&gt;
 subjectAltName = IP:&amp;lt;b&amp;gt;192.168.2.10&amp;lt;/b&amp;gt;, DNS:&amp;lt;b&amp;gt;k1&amp;lt;/b&amp;gt;, DNS:&amp;lt;b&amp;gt;k1.local&amp;lt;/b&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 [ req_ext ]&lt;br /&gt;
 subjectAltName = @alt_names&lt;br /&gt;
 &lt;br /&gt;
 [alt_names]&lt;br /&gt;
 # Primärer Server-Name&lt;br /&gt;
 DNS.1 = &amp;lt;b&amp;gt;k1&amp;lt;/b&amp;gt;&lt;br /&gt;
 # Sekunärer Server-Name&lt;br /&gt;
 DNS.2 = &amp;lt;b&amp;gt;k1.local&amp;lt;/b&amp;gt;&lt;br /&gt;
 # Wildcard Subdomains&lt;br /&gt;
 DNS.3 = *.&amp;lt;b&amp;gt;k1.local&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Speichern Sie die so erstellte Datei &amp;lt;tt&amp;gt;ssl.cnf&amp;lt;/tt&amp;gt; im &amp;lt;tt&amp;gt;bin&amp;lt;/tt&amp;gt;-Verzeichnis ab. Mit folgendem Befehl erzeugen Sie nun als zertifizierter Aussteller die eigentlichen Schlüssel für die SSL-Verbindung.&lt;br /&gt;
Zunächst wird der RSA-Key mit 3072 Bit erzeugt (Asymmetrischer Schlüssel von Rivest, Shamir und Adleman, der einen privaten und einen öffentlichen Teil hat):&lt;br /&gt;
{{Shell |&amp;amp;gt; openssl genrsa -out k1.key 3072}}&lt;br /&gt;
Nun folgt die Certificate Signing Request (CSR; deutsch Zertifikatsignierungsanforderung), ein digitaler Antrag, um mittels der soeben erzeugten digitalen Signatur und der zusätzlichen Identitätsangaben zum Antragstellers aus der &amp;lt;tt&amp;gt;ssl.cnf&amp;lt;/tt&amp;gt; ein persönliches digitales Identitäts-Zertifikat (auch Public-Key-Zertifikat genannt) zu erstellen:&lt;br /&gt;
{{Shell |&amp;amp;gt; openssl req -new -keyout ~/bin/keys/k1.key -out ~/bin/keys/k1.csr -config ~/bin/keys/ssl.cnf}}&lt;br /&gt;
Mithilfe des Wurzelzertifikats vom verifizierten Aussteller (uns selbst) wird nun der eigentliche Schlüssel erstellt, damit eine Rückverfolgung zum Wurzelzertifikat möglich ist. &lt;br /&gt;
{{Shell |&amp;amp;gt; sudo openssl x509 -req \&amp;lt;br&amp;gt;&amp;amp;nbsp; -in ~/bin/keys/k1.csr \&amp;lt;br&amp;gt;&amp;amp;nbsp; -CA /etc/ssl/certs/rootCA.pem \&amp;lt;br&amp;gt;&amp;amp;nbsp; -CAkey /etc/ssl/private/rootCA.key \&amp;lt;br&amp;gt;&amp;amp;nbsp; -CAcreateserial \&amp;lt;br&amp;gt;&amp;amp;nbsp; -out ~/bin/keys/k1.crt \&amp;lt;br&amp;gt;&amp;amp;nbsp; -days 3653 \&amp;lt;br&amp;gt;&amp;amp;nbsp; -extfile ~/bin/keys/ssl.cnf \&amp;lt;br&amp;gt;&amp;amp;nbsp; -extensions v3_ca }}&lt;br /&gt;
&lt;br /&gt;
Damit die Zertifkate in unsere regelmäßige Sicherungsspeicherung aufgenommen werden, können wir sie in das Schlüsselverzeichnis &amp;lt;tt&amp;gt;keys&amp;lt;/tt&amp;gt; unter &amp;lt;tt&amp;gt;lawsuit&amp;lt;/tt&amp;gt; kopieren. Dies ist jedoch nicht optional, weil es ein Sicherheitsrisiko eröffnet:&lt;br /&gt;
{{Shell |&amp;amp;gt; sudo chown matthias:users keys/k1.crt&amp;lt;br&amp;gt;&amp;amp;nbsp; chmod 640 ~/bin/keys/k1.*&amp;lt;br&amp;gt;&amp;amp;nbsp; cp ~/bin/keys/k1.* ~/lawsuit/keys/}}&lt;br /&gt;
&lt;br /&gt;
=== Verbindung mit dem Server ===&lt;br /&gt;
Wenn Sie host-Datei &amp;lt;tt&amp;gt;lawsuit-httpd.conf&amp;lt;/tt&amp;gt; automatisch wie oben vorgeschlagen generiert haben, sind die notwendigen Einstellungen schon voreingetragen und müssen nur auskommentiert werden. Ansonsten ergänzen Sie unter /etc/apache2/sites_enabled/&lt;br /&gt;
folgende Zeilen:&lt;br /&gt;
 &amp;lt;VirtualHost *:80&amp;gt;&lt;br /&gt;
    ServerName &amp;lt;b&amp;gt;k1&amp;lt;/b&amp;gt;&lt;br /&gt;
    ServerAlias &amp;lt;b&amp;gt;k1.local&amp;lt;/b&amp;gt;&lt;br /&gt;
 &amp;lt;/VirtualHost&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 &amp;lt;IfModule mod_ssl.c&amp;gt;&lt;br /&gt;
    &amp;lt;VirtualHost *:443&amp;gt;&lt;br /&gt;
        ServerAdmin webmaster@localhost&lt;br /&gt;
        DocumentRoot /home/BENUTZERNAME/lawsuit/&lt;br /&gt;
        ServerName &amp;lt;b&amp;gt;k1&amp;lt;/b&amp;gt;&lt;br /&gt;
        ServerAlias &amp;lt;b&amp;gt;k1.local&amp;lt;/b&amp;gt;&lt;br /&gt;
        ErrorLog /var/log/apache2/error_log&lt;br /&gt;
        SSLEngine on&lt;br /&gt;
        SSLCertificateFile      /home/BENUTZERNAME/bin/keys/&amp;lt;b&amp;gt;k1.crt&amp;lt;/b&amp;gt;&lt;br /&gt;
        SSLCertificateKeyFile   /home/BENUTZERNAME/bin/keys/&amp;lt;b&amp;gt;k1.key&amp;lt;/b&amp;gt;&lt;br /&gt;
        &amp;lt;IfModule mod_headers.c&amp;gt;&lt;br /&gt;
            Header always set Strict-Transport-Security &amp;quot;max-age=15552000; includeSubDomains&amp;quot;&lt;br /&gt;
        &amp;lt;/IfModule&amp;gt;&lt;br /&gt;
        &amp;lt;FilesMatch &amp;quot;\.(cgi|html|shtml|pl|phtml|php)$&amp;quot;&amp;gt;&lt;br /&gt;
            SSLOptions +StdEnvVars&lt;br /&gt;
        &amp;lt;/FilesMatch&amp;gt;&lt;br /&gt;
        &amp;lt;Directory /home/BENUTZERNAME/lawsuit/cgi-bin&amp;gt;&lt;br /&gt;
            SSLOptions +StdEnvVars&lt;br /&gt;
        &amp;lt;/Directory&amp;gt;&lt;br /&gt;
    &amp;lt;/VirtualHost&amp;gt;&lt;br /&gt;
 &amp;lt;/IfModule&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 # configuration&lt;br /&gt;
 SSLProtocol             all -SSLv3 -TLSv1 -TLSv1.1 -TLSv1.2&lt;br /&gt;
 SSLHonorCipherOrder     off&lt;br /&gt;
 SSLSessionTickets       off&lt;br /&gt;
&lt;br /&gt;
Damit diese Einstellungen vom Browser angenommen werden, muss das Zertifkat fort eingetragen werden.&lt;br /&gt;
Gehen Sie dazu unter Firefox in das Menu und wählen die Unterpunkte &amp;gt; Datenschutz &amp;amp; Sicherheit oder rufen Sie den Unterpunkt direkt mit&lt;br /&gt;
 about:preferences#privacy&lt;br /&gt;
auf. Gehen Sie zum Unterpunkt &amp;lt;tt&amp;gt;Sicherheit &amp;gt; Zertifikate&amp;lt;/tt&amp;gt; und klicken Sie ''Zeertifikate anzeigen...'' an. Dort tragen Sie unter dem Reiter ''Server'' das eigene Zertifikate ein, indem Sie das eigene auf der Seite &lt;br /&gt;
 https://k1&lt;br /&gt;
als Ausnahme bestätigen.&lt;br /&gt;
Laden Sie dazu das Zertifikat von der Seite ''https://k1'' herunter und bestätigen Sie mit dem Auswahlästchen, dass es sich um eine dauerhaft zu speichernde Ausnahme handelt. Drücken Sie den Button ''Sicherheitsausnahme bestätigen''.&lt;br /&gt;
[[Datei:Zertifikat_eintragen.png|thumb|600px|left|Importieren des Zertifikate als dauerhafte Sicherheitsausnahme]]&lt;br /&gt;
&amp;lt;br clear=all&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Unter Firefox kann das selbstgezeichnete Zertifikat nun verwendet werden. Bitte beachten Sie, dass für jede Apache-Konfigurrationsdatei ein anderer Port geöffnet werden muss, &amp;quot;443&amp;quot; also nur einmal verwendet werden kann. Sie können alternativ z.B. &amp;quot;4443&amp;quot; verwenden.&lt;br /&gt;
&lt;br /&gt;
Abschließender Test und Neustart:&lt;br /&gt;
{{Shell |&amp;amp;#35; sudo apache2ctl -t&amp;lt;br&amp;gt;&amp;amp;nbsp; sudo systemctl restart apache2}}&lt;br /&gt;
&lt;br /&gt;
=== Registrierung als vertrauenswürdiger Aussteller für den Firefox-Browser ===&lt;br /&gt;
Damit der Firefox-Browser das Zertifikat tatsächlich verwendet und als vertrauenswürdig akzeptiert, muss es im Kleopatra-Schlüsseldienst eingetragen werden, auf den der Browser zugreift. &lt;br /&gt;
{{Shell |&amp;amp;gt; kleopatra}}&lt;br /&gt;
Klicken Sie den Reiter &amp;lt;b&amp;gt;Importieren&amp;lt;/b&amp;gt; an und fügen Sie nacheinander die folgenden Dateien ein:&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;/home/BENUTZERNAME/bin/keys/k1.crt&amp;lt;/tt&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;/etc/ssl/certs/rootCA.pem&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Bitte bestätigen Sie die erbetenen Beglaubigungen mit der Maustaste.&lt;br /&gt;
[[Datei:Kleopatra.png|thumb|600px|left|Importieren der Zertifikate in das Kleopatra-Schlüsselverwaltungsprogramm]]&lt;br /&gt;
&amp;lt;br clear=all&amp;gt;&lt;br /&gt;
Nun wechseln Sie in den Firefox-Browser und geben in die Adresszeile ein&lt;br /&gt;
 about:config&lt;br /&gt;
Dort ändern Sie die Variable&lt;br /&gt;
 security.enterprise_roots.enabled -&amp;gt; true&lt;br /&gt;
von &amp;quot;false&amp;quot; auf &amp;quot;true&amp;quot;. Nun bezieht der Browser auch Ihre eigenen CA-Beglaubigungen des Unternehmens eine seine Bewertungen mit ein und vergibt ein grünes Schlüsselsymbol.&lt;br /&gt;
&lt;br /&gt;
== Problembehebung ==&lt;br /&gt;
Lesen Sie wenn möglich die Fehlermeldungen nach dem Start des Servers. Versuchen Sie Fehler ggf. zu reproduzieren und vergleichen Sie die Einträge in den Log-Dateien. Den Einblick auf die dortigen Meldungen können Sie mit dem folgenden Befehl auf den neuesten Stand reduzieren::&lt;br /&gt;
&lt;br /&gt;
{{Shell | # tail -F /var/log/apache2/*}}&lt;br /&gt;
&lt;br /&gt;
Da die Error-Messages schnell sehr großen Umfang einnehmen, der am Ende sogar den Systemstart blockieren kann, empfiehlt es sich, mit Logrotate den Bestand unter Kontrolle zu halten. Installieren Sie dazu, falls noch nicht vom System geschehen:&lt;br /&gt;
{{Shell | # zypper in logrotate}}&lt;br /&gt;
Sie können die Einstellungen in der Konfigurationsdatei &lt;br /&gt;
 /etc/logrotate.conf&lt;br /&gt;
ändern. Eine typische Konfiguration von &amp;lt;tt&amp;gt;logrotate.conf&amp;lt;/tt&amp;gt; sieht z.B. wie folgt aus:&lt;br /&gt;
{{Shell |&amp;amp;#35; see &amp;quot;man logrotate&amp;quot; for details&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;amp;#35; rotate log files weekly &lt;br /&gt;
&amp;lt;br&amp;gt;weekly &lt;br /&gt;
&amp;lt;br&amp;gt;&amp;amp;#35; keep 4 weeks worth of backlogs &lt;br /&gt;
&amp;lt;br&amp;gt;rotate 4&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;b&amp;gt;&amp;amp;#35; remove rotated logs older than &amp;lt;count&amp;gt; days&lt;br /&gt;
&amp;lt;br&amp;gt;maxage 90 &amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;amp;#35; create new (empty) log files after rotating old ones &lt;br /&gt;
&amp;lt;br&amp;gt;create&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;amp;#35; use date as a suffix of the rotated file&lt;br /&gt;
&amp;lt;br&amp;gt;dateext&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;amp;#35; uncomment this if you want your log files compressed &lt;br /&gt;
&amp;lt;br&amp;gt;compress&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;amp;#35; comment these to switch compression to use gzip or another &lt;br /&gt;
&amp;lt;br&amp;gt;&amp;amp;#35; compression scheme&lt;br /&gt;
&amp;lt;br&amp;gt;compresscmd /usr/bin/xz&lt;br /&gt;
&amp;lt;br&amp;gt;uncompresscmd /usr/bin/xzdec&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;amp;#35; RPM packages drop log rotation information into this directory&lt;br /&gt;
&amp;lt;br&amp;gt;include /etc/logrotate.d&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Sollten Sie einen Fehler gefunden haben, [https://de.opensuse.org/SDB:Fehler_berichten berichten Sie ihn] bitte.&lt;br /&gt;
&lt;br /&gt;
==Weiterführende Informationen==&lt;br /&gt;
=== Verwandte Artikel ===&lt;br /&gt;
*[https://documentation.ubuntu.com/server/how-to/security/firewalls/ Optionen für das Einrichten der Firewall unter Ubuntu]&lt;br /&gt;
* Package documentation and example configuration files in /usr/share/doc/packages/apache2/&lt;br /&gt;
&lt;br /&gt;
===Externe Links===&lt;br /&gt;
* [https://documentation.ubuntu.com/server/how-to/web-services/install-apache2/ Apache Documentation]&lt;br /&gt;
* [http://httpd.apache.org/ The Apache Project]&lt;br /&gt;
* [http://www.apache.org/ Apache Software Foundation]&lt;br /&gt;
&lt;br /&gt;
{{DEFAULTSORT:{{PAGENAME}}}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Linuxinstallation]]&lt;/div&gt;</summary>
		<author><name>87.123.95.19</name></author>	</entry>

	<entry>
		<id>http://wiki.iustus.eu/wiki/index.php?title=Aufsetzen_des_Apache-Servers_-_ubuntu&amp;diff=7138</id>
		<title>Aufsetzen des Apache-Servers - ubuntu</title>
		<link rel="alternate" type="text/html" href="http://wiki.iustus.eu/wiki/index.php?title=Aufsetzen_des_Apache-Servers_-_ubuntu&amp;diff=7138"/>
				<updated>2026-01-02T16:33:30Z</updated>
		
		<summary type="html">&lt;p&gt;87.123.95.19: /* Allgemeines */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Ubuntu|&lt;br /&gt;
*[https://ubuntu.com/tutorials/install-ubuntu-desktop-1604#1-overview 16.04.]&lt;br /&gt;
|&lt;br /&gt;
*[https://ubuntu.com/tutorials/install-and-configure-apache#2-installing-apache Apache Installation]&lt;br /&gt;
|&lt;br /&gt;
*[https://wiki.ubuntuusers.de/Apache_2.4/]&lt;br /&gt;
*[https://wiki.ubuntuusers.de/Apache/Module/ Apache Module]&lt;br /&gt;
*[https://wiki.ubuntuusers.de/Apache/Virtual_Hosts/ Virtual Hosts]&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Einführung ==&lt;br /&gt;
&lt;br /&gt;
Diese Dokument gibt eine rasche Einführung, wie ein Apache-Server auf dem lokalen Rechner aufgesetzt werden kann, der die Lawsuit-Programmteile bereitstellt.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
{{Warnung| Die Kurzanleitung geht nicht vertieft auf mögliche Experten-Einstellungen des Servers ein. Insbesondere bleiben hier Sicherheitseinstellungen unberücksichtigt, die für den Betrieb als öffentlich zugänglicher Netzserver unumgänglich wären. Die nachfolgenden Schritte sind für Anwender gedacht, die Lawsuit intern auf dem Kanzleirechner hinter einer Firewall betreiben möchten.}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== Allgemeine Rechner-Konfiguration ==&lt;br /&gt;
&lt;br /&gt;
Die Software benötigt eine funktionierende Netzwerkumgebung. Diese wird jedoch bereits standardmäßig von Ubuntu eingereichtet. Achten Sie aber insbesondere bei der Nutzung von [https://de.wikipedia.org/wiki/Dynamic_Host_Configuration_Protocol DHCP] darauf, dass [[Mehrplatzsysteme - ubuntu|weitere Rechner]] der Kanzlei vom Networkmanager tatsächlich im selben Nummernraum wie dieser PC eingetragen wurden, auf dem Apache nun installiert werden soll. Ansonsten können diese Rechner später nicht auf die Kanzleisoftware zugreifen.&lt;br /&gt;
&lt;br /&gt;
Als Zweites sollte der PC auf dem aktuellen Softwarestand sein. &lt;br /&gt;
{{Shell|&amp;gt; sudo apt update}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Installation der Apache-Pakete ===&lt;br /&gt;
&lt;br /&gt;
Der Apache-Server und das optionale Perl-Modul können mit ''apt'' installiert werden. Öffnen Sie dazu ein Terminal-Fenster und wechseln Sie wie folgt in den Superuser-Modus:&lt;br /&gt;
{{Shell|&amp;gt; sudo apt install apache2}}&lt;br /&gt;
Geben Sie das Passwort ein.&lt;br /&gt;
Prüfen Sie die korrekte Funktionsweise des Apache-Servers, indem Sie in die Browser-Adresszeile die folgende Adresse eingeben:&lt;br /&gt;
 http://localhost/&lt;br /&gt;
Es sollte folgende Ausgabe zu sehen sein:&lt;br /&gt;
[[Datei:Apache_works.png|thumb|600px|left|Apache-Server Startausgabe]]&lt;br /&gt;
&amp;lt;br clear=all&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Start des Servers ===&lt;br /&gt;
Mit folgenden zwei Befehlen wird der Apache-Server gestartet und auf Dauer im System aktiviert.&lt;br /&gt;
{{Shell|# systemctl start apache2&amp;lt;br&amp;gt;&amp;amp;nbsp; systemctl enable apache2}}&lt;br /&gt;
&lt;br /&gt;
=== Einrichtung und Anpassung der Firewall ===&lt;br /&gt;
&lt;br /&gt;
Normalerweise sollte die die Firewall ''ufd'' (Uncomplicated Firewall) vorinstalliert sein. Für unsere Zwecke zielführender ist ''firewalld''. Dies wird mit&lt;br /&gt;
{{Shell|&amp;gt; sudo apt install firewalld}}&lt;br /&gt;
installiert. Danach muss, um Systemkonflikte zu vermeiden ''ufd'' deaktiviert werden. Dies erfolgt per&lt;br /&gt;
{{Shell|&amp;gt; sudo ufw disable}}&lt;br /&gt;
Starten Sie nun ''firewalld'' mit&lt;br /&gt;
{{Shell|&amp;gt; sudo systemctl enable --now firewalld}}&lt;br /&gt;
&lt;br /&gt;
Die Firewall ist so voreingestellt, dass sie über Port 80 auf den Rechner eingehende Daten grundsätzlich sperrt. Folglich müssen die Firewall-Einstellungen so angepasst werden, dass aus dem Lokalen Netzwerk über Port 80 eingehender Datenstrom akzeptiert wird.&lt;br /&gt;
Die folgenden Schritte müssen dazu weiterhin als Root ausgeführt werden. &lt;br /&gt;
&lt;br /&gt;
{{Shell|&amp;gt; sudo firewall-cmd --zone internal --permanent --add-interface&amp;amp;#61;eth0&amp;lt;br&amp;gt;&amp;amp;nbsp; sudo firewall-cmd --zone internal --permanent --add-service&amp;amp;#61;nfs&amp;lt;br&amp;gt;&amp;amp;nbsp; sudo firewall-cmd --zone internal --permanent --add-service&amp;amp;#61;http&amp;lt;br&amp;gt;&amp;amp;nbsp; sudo firewall-cmd --zone internal --permanent --add-service&amp;amp;#61;https&amp;lt;br&amp;gt;&amp;amp;nbsp; sudo firewall-cmd --reload}}&lt;br /&gt;
&lt;br /&gt;
Weitere verfügbare Dienste lassen sich mit folgendem Befehl anzeigen&lt;br /&gt;
{{Shell|&amp;gt; sudo firewall-cmd --get-service}}&lt;br /&gt;
und ggf. nach obigem Muster ergänzen&lt;br /&gt;
&lt;br /&gt;
=== Aktivierung des Servers ===&lt;br /&gt;
Starten Sie den Server und aktivieren Sie ihn in einem Bootverzeichnis, damit er mit dem Rechner hochgefahren wird (s.o. ohne Yast):&lt;br /&gt;
{{Shell|# systemctl start apache2.service&amp;lt;br&amp;gt;&amp;amp;nbsp; systemctl enable apache2}}&lt;br /&gt;
&lt;br /&gt;
=== Hinzufügen von Apache-Modulen===&lt;br /&gt;
Um benötigte Apache-Module zu laden, können wir die Konfigurationsvariable ''APACHE_MODULES'' in &amp;lt;tt&amp;gt;/etc/sysconfig/apache2&amp;lt;/tt&amp;gt; editieren. Schneller geht es jedoch mit den nachfolgenden Befehlen.&lt;br /&gt;
Einige Programme müssen zunächst nachgeladen werden:&lt;br /&gt;
{{Shell|&amp;gt; sudo apt install libapache2-mod-perl2 libapache2-mod-dnssd libapache2-mod-python}}&lt;br /&gt;
Nach der Änderung muss der Server neu gestartet werden. Auch für die folgenden Befehle sind wieder die Rechte eines Superusers vonnöten.&lt;br /&gt;
{{Shell|&amp;gt; sudo a2enmod perl ssl dnssd rewrite actions python&amp;lt;br&amp;gt;&amp;amp;nbsp; sudo systemctl restart apache2}}&lt;br /&gt;
&lt;br /&gt;
== Virtual Hosts ==&lt;br /&gt;
===Allgemeines===&lt;br /&gt;
Das Verzeichnis für alle Virtual Host unter Ubuntu ist &amp;lt;tt&amp;gt;/etc/apache2/sites-available/&amp;lt;/tt&amp;gt;. Nur Dateien mit dem Suffix &amp;quot;.conf&amp;quot; werden automatisch in die Apachekonfiguration einbezogen. Damit sie von Apache verwendet werden, müssen sie zudem vom Verzeichnis &amp;lt;tt&amp;gt;/etc/apache2/sites-enabled/&amp;lt;/tt&amp;gt; verlinkt sein. &lt;br /&gt;
&lt;br /&gt;
{{Intro|Wenn Sie neben Lawsuit einen weiteren eigenen Virtual Host hinzufügen möchten, ersetzen Sie in den folgenden Zeilen bitte ''Domainname'' durch ihren Verzeichnisnamen oder Ihre IP-Adresse.}}&lt;br /&gt;
&lt;br /&gt;
* Es gibt mehrere Varianten für die Struktur, mit welcher der eigenen Server auf dem Rechner aufgesetzt werden kann. Folgende Optionen bieten sich an: &lt;br /&gt;
:* [https://httpd.apache.org/docs/2.4/de/vhosts/name-based.html namensbasiert]&lt;br /&gt;
:* [https://httpd.apache.org/docs/2.4/de/vhosts/ip-based.html IP-basiert]&lt;br /&gt;
:* portbasiert&lt;br /&gt;
&lt;br /&gt;
* Sei können für Ihre Verzeichnisse die Vorlage '''vhost.template''' kopieren und als Ihre '''{DOMAINNAME}.conf''' speichern. Hier hinein tragen Sie anschließend die Unterverzeichnisse für Ihren Virtual Host ein.&lt;br /&gt;
&lt;br /&gt;
===Einstellungen für ''Lawsuit''===&lt;br /&gt;
Deaktivieren Sie zunächst die von Ubuntu bereitgestellte Vorlage&lt;br /&gt;
{{Shell|&amp;gt; sudo a2dissite 000-default.conf}}&lt;br /&gt;
Für ''Lawsuit'' wird die stattdessen benötigte Konfigurationsdatei im Unterverzeichnis &amp;lt;tt&amp;gt;lawsuit/settings&amp;lt;/tt&amp;gt; bereits fertig zur Verfügung gestellt. Sie müssen lediglich in der genannten Datei den Platzhalter durch den eigenen Nutzernamen ersetzen und die fertige Datei in das Vhosts-Verzeichnis verlinken. Wechseln Sie in das Unterverzeichnis &amp;lt;tt&amp;gt;lawsuit/settings&amp;lt;/tt&amp;gt;. Wenn Sie ''Lawsuit'' in Ihrem Nutzerhauptverzeichnis installiert haben, gelangen Sie mit diesem Befehl dorthin:&lt;br /&gt;
{{Shell | &amp;gt; cd ~/lawsuit/settings}}&lt;br /&gt;
Erstellen Sie dort eine Konfigurationsdatei aus der Vorlage &amp;lt;tt&amp;gt;lawsuit-httpd.template&amp;lt;/tt&amp;gt; und ersetzen Sie den darin enthaltenen Platzhalter ''meinpfad'' dabei durch Ihren Pfad zum aktuellen Verzeichnis. Dies erfolgt automatisiert durch diese Befehle:&lt;br /&gt;
{{Shell | &amp;gt; pfad&amp;amp;#61;&amp;amp;#96;pwd &amp;amp;#124; sed &amp;amp;apos;s/\/lawsuit.*//&amp;amp;apos;  &amp;amp;#124; sed &amp;amp;apos;s/\//\\\\\//g&amp;amp;apos;&amp;amp;#96;&amp;lt;br&amp;gt; &amp;gt; sed &amp;amp;quot;s/meinpfad/$pfad/g&amp;amp;quot; lawsuit-httpd.template &amp;gt; lawsuit-httpd.conf}}&lt;br /&gt;
Falls Ihr Pfad zum Ordner &amp;lt;tt&amp;gt;Documents&amp;lt;/tt&amp;gt; nicht mit dem soeben ermittelten Pfad für &amp;lt;tt&amp;gt;lawsuit&amp;lt;/tt&amp;gt; identisch ist, passen Sie diese Einstellungen für das Verzeichnis &amp;lt;tt&amp;gt;Documents&amp;lt;/tt&amp;gt; bitte in der &amp;lt;tt&amp;gt;lawsuit-httpd.conf&amp;lt;/tt&amp;gt; mit einem Editor wie '''kate''' von Hand an.&lt;br /&gt;
&lt;br /&gt;
Abschließend kopieren Sie die erstellte Konfigurationsdatei als ''Superuser'' in das Verzeichnis der Virtual Hosts von Apache:&lt;br /&gt;
&lt;br /&gt;
{{Shell | &amp;gt; sudo cp lawsuit-httpd.conf /etc/apache2/sites-enabled/}}&lt;br /&gt;
&lt;br /&gt;
* Neustart von Apache&lt;br /&gt;
{{Shell | &amp;gt; sudo service apache2 restart}}&lt;br /&gt;
&lt;br /&gt;
=== Anpassen der Konfiguration ===&lt;br /&gt;
Um Ergänzungen oder Änderungen einheitlich für alle Virtual Hosts vorzunehmen, editieren Sie die Datei &amp;lt;tt&amp;gt;/etc/apache2/apache2.conf&amp;lt;/tt&amp;gt;. Zum Verständnis der Hierarchie und des Layouts um Dateien finden sich dort ausführliche die Kommentierungen. Die ursprüngliche, einfache Konfigurationsdatei mit nur 40K findet sich notfalls unter &amp;lt;tt&amp;gt;etc/apache2/sites-enabled/000-default.conf&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Optional: Ein Zertifikat für localhost erstellen ==&lt;br /&gt;
Bei Mehrplatzsystemen funktionieren die Javascript-Voreintragungen bei Nutzung einer sicheren HTTPS-Verbindung nur, wenn ein eigenes Zertifikat erstellt wird, dessen Aussteller zudem noch aus vertrauenswürdig eingestuft werden muss.OpenSSL bringt umfassende Werkzeuge mit, um eine eigene, kleine Certificate Authority (CA) betreiben zu können. &lt;br /&gt;
=== Vergabe einer Domain für den Rechner mit den Lawsuit-Daten ===&lt;br /&gt;
Unter &amp;lt;i&amp;gt;yast2 &amp;gt; Netzwerkdienste &amp;gt; Rechnernamen&amp;lt;/i&amp;gt; fügen Sie unter der Zeile &amp;quot;localhost&amp;quot; eine Zeile mit folgenden Daten ein:&lt;br /&gt;
 IP-Adresse: &amp;lt;b&amp;gt;192.168.2.10&amp;lt;/b&amp;gt;&lt;br /&gt;
 Hostnamen:  &amp;lt;b&amp;gt;k1.local&amp;lt;/b&amp;gt;&lt;br /&gt;
 Aliasnamen: &amp;lt;b&amp;gt;k1&amp;lt;/b&amp;gt;&lt;br /&gt;
[[Datei:Hostkonfiguration.png|thumb|600px|left|Eigenen Rechnernamen vergeben]]&lt;br /&gt;
&amp;lt;br clear=all&amp;gt;&lt;br /&gt;
Sie können statt &amp;quot;k1&amp;quot; eine beliebe andere Bezeichnung für den Hauptrechner wählen, müssen dann aber Ihre Domain in den folgenden Einstellungen beibehalten.&lt;br /&gt;
&lt;br /&gt;
=== Certificate Authority (CA) erstellen ===&lt;br /&gt;
Zu Beginn wird die Certificate Authority generiert. Zunächst wird ein geheimer Private Key erzeugt:&lt;br /&gt;
{{Shell |&amp;amp;gt; sudo openssl genrsa -aes256 -out /etc/ssl/private/rootCA.key 4096}}&lt;br /&gt;
Der Key trägt den Namen “rootCA.pem” und hat eine Länge von 4096 Bit. Die Option “-aes256” führt dazu, dass der Key mit einem Passwort geschützt wird. Die Key-Datei der CA muss tatsächlich besonders gut geschützt werden. Ein Angreifer, der den Key in die Hände bekommt, kann beliebig gefälschte Zertifikate im Namen der Kanzlei ausstellen, denen die Clients trauen. Die Verschlüsselung dieses Keys mit einem Passwort gibt zusätzlichen Schutz. Das gewünschte Passwort wird bei der Generierung abgefragt.&lt;br /&gt;
Einen geheimen Key für die CA gibt es damit also schon - es fehlt noch das Root-Zertifikat, das von den Clients später importiert werden muss, damit die von der CA ausgestellten Zertifikate im Browser als gültig erkannt werden. Das Root-Zertifikat “ca-root.pem” wird mit folgendem Befehl erzeugt: &lt;br /&gt;
{{Shell |&amp;amp;gt; sudo openssl req -x509 -new -nodes -key /etc/ssl/private/rootCA.key -sha512 -days 5483 -out /etc/ssl/certs/rootCA.pem}}&lt;br /&gt;
In diesem Fall wird die CA 5483 Tage, also mit Schalttagen 15 Jahre lang gültig bleiben. Während der Generierung werden das Passwort für die CA und einige Attribute abgefragt (hier ein Beispiel):&lt;br /&gt;
 Country Name (2 letter code) [AU]:&amp;lt;b&amp;gt;DE&amp;lt;/b&amp;gt;&lt;br /&gt;
 State or Province Name (full name) [Some-State]:&amp;lt;b&amp;gt;Nordrhein-Westfalen&amp;lt;/b&amp;gt;&lt;br /&gt;
 Locality Name (eg, city) []:&amp;lt;b&amp;gt;Muenster&amp;lt;/b&amp;gt;&lt;br /&gt;
 Organization Name (eg, company) [Internet Widgits Pty Ltd]:&amp;lt;b&amp;gt;Kanzlei Hermanns&amp;lt;/b&amp;gt;&lt;br /&gt;
 Organizational Unit Name (eg, section) []:&amp;lt;b&amp;gt;Rechtsanwalt&amp;lt;/b&amp;gt;&lt;br /&gt;
 Common Name (e.g. server FQDN or YOUR name) []:&amp;lt;b&amp;gt;RA Matthias Hermanns&amp;lt;/b&amp;gt;&lt;br /&gt;
 Email Address []:&amp;lt;b&amp;gt;hermanns@iustus.eu&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Erzeugen des Schlüssels===&lt;br /&gt;
Mit diesen Daten wird auch eine Konfiguratunsdatei mit Namen &amp;lt;tt&amp;gt;ssl.cnf&amp;lt;/tt&amp;gt; befüllt, die die Schlüsselausgabe später vereinfacht.&lt;br /&gt;
Zur besseren Übersichtlichkeit sollte ein mächtiges Textverarbeitungsprogramm wie ''kate'' verwendet werden.&lt;br /&gt;
{{Shell |&amp;amp;gt;sudo apt install kate}}&lt;br /&gt;
Erzeugen Sie dann Unterverzeichnisse und legen eine Konfigurationsdatei an:&lt;br /&gt;
{{Shell |&amp;amp;gt; cd ~/bin&amp;lt;br&amp;gt;&amp;amp;nbsp; mkdir keys&amp;lt;br&amp;gt;&amp;amp;nbsp; cd keys&amp;lt;br&amp;gt;&amp;amp;nbsp; kate ssl.cnf}}&lt;br /&gt;
Die Datei kann beispielsweise den folgenden Inhalt haben&lt;br /&gt;
 [req]&lt;br /&gt;
 # Standard-Verschlüsselung&lt;br /&gt;
 default_bits = 4096&lt;br /&gt;
 # verhindere prompt für die Zertifikat-Erstellung&lt;br /&gt;
 # (Daten kommen aus dieser Datei)&lt;br /&gt;
 prompt = no&lt;br /&gt;
 # Verschlüsselungsmethode&lt;br /&gt;
 default_md = sha512&lt;br /&gt;
 # Kryptographie abschalten&lt;br /&gt;
 encrypt_key = no&lt;br /&gt;
 # Sektion für Zertifizierer-Informationen:&lt;br /&gt;
 distinguished_name = dn&lt;br /&gt;
 &lt;br /&gt;
 # Zertifizierer-Informationen:&lt;br /&gt;
 [dn]&lt;br /&gt;
 # Länder-Code&lt;br /&gt;
 C=DE&lt;br /&gt;
 # Bundesland&lt;br /&gt;
 ST=Nordrhein-Westfalen&lt;br /&gt;
 # Stadt&lt;br /&gt;
 L=Muenster&lt;br /&gt;
 # Bezeichnung/Firmen-Name/Dein Name:&lt;br /&gt;
 O=Kanzlei Hermanns&lt;br /&gt;
 # Aussteller Name&lt;br /&gt;
 OU=RA Matthias Hermanns&lt;br /&gt;
 # E-Mail-Adresse&lt;br /&gt;
 emailAddress=hermanns@iustus.eu&lt;br /&gt;
 # Primärer Servername&lt;br /&gt;
 CN = &amp;lt;b&amp;gt;k1&amp;lt;/b&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 [v3_ca]&lt;br /&gt;
 keyUsage = digitalSignature, keyEncipherment&lt;br /&gt;
 extendedKeyUsage = serverAuth&lt;br /&gt;
 subjectAltName = IP:&amp;lt;b&amp;gt;192.168.2.10&amp;lt;/b&amp;gt;, DNS:&amp;lt;b&amp;gt;k1&amp;lt;/b&amp;gt;, DNS:&amp;lt;b&amp;gt;k1.local&amp;lt;/b&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 [ req_ext ]&lt;br /&gt;
 subjectAltName = @alt_names&lt;br /&gt;
 &lt;br /&gt;
 [alt_names]&lt;br /&gt;
 # Primärer Server-Name&lt;br /&gt;
 DNS.1 = &amp;lt;b&amp;gt;k1&amp;lt;/b&amp;gt;&lt;br /&gt;
 # Sekunärer Server-Name&lt;br /&gt;
 DNS.2 = &amp;lt;b&amp;gt;k1.local&amp;lt;/b&amp;gt;&lt;br /&gt;
 # Wildcard Subdomains&lt;br /&gt;
 DNS.3 = *.&amp;lt;b&amp;gt;k1.local&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Speichern Sie die so erstellte Datei &amp;lt;tt&amp;gt;ssl.cnf&amp;lt;/tt&amp;gt; im &amp;lt;tt&amp;gt;bin&amp;lt;/tt&amp;gt;-Verzeichnis ab. Mit folgendem Befehl erzeugen Sie nun als zertifizierter Aussteller die eigentlichen Schlüssel für die SSL-Verbindung.&lt;br /&gt;
Zunächst wird der RSA-Key mit 3072 Bit erzeugt (Asymmetrischer Schlüssel von Rivest, Shamir und Adleman, der einen privaten und einen öffentlichen Teil hat):&lt;br /&gt;
{{Shell |&amp;amp;gt; openssl genrsa -out k1.key 3072}}&lt;br /&gt;
Nun folgt die Certificate Signing Request (CSR; deutsch Zertifikatsignierungsanforderung), ein digitaler Antrag, um mittels der soeben erzeugten digitalen Signatur und der zusätzlichen Identitätsangaben zum Antragstellers aus der &amp;lt;tt&amp;gt;ssl.cnf&amp;lt;/tt&amp;gt; ein persönliches digitales Identitäts-Zertifikat (auch Public-Key-Zertifikat genannt) zu erstellen:&lt;br /&gt;
{{Shell |&amp;amp;gt; openssl req -new -keyout ~/bin/keys/k1.key -out ~/bin/keys/k1.csr -config ~/bin/keys/ssl.cnf}}&lt;br /&gt;
Mithilfe des Wurzelzertifikats vom verifizierten Aussteller (uns selbst) wird nun der eigentliche Schlüssel erstellt, damit eine Rückverfolgung zum Wurzelzertifikat möglich ist. &lt;br /&gt;
{{Shell |&amp;amp;gt; sudo openssl x509 -req \&amp;lt;br&amp;gt;&amp;amp;nbsp; -in ~/bin/keys/k1.csr \&amp;lt;br&amp;gt;&amp;amp;nbsp; -CA /etc/ssl/certs/rootCA.pem \&amp;lt;br&amp;gt;&amp;amp;nbsp; -CAkey /etc/ssl/private/rootCA.key \&amp;lt;br&amp;gt;&amp;amp;nbsp; -CAcreateserial \&amp;lt;br&amp;gt;&amp;amp;nbsp; -out ~/bin/keys/k1.crt \&amp;lt;br&amp;gt;&amp;amp;nbsp; -days 3653 \&amp;lt;br&amp;gt;&amp;amp;nbsp; -extfile ~/bin/keys/ssl.cnf \&amp;lt;br&amp;gt;&amp;amp;nbsp; -extensions v3_ca }}&lt;br /&gt;
&lt;br /&gt;
Damit die Zertifkate in unsere regelmäßige Sicherungsspeicherung aufgenommen werden, können wir sie in das Schlüsselverzeichnis &amp;lt;tt&amp;gt;keys&amp;lt;/tt&amp;gt; unter &amp;lt;tt&amp;gt;lawsuit&amp;lt;/tt&amp;gt; kopieren. Dies ist jedoch nicht optional, weil es ein Sicherheitsrisiko eröffnet:&lt;br /&gt;
{{Shell |&amp;amp;gt; sudo chown matthias:users keys/k1.crt&amp;lt;br&amp;gt;&amp;amp;nbsp; chmod 640 ~/bin/keys/k1.*&amp;lt;br&amp;gt;&amp;amp;nbsp; cp ~/bin/keys/k1.* ~/lawsuit/keys/}}&lt;br /&gt;
&lt;br /&gt;
=== Verbindung mit dem Server ===&lt;br /&gt;
Wenn Sie host-Datei &amp;lt;tt&amp;gt;lawsuit-httpd.conf&amp;lt;/tt&amp;gt; automatisch wie oben vorgeschlagen generiert haben, sind die notwendigen Einstellungen schon voreingetragen und müssen nur auskommentiert werden. Ansonsten ergänzen Sie unter /etc/apache2/sites_enabled/&lt;br /&gt;
folgende Zeilen:&lt;br /&gt;
 &amp;lt;VirtualHost *:80&amp;gt;&lt;br /&gt;
    ServerName &amp;lt;b&amp;gt;k1&amp;lt;/b&amp;gt;&lt;br /&gt;
    ServerAlias &amp;lt;b&amp;gt;k1.local&amp;lt;/b&amp;gt;&lt;br /&gt;
 &amp;lt;/VirtualHost&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 &amp;lt;IfModule mod_ssl.c&amp;gt;&lt;br /&gt;
    &amp;lt;VirtualHost *:443&amp;gt;&lt;br /&gt;
        ServerAdmin webmaster@localhost&lt;br /&gt;
        DocumentRoot /home/BENUTZERNAME/lawsuit/&lt;br /&gt;
        ServerName &amp;lt;b&amp;gt;k1&amp;lt;/b&amp;gt;&lt;br /&gt;
        ServerAlias &amp;lt;b&amp;gt;k1.local&amp;lt;/b&amp;gt;&lt;br /&gt;
        ErrorLog /var/log/apache2/error_log&lt;br /&gt;
        SSLEngine on&lt;br /&gt;
        SSLCertificateFile      /home/BENUTZERNAME/bin/keys/&amp;lt;b&amp;gt;k1.crt&amp;lt;/b&amp;gt;&lt;br /&gt;
        SSLCertificateKeyFile   /home/BENUTZERNAME/bin/keys/&amp;lt;b&amp;gt;k1.key&amp;lt;/b&amp;gt;&lt;br /&gt;
        &amp;lt;IfModule mod_headers.c&amp;gt;&lt;br /&gt;
            Header always set Strict-Transport-Security &amp;quot;max-age=15552000; includeSubDomains&amp;quot;&lt;br /&gt;
        &amp;lt;/IfModule&amp;gt;&lt;br /&gt;
        &amp;lt;FilesMatch &amp;quot;\.(cgi|html|shtml|pl|phtml|php)$&amp;quot;&amp;gt;&lt;br /&gt;
            SSLOptions +StdEnvVars&lt;br /&gt;
        &amp;lt;/FilesMatch&amp;gt;&lt;br /&gt;
        &amp;lt;Directory /home/BENUTZERNAME/lawsuit/cgi-bin&amp;gt;&lt;br /&gt;
            SSLOptions +StdEnvVars&lt;br /&gt;
        &amp;lt;/Directory&amp;gt;&lt;br /&gt;
    &amp;lt;/VirtualHost&amp;gt;&lt;br /&gt;
 &amp;lt;/IfModule&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 # configuration&lt;br /&gt;
 SSLProtocol             all -SSLv3 -TLSv1 -TLSv1.1 -TLSv1.2&lt;br /&gt;
 SSLHonorCipherOrder     off&lt;br /&gt;
 SSLSessionTickets       off&lt;br /&gt;
&lt;br /&gt;
Damit diese Einstellungen vom Browser angenommen werden, muss das Zertifkat fort eingetragen werden.&lt;br /&gt;
Gehen Sie dazu unter Firefox in das Menu und wählen die Unterpunkte &amp;gt; Datenschutz &amp;amp; Sicherheit oder rufen Sie den Unterpunkt direkt mit&lt;br /&gt;
 about:preferences#privacy&lt;br /&gt;
auf. Gehen Sie zum Unterpunkt &amp;lt;tt&amp;gt;Sicherheit &amp;gt; Zertifikate&amp;lt;/tt&amp;gt; und klicken Sie ''Zeertifikate anzeigen...'' an. Dort tragen Sie unter dem Reiter ''Server'' das eigene Zertifikate ein, indem Sie das eigene auf der Seite &lt;br /&gt;
 https://k1&lt;br /&gt;
als Ausnahme bestätigen.&lt;br /&gt;
Laden Sie dazu das Zertifikat von der Seite ''https://k1'' herunter und bestätigen Sie mit dem Auswahlästchen, dass es sich um eine dauerhaft zu speichernde Ausnahme handelt. Drücken Sie den Button ''Sicherheitsausnahme bestätigen''.&lt;br /&gt;
[[Datei:Zertifikat_eintragen.png|thumb|600px|left|Importieren des Zertifikate als dauerhafte Sicherheitsausnahme]]&lt;br /&gt;
&amp;lt;br clear=all&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Unter Firefox kann das selbstgezeichnete Zertifikat nun verwendet werden. Bitte beachten Sie, dass für jede Apache-Konfigurrationsdatei ein anderer Port geöffnet werden muss, &amp;quot;443&amp;quot; also nur einmal verwendet werden kann. Sie können alternativ z.B. &amp;quot;4443&amp;quot; verwenden.&lt;br /&gt;
&lt;br /&gt;
Abschließender Test und Neustart:&lt;br /&gt;
{{Shell |&amp;amp;#35; sudo apache2ctl -t&amp;lt;br&amp;gt;&amp;amp;nbsp; sudo systemctl restart apache2}}&lt;br /&gt;
&lt;br /&gt;
=== Registrierung als vertrauenswürdiger Aussteller für den Firefox-Browser ===&lt;br /&gt;
Damit der Firefox-Browser das Zertifikat tatsächlich verwendet und als vertrauenswürdig akzeptiert, muss es im Kleopatra-Schlüsseldienst eingetragen werden, auf den der Browser zugreift. &lt;br /&gt;
{{Shell |&amp;amp;gt; kleopatra}}&lt;br /&gt;
Klicken Sie den Reiter &amp;lt;b&amp;gt;Importieren&amp;lt;/b&amp;gt; an und fügen Sie nacheinander die folgenden Dateien ein:&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;/home/BENUTZERNAME/bin/keys/k1.crt&amp;lt;/tt&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;/etc/ssl/certs/rootCA.pem&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Bitte bestätigen Sie die erbetenen Beglaubigungen mit der Maustaste.&lt;br /&gt;
[[Datei:Kleopatra.png|thumb|600px|left|Importieren der Zertifikate in das Kleopatra-Schlüsselverwaltungsprogramm]]&lt;br /&gt;
&amp;lt;br clear=all&amp;gt;&lt;br /&gt;
Nun wechseln Sie in den Firefox-Browser und geben in die Adresszeile ein&lt;br /&gt;
 about:config&lt;br /&gt;
Dort ändern Sie die Variable&lt;br /&gt;
 security.enterprise_roots.enabled -&amp;gt; true&lt;br /&gt;
von &amp;quot;false&amp;quot; auf &amp;quot;true&amp;quot;. Nun bezieht der Browser auch Ihre eigenen CA-Beglaubigungen des Unternehmens eine seine Bewertungen mit ein und vergibt ein grünes Schlüsselsymbol.&lt;br /&gt;
&lt;br /&gt;
== Problembehebung ==&lt;br /&gt;
Lesen Sie wenn möglich die Fehlermeldungen nach dem Start des Servers. Versuchen Sie Fehler ggf. zu reproduzieren und vergleichen Sie die Einträge in den Log-Dateien. Den Einblick auf die dortigen Meldungen können Sie mit dem folgenden Befehl auf den neuesten Stand reduzieren::&lt;br /&gt;
&lt;br /&gt;
{{Shell | # tail -F /var/log/apache2/*}}&lt;br /&gt;
&lt;br /&gt;
Da die Error-Messages schnell sehr großen Umfang einnehmen, der am Ende sogar den Systemstart blockieren kann, empfiehlt es sich, mit Logrotate den Bestand unter Kontrolle zu halten. Installieren Sie dazu, falls noch nicht vom System geschehen:&lt;br /&gt;
{{Shell | # zypper in logrotate}}&lt;br /&gt;
Sie können die Einstellungen in der Konfigurationsdatei &lt;br /&gt;
 /etc/logrotate.conf&lt;br /&gt;
ändern. Eine typische Konfiguration von &amp;lt;tt&amp;gt;logrotate.conf&amp;lt;/tt&amp;gt; sieht z.B. wie folgt aus:&lt;br /&gt;
{{Shell |&amp;amp;#35; see &amp;quot;man logrotate&amp;quot; for details&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;amp;#35; rotate log files weekly &lt;br /&gt;
&amp;lt;br&amp;gt;weekly &lt;br /&gt;
&amp;lt;br&amp;gt;&amp;amp;#35; keep 4 weeks worth of backlogs &lt;br /&gt;
&amp;lt;br&amp;gt;rotate 4&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;b&amp;gt;&amp;amp;#35; remove rotated logs older than &amp;lt;count&amp;gt; days&lt;br /&gt;
&amp;lt;br&amp;gt;maxage 90 &amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;amp;#35; create new (empty) log files after rotating old ones &lt;br /&gt;
&amp;lt;br&amp;gt;create&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;amp;#35; use date as a suffix of the rotated file&lt;br /&gt;
&amp;lt;br&amp;gt;dateext&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;amp;#35; uncomment this if you want your log files compressed &lt;br /&gt;
&amp;lt;br&amp;gt;compress&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;amp;#35; comment these to switch compression to use gzip or another &lt;br /&gt;
&amp;lt;br&amp;gt;&amp;amp;#35; compression scheme&lt;br /&gt;
&amp;lt;br&amp;gt;compresscmd /usr/bin/xz&lt;br /&gt;
&amp;lt;br&amp;gt;uncompresscmd /usr/bin/xzdec&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;amp;#35; RPM packages drop log rotation information into this directory&lt;br /&gt;
&amp;lt;br&amp;gt;include /etc/logrotate.d&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Sollten Sie einen Fehler gefunden haben, [https://de.opensuse.org/SDB:Fehler_berichten berichten Sie ihn] bitte.&lt;br /&gt;
&lt;br /&gt;
==Weiterführende Informationen==&lt;br /&gt;
=== Verwandte Artikel ===&lt;br /&gt;
*[https://documentation.ubuntu.com/server/how-to/security/firewalls/ Optionen für das Einrichten der Firewall unter Ubuntu]&lt;br /&gt;
* Package documentation and example configuration files in /usr/share/doc/packages/apache2/&lt;br /&gt;
&lt;br /&gt;
===Externe Links===&lt;br /&gt;
* [https://documentation.ubuntu.com/server/how-to/web-services/install-apache2/ Apache Documentation]&lt;br /&gt;
* [http://httpd.apache.org/ The Apache Project]&lt;br /&gt;
* [http://www.apache.org/ Apache Software Foundation]&lt;br /&gt;
&lt;br /&gt;
{{DEFAULTSORT:{{PAGENAME}}}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Linuxinstallation]]&lt;/div&gt;</summary>
		<author><name>87.123.95.19</name></author>	</entry>

	<entry>
		<id>http://wiki.iustus.eu/wiki/index.php?title=Fehlende_Pakete_nachladen_-_ubuntu&amp;diff=7137</id>
		<title>Fehlende Pakete nachladen - ubuntu</title>
		<link rel="alternate" type="text/html" href="http://wiki.iustus.eu/wiki/index.php?title=Fehlende_Pakete_nachladen_-_ubuntu&amp;diff=7137"/>
				<updated>2026-01-02T15:38:49Z</updated>
		
		<summary type="html">&lt;p&gt;87.123.95.19: /* Themes anpassen */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Ubuntu|&lt;br /&gt;
*[https://de.opensuse.org/Portal:Tumbleweed Tumbleweed]&lt;br /&gt;
*[https://de.opensuse.org/Portal:42.3 Leap 42.3]&lt;br /&gt;
*[https://de.opensuse.org/Portal:42.2 Leap 42.2]&lt;br /&gt;
*[https://de.opensuse.org/Portal:42.1 Leap 42.1]&lt;br /&gt;
|&lt;br /&gt;
*[https://de.opensuse.org/Perl Perl]&lt;br /&gt;
|&lt;br /&gt;
*[https://de.opensuse.org/Perl-Entwicklung Perl-Entwicklung]&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Einführung ==&lt;br /&gt;
&lt;br /&gt;
Ubuntu liefert ein System, das aus aus Sicherheitsgründen viele notwendigen Pakete für ''Lawsuit'' noch nicht enthält.&lt;br /&gt;
Zudem sind für die Installation und Kompilierung von Perlmodulen nötigen Programme im Kernbestand nicht enthalten und sie müssen nachinstalliert werden. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
== Themes anpassen ==&lt;br /&gt;
Installieren Sie die Themes-Erweiterung per&lt;br /&gt;
{{shell|&amp;gt; sudo apt-get install gnome-tweaks gnome-shell-extensions}}&lt;br /&gt;
Sofern noch nicht vorhanden, legen Sie den &amp;lt;tt&amp;gt;.themes&amp;lt;/tt&amp;gt;-Ordner an:&lt;br /&gt;
{{shell|&amp;gt; mkdir ~/.themes}}&lt;br /&gt;
Ermitteln Sie die von Ihnen verwendete ''Gnome''-version mit&lt;br /&gt;
{{shell|&amp;gt; gnome-shell --version}}&lt;br /&gt;
und folgen der Anleitung unter&lt;br /&gt;
 https://drasite.com/flat-remix-gnome&lt;br /&gt;
insbesondere mit dem folgenden Befehl&lt;br /&gt;
{{shell|&amp;gt; sudo apt install git}}&lt;br /&gt;
und dann&lt;br /&gt;
{{shell|&amp;gt; git clone --branch 20231026 https://github.com/daniruiz/flat-remix-gnome&amp;lt;br&amp;gt;&amp;amp;nbsp; cd flat-remix-gnome&amp;lt;br&amp;gt;&amp;amp;nbsp; make &amp;amp;&amp;amp; sudo make install}}&lt;br /&gt;
&lt;br /&gt;
== Multimediapaket per 1-Klick-Installation ==&lt;br /&gt;
&lt;br /&gt;
Rufen Sie mit einem Browser die Seite&lt;br /&gt;
 https://opensuse-community.org/&lt;br /&gt;
auf. Klicken Sie auf den zu Ihrer Desktopumgebung passenden Button und bestätigen Sie die Erweiterungen der von Ihnen akzeptierten Software-Repositories.&lt;br /&gt;
&lt;br /&gt;
Sollte der österreichische Server nicht zu erreichen sein, hilft alternativ der Eintrag eines neuen Repositories&lt;br /&gt;
 {{Shell|&amp;gt; sudo zypper addrepo -cfp 90 &amp;amp;apos;https://ftp.gwdg.de/pub/linux/misc/packman/suse/openSUSE_Leap_15.4/&amp;amp;apos; packman}}&lt;br /&gt;
&lt;br /&gt;
== Weitere benötigte RPM-Pakete ==&lt;br /&gt;
{{Shell|&amp;gt; sudo apt install libglib2.0-dev-bin imagemagick gcc gimp k3b kdiff3 kfind python3-img2pdf qrencode unoconv zip }}&lt;br /&gt;
Ferner&lt;br /&gt;
{{Shell|&amp;gt; sudo snap install tesseract }}&lt;br /&gt;
&lt;br /&gt;
== Installation fehlender Perl-Module ==&lt;br /&gt;
Einige Perl-Module, die ''Lawsuit'' verwendet, sind teilweise in rpm-Paketen von openSUSE enthalten. Für deren Installation aus externen Quellen werden folgende Pakete zusätzlich benötigt:&lt;br /&gt;
{{Shell|&amp;gt; sudo apt install automake libapache2-mod-fastcgi make perl-Archive-Zip perl-CGI-Simple perl-File-Tail perl-PDF-API2 perl-PerlMagick perl-YAML libjpeg-turbo libjpeg8-devel zbar perl-Net-Whois-Raw perl-Crypt-Rijndael perl-GD perl-DateTime-Locale perl-DateTime-TimeZone}}&lt;br /&gt;
&lt;br /&gt;
Daneben wird für das beA-Postfach grundsätzlich eine Texterkennung erwartet. Für sie verwendet ''Lawsuit'' die Erweiterung ''pdfsandwich'', die sich hier findet&lt;br /&gt;
 https://software.opensuse.org/package/pdfsandwich?search_term=pdfsandwich&lt;br /&gt;
oder alternativ wie folgt von Hand installiert werden kann:&lt;br /&gt;
{{Shell|&amp;gt; sudo zypper addrepo https://download.opensuse.org/repositories/home:/brassh/15.4/ pdfsandwich&amp;lt;br&amp;gt;&amp;amp;nbsp; sudo zypper in pdfsandwich}}&lt;br /&gt;
Fügen Sie anschließend in der Datei &amp;lt;tt&amp;gt;/etc/ImageMagick-7-SUSE/policy.xml&amp;lt;/tt&amp;gt; die folgende Zeile ein oder kommentieren Sie sie aus:&lt;br /&gt;
  &amp;lt;policy domain=&amp;quot;coder&amp;quot; rights=&amp;quot;read|write&amp;quot; pattern=&amp;quot;PDF&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Als Superuser starten Sie die MCPAN-Shell:&lt;br /&gt;
{{Shell|&amp;gt; su&amp;lt;br&amp;gt;# perl -e shell -MCPAN}}&lt;br /&gt;
und installieren Sie dann die folgenden Module:&lt;br /&gt;
{{Shell|cpan[1]&amp;gt;install CGI.pm &amp;lt;br&amp;gt;cpan[2]&amp;gt;install CGI::Cookie&amp;lt;br&amp;gt;cpan[3]&amp;gt;install ODF::lpOD&amp;lt;br&amp;gt;cpan[4]&amp;gt;install URI::Encode&amp;lt;br&amp;gt;cpan[5]&amp;gt;install JSON&amp;lt;br&amp;gt;cpan[6]&amp;gt;install Imager::QRCode&amp;lt;br&amp;gt;cpan[7]&amp;gt;install Imager::File::JPEG&amp;lt;br&amp;gt;cpan[8]&amp;gt;install Image::Scale&amp;lt;br&amp;gt;cpan[9]&amp;gt;install HTTP::Request&amp;lt;br&amp;gt;cpan[10]&amp;gt;install LWP::UserAgent&amp;lt;br&amp;gt;cpan[11]&amp;gt;install LWP::Simple::Post&amp;lt;br&amp;gt;cpan[12]&amp;gt;install List::Util&amp;lt;br&amp;gt;cpan[13]&amp;gt;install MIME::Words&amp;lt;br&amp;gt;cpan[14]&amp;gt;install App::PDFUtils&amp;lt;br&amp;gt;cpan[15]&amp;gt;install Data::ICal&amp;lt;br&amp;gt;cpan[16]&amp;gt;install DateTime::Event::ICal&amp;lt;br&amp;gt;cpan[17]&amp;gt;install Data::ICal::DateTime&amp;lt;br&amp;gt;cpan[18]&amp;gt;install Net::Fritz::Box&amp;lt;br&amp;gt;cpan[19]&amp;gt;install Net::Fritz::Phonebook # W&amp;amp;auml;hlen Sie hier Pretty Printing&amp;lt;br&amp;gt;cpan[20]&amp;gt;install Spreadsheet::ParseXLSX&amp;lt;br&amp;gt;cpan[21]&amp;gt;quit}}&lt;br /&gt;
&lt;br /&gt;
== Zusatzprogramm für aktuelle USB-Sticks ==&lt;br /&gt;
{{Shell|&amp;gt; sudo zypper in fuse-exfat exfatprogs}}&lt;br /&gt;
&lt;br /&gt;
== Zusatzprogramm für Ausweisfunktion ==&lt;br /&gt;
{{Shell|&amp;gt; wget &amp;quot;https://github.com/ecsec/open-ecard/releases/download/1.4.5/open-ecard-app-1.4.5-1.x86_64.rpm&amp;quot;&amp;lt;br&amp;gt;&amp;gt; sudo zypper in open-ecard-app-1.4.5-1.x86_64.rpm&lt;br /&gt;
}}&lt;br /&gt;
Die aktuellen RPMs finden Sie ansonsten unter&lt;br /&gt;
 https://www.openecard.org/en/download/pc/&lt;br /&gt;
&lt;br /&gt;
== Unsignierte Pakete ==&lt;br /&gt;
Um Updates für selbst heruntergeladene RPM-Pakete automatisch installieren zu können, obwohl die ihm &amp;lt;tt&amp;gt;bin&amp;lt;/tt&amp;gt;-Verzeichnis hinterlegten Softwarepakete in der Regel nicht signiert sind, geben sie anschließend nur für dieses Repository folgende Ausnahmeregelung für ''zypper'' ein:&lt;br /&gt;
{{Shell|&amp;gt; sudo zypper modifyrepo --gpgcheck-allow-unsigned-package bin}}&lt;br /&gt;
&lt;br /&gt;
== Zusatzeinstellungen für die Fritz!Box ==&lt;br /&gt;
Sofern Sie eine Fritz!Box benutzten, können Sie sich die eingehenden Anrufe mit dem Skript ''fritzcall.pl'' direkt anzeigen lassen. Dafür sind allerdings zunächst Anpassungen in der Fritz!Box nötig. Unter&lt;br /&gt;
 &amp;gt; Heimnetz &amp;gt; Netzwerk &amp;gt;  Netzwerkeinstellungen&lt;br /&gt;
klicken Sie unter dem Zusatzpunkt ''weitere Einstellungen'' die Auswahlbox ''Zugriff für Anwendungen zulassen'' an, um Abrufe über die TR-064 API zuzulassen.&lt;br /&gt;
Ferner müssen Sie dem User, den Sie später in ''fritzcall.pl'' unter ''username'' mit seinem ''password'' eintragen wollen, zunächst unter&lt;br /&gt;
 &amp;gt; System &amp;gt; Fritz!Box-Benutzer &lt;br /&gt;
den Zugang aus dem Internet erlauben.&lt;br /&gt;
Wenn diese Einstellungen richtig vorgenommen sind, sollte der im Rechner gestartete Browser-Aufruf&lt;br /&gt;
 http://fritz.box:49000/tr64desc.xml&lt;br /&gt;
eine XML-Datei auswerfen.&lt;br /&gt;
&lt;br /&gt;
===External links===&lt;br /&gt;
*[https://www.perl.org/ Perl-Community]&lt;br /&gt;
{{DEFAULTSORT:{{PAGENAME}}}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Linuxinstallation]]&lt;/div&gt;</summary>
		<author><name>87.123.95.19</name></author>	</entry>

	<entry>
		<id>http://wiki.iustus.eu/wiki/index.php?title=Fehlende_Pakete_nachladen_-_ubuntu&amp;diff=7136</id>
		<title>Fehlende Pakete nachladen - ubuntu</title>
		<link rel="alternate" type="text/html" href="http://wiki.iustus.eu/wiki/index.php?title=Fehlende_Pakete_nachladen_-_ubuntu&amp;diff=7136"/>
				<updated>2026-01-02T15:36:49Z</updated>
		
		<summary type="html">&lt;p&gt;87.123.95.19: /* Themes anpassen */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Ubuntu|&lt;br /&gt;
*[https://de.opensuse.org/Portal:Tumbleweed Tumbleweed]&lt;br /&gt;
*[https://de.opensuse.org/Portal:42.3 Leap 42.3]&lt;br /&gt;
*[https://de.opensuse.org/Portal:42.2 Leap 42.2]&lt;br /&gt;
*[https://de.opensuse.org/Portal:42.1 Leap 42.1]&lt;br /&gt;
|&lt;br /&gt;
*[https://de.opensuse.org/Perl Perl]&lt;br /&gt;
|&lt;br /&gt;
*[https://de.opensuse.org/Perl-Entwicklung Perl-Entwicklung]&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Einführung ==&lt;br /&gt;
&lt;br /&gt;
Ubuntu liefert ein System, das aus aus Sicherheitsgründen viele notwendigen Pakete für ''Lawsuit'' noch nicht enthält.&lt;br /&gt;
Zudem sind für die Installation und Kompilierung von Perlmodulen nötigen Programme im Kernbestand nicht enthalten und sie müssen nachinstalliert werden. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
== Themes anpassen ==&lt;br /&gt;
Installieren Sie die Themes-Erweiterung per&lt;br /&gt;
{{shell|&amp;gt; sudo apt-get install gnome-tweaks gnome-shell-extensions}}&lt;br /&gt;
Sofern noch nicht vorhanden, legen Sie den &amp;lt;tt&amp;gt;.themes&amp;lt;/tt&amp;gt;-Ordner an:&lt;br /&gt;
{{shell|&amp;gt; sudo mkdir ~/.themes}}&lt;br /&gt;
Ermitteln Sie die von Ihnen verwendete ''Gnome''-version mit&lt;br /&gt;
{{shell|&amp;gt; gnome-shell --version}}&lt;br /&gt;
und folgen der Anleitung unter&lt;br /&gt;
 https://drasite.com/flat-remix-gnome&lt;br /&gt;
insbesondere mit dem folgenden Befehl&lt;br /&gt;
{{shell|&amp;gt; sudo apt install git}}&lt;br /&gt;
und dann&lt;br /&gt;
{{shell|&amp;gt; git clone --branch 20231026 https://github.com/daniruiz/flat-remix-gnome&amp;lt;br&amp;gt;&amp;amp;nbsp; cd flat-remix-gnome&amp;lt;br&amp;gt;&amp;amp;nbsp; make &amp;amp;&amp;amp; sudo make install}}&lt;br /&gt;
&lt;br /&gt;
== Multimediapaket per 1-Klick-Installation ==&lt;br /&gt;
&lt;br /&gt;
Rufen Sie mit einem Browser die Seite&lt;br /&gt;
 https://opensuse-community.org/&lt;br /&gt;
auf. Klicken Sie auf den zu Ihrer Desktopumgebung passenden Button und bestätigen Sie die Erweiterungen der von Ihnen akzeptierten Software-Repositories.&lt;br /&gt;
&lt;br /&gt;
Sollte der österreichische Server nicht zu erreichen sein, hilft alternativ der Eintrag eines neuen Repositories&lt;br /&gt;
 {{Shell|&amp;gt; sudo zypper addrepo -cfp 90 &amp;amp;apos;https://ftp.gwdg.de/pub/linux/misc/packman/suse/openSUSE_Leap_15.4/&amp;amp;apos; packman}}&lt;br /&gt;
&lt;br /&gt;
== Weitere benötigte RPM-Pakete ==&lt;br /&gt;
{{Shell|&amp;gt; sudo apt install libglib2.0-dev-bin imagemagick gcc gimp k3b kdiff3 kfind python3-img2pdf qrencode unoconv zip }}&lt;br /&gt;
Ferner&lt;br /&gt;
{{Shell|&amp;gt; sudo snap install tesseract }}&lt;br /&gt;
&lt;br /&gt;
== Installation fehlender Perl-Module ==&lt;br /&gt;
Einige Perl-Module, die ''Lawsuit'' verwendet, sind teilweise in rpm-Paketen von openSUSE enthalten. Für deren Installation aus externen Quellen werden folgende Pakete zusätzlich benötigt:&lt;br /&gt;
{{Shell|&amp;gt; sudo apt install automake libapache2-mod-fastcgi make perl-Archive-Zip perl-CGI-Simple perl-File-Tail perl-PDF-API2 perl-PerlMagick perl-YAML libjpeg-turbo libjpeg8-devel zbar perl-Net-Whois-Raw perl-Crypt-Rijndael perl-GD perl-DateTime-Locale perl-DateTime-TimeZone}}&lt;br /&gt;
&lt;br /&gt;
Daneben wird für das beA-Postfach grundsätzlich eine Texterkennung erwartet. Für sie verwendet ''Lawsuit'' die Erweiterung ''pdfsandwich'', die sich hier findet&lt;br /&gt;
 https://software.opensuse.org/package/pdfsandwich?search_term=pdfsandwich&lt;br /&gt;
oder alternativ wie folgt von Hand installiert werden kann:&lt;br /&gt;
{{Shell|&amp;gt; sudo zypper addrepo https://download.opensuse.org/repositories/home:/brassh/15.4/ pdfsandwich&amp;lt;br&amp;gt;&amp;amp;nbsp; sudo zypper in pdfsandwich}}&lt;br /&gt;
Fügen Sie anschließend in der Datei &amp;lt;tt&amp;gt;/etc/ImageMagick-7-SUSE/policy.xml&amp;lt;/tt&amp;gt; die folgende Zeile ein oder kommentieren Sie sie aus:&lt;br /&gt;
  &amp;lt;policy domain=&amp;quot;coder&amp;quot; rights=&amp;quot;read|write&amp;quot; pattern=&amp;quot;PDF&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Als Superuser starten Sie die MCPAN-Shell:&lt;br /&gt;
{{Shell|&amp;gt; su&amp;lt;br&amp;gt;# perl -e shell -MCPAN}}&lt;br /&gt;
und installieren Sie dann die folgenden Module:&lt;br /&gt;
{{Shell|cpan[1]&amp;gt;install CGI.pm &amp;lt;br&amp;gt;cpan[2]&amp;gt;install CGI::Cookie&amp;lt;br&amp;gt;cpan[3]&amp;gt;install ODF::lpOD&amp;lt;br&amp;gt;cpan[4]&amp;gt;install URI::Encode&amp;lt;br&amp;gt;cpan[5]&amp;gt;install JSON&amp;lt;br&amp;gt;cpan[6]&amp;gt;install Imager::QRCode&amp;lt;br&amp;gt;cpan[7]&amp;gt;install Imager::File::JPEG&amp;lt;br&amp;gt;cpan[8]&amp;gt;install Image::Scale&amp;lt;br&amp;gt;cpan[9]&amp;gt;install HTTP::Request&amp;lt;br&amp;gt;cpan[10]&amp;gt;install LWP::UserAgent&amp;lt;br&amp;gt;cpan[11]&amp;gt;install LWP::Simple::Post&amp;lt;br&amp;gt;cpan[12]&amp;gt;install List::Util&amp;lt;br&amp;gt;cpan[13]&amp;gt;install MIME::Words&amp;lt;br&amp;gt;cpan[14]&amp;gt;install App::PDFUtils&amp;lt;br&amp;gt;cpan[15]&amp;gt;install Data::ICal&amp;lt;br&amp;gt;cpan[16]&amp;gt;install DateTime::Event::ICal&amp;lt;br&amp;gt;cpan[17]&amp;gt;install Data::ICal::DateTime&amp;lt;br&amp;gt;cpan[18]&amp;gt;install Net::Fritz::Box&amp;lt;br&amp;gt;cpan[19]&amp;gt;install Net::Fritz::Phonebook # W&amp;amp;auml;hlen Sie hier Pretty Printing&amp;lt;br&amp;gt;cpan[20]&amp;gt;install Spreadsheet::ParseXLSX&amp;lt;br&amp;gt;cpan[21]&amp;gt;quit}}&lt;br /&gt;
&lt;br /&gt;
== Zusatzprogramm für aktuelle USB-Sticks ==&lt;br /&gt;
{{Shell|&amp;gt; sudo zypper in fuse-exfat exfatprogs}}&lt;br /&gt;
&lt;br /&gt;
== Zusatzprogramm für Ausweisfunktion ==&lt;br /&gt;
{{Shell|&amp;gt; wget &amp;quot;https://github.com/ecsec/open-ecard/releases/download/1.4.5/open-ecard-app-1.4.5-1.x86_64.rpm&amp;quot;&amp;lt;br&amp;gt;&amp;gt; sudo zypper in open-ecard-app-1.4.5-1.x86_64.rpm&lt;br /&gt;
}}&lt;br /&gt;
Die aktuellen RPMs finden Sie ansonsten unter&lt;br /&gt;
 https://www.openecard.org/en/download/pc/&lt;br /&gt;
&lt;br /&gt;
== Unsignierte Pakete ==&lt;br /&gt;
Um Updates für selbst heruntergeladene RPM-Pakete automatisch installieren zu können, obwohl die ihm &amp;lt;tt&amp;gt;bin&amp;lt;/tt&amp;gt;-Verzeichnis hinterlegten Softwarepakete in der Regel nicht signiert sind, geben sie anschließend nur für dieses Repository folgende Ausnahmeregelung für ''zypper'' ein:&lt;br /&gt;
{{Shell|&amp;gt; sudo zypper modifyrepo --gpgcheck-allow-unsigned-package bin}}&lt;br /&gt;
&lt;br /&gt;
== Zusatzeinstellungen für die Fritz!Box ==&lt;br /&gt;
Sofern Sie eine Fritz!Box benutzten, können Sie sich die eingehenden Anrufe mit dem Skript ''fritzcall.pl'' direkt anzeigen lassen. Dafür sind allerdings zunächst Anpassungen in der Fritz!Box nötig. Unter&lt;br /&gt;
 &amp;gt; Heimnetz &amp;gt; Netzwerk &amp;gt;  Netzwerkeinstellungen&lt;br /&gt;
klicken Sie unter dem Zusatzpunkt ''weitere Einstellungen'' die Auswahlbox ''Zugriff für Anwendungen zulassen'' an, um Abrufe über die TR-064 API zuzulassen.&lt;br /&gt;
Ferner müssen Sie dem User, den Sie später in ''fritzcall.pl'' unter ''username'' mit seinem ''password'' eintragen wollen, zunächst unter&lt;br /&gt;
 &amp;gt; System &amp;gt; Fritz!Box-Benutzer &lt;br /&gt;
den Zugang aus dem Internet erlauben.&lt;br /&gt;
Wenn diese Einstellungen richtig vorgenommen sind, sollte der im Rechner gestartete Browser-Aufruf&lt;br /&gt;
 http://fritz.box:49000/tr64desc.xml&lt;br /&gt;
eine XML-Datei auswerfen.&lt;br /&gt;
&lt;br /&gt;
===External links===&lt;br /&gt;
*[https://www.perl.org/ Perl-Community]&lt;br /&gt;
{{DEFAULTSORT:{{PAGENAME}}}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Linuxinstallation]]&lt;/div&gt;</summary>
		<author><name>87.123.95.19</name></author>	</entry>

	<entry>
		<id>http://wiki.iustus.eu/wiki/index.php?title=Aufsetzen_des_Apache-Servers_-_ubuntu&amp;diff=7115</id>
		<title>Aufsetzen des Apache-Servers - ubuntu</title>
		<link rel="alternate" type="text/html" href="http://wiki.iustus.eu/wiki/index.php?title=Aufsetzen_des_Apache-Servers_-_ubuntu&amp;diff=7115"/>
				<updated>2026-01-02T12:54:22Z</updated>
		
		<summary type="html">&lt;p&gt;87.123.95.19: /* Verwandte Artikel */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Ubuntu|&lt;br /&gt;
*[https://ubuntu.com/tutorials/install-ubuntu-desktop-1604#1-overview 16.04.]&lt;br /&gt;
|&lt;br /&gt;
*[https://ubuntu.com/tutorials/install-and-configure-apache#2-installing-apache Apache Installation]&lt;br /&gt;
|&lt;br /&gt;
*[https://wiki.ubuntuusers.de/Apache_2.4/]&lt;br /&gt;
*[https://wiki.ubuntuusers.de/Apache/Module/ Apache Module]&lt;br /&gt;
*[https://wiki.ubuntuusers.de/Apache/Virtual_Hosts/ Virtual Hosts]&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Einführung ==&lt;br /&gt;
&lt;br /&gt;
Diese Dokument gibt eine rasche Einführung, wie ein Apache-Server auf dem lokalen Rechner aufgesetzt werden kann, der die Lawsuit-Programmteile bereitstellt.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
{{Warnung| Die Kurzanleitung geht nicht vertieft auf mögliche Experten-Einstellungen des Servers ein. Insbesondere bleiben hier Sicherheitseinstellungen unberücksichtigt, die für den Betrieb als öffentlich zugänglicher Netzserver unumgänglich wären. Die nachfolgenden Schritte sind für Anwender gedacht, die Lawsuit intern auf dem Kanzleirechner hinter einer Firewall betreiben möchten.}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== Allgemeine Rechner-Konfiguration ==&lt;br /&gt;
&lt;br /&gt;
Die Software benötigt eine funktionierende Netzwerkumgebung. Diese wird jedoch bereits standardmäßig von Ubuntu eingereichtet. Achten Sie aber insbesondere bei der Nutzung von [https://de.wikipedia.org/wiki/Dynamic_Host_Configuration_Protocol DHCP] darauf, dass [[Mehrplatzsysteme - ubuntu|weitere Rechner]] der Kanzlei vom Networkmanager tatsächlich im selben Nummernraum wie dieser PC eingetragen wurden, auf dem Apache nun installiert werden soll. Ansonsten können diese Rechner später nicht auf die Kanzleisoftware zugreifen.&lt;br /&gt;
&lt;br /&gt;
Als Zweites sollte der PC auf dem aktuellen Softwarestand sein. &lt;br /&gt;
{{Shell|&amp;gt; sudo apt update}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Installation der Apache-Pakete ===&lt;br /&gt;
&lt;br /&gt;
Der Apache-Server und das optionale Perl-Modul können mit ''apt'' installiert werden. Öffnen Sie dazu ein Terminal-Fenster und wechseln Sie wie folgt in den Superuser-Modus:&lt;br /&gt;
{{Shell|&amp;gt; sudo apt install apache2}}&lt;br /&gt;
Geben Sie das Passwort ein.&lt;br /&gt;
Prüfen Sie die korrekte Funktionsweise des Apache-Servers, indem Sie in die Browser-Adresszeile die folgende Adresse eingeben:&lt;br /&gt;
 http://localhost/&lt;br /&gt;
Es sollte folgende Ausgabe zu sehen sein:&lt;br /&gt;
[[Datei:Apache_works.png|thumb|600px|left|Apache-Server Startausgabe]]&lt;br /&gt;
&amp;lt;br clear=all&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Start des Servers ===&lt;br /&gt;
Mit folgenden zwei Befehlen wird der Apache-Server gestartet und auf Dauer im System aktiviert.&lt;br /&gt;
{{Shell|# systemctl start apache2&amp;lt;br&amp;gt;&amp;amp;nbsp; systemctl enable apache2}}&lt;br /&gt;
&lt;br /&gt;
=== Einrichtung und Anpassung der Firewall ===&lt;br /&gt;
&lt;br /&gt;
Normalerweise sollte die die Firewall ''ufd'' (Uncomplicated Firewall) vorinstalliert sein. Für unsere Zwecke zielführender ist ''firewalld''. Dies wird mit&lt;br /&gt;
{{Shell|&amp;gt; sudo apt install firewalld}}&lt;br /&gt;
installiert. Danach muss, um Systemkonflikte zu vermeiden ''ufd'' deaktiviert werden. Dies erfolgt per&lt;br /&gt;
{{Shell|&amp;gt; sudo ufw disable}}&lt;br /&gt;
Starten Sie nun ''firewalld'' mit&lt;br /&gt;
{{Shell|&amp;gt; sudo systemctl enable --now firewalld}}&lt;br /&gt;
&lt;br /&gt;
Die Firewall ist so voreingestellt, dass sie über Port 80 auf den Rechner eingehende Daten grundsätzlich sperrt. Folglich müssen die Firewall-Einstellungen so angepasst werden, dass aus dem Lokalen Netzwerk über Port 80 eingehender Datenstrom akzeptiert wird.&lt;br /&gt;
Die folgenden Schritte müssen dazu weiterhin als Root ausgeführt werden. &lt;br /&gt;
&lt;br /&gt;
{{Shell|&amp;gt; sudo firewall-cmd --zone internal --permanent --add-interface&amp;amp;#61;eth0&amp;lt;br&amp;gt;&amp;amp;nbsp; sudo firewall-cmd --zone internal --permanent --add-service&amp;amp;#61;nfs&amp;lt;br&amp;gt;&amp;amp;nbsp; sudo firewall-cmd --zone internal --permanent --add-service&amp;amp;#61;http&amp;lt;br&amp;gt;&amp;amp;nbsp; sudo firewall-cmd --zone internal --permanent --add-service&amp;amp;#61;https&amp;lt;br&amp;gt;&amp;amp;nbsp; sudo firewall-cmd --reload}}&lt;br /&gt;
&lt;br /&gt;
Weitere verfügbare Dienste lassen sich mit folgendem Befehl anzeigen&lt;br /&gt;
{{Shell|&amp;gt; sudo firewall-cmd --get-service}}&lt;br /&gt;
und ggf. nach obigem Muster ergänzen&lt;br /&gt;
&lt;br /&gt;
=== Aktivierung des Servers ===&lt;br /&gt;
Starten Sie den Server und aktivieren Sie ihn in einem Bootverzeichnis, damit er mit dem Rechner hochgefahren wird (s.o. ohne Yast):&lt;br /&gt;
{{Shell|# systemctl start apache2.service&amp;lt;br&amp;gt;&amp;amp;nbsp; systemctl enable apache2}}&lt;br /&gt;
&lt;br /&gt;
=== Hinzufügen von Apache-Modulen===&lt;br /&gt;
Um benötigte Apache-Module zu laden, können wir die Konfigurationsvariable ''APACHE_MODULES'' in &amp;lt;tt&amp;gt;/etc/sysconfig/apache2&amp;lt;/tt&amp;gt; editieren. Schneller geht es jedoch mit den nachfolgenden Befehlen.&lt;br /&gt;
Einige Programme müssen zunächst nachgeladen werden:&lt;br /&gt;
{{Shell|&amp;gt; sudo apt install libapache2-mod-perl2 libapache2-mod-dnssd libapache2-mod-python}}&lt;br /&gt;
Nach der Änderung muss der Server neu gestartet werden. Auch für die folgenden Befehle sind wieder die Rechte eines Superusers vonnöten.&lt;br /&gt;
{{Shell|&amp;gt; sudo a2enmod perl ssl dnssd rewrite actions python&amp;lt;br&amp;gt;&amp;amp;nbsp; sudo systemctl restart apache2}}&lt;br /&gt;
&lt;br /&gt;
== Virtual Hosts ==&lt;br /&gt;
===Allgemeines===&lt;br /&gt;
Das Verzeichnis für alle Virtual Host unter Ubuntu ist &amp;lt;tt&amp;gt;/etc/apache2/sites-enabled/&amp;lt;/tt&amp;gt;. Nur Dateien mit dem Suffix &amp;quot;.conf&amp;quot; werden automatisch in die Apachekonfiguration einbezogen.&lt;br /&gt;
&lt;br /&gt;
{{Intro|Wenn Sie neben Lawsuit einen weiteren eigenen Virtual Host hinzufügen möchten, ersetzen Sie in den folgenden Zeilen bitte ''Domainname'' durch ihren Verzeichnisnamen oder Ihre IP-Adresse.}}&lt;br /&gt;
&lt;br /&gt;
* Es gibt mehrere Varianten für die Struktur, mit welcher der eigenen Server auf dem Rechner aufgesetzt werden kann. Folgende Optionen bieten sich an: &lt;br /&gt;
:* [https://httpd.apache.org/docs/2.4/de/vhosts/name-based.html namensbasiert]&lt;br /&gt;
:* [https://httpd.apache.org/docs/2.4/de/vhosts/ip-based.html IP-basiert]&lt;br /&gt;
:* portbasiert&lt;br /&gt;
&lt;br /&gt;
* Sei können für Ihre Verzeichnisse die Vorlage '''vhost.template''' kopieren und als Ihre '''{DOMAINNAME}.conf''' speichern. Hier hinein tragen Sie anschließend die Unterverzeichnisse für Ihren Virtual Host ein.&lt;br /&gt;
&lt;br /&gt;
===Einstellungen für ''Lawsuit''===&lt;br /&gt;
Deaktivieren Sie zunächst die von Ubuntu bereitgestellte Vorlage&lt;br /&gt;
{{Shell | &amp;gt;sudo a2dissite 000-default.conf}}&lt;br /&gt;
Für ''Lawsuit'' wird die stattdessen benötigte Konfigurationsdatei im Unterverzeichnis &amp;lt;tt&amp;gt;lawsuit/settings&amp;lt;/tt&amp;gt; bereits fertig zur Verfügung gestellt. Sie müssen lediglich in der genannten Datei den Platzhalter durch den eigenen Nutzernamen ersetzen und die fertige Datei in das Vhosts-Verzeichnis verlinken. Wechseln Sie in das Unterverzeichnis &amp;lt;tt&amp;gt;lawsuit/settings&amp;lt;/tt&amp;gt;. Wenn Sie ''Lawsuit'' in Ihrem Nutzerhauptverzeichnis installiert haben, gelangen Sie mit diesem Befehl dorthin:&lt;br /&gt;
{{Shell | &amp;gt; cd ~/lawsuit/settings}}&lt;br /&gt;
Erstellen Sie dort eine Konfigurationsdatei aus der Vorlage &amp;lt;tt&amp;gt;lawsuit-httpd.template&amp;lt;/tt&amp;gt; und ersetzen Sie den darin enthaltenen Platzhalter ''meinpfad'' dabei durch Ihren Pfad zum aktuellen Verzeichnis. Dies erfolgt automatisiert durch diese Befehle:&lt;br /&gt;
{{Shell | &amp;gt; pfad&amp;amp;#61;&amp;amp;#96;pwd &amp;amp;#124; sed &amp;amp;apos;s/\/lawsuit.*//&amp;amp;apos;  &amp;amp;#124; sed &amp;amp;apos;s/\//\\\\\//g&amp;amp;apos;&amp;amp;#96;&amp;lt;br&amp;gt; &amp;gt; sed &amp;amp;quot;s/meinpfad/$pfad/g&amp;amp;quot; lawsuit-httpd.template &amp;gt; lawsuit-httpd.conf}}&lt;br /&gt;
Falls Ihr Pfad zum Ordner &amp;lt;tt&amp;gt;Documents&amp;lt;/tt&amp;gt; nicht mit dem soeben ermittelten Pfad für &amp;lt;tt&amp;gt;lawsuit&amp;lt;/tt&amp;gt; identisch ist, passen Sie diese Einstellungen für das Verzeichnis &amp;lt;tt&amp;gt;Documents&amp;lt;/tt&amp;gt; bitte in der &amp;lt;tt&amp;gt;lawsuit-httpd.conf&amp;lt;/tt&amp;gt; mit einem Editor wie '''kate''' von Hand an.&lt;br /&gt;
&lt;br /&gt;
Abschließend kopieren Sie die erstellte Konfigurationsdatei als ''Superuser'' in das Verzeichnis der Virtual Hosts von Apache:&lt;br /&gt;
&lt;br /&gt;
{{Shell | &amp;gt; sudo cp lawsuit-httpd.conf /etc/apache2/sites-enabled/}}&lt;br /&gt;
&lt;br /&gt;
* Neustart von Apache&lt;br /&gt;
{{Shell | &amp;gt; sudo service apache2 restart}}&lt;br /&gt;
&lt;br /&gt;
=== Anpassen der Konfiguration ===&lt;br /&gt;
Um Ergänzungen oder Änderungen einheitlich für alle Virtual Hosts an der Datei &amp;lt;tt&amp;gt;/etc/apache2/default-server.conf&amp;lt;/tt&amp;gt; vorzunehmen, editieren Sie die Konfigurationsvariable ''APACHE_CONF_INCLUDE_FILES'' mithilfe von &lt;br /&gt;
 YaST &amp;gt; etc/sysconfig-Editor&lt;br /&gt;
oder arbeiten direkt in der Textdatei &amp;lt;tt&amp;gt;/etc/sysconfig/apache2&amp;lt;/tt&amp;gt;. Zum Verständnis der Hierarchie und des Layouts um Dateien einzubeziehen, lesen Sie die Kommentierung im Kopf der &amp;lt;tt&amp;gt;httpd.conf&amp;lt;/tt&amp;gt;. Die ursprüngliche, einfache Konfigurationsdatei mit nur 40K findet sich notfalls unter &amp;lt;tt&amp;gt;/usr/share/doc/packages/apache2/httpd-std.conf-prefork&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Optional: Ein Zertifikat für localhost erstellen ==&lt;br /&gt;
Bei Mehrplatzsystemen funktionieren die Javascript-Voreintragungen bei Nutzung einer sicheren HTTPS-Verbindung nur, wenn ein eigenes Zertifikat erstellt wird, dessen Aussteller zudem noch aus vertrauenswürdig eingestuft werden muss.OpenSSL bringt umfassende Werkzeuge mit, um eine eigene, kleine Certificate Authority (CA) betreiben zu können. &lt;br /&gt;
=== Vergabe einer Domain für den Rechner mit den Lawsuit-Daten ===&lt;br /&gt;
Unter &amp;lt;i&amp;gt;yast2 &amp;gt; Netzwerkdienste &amp;gt; Rechnernamen&amp;lt;/i&amp;gt; fügen Sie unter der Zeile &amp;quot;localhost&amp;quot; eine Zeile mit folgenden Daten ein:&lt;br /&gt;
 IP-Adresse: &amp;lt;b&amp;gt;192.168.2.10&amp;lt;/b&amp;gt;&lt;br /&gt;
 Hostnamen:  &amp;lt;b&amp;gt;k1.local&amp;lt;/b&amp;gt;&lt;br /&gt;
 Aliasnamen: &amp;lt;b&amp;gt;k1&amp;lt;/b&amp;gt;&lt;br /&gt;
[[Datei:Hostkonfiguration.png|thumb|600px|left|Eigenen Rechnernamen vergeben]]&lt;br /&gt;
&amp;lt;br clear=all&amp;gt;&lt;br /&gt;
Sie können statt &amp;quot;k1&amp;quot; eine beliebe andere Bezeichnung für den Hauptrechner wählen, müssen dann aber Ihre Domain in den folgenden Einstellungen beibehalten.&lt;br /&gt;
&lt;br /&gt;
=== Certificate Authority (CA) erstellen ===&lt;br /&gt;
Zu Beginn wird die Certificate Authority generiert. Zunächst wird ein geheimer Private Key erzeugt:&lt;br /&gt;
{{Shell |&amp;amp;gt; sudo openssl genrsa -aes256 -out /etc/ssl/private/rootCA.key 4096}}&lt;br /&gt;
Der Key trägt den Namen “rootCA.pem” und hat eine Länge von 4096 Bit. Die Option “-aes256” führt dazu, dass der Key mit einem Passwort geschützt wird. Die Key-Datei der CA muss tatsächlich besonders gut geschützt werden. Ein Angreifer, der den Key in die Hände bekommt, kann beliebig gefälschte Zertifikate im Namen der Kanzlei ausstellen, denen die Clients trauen. Die Verschlüsselung dieses Keys mit einem Passwort gibt zusätzlichen Schutz. Das gewünschte Passwort wird bei der Generierung abgefragt.&lt;br /&gt;
Einen geheimen Key für die CA gibt es damit also schon - es fehlt noch das Root-Zertifikat, das von den Clients später importiert werden muss, damit die von der CA ausgestellten Zertifikate im Browser als gültig erkannt werden. Das Root-Zertifikat “ca-root.pem” wird mit folgendem Befehl erzeugt: &lt;br /&gt;
{{Shell |&amp;amp;gt; sudo openssl req -x509 -new -nodes -key /etc/ssl/private/rootCA.key -sha512 -days 5483 -out /etc/ssl/certs/rootCA.pem}}&lt;br /&gt;
In diesem Fall wird die CA 5483 Tage, also mit Schalttagen 15 Jahre lang gültig bleiben. Während der Generierung werden das Passwort für die CA und einige Attribute abgefragt (hier ein Beispiel):&lt;br /&gt;
 Country Name (2 letter code) [AU]:&amp;lt;b&amp;gt;DE&amp;lt;/b&amp;gt;&lt;br /&gt;
 State or Province Name (full name) [Some-State]:&amp;lt;b&amp;gt;Nordrhein-Westfalen&amp;lt;/b&amp;gt;&lt;br /&gt;
 Locality Name (eg, city) []:&amp;lt;b&amp;gt;Muenster&amp;lt;/b&amp;gt;&lt;br /&gt;
 Organization Name (eg, company) [Internet Widgits Pty Ltd]:&amp;lt;b&amp;gt;Kanzlei Hermanns&amp;lt;/b&amp;gt;&lt;br /&gt;
 Organizational Unit Name (eg, section) []:&amp;lt;b&amp;gt;Rechtsanwalt&amp;lt;/b&amp;gt;&lt;br /&gt;
 Common Name (e.g. server FQDN or YOUR name) []:&amp;lt;b&amp;gt;RA Matthias Hermanns&amp;lt;/b&amp;gt;&lt;br /&gt;
 Email Address []:&amp;lt;b&amp;gt;hermanns@iustus.eu&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Erzeugen des Schlüssels===&lt;br /&gt;
Mit diesen Daten wird auch eine Konfiguratunsdatei mit Namen &amp;lt;tt&amp;gt;ssl.cnf&amp;lt;/tt&amp;gt; befüllt, die die Schlüsselausgabe später vereinfacht.&lt;br /&gt;
{{Shell |&amp;amp;gt; cd ~/bin&amp;lt;br&amp;gt;&amp;amp;nbsp; mkdir keys&amp;lt;br&amp;gt;&amp;amp;nbsp; cd keys&amp;lt;br&amp;gt;&amp;amp;nbsp; kate ssl.cnf}}&lt;br /&gt;
Die Datei kann beispielsweise den folgenden Inhalt haben&lt;br /&gt;
 [req]&lt;br /&gt;
 # Standard-Verschlüsselung&lt;br /&gt;
 default_bits = 4096&lt;br /&gt;
 # verhindere prompt für die Zertifikat-Erstellung&lt;br /&gt;
 # (Daten kommen aus dieser Datei)&lt;br /&gt;
 prompt = no&lt;br /&gt;
 # Verschlüsselungsmethode&lt;br /&gt;
 default_md = sha512&lt;br /&gt;
 # Kryptographie abschalten&lt;br /&gt;
 encrypt_key = no&lt;br /&gt;
 # Sektion für Zertifizierer-Informationen:&lt;br /&gt;
 distinguished_name = dn&lt;br /&gt;
 &lt;br /&gt;
 # Zertifizierer-Informationen:&lt;br /&gt;
 [dn]&lt;br /&gt;
 # Länder-Code&lt;br /&gt;
 C=DE&lt;br /&gt;
 # Bundesland&lt;br /&gt;
 ST=Nordrhein-Westfalen&lt;br /&gt;
 # Stadt&lt;br /&gt;
 L=Muenster&lt;br /&gt;
 # Bezeichnung/Firmen-Name/Dein Name:&lt;br /&gt;
 O=Kanzlei Hermanns&lt;br /&gt;
 # Aussteller Name&lt;br /&gt;
 OU=RA Matthias Hermanns&lt;br /&gt;
 # E-Mail-Adresse&lt;br /&gt;
 emailAddress=hermanns@iustus.eu&lt;br /&gt;
 # Primärer Servername&lt;br /&gt;
 CN = &amp;lt;b&amp;gt;k1&amp;lt;/b&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 [v3_ca]&lt;br /&gt;
 keyUsage = digitalSignature, keyEncipherment&lt;br /&gt;
 extendedKeyUsage = serverAuth&lt;br /&gt;
 subjectAltName = IP:&amp;lt;b&amp;gt;192.168.2.10&amp;lt;/b&amp;gt;, DNS:&amp;lt;b&amp;gt;k1&amp;lt;/b&amp;gt;, DNS:&amp;lt;b&amp;gt;k1.local&amp;lt;/b&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 [ req_ext ]&lt;br /&gt;
 subjectAltName = @alt_names&lt;br /&gt;
 &lt;br /&gt;
 [alt_names]&lt;br /&gt;
 # Primärer Server-Name&lt;br /&gt;
 DNS.1 = &amp;lt;b&amp;gt;k1&amp;lt;/b&amp;gt;&lt;br /&gt;
 # Sekunärer Server-Name&lt;br /&gt;
 DNS.2 = &amp;lt;b&amp;gt;k1.local&amp;lt;/b&amp;gt;&lt;br /&gt;
 # Wildcard Subdomains&lt;br /&gt;
 DNS.3 = *.&amp;lt;b&amp;gt;k1.local&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Speichern Sie die so erstellte Datei &amp;lt;tt&amp;gt;ssl.cnf&amp;lt;/tt&amp;gt; im &amp;lt;tt&amp;gt;bin&amp;lt;/tt&amp;gt;-Verzeichnis ab. Mit folgendem Befehl erzeugen Sie nun als zertifizierter Aussteller die eigentlichen Schlüssel für die SSL-Verbindung.&lt;br /&gt;
Zunächst wird der RSA-Key mit 3072 Bit erzeugt (Asymmetrischer Schlüssel von Rivest, Shamir und Adleman, der einen privaten und einen öffentlichen Teil hat):&lt;br /&gt;
{{Shell |&amp;amp;gt; openssl genrsa -out k1.key 3072}}&lt;br /&gt;
Nun folgt die Certificate Signing Request (CSR; deutsch Zertifikatsignierungsanforderung), ein digitaler Antrag, um mittels der soeben erzeugten digitalen Signatur und der zusätzlichen Identitätsangaben zum Antragstellers aus der &amp;lt;tt&amp;gt;ssl.cnf&amp;lt;/tt&amp;gt; ein persönliches digitales Identitäts-Zertifikat (auch Public-Key-Zertifikat genannt) zu erstellen:&lt;br /&gt;
{{Shell |&amp;amp;gt; openssl req -new -keyout ~/bin/keys/k1.key -out ~/bin/keys/k1.csr -config ~/bin/keys/ssl.cnf}}&lt;br /&gt;
Mithilfe des Wurzelzertifikats vom verifizierten Aussteller (uns selbst) wird nun der eigentliche Schlüssel erstellt, damit eine Rückverfolgung zum Wurzelzertifikat möglich ist. &lt;br /&gt;
{{Shell |&amp;amp;gt; sudo openssl x509 -req \&amp;lt;br&amp;gt;&amp;amp;nbsp; -in ~/bin/keys/k1.csr \&amp;lt;br&amp;gt;&amp;amp;nbsp; -CA /etc/ssl/certs/rootCA.pem \&amp;lt;br&amp;gt;&amp;amp;nbsp; -CAkey /etc/ssl/private/rootCA.key \&amp;lt;br&amp;gt;&amp;amp;nbsp; -CAcreateserial \&amp;lt;br&amp;gt;&amp;amp;nbsp; -out ~/bin/keys/k1.crt \&amp;lt;br&amp;gt;&amp;amp;nbsp; -days 3653 \&amp;lt;br&amp;gt;&amp;amp;nbsp; -extfile ~/bin/keys/ssl.cnf \&amp;lt;br&amp;gt;&amp;amp;nbsp; -extensions v3_ca }}&lt;br /&gt;
&lt;br /&gt;
Damit die Zertifkate in unsere regelmäßige Sicherungsspeicherung aufgenommen werden, können wir sie in das Schlüsselverzeichnis &amp;lt;tt&amp;gt;keys&amp;lt;/tt&amp;gt; unter &amp;lt;tt&amp;gt;lawsuit&amp;lt;/tt&amp;gt; kopieren. Dies ist jedoch nur optional, weil es ein Sicherheitsrisiko eröffnet:&lt;br /&gt;
{{Shell |&amp;amp;gt; sudo chown matthias:users keys/k1.crt&amp;lt;br&amp;gt;&amp;amp;nbsp; chmod 640 ~/bin/keys/k1.*&amp;lt;br&amp;gt;&amp;amp;nbsp; cp ~/bin/keys/k1.* ~/lawsuit/keys/}}&lt;br /&gt;
&lt;br /&gt;
=== Verbindung mit dem Server ===&lt;br /&gt;
Wenn Sie host-Datei &amp;lt;tt&amp;gt;lawsuit-httpd.conf&amp;lt;/tt&amp;gt; automatisch wie oben vorgeschlagen generiert haben, sind die notwendigen Einstellungen schon voreingetragen und müssen nur auskommentiert werden. Ansonsten ergänzen Sie unter /etc/apache2/vhosts.d/&lt;br /&gt;
folgende Zeilen:&lt;br /&gt;
 &amp;lt;VirtualHost *:80&amp;gt;&lt;br /&gt;
    ServerName &amp;lt;b&amp;gt;k1&amp;lt;/b&amp;gt;&lt;br /&gt;
    ServerAlias &amp;lt;b&amp;gt;k1.local&amp;lt;/b&amp;gt;&lt;br /&gt;
 &amp;lt;/VirtualHost&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 &amp;lt;IfModule mod_ssl.c&amp;gt;&lt;br /&gt;
    &amp;lt;VirtualHost *:443&amp;gt;&lt;br /&gt;
        ServerAdmin webmaster@localhost&lt;br /&gt;
        DocumentRoot /home/BENUTZERNAME/lawsuit/&lt;br /&gt;
        ServerName &amp;lt;b&amp;gt;k1&amp;lt;/b&amp;gt;&lt;br /&gt;
        ServerAlias &amp;lt;b&amp;gt;k1.local&amp;lt;/b&amp;gt;&lt;br /&gt;
        ErrorLog /var/log/apache2/error_log&lt;br /&gt;
        SSLEngine on&lt;br /&gt;
        SSLCertificateFile      /home/BENUTZERNAME/bin/keys/&amp;lt;b&amp;gt;k1.crt&amp;lt;/b&amp;gt;&lt;br /&gt;
        SSLCertificateKeyFile   /home/BENUTZERNAME/bin/keys/&amp;lt;b&amp;gt;k1.key&amp;lt;/b&amp;gt;&lt;br /&gt;
        &amp;lt;IfModule mod_headers.c&amp;gt;&lt;br /&gt;
            Header always set Strict-Transport-Security &amp;quot;max-age=15552000; includeSubDomains&amp;quot;&lt;br /&gt;
        &amp;lt;/IfModule&amp;gt;&lt;br /&gt;
        &amp;lt;FilesMatch &amp;quot;\.(cgi|html|shtml|pl|phtml|php)$&amp;quot;&amp;gt;&lt;br /&gt;
            SSLOptions +StdEnvVars&lt;br /&gt;
        &amp;lt;/FilesMatch&amp;gt;&lt;br /&gt;
        &amp;lt;Directory /home/BENUTZERNAME/lawsuit/cgi-bin&amp;gt;&lt;br /&gt;
            SSLOptions +StdEnvVars&lt;br /&gt;
        &amp;lt;/Directory&amp;gt;&lt;br /&gt;
    &amp;lt;/VirtualHost&amp;gt;&lt;br /&gt;
 &amp;lt;/IfModule&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 # configuration&lt;br /&gt;
 SSLProtocol             all -SSLv3 -TLSv1 -TLSv1.1 -TLSv1.2&lt;br /&gt;
 SSLHonorCipherOrder     off&lt;br /&gt;
 SSLSessionTickets       off&lt;br /&gt;
&lt;br /&gt;
Damit diese Einstellungen nicht der vom Linux-System vorgegebenen Konfiguration widersprechen, müssen in der Datei &amp;lt;tt&amp;gt;/usr/share/doc/packages/apache2/original/extra/httpd-ssl.conf&amp;lt;/tt&amp;gt; noch folgende Zeilen auskommentiert und berichtigt werden&lt;br /&gt;
 #&amp;lt;b&amp;gt;ServerName&amp;lt;/b&amp;gt; www.example.com:443&lt;br /&gt;
 ServerName &amp;lt;b&amp;gt;k1&amp;lt;/b&amp;gt;:443&lt;br /&gt;
ferner&lt;br /&gt;
 #&amp;lt;b&amp;gt;SSLCertificateFile&amp;lt;/b&amp;gt; &amp;quot;/etc/apache2/server.crt&amp;quot;&lt;br /&gt;
 SSLCertificateFile &amp;quot;/home/BENUTZERNAME/bin/keys/k1.crt&amp;quot;&lt;br /&gt;
und&lt;br /&gt;
 #&amp;lt;b&amp;gt;SSLCertificateKeyFile&amp;lt;/b&amp;gt; &amp;quot;/etc/apache2/server.key&amp;quot;&lt;br /&gt;
 SSLCertificateKeyFile &amp;quot;/home/BENUTZERNAME/bin/keys/k1.key&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Unter Firefox kann das selbstgezeichnete Zertifikat nun verwendet werden. Bitte beachten Sie, dass für jede Apache-Konfigurrationsdatei ein anderer Port geöffnet werden muss, &amp;quot;443&amp;quot; also nur einmal verwendet werden kann. Sie können alternativ z.B. &amp;quot;4443&amp;quot; verwenden.&lt;br /&gt;
&lt;br /&gt;
Abschließender Test und Neustart:&lt;br /&gt;
{{Shell |&amp;amp;#35; sudo apache2ctl -t&amp;lt;br&amp;gt;&amp;amp;nbsp; sudo systemctl restart apache2}}&lt;br /&gt;
&lt;br /&gt;
=== Registrierung als vertrauenswürdiger Aussteller für den Firefox-Browser ===&lt;br /&gt;
Damit der Firefox-Browser das Zertifikat tatsächlich verwendet und als vertrauenswürdig akzeptiert, muss es im Kleopatra-Schlüsseldienst eingetragen werden, auf den der Browser zugreift. &lt;br /&gt;
{{Shell |&amp;amp;gt; kleopatra}}&lt;br /&gt;
Klicken Sie den Reiter &amp;lt;b&amp;gt;Importieren&amp;lt;/b&amp;gt; an und fügen Sie nacheinander die folgenden Dateien ein:&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;/home/BENUTZERNAME/bin/keys/k1.crt&amp;lt;/tt&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;/etc/ssl/certs/rootCA.pem&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Bitte bestätigen Sie die erbetenen Beglaubigungen mit der Maustaste.&lt;br /&gt;
[[Datei:Kleopatra.png|thumb|600px|left|Importieren der Zertifikate in das Kleopatra-Schlüsselverwaltungsprogramm]]&lt;br /&gt;
&amp;lt;br clear=all&amp;gt;&lt;br /&gt;
Nun wechseln Sie in den Firefox-Browser und geben in die Adresszeile ein&lt;br /&gt;
 about:config&lt;br /&gt;
Dort ändern Sie die Variable&lt;br /&gt;
 security.enterprise_roots.enabled -&amp;gt; true&lt;br /&gt;
von &amp;quot;false&amp;quot; auf &amp;quot;true&amp;quot;. Nun bezieht der Browser auch Ihre eigenen CA-Beglaubigungen des Unternehmens eine seine Bewertungen mit ein und vergibt ein grünes Schlüsselsymbol.&lt;br /&gt;
&lt;br /&gt;
== Problembehebung ==&lt;br /&gt;
Lesen Sie wenn möglich die Fehlermeldungen nach dem Start des Servers. Versuchen Sie Fehler ggf. zu reproduzieren und vergleichen Sie die Einträge in den Log-Dateien. Den Einblick auf die dortigen Meldungen können Sie mit dem folgenden Befehl auf den neuesten Stand reduzieren::&lt;br /&gt;
&lt;br /&gt;
{{Shell | # tail -F /var/log/apache2/*}}&lt;br /&gt;
&lt;br /&gt;
Da die Error-Messages schnell sehr großen Umfang einnehmen, der am Ende sogar den Systemstart blockieren kann, empfiehlt es sich, mit Logrotate den Bestand unter Kontrolle zu halten. Installieren Sie dazu, falls noch nicht vom System geschehen:&lt;br /&gt;
{{Shell | # zypper in logrotate}}&lt;br /&gt;
Sie können die Einstellungen in der Konfigurationsdatei &lt;br /&gt;
 /etc/logrotate.conf&lt;br /&gt;
ändern. Eine typische Konfiguration von &amp;lt;tt&amp;gt;logrotate.conf&amp;lt;/tt&amp;gt; sieht z.B. wie folgt aus:&lt;br /&gt;
{{Shell |&amp;amp;#35; see &amp;quot;man logrotate&amp;quot; for details&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;amp;#35; rotate log files weekly &lt;br /&gt;
&amp;lt;br&amp;gt;weekly &lt;br /&gt;
&amp;lt;br&amp;gt;&amp;amp;#35; keep 4 weeks worth of backlogs &lt;br /&gt;
&amp;lt;br&amp;gt;rotate 4&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;b&amp;gt;&amp;amp;#35; remove rotated logs older than &amp;lt;count&amp;gt; days&lt;br /&gt;
&amp;lt;br&amp;gt;maxage 90 &amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;amp;#35; create new (empty) log files after rotating old ones &lt;br /&gt;
&amp;lt;br&amp;gt;create&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;amp;#35; use date as a suffix of the rotated file&lt;br /&gt;
&amp;lt;br&amp;gt;dateext&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;amp;#35; uncomment this if you want your log files compressed &lt;br /&gt;
&amp;lt;br&amp;gt;compress&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;amp;#35; comment these to switch compression to use gzip or another &lt;br /&gt;
&amp;lt;br&amp;gt;&amp;amp;#35; compression scheme&lt;br /&gt;
&amp;lt;br&amp;gt;compresscmd /usr/bin/xz&lt;br /&gt;
&amp;lt;br&amp;gt;uncompresscmd /usr/bin/xzdec&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;amp;#35; RPM packages drop log rotation information into this directory&lt;br /&gt;
&amp;lt;br&amp;gt;include /etc/logrotate.d&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Sollten Sie einen Fehler gefunden haben, [https://de.opensuse.org/SDB:Fehler_berichten berichten Sie ihn] bitte.&lt;br /&gt;
&lt;br /&gt;
==Weiterführende Informationen==&lt;br /&gt;
=== Verwandte Artikel ===&lt;br /&gt;
*[https://documentation.ubuntu.com/server/how-to/security/firewalls/ Optionen für das Einrichten der Firewall unter Ubuntu]&lt;br /&gt;
* Package documentation and example configuration files in /usr/share/doc/packages/apache2/&lt;br /&gt;
&lt;br /&gt;
===Externe Links===&lt;br /&gt;
* [https://documentation.ubuntu.com/server/how-to/web-services/install-apache2/ Apache Documentation]&lt;br /&gt;
* [http://httpd.apache.org/ The Apache Project]&lt;br /&gt;
* [http://www.apache.org/ Apache Software Foundation]&lt;br /&gt;
&lt;br /&gt;
{{DEFAULTSORT:{{PAGENAME}}}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Linuxinstallation]]&lt;/div&gt;</summary>
		<author><name>87.123.95.19</name></author>	</entry>

	<entry>
		<id>http://wiki.iustus.eu/wiki/index.php?title=Aufsetzen_des_Apache-Servers_-_ubuntu&amp;diff=7114</id>
		<title>Aufsetzen des Apache-Servers - ubuntu</title>
		<link rel="alternate" type="text/html" href="http://wiki.iustus.eu/wiki/index.php?title=Aufsetzen_des_Apache-Servers_-_ubuntu&amp;diff=7114"/>
				<updated>2026-01-02T12:53:49Z</updated>
		
		<summary type="html">&lt;p&gt;87.123.95.19: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Ubuntu|&lt;br /&gt;
*[https://ubuntu.com/tutorials/install-ubuntu-desktop-1604#1-overview 16.04.]&lt;br /&gt;
|&lt;br /&gt;
*[https://ubuntu.com/tutorials/install-and-configure-apache#2-installing-apache Apache Installation]&lt;br /&gt;
|&lt;br /&gt;
*[https://wiki.ubuntuusers.de/Apache_2.4/]&lt;br /&gt;
*[https://wiki.ubuntuusers.de/Apache/Module/ Apache Module]&lt;br /&gt;
*[https://wiki.ubuntuusers.de/Apache/Virtual_Hosts/ Virtual Hosts]&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Einführung ==&lt;br /&gt;
&lt;br /&gt;
Diese Dokument gibt eine rasche Einführung, wie ein Apache-Server auf dem lokalen Rechner aufgesetzt werden kann, der die Lawsuit-Programmteile bereitstellt.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
{{Warnung| Die Kurzanleitung geht nicht vertieft auf mögliche Experten-Einstellungen des Servers ein. Insbesondere bleiben hier Sicherheitseinstellungen unberücksichtigt, die für den Betrieb als öffentlich zugänglicher Netzserver unumgänglich wären. Die nachfolgenden Schritte sind für Anwender gedacht, die Lawsuit intern auf dem Kanzleirechner hinter einer Firewall betreiben möchten.}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== Allgemeine Rechner-Konfiguration ==&lt;br /&gt;
&lt;br /&gt;
Die Software benötigt eine funktionierende Netzwerkumgebung. Diese wird jedoch bereits standardmäßig von Ubuntu eingereichtet. Achten Sie aber insbesondere bei der Nutzung von [https://de.wikipedia.org/wiki/Dynamic_Host_Configuration_Protocol DHCP] darauf, dass [[Mehrplatzsysteme - ubuntu|weitere Rechner]] der Kanzlei vom Networkmanager tatsächlich im selben Nummernraum wie dieser PC eingetragen wurden, auf dem Apache nun installiert werden soll. Ansonsten können diese Rechner später nicht auf die Kanzleisoftware zugreifen.&lt;br /&gt;
&lt;br /&gt;
Als Zweites sollte der PC auf dem aktuellen Softwarestand sein. &lt;br /&gt;
{{Shell|&amp;gt; sudo apt update}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Installation der Apache-Pakete ===&lt;br /&gt;
&lt;br /&gt;
Der Apache-Server und das optionale Perl-Modul können mit ''apt'' installiert werden. Öffnen Sie dazu ein Terminal-Fenster und wechseln Sie wie folgt in den Superuser-Modus:&lt;br /&gt;
{{Shell|&amp;gt; sudo apt install apache2}}&lt;br /&gt;
Geben Sie das Passwort ein.&lt;br /&gt;
Prüfen Sie die korrekte Funktionsweise des Apache-Servers, indem Sie in die Browser-Adresszeile die folgende Adresse eingeben:&lt;br /&gt;
 http://localhost/&lt;br /&gt;
Es sollte folgende Ausgabe zu sehen sein:&lt;br /&gt;
[[Datei:Apache_works.png|thumb|600px|left|Apache-Server Startausgabe]]&lt;br /&gt;
&amp;lt;br clear=all&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Start des Servers ===&lt;br /&gt;
Mit folgenden zwei Befehlen wird der Apache-Server gestartet und auf Dauer im System aktiviert.&lt;br /&gt;
{{Shell|# systemctl start apache2&amp;lt;br&amp;gt;&amp;amp;nbsp; systemctl enable apache2}}&lt;br /&gt;
&lt;br /&gt;
=== Einrichtung und Anpassung der Firewall ===&lt;br /&gt;
&lt;br /&gt;
Normalerweise sollte die die Firewall ''ufd'' (Uncomplicated Firewall) vorinstalliert sein. Für unsere Zwecke zielführender ist ''firewalld''. Dies wird mit&lt;br /&gt;
{{Shell|&amp;gt; sudo apt install firewalld}}&lt;br /&gt;
installiert. Danach muss, um Systemkonflikte zu vermeiden ''ufd'' deaktiviert werden. Dies erfolgt per&lt;br /&gt;
{{Shell|&amp;gt; sudo ufw disable}}&lt;br /&gt;
Starten Sie nun ''firewalld'' mit&lt;br /&gt;
{{Shell|&amp;gt; sudo systemctl enable --now firewalld}}&lt;br /&gt;
&lt;br /&gt;
Die Firewall ist so voreingestellt, dass sie über Port 80 auf den Rechner eingehende Daten grundsätzlich sperrt. Folglich müssen die Firewall-Einstellungen so angepasst werden, dass aus dem Lokalen Netzwerk über Port 80 eingehender Datenstrom akzeptiert wird.&lt;br /&gt;
Die folgenden Schritte müssen dazu weiterhin als Root ausgeführt werden. &lt;br /&gt;
&lt;br /&gt;
{{Shell|&amp;gt; sudo firewall-cmd --zone internal --permanent --add-interface&amp;amp;#61;eth0&amp;lt;br&amp;gt;&amp;amp;nbsp; sudo firewall-cmd --zone internal --permanent --add-service&amp;amp;#61;nfs&amp;lt;br&amp;gt;&amp;amp;nbsp; sudo firewall-cmd --zone internal --permanent --add-service&amp;amp;#61;http&amp;lt;br&amp;gt;&amp;amp;nbsp; sudo firewall-cmd --zone internal --permanent --add-service&amp;amp;#61;https&amp;lt;br&amp;gt;&amp;amp;nbsp; sudo firewall-cmd --reload}}&lt;br /&gt;
&lt;br /&gt;
Weitere verfügbare Dienste lassen sich mit folgendem Befehl anzeigen&lt;br /&gt;
{{Shell|&amp;gt; sudo firewall-cmd --get-service}}&lt;br /&gt;
und ggf. nach obigem Muster ergänzen&lt;br /&gt;
&lt;br /&gt;
=== Aktivierung des Servers ===&lt;br /&gt;
Starten Sie den Server und aktivieren Sie ihn in einem Bootverzeichnis, damit er mit dem Rechner hochgefahren wird (s.o. ohne Yast):&lt;br /&gt;
{{Shell|# systemctl start apache2.service&amp;lt;br&amp;gt;&amp;amp;nbsp; systemctl enable apache2}}&lt;br /&gt;
&lt;br /&gt;
=== Hinzufügen von Apache-Modulen===&lt;br /&gt;
Um benötigte Apache-Module zu laden, können wir die Konfigurationsvariable ''APACHE_MODULES'' in &amp;lt;tt&amp;gt;/etc/sysconfig/apache2&amp;lt;/tt&amp;gt; editieren. Schneller geht es jedoch mit den nachfolgenden Befehlen.&lt;br /&gt;
Einige Programme müssen zunächst nachgeladen werden:&lt;br /&gt;
{{Shell|&amp;gt; sudo apt install libapache2-mod-perl2 libapache2-mod-dnssd libapache2-mod-python}}&lt;br /&gt;
Nach der Änderung muss der Server neu gestartet werden. Auch für die folgenden Befehle sind wieder die Rechte eines Superusers vonnöten.&lt;br /&gt;
{{Shell|&amp;gt; sudo a2enmod perl ssl dnssd rewrite actions python&amp;lt;br&amp;gt;&amp;amp;nbsp; sudo systemctl restart apache2}}&lt;br /&gt;
&lt;br /&gt;
== Virtual Hosts ==&lt;br /&gt;
===Allgemeines===&lt;br /&gt;
Das Verzeichnis für alle Virtual Host unter Ubuntu ist &amp;lt;tt&amp;gt;/etc/apache2/sites-enabled/&amp;lt;/tt&amp;gt;. Nur Dateien mit dem Suffix &amp;quot;.conf&amp;quot; werden automatisch in die Apachekonfiguration einbezogen.&lt;br /&gt;
&lt;br /&gt;
{{Intro|Wenn Sie neben Lawsuit einen weiteren eigenen Virtual Host hinzufügen möchten, ersetzen Sie in den folgenden Zeilen bitte ''Domainname'' durch ihren Verzeichnisnamen oder Ihre IP-Adresse.}}&lt;br /&gt;
&lt;br /&gt;
* Es gibt mehrere Varianten für die Struktur, mit welcher der eigenen Server auf dem Rechner aufgesetzt werden kann. Folgende Optionen bieten sich an: &lt;br /&gt;
:* [https://httpd.apache.org/docs/2.4/de/vhosts/name-based.html namensbasiert]&lt;br /&gt;
:* [https://httpd.apache.org/docs/2.4/de/vhosts/ip-based.html IP-basiert]&lt;br /&gt;
:* portbasiert&lt;br /&gt;
&lt;br /&gt;
* Sei können für Ihre Verzeichnisse die Vorlage '''vhost.template''' kopieren und als Ihre '''{DOMAINNAME}.conf''' speichern. Hier hinein tragen Sie anschließend die Unterverzeichnisse für Ihren Virtual Host ein.&lt;br /&gt;
&lt;br /&gt;
===Einstellungen für ''Lawsuit''===&lt;br /&gt;
Deaktivieren Sie zunächst die von Ubuntu bereitgestellte Vorlage&lt;br /&gt;
{{Shell | &amp;gt;sudo a2dissite 000-default.conf}}&lt;br /&gt;
Für ''Lawsuit'' wird die stattdessen benötigte Konfigurationsdatei im Unterverzeichnis &amp;lt;tt&amp;gt;lawsuit/settings&amp;lt;/tt&amp;gt; bereits fertig zur Verfügung gestellt. Sie müssen lediglich in der genannten Datei den Platzhalter durch den eigenen Nutzernamen ersetzen und die fertige Datei in das Vhosts-Verzeichnis verlinken. Wechseln Sie in das Unterverzeichnis &amp;lt;tt&amp;gt;lawsuit/settings&amp;lt;/tt&amp;gt;. Wenn Sie ''Lawsuit'' in Ihrem Nutzerhauptverzeichnis installiert haben, gelangen Sie mit diesem Befehl dorthin:&lt;br /&gt;
{{Shell | &amp;gt; cd ~/lawsuit/settings}}&lt;br /&gt;
Erstellen Sie dort eine Konfigurationsdatei aus der Vorlage &amp;lt;tt&amp;gt;lawsuit-httpd.template&amp;lt;/tt&amp;gt; und ersetzen Sie den darin enthaltenen Platzhalter ''meinpfad'' dabei durch Ihren Pfad zum aktuellen Verzeichnis. Dies erfolgt automatisiert durch diese Befehle:&lt;br /&gt;
{{Shell | &amp;gt; pfad&amp;amp;#61;&amp;amp;#96;pwd &amp;amp;#124; sed &amp;amp;apos;s/\/lawsuit.*//&amp;amp;apos;  &amp;amp;#124; sed &amp;amp;apos;s/\//\\\\\//g&amp;amp;apos;&amp;amp;#96;&amp;lt;br&amp;gt; &amp;gt; sed &amp;amp;quot;s/meinpfad/$pfad/g&amp;amp;quot; lawsuit-httpd.template &amp;gt; lawsuit-httpd.conf}}&lt;br /&gt;
Falls Ihr Pfad zum Ordner &amp;lt;tt&amp;gt;Documents&amp;lt;/tt&amp;gt; nicht mit dem soeben ermittelten Pfad für &amp;lt;tt&amp;gt;lawsuit&amp;lt;/tt&amp;gt; identisch ist, passen Sie diese Einstellungen für das Verzeichnis &amp;lt;tt&amp;gt;Documents&amp;lt;/tt&amp;gt; bitte in der &amp;lt;tt&amp;gt;lawsuit-httpd.conf&amp;lt;/tt&amp;gt; mit einem Editor wie '''kate''' von Hand an.&lt;br /&gt;
&lt;br /&gt;
Abschließend kopieren Sie die erstellte Konfigurationsdatei als ''Superuser'' in das Verzeichnis der Virtual Hosts von Apache:&lt;br /&gt;
&lt;br /&gt;
{{Shell | &amp;gt; sudo cp lawsuit-httpd.conf /etc/apache2/sites-enabled/}}&lt;br /&gt;
&lt;br /&gt;
* Neustart von Apache&lt;br /&gt;
{{Shell | &amp;gt; sudo service apache2 restart}}&lt;br /&gt;
&lt;br /&gt;
=== Anpassen der Konfiguration ===&lt;br /&gt;
Um Ergänzungen oder Änderungen einheitlich für alle Virtual Hosts an der Datei &amp;lt;tt&amp;gt;/etc/apache2/default-server.conf&amp;lt;/tt&amp;gt; vorzunehmen, editieren Sie die Konfigurationsvariable ''APACHE_CONF_INCLUDE_FILES'' mithilfe von &lt;br /&gt;
 YaST &amp;gt; etc/sysconfig-Editor&lt;br /&gt;
oder arbeiten direkt in der Textdatei &amp;lt;tt&amp;gt;/etc/sysconfig/apache2&amp;lt;/tt&amp;gt;. Zum Verständnis der Hierarchie und des Layouts um Dateien einzubeziehen, lesen Sie die Kommentierung im Kopf der &amp;lt;tt&amp;gt;httpd.conf&amp;lt;/tt&amp;gt;. Die ursprüngliche, einfache Konfigurationsdatei mit nur 40K findet sich notfalls unter &amp;lt;tt&amp;gt;/usr/share/doc/packages/apache2/httpd-std.conf-prefork&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Optional: Ein Zertifikat für localhost erstellen ==&lt;br /&gt;
Bei Mehrplatzsystemen funktionieren die Javascript-Voreintragungen bei Nutzung einer sicheren HTTPS-Verbindung nur, wenn ein eigenes Zertifikat erstellt wird, dessen Aussteller zudem noch aus vertrauenswürdig eingestuft werden muss.OpenSSL bringt umfassende Werkzeuge mit, um eine eigene, kleine Certificate Authority (CA) betreiben zu können. &lt;br /&gt;
=== Vergabe einer Domain für den Rechner mit den Lawsuit-Daten ===&lt;br /&gt;
Unter &amp;lt;i&amp;gt;yast2 &amp;gt; Netzwerkdienste &amp;gt; Rechnernamen&amp;lt;/i&amp;gt; fügen Sie unter der Zeile &amp;quot;localhost&amp;quot; eine Zeile mit folgenden Daten ein:&lt;br /&gt;
 IP-Adresse: &amp;lt;b&amp;gt;192.168.2.10&amp;lt;/b&amp;gt;&lt;br /&gt;
 Hostnamen:  &amp;lt;b&amp;gt;k1.local&amp;lt;/b&amp;gt;&lt;br /&gt;
 Aliasnamen: &amp;lt;b&amp;gt;k1&amp;lt;/b&amp;gt;&lt;br /&gt;
[[Datei:Hostkonfiguration.png|thumb|600px|left|Eigenen Rechnernamen vergeben]]&lt;br /&gt;
&amp;lt;br clear=all&amp;gt;&lt;br /&gt;
Sie können statt &amp;quot;k1&amp;quot; eine beliebe andere Bezeichnung für den Hauptrechner wählen, müssen dann aber Ihre Domain in den folgenden Einstellungen beibehalten.&lt;br /&gt;
&lt;br /&gt;
=== Certificate Authority (CA) erstellen ===&lt;br /&gt;
Zu Beginn wird die Certificate Authority generiert. Zunächst wird ein geheimer Private Key erzeugt:&lt;br /&gt;
{{Shell |&amp;amp;gt; sudo openssl genrsa -aes256 -out /etc/ssl/private/rootCA.key 4096}}&lt;br /&gt;
Der Key trägt den Namen “rootCA.pem” und hat eine Länge von 4096 Bit. Die Option “-aes256” führt dazu, dass der Key mit einem Passwort geschützt wird. Die Key-Datei der CA muss tatsächlich besonders gut geschützt werden. Ein Angreifer, der den Key in die Hände bekommt, kann beliebig gefälschte Zertifikate im Namen der Kanzlei ausstellen, denen die Clients trauen. Die Verschlüsselung dieses Keys mit einem Passwort gibt zusätzlichen Schutz. Das gewünschte Passwort wird bei der Generierung abgefragt.&lt;br /&gt;
Einen geheimen Key für die CA gibt es damit also schon - es fehlt noch das Root-Zertifikat, das von den Clients später importiert werden muss, damit die von der CA ausgestellten Zertifikate im Browser als gültig erkannt werden. Das Root-Zertifikat “ca-root.pem” wird mit folgendem Befehl erzeugt: &lt;br /&gt;
{{Shell |&amp;amp;gt; sudo openssl req -x509 -new -nodes -key /etc/ssl/private/rootCA.key -sha512 -days 5483 -out /etc/ssl/certs/rootCA.pem}}&lt;br /&gt;
In diesem Fall wird die CA 5483 Tage, also mit Schalttagen 15 Jahre lang gültig bleiben. Während der Generierung werden das Passwort für die CA und einige Attribute abgefragt (hier ein Beispiel):&lt;br /&gt;
 Country Name (2 letter code) [AU]:&amp;lt;b&amp;gt;DE&amp;lt;/b&amp;gt;&lt;br /&gt;
 State or Province Name (full name) [Some-State]:&amp;lt;b&amp;gt;Nordrhein-Westfalen&amp;lt;/b&amp;gt;&lt;br /&gt;
 Locality Name (eg, city) []:&amp;lt;b&amp;gt;Muenster&amp;lt;/b&amp;gt;&lt;br /&gt;
 Organization Name (eg, company) [Internet Widgits Pty Ltd]:&amp;lt;b&amp;gt;Kanzlei Hermanns&amp;lt;/b&amp;gt;&lt;br /&gt;
 Organizational Unit Name (eg, section) []:&amp;lt;b&amp;gt;Rechtsanwalt&amp;lt;/b&amp;gt;&lt;br /&gt;
 Common Name (e.g. server FQDN or YOUR name) []:&amp;lt;b&amp;gt;RA Matthias Hermanns&amp;lt;/b&amp;gt;&lt;br /&gt;
 Email Address []:&amp;lt;b&amp;gt;hermanns@iustus.eu&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Erzeugen des Schlüssels===&lt;br /&gt;
Mit diesen Daten wird auch eine Konfiguratunsdatei mit Namen &amp;lt;tt&amp;gt;ssl.cnf&amp;lt;/tt&amp;gt; befüllt, die die Schlüsselausgabe später vereinfacht.&lt;br /&gt;
{{Shell |&amp;amp;gt; cd ~/bin&amp;lt;br&amp;gt;&amp;amp;nbsp; mkdir keys&amp;lt;br&amp;gt;&amp;amp;nbsp; cd keys&amp;lt;br&amp;gt;&amp;amp;nbsp; kate ssl.cnf}}&lt;br /&gt;
Die Datei kann beispielsweise den folgenden Inhalt haben&lt;br /&gt;
 [req]&lt;br /&gt;
 # Standard-Verschlüsselung&lt;br /&gt;
 default_bits = 4096&lt;br /&gt;
 # verhindere prompt für die Zertifikat-Erstellung&lt;br /&gt;
 # (Daten kommen aus dieser Datei)&lt;br /&gt;
 prompt = no&lt;br /&gt;
 # Verschlüsselungsmethode&lt;br /&gt;
 default_md = sha512&lt;br /&gt;
 # Kryptographie abschalten&lt;br /&gt;
 encrypt_key = no&lt;br /&gt;
 # Sektion für Zertifizierer-Informationen:&lt;br /&gt;
 distinguished_name = dn&lt;br /&gt;
 &lt;br /&gt;
 # Zertifizierer-Informationen:&lt;br /&gt;
 [dn]&lt;br /&gt;
 # Länder-Code&lt;br /&gt;
 C=DE&lt;br /&gt;
 # Bundesland&lt;br /&gt;
 ST=Nordrhein-Westfalen&lt;br /&gt;
 # Stadt&lt;br /&gt;
 L=Muenster&lt;br /&gt;
 # Bezeichnung/Firmen-Name/Dein Name:&lt;br /&gt;
 O=Kanzlei Hermanns&lt;br /&gt;
 # Aussteller Name&lt;br /&gt;
 OU=RA Matthias Hermanns&lt;br /&gt;
 # E-Mail-Adresse&lt;br /&gt;
 emailAddress=hermanns@iustus.eu&lt;br /&gt;
 # Primärer Servername&lt;br /&gt;
 CN = &amp;lt;b&amp;gt;k1&amp;lt;/b&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 [v3_ca]&lt;br /&gt;
 keyUsage = digitalSignature, keyEncipherment&lt;br /&gt;
 extendedKeyUsage = serverAuth&lt;br /&gt;
 subjectAltName = IP:&amp;lt;b&amp;gt;192.168.2.10&amp;lt;/b&amp;gt;, DNS:&amp;lt;b&amp;gt;k1&amp;lt;/b&amp;gt;, DNS:&amp;lt;b&amp;gt;k1.local&amp;lt;/b&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 [ req_ext ]&lt;br /&gt;
 subjectAltName = @alt_names&lt;br /&gt;
 &lt;br /&gt;
 [alt_names]&lt;br /&gt;
 # Primärer Server-Name&lt;br /&gt;
 DNS.1 = &amp;lt;b&amp;gt;k1&amp;lt;/b&amp;gt;&lt;br /&gt;
 # Sekunärer Server-Name&lt;br /&gt;
 DNS.2 = &amp;lt;b&amp;gt;k1.local&amp;lt;/b&amp;gt;&lt;br /&gt;
 # Wildcard Subdomains&lt;br /&gt;
 DNS.3 = *.&amp;lt;b&amp;gt;k1.local&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Speichern Sie die so erstellte Datei &amp;lt;tt&amp;gt;ssl.cnf&amp;lt;/tt&amp;gt; im &amp;lt;tt&amp;gt;bin&amp;lt;/tt&amp;gt;-Verzeichnis ab. Mit folgendem Befehl erzeugen Sie nun als zertifizierter Aussteller die eigentlichen Schlüssel für die SSL-Verbindung.&lt;br /&gt;
Zunächst wird der RSA-Key mit 3072 Bit erzeugt (Asymmetrischer Schlüssel von Rivest, Shamir und Adleman, der einen privaten und einen öffentlichen Teil hat):&lt;br /&gt;
{{Shell |&amp;amp;gt; openssl genrsa -out k1.key 3072}}&lt;br /&gt;
Nun folgt die Certificate Signing Request (CSR; deutsch Zertifikatsignierungsanforderung), ein digitaler Antrag, um mittels der soeben erzeugten digitalen Signatur und der zusätzlichen Identitätsangaben zum Antragstellers aus der &amp;lt;tt&amp;gt;ssl.cnf&amp;lt;/tt&amp;gt; ein persönliches digitales Identitäts-Zertifikat (auch Public-Key-Zertifikat genannt) zu erstellen:&lt;br /&gt;
{{Shell |&amp;amp;gt; openssl req -new -keyout ~/bin/keys/k1.key -out ~/bin/keys/k1.csr -config ~/bin/keys/ssl.cnf}}&lt;br /&gt;
Mithilfe des Wurzelzertifikats vom verifizierten Aussteller (uns selbst) wird nun der eigentliche Schlüssel erstellt, damit eine Rückverfolgung zum Wurzelzertifikat möglich ist. &lt;br /&gt;
{{Shell |&amp;amp;gt; sudo openssl x509 -req \&amp;lt;br&amp;gt;&amp;amp;nbsp; -in ~/bin/keys/k1.csr \&amp;lt;br&amp;gt;&amp;amp;nbsp; -CA /etc/ssl/certs/rootCA.pem \&amp;lt;br&amp;gt;&amp;amp;nbsp; -CAkey /etc/ssl/private/rootCA.key \&amp;lt;br&amp;gt;&amp;amp;nbsp; -CAcreateserial \&amp;lt;br&amp;gt;&amp;amp;nbsp; -out ~/bin/keys/k1.crt \&amp;lt;br&amp;gt;&amp;amp;nbsp; -days 3653 \&amp;lt;br&amp;gt;&amp;amp;nbsp; -extfile ~/bin/keys/ssl.cnf \&amp;lt;br&amp;gt;&amp;amp;nbsp; -extensions v3_ca }}&lt;br /&gt;
&lt;br /&gt;
Damit die Zertifkate in unsere regelmäßige Sicherungsspeicherung aufgenommen werden, können wir sie in das Schlüsselverzeichnis &amp;lt;tt&amp;gt;keys&amp;lt;/tt&amp;gt; unter &amp;lt;tt&amp;gt;lawsuit&amp;lt;/tt&amp;gt; kopieren. Dies ist jedoch nur optional, weil es ein Sicherheitsrisiko eröffnet:&lt;br /&gt;
{{Shell |&amp;amp;gt; sudo chown matthias:users keys/k1.crt&amp;lt;br&amp;gt;&amp;amp;nbsp; chmod 640 ~/bin/keys/k1.*&amp;lt;br&amp;gt;&amp;amp;nbsp; cp ~/bin/keys/k1.* ~/lawsuit/keys/}}&lt;br /&gt;
&lt;br /&gt;
=== Verbindung mit dem Server ===&lt;br /&gt;
Wenn Sie host-Datei &amp;lt;tt&amp;gt;lawsuit-httpd.conf&amp;lt;/tt&amp;gt; automatisch wie oben vorgeschlagen generiert haben, sind die notwendigen Einstellungen schon voreingetragen und müssen nur auskommentiert werden. Ansonsten ergänzen Sie unter /etc/apache2/vhosts.d/&lt;br /&gt;
folgende Zeilen:&lt;br /&gt;
 &amp;lt;VirtualHost *:80&amp;gt;&lt;br /&gt;
    ServerName &amp;lt;b&amp;gt;k1&amp;lt;/b&amp;gt;&lt;br /&gt;
    ServerAlias &amp;lt;b&amp;gt;k1.local&amp;lt;/b&amp;gt;&lt;br /&gt;
 &amp;lt;/VirtualHost&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 &amp;lt;IfModule mod_ssl.c&amp;gt;&lt;br /&gt;
    &amp;lt;VirtualHost *:443&amp;gt;&lt;br /&gt;
        ServerAdmin webmaster@localhost&lt;br /&gt;
        DocumentRoot /home/BENUTZERNAME/lawsuit/&lt;br /&gt;
        ServerName &amp;lt;b&amp;gt;k1&amp;lt;/b&amp;gt;&lt;br /&gt;
        ServerAlias &amp;lt;b&amp;gt;k1.local&amp;lt;/b&amp;gt;&lt;br /&gt;
        ErrorLog /var/log/apache2/error_log&lt;br /&gt;
        SSLEngine on&lt;br /&gt;
        SSLCertificateFile      /home/BENUTZERNAME/bin/keys/&amp;lt;b&amp;gt;k1.crt&amp;lt;/b&amp;gt;&lt;br /&gt;
        SSLCertificateKeyFile   /home/BENUTZERNAME/bin/keys/&amp;lt;b&amp;gt;k1.key&amp;lt;/b&amp;gt;&lt;br /&gt;
        &amp;lt;IfModule mod_headers.c&amp;gt;&lt;br /&gt;
            Header always set Strict-Transport-Security &amp;quot;max-age=15552000; includeSubDomains&amp;quot;&lt;br /&gt;
        &amp;lt;/IfModule&amp;gt;&lt;br /&gt;
        &amp;lt;FilesMatch &amp;quot;\.(cgi|html|shtml|pl|phtml|php)$&amp;quot;&amp;gt;&lt;br /&gt;
            SSLOptions +StdEnvVars&lt;br /&gt;
        &amp;lt;/FilesMatch&amp;gt;&lt;br /&gt;
        &amp;lt;Directory /home/BENUTZERNAME/lawsuit/cgi-bin&amp;gt;&lt;br /&gt;
            SSLOptions +StdEnvVars&lt;br /&gt;
        &amp;lt;/Directory&amp;gt;&lt;br /&gt;
    &amp;lt;/VirtualHost&amp;gt;&lt;br /&gt;
 &amp;lt;/IfModule&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 # configuration&lt;br /&gt;
 SSLProtocol             all -SSLv3 -TLSv1 -TLSv1.1 -TLSv1.2&lt;br /&gt;
 SSLHonorCipherOrder     off&lt;br /&gt;
 SSLSessionTickets       off&lt;br /&gt;
&lt;br /&gt;
Damit diese Einstellungen nicht der vom Linux-System vorgegebenen Konfiguration widersprechen, müssen in der Datei &amp;lt;tt&amp;gt;/usr/share/doc/packages/apache2/original/extra/httpd-ssl.conf&amp;lt;/tt&amp;gt; noch folgende Zeilen auskommentiert und berichtigt werden&lt;br /&gt;
 #&amp;lt;b&amp;gt;ServerName&amp;lt;/b&amp;gt; www.example.com:443&lt;br /&gt;
 ServerName &amp;lt;b&amp;gt;k1&amp;lt;/b&amp;gt;:443&lt;br /&gt;
ferner&lt;br /&gt;
 #&amp;lt;b&amp;gt;SSLCertificateFile&amp;lt;/b&amp;gt; &amp;quot;/etc/apache2/server.crt&amp;quot;&lt;br /&gt;
 SSLCertificateFile &amp;quot;/home/BENUTZERNAME/bin/keys/k1.crt&amp;quot;&lt;br /&gt;
und&lt;br /&gt;
 #&amp;lt;b&amp;gt;SSLCertificateKeyFile&amp;lt;/b&amp;gt; &amp;quot;/etc/apache2/server.key&amp;quot;&lt;br /&gt;
 SSLCertificateKeyFile &amp;quot;/home/BENUTZERNAME/bin/keys/k1.key&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Unter Firefox kann das selbstgezeichnete Zertifikat nun verwendet werden. Bitte beachten Sie, dass für jede Apache-Konfigurrationsdatei ein anderer Port geöffnet werden muss, &amp;quot;443&amp;quot; also nur einmal verwendet werden kann. Sie können alternativ z.B. &amp;quot;4443&amp;quot; verwenden.&lt;br /&gt;
&lt;br /&gt;
Abschließender Test und Neustart:&lt;br /&gt;
{{Shell |&amp;amp;#35; sudo apache2ctl -t&amp;lt;br&amp;gt;&amp;amp;nbsp; sudo systemctl restart apache2}}&lt;br /&gt;
&lt;br /&gt;
=== Registrierung als vertrauenswürdiger Aussteller für den Firefox-Browser ===&lt;br /&gt;
Damit der Firefox-Browser das Zertifikat tatsächlich verwendet und als vertrauenswürdig akzeptiert, muss es im Kleopatra-Schlüsseldienst eingetragen werden, auf den der Browser zugreift. &lt;br /&gt;
{{Shell |&amp;amp;gt; kleopatra}}&lt;br /&gt;
Klicken Sie den Reiter &amp;lt;b&amp;gt;Importieren&amp;lt;/b&amp;gt; an und fügen Sie nacheinander die folgenden Dateien ein:&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;/home/BENUTZERNAME/bin/keys/k1.crt&amp;lt;/tt&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;/etc/ssl/certs/rootCA.pem&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Bitte bestätigen Sie die erbetenen Beglaubigungen mit der Maustaste.&lt;br /&gt;
[[Datei:Kleopatra.png|thumb|600px|left|Importieren der Zertifikate in das Kleopatra-Schlüsselverwaltungsprogramm]]&lt;br /&gt;
&amp;lt;br clear=all&amp;gt;&lt;br /&gt;
Nun wechseln Sie in den Firefox-Browser und geben in die Adresszeile ein&lt;br /&gt;
 about:config&lt;br /&gt;
Dort ändern Sie die Variable&lt;br /&gt;
 security.enterprise_roots.enabled -&amp;gt; true&lt;br /&gt;
von &amp;quot;false&amp;quot; auf &amp;quot;true&amp;quot;. Nun bezieht der Browser auch Ihre eigenen CA-Beglaubigungen des Unternehmens eine seine Bewertungen mit ein und vergibt ein grünes Schlüsselsymbol.&lt;br /&gt;
&lt;br /&gt;
== Problembehebung ==&lt;br /&gt;
Lesen Sie wenn möglich die Fehlermeldungen nach dem Start des Servers. Versuchen Sie Fehler ggf. zu reproduzieren und vergleichen Sie die Einträge in den Log-Dateien. Den Einblick auf die dortigen Meldungen können Sie mit dem folgenden Befehl auf den neuesten Stand reduzieren::&lt;br /&gt;
&lt;br /&gt;
{{Shell | # tail -F /var/log/apache2/*}}&lt;br /&gt;
&lt;br /&gt;
Da die Error-Messages schnell sehr großen Umfang einnehmen, der am Ende sogar den Systemstart blockieren kann, empfiehlt es sich, mit Logrotate den Bestand unter Kontrolle zu halten. Installieren Sie dazu, falls noch nicht vom System geschehen:&lt;br /&gt;
{{Shell | # zypper in logrotate}}&lt;br /&gt;
Sie können die Einstellungen in der Konfigurationsdatei &lt;br /&gt;
 /etc/logrotate.conf&lt;br /&gt;
ändern. Eine typische Konfiguration von &amp;lt;tt&amp;gt;logrotate.conf&amp;lt;/tt&amp;gt; sieht z.B. wie folgt aus:&lt;br /&gt;
{{Shell |&amp;amp;#35; see &amp;quot;man logrotate&amp;quot; for details&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;amp;#35; rotate log files weekly &lt;br /&gt;
&amp;lt;br&amp;gt;weekly &lt;br /&gt;
&amp;lt;br&amp;gt;&amp;amp;#35; keep 4 weeks worth of backlogs &lt;br /&gt;
&amp;lt;br&amp;gt;rotate 4&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;b&amp;gt;&amp;amp;#35; remove rotated logs older than &amp;lt;count&amp;gt; days&lt;br /&gt;
&amp;lt;br&amp;gt;maxage 90 &amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;amp;#35; create new (empty) log files after rotating old ones &lt;br /&gt;
&amp;lt;br&amp;gt;create&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;amp;#35; use date as a suffix of the rotated file&lt;br /&gt;
&amp;lt;br&amp;gt;dateext&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;amp;#35; uncomment this if you want your log files compressed &lt;br /&gt;
&amp;lt;br&amp;gt;compress&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;amp;#35; comment these to switch compression to use gzip or another &lt;br /&gt;
&amp;lt;br&amp;gt;&amp;amp;#35; compression scheme&lt;br /&gt;
&amp;lt;br&amp;gt;compresscmd /usr/bin/xz&lt;br /&gt;
&amp;lt;br&amp;gt;uncompresscmd /usr/bin/xzdec&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;amp;#35; RPM packages drop log rotation information into this directory&lt;br /&gt;
&amp;lt;br&amp;gt;include /etc/logrotate.d&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Sollten Sie einen Fehler gefunden haben, [https://de.opensuse.org/SDB:Fehler_berichten berichten Sie ihn] bitte.&lt;br /&gt;
&lt;br /&gt;
==Weiterführende Informationen==&lt;br /&gt;
=== Verwandte Artikel ===&lt;br /&gt;
*[https://documentation.ubuntu.com/server/how-to/security/firewalls/ Optionen für das Einrichten eienr Firewall]&lt;br /&gt;
* Package documentation and example configuration files in /usr/share/doc/packages/apache2/&lt;br /&gt;
&lt;br /&gt;
===Externe Links===&lt;br /&gt;
* [https://documentation.ubuntu.com/server/how-to/web-services/install-apache2/ Apache Documentation]&lt;br /&gt;
* [http://httpd.apache.org/ The Apache Project]&lt;br /&gt;
* [http://www.apache.org/ Apache Software Foundation]&lt;br /&gt;
&lt;br /&gt;
{{DEFAULTSORT:{{PAGENAME}}}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Linuxinstallation]]&lt;/div&gt;</summary>
		<author><name>87.123.95.19</name></author>	</entry>

	<entry>
		<id>http://wiki.iustus.eu/wiki/index.php?title=Aufsetzen_des_Apache-Servers_-_ubuntu&amp;diff=7113</id>
		<title>Aufsetzen des Apache-Servers - ubuntu</title>
		<link rel="alternate" type="text/html" href="http://wiki.iustus.eu/wiki/index.php?title=Aufsetzen_des_Apache-Servers_-_ubuntu&amp;diff=7113"/>
				<updated>2026-01-02T12:48:17Z</updated>
		
		<summary type="html">&lt;p&gt;87.123.95.19: /* Einstellungen für Lawsuit */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Ubuntu|&lt;br /&gt;
*[https://ubuntu.com/tutorials/install-ubuntu-desktop-1604#1-overview 16.04.]&lt;br /&gt;
|&lt;br /&gt;
*[https://ubuntu.com/tutorials/install-and-configure-apache#2-installing-apache Apache Installation]&lt;br /&gt;
|&lt;br /&gt;
*[https://de.opensuse.org/SDB:LAMP_Einrichtung SDB:LAMP_Einrichtung]&lt;br /&gt;
*[https://de.opensuse.org/Apache2 Apache2]&lt;br /&gt;
*[https://de.opensuse.org/Portal:MySQL Portal:MySQL]&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Einführung ==&lt;br /&gt;
&lt;br /&gt;
Diese Dokument gibt eine rasche Einführung, wie ein Apache-Server auf dem lokalen Rechner aufgesetzt werden kann, der die Lawsuit-Programmteile bereitstellt.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
{{Warnung| Die Kurzanleitung geht nicht vertieft auf mögliche Experten-Einstellungen des Servers ein. Insbesondere bleiben hier Sicherheitseinstellungen unberücksichtigt, die für den Betrieb als öffentlich zugänglicher Netzserver unumgänglich wären. Die nachfolgenden Schritte sind für Anwender gedacht, die Lawsuit intern auf dem Kanzleirechner hinter einer Firewall betreiben möchten.}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== Allgemeine Rechner-Konfiguration ==&lt;br /&gt;
&lt;br /&gt;
Die Software benötigt eine funktionierende Netzwerkumgebung. Diese wird jedoch bereits standardmäßig von Ubuntu eingereichtet. Achten Sie aber insbesondere bei der Nutzung von [https://de.wikipedia.org/wiki/Dynamic_Host_Configuration_Protocol DHCP] darauf, dass [[Mehrplatzsysteme - ubuntu|weitere Rechner]] der Kanzlei vom Networkmanager tatsächlich im selben Nummernraum wie dieser PC eingetragen wurden, auf dem Apache nun installiert werden soll. Ansonsten können diese Rechner später nicht auf die Kanzleisoftware zugreifen.&lt;br /&gt;
&lt;br /&gt;
Als Zweites sollte der PC auf dem aktuellen Softwarestand sein. &lt;br /&gt;
{{Shell|&amp;gt; sudo apt update}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Installation der Apache-Pakete ===&lt;br /&gt;
&lt;br /&gt;
Der Apache-Server und das optionale Perl-Modul können mit ''apt'' installiert werden. Öffnen Sie dazu ein Terminal-Fenster und wechseln Sie wie folgt in den Superuser-Modus:&lt;br /&gt;
{{Shell|&amp;gt; sudo apt install apache2}}&lt;br /&gt;
Geben Sie das Passwort ein.&lt;br /&gt;
Prüfen Sie die korrekte Funktionsweise des Apache-Servers, indem Sie in die Browser-Adresszeile die folgende Adresse eingeben:&lt;br /&gt;
 http://localhost/&lt;br /&gt;
Es sollte folgende Ausgabe zu sehen sein:&lt;br /&gt;
[[Datei:Apache_works.png|thumb|600px|left|Apache-Server Startausgabe]]&lt;br /&gt;
&amp;lt;br clear=all&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Start des Servers ===&lt;br /&gt;
Mit folgenden zwei Befehlen wird der Apache-Server gestartet und auf Dauer im System aktiviert.&lt;br /&gt;
{{Shell|# systemctl start apache2&amp;lt;br&amp;gt;&amp;amp;nbsp; systemctl enable apache2}}&lt;br /&gt;
&lt;br /&gt;
=== Einrichtung und Anpassung der Firewall ===&lt;br /&gt;
&lt;br /&gt;
Normalerweise sollte die die Firewall ''ufd'' (Uncomplicated Firewall) vorinstalliert sein. Für unsere Zwecke zielführender ist ''firewalld''. Dies wird mit&lt;br /&gt;
{{Shell|&amp;gt; sudo apt install firewalld}}&lt;br /&gt;
installiert. Danach muss, um Systemkonflikte zu vermeiden ''ufd'' deaktiviert werden. Dies erfolgt per&lt;br /&gt;
{{Shell|&amp;gt; sudo ufw disable}}&lt;br /&gt;
Starten Sie nun ''firewalld'' mit&lt;br /&gt;
{{Shell|&amp;gt; sudo systemctl enable --now firewalld}}&lt;br /&gt;
&lt;br /&gt;
Die Firewall ist so voreingestellt, dass sie über Port 80 auf den Rechner eingehende Daten grundsätzlich sperrt. Folglich müssen die Firewall-Einstellungen so angepasst werden, dass aus dem Lokalen Netzwerk über Port 80 eingehender Datenstrom akzeptiert wird.&lt;br /&gt;
Die folgenden Schritte müssen dazu weiterhin als Root ausgeführt werden. &lt;br /&gt;
&lt;br /&gt;
{{Shell|&amp;gt; sudo firewall-cmd --zone internal --permanent --add-interface&amp;amp;#61;eth0&amp;lt;br&amp;gt;&amp;amp;nbsp; sudo firewall-cmd --zone internal --permanent --add-service&amp;amp;#61;nfs&amp;lt;br&amp;gt;&amp;amp;nbsp; sudo firewall-cmd --zone internal --permanent --add-service&amp;amp;#61;http&amp;lt;br&amp;gt;&amp;amp;nbsp; sudo firewall-cmd --zone internal --permanent --add-service&amp;amp;#61;https&amp;lt;br&amp;gt;&amp;amp;nbsp; sudo firewall-cmd --reload}}&lt;br /&gt;
&lt;br /&gt;
Weitere verfügbare Dienste lassen sich mit folgendem Befehl anzeigen&lt;br /&gt;
{{Shell|&amp;gt; sudo firewall-cmd --get-service}}&lt;br /&gt;
und ggf. nach obigem Muster ergänzen&lt;br /&gt;
&lt;br /&gt;
=== Aktivierung des Servers ===&lt;br /&gt;
Starten Sie den Server und aktivieren Sie ihn in einem Bootverzeichnis, damit er mit dem Rechner hochgefahren wird (s.o. ohne Yast):&lt;br /&gt;
{{Shell|# systemctl start apache2.service&amp;lt;br&amp;gt;&amp;amp;nbsp; systemctl enable apache2}}&lt;br /&gt;
&lt;br /&gt;
=== Hinzufügen von Apache-Modulen===&lt;br /&gt;
Um benötigte Apache-Module zu laden, können wir die Konfigurationsvariable ''APACHE_MODULES'' in &amp;lt;tt&amp;gt;/etc/sysconfig/apache2&amp;lt;/tt&amp;gt; editieren. Schneller geht es jedoch mit den nachfolgenden Befehlen.&lt;br /&gt;
Einige Programme müssen zunächst nachgeladen werden:&lt;br /&gt;
{{Shell|&amp;gt; sudo apt install libapache2-mod-perl2 libapache2-mod-dnssd libapache2-mod-python}}&lt;br /&gt;
Nach der Änderung muss der Server neu gestartet werden. Auch für die folgenden Befehle sind wieder die Rechte eines Superusers vonnöten.&lt;br /&gt;
{{Shell|&amp;gt; sudo a2enmod perl ssl dnssd rewrite actions python&amp;lt;br&amp;gt;&amp;amp;nbsp; sudo systemctl restart apache2}}&lt;br /&gt;
&lt;br /&gt;
== Virtual Hosts ==&lt;br /&gt;
===Allgemeines===&lt;br /&gt;
Das Verzeichnis für alle Virtual Host unter Ubuntu ist &amp;lt;tt&amp;gt;/etc/apache2/sites-enabled/&amp;lt;/tt&amp;gt;. Nur Dateien mit dem Suffix &amp;quot;.conf&amp;quot; werden automatisch in die Apachekonfiguration einbezogen.&lt;br /&gt;
&lt;br /&gt;
{{Intro|Wenn Sie neben Lawsuit einen weiteren eigenen Virtual Host hinzufügen möchten, ersetzen Sie in den folgenden Zeilen bitte ''Domainname'' durch ihren Verzeichnisnamen oder Ihre IP-Adresse.}}&lt;br /&gt;
&lt;br /&gt;
* Es gibt mehrere Varianten für die Struktur, mit welcher der eigenen Server auf dem Rechner aufgesetzt werden kann. Folgende Optionen bieten sich an: &lt;br /&gt;
:* [https://httpd.apache.org/docs/2.4/de/vhosts/name-based.html namensbasiert]&lt;br /&gt;
:* [https://httpd.apache.org/docs/2.4/de/vhosts/ip-based.html IP-basiert]&lt;br /&gt;
:* portbasiert&lt;br /&gt;
&lt;br /&gt;
* Sei können für Ihre Verzeichnisse die Vorlage '''vhost.template''' kopieren und als Ihre '''{DOMAINNAME}.conf''' speichern. Hier hinein tragen Sie anschließend die Unterverzeichnisse für Ihren Virtual Host ein.&lt;br /&gt;
&lt;br /&gt;
===Einstellungen für ''Lawsuit''===&lt;br /&gt;
Deaktivieren Sie zunächst die von Ubuntu bereitgestellte Vorlage&lt;br /&gt;
{{Shell | &amp;gt;sudo a2dissite 000-default.conf}}&lt;br /&gt;
Für ''Lawsuit'' wird die stattdessen benötigte Konfigurationsdatei im Unterverzeichnis &amp;lt;tt&amp;gt;lawsuit/settings&amp;lt;/tt&amp;gt; bereits fertig zur Verfügung gestellt. Sie müssen lediglich in der genannten Datei den Platzhalter durch den eigenen Nutzernamen ersetzen und die fertige Datei in das Vhosts-Verzeichnis verlinken. Wechseln Sie in das Unterverzeichnis &amp;lt;tt&amp;gt;lawsuit/settings&amp;lt;/tt&amp;gt;. Wenn Sie ''Lawsuit'' in Ihrem Nutzerhauptverzeichnis installiert haben, gelangen Sie mit diesem Befehl dorthin:&lt;br /&gt;
{{Shell | &amp;gt; cd ~/lawsuit/settings}}&lt;br /&gt;
Erstellen Sie dort eine Konfigurationsdatei aus der Vorlage &amp;lt;tt&amp;gt;lawsuit-httpd.template&amp;lt;/tt&amp;gt; und ersetzen Sie den darin enthaltenen Platzhalter ''meinpfad'' dabei durch Ihren Pfad zum aktuellen Verzeichnis. Dies erfolgt automatisiert durch diese Befehle:&lt;br /&gt;
{{Shell | &amp;gt; pfad&amp;amp;#61;&amp;amp;#96;pwd &amp;amp;#124; sed &amp;amp;apos;s/\/lawsuit.*//&amp;amp;apos;  &amp;amp;#124; sed &amp;amp;apos;s/\//\\\\\//g&amp;amp;apos;&amp;amp;#96;&amp;lt;br&amp;gt; &amp;gt; sed &amp;amp;quot;s/meinpfad/$pfad/g&amp;amp;quot; lawsuit-httpd.template &amp;gt; lawsuit-httpd.conf}}&lt;br /&gt;
Falls Ihr Pfad zum Ordner &amp;lt;tt&amp;gt;Documents&amp;lt;/tt&amp;gt; nicht mit dem soeben ermittelten Pfad für &amp;lt;tt&amp;gt;lawsuit&amp;lt;/tt&amp;gt; identisch ist, passen Sie diese Einstellungen für das Verzeichnis &amp;lt;tt&amp;gt;Documents&amp;lt;/tt&amp;gt; bitte in der &amp;lt;tt&amp;gt;lawsuit-httpd.conf&amp;lt;/tt&amp;gt; mit einem Editor wie '''kate''' von Hand an.&lt;br /&gt;
&lt;br /&gt;
Abschließend kopieren Sie die erstellte Konfigurationsdatei als ''Superuser'' in das Verzeichnis der Virtual Hosts von Apache:&lt;br /&gt;
&lt;br /&gt;
{{Shell | &amp;gt; sudo cp lawsuit-httpd.conf /etc/apache2/sites-enabled/}}&lt;br /&gt;
&lt;br /&gt;
* Neustart von Apache&lt;br /&gt;
{{Shell | &amp;gt; sudo service apache2 restart}}&lt;br /&gt;
&lt;br /&gt;
=== Anpassen der Konfiguration ===&lt;br /&gt;
Um Ergänzungen oder Änderungen einheitlich für alle Virtual Hosts an der Datei &amp;lt;tt&amp;gt;/etc/apache2/default-server.conf&amp;lt;/tt&amp;gt; vorzunehmen, editieren Sie die Konfigurationsvariable ''APACHE_CONF_INCLUDE_FILES'' mithilfe von &lt;br /&gt;
 YaST &amp;gt; etc/sysconfig-Editor&lt;br /&gt;
oder arbeiten direkt in der Textdatei &amp;lt;tt&amp;gt;/etc/sysconfig/apache2&amp;lt;/tt&amp;gt;. Zum Verständnis der Hierarchie und des Layouts um Dateien einzubeziehen, lesen Sie die Kommentierung im Kopf der &amp;lt;tt&amp;gt;httpd.conf&amp;lt;/tt&amp;gt;. Die ursprüngliche, einfache Konfigurationsdatei mit nur 40K findet sich notfalls unter &amp;lt;tt&amp;gt;/usr/share/doc/packages/apache2/httpd-std.conf-prefork&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Optional: Ein Zertifikat für localhost erstellen ==&lt;br /&gt;
Bei Mehrplatzsystemen funktionieren die Javascript-Voreintragungen bei Nutzung einer sicheren HTTPS-Verbindung nur, wenn ein eigenes Zertifikat erstellt wird, dessen Aussteller zudem noch aus vertrauenswürdig eingestuft werden muss.OpenSSL bringt umfassende Werkzeuge mit, um eine eigene, kleine Certificate Authority (CA) betreiben zu können. &lt;br /&gt;
=== Vergabe einer Domain für den Rechner mit den Lawsuit-Daten ===&lt;br /&gt;
Unter &amp;lt;i&amp;gt;yast2 &amp;gt; Netzwerkdienste &amp;gt; Rechnernamen&amp;lt;/i&amp;gt; fügen Sie unter der Zeile &amp;quot;localhost&amp;quot; eine Zeile mit folgenden Daten ein:&lt;br /&gt;
 IP-Adresse: &amp;lt;b&amp;gt;192.168.2.10&amp;lt;/b&amp;gt;&lt;br /&gt;
 Hostnamen:  &amp;lt;b&amp;gt;k1.local&amp;lt;/b&amp;gt;&lt;br /&gt;
 Aliasnamen: &amp;lt;b&amp;gt;k1&amp;lt;/b&amp;gt;&lt;br /&gt;
[[Datei:Hostkonfiguration.png|thumb|600px|left|Eigenen Rechnernamen vergeben]]&lt;br /&gt;
&amp;lt;br clear=all&amp;gt;&lt;br /&gt;
Sie können statt &amp;quot;k1&amp;quot; eine beliebe andere Bezeichnung für den Hauptrechner wählen, müssen dann aber Ihre Domain in den folgenden Einstellungen beibehalten.&lt;br /&gt;
&lt;br /&gt;
=== Certificate Authority (CA) erstellen ===&lt;br /&gt;
Zu Beginn wird die Certificate Authority generiert. Zunächst wird ein geheimer Private Key erzeugt:&lt;br /&gt;
{{Shell |&amp;amp;gt; sudo openssl genrsa -aes256 -out /etc/ssl/private/rootCA.key 4096}}&lt;br /&gt;
Der Key trägt den Namen “rootCA.pem” und hat eine Länge von 4096 Bit. Die Option “-aes256” führt dazu, dass der Key mit einem Passwort geschützt wird. Die Key-Datei der CA muss tatsächlich besonders gut geschützt werden. Ein Angreifer, der den Key in die Hände bekommt, kann beliebig gefälschte Zertifikate im Namen der Kanzlei ausstellen, denen die Clients trauen. Die Verschlüsselung dieses Keys mit einem Passwort gibt zusätzlichen Schutz. Das gewünschte Passwort wird bei der Generierung abgefragt.&lt;br /&gt;
Einen geheimen Key für die CA gibt es damit also schon - es fehlt noch das Root-Zertifikat, das von den Clients später importiert werden muss, damit die von der CA ausgestellten Zertifikate im Browser als gültig erkannt werden. Das Root-Zertifikat “ca-root.pem” wird mit folgendem Befehl erzeugt: &lt;br /&gt;
{{Shell |&amp;amp;gt; sudo openssl req -x509 -new -nodes -key /etc/ssl/private/rootCA.key -sha512 -days 5483 -out /etc/ssl/certs/rootCA.pem}}&lt;br /&gt;
In diesem Fall wird die CA 5483 Tage, also mit Schalttagen 15 Jahre lang gültig bleiben. Während der Generierung werden das Passwort für die CA und einige Attribute abgefragt (hier ein Beispiel):&lt;br /&gt;
 Country Name (2 letter code) [AU]:&amp;lt;b&amp;gt;DE&amp;lt;/b&amp;gt;&lt;br /&gt;
 State or Province Name (full name) [Some-State]:&amp;lt;b&amp;gt;Nordrhein-Westfalen&amp;lt;/b&amp;gt;&lt;br /&gt;
 Locality Name (eg, city) []:&amp;lt;b&amp;gt;Muenster&amp;lt;/b&amp;gt;&lt;br /&gt;
 Organization Name (eg, company) [Internet Widgits Pty Ltd]:&amp;lt;b&amp;gt;Kanzlei Hermanns&amp;lt;/b&amp;gt;&lt;br /&gt;
 Organizational Unit Name (eg, section) []:&amp;lt;b&amp;gt;Rechtsanwalt&amp;lt;/b&amp;gt;&lt;br /&gt;
 Common Name (e.g. server FQDN or YOUR name) []:&amp;lt;b&amp;gt;RA Matthias Hermanns&amp;lt;/b&amp;gt;&lt;br /&gt;
 Email Address []:&amp;lt;b&amp;gt;hermanns@iustus.eu&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Erzeugen des Schlüssels===&lt;br /&gt;
Mit diesen Daten wird auch eine Konfiguratunsdatei mit Namen &amp;lt;tt&amp;gt;ssl.cnf&amp;lt;/tt&amp;gt; befüllt, die die Schlüsselausgabe später vereinfacht.&lt;br /&gt;
{{Shell |&amp;amp;gt; cd ~/bin&amp;lt;br&amp;gt;&amp;amp;nbsp; mkdir keys&amp;lt;br&amp;gt;&amp;amp;nbsp; cd keys&amp;lt;br&amp;gt;&amp;amp;nbsp; kate ssl.cnf}}&lt;br /&gt;
Die Datei kann beispielsweise den folgenden Inhalt haben&lt;br /&gt;
 [req]&lt;br /&gt;
 # Standard-Verschlüsselung&lt;br /&gt;
 default_bits = 4096&lt;br /&gt;
 # verhindere prompt für die Zertifikat-Erstellung&lt;br /&gt;
 # (Daten kommen aus dieser Datei)&lt;br /&gt;
 prompt = no&lt;br /&gt;
 # Verschlüsselungsmethode&lt;br /&gt;
 default_md = sha512&lt;br /&gt;
 # Kryptographie abschalten&lt;br /&gt;
 encrypt_key = no&lt;br /&gt;
 # Sektion für Zertifizierer-Informationen:&lt;br /&gt;
 distinguished_name = dn&lt;br /&gt;
 &lt;br /&gt;
 # Zertifizierer-Informationen:&lt;br /&gt;
 [dn]&lt;br /&gt;
 # Länder-Code&lt;br /&gt;
 C=DE&lt;br /&gt;
 # Bundesland&lt;br /&gt;
 ST=Nordrhein-Westfalen&lt;br /&gt;
 # Stadt&lt;br /&gt;
 L=Muenster&lt;br /&gt;
 # Bezeichnung/Firmen-Name/Dein Name:&lt;br /&gt;
 O=Kanzlei Hermanns&lt;br /&gt;
 # Aussteller Name&lt;br /&gt;
 OU=RA Matthias Hermanns&lt;br /&gt;
 # E-Mail-Adresse&lt;br /&gt;
 emailAddress=hermanns@iustus.eu&lt;br /&gt;
 # Primärer Servername&lt;br /&gt;
 CN = &amp;lt;b&amp;gt;k1&amp;lt;/b&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 [v3_ca]&lt;br /&gt;
 keyUsage = digitalSignature, keyEncipherment&lt;br /&gt;
 extendedKeyUsage = serverAuth&lt;br /&gt;
 subjectAltName = IP:&amp;lt;b&amp;gt;192.168.2.10&amp;lt;/b&amp;gt;, DNS:&amp;lt;b&amp;gt;k1&amp;lt;/b&amp;gt;, DNS:&amp;lt;b&amp;gt;k1.local&amp;lt;/b&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 [ req_ext ]&lt;br /&gt;
 subjectAltName = @alt_names&lt;br /&gt;
 &lt;br /&gt;
 [alt_names]&lt;br /&gt;
 # Primärer Server-Name&lt;br /&gt;
 DNS.1 = &amp;lt;b&amp;gt;k1&amp;lt;/b&amp;gt;&lt;br /&gt;
 # Sekunärer Server-Name&lt;br /&gt;
 DNS.2 = &amp;lt;b&amp;gt;k1.local&amp;lt;/b&amp;gt;&lt;br /&gt;
 # Wildcard Subdomains&lt;br /&gt;
 DNS.3 = *.&amp;lt;b&amp;gt;k1.local&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Speichern Sie die so erstellte Datei &amp;lt;tt&amp;gt;ssl.cnf&amp;lt;/tt&amp;gt; im &amp;lt;tt&amp;gt;bin&amp;lt;/tt&amp;gt;-Verzeichnis ab. Mit folgendem Befehl erzeugen Sie nun als zertifizierter Aussteller die eigentlichen Schlüssel für die SSL-Verbindung.&lt;br /&gt;
Zunächst wird der RSA-Key mit 3072 Bit erzeugt (Asymmetrischer Schlüssel von Rivest, Shamir und Adleman, der einen privaten und einen öffentlichen Teil hat):&lt;br /&gt;
{{Shell |&amp;amp;gt; openssl genrsa -out k1.key 3072}}&lt;br /&gt;
Nun folgt die Certificate Signing Request (CSR; deutsch Zertifikatsignierungsanforderung), ein digitaler Antrag, um mittels der soeben erzeugten digitalen Signatur und der zusätzlichen Identitätsangaben zum Antragstellers aus der &amp;lt;tt&amp;gt;ssl.cnf&amp;lt;/tt&amp;gt; ein persönliches digitales Identitäts-Zertifikat (auch Public-Key-Zertifikat genannt) zu erstellen:&lt;br /&gt;
{{Shell |&amp;amp;gt; openssl req -new -keyout ~/bin/keys/k1.key -out ~/bin/keys/k1.csr -config ~/bin/keys/ssl.cnf}}&lt;br /&gt;
Mithilfe des Wurzelzertifikats vom verifizierten Aussteller (uns selbst) wird nun der eigentliche Schlüssel erstellt, damit eine Rückverfolgung zum Wurzelzertifikat möglich ist. &lt;br /&gt;
{{Shell |&amp;amp;gt; sudo openssl x509 -req \&amp;lt;br&amp;gt;&amp;amp;nbsp; -in ~/bin/keys/k1.csr \&amp;lt;br&amp;gt;&amp;amp;nbsp; -CA /etc/ssl/certs/rootCA.pem \&amp;lt;br&amp;gt;&amp;amp;nbsp; -CAkey /etc/ssl/private/rootCA.key \&amp;lt;br&amp;gt;&amp;amp;nbsp; -CAcreateserial \&amp;lt;br&amp;gt;&amp;amp;nbsp; -out ~/bin/keys/k1.crt \&amp;lt;br&amp;gt;&amp;amp;nbsp; -days 3653 \&amp;lt;br&amp;gt;&amp;amp;nbsp; -extfile ~/bin/keys/ssl.cnf \&amp;lt;br&amp;gt;&amp;amp;nbsp; -extensions v3_ca }}&lt;br /&gt;
&lt;br /&gt;
Damit die Zertifkate in unsere regelmäßige Sicherungsspeicherung aufgenommen werden, können wir sie in das Schlüsselverzeichnis &amp;lt;tt&amp;gt;keys&amp;lt;/tt&amp;gt; unter &amp;lt;tt&amp;gt;lawsuit&amp;lt;/tt&amp;gt; kopieren. Dies ist jedoch nur optional, weil es ein Sicherheitsrisiko eröffnet:&lt;br /&gt;
{{Shell |&amp;amp;gt; sudo chown matthias:users keys/k1.crt&amp;lt;br&amp;gt;&amp;amp;nbsp; chmod 640 ~/bin/keys/k1.*&amp;lt;br&amp;gt;&amp;amp;nbsp; cp ~/bin/keys/k1.* ~/lawsuit/keys/}}&lt;br /&gt;
&lt;br /&gt;
=== Verbindung mit dem Server ===&lt;br /&gt;
Wenn Sie host-Datei &amp;lt;tt&amp;gt;lawsuit-httpd.conf&amp;lt;/tt&amp;gt; automatisch wie oben vorgeschlagen generiert haben, sind die notwendigen Einstellungen schon voreingetragen und müssen nur auskommentiert werden. Ansonsten ergänzen Sie unter /etc/apache2/vhosts.d/&lt;br /&gt;
folgende Zeilen:&lt;br /&gt;
 &amp;lt;VirtualHost *:80&amp;gt;&lt;br /&gt;
    ServerName &amp;lt;b&amp;gt;k1&amp;lt;/b&amp;gt;&lt;br /&gt;
    ServerAlias &amp;lt;b&amp;gt;k1.local&amp;lt;/b&amp;gt;&lt;br /&gt;
 &amp;lt;/VirtualHost&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 &amp;lt;IfModule mod_ssl.c&amp;gt;&lt;br /&gt;
    &amp;lt;VirtualHost *:443&amp;gt;&lt;br /&gt;
        ServerAdmin webmaster@localhost&lt;br /&gt;
        DocumentRoot /home/BENUTZERNAME/lawsuit/&lt;br /&gt;
        ServerName &amp;lt;b&amp;gt;k1&amp;lt;/b&amp;gt;&lt;br /&gt;
        ServerAlias &amp;lt;b&amp;gt;k1.local&amp;lt;/b&amp;gt;&lt;br /&gt;
        ErrorLog /var/log/apache2/error_log&lt;br /&gt;
        SSLEngine on&lt;br /&gt;
        SSLCertificateFile      /home/BENUTZERNAME/bin/keys/&amp;lt;b&amp;gt;k1.crt&amp;lt;/b&amp;gt;&lt;br /&gt;
        SSLCertificateKeyFile   /home/BENUTZERNAME/bin/keys/&amp;lt;b&amp;gt;k1.key&amp;lt;/b&amp;gt;&lt;br /&gt;
        &amp;lt;IfModule mod_headers.c&amp;gt;&lt;br /&gt;
            Header always set Strict-Transport-Security &amp;quot;max-age=15552000; includeSubDomains&amp;quot;&lt;br /&gt;
        &amp;lt;/IfModule&amp;gt;&lt;br /&gt;
        &amp;lt;FilesMatch &amp;quot;\.(cgi|html|shtml|pl|phtml|php)$&amp;quot;&amp;gt;&lt;br /&gt;
            SSLOptions +StdEnvVars&lt;br /&gt;
        &amp;lt;/FilesMatch&amp;gt;&lt;br /&gt;
        &amp;lt;Directory /home/BENUTZERNAME/lawsuit/cgi-bin&amp;gt;&lt;br /&gt;
            SSLOptions +StdEnvVars&lt;br /&gt;
        &amp;lt;/Directory&amp;gt;&lt;br /&gt;
    &amp;lt;/VirtualHost&amp;gt;&lt;br /&gt;
 &amp;lt;/IfModule&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 # configuration&lt;br /&gt;
 SSLProtocol             all -SSLv3 -TLSv1 -TLSv1.1 -TLSv1.2&lt;br /&gt;
 SSLHonorCipherOrder     off&lt;br /&gt;
 SSLSessionTickets       off&lt;br /&gt;
&lt;br /&gt;
Damit diese Einstellungen nicht der vom Linux-System vorgegebenen Konfiguration widersprechen, müssen in der Datei &amp;lt;tt&amp;gt;/usr/share/doc/packages/apache2/original/extra/httpd-ssl.conf&amp;lt;/tt&amp;gt; noch folgende Zeilen auskommentiert und berichtigt werden&lt;br /&gt;
 #&amp;lt;b&amp;gt;ServerName&amp;lt;/b&amp;gt; www.example.com:443&lt;br /&gt;
 ServerName &amp;lt;b&amp;gt;k1&amp;lt;/b&amp;gt;:443&lt;br /&gt;
ferner&lt;br /&gt;
 #&amp;lt;b&amp;gt;SSLCertificateFile&amp;lt;/b&amp;gt; &amp;quot;/etc/apache2/server.crt&amp;quot;&lt;br /&gt;
 SSLCertificateFile &amp;quot;/home/BENUTZERNAME/bin/keys/k1.crt&amp;quot;&lt;br /&gt;
und&lt;br /&gt;
 #&amp;lt;b&amp;gt;SSLCertificateKeyFile&amp;lt;/b&amp;gt; &amp;quot;/etc/apache2/server.key&amp;quot;&lt;br /&gt;
 SSLCertificateKeyFile &amp;quot;/home/BENUTZERNAME/bin/keys/k1.key&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Unter Firefox kann das selbstgezeichnete Zertifikat nun verwendet werden. Bitte beachten Sie, dass für jede Apache-Konfigurrationsdatei ein anderer Port geöffnet werden muss, &amp;quot;443&amp;quot; also nur einmal verwendet werden kann. Sie können alternativ z.B. &amp;quot;4443&amp;quot; verwenden.&lt;br /&gt;
&lt;br /&gt;
Abschließender Test und Neustart:&lt;br /&gt;
{{Shell |&amp;amp;#35; sudo apache2ctl -t&amp;lt;br&amp;gt;&amp;amp;nbsp; sudo systemctl restart apache2}}&lt;br /&gt;
&lt;br /&gt;
=== Registrierung als vertrauenswürdiger Aussteller für den Firefox-Browser ===&lt;br /&gt;
Damit der Firefox-Browser das Zertifikat tatsächlich verwendet und als vertrauenswürdig akzeptiert, muss es im Kleopatra-Schlüsseldienst eingetragen werden, auf den der Browser zugreift. &lt;br /&gt;
{{Shell |&amp;amp;gt; kleopatra}}&lt;br /&gt;
Klicken Sie den Reiter &amp;lt;b&amp;gt;Importieren&amp;lt;/b&amp;gt; an und fügen Sie nacheinander die folgenden Dateien ein:&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;/home/BENUTZERNAME/bin/keys/k1.crt&amp;lt;/tt&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;/etc/ssl/certs/rootCA.pem&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Bitte bestätigen Sie die erbetenen Beglaubigungen mit der Maustaste.&lt;br /&gt;
[[Datei:Kleopatra.png|thumb|600px|left|Importieren der Zertifikate in das Kleopatra-Schlüsselverwaltungsprogramm]]&lt;br /&gt;
&amp;lt;br clear=all&amp;gt;&lt;br /&gt;
Nun wechseln Sie in den Firefox-Browser und geben in die Adresszeile ein&lt;br /&gt;
 about:config&lt;br /&gt;
Dort ändern Sie die Variable&lt;br /&gt;
 security.enterprise_roots.enabled -&amp;gt; true&lt;br /&gt;
von &amp;quot;false&amp;quot; auf &amp;quot;true&amp;quot;. Nun bezieht der Browser auch Ihre eigenen CA-Beglaubigungen des Unternehmens eine seine Bewertungen mit ein und vergibt ein grünes Schlüsselsymbol.&lt;br /&gt;
&lt;br /&gt;
== Problembehebung ==&lt;br /&gt;
Lesen Sie wenn möglich die Fehlermeldungen nach dem Start des Servers. Versuchen Sie Fehler ggf. zu reproduzieren und vergleichen Sie die Einträge in den Log-Dateien. Den Einblick auf die dortigen Meldungen können Sie mit dem folgenden Befehl auf den neuesten Stand reduzieren::&lt;br /&gt;
&lt;br /&gt;
{{Shell | # tail -F /var/log/apache2/*}}&lt;br /&gt;
&lt;br /&gt;
Da die Error-Messages schnell sehr großen Umfang einnehmen, der am Ende sogar den Systemstart blockieren kann, empfiehlt es sich, mit Logrotate den Bestand unter Kontrolle zu halten. Installieren Sie dazu, falls noch nicht vom System geschehen:&lt;br /&gt;
{{Shell | # zypper in logrotate}}&lt;br /&gt;
Sie können die Einstellungen in der Konfigurationsdatei &lt;br /&gt;
 /etc/logrotate.conf&lt;br /&gt;
ändern. Eine typische Konfiguration von &amp;lt;tt&amp;gt;logrotate.conf&amp;lt;/tt&amp;gt; sieht z.B. wie folgt aus:&lt;br /&gt;
{{Shell |&amp;amp;#35; see &amp;quot;man logrotate&amp;quot; for details&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;amp;#35; rotate log files weekly &lt;br /&gt;
&amp;lt;br&amp;gt;weekly &lt;br /&gt;
&amp;lt;br&amp;gt;&amp;amp;#35; keep 4 weeks worth of backlogs &lt;br /&gt;
&amp;lt;br&amp;gt;rotate 4&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;b&amp;gt;&amp;amp;#35; remove rotated logs older than &amp;lt;count&amp;gt; days&lt;br /&gt;
&amp;lt;br&amp;gt;maxage 90 &amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;amp;#35; create new (empty) log files after rotating old ones &lt;br /&gt;
&amp;lt;br&amp;gt;create&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;amp;#35; use date as a suffix of the rotated file&lt;br /&gt;
&amp;lt;br&amp;gt;dateext&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;amp;#35; uncomment this if you want your log files compressed &lt;br /&gt;
&amp;lt;br&amp;gt;compress&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;amp;#35; comment these to switch compression to use gzip or another &lt;br /&gt;
&amp;lt;br&amp;gt;&amp;amp;#35; compression scheme&lt;br /&gt;
&amp;lt;br&amp;gt;compresscmd /usr/bin/xz&lt;br /&gt;
&amp;lt;br&amp;gt;uncompresscmd /usr/bin/xzdec&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;amp;#35; RPM packages drop log rotation information into this directory&lt;br /&gt;
&amp;lt;br&amp;gt;include /etc/logrotate.d&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Sollten Sie einen Fehler gefunden haben, [https://de.opensuse.org/SDB:Fehler_berichten berichten Sie ihn] bitte.&lt;br /&gt;
&lt;br /&gt;
==Weiterführende Informationen==&lt;br /&gt;
=== Verwandte Artikel ===&lt;br /&gt;
*[https://de.opensuse.org/YaST_Module_Firewall#Firewall_Einrichten openSUSE Firewall]&lt;br /&gt;
* Package documentation and example configuration files in /usr/share/doc/packages/apache2/&lt;br /&gt;
&lt;br /&gt;
===Externe Links===&lt;br /&gt;
* [https://doc.opensuse.org/documentation/leap/reference/html/book.opensuse.reference/cha.apache2.html openSUSE Apache Documentation]&lt;br /&gt;
* [http://httpd.apache.org/ The Apache Project]&lt;br /&gt;
* [http://www.apache.org/ Apache Software Foundation]&lt;br /&gt;
&lt;br /&gt;
{{DEFAULTSORT:{{PAGENAME}}}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Linuxinstallation]]&lt;/div&gt;</summary>
		<author><name>87.123.95.19</name></author>	</entry>

	<entry>
		<id>http://wiki.iustus.eu/wiki/index.php?title=Aufsetzen_des_Apache-Servers_-_ubuntu&amp;diff=7112</id>
		<title>Aufsetzen des Apache-Servers - ubuntu</title>
		<link rel="alternate" type="text/html" href="http://wiki.iustus.eu/wiki/index.php?title=Aufsetzen_des_Apache-Servers_-_ubuntu&amp;diff=7112"/>
				<updated>2026-01-02T12:44:36Z</updated>
		
		<summary type="html">&lt;p&gt;87.123.95.19: /* Allgemeines */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Ubuntu|&lt;br /&gt;
*[https://ubuntu.com/tutorials/install-ubuntu-desktop-1604#1-overview 16.04.]&lt;br /&gt;
|&lt;br /&gt;
*[https://ubuntu.com/tutorials/install-and-configure-apache#2-installing-apache Apache Installation]&lt;br /&gt;
|&lt;br /&gt;
*[https://de.opensuse.org/SDB:LAMP_Einrichtung SDB:LAMP_Einrichtung]&lt;br /&gt;
*[https://de.opensuse.org/Apache2 Apache2]&lt;br /&gt;
*[https://de.opensuse.org/Portal:MySQL Portal:MySQL]&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Einführung ==&lt;br /&gt;
&lt;br /&gt;
Diese Dokument gibt eine rasche Einführung, wie ein Apache-Server auf dem lokalen Rechner aufgesetzt werden kann, der die Lawsuit-Programmteile bereitstellt.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
{{Warnung| Die Kurzanleitung geht nicht vertieft auf mögliche Experten-Einstellungen des Servers ein. Insbesondere bleiben hier Sicherheitseinstellungen unberücksichtigt, die für den Betrieb als öffentlich zugänglicher Netzserver unumgänglich wären. Die nachfolgenden Schritte sind für Anwender gedacht, die Lawsuit intern auf dem Kanzleirechner hinter einer Firewall betreiben möchten.}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== Allgemeine Rechner-Konfiguration ==&lt;br /&gt;
&lt;br /&gt;
Die Software benötigt eine funktionierende Netzwerkumgebung. Diese wird jedoch bereits standardmäßig von Ubuntu eingereichtet. Achten Sie aber insbesondere bei der Nutzung von [https://de.wikipedia.org/wiki/Dynamic_Host_Configuration_Protocol DHCP] darauf, dass [[Mehrplatzsysteme - ubuntu|weitere Rechner]] der Kanzlei vom Networkmanager tatsächlich im selben Nummernraum wie dieser PC eingetragen wurden, auf dem Apache nun installiert werden soll. Ansonsten können diese Rechner später nicht auf die Kanzleisoftware zugreifen.&lt;br /&gt;
&lt;br /&gt;
Als Zweites sollte der PC auf dem aktuellen Softwarestand sein. &lt;br /&gt;
{{Shell|&amp;gt; sudo apt update}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Installation der Apache-Pakete ===&lt;br /&gt;
&lt;br /&gt;
Der Apache-Server und das optionale Perl-Modul können mit ''apt'' installiert werden. Öffnen Sie dazu ein Terminal-Fenster und wechseln Sie wie folgt in den Superuser-Modus:&lt;br /&gt;
{{Shell|&amp;gt; sudo apt install apache2}}&lt;br /&gt;
Geben Sie das Passwort ein.&lt;br /&gt;
Prüfen Sie die korrekte Funktionsweise des Apache-Servers, indem Sie in die Browser-Adresszeile die folgende Adresse eingeben:&lt;br /&gt;
 http://localhost/&lt;br /&gt;
Es sollte folgende Ausgabe zu sehen sein:&lt;br /&gt;
[[Datei:Apache_works.png|thumb|600px|left|Apache-Server Startausgabe]]&lt;br /&gt;
&amp;lt;br clear=all&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Start des Servers ===&lt;br /&gt;
Mit folgenden zwei Befehlen wird der Apache-Server gestartet und auf Dauer im System aktiviert.&lt;br /&gt;
{{Shell|# systemctl start apache2&amp;lt;br&amp;gt;&amp;amp;nbsp; systemctl enable apache2}}&lt;br /&gt;
&lt;br /&gt;
=== Einrichtung und Anpassung der Firewall ===&lt;br /&gt;
&lt;br /&gt;
Normalerweise sollte die die Firewall ''ufd'' (Uncomplicated Firewall) vorinstalliert sein. Für unsere Zwecke zielführender ist ''firewalld''. Dies wird mit&lt;br /&gt;
{{Shell|&amp;gt; sudo apt install firewalld}}&lt;br /&gt;
installiert. Danach muss, um Systemkonflikte zu vermeiden ''ufd'' deaktiviert werden. Dies erfolgt per&lt;br /&gt;
{{Shell|&amp;gt; sudo ufw disable}}&lt;br /&gt;
Starten Sie nun ''firewalld'' mit&lt;br /&gt;
{{Shell|&amp;gt; sudo systemctl enable --now firewalld}}&lt;br /&gt;
&lt;br /&gt;
Die Firewall ist so voreingestellt, dass sie über Port 80 auf den Rechner eingehende Daten grundsätzlich sperrt. Folglich müssen die Firewall-Einstellungen so angepasst werden, dass aus dem Lokalen Netzwerk über Port 80 eingehender Datenstrom akzeptiert wird.&lt;br /&gt;
Die folgenden Schritte müssen dazu weiterhin als Root ausgeführt werden. &lt;br /&gt;
&lt;br /&gt;
{{Shell|&amp;gt; sudo firewall-cmd --zone internal --permanent --add-interface&amp;amp;#61;eth0&amp;lt;br&amp;gt;&amp;amp;nbsp; sudo firewall-cmd --zone internal --permanent --add-service&amp;amp;#61;nfs&amp;lt;br&amp;gt;&amp;amp;nbsp; sudo firewall-cmd --zone internal --permanent --add-service&amp;amp;#61;http&amp;lt;br&amp;gt;&amp;amp;nbsp; sudo firewall-cmd --zone internal --permanent --add-service&amp;amp;#61;https&amp;lt;br&amp;gt;&amp;amp;nbsp; sudo firewall-cmd --reload}}&lt;br /&gt;
&lt;br /&gt;
Weitere verfügbare Dienste lassen sich mit folgendem Befehl anzeigen&lt;br /&gt;
{{Shell|&amp;gt; sudo firewall-cmd --get-service}}&lt;br /&gt;
und ggf. nach obigem Muster ergänzen&lt;br /&gt;
&lt;br /&gt;
=== Aktivierung des Servers ===&lt;br /&gt;
Starten Sie den Server und aktivieren Sie ihn in einem Bootverzeichnis, damit er mit dem Rechner hochgefahren wird (s.o. ohne Yast):&lt;br /&gt;
{{Shell|# systemctl start apache2.service&amp;lt;br&amp;gt;&amp;amp;nbsp; systemctl enable apache2}}&lt;br /&gt;
&lt;br /&gt;
=== Hinzufügen von Apache-Modulen===&lt;br /&gt;
Um benötigte Apache-Module zu laden, können wir die Konfigurationsvariable ''APACHE_MODULES'' in &amp;lt;tt&amp;gt;/etc/sysconfig/apache2&amp;lt;/tt&amp;gt; editieren. Schneller geht es jedoch mit den nachfolgenden Befehlen.&lt;br /&gt;
Einige Programme müssen zunächst nachgeladen werden:&lt;br /&gt;
{{Shell|&amp;gt; sudo apt install libapache2-mod-perl2 libapache2-mod-dnssd libapache2-mod-python}}&lt;br /&gt;
Nach der Änderung muss der Server neu gestartet werden. Auch für die folgenden Befehle sind wieder die Rechte eines Superusers vonnöten.&lt;br /&gt;
{{Shell|&amp;gt; sudo a2enmod perl ssl dnssd rewrite actions python&amp;lt;br&amp;gt;&amp;amp;nbsp; sudo systemctl restart apache2}}&lt;br /&gt;
&lt;br /&gt;
== Virtual Hosts ==&lt;br /&gt;
===Allgemeines===&lt;br /&gt;
Das Verzeichnis für alle Virtual Host unter Ubuntu ist &amp;lt;tt&amp;gt;/etc/apache2/sites-enabled/&amp;lt;/tt&amp;gt;. Nur Dateien mit dem Suffix &amp;quot;.conf&amp;quot; werden automatisch in die Apachekonfiguration einbezogen.&lt;br /&gt;
&lt;br /&gt;
{{Intro|Wenn Sie neben Lawsuit einen weiteren eigenen Virtual Host hinzufügen möchten, ersetzen Sie in den folgenden Zeilen bitte ''Domainname'' durch ihren Verzeichnisnamen oder Ihre IP-Adresse.}}&lt;br /&gt;
&lt;br /&gt;
* Es gibt mehrere Varianten für die Struktur, mit welcher der eigenen Server auf dem Rechner aufgesetzt werden kann. Folgende Optionen bieten sich an: &lt;br /&gt;
:* [https://httpd.apache.org/docs/2.4/de/vhosts/name-based.html namensbasiert]&lt;br /&gt;
:* [https://httpd.apache.org/docs/2.4/de/vhosts/ip-based.html IP-basiert]&lt;br /&gt;
:* portbasiert&lt;br /&gt;
&lt;br /&gt;
* Sei können für Ihre Verzeichnisse die Vorlage '''vhost.template''' kopieren und als Ihre '''{DOMAINNAME}.conf''' speichern. Hier hinein tragen Sie anschließend die Unterverzeichnisse für Ihren Virtual Host ein.&lt;br /&gt;
&lt;br /&gt;
===Einstellungen für ''Lawsuit''===&lt;br /&gt;
Für ''Lawsuit'' wird die Konfigurationsdatei jedoch im Unterverzeichnis &amp;lt;tt&amp;gt;lawsuit/settings&amp;lt;/tt&amp;gt; bereits fertig zur Verfügung gestellt. Sie müssen lediglich in der genannten Datei den Platzhalter durch den eigenen Nutzernamen ersetzen und die fertige Datei in das Vhosts-Verzeichnis verlinken. Wechseln Sie in das Unterverzeichnis &amp;lt;tt&amp;gt;lawsuit/settings&amp;lt;/tt&amp;gt;. Wenn Sie ''Lawsuit'' in Ihrem Nutzerhauptverzeichnis installiert haben, gelangen Sie mit diesem Befehl dorthin:&lt;br /&gt;
{{Shell | &amp;gt; cd ~/lawsuit/settings}}&lt;br /&gt;
Erstellen Sie dort eine Konfigurationsdatei aus der Vorlage &amp;lt;tt&amp;gt;lawsuit-httpd.template&amp;lt;/tt&amp;gt; und ersetzen Sie den darin enthaltenen Platzhalter ''meinpfad'' dabei durch Ihren Pfad zum aktuellen Verzeichnis. Dies erfolgt automatisiert durch diese Befehle:&lt;br /&gt;
{{Shell | &amp;gt; pfad&amp;amp;#61;&amp;amp;#96;pwd &amp;amp;#124; sed &amp;amp;apos;s/\/lawsuit.*//&amp;amp;apos;  &amp;amp;#124; sed &amp;amp;apos;s/\//\\\\\//g&amp;amp;apos;&amp;amp;#96;&amp;lt;br&amp;gt; &amp;gt; sed &amp;amp;quot;s/meinpfad/$pfad/g&amp;amp;quot; lawsuit-httpd.template &amp;gt; lawsuit-httpd.conf}}&lt;br /&gt;
Falls Ihr Pfad zum Ordner &amp;lt;tt&amp;gt;Documents&amp;lt;/tt&amp;gt; nicht mit dem soeben ermittelten Pfad für &amp;lt;tt&amp;gt;lawsuit&amp;lt;/tt&amp;gt; identisch ist, passen Sie diese Einstellungen für das Verzeichnis &amp;lt;tt&amp;gt;Documents&amp;lt;/tt&amp;gt; bitte in der &amp;lt;tt&amp;gt;lawsuit-httpd.conf&amp;lt;/tt&amp;gt; mit einem Editor wie '''kate''' von Hand an.&lt;br /&gt;
&lt;br /&gt;
Abschließend kopieren Sie die erstellte Konfigurationsdatei als ''Superuser'' in das Verzeichnis der Virtual Hosts von Apache:&lt;br /&gt;
&lt;br /&gt;
{{Shell | &amp;gt; sudo cp lawsuit-httpd.conf /etc/apache2/vhosts.d/}}&lt;br /&gt;
&lt;br /&gt;
* Neustart von Apache&lt;br /&gt;
{{Shell | &amp;gt; sudo service apache2 restart}}&lt;br /&gt;
&lt;br /&gt;
=== Anpassen der Konfiguration ===&lt;br /&gt;
Um Ergänzungen oder Änderungen einheitlich für alle Virtual Hosts an der Datei &amp;lt;tt&amp;gt;/etc/apache2/default-server.conf&amp;lt;/tt&amp;gt; vorzunehmen, editieren Sie die Konfigurationsvariable ''APACHE_CONF_INCLUDE_FILES'' mithilfe von &lt;br /&gt;
 YaST &amp;gt; etc/sysconfig-Editor&lt;br /&gt;
oder arbeiten direkt in der Textdatei &amp;lt;tt&amp;gt;/etc/sysconfig/apache2&amp;lt;/tt&amp;gt;. Zum Verständnis der Hierarchie und des Layouts um Dateien einzubeziehen, lesen Sie die Kommentierung im Kopf der &amp;lt;tt&amp;gt;httpd.conf&amp;lt;/tt&amp;gt;. Die ursprüngliche, einfache Konfigurationsdatei mit nur 40K findet sich notfalls unter &amp;lt;tt&amp;gt;/usr/share/doc/packages/apache2/httpd-std.conf-prefork&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Optional: Ein Zertifikat für localhost erstellen ==&lt;br /&gt;
Bei Mehrplatzsystemen funktionieren die Javascript-Voreintragungen bei Nutzung einer sicheren HTTPS-Verbindung nur, wenn ein eigenes Zertifikat erstellt wird, dessen Aussteller zudem noch aus vertrauenswürdig eingestuft werden muss.OpenSSL bringt umfassende Werkzeuge mit, um eine eigene, kleine Certificate Authority (CA) betreiben zu können. &lt;br /&gt;
=== Vergabe einer Domain für den Rechner mit den Lawsuit-Daten ===&lt;br /&gt;
Unter &amp;lt;i&amp;gt;yast2 &amp;gt; Netzwerkdienste &amp;gt; Rechnernamen&amp;lt;/i&amp;gt; fügen Sie unter der Zeile &amp;quot;localhost&amp;quot; eine Zeile mit folgenden Daten ein:&lt;br /&gt;
 IP-Adresse: &amp;lt;b&amp;gt;192.168.2.10&amp;lt;/b&amp;gt;&lt;br /&gt;
 Hostnamen:  &amp;lt;b&amp;gt;k1.local&amp;lt;/b&amp;gt;&lt;br /&gt;
 Aliasnamen: &amp;lt;b&amp;gt;k1&amp;lt;/b&amp;gt;&lt;br /&gt;
[[Datei:Hostkonfiguration.png|thumb|600px|left|Eigenen Rechnernamen vergeben]]&lt;br /&gt;
&amp;lt;br clear=all&amp;gt;&lt;br /&gt;
Sie können statt &amp;quot;k1&amp;quot; eine beliebe andere Bezeichnung für den Hauptrechner wählen, müssen dann aber Ihre Domain in den folgenden Einstellungen beibehalten.&lt;br /&gt;
&lt;br /&gt;
=== Certificate Authority (CA) erstellen ===&lt;br /&gt;
Zu Beginn wird die Certificate Authority generiert. Zunächst wird ein geheimer Private Key erzeugt:&lt;br /&gt;
{{Shell |&amp;amp;gt; sudo openssl genrsa -aes256 -out /etc/ssl/private/rootCA.key 4096}}&lt;br /&gt;
Der Key trägt den Namen “rootCA.pem” und hat eine Länge von 4096 Bit. Die Option “-aes256” führt dazu, dass der Key mit einem Passwort geschützt wird. Die Key-Datei der CA muss tatsächlich besonders gut geschützt werden. Ein Angreifer, der den Key in die Hände bekommt, kann beliebig gefälschte Zertifikate im Namen der Kanzlei ausstellen, denen die Clients trauen. Die Verschlüsselung dieses Keys mit einem Passwort gibt zusätzlichen Schutz. Das gewünschte Passwort wird bei der Generierung abgefragt.&lt;br /&gt;
Einen geheimen Key für die CA gibt es damit also schon - es fehlt noch das Root-Zertifikat, das von den Clients später importiert werden muss, damit die von der CA ausgestellten Zertifikate im Browser als gültig erkannt werden. Das Root-Zertifikat “ca-root.pem” wird mit folgendem Befehl erzeugt: &lt;br /&gt;
{{Shell |&amp;amp;gt; sudo openssl req -x509 -new -nodes -key /etc/ssl/private/rootCA.key -sha512 -days 5483 -out /etc/ssl/certs/rootCA.pem}}&lt;br /&gt;
In diesem Fall wird die CA 5483 Tage, also mit Schalttagen 15 Jahre lang gültig bleiben. Während der Generierung werden das Passwort für die CA und einige Attribute abgefragt (hier ein Beispiel):&lt;br /&gt;
 Country Name (2 letter code) [AU]:&amp;lt;b&amp;gt;DE&amp;lt;/b&amp;gt;&lt;br /&gt;
 State or Province Name (full name) [Some-State]:&amp;lt;b&amp;gt;Nordrhein-Westfalen&amp;lt;/b&amp;gt;&lt;br /&gt;
 Locality Name (eg, city) []:&amp;lt;b&amp;gt;Muenster&amp;lt;/b&amp;gt;&lt;br /&gt;
 Organization Name (eg, company) [Internet Widgits Pty Ltd]:&amp;lt;b&amp;gt;Kanzlei Hermanns&amp;lt;/b&amp;gt;&lt;br /&gt;
 Organizational Unit Name (eg, section) []:&amp;lt;b&amp;gt;Rechtsanwalt&amp;lt;/b&amp;gt;&lt;br /&gt;
 Common Name (e.g. server FQDN or YOUR name) []:&amp;lt;b&amp;gt;RA Matthias Hermanns&amp;lt;/b&amp;gt;&lt;br /&gt;
 Email Address []:&amp;lt;b&amp;gt;hermanns@iustus.eu&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Erzeugen des Schlüssels===&lt;br /&gt;
Mit diesen Daten wird auch eine Konfiguratunsdatei mit Namen &amp;lt;tt&amp;gt;ssl.cnf&amp;lt;/tt&amp;gt; befüllt, die die Schlüsselausgabe später vereinfacht.&lt;br /&gt;
{{Shell |&amp;amp;gt; cd ~/bin&amp;lt;br&amp;gt;&amp;amp;nbsp; mkdir keys&amp;lt;br&amp;gt;&amp;amp;nbsp; cd keys&amp;lt;br&amp;gt;&amp;amp;nbsp; kate ssl.cnf}}&lt;br /&gt;
Die Datei kann beispielsweise den folgenden Inhalt haben&lt;br /&gt;
 [req]&lt;br /&gt;
 # Standard-Verschlüsselung&lt;br /&gt;
 default_bits = 4096&lt;br /&gt;
 # verhindere prompt für die Zertifikat-Erstellung&lt;br /&gt;
 # (Daten kommen aus dieser Datei)&lt;br /&gt;
 prompt = no&lt;br /&gt;
 # Verschlüsselungsmethode&lt;br /&gt;
 default_md = sha512&lt;br /&gt;
 # Kryptographie abschalten&lt;br /&gt;
 encrypt_key = no&lt;br /&gt;
 # Sektion für Zertifizierer-Informationen:&lt;br /&gt;
 distinguished_name = dn&lt;br /&gt;
 &lt;br /&gt;
 # Zertifizierer-Informationen:&lt;br /&gt;
 [dn]&lt;br /&gt;
 # Länder-Code&lt;br /&gt;
 C=DE&lt;br /&gt;
 # Bundesland&lt;br /&gt;
 ST=Nordrhein-Westfalen&lt;br /&gt;
 # Stadt&lt;br /&gt;
 L=Muenster&lt;br /&gt;
 # Bezeichnung/Firmen-Name/Dein Name:&lt;br /&gt;
 O=Kanzlei Hermanns&lt;br /&gt;
 # Aussteller Name&lt;br /&gt;
 OU=RA Matthias Hermanns&lt;br /&gt;
 # E-Mail-Adresse&lt;br /&gt;
 emailAddress=hermanns@iustus.eu&lt;br /&gt;
 # Primärer Servername&lt;br /&gt;
 CN = &amp;lt;b&amp;gt;k1&amp;lt;/b&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 [v3_ca]&lt;br /&gt;
 keyUsage = digitalSignature, keyEncipherment&lt;br /&gt;
 extendedKeyUsage = serverAuth&lt;br /&gt;
 subjectAltName = IP:&amp;lt;b&amp;gt;192.168.2.10&amp;lt;/b&amp;gt;, DNS:&amp;lt;b&amp;gt;k1&amp;lt;/b&amp;gt;, DNS:&amp;lt;b&amp;gt;k1.local&amp;lt;/b&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 [ req_ext ]&lt;br /&gt;
 subjectAltName = @alt_names&lt;br /&gt;
 &lt;br /&gt;
 [alt_names]&lt;br /&gt;
 # Primärer Server-Name&lt;br /&gt;
 DNS.1 = &amp;lt;b&amp;gt;k1&amp;lt;/b&amp;gt;&lt;br /&gt;
 # Sekunärer Server-Name&lt;br /&gt;
 DNS.2 = &amp;lt;b&amp;gt;k1.local&amp;lt;/b&amp;gt;&lt;br /&gt;
 # Wildcard Subdomains&lt;br /&gt;
 DNS.3 = *.&amp;lt;b&amp;gt;k1.local&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Speichern Sie die so erstellte Datei &amp;lt;tt&amp;gt;ssl.cnf&amp;lt;/tt&amp;gt; im &amp;lt;tt&amp;gt;bin&amp;lt;/tt&amp;gt;-Verzeichnis ab. Mit folgendem Befehl erzeugen Sie nun als zertifizierter Aussteller die eigentlichen Schlüssel für die SSL-Verbindung.&lt;br /&gt;
Zunächst wird der RSA-Key mit 3072 Bit erzeugt (Asymmetrischer Schlüssel von Rivest, Shamir und Adleman, der einen privaten und einen öffentlichen Teil hat):&lt;br /&gt;
{{Shell |&amp;amp;gt; openssl genrsa -out k1.key 3072}}&lt;br /&gt;
Nun folgt die Certificate Signing Request (CSR; deutsch Zertifikatsignierungsanforderung), ein digitaler Antrag, um mittels der soeben erzeugten digitalen Signatur und der zusätzlichen Identitätsangaben zum Antragstellers aus der &amp;lt;tt&amp;gt;ssl.cnf&amp;lt;/tt&amp;gt; ein persönliches digitales Identitäts-Zertifikat (auch Public-Key-Zertifikat genannt) zu erstellen:&lt;br /&gt;
{{Shell |&amp;amp;gt; openssl req -new -keyout ~/bin/keys/k1.key -out ~/bin/keys/k1.csr -config ~/bin/keys/ssl.cnf}}&lt;br /&gt;
Mithilfe des Wurzelzertifikats vom verifizierten Aussteller (uns selbst) wird nun der eigentliche Schlüssel erstellt, damit eine Rückverfolgung zum Wurzelzertifikat möglich ist. &lt;br /&gt;
{{Shell |&amp;amp;gt; sudo openssl x509 -req \&amp;lt;br&amp;gt;&amp;amp;nbsp; -in ~/bin/keys/k1.csr \&amp;lt;br&amp;gt;&amp;amp;nbsp; -CA /etc/ssl/certs/rootCA.pem \&amp;lt;br&amp;gt;&amp;amp;nbsp; -CAkey /etc/ssl/private/rootCA.key \&amp;lt;br&amp;gt;&amp;amp;nbsp; -CAcreateserial \&amp;lt;br&amp;gt;&amp;amp;nbsp; -out ~/bin/keys/k1.crt \&amp;lt;br&amp;gt;&amp;amp;nbsp; -days 3653 \&amp;lt;br&amp;gt;&amp;amp;nbsp; -extfile ~/bin/keys/ssl.cnf \&amp;lt;br&amp;gt;&amp;amp;nbsp; -extensions v3_ca }}&lt;br /&gt;
&lt;br /&gt;
Damit die Zertifkate in unsere regelmäßige Sicherungsspeicherung aufgenommen werden, können wir sie in das Schlüsselverzeichnis &amp;lt;tt&amp;gt;keys&amp;lt;/tt&amp;gt; unter &amp;lt;tt&amp;gt;lawsuit&amp;lt;/tt&amp;gt; kopieren. Dies ist jedoch nur optional, weil es ein Sicherheitsrisiko eröffnet:&lt;br /&gt;
{{Shell |&amp;amp;gt; sudo chown matthias:users keys/k1.crt&amp;lt;br&amp;gt;&amp;amp;nbsp; chmod 640 ~/bin/keys/k1.*&amp;lt;br&amp;gt;&amp;amp;nbsp; cp ~/bin/keys/k1.* ~/lawsuit/keys/}}&lt;br /&gt;
&lt;br /&gt;
=== Verbindung mit dem Server ===&lt;br /&gt;
Wenn Sie host-Datei &amp;lt;tt&amp;gt;lawsuit-httpd.conf&amp;lt;/tt&amp;gt; automatisch wie oben vorgeschlagen generiert haben, sind die notwendigen Einstellungen schon voreingetragen und müssen nur auskommentiert werden. Ansonsten ergänzen Sie unter /etc/apache2/vhosts.d/&lt;br /&gt;
folgende Zeilen:&lt;br /&gt;
 &amp;lt;VirtualHost *:80&amp;gt;&lt;br /&gt;
    ServerName &amp;lt;b&amp;gt;k1&amp;lt;/b&amp;gt;&lt;br /&gt;
    ServerAlias &amp;lt;b&amp;gt;k1.local&amp;lt;/b&amp;gt;&lt;br /&gt;
 &amp;lt;/VirtualHost&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 &amp;lt;IfModule mod_ssl.c&amp;gt;&lt;br /&gt;
    &amp;lt;VirtualHost *:443&amp;gt;&lt;br /&gt;
        ServerAdmin webmaster@localhost&lt;br /&gt;
        DocumentRoot /home/BENUTZERNAME/lawsuit/&lt;br /&gt;
        ServerName &amp;lt;b&amp;gt;k1&amp;lt;/b&amp;gt;&lt;br /&gt;
        ServerAlias &amp;lt;b&amp;gt;k1.local&amp;lt;/b&amp;gt;&lt;br /&gt;
        ErrorLog /var/log/apache2/error_log&lt;br /&gt;
        SSLEngine on&lt;br /&gt;
        SSLCertificateFile      /home/BENUTZERNAME/bin/keys/&amp;lt;b&amp;gt;k1.crt&amp;lt;/b&amp;gt;&lt;br /&gt;
        SSLCertificateKeyFile   /home/BENUTZERNAME/bin/keys/&amp;lt;b&amp;gt;k1.key&amp;lt;/b&amp;gt;&lt;br /&gt;
        &amp;lt;IfModule mod_headers.c&amp;gt;&lt;br /&gt;
            Header always set Strict-Transport-Security &amp;quot;max-age=15552000; includeSubDomains&amp;quot;&lt;br /&gt;
        &amp;lt;/IfModule&amp;gt;&lt;br /&gt;
        &amp;lt;FilesMatch &amp;quot;\.(cgi|html|shtml|pl|phtml|php)$&amp;quot;&amp;gt;&lt;br /&gt;
            SSLOptions +StdEnvVars&lt;br /&gt;
        &amp;lt;/FilesMatch&amp;gt;&lt;br /&gt;
        &amp;lt;Directory /home/BENUTZERNAME/lawsuit/cgi-bin&amp;gt;&lt;br /&gt;
            SSLOptions +StdEnvVars&lt;br /&gt;
        &amp;lt;/Directory&amp;gt;&lt;br /&gt;
    &amp;lt;/VirtualHost&amp;gt;&lt;br /&gt;
 &amp;lt;/IfModule&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 # configuration&lt;br /&gt;
 SSLProtocol             all -SSLv3 -TLSv1 -TLSv1.1 -TLSv1.2&lt;br /&gt;
 SSLHonorCipherOrder     off&lt;br /&gt;
 SSLSessionTickets       off&lt;br /&gt;
&lt;br /&gt;
Damit diese Einstellungen nicht der vom Linux-System vorgegebenen Konfiguration widersprechen, müssen in der Datei &amp;lt;tt&amp;gt;/usr/share/doc/packages/apache2/original/extra/httpd-ssl.conf&amp;lt;/tt&amp;gt; noch folgende Zeilen auskommentiert und berichtigt werden&lt;br /&gt;
 #&amp;lt;b&amp;gt;ServerName&amp;lt;/b&amp;gt; www.example.com:443&lt;br /&gt;
 ServerName &amp;lt;b&amp;gt;k1&amp;lt;/b&amp;gt;:443&lt;br /&gt;
ferner&lt;br /&gt;
 #&amp;lt;b&amp;gt;SSLCertificateFile&amp;lt;/b&amp;gt; &amp;quot;/etc/apache2/server.crt&amp;quot;&lt;br /&gt;
 SSLCertificateFile &amp;quot;/home/BENUTZERNAME/bin/keys/k1.crt&amp;quot;&lt;br /&gt;
und&lt;br /&gt;
 #&amp;lt;b&amp;gt;SSLCertificateKeyFile&amp;lt;/b&amp;gt; &amp;quot;/etc/apache2/server.key&amp;quot;&lt;br /&gt;
 SSLCertificateKeyFile &amp;quot;/home/BENUTZERNAME/bin/keys/k1.key&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Unter Firefox kann das selbstgezeichnete Zertifikat nun verwendet werden. Bitte beachten Sie, dass für jede Apache-Konfigurrationsdatei ein anderer Port geöffnet werden muss, &amp;quot;443&amp;quot; also nur einmal verwendet werden kann. Sie können alternativ z.B. &amp;quot;4443&amp;quot; verwenden.&lt;br /&gt;
&lt;br /&gt;
Abschließender Test und Neustart:&lt;br /&gt;
{{Shell |&amp;amp;#35; sudo apache2ctl -t&amp;lt;br&amp;gt;&amp;amp;nbsp; sudo systemctl restart apache2}}&lt;br /&gt;
&lt;br /&gt;
=== Registrierung als vertrauenswürdiger Aussteller für den Firefox-Browser ===&lt;br /&gt;
Damit der Firefox-Browser das Zertifikat tatsächlich verwendet und als vertrauenswürdig akzeptiert, muss es im Kleopatra-Schlüsseldienst eingetragen werden, auf den der Browser zugreift. &lt;br /&gt;
{{Shell |&amp;amp;gt; kleopatra}}&lt;br /&gt;
Klicken Sie den Reiter &amp;lt;b&amp;gt;Importieren&amp;lt;/b&amp;gt; an und fügen Sie nacheinander die folgenden Dateien ein:&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;/home/BENUTZERNAME/bin/keys/k1.crt&amp;lt;/tt&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;/etc/ssl/certs/rootCA.pem&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Bitte bestätigen Sie die erbetenen Beglaubigungen mit der Maustaste.&lt;br /&gt;
[[Datei:Kleopatra.png|thumb|600px|left|Importieren der Zertifikate in das Kleopatra-Schlüsselverwaltungsprogramm]]&lt;br /&gt;
&amp;lt;br clear=all&amp;gt;&lt;br /&gt;
Nun wechseln Sie in den Firefox-Browser und geben in die Adresszeile ein&lt;br /&gt;
 about:config&lt;br /&gt;
Dort ändern Sie die Variable&lt;br /&gt;
 security.enterprise_roots.enabled -&amp;gt; true&lt;br /&gt;
von &amp;quot;false&amp;quot; auf &amp;quot;true&amp;quot;. Nun bezieht der Browser auch Ihre eigenen CA-Beglaubigungen des Unternehmens eine seine Bewertungen mit ein und vergibt ein grünes Schlüsselsymbol.&lt;br /&gt;
&lt;br /&gt;
== Problembehebung ==&lt;br /&gt;
Lesen Sie wenn möglich die Fehlermeldungen nach dem Start des Servers. Versuchen Sie Fehler ggf. zu reproduzieren und vergleichen Sie die Einträge in den Log-Dateien. Den Einblick auf die dortigen Meldungen können Sie mit dem folgenden Befehl auf den neuesten Stand reduzieren::&lt;br /&gt;
&lt;br /&gt;
{{Shell | # tail -F /var/log/apache2/*}}&lt;br /&gt;
&lt;br /&gt;
Da die Error-Messages schnell sehr großen Umfang einnehmen, der am Ende sogar den Systemstart blockieren kann, empfiehlt es sich, mit Logrotate den Bestand unter Kontrolle zu halten. Installieren Sie dazu, falls noch nicht vom System geschehen:&lt;br /&gt;
{{Shell | # zypper in logrotate}}&lt;br /&gt;
Sie können die Einstellungen in der Konfigurationsdatei &lt;br /&gt;
 /etc/logrotate.conf&lt;br /&gt;
ändern. Eine typische Konfiguration von &amp;lt;tt&amp;gt;logrotate.conf&amp;lt;/tt&amp;gt; sieht z.B. wie folgt aus:&lt;br /&gt;
{{Shell |&amp;amp;#35; see &amp;quot;man logrotate&amp;quot; for details&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;amp;#35; rotate log files weekly &lt;br /&gt;
&amp;lt;br&amp;gt;weekly &lt;br /&gt;
&amp;lt;br&amp;gt;&amp;amp;#35; keep 4 weeks worth of backlogs &lt;br /&gt;
&amp;lt;br&amp;gt;rotate 4&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;b&amp;gt;&amp;amp;#35; remove rotated logs older than &amp;lt;count&amp;gt; days&lt;br /&gt;
&amp;lt;br&amp;gt;maxage 90 &amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;amp;#35; create new (empty) log files after rotating old ones &lt;br /&gt;
&amp;lt;br&amp;gt;create&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;amp;#35; use date as a suffix of the rotated file&lt;br /&gt;
&amp;lt;br&amp;gt;dateext&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;amp;#35; uncomment this if you want your log files compressed &lt;br /&gt;
&amp;lt;br&amp;gt;compress&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;amp;#35; comment these to switch compression to use gzip or another &lt;br /&gt;
&amp;lt;br&amp;gt;&amp;amp;#35; compression scheme&lt;br /&gt;
&amp;lt;br&amp;gt;compresscmd /usr/bin/xz&lt;br /&gt;
&amp;lt;br&amp;gt;uncompresscmd /usr/bin/xzdec&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;amp;#35; RPM packages drop log rotation information into this directory&lt;br /&gt;
&amp;lt;br&amp;gt;include /etc/logrotate.d&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Sollten Sie einen Fehler gefunden haben, [https://de.opensuse.org/SDB:Fehler_berichten berichten Sie ihn] bitte.&lt;br /&gt;
&lt;br /&gt;
==Weiterführende Informationen==&lt;br /&gt;
=== Verwandte Artikel ===&lt;br /&gt;
*[https://de.opensuse.org/YaST_Module_Firewall#Firewall_Einrichten openSUSE Firewall]&lt;br /&gt;
* Package documentation and example configuration files in /usr/share/doc/packages/apache2/&lt;br /&gt;
&lt;br /&gt;
===Externe Links===&lt;br /&gt;
* [https://doc.opensuse.org/documentation/leap/reference/html/book.opensuse.reference/cha.apache2.html openSUSE Apache Documentation]&lt;br /&gt;
* [http://httpd.apache.org/ The Apache Project]&lt;br /&gt;
* [http://www.apache.org/ Apache Software Foundation]&lt;br /&gt;
&lt;br /&gt;
{{DEFAULTSORT:{{PAGENAME}}}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Linuxinstallation]]&lt;/div&gt;</summary>
		<author><name>87.123.95.19</name></author>	</entry>

	<entry>
		<id>http://wiki.iustus.eu/wiki/index.php?title=Aufsetzen_des_Apache-Servers_-_ubuntu&amp;diff=7111</id>
		<title>Aufsetzen des Apache-Servers - ubuntu</title>
		<link rel="alternate" type="text/html" href="http://wiki.iustus.eu/wiki/index.php?title=Aufsetzen_des_Apache-Servers_-_ubuntu&amp;diff=7111"/>
				<updated>2026-01-02T12:28:28Z</updated>
		
		<summary type="html">&lt;p&gt;87.123.95.19: /* Hinzufügen von Apache-Modulen */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Ubuntu|&lt;br /&gt;
*[https://ubuntu.com/tutorials/install-ubuntu-desktop-1604#1-overview 16.04.]&lt;br /&gt;
|&lt;br /&gt;
*[https://ubuntu.com/tutorials/install-and-configure-apache#2-installing-apache Apache Installation]&lt;br /&gt;
|&lt;br /&gt;
*[https://de.opensuse.org/SDB:LAMP_Einrichtung SDB:LAMP_Einrichtung]&lt;br /&gt;
*[https://de.opensuse.org/Apache2 Apache2]&lt;br /&gt;
*[https://de.opensuse.org/Portal:MySQL Portal:MySQL]&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Einführung ==&lt;br /&gt;
&lt;br /&gt;
Diese Dokument gibt eine rasche Einführung, wie ein Apache-Server auf dem lokalen Rechner aufgesetzt werden kann, der die Lawsuit-Programmteile bereitstellt.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
{{Warnung| Die Kurzanleitung geht nicht vertieft auf mögliche Experten-Einstellungen des Servers ein. Insbesondere bleiben hier Sicherheitseinstellungen unberücksichtigt, die für den Betrieb als öffentlich zugänglicher Netzserver unumgänglich wären. Die nachfolgenden Schritte sind für Anwender gedacht, die Lawsuit intern auf dem Kanzleirechner hinter einer Firewall betreiben möchten.}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== Allgemeine Rechner-Konfiguration ==&lt;br /&gt;
&lt;br /&gt;
Die Software benötigt eine funktionierende Netzwerkumgebung. Diese wird jedoch bereits standardmäßig von Ubuntu eingereichtet. Achten Sie aber insbesondere bei der Nutzung von [https://de.wikipedia.org/wiki/Dynamic_Host_Configuration_Protocol DHCP] darauf, dass [[Mehrplatzsysteme - ubuntu|weitere Rechner]] der Kanzlei vom Networkmanager tatsächlich im selben Nummernraum wie dieser PC eingetragen wurden, auf dem Apache nun installiert werden soll. Ansonsten können diese Rechner später nicht auf die Kanzleisoftware zugreifen.&lt;br /&gt;
&lt;br /&gt;
Als Zweites sollte der PC auf dem aktuellen Softwarestand sein. &lt;br /&gt;
{{Shell|&amp;gt; sudo apt update}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Installation der Apache-Pakete ===&lt;br /&gt;
&lt;br /&gt;
Der Apache-Server und das optionale Perl-Modul können mit ''apt'' installiert werden. Öffnen Sie dazu ein Terminal-Fenster und wechseln Sie wie folgt in den Superuser-Modus:&lt;br /&gt;
{{Shell|&amp;gt; sudo apt install apache2}}&lt;br /&gt;
Geben Sie das Passwort ein.&lt;br /&gt;
Prüfen Sie die korrekte Funktionsweise des Apache-Servers, indem Sie in die Browser-Adresszeile die folgende Adresse eingeben:&lt;br /&gt;
 http://localhost/&lt;br /&gt;
Es sollte folgende Ausgabe zu sehen sein:&lt;br /&gt;
[[Datei:Apache_works.png|thumb|600px|left|Apache-Server Startausgabe]]&lt;br /&gt;
&amp;lt;br clear=all&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Start des Servers ===&lt;br /&gt;
Mit folgenden zwei Befehlen wird der Apache-Server gestartet und auf Dauer im System aktiviert.&lt;br /&gt;
{{Shell|# systemctl start apache2&amp;lt;br&amp;gt;&amp;amp;nbsp; systemctl enable apache2}}&lt;br /&gt;
&lt;br /&gt;
=== Einrichtung und Anpassung der Firewall ===&lt;br /&gt;
&lt;br /&gt;
Normalerweise sollte die die Firewall ''ufd'' (Uncomplicated Firewall) vorinstalliert sein. Für unsere Zwecke zielführender ist ''firewalld''. Dies wird mit&lt;br /&gt;
{{Shell|&amp;gt; sudo apt install firewalld}}&lt;br /&gt;
installiert. Danach muss, um Systemkonflikte zu vermeiden ''ufd'' deaktiviert werden. Dies erfolgt per&lt;br /&gt;
{{Shell|&amp;gt; sudo ufw disable}}&lt;br /&gt;
Starten Sie nun ''firewalld'' mit&lt;br /&gt;
{{Shell|&amp;gt; sudo systemctl enable --now firewalld}}&lt;br /&gt;
&lt;br /&gt;
Die Firewall ist so voreingestellt, dass sie über Port 80 auf den Rechner eingehende Daten grundsätzlich sperrt. Folglich müssen die Firewall-Einstellungen so angepasst werden, dass aus dem Lokalen Netzwerk über Port 80 eingehender Datenstrom akzeptiert wird.&lt;br /&gt;
Die folgenden Schritte müssen dazu weiterhin als Root ausgeführt werden. &lt;br /&gt;
&lt;br /&gt;
{{Shell|&amp;gt; sudo firewall-cmd --zone internal --permanent --add-interface&amp;amp;#61;eth0&amp;lt;br&amp;gt;&amp;amp;nbsp; sudo firewall-cmd --zone internal --permanent --add-service&amp;amp;#61;nfs&amp;lt;br&amp;gt;&amp;amp;nbsp; sudo firewall-cmd --zone internal --permanent --add-service&amp;amp;#61;http&amp;lt;br&amp;gt;&amp;amp;nbsp; sudo firewall-cmd --zone internal --permanent --add-service&amp;amp;#61;https&amp;lt;br&amp;gt;&amp;amp;nbsp; sudo firewall-cmd --reload}}&lt;br /&gt;
&lt;br /&gt;
Weitere verfügbare Dienste lassen sich mit folgendem Befehl anzeigen&lt;br /&gt;
{{Shell|&amp;gt; sudo firewall-cmd --get-service}}&lt;br /&gt;
und ggf. nach obigem Muster ergänzen&lt;br /&gt;
&lt;br /&gt;
=== Aktivierung des Servers ===&lt;br /&gt;
Starten Sie den Server und aktivieren Sie ihn in einem Bootverzeichnis, damit er mit dem Rechner hochgefahren wird (s.o. ohne Yast):&lt;br /&gt;
{{Shell|# systemctl start apache2.service&amp;lt;br&amp;gt;&amp;amp;nbsp; systemctl enable apache2}}&lt;br /&gt;
&lt;br /&gt;
=== Hinzufügen von Apache-Modulen===&lt;br /&gt;
Um benötigte Apache-Module zu laden, können wir die Konfigurationsvariable ''APACHE_MODULES'' in &amp;lt;tt&amp;gt;/etc/sysconfig/apache2&amp;lt;/tt&amp;gt; editieren. Schneller geht es jedoch mit den nachfolgenden Befehlen.&lt;br /&gt;
Einige Programme müssen zunächst nachgeladen werden:&lt;br /&gt;
{{Shell|&amp;gt; sudo apt install libapache2-mod-perl2 libapache2-mod-dnssd libapache2-mod-python}}&lt;br /&gt;
Nach der Änderung muss der Server neu gestartet werden. Auch für die folgenden Befehle sind wieder die Rechte eines Superusers vonnöten.&lt;br /&gt;
{{Shell|&amp;gt; sudo a2enmod perl ssl dnssd rewrite actions python&amp;lt;br&amp;gt;&amp;amp;nbsp; sudo systemctl restart apache2}}&lt;br /&gt;
&lt;br /&gt;
== Virtual Hosts ==&lt;br /&gt;
===Allgemeines===&lt;br /&gt;
Das Verzeichnis für alle Virtual Host ist &amp;lt;tt&amp;gt;/etc/apache2/vhosts.d/&amp;lt;/tt&amp;gt;. Wie Sie sehen gibt es zwei Konfigurationsdateien - eine mit ssl, die andere ohne ssl. Wir benutzen die Vorlage ohne [https://de.wikipedia.org/wiki/Transport_Layer_Security Secure Sockets Layer]. Nur Dateien mit dem Suffix &amp;quot;.conf&amp;quot; werden automatisch in die Apachekonfiguration einbezogen.&lt;br /&gt;
&lt;br /&gt;
{{Intro|Wenn Sie neben Lawsuit einen weiteren eigenen Virtual Host hinzufügen möchten, ersetzen Sie in den folgenden Zeilen bitte ''Domainname'' durch ihren Verzeichnisnamen oder Ihre IP-Adresse.}}&lt;br /&gt;
&lt;br /&gt;
* Es gibt mehrere Varianten für die Struktur, mit welcher der eigenen Server auf dem Rechner aufgesetzt werden kann. Folgende Optionen bieten sich an: &lt;br /&gt;
:* [https://httpd.apache.org/docs/2.4/de/vhosts/name-based.html namensbasiert]&lt;br /&gt;
:* [https://httpd.apache.org/docs/2.4/de/vhosts/ip-based.html IP-basiert]&lt;br /&gt;
:* portbasiert&lt;br /&gt;
&lt;br /&gt;
* Sei können für Ihre Verzeichnisse die Vorlage '''vhost.template''' kopieren und als Ihre '''{DOMAINNAME}.conf''' speichern. Hier hinein tragen Sie anschließend die Unterverzeichnisse für Ihren Virtual Host ein.&lt;br /&gt;
&lt;br /&gt;
===Einstellungen für ''Lawsuit''===&lt;br /&gt;
Für ''Lawsuit'' wird die Konfigurationsdatei jedoch im Unterverzeichnis &amp;lt;tt&amp;gt;lawsuit/settings&amp;lt;/tt&amp;gt; bereits fertig zur Verfügung gestellt. Sie müssen lediglich in der genannten Datei den Platzhalter durch den eigenen Nutzernamen ersetzen und die fertige Datei in das Vhosts-Verzeichnis verlinken. Wechseln Sie in das Unterverzeichnis &amp;lt;tt&amp;gt;lawsuit/settings&amp;lt;/tt&amp;gt;. Wenn Sie ''Lawsuit'' in Ihrem Nutzerhauptverzeichnis installiert haben, gelangen Sie mit diesem Befehl dorthin:&lt;br /&gt;
{{Shell | &amp;gt; cd ~/lawsuit/settings}}&lt;br /&gt;
Erstellen Sie dort eine Konfigurationsdatei aus der Vorlage &amp;lt;tt&amp;gt;lawsuit-httpd.template&amp;lt;/tt&amp;gt; und ersetzen Sie den darin enthaltenen Platzhalter ''meinpfad'' dabei durch Ihren Pfad zum aktuellen Verzeichnis. Dies erfolgt automatisiert durch diese Befehle:&lt;br /&gt;
{{Shell | &amp;gt; pfad&amp;amp;#61;&amp;amp;#96;pwd &amp;amp;#124; sed &amp;amp;apos;s/\/lawsuit.*//&amp;amp;apos;  &amp;amp;#124; sed &amp;amp;apos;s/\//\\\\\//g&amp;amp;apos;&amp;amp;#96;&amp;lt;br&amp;gt; &amp;gt; sed &amp;amp;quot;s/meinpfad/$pfad/g&amp;amp;quot; lawsuit-httpd.template &amp;gt; lawsuit-httpd.conf}}&lt;br /&gt;
Falls Ihr Pfad zum Ordner &amp;lt;tt&amp;gt;Documents&amp;lt;/tt&amp;gt; nicht mit dem soeben ermittelten Pfad für &amp;lt;tt&amp;gt;lawsuit&amp;lt;/tt&amp;gt; identisch ist, passen Sie diese Einstellungen für das Verzeichnis &amp;lt;tt&amp;gt;Documents&amp;lt;/tt&amp;gt; bitte in der &amp;lt;tt&amp;gt;lawsuit-httpd.conf&amp;lt;/tt&amp;gt; mit einem Editor wie '''kate''' von Hand an.&lt;br /&gt;
&lt;br /&gt;
Abschließend kopieren Sie die erstellte Konfigurationsdatei als ''Superuser'' in das Verzeichnis der Virtual Hosts von Apache:&lt;br /&gt;
&lt;br /&gt;
{{Shell | &amp;gt; sudo cp lawsuit-httpd.conf /etc/apache2/vhosts.d/}}&lt;br /&gt;
&lt;br /&gt;
* Neustart von Apache&lt;br /&gt;
{{Shell | &amp;gt; sudo service apache2 restart}}&lt;br /&gt;
&lt;br /&gt;
=== Anpassen der Konfiguration ===&lt;br /&gt;
Um Ergänzungen oder Änderungen einheitlich für alle Virtual Hosts an der Datei &amp;lt;tt&amp;gt;/etc/apache2/default-server.conf&amp;lt;/tt&amp;gt; vorzunehmen, editieren Sie die Konfigurationsvariable ''APACHE_CONF_INCLUDE_FILES'' mithilfe von &lt;br /&gt;
 YaST &amp;gt; etc/sysconfig-Editor&lt;br /&gt;
oder arbeiten direkt in der Textdatei &amp;lt;tt&amp;gt;/etc/sysconfig/apache2&amp;lt;/tt&amp;gt;. Zum Verständnis der Hierarchie und des Layouts um Dateien einzubeziehen, lesen Sie die Kommentierung im Kopf der &amp;lt;tt&amp;gt;httpd.conf&amp;lt;/tt&amp;gt;. Die ursprüngliche, einfache Konfigurationsdatei mit nur 40K findet sich notfalls unter &amp;lt;tt&amp;gt;/usr/share/doc/packages/apache2/httpd-std.conf-prefork&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Optional: Ein Zertifikat für localhost erstellen ==&lt;br /&gt;
Bei Mehrplatzsystemen funktionieren die Javascript-Voreintragungen bei Nutzung einer sicheren HTTPS-Verbindung nur, wenn ein eigenes Zertifikat erstellt wird, dessen Aussteller zudem noch aus vertrauenswürdig eingestuft werden muss.OpenSSL bringt umfassende Werkzeuge mit, um eine eigene, kleine Certificate Authority (CA) betreiben zu können. &lt;br /&gt;
=== Vergabe einer Domain für den Rechner mit den Lawsuit-Daten ===&lt;br /&gt;
Unter &amp;lt;i&amp;gt;yast2 &amp;gt; Netzwerkdienste &amp;gt; Rechnernamen&amp;lt;/i&amp;gt; fügen Sie unter der Zeile &amp;quot;localhost&amp;quot; eine Zeile mit folgenden Daten ein:&lt;br /&gt;
 IP-Adresse: &amp;lt;b&amp;gt;192.168.2.10&amp;lt;/b&amp;gt;&lt;br /&gt;
 Hostnamen:  &amp;lt;b&amp;gt;k1.local&amp;lt;/b&amp;gt;&lt;br /&gt;
 Aliasnamen: &amp;lt;b&amp;gt;k1&amp;lt;/b&amp;gt;&lt;br /&gt;
[[Datei:Hostkonfiguration.png|thumb|600px|left|Eigenen Rechnernamen vergeben]]&lt;br /&gt;
&amp;lt;br clear=all&amp;gt;&lt;br /&gt;
Sie können statt &amp;quot;k1&amp;quot; eine beliebe andere Bezeichnung für den Hauptrechner wählen, müssen dann aber Ihre Domain in den folgenden Einstellungen beibehalten.&lt;br /&gt;
&lt;br /&gt;
=== Certificate Authority (CA) erstellen ===&lt;br /&gt;
Zu Beginn wird die Certificate Authority generiert. Zunächst wird ein geheimer Private Key erzeugt:&lt;br /&gt;
{{Shell |&amp;amp;gt; sudo openssl genrsa -aes256 -out /etc/ssl/private/rootCA.key 4096}}&lt;br /&gt;
Der Key trägt den Namen “rootCA.pem” und hat eine Länge von 4096 Bit. Die Option “-aes256” führt dazu, dass der Key mit einem Passwort geschützt wird. Die Key-Datei der CA muss tatsächlich besonders gut geschützt werden. Ein Angreifer, der den Key in die Hände bekommt, kann beliebig gefälschte Zertifikate im Namen der Kanzlei ausstellen, denen die Clients trauen. Die Verschlüsselung dieses Keys mit einem Passwort gibt zusätzlichen Schutz. Das gewünschte Passwort wird bei der Generierung abgefragt.&lt;br /&gt;
Einen geheimen Key für die CA gibt es damit also schon - es fehlt noch das Root-Zertifikat, das von den Clients später importiert werden muss, damit die von der CA ausgestellten Zertifikate im Browser als gültig erkannt werden. Das Root-Zertifikat “ca-root.pem” wird mit folgendem Befehl erzeugt: &lt;br /&gt;
{{Shell |&amp;amp;gt; sudo openssl req -x509 -new -nodes -key /etc/ssl/private/rootCA.key -sha512 -days 5483 -out /etc/ssl/certs/rootCA.pem}}&lt;br /&gt;
In diesem Fall wird die CA 5483 Tage, also mit Schalttagen 15 Jahre lang gültig bleiben. Während der Generierung werden das Passwort für die CA und einige Attribute abgefragt (hier ein Beispiel):&lt;br /&gt;
 Country Name (2 letter code) [AU]:&amp;lt;b&amp;gt;DE&amp;lt;/b&amp;gt;&lt;br /&gt;
 State or Province Name (full name) [Some-State]:&amp;lt;b&amp;gt;Nordrhein-Westfalen&amp;lt;/b&amp;gt;&lt;br /&gt;
 Locality Name (eg, city) []:&amp;lt;b&amp;gt;Muenster&amp;lt;/b&amp;gt;&lt;br /&gt;
 Organization Name (eg, company) [Internet Widgits Pty Ltd]:&amp;lt;b&amp;gt;Kanzlei Hermanns&amp;lt;/b&amp;gt;&lt;br /&gt;
 Organizational Unit Name (eg, section) []:&amp;lt;b&amp;gt;Rechtsanwalt&amp;lt;/b&amp;gt;&lt;br /&gt;
 Common Name (e.g. server FQDN or YOUR name) []:&amp;lt;b&amp;gt;RA Matthias Hermanns&amp;lt;/b&amp;gt;&lt;br /&gt;
 Email Address []:&amp;lt;b&amp;gt;hermanns@iustus.eu&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Erzeugen des Schlüssels===&lt;br /&gt;
Mit diesen Daten wird auch eine Konfiguratunsdatei mit Namen &amp;lt;tt&amp;gt;ssl.cnf&amp;lt;/tt&amp;gt; befüllt, die die Schlüsselausgabe später vereinfacht.&lt;br /&gt;
{{Shell |&amp;amp;gt; cd ~/bin&amp;lt;br&amp;gt;&amp;amp;nbsp; mkdir keys&amp;lt;br&amp;gt;&amp;amp;nbsp; cd keys&amp;lt;br&amp;gt;&amp;amp;nbsp; kate ssl.cnf}}&lt;br /&gt;
Die Datei kann beispielsweise den folgenden Inhalt haben&lt;br /&gt;
 [req]&lt;br /&gt;
 # Standard-Verschlüsselung&lt;br /&gt;
 default_bits = 4096&lt;br /&gt;
 # verhindere prompt für die Zertifikat-Erstellung&lt;br /&gt;
 # (Daten kommen aus dieser Datei)&lt;br /&gt;
 prompt = no&lt;br /&gt;
 # Verschlüsselungsmethode&lt;br /&gt;
 default_md = sha512&lt;br /&gt;
 # Kryptographie abschalten&lt;br /&gt;
 encrypt_key = no&lt;br /&gt;
 # Sektion für Zertifizierer-Informationen:&lt;br /&gt;
 distinguished_name = dn&lt;br /&gt;
 &lt;br /&gt;
 # Zertifizierer-Informationen:&lt;br /&gt;
 [dn]&lt;br /&gt;
 # Länder-Code&lt;br /&gt;
 C=DE&lt;br /&gt;
 # Bundesland&lt;br /&gt;
 ST=Nordrhein-Westfalen&lt;br /&gt;
 # Stadt&lt;br /&gt;
 L=Muenster&lt;br /&gt;
 # Bezeichnung/Firmen-Name/Dein Name:&lt;br /&gt;
 O=Kanzlei Hermanns&lt;br /&gt;
 # Aussteller Name&lt;br /&gt;
 OU=RA Matthias Hermanns&lt;br /&gt;
 # E-Mail-Adresse&lt;br /&gt;
 emailAddress=hermanns@iustus.eu&lt;br /&gt;
 # Primärer Servername&lt;br /&gt;
 CN = &amp;lt;b&amp;gt;k1&amp;lt;/b&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 [v3_ca]&lt;br /&gt;
 keyUsage = digitalSignature, keyEncipherment&lt;br /&gt;
 extendedKeyUsage = serverAuth&lt;br /&gt;
 subjectAltName = IP:&amp;lt;b&amp;gt;192.168.2.10&amp;lt;/b&amp;gt;, DNS:&amp;lt;b&amp;gt;k1&amp;lt;/b&amp;gt;, DNS:&amp;lt;b&amp;gt;k1.local&amp;lt;/b&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 [ req_ext ]&lt;br /&gt;
 subjectAltName = @alt_names&lt;br /&gt;
 &lt;br /&gt;
 [alt_names]&lt;br /&gt;
 # Primärer Server-Name&lt;br /&gt;
 DNS.1 = &amp;lt;b&amp;gt;k1&amp;lt;/b&amp;gt;&lt;br /&gt;
 # Sekunärer Server-Name&lt;br /&gt;
 DNS.2 = &amp;lt;b&amp;gt;k1.local&amp;lt;/b&amp;gt;&lt;br /&gt;
 # Wildcard Subdomains&lt;br /&gt;
 DNS.3 = *.&amp;lt;b&amp;gt;k1.local&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Speichern Sie die so erstellte Datei &amp;lt;tt&amp;gt;ssl.cnf&amp;lt;/tt&amp;gt; im &amp;lt;tt&amp;gt;bin&amp;lt;/tt&amp;gt;-Verzeichnis ab. Mit folgendem Befehl erzeugen Sie nun als zertifizierter Aussteller die eigentlichen Schlüssel für die SSL-Verbindung.&lt;br /&gt;
Zunächst wird der RSA-Key mit 3072 Bit erzeugt (Asymmetrischer Schlüssel von Rivest, Shamir und Adleman, der einen privaten und einen öffentlichen Teil hat):&lt;br /&gt;
{{Shell |&amp;amp;gt; openssl genrsa -out k1.key 3072}}&lt;br /&gt;
Nun folgt die Certificate Signing Request (CSR; deutsch Zertifikatsignierungsanforderung), ein digitaler Antrag, um mittels der soeben erzeugten digitalen Signatur und der zusätzlichen Identitätsangaben zum Antragstellers aus der &amp;lt;tt&amp;gt;ssl.cnf&amp;lt;/tt&amp;gt; ein persönliches digitales Identitäts-Zertifikat (auch Public-Key-Zertifikat genannt) zu erstellen:&lt;br /&gt;
{{Shell |&amp;amp;gt; openssl req -new -keyout ~/bin/keys/k1.key -out ~/bin/keys/k1.csr -config ~/bin/keys/ssl.cnf}}&lt;br /&gt;
Mithilfe des Wurzelzertifikats vom verifizierten Aussteller (uns selbst) wird nun der eigentliche Schlüssel erstellt, damit eine Rückverfolgung zum Wurzelzertifikat möglich ist. &lt;br /&gt;
{{Shell |&amp;amp;gt; sudo openssl x509 -req \&amp;lt;br&amp;gt;&amp;amp;nbsp; -in ~/bin/keys/k1.csr \&amp;lt;br&amp;gt;&amp;amp;nbsp; -CA /etc/ssl/certs/rootCA.pem \&amp;lt;br&amp;gt;&amp;amp;nbsp; -CAkey /etc/ssl/private/rootCA.key \&amp;lt;br&amp;gt;&amp;amp;nbsp; -CAcreateserial \&amp;lt;br&amp;gt;&amp;amp;nbsp; -out ~/bin/keys/k1.crt \&amp;lt;br&amp;gt;&amp;amp;nbsp; -days 3653 \&amp;lt;br&amp;gt;&amp;amp;nbsp; -extfile ~/bin/keys/ssl.cnf \&amp;lt;br&amp;gt;&amp;amp;nbsp; -extensions v3_ca }}&lt;br /&gt;
&lt;br /&gt;
Damit die Zertifkate in unsere regelmäßige Sicherungsspeicherung aufgenommen werden, können wir sie in das Schlüsselverzeichnis &amp;lt;tt&amp;gt;keys&amp;lt;/tt&amp;gt; unter &amp;lt;tt&amp;gt;lawsuit&amp;lt;/tt&amp;gt; kopieren. Dies ist jedoch nur optional, weil es ein Sicherheitsrisiko eröffnet:&lt;br /&gt;
{{Shell |&amp;amp;gt; sudo chown matthias:users keys/k1.crt&amp;lt;br&amp;gt;&amp;amp;nbsp; chmod 640 ~/bin/keys/k1.*&amp;lt;br&amp;gt;&amp;amp;nbsp; cp ~/bin/keys/k1.* ~/lawsuit/keys/}}&lt;br /&gt;
&lt;br /&gt;
=== Verbindung mit dem Server ===&lt;br /&gt;
Wenn Sie host-Datei &amp;lt;tt&amp;gt;lawsuit-httpd.conf&amp;lt;/tt&amp;gt; automatisch wie oben vorgeschlagen generiert haben, sind die notwendigen Einstellungen schon voreingetragen und müssen nur auskommentiert werden. Ansonsten ergänzen Sie unter /etc/apache2/vhosts.d/&lt;br /&gt;
folgende Zeilen:&lt;br /&gt;
 &amp;lt;VirtualHost *:80&amp;gt;&lt;br /&gt;
    ServerName &amp;lt;b&amp;gt;k1&amp;lt;/b&amp;gt;&lt;br /&gt;
    ServerAlias &amp;lt;b&amp;gt;k1.local&amp;lt;/b&amp;gt;&lt;br /&gt;
 &amp;lt;/VirtualHost&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 &amp;lt;IfModule mod_ssl.c&amp;gt;&lt;br /&gt;
    &amp;lt;VirtualHost *:443&amp;gt;&lt;br /&gt;
        ServerAdmin webmaster@localhost&lt;br /&gt;
        DocumentRoot /home/BENUTZERNAME/lawsuit/&lt;br /&gt;
        ServerName &amp;lt;b&amp;gt;k1&amp;lt;/b&amp;gt;&lt;br /&gt;
        ServerAlias &amp;lt;b&amp;gt;k1.local&amp;lt;/b&amp;gt;&lt;br /&gt;
        ErrorLog /var/log/apache2/error_log&lt;br /&gt;
        SSLEngine on&lt;br /&gt;
        SSLCertificateFile      /home/BENUTZERNAME/bin/keys/&amp;lt;b&amp;gt;k1.crt&amp;lt;/b&amp;gt;&lt;br /&gt;
        SSLCertificateKeyFile   /home/BENUTZERNAME/bin/keys/&amp;lt;b&amp;gt;k1.key&amp;lt;/b&amp;gt;&lt;br /&gt;
        &amp;lt;IfModule mod_headers.c&amp;gt;&lt;br /&gt;
            Header always set Strict-Transport-Security &amp;quot;max-age=15552000; includeSubDomains&amp;quot;&lt;br /&gt;
        &amp;lt;/IfModule&amp;gt;&lt;br /&gt;
        &amp;lt;FilesMatch &amp;quot;\.(cgi|html|shtml|pl|phtml|php)$&amp;quot;&amp;gt;&lt;br /&gt;
            SSLOptions +StdEnvVars&lt;br /&gt;
        &amp;lt;/FilesMatch&amp;gt;&lt;br /&gt;
        &amp;lt;Directory /home/BENUTZERNAME/lawsuit/cgi-bin&amp;gt;&lt;br /&gt;
            SSLOptions +StdEnvVars&lt;br /&gt;
        &amp;lt;/Directory&amp;gt;&lt;br /&gt;
    &amp;lt;/VirtualHost&amp;gt;&lt;br /&gt;
 &amp;lt;/IfModule&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 # configuration&lt;br /&gt;
 SSLProtocol             all -SSLv3 -TLSv1 -TLSv1.1 -TLSv1.2&lt;br /&gt;
 SSLHonorCipherOrder     off&lt;br /&gt;
 SSLSessionTickets       off&lt;br /&gt;
&lt;br /&gt;
Damit diese Einstellungen nicht der vom Linux-System vorgegebenen Konfiguration widersprechen, müssen in der Datei &amp;lt;tt&amp;gt;/usr/share/doc/packages/apache2/original/extra/httpd-ssl.conf&amp;lt;/tt&amp;gt; noch folgende Zeilen auskommentiert und berichtigt werden&lt;br /&gt;
 #&amp;lt;b&amp;gt;ServerName&amp;lt;/b&amp;gt; www.example.com:443&lt;br /&gt;
 ServerName &amp;lt;b&amp;gt;k1&amp;lt;/b&amp;gt;:443&lt;br /&gt;
ferner&lt;br /&gt;
 #&amp;lt;b&amp;gt;SSLCertificateFile&amp;lt;/b&amp;gt; &amp;quot;/etc/apache2/server.crt&amp;quot;&lt;br /&gt;
 SSLCertificateFile &amp;quot;/home/BENUTZERNAME/bin/keys/k1.crt&amp;quot;&lt;br /&gt;
und&lt;br /&gt;
 #&amp;lt;b&amp;gt;SSLCertificateKeyFile&amp;lt;/b&amp;gt; &amp;quot;/etc/apache2/server.key&amp;quot;&lt;br /&gt;
 SSLCertificateKeyFile &amp;quot;/home/BENUTZERNAME/bin/keys/k1.key&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Unter Firefox kann das selbstgezeichnete Zertifikat nun verwendet werden. Bitte beachten Sie, dass für jede Apache-Konfigurrationsdatei ein anderer Port geöffnet werden muss, &amp;quot;443&amp;quot; also nur einmal verwendet werden kann. Sie können alternativ z.B. &amp;quot;4443&amp;quot; verwenden.&lt;br /&gt;
&lt;br /&gt;
Abschließender Test und Neustart:&lt;br /&gt;
{{Shell |&amp;amp;#35; sudo apache2ctl -t&amp;lt;br&amp;gt;&amp;amp;nbsp; sudo systemctl restart apache2}}&lt;br /&gt;
&lt;br /&gt;
=== Registrierung als vertrauenswürdiger Aussteller für den Firefox-Browser ===&lt;br /&gt;
Damit der Firefox-Browser das Zertifikat tatsächlich verwendet und als vertrauenswürdig akzeptiert, muss es im Kleopatra-Schlüsseldienst eingetragen werden, auf den der Browser zugreift. &lt;br /&gt;
{{Shell |&amp;amp;gt; kleopatra}}&lt;br /&gt;
Klicken Sie den Reiter &amp;lt;b&amp;gt;Importieren&amp;lt;/b&amp;gt; an und fügen Sie nacheinander die folgenden Dateien ein:&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;/home/BENUTZERNAME/bin/keys/k1.crt&amp;lt;/tt&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;/etc/ssl/certs/rootCA.pem&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Bitte bestätigen Sie die erbetenen Beglaubigungen mit der Maustaste.&lt;br /&gt;
[[Datei:Kleopatra.png|thumb|600px|left|Importieren der Zertifikate in das Kleopatra-Schlüsselverwaltungsprogramm]]&lt;br /&gt;
&amp;lt;br clear=all&amp;gt;&lt;br /&gt;
Nun wechseln Sie in den Firefox-Browser und geben in die Adresszeile ein&lt;br /&gt;
 about:config&lt;br /&gt;
Dort ändern Sie die Variable&lt;br /&gt;
 security.enterprise_roots.enabled -&amp;gt; true&lt;br /&gt;
von &amp;quot;false&amp;quot; auf &amp;quot;true&amp;quot;. Nun bezieht der Browser auch Ihre eigenen CA-Beglaubigungen des Unternehmens eine seine Bewertungen mit ein und vergibt ein grünes Schlüsselsymbol.&lt;br /&gt;
&lt;br /&gt;
== Problembehebung ==&lt;br /&gt;
Lesen Sie wenn möglich die Fehlermeldungen nach dem Start des Servers. Versuchen Sie Fehler ggf. zu reproduzieren und vergleichen Sie die Einträge in den Log-Dateien. Den Einblick auf die dortigen Meldungen können Sie mit dem folgenden Befehl auf den neuesten Stand reduzieren::&lt;br /&gt;
&lt;br /&gt;
{{Shell | # tail -F /var/log/apache2/*}}&lt;br /&gt;
&lt;br /&gt;
Da die Error-Messages schnell sehr großen Umfang einnehmen, der am Ende sogar den Systemstart blockieren kann, empfiehlt es sich, mit Logrotate den Bestand unter Kontrolle zu halten. Installieren Sie dazu, falls noch nicht vom System geschehen:&lt;br /&gt;
{{Shell | # zypper in logrotate}}&lt;br /&gt;
Sie können die Einstellungen in der Konfigurationsdatei &lt;br /&gt;
 /etc/logrotate.conf&lt;br /&gt;
ändern. Eine typische Konfiguration von &amp;lt;tt&amp;gt;logrotate.conf&amp;lt;/tt&amp;gt; sieht z.B. wie folgt aus:&lt;br /&gt;
{{Shell |&amp;amp;#35; see &amp;quot;man logrotate&amp;quot; for details&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;amp;#35; rotate log files weekly &lt;br /&gt;
&amp;lt;br&amp;gt;weekly &lt;br /&gt;
&amp;lt;br&amp;gt;&amp;amp;#35; keep 4 weeks worth of backlogs &lt;br /&gt;
&amp;lt;br&amp;gt;rotate 4&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;b&amp;gt;&amp;amp;#35; remove rotated logs older than &amp;lt;count&amp;gt; days&lt;br /&gt;
&amp;lt;br&amp;gt;maxage 90 &amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;amp;#35; create new (empty) log files after rotating old ones &lt;br /&gt;
&amp;lt;br&amp;gt;create&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;amp;#35; use date as a suffix of the rotated file&lt;br /&gt;
&amp;lt;br&amp;gt;dateext&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;amp;#35; uncomment this if you want your log files compressed &lt;br /&gt;
&amp;lt;br&amp;gt;compress&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;amp;#35; comment these to switch compression to use gzip or another &lt;br /&gt;
&amp;lt;br&amp;gt;&amp;amp;#35; compression scheme&lt;br /&gt;
&amp;lt;br&amp;gt;compresscmd /usr/bin/xz&lt;br /&gt;
&amp;lt;br&amp;gt;uncompresscmd /usr/bin/xzdec&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;amp;#35; RPM packages drop log rotation information into this directory&lt;br /&gt;
&amp;lt;br&amp;gt;include /etc/logrotate.d&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Sollten Sie einen Fehler gefunden haben, [https://de.opensuse.org/SDB:Fehler_berichten berichten Sie ihn] bitte.&lt;br /&gt;
&lt;br /&gt;
==Weiterführende Informationen==&lt;br /&gt;
=== Verwandte Artikel ===&lt;br /&gt;
*[https://de.opensuse.org/YaST_Module_Firewall#Firewall_Einrichten openSUSE Firewall]&lt;br /&gt;
* Package documentation and example configuration files in /usr/share/doc/packages/apache2/&lt;br /&gt;
&lt;br /&gt;
===Externe Links===&lt;br /&gt;
* [https://doc.opensuse.org/documentation/leap/reference/html/book.opensuse.reference/cha.apache2.html openSUSE Apache Documentation]&lt;br /&gt;
* [http://httpd.apache.org/ The Apache Project]&lt;br /&gt;
* [http://www.apache.org/ Apache Software Foundation]&lt;br /&gt;
&lt;br /&gt;
{{DEFAULTSORT:{{PAGENAME}}}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Linuxinstallation]]&lt;/div&gt;</summary>
		<author><name>87.123.95.19</name></author>	</entry>

	<entry>
		<id>http://wiki.iustus.eu/wiki/index.php?title=Aufsetzen_des_Apache-Servers_-_ubuntu&amp;diff=7110</id>
		<title>Aufsetzen des Apache-Servers - ubuntu</title>
		<link rel="alternate" type="text/html" href="http://wiki.iustus.eu/wiki/index.php?title=Aufsetzen_des_Apache-Servers_-_ubuntu&amp;diff=7110"/>
				<updated>2026-01-02T12:05:34Z</updated>
		
		<summary type="html">&lt;p&gt;87.123.95.19: /* Hinzufügen von Apache-Modulen */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Ubuntu|&lt;br /&gt;
*[https://ubuntu.com/tutorials/install-ubuntu-desktop-1604#1-overview 16.04.]&lt;br /&gt;
|&lt;br /&gt;
*[https://ubuntu.com/tutorials/install-and-configure-apache#2-installing-apache Apache Installation]&lt;br /&gt;
|&lt;br /&gt;
*[https://de.opensuse.org/SDB:LAMP_Einrichtung SDB:LAMP_Einrichtung]&lt;br /&gt;
*[https://de.opensuse.org/Apache2 Apache2]&lt;br /&gt;
*[https://de.opensuse.org/Portal:MySQL Portal:MySQL]&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Einführung ==&lt;br /&gt;
&lt;br /&gt;
Diese Dokument gibt eine rasche Einführung, wie ein Apache-Server auf dem lokalen Rechner aufgesetzt werden kann, der die Lawsuit-Programmteile bereitstellt.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
{{Warnung| Die Kurzanleitung geht nicht vertieft auf mögliche Experten-Einstellungen des Servers ein. Insbesondere bleiben hier Sicherheitseinstellungen unberücksichtigt, die für den Betrieb als öffentlich zugänglicher Netzserver unumgänglich wären. Die nachfolgenden Schritte sind für Anwender gedacht, die Lawsuit intern auf dem Kanzleirechner hinter einer Firewall betreiben möchten.}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== Allgemeine Rechner-Konfiguration ==&lt;br /&gt;
&lt;br /&gt;
Die Software benötigt eine funktionierende Netzwerkumgebung. Diese wird jedoch bereits standardmäßig von Ubuntu eingereichtet. Achten Sie aber insbesondere bei der Nutzung von [https://de.wikipedia.org/wiki/Dynamic_Host_Configuration_Protocol DHCP] darauf, dass [[Mehrplatzsysteme - ubuntu|weitere Rechner]] der Kanzlei vom Networkmanager tatsächlich im selben Nummernraum wie dieser PC eingetragen wurden, auf dem Apache nun installiert werden soll. Ansonsten können diese Rechner später nicht auf die Kanzleisoftware zugreifen.&lt;br /&gt;
&lt;br /&gt;
Als Zweites sollte der PC auf dem aktuellen Softwarestand sein. &lt;br /&gt;
{{Shell|&amp;gt; sudo apt update}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Installation der Apache-Pakete ===&lt;br /&gt;
&lt;br /&gt;
Der Apache-Server und das optionale Perl-Modul können mit ''apt'' installiert werden. Öffnen Sie dazu ein Terminal-Fenster und wechseln Sie wie folgt in den Superuser-Modus:&lt;br /&gt;
{{Shell|&amp;gt; sudo apt install apache2}}&lt;br /&gt;
Geben Sie das Passwort ein.&lt;br /&gt;
Prüfen Sie die korrekte Funktionsweise des Apache-Servers, indem Sie in die Browser-Adresszeile die folgende Adresse eingeben:&lt;br /&gt;
 http://localhost/&lt;br /&gt;
Es sollte folgende Ausgabe zu sehen sein:&lt;br /&gt;
[[Datei:Apache_works.png|thumb|600px|left|Apache-Server Startausgabe]]&lt;br /&gt;
&amp;lt;br clear=all&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Start des Servers ===&lt;br /&gt;
Mit folgenden zwei Befehlen wird der Apache-Server gestartet und auf Dauer im System aktiviert.&lt;br /&gt;
{{Shell|# systemctl start apache2&amp;lt;br&amp;gt;&amp;amp;nbsp; systemctl enable apache2}}&lt;br /&gt;
&lt;br /&gt;
=== Einrichtung und Anpassung der Firewall ===&lt;br /&gt;
&lt;br /&gt;
Normalerweise sollte die die Firewall ''ufd'' (Uncomplicated Firewall) vorinstalliert sein. Für unsere Zwecke zielführender ist ''firewalld''. Dies wird mit&lt;br /&gt;
{{Shell|&amp;gt; sudo apt install firewalld}}&lt;br /&gt;
installiert. Danach muss, um Systemkonflikte zu vermeiden ''ufd'' deaktiviert werden. Dies erfolgt per&lt;br /&gt;
{{Shell|&amp;gt; sudo ufw disable}}&lt;br /&gt;
Starten Sie nun ''firewalld'' mit&lt;br /&gt;
{{Shell|&amp;gt; sudo systemctl enable --now firewalld}}&lt;br /&gt;
&lt;br /&gt;
Die Firewall ist so voreingestellt, dass sie über Port 80 auf den Rechner eingehende Daten grundsätzlich sperrt. Folglich müssen die Firewall-Einstellungen so angepasst werden, dass aus dem Lokalen Netzwerk über Port 80 eingehender Datenstrom akzeptiert wird.&lt;br /&gt;
Die folgenden Schritte müssen dazu weiterhin als Root ausgeführt werden. &lt;br /&gt;
&lt;br /&gt;
{{Shell|&amp;gt; sudo firewall-cmd --zone internal --permanent --add-interface&amp;amp;#61;eth0&amp;lt;br&amp;gt;&amp;amp;nbsp; sudo firewall-cmd --zone internal --permanent --add-service&amp;amp;#61;nfs&amp;lt;br&amp;gt;&amp;amp;nbsp; sudo firewall-cmd --zone internal --permanent --add-service&amp;amp;#61;http&amp;lt;br&amp;gt;&amp;amp;nbsp; sudo firewall-cmd --zone internal --permanent --add-service&amp;amp;#61;https&amp;lt;br&amp;gt;&amp;amp;nbsp; sudo firewall-cmd --reload}}&lt;br /&gt;
&lt;br /&gt;
Weitere verfügbare Dienste lassen sich mit folgendem Befehl anzeigen&lt;br /&gt;
{{Shell|&amp;gt; sudo firewall-cmd --get-service}}&lt;br /&gt;
und ggf. nach obigem Muster ergänzen&lt;br /&gt;
&lt;br /&gt;
=== Aktivierung des Servers ===&lt;br /&gt;
Starten Sie den Server und aktivieren Sie ihn in einem Bootverzeichnis, damit er mit dem Rechner hochgefahren wird (s.o. ohne Yast):&lt;br /&gt;
{{Shell|# systemctl start apache2.service&amp;lt;br&amp;gt;&amp;amp;nbsp; systemctl enable apache2}}&lt;br /&gt;
&lt;br /&gt;
=== Hinzufügen von Apache-Modulen===&lt;br /&gt;
Um benötigte Apache-Module zu laden, können wir die Konfigurationsvariable ''APACHE_MODULES'' in &amp;lt;tt&amp;gt;/etc/sysconfig/apache2&amp;lt;/tt&amp;gt; editieren. Schneller geht es jedoch mit den nachfolgenden Befehlen. Nach der Änderung muss der Server neu gestartet werden. Auch für die folgenden Befehle sind wieder die Rechte eines Superusers vonnöten.&lt;br /&gt;
{{Shell|&amp;gt; sudo a2enmod mod_perl&amp;lt;br&amp;gt;&amp;amp;nbsp; sudo a2enmod mod_env&amp;lt;br&amp;gt;&amp;amp;nbsp; sudo a2enmod mod_ssl&amp;lt;br&amp;gt;&amp;amp;nbsp; sudo a2enmod mod_php5&amp;lt;br&amp;gt;&amp;amp;nbsp; sudo a2enmod mod_python&amp;lt;br&amp;gt;&amp;amp;nbsp; sudo a2enmod mod_wsgi&amp;lt;br&amp;gt;&amp;amp;nbsp; sudo a2enmod mod_cgi&amp;lt;br&amp;gt;&amp;amp;nbsp; sudo a2enmod -l&amp;lt;br&amp;gt;&amp;amp;nbsp; sudo systemctl restart apache2}}&lt;br /&gt;
&lt;br /&gt;
== Virtual Hosts ==&lt;br /&gt;
===Allgemeines===&lt;br /&gt;
Das Verzeichnis für alle Virtual Host ist &amp;lt;tt&amp;gt;/etc/apache2/vhosts.d/&amp;lt;/tt&amp;gt;. Wie Sie sehen gibt es zwei Konfigurationsdateien - eine mit ssl, die andere ohne ssl. Wir benutzen die Vorlage ohne [https://de.wikipedia.org/wiki/Transport_Layer_Security Secure Sockets Layer]. Nur Dateien mit dem Suffix &amp;quot;.conf&amp;quot; werden automatisch in die Apachekonfiguration einbezogen.&lt;br /&gt;
&lt;br /&gt;
{{Intro|Wenn Sie neben Lawsuit einen weiteren eigenen Virtual Host hinzufügen möchten, ersetzen Sie in den folgenden Zeilen bitte ''Domainname'' durch ihren Verzeichnisnamen oder Ihre IP-Adresse.}}&lt;br /&gt;
&lt;br /&gt;
* Es gibt mehrere Varianten für die Struktur, mit welcher der eigenen Server auf dem Rechner aufgesetzt werden kann. Folgende Optionen bieten sich an: &lt;br /&gt;
:* [https://httpd.apache.org/docs/2.4/de/vhosts/name-based.html namensbasiert]&lt;br /&gt;
:* [https://httpd.apache.org/docs/2.4/de/vhosts/ip-based.html IP-basiert]&lt;br /&gt;
:* portbasiert&lt;br /&gt;
&lt;br /&gt;
* Sei können für Ihre Verzeichnisse die Vorlage '''vhost.template''' kopieren und als Ihre '''{DOMAINNAME}.conf''' speichern. Hier hinein tragen Sie anschließend die Unterverzeichnisse für Ihren Virtual Host ein.&lt;br /&gt;
&lt;br /&gt;
===Einstellungen für ''Lawsuit''===&lt;br /&gt;
Für ''Lawsuit'' wird die Konfigurationsdatei jedoch im Unterverzeichnis &amp;lt;tt&amp;gt;lawsuit/settings&amp;lt;/tt&amp;gt; bereits fertig zur Verfügung gestellt. Sie müssen lediglich in der genannten Datei den Platzhalter durch den eigenen Nutzernamen ersetzen und die fertige Datei in das Vhosts-Verzeichnis verlinken. Wechseln Sie in das Unterverzeichnis &amp;lt;tt&amp;gt;lawsuit/settings&amp;lt;/tt&amp;gt;. Wenn Sie ''Lawsuit'' in Ihrem Nutzerhauptverzeichnis installiert haben, gelangen Sie mit diesem Befehl dorthin:&lt;br /&gt;
{{Shell | &amp;gt; cd ~/lawsuit/settings}}&lt;br /&gt;
Erstellen Sie dort eine Konfigurationsdatei aus der Vorlage &amp;lt;tt&amp;gt;lawsuit-httpd.template&amp;lt;/tt&amp;gt; und ersetzen Sie den darin enthaltenen Platzhalter ''meinpfad'' dabei durch Ihren Pfad zum aktuellen Verzeichnis. Dies erfolgt automatisiert durch diese Befehle:&lt;br /&gt;
{{Shell | &amp;gt; pfad&amp;amp;#61;&amp;amp;#96;pwd &amp;amp;#124; sed &amp;amp;apos;s/\/lawsuit.*//&amp;amp;apos;  &amp;amp;#124; sed &amp;amp;apos;s/\//\\\\\//g&amp;amp;apos;&amp;amp;#96;&amp;lt;br&amp;gt; &amp;gt; sed &amp;amp;quot;s/meinpfad/$pfad/g&amp;amp;quot; lawsuit-httpd.template &amp;gt; lawsuit-httpd.conf}}&lt;br /&gt;
Falls Ihr Pfad zum Ordner &amp;lt;tt&amp;gt;Documents&amp;lt;/tt&amp;gt; nicht mit dem soeben ermittelten Pfad für &amp;lt;tt&amp;gt;lawsuit&amp;lt;/tt&amp;gt; identisch ist, passen Sie diese Einstellungen für das Verzeichnis &amp;lt;tt&amp;gt;Documents&amp;lt;/tt&amp;gt; bitte in der &amp;lt;tt&amp;gt;lawsuit-httpd.conf&amp;lt;/tt&amp;gt; mit einem Editor wie '''kate''' von Hand an.&lt;br /&gt;
&lt;br /&gt;
Abschließend kopieren Sie die erstellte Konfigurationsdatei als ''Superuser'' in das Verzeichnis der Virtual Hosts von Apache:&lt;br /&gt;
&lt;br /&gt;
{{Shell | &amp;gt; sudo cp lawsuit-httpd.conf /etc/apache2/vhosts.d/}}&lt;br /&gt;
&lt;br /&gt;
* Neustart von Apache&lt;br /&gt;
{{Shell | &amp;gt; sudo service apache2 restart}}&lt;br /&gt;
&lt;br /&gt;
=== Anpassen der Konfiguration ===&lt;br /&gt;
Um Ergänzungen oder Änderungen einheitlich für alle Virtual Hosts an der Datei &amp;lt;tt&amp;gt;/etc/apache2/default-server.conf&amp;lt;/tt&amp;gt; vorzunehmen, editieren Sie die Konfigurationsvariable ''APACHE_CONF_INCLUDE_FILES'' mithilfe von &lt;br /&gt;
 YaST &amp;gt; etc/sysconfig-Editor&lt;br /&gt;
oder arbeiten direkt in der Textdatei &amp;lt;tt&amp;gt;/etc/sysconfig/apache2&amp;lt;/tt&amp;gt;. Zum Verständnis der Hierarchie und des Layouts um Dateien einzubeziehen, lesen Sie die Kommentierung im Kopf der &amp;lt;tt&amp;gt;httpd.conf&amp;lt;/tt&amp;gt;. Die ursprüngliche, einfache Konfigurationsdatei mit nur 40K findet sich notfalls unter &amp;lt;tt&amp;gt;/usr/share/doc/packages/apache2/httpd-std.conf-prefork&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Optional: Ein Zertifikat für localhost erstellen ==&lt;br /&gt;
Bei Mehrplatzsystemen funktionieren die Javascript-Voreintragungen bei Nutzung einer sicheren HTTPS-Verbindung nur, wenn ein eigenes Zertifikat erstellt wird, dessen Aussteller zudem noch aus vertrauenswürdig eingestuft werden muss.OpenSSL bringt umfassende Werkzeuge mit, um eine eigene, kleine Certificate Authority (CA) betreiben zu können. &lt;br /&gt;
=== Vergabe einer Domain für den Rechner mit den Lawsuit-Daten ===&lt;br /&gt;
Unter &amp;lt;i&amp;gt;yast2 &amp;gt; Netzwerkdienste &amp;gt; Rechnernamen&amp;lt;/i&amp;gt; fügen Sie unter der Zeile &amp;quot;localhost&amp;quot; eine Zeile mit folgenden Daten ein:&lt;br /&gt;
 IP-Adresse: &amp;lt;b&amp;gt;192.168.2.10&amp;lt;/b&amp;gt;&lt;br /&gt;
 Hostnamen:  &amp;lt;b&amp;gt;k1.local&amp;lt;/b&amp;gt;&lt;br /&gt;
 Aliasnamen: &amp;lt;b&amp;gt;k1&amp;lt;/b&amp;gt;&lt;br /&gt;
[[Datei:Hostkonfiguration.png|thumb|600px|left|Eigenen Rechnernamen vergeben]]&lt;br /&gt;
&amp;lt;br clear=all&amp;gt;&lt;br /&gt;
Sie können statt &amp;quot;k1&amp;quot; eine beliebe andere Bezeichnung für den Hauptrechner wählen, müssen dann aber Ihre Domain in den folgenden Einstellungen beibehalten.&lt;br /&gt;
&lt;br /&gt;
=== Certificate Authority (CA) erstellen ===&lt;br /&gt;
Zu Beginn wird die Certificate Authority generiert. Zunächst wird ein geheimer Private Key erzeugt:&lt;br /&gt;
{{Shell |&amp;amp;gt; sudo openssl genrsa -aes256 -out /etc/ssl/private/rootCA.key 4096}}&lt;br /&gt;
Der Key trägt den Namen “rootCA.pem” und hat eine Länge von 4096 Bit. Die Option “-aes256” führt dazu, dass der Key mit einem Passwort geschützt wird. Die Key-Datei der CA muss tatsächlich besonders gut geschützt werden. Ein Angreifer, der den Key in die Hände bekommt, kann beliebig gefälschte Zertifikate im Namen der Kanzlei ausstellen, denen die Clients trauen. Die Verschlüsselung dieses Keys mit einem Passwort gibt zusätzlichen Schutz. Das gewünschte Passwort wird bei der Generierung abgefragt.&lt;br /&gt;
Einen geheimen Key für die CA gibt es damit also schon - es fehlt noch das Root-Zertifikat, das von den Clients später importiert werden muss, damit die von der CA ausgestellten Zertifikate im Browser als gültig erkannt werden. Das Root-Zertifikat “ca-root.pem” wird mit folgendem Befehl erzeugt: &lt;br /&gt;
{{Shell |&amp;amp;gt; sudo openssl req -x509 -new -nodes -key /etc/ssl/private/rootCA.key -sha512 -days 5483 -out /etc/ssl/certs/rootCA.pem}}&lt;br /&gt;
In diesem Fall wird die CA 5483 Tage, also mit Schalttagen 15 Jahre lang gültig bleiben. Während der Generierung werden das Passwort für die CA und einige Attribute abgefragt (hier ein Beispiel):&lt;br /&gt;
 Country Name (2 letter code) [AU]:&amp;lt;b&amp;gt;DE&amp;lt;/b&amp;gt;&lt;br /&gt;
 State or Province Name (full name) [Some-State]:&amp;lt;b&amp;gt;Nordrhein-Westfalen&amp;lt;/b&amp;gt;&lt;br /&gt;
 Locality Name (eg, city) []:&amp;lt;b&amp;gt;Muenster&amp;lt;/b&amp;gt;&lt;br /&gt;
 Organization Name (eg, company) [Internet Widgits Pty Ltd]:&amp;lt;b&amp;gt;Kanzlei Hermanns&amp;lt;/b&amp;gt;&lt;br /&gt;
 Organizational Unit Name (eg, section) []:&amp;lt;b&amp;gt;Rechtsanwalt&amp;lt;/b&amp;gt;&lt;br /&gt;
 Common Name (e.g. server FQDN or YOUR name) []:&amp;lt;b&amp;gt;RA Matthias Hermanns&amp;lt;/b&amp;gt;&lt;br /&gt;
 Email Address []:&amp;lt;b&amp;gt;hermanns@iustus.eu&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Erzeugen des Schlüssels===&lt;br /&gt;
Mit diesen Daten wird auch eine Konfiguratunsdatei mit Namen &amp;lt;tt&amp;gt;ssl.cnf&amp;lt;/tt&amp;gt; befüllt, die die Schlüsselausgabe später vereinfacht.&lt;br /&gt;
{{Shell |&amp;amp;gt; cd ~/bin&amp;lt;br&amp;gt;&amp;amp;nbsp; mkdir keys&amp;lt;br&amp;gt;&amp;amp;nbsp; cd keys&amp;lt;br&amp;gt;&amp;amp;nbsp; kate ssl.cnf}}&lt;br /&gt;
Die Datei kann beispielsweise den folgenden Inhalt haben&lt;br /&gt;
 [req]&lt;br /&gt;
 # Standard-Verschlüsselung&lt;br /&gt;
 default_bits = 4096&lt;br /&gt;
 # verhindere prompt für die Zertifikat-Erstellung&lt;br /&gt;
 # (Daten kommen aus dieser Datei)&lt;br /&gt;
 prompt = no&lt;br /&gt;
 # Verschlüsselungsmethode&lt;br /&gt;
 default_md = sha512&lt;br /&gt;
 # Kryptographie abschalten&lt;br /&gt;
 encrypt_key = no&lt;br /&gt;
 # Sektion für Zertifizierer-Informationen:&lt;br /&gt;
 distinguished_name = dn&lt;br /&gt;
 &lt;br /&gt;
 # Zertifizierer-Informationen:&lt;br /&gt;
 [dn]&lt;br /&gt;
 # Länder-Code&lt;br /&gt;
 C=DE&lt;br /&gt;
 # Bundesland&lt;br /&gt;
 ST=Nordrhein-Westfalen&lt;br /&gt;
 # Stadt&lt;br /&gt;
 L=Muenster&lt;br /&gt;
 # Bezeichnung/Firmen-Name/Dein Name:&lt;br /&gt;
 O=Kanzlei Hermanns&lt;br /&gt;
 # Aussteller Name&lt;br /&gt;
 OU=RA Matthias Hermanns&lt;br /&gt;
 # E-Mail-Adresse&lt;br /&gt;
 emailAddress=hermanns@iustus.eu&lt;br /&gt;
 # Primärer Servername&lt;br /&gt;
 CN = &amp;lt;b&amp;gt;k1&amp;lt;/b&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 [v3_ca]&lt;br /&gt;
 keyUsage = digitalSignature, keyEncipherment&lt;br /&gt;
 extendedKeyUsage = serverAuth&lt;br /&gt;
 subjectAltName = IP:&amp;lt;b&amp;gt;192.168.2.10&amp;lt;/b&amp;gt;, DNS:&amp;lt;b&amp;gt;k1&amp;lt;/b&amp;gt;, DNS:&amp;lt;b&amp;gt;k1.local&amp;lt;/b&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 [ req_ext ]&lt;br /&gt;
 subjectAltName = @alt_names&lt;br /&gt;
 &lt;br /&gt;
 [alt_names]&lt;br /&gt;
 # Primärer Server-Name&lt;br /&gt;
 DNS.1 = &amp;lt;b&amp;gt;k1&amp;lt;/b&amp;gt;&lt;br /&gt;
 # Sekunärer Server-Name&lt;br /&gt;
 DNS.2 = &amp;lt;b&amp;gt;k1.local&amp;lt;/b&amp;gt;&lt;br /&gt;
 # Wildcard Subdomains&lt;br /&gt;
 DNS.3 = *.&amp;lt;b&amp;gt;k1.local&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Speichern Sie die so erstellte Datei &amp;lt;tt&amp;gt;ssl.cnf&amp;lt;/tt&amp;gt; im &amp;lt;tt&amp;gt;bin&amp;lt;/tt&amp;gt;-Verzeichnis ab. Mit folgendem Befehl erzeugen Sie nun als zertifizierter Aussteller die eigentlichen Schlüssel für die SSL-Verbindung.&lt;br /&gt;
Zunächst wird der RSA-Key mit 3072 Bit erzeugt (Asymmetrischer Schlüssel von Rivest, Shamir und Adleman, der einen privaten und einen öffentlichen Teil hat):&lt;br /&gt;
{{Shell |&amp;amp;gt; openssl genrsa -out k1.key 3072}}&lt;br /&gt;
Nun folgt die Certificate Signing Request (CSR; deutsch Zertifikatsignierungsanforderung), ein digitaler Antrag, um mittels der soeben erzeugten digitalen Signatur und der zusätzlichen Identitätsangaben zum Antragstellers aus der &amp;lt;tt&amp;gt;ssl.cnf&amp;lt;/tt&amp;gt; ein persönliches digitales Identitäts-Zertifikat (auch Public-Key-Zertifikat genannt) zu erstellen:&lt;br /&gt;
{{Shell |&amp;amp;gt; openssl req -new -keyout ~/bin/keys/k1.key -out ~/bin/keys/k1.csr -config ~/bin/keys/ssl.cnf}}&lt;br /&gt;
Mithilfe des Wurzelzertifikats vom verifizierten Aussteller (uns selbst) wird nun der eigentliche Schlüssel erstellt, damit eine Rückverfolgung zum Wurzelzertifikat möglich ist. &lt;br /&gt;
{{Shell |&amp;amp;gt; sudo openssl x509 -req \&amp;lt;br&amp;gt;&amp;amp;nbsp; -in ~/bin/keys/k1.csr \&amp;lt;br&amp;gt;&amp;amp;nbsp; -CA /etc/ssl/certs/rootCA.pem \&amp;lt;br&amp;gt;&amp;amp;nbsp; -CAkey /etc/ssl/private/rootCA.key \&amp;lt;br&amp;gt;&amp;amp;nbsp; -CAcreateserial \&amp;lt;br&amp;gt;&amp;amp;nbsp; -out ~/bin/keys/k1.crt \&amp;lt;br&amp;gt;&amp;amp;nbsp; -days 3653 \&amp;lt;br&amp;gt;&amp;amp;nbsp; -extfile ~/bin/keys/ssl.cnf \&amp;lt;br&amp;gt;&amp;amp;nbsp; -extensions v3_ca }}&lt;br /&gt;
&lt;br /&gt;
Damit die Zertifkate in unsere regelmäßige Sicherungsspeicherung aufgenommen werden, können wir sie in das Schlüsselverzeichnis &amp;lt;tt&amp;gt;keys&amp;lt;/tt&amp;gt; unter &amp;lt;tt&amp;gt;lawsuit&amp;lt;/tt&amp;gt; kopieren. Dies ist jedoch nur optional, weil es ein Sicherheitsrisiko eröffnet:&lt;br /&gt;
{{Shell |&amp;amp;gt; sudo chown matthias:users keys/k1.crt&amp;lt;br&amp;gt;&amp;amp;nbsp; chmod 640 ~/bin/keys/k1.*&amp;lt;br&amp;gt;&amp;amp;nbsp; cp ~/bin/keys/k1.* ~/lawsuit/keys/}}&lt;br /&gt;
&lt;br /&gt;
=== Verbindung mit dem Server ===&lt;br /&gt;
Wenn Sie host-Datei &amp;lt;tt&amp;gt;lawsuit-httpd.conf&amp;lt;/tt&amp;gt; automatisch wie oben vorgeschlagen generiert haben, sind die notwendigen Einstellungen schon voreingetragen und müssen nur auskommentiert werden. Ansonsten ergänzen Sie unter /etc/apache2/vhosts.d/&lt;br /&gt;
folgende Zeilen:&lt;br /&gt;
 &amp;lt;VirtualHost *:80&amp;gt;&lt;br /&gt;
    ServerName &amp;lt;b&amp;gt;k1&amp;lt;/b&amp;gt;&lt;br /&gt;
    ServerAlias &amp;lt;b&amp;gt;k1.local&amp;lt;/b&amp;gt;&lt;br /&gt;
 &amp;lt;/VirtualHost&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 &amp;lt;IfModule mod_ssl.c&amp;gt;&lt;br /&gt;
    &amp;lt;VirtualHost *:443&amp;gt;&lt;br /&gt;
        ServerAdmin webmaster@localhost&lt;br /&gt;
        DocumentRoot /home/BENUTZERNAME/lawsuit/&lt;br /&gt;
        ServerName &amp;lt;b&amp;gt;k1&amp;lt;/b&amp;gt;&lt;br /&gt;
        ServerAlias &amp;lt;b&amp;gt;k1.local&amp;lt;/b&amp;gt;&lt;br /&gt;
        ErrorLog /var/log/apache2/error_log&lt;br /&gt;
        SSLEngine on&lt;br /&gt;
        SSLCertificateFile      /home/BENUTZERNAME/bin/keys/&amp;lt;b&amp;gt;k1.crt&amp;lt;/b&amp;gt;&lt;br /&gt;
        SSLCertificateKeyFile   /home/BENUTZERNAME/bin/keys/&amp;lt;b&amp;gt;k1.key&amp;lt;/b&amp;gt;&lt;br /&gt;
        &amp;lt;IfModule mod_headers.c&amp;gt;&lt;br /&gt;
            Header always set Strict-Transport-Security &amp;quot;max-age=15552000; includeSubDomains&amp;quot;&lt;br /&gt;
        &amp;lt;/IfModule&amp;gt;&lt;br /&gt;
        &amp;lt;FilesMatch &amp;quot;\.(cgi|html|shtml|pl|phtml|php)$&amp;quot;&amp;gt;&lt;br /&gt;
            SSLOptions +StdEnvVars&lt;br /&gt;
        &amp;lt;/FilesMatch&amp;gt;&lt;br /&gt;
        &amp;lt;Directory /home/BENUTZERNAME/lawsuit/cgi-bin&amp;gt;&lt;br /&gt;
            SSLOptions +StdEnvVars&lt;br /&gt;
        &amp;lt;/Directory&amp;gt;&lt;br /&gt;
    &amp;lt;/VirtualHost&amp;gt;&lt;br /&gt;
 &amp;lt;/IfModule&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 # configuration&lt;br /&gt;
 SSLProtocol             all -SSLv3 -TLSv1 -TLSv1.1 -TLSv1.2&lt;br /&gt;
 SSLHonorCipherOrder     off&lt;br /&gt;
 SSLSessionTickets       off&lt;br /&gt;
&lt;br /&gt;
Damit diese Einstellungen nicht der vom Linux-System vorgegebenen Konfiguration widersprechen, müssen in der Datei &amp;lt;tt&amp;gt;/usr/share/doc/packages/apache2/original/extra/httpd-ssl.conf&amp;lt;/tt&amp;gt; noch folgende Zeilen auskommentiert und berichtigt werden&lt;br /&gt;
 #&amp;lt;b&amp;gt;ServerName&amp;lt;/b&amp;gt; www.example.com:443&lt;br /&gt;
 ServerName &amp;lt;b&amp;gt;k1&amp;lt;/b&amp;gt;:443&lt;br /&gt;
ferner&lt;br /&gt;
 #&amp;lt;b&amp;gt;SSLCertificateFile&amp;lt;/b&amp;gt; &amp;quot;/etc/apache2/server.crt&amp;quot;&lt;br /&gt;
 SSLCertificateFile &amp;quot;/home/BENUTZERNAME/bin/keys/k1.crt&amp;quot;&lt;br /&gt;
und&lt;br /&gt;
 #&amp;lt;b&amp;gt;SSLCertificateKeyFile&amp;lt;/b&amp;gt; &amp;quot;/etc/apache2/server.key&amp;quot;&lt;br /&gt;
 SSLCertificateKeyFile &amp;quot;/home/BENUTZERNAME/bin/keys/k1.key&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Unter Firefox kann das selbstgezeichnete Zertifikat nun verwendet werden. Bitte beachten Sie, dass für jede Apache-Konfigurrationsdatei ein anderer Port geöffnet werden muss, &amp;quot;443&amp;quot; also nur einmal verwendet werden kann. Sie können alternativ z.B. &amp;quot;4443&amp;quot; verwenden.&lt;br /&gt;
&lt;br /&gt;
Abschließender Test und Neustart:&lt;br /&gt;
{{Shell |&amp;amp;#35; sudo apache2ctl -t&amp;lt;br&amp;gt;&amp;amp;nbsp; sudo systemctl restart apache2}}&lt;br /&gt;
&lt;br /&gt;
=== Registrierung als vertrauenswürdiger Aussteller für den Firefox-Browser ===&lt;br /&gt;
Damit der Firefox-Browser das Zertifikat tatsächlich verwendet und als vertrauenswürdig akzeptiert, muss es im Kleopatra-Schlüsseldienst eingetragen werden, auf den der Browser zugreift. &lt;br /&gt;
{{Shell |&amp;amp;gt; kleopatra}}&lt;br /&gt;
Klicken Sie den Reiter &amp;lt;b&amp;gt;Importieren&amp;lt;/b&amp;gt; an und fügen Sie nacheinander die folgenden Dateien ein:&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;/home/BENUTZERNAME/bin/keys/k1.crt&amp;lt;/tt&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;/etc/ssl/certs/rootCA.pem&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Bitte bestätigen Sie die erbetenen Beglaubigungen mit der Maustaste.&lt;br /&gt;
[[Datei:Kleopatra.png|thumb|600px|left|Importieren der Zertifikate in das Kleopatra-Schlüsselverwaltungsprogramm]]&lt;br /&gt;
&amp;lt;br clear=all&amp;gt;&lt;br /&gt;
Nun wechseln Sie in den Firefox-Browser und geben in die Adresszeile ein&lt;br /&gt;
 about:config&lt;br /&gt;
Dort ändern Sie die Variable&lt;br /&gt;
 security.enterprise_roots.enabled -&amp;gt; true&lt;br /&gt;
von &amp;quot;false&amp;quot; auf &amp;quot;true&amp;quot;. Nun bezieht der Browser auch Ihre eigenen CA-Beglaubigungen des Unternehmens eine seine Bewertungen mit ein und vergibt ein grünes Schlüsselsymbol.&lt;br /&gt;
&lt;br /&gt;
== Problembehebung ==&lt;br /&gt;
Lesen Sie wenn möglich die Fehlermeldungen nach dem Start des Servers. Versuchen Sie Fehler ggf. zu reproduzieren und vergleichen Sie die Einträge in den Log-Dateien. Den Einblick auf die dortigen Meldungen können Sie mit dem folgenden Befehl auf den neuesten Stand reduzieren::&lt;br /&gt;
&lt;br /&gt;
{{Shell | # tail -F /var/log/apache2/*}}&lt;br /&gt;
&lt;br /&gt;
Da die Error-Messages schnell sehr großen Umfang einnehmen, der am Ende sogar den Systemstart blockieren kann, empfiehlt es sich, mit Logrotate den Bestand unter Kontrolle zu halten. Installieren Sie dazu, falls noch nicht vom System geschehen:&lt;br /&gt;
{{Shell | # zypper in logrotate}}&lt;br /&gt;
Sie können die Einstellungen in der Konfigurationsdatei &lt;br /&gt;
 /etc/logrotate.conf&lt;br /&gt;
ändern. Eine typische Konfiguration von &amp;lt;tt&amp;gt;logrotate.conf&amp;lt;/tt&amp;gt; sieht z.B. wie folgt aus:&lt;br /&gt;
{{Shell |&amp;amp;#35; see &amp;quot;man logrotate&amp;quot; for details&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;amp;#35; rotate log files weekly &lt;br /&gt;
&amp;lt;br&amp;gt;weekly &lt;br /&gt;
&amp;lt;br&amp;gt;&amp;amp;#35; keep 4 weeks worth of backlogs &lt;br /&gt;
&amp;lt;br&amp;gt;rotate 4&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;b&amp;gt;&amp;amp;#35; remove rotated logs older than &amp;lt;count&amp;gt; days&lt;br /&gt;
&amp;lt;br&amp;gt;maxage 90 &amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;amp;#35; create new (empty) log files after rotating old ones &lt;br /&gt;
&amp;lt;br&amp;gt;create&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;amp;#35; use date as a suffix of the rotated file&lt;br /&gt;
&amp;lt;br&amp;gt;dateext&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;amp;#35; uncomment this if you want your log files compressed &lt;br /&gt;
&amp;lt;br&amp;gt;compress&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;amp;#35; comment these to switch compression to use gzip or another &lt;br /&gt;
&amp;lt;br&amp;gt;&amp;amp;#35; compression scheme&lt;br /&gt;
&amp;lt;br&amp;gt;compresscmd /usr/bin/xz&lt;br /&gt;
&amp;lt;br&amp;gt;uncompresscmd /usr/bin/xzdec&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;amp;#35; RPM packages drop log rotation information into this directory&lt;br /&gt;
&amp;lt;br&amp;gt;include /etc/logrotate.d&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Sollten Sie einen Fehler gefunden haben, [https://de.opensuse.org/SDB:Fehler_berichten berichten Sie ihn] bitte.&lt;br /&gt;
&lt;br /&gt;
==Weiterführende Informationen==&lt;br /&gt;
=== Verwandte Artikel ===&lt;br /&gt;
*[https://de.opensuse.org/YaST_Module_Firewall#Firewall_Einrichten openSUSE Firewall]&lt;br /&gt;
* Package documentation and example configuration files in /usr/share/doc/packages/apache2/&lt;br /&gt;
&lt;br /&gt;
===Externe Links===&lt;br /&gt;
* [https://doc.opensuse.org/documentation/leap/reference/html/book.opensuse.reference/cha.apache2.html openSUSE Apache Documentation]&lt;br /&gt;
* [http://httpd.apache.org/ The Apache Project]&lt;br /&gt;
* [http://www.apache.org/ Apache Software Foundation]&lt;br /&gt;
&lt;br /&gt;
{{DEFAULTSORT:{{PAGENAME}}}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Linuxinstallation]]&lt;/div&gt;</summary>
		<author><name>87.123.95.19</name></author>	</entry>

	<entry>
		<id>http://wiki.iustus.eu/wiki/index.php?title=Aufsetzen_des_Apache-Servers_-_ubuntu&amp;diff=7109</id>
		<title>Aufsetzen des Apache-Servers - ubuntu</title>
		<link rel="alternate" type="text/html" href="http://wiki.iustus.eu/wiki/index.php?title=Aufsetzen_des_Apache-Servers_-_ubuntu&amp;diff=7109"/>
				<updated>2026-01-02T12:04:37Z</updated>
		
		<summary type="html">&lt;p&gt;87.123.95.19: /* Aktivierung des Servers */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Ubuntu|&lt;br /&gt;
*[https://ubuntu.com/tutorials/install-ubuntu-desktop-1604#1-overview 16.04.]&lt;br /&gt;
|&lt;br /&gt;
*[https://ubuntu.com/tutorials/install-and-configure-apache#2-installing-apache Apache Installation]&lt;br /&gt;
|&lt;br /&gt;
*[https://de.opensuse.org/SDB:LAMP_Einrichtung SDB:LAMP_Einrichtung]&lt;br /&gt;
*[https://de.opensuse.org/Apache2 Apache2]&lt;br /&gt;
*[https://de.opensuse.org/Portal:MySQL Portal:MySQL]&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Einführung ==&lt;br /&gt;
&lt;br /&gt;
Diese Dokument gibt eine rasche Einführung, wie ein Apache-Server auf dem lokalen Rechner aufgesetzt werden kann, der die Lawsuit-Programmteile bereitstellt.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
{{Warnung| Die Kurzanleitung geht nicht vertieft auf mögliche Experten-Einstellungen des Servers ein. Insbesondere bleiben hier Sicherheitseinstellungen unberücksichtigt, die für den Betrieb als öffentlich zugänglicher Netzserver unumgänglich wären. Die nachfolgenden Schritte sind für Anwender gedacht, die Lawsuit intern auf dem Kanzleirechner hinter einer Firewall betreiben möchten.}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== Allgemeine Rechner-Konfiguration ==&lt;br /&gt;
&lt;br /&gt;
Die Software benötigt eine funktionierende Netzwerkumgebung. Diese wird jedoch bereits standardmäßig von Ubuntu eingereichtet. Achten Sie aber insbesondere bei der Nutzung von [https://de.wikipedia.org/wiki/Dynamic_Host_Configuration_Protocol DHCP] darauf, dass [[Mehrplatzsysteme - ubuntu|weitere Rechner]] der Kanzlei vom Networkmanager tatsächlich im selben Nummernraum wie dieser PC eingetragen wurden, auf dem Apache nun installiert werden soll. Ansonsten können diese Rechner später nicht auf die Kanzleisoftware zugreifen.&lt;br /&gt;
&lt;br /&gt;
Als Zweites sollte der PC auf dem aktuellen Softwarestand sein. &lt;br /&gt;
{{Shell|&amp;gt; sudo apt update}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Installation der Apache-Pakete ===&lt;br /&gt;
&lt;br /&gt;
Der Apache-Server und das optionale Perl-Modul können mit ''apt'' installiert werden. Öffnen Sie dazu ein Terminal-Fenster und wechseln Sie wie folgt in den Superuser-Modus:&lt;br /&gt;
{{Shell|&amp;gt; sudo apt install apache2}}&lt;br /&gt;
Geben Sie das Passwort ein.&lt;br /&gt;
Prüfen Sie die korrekte Funktionsweise des Apache-Servers, indem Sie in die Browser-Adresszeile die folgende Adresse eingeben:&lt;br /&gt;
 http://localhost/&lt;br /&gt;
Es sollte folgende Ausgabe zu sehen sein:&lt;br /&gt;
[[Datei:Apache_works.png|thumb|600px|left|Apache-Server Startausgabe]]&lt;br /&gt;
&amp;lt;br clear=all&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Start des Servers ===&lt;br /&gt;
Mit folgenden zwei Befehlen wird der Apache-Server gestartet und auf Dauer im System aktiviert.&lt;br /&gt;
{{Shell|# systemctl start apache2&amp;lt;br&amp;gt;&amp;amp;nbsp; systemctl enable apache2}}&lt;br /&gt;
&lt;br /&gt;
=== Einrichtung und Anpassung der Firewall ===&lt;br /&gt;
&lt;br /&gt;
Normalerweise sollte die die Firewall ''ufd'' (Uncomplicated Firewall) vorinstalliert sein. Für unsere Zwecke zielführender ist ''firewalld''. Dies wird mit&lt;br /&gt;
{{Shell|&amp;gt; sudo apt install firewalld}}&lt;br /&gt;
installiert. Danach muss, um Systemkonflikte zu vermeiden ''ufd'' deaktiviert werden. Dies erfolgt per&lt;br /&gt;
{{Shell|&amp;gt; sudo ufw disable}}&lt;br /&gt;
Starten Sie nun ''firewalld'' mit&lt;br /&gt;
{{Shell|&amp;gt; sudo systemctl enable --now firewalld}}&lt;br /&gt;
&lt;br /&gt;
Die Firewall ist so voreingestellt, dass sie über Port 80 auf den Rechner eingehende Daten grundsätzlich sperrt. Folglich müssen die Firewall-Einstellungen so angepasst werden, dass aus dem Lokalen Netzwerk über Port 80 eingehender Datenstrom akzeptiert wird.&lt;br /&gt;
Die folgenden Schritte müssen dazu weiterhin als Root ausgeführt werden. &lt;br /&gt;
&lt;br /&gt;
{{Shell|&amp;gt; sudo firewall-cmd --zone internal --permanent --add-interface&amp;amp;#61;eth0&amp;lt;br&amp;gt;&amp;amp;nbsp; sudo firewall-cmd --zone internal --permanent --add-service&amp;amp;#61;nfs&amp;lt;br&amp;gt;&amp;amp;nbsp; sudo firewall-cmd --zone internal --permanent --add-service&amp;amp;#61;http&amp;lt;br&amp;gt;&amp;amp;nbsp; sudo firewall-cmd --zone internal --permanent --add-service&amp;amp;#61;https&amp;lt;br&amp;gt;&amp;amp;nbsp; sudo firewall-cmd --reload}}&lt;br /&gt;
&lt;br /&gt;
Weitere verfügbare Dienste lassen sich mit folgendem Befehl anzeigen&lt;br /&gt;
{{Shell|&amp;gt; sudo firewall-cmd --get-service}}&lt;br /&gt;
und ggf. nach obigem Muster ergänzen&lt;br /&gt;
&lt;br /&gt;
=== Aktivierung des Servers ===&lt;br /&gt;
Starten Sie den Server und aktivieren Sie ihn in einem Bootverzeichnis, damit er mit dem Rechner hochgefahren wird (s.o. ohne Yast):&lt;br /&gt;
{{Shell|# systemctl start apache2.service&amp;lt;br&amp;gt;&amp;amp;nbsp; systemctl enable apache2}}&lt;br /&gt;
&lt;br /&gt;
=== Hinzufügen von Apache-Modulen===&lt;br /&gt;
Um benötigte Apache-Module zu laden, können wir die Konfigurationsvariable ''APACHE_MODULES'' in &amp;lt;tt&amp;gt;/etc/sysconfig/apache2&amp;lt;/tt&amp;gt; editieren. Schneller geht es jedoch mit den nachfolgenden Befehlen. Nach der Änderung muss der Server neu gestartet werden. Auch für die folgenden Befehle sind wieder die Rechte eines Superusers vonnöten.&lt;br /&gt;
{{Shell|# a2enmod mod_perl&amp;lt;br&amp;gt;&amp;amp;nbsp; a2enmod mod_env&amp;lt;br&amp;gt;&amp;amp;nbsp; a2enmod mod_ssl&amp;lt;br&amp;gt;&amp;amp;nbsp; a2enmod mod_php5&amp;lt;br&amp;gt;&amp;amp;nbsp; a2enmod mod_python&amp;lt;br&amp;gt;&amp;amp;nbsp; a2enmod mod_wsgi&amp;lt;br&amp;gt;&amp;amp;nbsp; a2enmod mod_cgi&amp;lt;br&amp;gt;&amp;amp;nbsp; a2enmod -l&amp;lt;br&amp;gt;&amp;amp;nbsp; systemctl restart apache2}}&lt;br /&gt;
&lt;br /&gt;
== Virtual Hosts ==&lt;br /&gt;
===Allgemeines===&lt;br /&gt;
Das Verzeichnis für alle Virtual Host ist &amp;lt;tt&amp;gt;/etc/apache2/vhosts.d/&amp;lt;/tt&amp;gt;. Wie Sie sehen gibt es zwei Konfigurationsdateien - eine mit ssl, die andere ohne ssl. Wir benutzen die Vorlage ohne [https://de.wikipedia.org/wiki/Transport_Layer_Security Secure Sockets Layer]. Nur Dateien mit dem Suffix &amp;quot;.conf&amp;quot; werden automatisch in die Apachekonfiguration einbezogen.&lt;br /&gt;
&lt;br /&gt;
{{Intro|Wenn Sie neben Lawsuit einen weiteren eigenen Virtual Host hinzufügen möchten, ersetzen Sie in den folgenden Zeilen bitte ''Domainname'' durch ihren Verzeichnisnamen oder Ihre IP-Adresse.}}&lt;br /&gt;
&lt;br /&gt;
* Es gibt mehrere Varianten für die Struktur, mit welcher der eigenen Server auf dem Rechner aufgesetzt werden kann. Folgende Optionen bieten sich an: &lt;br /&gt;
:* [https://httpd.apache.org/docs/2.4/de/vhosts/name-based.html namensbasiert]&lt;br /&gt;
:* [https://httpd.apache.org/docs/2.4/de/vhosts/ip-based.html IP-basiert]&lt;br /&gt;
:* portbasiert&lt;br /&gt;
&lt;br /&gt;
* Sei können für Ihre Verzeichnisse die Vorlage '''vhost.template''' kopieren und als Ihre '''{DOMAINNAME}.conf''' speichern. Hier hinein tragen Sie anschließend die Unterverzeichnisse für Ihren Virtual Host ein.&lt;br /&gt;
&lt;br /&gt;
===Einstellungen für ''Lawsuit''===&lt;br /&gt;
Für ''Lawsuit'' wird die Konfigurationsdatei jedoch im Unterverzeichnis &amp;lt;tt&amp;gt;lawsuit/settings&amp;lt;/tt&amp;gt; bereits fertig zur Verfügung gestellt. Sie müssen lediglich in der genannten Datei den Platzhalter durch den eigenen Nutzernamen ersetzen und die fertige Datei in das Vhosts-Verzeichnis verlinken. Wechseln Sie in das Unterverzeichnis &amp;lt;tt&amp;gt;lawsuit/settings&amp;lt;/tt&amp;gt;. Wenn Sie ''Lawsuit'' in Ihrem Nutzerhauptverzeichnis installiert haben, gelangen Sie mit diesem Befehl dorthin:&lt;br /&gt;
{{Shell | &amp;gt; cd ~/lawsuit/settings}}&lt;br /&gt;
Erstellen Sie dort eine Konfigurationsdatei aus der Vorlage &amp;lt;tt&amp;gt;lawsuit-httpd.template&amp;lt;/tt&amp;gt; und ersetzen Sie den darin enthaltenen Platzhalter ''meinpfad'' dabei durch Ihren Pfad zum aktuellen Verzeichnis. Dies erfolgt automatisiert durch diese Befehle:&lt;br /&gt;
{{Shell | &amp;gt; pfad&amp;amp;#61;&amp;amp;#96;pwd &amp;amp;#124; sed &amp;amp;apos;s/\/lawsuit.*//&amp;amp;apos;  &amp;amp;#124; sed &amp;amp;apos;s/\//\\\\\//g&amp;amp;apos;&amp;amp;#96;&amp;lt;br&amp;gt; &amp;gt; sed &amp;amp;quot;s/meinpfad/$pfad/g&amp;amp;quot; lawsuit-httpd.template &amp;gt; lawsuit-httpd.conf}}&lt;br /&gt;
Falls Ihr Pfad zum Ordner &amp;lt;tt&amp;gt;Documents&amp;lt;/tt&amp;gt; nicht mit dem soeben ermittelten Pfad für &amp;lt;tt&amp;gt;lawsuit&amp;lt;/tt&amp;gt; identisch ist, passen Sie diese Einstellungen für das Verzeichnis &amp;lt;tt&amp;gt;Documents&amp;lt;/tt&amp;gt; bitte in der &amp;lt;tt&amp;gt;lawsuit-httpd.conf&amp;lt;/tt&amp;gt; mit einem Editor wie '''kate''' von Hand an.&lt;br /&gt;
&lt;br /&gt;
Abschließend kopieren Sie die erstellte Konfigurationsdatei als ''Superuser'' in das Verzeichnis der Virtual Hosts von Apache:&lt;br /&gt;
&lt;br /&gt;
{{Shell | &amp;gt; sudo cp lawsuit-httpd.conf /etc/apache2/vhosts.d/}}&lt;br /&gt;
&lt;br /&gt;
* Neustart von Apache&lt;br /&gt;
{{Shell | &amp;gt; sudo service apache2 restart}}&lt;br /&gt;
&lt;br /&gt;
=== Anpassen der Konfiguration ===&lt;br /&gt;
Um Ergänzungen oder Änderungen einheitlich für alle Virtual Hosts an der Datei &amp;lt;tt&amp;gt;/etc/apache2/default-server.conf&amp;lt;/tt&amp;gt; vorzunehmen, editieren Sie die Konfigurationsvariable ''APACHE_CONF_INCLUDE_FILES'' mithilfe von &lt;br /&gt;
 YaST &amp;gt; etc/sysconfig-Editor&lt;br /&gt;
oder arbeiten direkt in der Textdatei &amp;lt;tt&amp;gt;/etc/sysconfig/apache2&amp;lt;/tt&amp;gt;. Zum Verständnis der Hierarchie und des Layouts um Dateien einzubeziehen, lesen Sie die Kommentierung im Kopf der &amp;lt;tt&amp;gt;httpd.conf&amp;lt;/tt&amp;gt;. Die ursprüngliche, einfache Konfigurationsdatei mit nur 40K findet sich notfalls unter &amp;lt;tt&amp;gt;/usr/share/doc/packages/apache2/httpd-std.conf-prefork&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Optional: Ein Zertifikat für localhost erstellen ==&lt;br /&gt;
Bei Mehrplatzsystemen funktionieren die Javascript-Voreintragungen bei Nutzung einer sicheren HTTPS-Verbindung nur, wenn ein eigenes Zertifikat erstellt wird, dessen Aussteller zudem noch aus vertrauenswürdig eingestuft werden muss.OpenSSL bringt umfassende Werkzeuge mit, um eine eigene, kleine Certificate Authority (CA) betreiben zu können. &lt;br /&gt;
=== Vergabe einer Domain für den Rechner mit den Lawsuit-Daten ===&lt;br /&gt;
Unter &amp;lt;i&amp;gt;yast2 &amp;gt; Netzwerkdienste &amp;gt; Rechnernamen&amp;lt;/i&amp;gt; fügen Sie unter der Zeile &amp;quot;localhost&amp;quot; eine Zeile mit folgenden Daten ein:&lt;br /&gt;
 IP-Adresse: &amp;lt;b&amp;gt;192.168.2.10&amp;lt;/b&amp;gt;&lt;br /&gt;
 Hostnamen:  &amp;lt;b&amp;gt;k1.local&amp;lt;/b&amp;gt;&lt;br /&gt;
 Aliasnamen: &amp;lt;b&amp;gt;k1&amp;lt;/b&amp;gt;&lt;br /&gt;
[[Datei:Hostkonfiguration.png|thumb|600px|left|Eigenen Rechnernamen vergeben]]&lt;br /&gt;
&amp;lt;br clear=all&amp;gt;&lt;br /&gt;
Sie können statt &amp;quot;k1&amp;quot; eine beliebe andere Bezeichnung für den Hauptrechner wählen, müssen dann aber Ihre Domain in den folgenden Einstellungen beibehalten.&lt;br /&gt;
&lt;br /&gt;
=== Certificate Authority (CA) erstellen ===&lt;br /&gt;
Zu Beginn wird die Certificate Authority generiert. Zunächst wird ein geheimer Private Key erzeugt:&lt;br /&gt;
{{Shell |&amp;amp;gt; sudo openssl genrsa -aes256 -out /etc/ssl/private/rootCA.key 4096}}&lt;br /&gt;
Der Key trägt den Namen “rootCA.pem” und hat eine Länge von 4096 Bit. Die Option “-aes256” führt dazu, dass der Key mit einem Passwort geschützt wird. Die Key-Datei der CA muss tatsächlich besonders gut geschützt werden. Ein Angreifer, der den Key in die Hände bekommt, kann beliebig gefälschte Zertifikate im Namen der Kanzlei ausstellen, denen die Clients trauen. Die Verschlüsselung dieses Keys mit einem Passwort gibt zusätzlichen Schutz. Das gewünschte Passwort wird bei der Generierung abgefragt.&lt;br /&gt;
Einen geheimen Key für die CA gibt es damit also schon - es fehlt noch das Root-Zertifikat, das von den Clients später importiert werden muss, damit die von der CA ausgestellten Zertifikate im Browser als gültig erkannt werden. Das Root-Zertifikat “ca-root.pem” wird mit folgendem Befehl erzeugt: &lt;br /&gt;
{{Shell |&amp;amp;gt; sudo openssl req -x509 -new -nodes -key /etc/ssl/private/rootCA.key -sha512 -days 5483 -out /etc/ssl/certs/rootCA.pem}}&lt;br /&gt;
In diesem Fall wird die CA 5483 Tage, also mit Schalttagen 15 Jahre lang gültig bleiben. Während der Generierung werden das Passwort für die CA und einige Attribute abgefragt (hier ein Beispiel):&lt;br /&gt;
 Country Name (2 letter code) [AU]:&amp;lt;b&amp;gt;DE&amp;lt;/b&amp;gt;&lt;br /&gt;
 State or Province Name (full name) [Some-State]:&amp;lt;b&amp;gt;Nordrhein-Westfalen&amp;lt;/b&amp;gt;&lt;br /&gt;
 Locality Name (eg, city) []:&amp;lt;b&amp;gt;Muenster&amp;lt;/b&amp;gt;&lt;br /&gt;
 Organization Name (eg, company) [Internet Widgits Pty Ltd]:&amp;lt;b&amp;gt;Kanzlei Hermanns&amp;lt;/b&amp;gt;&lt;br /&gt;
 Organizational Unit Name (eg, section) []:&amp;lt;b&amp;gt;Rechtsanwalt&amp;lt;/b&amp;gt;&lt;br /&gt;
 Common Name (e.g. server FQDN or YOUR name) []:&amp;lt;b&amp;gt;RA Matthias Hermanns&amp;lt;/b&amp;gt;&lt;br /&gt;
 Email Address []:&amp;lt;b&amp;gt;hermanns@iustus.eu&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Erzeugen des Schlüssels===&lt;br /&gt;
Mit diesen Daten wird auch eine Konfiguratunsdatei mit Namen &amp;lt;tt&amp;gt;ssl.cnf&amp;lt;/tt&amp;gt; befüllt, die die Schlüsselausgabe später vereinfacht.&lt;br /&gt;
{{Shell |&amp;amp;gt; cd ~/bin&amp;lt;br&amp;gt;&amp;amp;nbsp; mkdir keys&amp;lt;br&amp;gt;&amp;amp;nbsp; cd keys&amp;lt;br&amp;gt;&amp;amp;nbsp; kate ssl.cnf}}&lt;br /&gt;
Die Datei kann beispielsweise den folgenden Inhalt haben&lt;br /&gt;
 [req]&lt;br /&gt;
 # Standard-Verschlüsselung&lt;br /&gt;
 default_bits = 4096&lt;br /&gt;
 # verhindere prompt für die Zertifikat-Erstellung&lt;br /&gt;
 # (Daten kommen aus dieser Datei)&lt;br /&gt;
 prompt = no&lt;br /&gt;
 # Verschlüsselungsmethode&lt;br /&gt;
 default_md = sha512&lt;br /&gt;
 # Kryptographie abschalten&lt;br /&gt;
 encrypt_key = no&lt;br /&gt;
 # Sektion für Zertifizierer-Informationen:&lt;br /&gt;
 distinguished_name = dn&lt;br /&gt;
 &lt;br /&gt;
 # Zertifizierer-Informationen:&lt;br /&gt;
 [dn]&lt;br /&gt;
 # Länder-Code&lt;br /&gt;
 C=DE&lt;br /&gt;
 # Bundesland&lt;br /&gt;
 ST=Nordrhein-Westfalen&lt;br /&gt;
 # Stadt&lt;br /&gt;
 L=Muenster&lt;br /&gt;
 # Bezeichnung/Firmen-Name/Dein Name:&lt;br /&gt;
 O=Kanzlei Hermanns&lt;br /&gt;
 # Aussteller Name&lt;br /&gt;
 OU=RA Matthias Hermanns&lt;br /&gt;
 # E-Mail-Adresse&lt;br /&gt;
 emailAddress=hermanns@iustus.eu&lt;br /&gt;
 # Primärer Servername&lt;br /&gt;
 CN = &amp;lt;b&amp;gt;k1&amp;lt;/b&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 [v3_ca]&lt;br /&gt;
 keyUsage = digitalSignature, keyEncipherment&lt;br /&gt;
 extendedKeyUsage = serverAuth&lt;br /&gt;
 subjectAltName = IP:&amp;lt;b&amp;gt;192.168.2.10&amp;lt;/b&amp;gt;, DNS:&amp;lt;b&amp;gt;k1&amp;lt;/b&amp;gt;, DNS:&amp;lt;b&amp;gt;k1.local&amp;lt;/b&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 [ req_ext ]&lt;br /&gt;
 subjectAltName = @alt_names&lt;br /&gt;
 &lt;br /&gt;
 [alt_names]&lt;br /&gt;
 # Primärer Server-Name&lt;br /&gt;
 DNS.1 = &amp;lt;b&amp;gt;k1&amp;lt;/b&amp;gt;&lt;br /&gt;
 # Sekunärer Server-Name&lt;br /&gt;
 DNS.2 = &amp;lt;b&amp;gt;k1.local&amp;lt;/b&amp;gt;&lt;br /&gt;
 # Wildcard Subdomains&lt;br /&gt;
 DNS.3 = *.&amp;lt;b&amp;gt;k1.local&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Speichern Sie die so erstellte Datei &amp;lt;tt&amp;gt;ssl.cnf&amp;lt;/tt&amp;gt; im &amp;lt;tt&amp;gt;bin&amp;lt;/tt&amp;gt;-Verzeichnis ab. Mit folgendem Befehl erzeugen Sie nun als zertifizierter Aussteller die eigentlichen Schlüssel für die SSL-Verbindung.&lt;br /&gt;
Zunächst wird der RSA-Key mit 3072 Bit erzeugt (Asymmetrischer Schlüssel von Rivest, Shamir und Adleman, der einen privaten und einen öffentlichen Teil hat):&lt;br /&gt;
{{Shell |&amp;amp;gt; openssl genrsa -out k1.key 3072}}&lt;br /&gt;
Nun folgt die Certificate Signing Request (CSR; deutsch Zertifikatsignierungsanforderung), ein digitaler Antrag, um mittels der soeben erzeugten digitalen Signatur und der zusätzlichen Identitätsangaben zum Antragstellers aus der &amp;lt;tt&amp;gt;ssl.cnf&amp;lt;/tt&amp;gt; ein persönliches digitales Identitäts-Zertifikat (auch Public-Key-Zertifikat genannt) zu erstellen:&lt;br /&gt;
{{Shell |&amp;amp;gt; openssl req -new -keyout ~/bin/keys/k1.key -out ~/bin/keys/k1.csr -config ~/bin/keys/ssl.cnf}}&lt;br /&gt;
Mithilfe des Wurzelzertifikats vom verifizierten Aussteller (uns selbst) wird nun der eigentliche Schlüssel erstellt, damit eine Rückverfolgung zum Wurzelzertifikat möglich ist. &lt;br /&gt;
{{Shell |&amp;amp;gt; sudo openssl x509 -req \&amp;lt;br&amp;gt;&amp;amp;nbsp; -in ~/bin/keys/k1.csr \&amp;lt;br&amp;gt;&amp;amp;nbsp; -CA /etc/ssl/certs/rootCA.pem \&amp;lt;br&amp;gt;&amp;amp;nbsp; -CAkey /etc/ssl/private/rootCA.key \&amp;lt;br&amp;gt;&amp;amp;nbsp; -CAcreateserial \&amp;lt;br&amp;gt;&amp;amp;nbsp; -out ~/bin/keys/k1.crt \&amp;lt;br&amp;gt;&amp;amp;nbsp; -days 3653 \&amp;lt;br&amp;gt;&amp;amp;nbsp; -extfile ~/bin/keys/ssl.cnf \&amp;lt;br&amp;gt;&amp;amp;nbsp; -extensions v3_ca }}&lt;br /&gt;
&lt;br /&gt;
Damit die Zertifkate in unsere regelmäßige Sicherungsspeicherung aufgenommen werden, können wir sie in das Schlüsselverzeichnis &amp;lt;tt&amp;gt;keys&amp;lt;/tt&amp;gt; unter &amp;lt;tt&amp;gt;lawsuit&amp;lt;/tt&amp;gt; kopieren. Dies ist jedoch nur optional, weil es ein Sicherheitsrisiko eröffnet:&lt;br /&gt;
{{Shell |&amp;amp;gt; sudo chown matthias:users keys/k1.crt&amp;lt;br&amp;gt;&amp;amp;nbsp; chmod 640 ~/bin/keys/k1.*&amp;lt;br&amp;gt;&amp;amp;nbsp; cp ~/bin/keys/k1.* ~/lawsuit/keys/}}&lt;br /&gt;
&lt;br /&gt;
=== Verbindung mit dem Server ===&lt;br /&gt;
Wenn Sie host-Datei &amp;lt;tt&amp;gt;lawsuit-httpd.conf&amp;lt;/tt&amp;gt; automatisch wie oben vorgeschlagen generiert haben, sind die notwendigen Einstellungen schon voreingetragen und müssen nur auskommentiert werden. Ansonsten ergänzen Sie unter /etc/apache2/vhosts.d/&lt;br /&gt;
folgende Zeilen:&lt;br /&gt;
 &amp;lt;VirtualHost *:80&amp;gt;&lt;br /&gt;
    ServerName &amp;lt;b&amp;gt;k1&amp;lt;/b&amp;gt;&lt;br /&gt;
    ServerAlias &amp;lt;b&amp;gt;k1.local&amp;lt;/b&amp;gt;&lt;br /&gt;
 &amp;lt;/VirtualHost&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 &amp;lt;IfModule mod_ssl.c&amp;gt;&lt;br /&gt;
    &amp;lt;VirtualHost *:443&amp;gt;&lt;br /&gt;
        ServerAdmin webmaster@localhost&lt;br /&gt;
        DocumentRoot /home/BENUTZERNAME/lawsuit/&lt;br /&gt;
        ServerName &amp;lt;b&amp;gt;k1&amp;lt;/b&amp;gt;&lt;br /&gt;
        ServerAlias &amp;lt;b&amp;gt;k1.local&amp;lt;/b&amp;gt;&lt;br /&gt;
        ErrorLog /var/log/apache2/error_log&lt;br /&gt;
        SSLEngine on&lt;br /&gt;
        SSLCertificateFile      /home/BENUTZERNAME/bin/keys/&amp;lt;b&amp;gt;k1.crt&amp;lt;/b&amp;gt;&lt;br /&gt;
        SSLCertificateKeyFile   /home/BENUTZERNAME/bin/keys/&amp;lt;b&amp;gt;k1.key&amp;lt;/b&amp;gt;&lt;br /&gt;
        &amp;lt;IfModule mod_headers.c&amp;gt;&lt;br /&gt;
            Header always set Strict-Transport-Security &amp;quot;max-age=15552000; includeSubDomains&amp;quot;&lt;br /&gt;
        &amp;lt;/IfModule&amp;gt;&lt;br /&gt;
        &amp;lt;FilesMatch &amp;quot;\.(cgi|html|shtml|pl|phtml|php)$&amp;quot;&amp;gt;&lt;br /&gt;
            SSLOptions +StdEnvVars&lt;br /&gt;
        &amp;lt;/FilesMatch&amp;gt;&lt;br /&gt;
        &amp;lt;Directory /home/BENUTZERNAME/lawsuit/cgi-bin&amp;gt;&lt;br /&gt;
            SSLOptions +StdEnvVars&lt;br /&gt;
        &amp;lt;/Directory&amp;gt;&lt;br /&gt;
    &amp;lt;/VirtualHost&amp;gt;&lt;br /&gt;
 &amp;lt;/IfModule&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 # configuration&lt;br /&gt;
 SSLProtocol             all -SSLv3 -TLSv1 -TLSv1.1 -TLSv1.2&lt;br /&gt;
 SSLHonorCipherOrder     off&lt;br /&gt;
 SSLSessionTickets       off&lt;br /&gt;
&lt;br /&gt;
Damit diese Einstellungen nicht der vom Linux-System vorgegebenen Konfiguration widersprechen, müssen in der Datei &amp;lt;tt&amp;gt;/usr/share/doc/packages/apache2/original/extra/httpd-ssl.conf&amp;lt;/tt&amp;gt; noch folgende Zeilen auskommentiert und berichtigt werden&lt;br /&gt;
 #&amp;lt;b&amp;gt;ServerName&amp;lt;/b&amp;gt; www.example.com:443&lt;br /&gt;
 ServerName &amp;lt;b&amp;gt;k1&amp;lt;/b&amp;gt;:443&lt;br /&gt;
ferner&lt;br /&gt;
 #&amp;lt;b&amp;gt;SSLCertificateFile&amp;lt;/b&amp;gt; &amp;quot;/etc/apache2/server.crt&amp;quot;&lt;br /&gt;
 SSLCertificateFile &amp;quot;/home/BENUTZERNAME/bin/keys/k1.crt&amp;quot;&lt;br /&gt;
und&lt;br /&gt;
 #&amp;lt;b&amp;gt;SSLCertificateKeyFile&amp;lt;/b&amp;gt; &amp;quot;/etc/apache2/server.key&amp;quot;&lt;br /&gt;
 SSLCertificateKeyFile &amp;quot;/home/BENUTZERNAME/bin/keys/k1.key&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Unter Firefox kann das selbstgezeichnete Zertifikat nun verwendet werden. Bitte beachten Sie, dass für jede Apache-Konfigurrationsdatei ein anderer Port geöffnet werden muss, &amp;quot;443&amp;quot; also nur einmal verwendet werden kann. Sie können alternativ z.B. &amp;quot;4443&amp;quot; verwenden.&lt;br /&gt;
&lt;br /&gt;
Abschließender Test und Neustart:&lt;br /&gt;
{{Shell |&amp;amp;#35; sudo apache2ctl -t&amp;lt;br&amp;gt;&amp;amp;nbsp; sudo systemctl restart apache2}}&lt;br /&gt;
&lt;br /&gt;
=== Registrierung als vertrauenswürdiger Aussteller für den Firefox-Browser ===&lt;br /&gt;
Damit der Firefox-Browser das Zertifikat tatsächlich verwendet und als vertrauenswürdig akzeptiert, muss es im Kleopatra-Schlüsseldienst eingetragen werden, auf den der Browser zugreift. &lt;br /&gt;
{{Shell |&amp;amp;gt; kleopatra}}&lt;br /&gt;
Klicken Sie den Reiter &amp;lt;b&amp;gt;Importieren&amp;lt;/b&amp;gt; an und fügen Sie nacheinander die folgenden Dateien ein:&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;/home/BENUTZERNAME/bin/keys/k1.crt&amp;lt;/tt&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;/etc/ssl/certs/rootCA.pem&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Bitte bestätigen Sie die erbetenen Beglaubigungen mit der Maustaste.&lt;br /&gt;
[[Datei:Kleopatra.png|thumb|600px|left|Importieren der Zertifikate in das Kleopatra-Schlüsselverwaltungsprogramm]]&lt;br /&gt;
&amp;lt;br clear=all&amp;gt;&lt;br /&gt;
Nun wechseln Sie in den Firefox-Browser und geben in die Adresszeile ein&lt;br /&gt;
 about:config&lt;br /&gt;
Dort ändern Sie die Variable&lt;br /&gt;
 security.enterprise_roots.enabled -&amp;gt; true&lt;br /&gt;
von &amp;quot;false&amp;quot; auf &amp;quot;true&amp;quot;. Nun bezieht der Browser auch Ihre eigenen CA-Beglaubigungen des Unternehmens eine seine Bewertungen mit ein und vergibt ein grünes Schlüsselsymbol.&lt;br /&gt;
&lt;br /&gt;
== Problembehebung ==&lt;br /&gt;
Lesen Sie wenn möglich die Fehlermeldungen nach dem Start des Servers. Versuchen Sie Fehler ggf. zu reproduzieren und vergleichen Sie die Einträge in den Log-Dateien. Den Einblick auf die dortigen Meldungen können Sie mit dem folgenden Befehl auf den neuesten Stand reduzieren::&lt;br /&gt;
&lt;br /&gt;
{{Shell | # tail -F /var/log/apache2/*}}&lt;br /&gt;
&lt;br /&gt;
Da die Error-Messages schnell sehr großen Umfang einnehmen, der am Ende sogar den Systemstart blockieren kann, empfiehlt es sich, mit Logrotate den Bestand unter Kontrolle zu halten. Installieren Sie dazu, falls noch nicht vom System geschehen:&lt;br /&gt;
{{Shell | # zypper in logrotate}}&lt;br /&gt;
Sie können die Einstellungen in der Konfigurationsdatei &lt;br /&gt;
 /etc/logrotate.conf&lt;br /&gt;
ändern. Eine typische Konfiguration von &amp;lt;tt&amp;gt;logrotate.conf&amp;lt;/tt&amp;gt; sieht z.B. wie folgt aus:&lt;br /&gt;
{{Shell |&amp;amp;#35; see &amp;quot;man logrotate&amp;quot; for details&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;amp;#35; rotate log files weekly &lt;br /&gt;
&amp;lt;br&amp;gt;weekly &lt;br /&gt;
&amp;lt;br&amp;gt;&amp;amp;#35; keep 4 weeks worth of backlogs &lt;br /&gt;
&amp;lt;br&amp;gt;rotate 4&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;b&amp;gt;&amp;amp;#35; remove rotated logs older than &amp;lt;count&amp;gt; days&lt;br /&gt;
&amp;lt;br&amp;gt;maxage 90 &amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;amp;#35; create new (empty) log files after rotating old ones &lt;br /&gt;
&amp;lt;br&amp;gt;create&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;amp;#35; use date as a suffix of the rotated file&lt;br /&gt;
&amp;lt;br&amp;gt;dateext&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;amp;#35; uncomment this if you want your log files compressed &lt;br /&gt;
&amp;lt;br&amp;gt;compress&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;amp;#35; comment these to switch compression to use gzip or another &lt;br /&gt;
&amp;lt;br&amp;gt;&amp;amp;#35; compression scheme&lt;br /&gt;
&amp;lt;br&amp;gt;compresscmd /usr/bin/xz&lt;br /&gt;
&amp;lt;br&amp;gt;uncompresscmd /usr/bin/xzdec&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;amp;#35; RPM packages drop log rotation information into this directory&lt;br /&gt;
&amp;lt;br&amp;gt;include /etc/logrotate.d&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Sollten Sie einen Fehler gefunden haben, [https://de.opensuse.org/SDB:Fehler_berichten berichten Sie ihn] bitte.&lt;br /&gt;
&lt;br /&gt;
==Weiterführende Informationen==&lt;br /&gt;
=== Verwandte Artikel ===&lt;br /&gt;
*[https://de.opensuse.org/YaST_Module_Firewall#Firewall_Einrichten openSUSE Firewall]&lt;br /&gt;
* Package documentation and example configuration files in /usr/share/doc/packages/apache2/&lt;br /&gt;
&lt;br /&gt;
===Externe Links===&lt;br /&gt;
* [https://doc.opensuse.org/documentation/leap/reference/html/book.opensuse.reference/cha.apache2.html openSUSE Apache Documentation]&lt;br /&gt;
* [http://httpd.apache.org/ The Apache Project]&lt;br /&gt;
* [http://www.apache.org/ Apache Software Foundation]&lt;br /&gt;
&lt;br /&gt;
{{DEFAULTSORT:{{PAGENAME}}}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Linuxinstallation]]&lt;/div&gt;</summary>
		<author><name>87.123.95.19</name></author>	</entry>

	<entry>
		<id>http://wiki.iustus.eu/wiki/index.php?title=Aufsetzen_des_Apache-Servers_-_ubuntu&amp;diff=7108</id>
		<title>Aufsetzen des Apache-Servers - ubuntu</title>
		<link rel="alternate" type="text/html" href="http://wiki.iustus.eu/wiki/index.php?title=Aufsetzen_des_Apache-Servers_-_ubuntu&amp;diff=7108"/>
				<updated>2026-01-02T12:04:15Z</updated>
		
		<summary type="html">&lt;p&gt;87.123.95.19: /* Einrichtung und Anpassung der Firewall */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Ubuntu|&lt;br /&gt;
*[https://ubuntu.com/tutorials/install-ubuntu-desktop-1604#1-overview 16.04.]&lt;br /&gt;
|&lt;br /&gt;
*[https://ubuntu.com/tutorials/install-and-configure-apache#2-installing-apache Apache Installation]&lt;br /&gt;
|&lt;br /&gt;
*[https://de.opensuse.org/SDB:LAMP_Einrichtung SDB:LAMP_Einrichtung]&lt;br /&gt;
*[https://de.opensuse.org/Apache2 Apache2]&lt;br /&gt;
*[https://de.opensuse.org/Portal:MySQL Portal:MySQL]&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Einführung ==&lt;br /&gt;
&lt;br /&gt;
Diese Dokument gibt eine rasche Einführung, wie ein Apache-Server auf dem lokalen Rechner aufgesetzt werden kann, der die Lawsuit-Programmteile bereitstellt.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
{{Warnung| Die Kurzanleitung geht nicht vertieft auf mögliche Experten-Einstellungen des Servers ein. Insbesondere bleiben hier Sicherheitseinstellungen unberücksichtigt, die für den Betrieb als öffentlich zugänglicher Netzserver unumgänglich wären. Die nachfolgenden Schritte sind für Anwender gedacht, die Lawsuit intern auf dem Kanzleirechner hinter einer Firewall betreiben möchten.}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== Allgemeine Rechner-Konfiguration ==&lt;br /&gt;
&lt;br /&gt;
Die Software benötigt eine funktionierende Netzwerkumgebung. Diese wird jedoch bereits standardmäßig von Ubuntu eingereichtet. Achten Sie aber insbesondere bei der Nutzung von [https://de.wikipedia.org/wiki/Dynamic_Host_Configuration_Protocol DHCP] darauf, dass [[Mehrplatzsysteme - ubuntu|weitere Rechner]] der Kanzlei vom Networkmanager tatsächlich im selben Nummernraum wie dieser PC eingetragen wurden, auf dem Apache nun installiert werden soll. Ansonsten können diese Rechner später nicht auf die Kanzleisoftware zugreifen.&lt;br /&gt;
&lt;br /&gt;
Als Zweites sollte der PC auf dem aktuellen Softwarestand sein. &lt;br /&gt;
{{Shell|&amp;gt; sudo apt update}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Installation der Apache-Pakete ===&lt;br /&gt;
&lt;br /&gt;
Der Apache-Server und das optionale Perl-Modul können mit ''apt'' installiert werden. Öffnen Sie dazu ein Terminal-Fenster und wechseln Sie wie folgt in den Superuser-Modus:&lt;br /&gt;
{{Shell|&amp;gt; sudo apt install apache2}}&lt;br /&gt;
Geben Sie das Passwort ein.&lt;br /&gt;
Prüfen Sie die korrekte Funktionsweise des Apache-Servers, indem Sie in die Browser-Adresszeile die folgende Adresse eingeben:&lt;br /&gt;
 http://localhost/&lt;br /&gt;
Es sollte folgende Ausgabe zu sehen sein:&lt;br /&gt;
[[Datei:Apache_works.png|thumb|600px|left|Apache-Server Startausgabe]]&lt;br /&gt;
&amp;lt;br clear=all&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Start des Servers ===&lt;br /&gt;
Mit folgenden zwei Befehlen wird der Apache-Server gestartet und auf Dauer im System aktiviert.&lt;br /&gt;
{{Shell|# systemctl start apache2&amp;lt;br&amp;gt;&amp;amp;nbsp; systemctl enable apache2}}&lt;br /&gt;
&lt;br /&gt;
=== Einrichtung und Anpassung der Firewall ===&lt;br /&gt;
&lt;br /&gt;
Normalerweise sollte die die Firewall ''ufd'' (Uncomplicated Firewall) vorinstalliert sein. Für unsere Zwecke zielführender ist ''firewalld''. Dies wird mit&lt;br /&gt;
{{Shell|&amp;gt; sudo apt install firewalld}}&lt;br /&gt;
installiert. Danach muss, um Systemkonflikte zu vermeiden ''ufd'' deaktiviert werden. Dies erfolgt per&lt;br /&gt;
{{Shell|&amp;gt; sudo ufw disable}}&lt;br /&gt;
Starten Sie nun ''firewalld'' mit&lt;br /&gt;
{{Shell|&amp;gt; sudo systemctl enable --now firewalld}}&lt;br /&gt;
&lt;br /&gt;
Die Firewall ist so voreingestellt, dass sie über Port 80 auf den Rechner eingehende Daten grundsätzlich sperrt. Folglich müssen die Firewall-Einstellungen so angepasst werden, dass aus dem Lokalen Netzwerk über Port 80 eingehender Datenstrom akzeptiert wird.&lt;br /&gt;
Die folgenden Schritte müssen dazu weiterhin als Root ausgeführt werden. &lt;br /&gt;
&lt;br /&gt;
{{Shell|&amp;gt; sudo firewall-cmd --zone internal --permanent --add-interface&amp;amp;#61;eth0&amp;lt;br&amp;gt;&amp;amp;nbsp; sudo firewall-cmd --zone internal --permanent --add-service&amp;amp;#61;nfs&amp;lt;br&amp;gt;&amp;amp;nbsp; sudo firewall-cmd --zone internal --permanent --add-service&amp;amp;#61;http&amp;lt;br&amp;gt;&amp;amp;nbsp; sudo firewall-cmd --zone internal --permanent --add-service&amp;amp;#61;https&amp;lt;br&amp;gt;&amp;amp;nbsp; sudo firewall-cmd --reload}}&lt;br /&gt;
&lt;br /&gt;
Weitere verfügbare Dienste lassen sich mit folgendem Befehl anzeigen&lt;br /&gt;
{{Shell|&amp;gt; sudo firewall-cmd --get-service}}&lt;br /&gt;
und ggf. nach obigem Muster ergänzen&lt;br /&gt;
&lt;br /&gt;
=== Aktivierung des Servers ===&lt;br /&gt;
Starten Sie den Server und aktivieren Sie ihn in einem Bootverzeichnis, damit er mit dem Rechner hochgefahren wird (s.o. ohne Yast):&lt;br /&gt;
{{Shell|# systemctl start apache2.service&amp;lt;br&amp;gt;&amp;amp;nbsp; systemctl enable apache2}}&lt;br /&gt;
Sie können diese Einstellungen jederzeit unter ''YaST'' ändern im Untermenü&lt;br /&gt;
 YaST &amp;gt; Dienste-Verwaltung&lt;br /&gt;
&lt;br /&gt;
=== Hinzufügen von Apache-Modulen===&lt;br /&gt;
Um benötigte Apache-Module zu laden, können wir die Konfigurationsvariable ''APACHE_MODULES'' in &amp;lt;tt&amp;gt;/etc/sysconfig/apache2&amp;lt;/tt&amp;gt; editieren. Schneller geht es jedoch mit den nachfolgenden Befehlen. Nach der Änderung muss der Server neu gestartet werden. Auch für die folgenden Befehle sind wieder die Rechte eines Superusers vonnöten.&lt;br /&gt;
{{Shell|# a2enmod mod_perl&amp;lt;br&amp;gt;&amp;amp;nbsp; a2enmod mod_env&amp;lt;br&amp;gt;&amp;amp;nbsp; a2enmod mod_ssl&amp;lt;br&amp;gt;&amp;amp;nbsp; a2enmod mod_php5&amp;lt;br&amp;gt;&amp;amp;nbsp; a2enmod mod_python&amp;lt;br&amp;gt;&amp;amp;nbsp; a2enmod mod_wsgi&amp;lt;br&amp;gt;&amp;amp;nbsp; a2enmod mod_cgi&amp;lt;br&amp;gt;&amp;amp;nbsp; a2enmod -l&amp;lt;br&amp;gt;&amp;amp;nbsp; systemctl restart apache2}}&lt;br /&gt;
&lt;br /&gt;
== Virtual Hosts ==&lt;br /&gt;
===Allgemeines===&lt;br /&gt;
Das Verzeichnis für alle Virtual Host ist &amp;lt;tt&amp;gt;/etc/apache2/vhosts.d/&amp;lt;/tt&amp;gt;. Wie Sie sehen gibt es zwei Konfigurationsdateien - eine mit ssl, die andere ohne ssl. Wir benutzen die Vorlage ohne [https://de.wikipedia.org/wiki/Transport_Layer_Security Secure Sockets Layer]. Nur Dateien mit dem Suffix &amp;quot;.conf&amp;quot; werden automatisch in die Apachekonfiguration einbezogen.&lt;br /&gt;
&lt;br /&gt;
{{Intro|Wenn Sie neben Lawsuit einen weiteren eigenen Virtual Host hinzufügen möchten, ersetzen Sie in den folgenden Zeilen bitte ''Domainname'' durch ihren Verzeichnisnamen oder Ihre IP-Adresse.}}&lt;br /&gt;
&lt;br /&gt;
* Es gibt mehrere Varianten für die Struktur, mit welcher der eigenen Server auf dem Rechner aufgesetzt werden kann. Folgende Optionen bieten sich an: &lt;br /&gt;
:* [https://httpd.apache.org/docs/2.4/de/vhosts/name-based.html namensbasiert]&lt;br /&gt;
:* [https://httpd.apache.org/docs/2.4/de/vhosts/ip-based.html IP-basiert]&lt;br /&gt;
:* portbasiert&lt;br /&gt;
&lt;br /&gt;
* Sei können für Ihre Verzeichnisse die Vorlage '''vhost.template''' kopieren und als Ihre '''{DOMAINNAME}.conf''' speichern. Hier hinein tragen Sie anschließend die Unterverzeichnisse für Ihren Virtual Host ein.&lt;br /&gt;
&lt;br /&gt;
===Einstellungen für ''Lawsuit''===&lt;br /&gt;
Für ''Lawsuit'' wird die Konfigurationsdatei jedoch im Unterverzeichnis &amp;lt;tt&amp;gt;lawsuit/settings&amp;lt;/tt&amp;gt; bereits fertig zur Verfügung gestellt. Sie müssen lediglich in der genannten Datei den Platzhalter durch den eigenen Nutzernamen ersetzen und die fertige Datei in das Vhosts-Verzeichnis verlinken. Wechseln Sie in das Unterverzeichnis &amp;lt;tt&amp;gt;lawsuit/settings&amp;lt;/tt&amp;gt;. Wenn Sie ''Lawsuit'' in Ihrem Nutzerhauptverzeichnis installiert haben, gelangen Sie mit diesem Befehl dorthin:&lt;br /&gt;
{{Shell | &amp;gt; cd ~/lawsuit/settings}}&lt;br /&gt;
Erstellen Sie dort eine Konfigurationsdatei aus der Vorlage &amp;lt;tt&amp;gt;lawsuit-httpd.template&amp;lt;/tt&amp;gt; und ersetzen Sie den darin enthaltenen Platzhalter ''meinpfad'' dabei durch Ihren Pfad zum aktuellen Verzeichnis. Dies erfolgt automatisiert durch diese Befehle:&lt;br /&gt;
{{Shell | &amp;gt; pfad&amp;amp;#61;&amp;amp;#96;pwd &amp;amp;#124; sed &amp;amp;apos;s/\/lawsuit.*//&amp;amp;apos;  &amp;amp;#124; sed &amp;amp;apos;s/\//\\\\\//g&amp;amp;apos;&amp;amp;#96;&amp;lt;br&amp;gt; &amp;gt; sed &amp;amp;quot;s/meinpfad/$pfad/g&amp;amp;quot; lawsuit-httpd.template &amp;gt; lawsuit-httpd.conf}}&lt;br /&gt;
Falls Ihr Pfad zum Ordner &amp;lt;tt&amp;gt;Documents&amp;lt;/tt&amp;gt; nicht mit dem soeben ermittelten Pfad für &amp;lt;tt&amp;gt;lawsuit&amp;lt;/tt&amp;gt; identisch ist, passen Sie diese Einstellungen für das Verzeichnis &amp;lt;tt&amp;gt;Documents&amp;lt;/tt&amp;gt; bitte in der &amp;lt;tt&amp;gt;lawsuit-httpd.conf&amp;lt;/tt&amp;gt; mit einem Editor wie '''kate''' von Hand an.&lt;br /&gt;
&lt;br /&gt;
Abschließend kopieren Sie die erstellte Konfigurationsdatei als ''Superuser'' in das Verzeichnis der Virtual Hosts von Apache:&lt;br /&gt;
&lt;br /&gt;
{{Shell | &amp;gt; sudo cp lawsuit-httpd.conf /etc/apache2/vhosts.d/}}&lt;br /&gt;
&lt;br /&gt;
* Neustart von Apache&lt;br /&gt;
{{Shell | &amp;gt; sudo service apache2 restart}}&lt;br /&gt;
&lt;br /&gt;
=== Anpassen der Konfiguration ===&lt;br /&gt;
Um Ergänzungen oder Änderungen einheitlich für alle Virtual Hosts an der Datei &amp;lt;tt&amp;gt;/etc/apache2/default-server.conf&amp;lt;/tt&amp;gt; vorzunehmen, editieren Sie die Konfigurationsvariable ''APACHE_CONF_INCLUDE_FILES'' mithilfe von &lt;br /&gt;
 YaST &amp;gt; etc/sysconfig-Editor&lt;br /&gt;
oder arbeiten direkt in der Textdatei &amp;lt;tt&amp;gt;/etc/sysconfig/apache2&amp;lt;/tt&amp;gt;. Zum Verständnis der Hierarchie und des Layouts um Dateien einzubeziehen, lesen Sie die Kommentierung im Kopf der &amp;lt;tt&amp;gt;httpd.conf&amp;lt;/tt&amp;gt;. Die ursprüngliche, einfache Konfigurationsdatei mit nur 40K findet sich notfalls unter &amp;lt;tt&amp;gt;/usr/share/doc/packages/apache2/httpd-std.conf-prefork&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Optional: Ein Zertifikat für localhost erstellen ==&lt;br /&gt;
Bei Mehrplatzsystemen funktionieren die Javascript-Voreintragungen bei Nutzung einer sicheren HTTPS-Verbindung nur, wenn ein eigenes Zertifikat erstellt wird, dessen Aussteller zudem noch aus vertrauenswürdig eingestuft werden muss.OpenSSL bringt umfassende Werkzeuge mit, um eine eigene, kleine Certificate Authority (CA) betreiben zu können. &lt;br /&gt;
=== Vergabe einer Domain für den Rechner mit den Lawsuit-Daten ===&lt;br /&gt;
Unter &amp;lt;i&amp;gt;yast2 &amp;gt; Netzwerkdienste &amp;gt; Rechnernamen&amp;lt;/i&amp;gt; fügen Sie unter der Zeile &amp;quot;localhost&amp;quot; eine Zeile mit folgenden Daten ein:&lt;br /&gt;
 IP-Adresse: &amp;lt;b&amp;gt;192.168.2.10&amp;lt;/b&amp;gt;&lt;br /&gt;
 Hostnamen:  &amp;lt;b&amp;gt;k1.local&amp;lt;/b&amp;gt;&lt;br /&gt;
 Aliasnamen: &amp;lt;b&amp;gt;k1&amp;lt;/b&amp;gt;&lt;br /&gt;
[[Datei:Hostkonfiguration.png|thumb|600px|left|Eigenen Rechnernamen vergeben]]&lt;br /&gt;
&amp;lt;br clear=all&amp;gt;&lt;br /&gt;
Sie können statt &amp;quot;k1&amp;quot; eine beliebe andere Bezeichnung für den Hauptrechner wählen, müssen dann aber Ihre Domain in den folgenden Einstellungen beibehalten.&lt;br /&gt;
&lt;br /&gt;
=== Certificate Authority (CA) erstellen ===&lt;br /&gt;
Zu Beginn wird die Certificate Authority generiert. Zunächst wird ein geheimer Private Key erzeugt:&lt;br /&gt;
{{Shell |&amp;amp;gt; sudo openssl genrsa -aes256 -out /etc/ssl/private/rootCA.key 4096}}&lt;br /&gt;
Der Key trägt den Namen “rootCA.pem” und hat eine Länge von 4096 Bit. Die Option “-aes256” führt dazu, dass der Key mit einem Passwort geschützt wird. Die Key-Datei der CA muss tatsächlich besonders gut geschützt werden. Ein Angreifer, der den Key in die Hände bekommt, kann beliebig gefälschte Zertifikate im Namen der Kanzlei ausstellen, denen die Clients trauen. Die Verschlüsselung dieses Keys mit einem Passwort gibt zusätzlichen Schutz. Das gewünschte Passwort wird bei der Generierung abgefragt.&lt;br /&gt;
Einen geheimen Key für die CA gibt es damit also schon - es fehlt noch das Root-Zertifikat, das von den Clients später importiert werden muss, damit die von der CA ausgestellten Zertifikate im Browser als gültig erkannt werden. Das Root-Zertifikat “ca-root.pem” wird mit folgendem Befehl erzeugt: &lt;br /&gt;
{{Shell |&amp;amp;gt; sudo openssl req -x509 -new -nodes -key /etc/ssl/private/rootCA.key -sha512 -days 5483 -out /etc/ssl/certs/rootCA.pem}}&lt;br /&gt;
In diesem Fall wird die CA 5483 Tage, also mit Schalttagen 15 Jahre lang gültig bleiben. Während der Generierung werden das Passwort für die CA und einige Attribute abgefragt (hier ein Beispiel):&lt;br /&gt;
 Country Name (2 letter code) [AU]:&amp;lt;b&amp;gt;DE&amp;lt;/b&amp;gt;&lt;br /&gt;
 State or Province Name (full name) [Some-State]:&amp;lt;b&amp;gt;Nordrhein-Westfalen&amp;lt;/b&amp;gt;&lt;br /&gt;
 Locality Name (eg, city) []:&amp;lt;b&amp;gt;Muenster&amp;lt;/b&amp;gt;&lt;br /&gt;
 Organization Name (eg, company) [Internet Widgits Pty Ltd]:&amp;lt;b&amp;gt;Kanzlei Hermanns&amp;lt;/b&amp;gt;&lt;br /&gt;
 Organizational Unit Name (eg, section) []:&amp;lt;b&amp;gt;Rechtsanwalt&amp;lt;/b&amp;gt;&lt;br /&gt;
 Common Name (e.g. server FQDN or YOUR name) []:&amp;lt;b&amp;gt;RA Matthias Hermanns&amp;lt;/b&amp;gt;&lt;br /&gt;
 Email Address []:&amp;lt;b&amp;gt;hermanns@iustus.eu&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Erzeugen des Schlüssels===&lt;br /&gt;
Mit diesen Daten wird auch eine Konfiguratunsdatei mit Namen &amp;lt;tt&amp;gt;ssl.cnf&amp;lt;/tt&amp;gt; befüllt, die die Schlüsselausgabe später vereinfacht.&lt;br /&gt;
{{Shell |&amp;amp;gt; cd ~/bin&amp;lt;br&amp;gt;&amp;amp;nbsp; mkdir keys&amp;lt;br&amp;gt;&amp;amp;nbsp; cd keys&amp;lt;br&amp;gt;&amp;amp;nbsp; kate ssl.cnf}}&lt;br /&gt;
Die Datei kann beispielsweise den folgenden Inhalt haben&lt;br /&gt;
 [req]&lt;br /&gt;
 # Standard-Verschlüsselung&lt;br /&gt;
 default_bits = 4096&lt;br /&gt;
 # verhindere prompt für die Zertifikat-Erstellung&lt;br /&gt;
 # (Daten kommen aus dieser Datei)&lt;br /&gt;
 prompt = no&lt;br /&gt;
 # Verschlüsselungsmethode&lt;br /&gt;
 default_md = sha512&lt;br /&gt;
 # Kryptographie abschalten&lt;br /&gt;
 encrypt_key = no&lt;br /&gt;
 # Sektion für Zertifizierer-Informationen:&lt;br /&gt;
 distinguished_name = dn&lt;br /&gt;
 &lt;br /&gt;
 # Zertifizierer-Informationen:&lt;br /&gt;
 [dn]&lt;br /&gt;
 # Länder-Code&lt;br /&gt;
 C=DE&lt;br /&gt;
 # Bundesland&lt;br /&gt;
 ST=Nordrhein-Westfalen&lt;br /&gt;
 # Stadt&lt;br /&gt;
 L=Muenster&lt;br /&gt;
 # Bezeichnung/Firmen-Name/Dein Name:&lt;br /&gt;
 O=Kanzlei Hermanns&lt;br /&gt;
 # Aussteller Name&lt;br /&gt;
 OU=RA Matthias Hermanns&lt;br /&gt;
 # E-Mail-Adresse&lt;br /&gt;
 emailAddress=hermanns@iustus.eu&lt;br /&gt;
 # Primärer Servername&lt;br /&gt;
 CN = &amp;lt;b&amp;gt;k1&amp;lt;/b&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 [v3_ca]&lt;br /&gt;
 keyUsage = digitalSignature, keyEncipherment&lt;br /&gt;
 extendedKeyUsage = serverAuth&lt;br /&gt;
 subjectAltName = IP:&amp;lt;b&amp;gt;192.168.2.10&amp;lt;/b&amp;gt;, DNS:&amp;lt;b&amp;gt;k1&amp;lt;/b&amp;gt;, DNS:&amp;lt;b&amp;gt;k1.local&amp;lt;/b&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 [ req_ext ]&lt;br /&gt;
 subjectAltName = @alt_names&lt;br /&gt;
 &lt;br /&gt;
 [alt_names]&lt;br /&gt;
 # Primärer Server-Name&lt;br /&gt;
 DNS.1 = &amp;lt;b&amp;gt;k1&amp;lt;/b&amp;gt;&lt;br /&gt;
 # Sekunärer Server-Name&lt;br /&gt;
 DNS.2 = &amp;lt;b&amp;gt;k1.local&amp;lt;/b&amp;gt;&lt;br /&gt;
 # Wildcard Subdomains&lt;br /&gt;
 DNS.3 = *.&amp;lt;b&amp;gt;k1.local&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Speichern Sie die so erstellte Datei &amp;lt;tt&amp;gt;ssl.cnf&amp;lt;/tt&amp;gt; im &amp;lt;tt&amp;gt;bin&amp;lt;/tt&amp;gt;-Verzeichnis ab. Mit folgendem Befehl erzeugen Sie nun als zertifizierter Aussteller die eigentlichen Schlüssel für die SSL-Verbindung.&lt;br /&gt;
Zunächst wird der RSA-Key mit 3072 Bit erzeugt (Asymmetrischer Schlüssel von Rivest, Shamir und Adleman, der einen privaten und einen öffentlichen Teil hat):&lt;br /&gt;
{{Shell |&amp;amp;gt; openssl genrsa -out k1.key 3072}}&lt;br /&gt;
Nun folgt die Certificate Signing Request (CSR; deutsch Zertifikatsignierungsanforderung), ein digitaler Antrag, um mittels der soeben erzeugten digitalen Signatur und der zusätzlichen Identitätsangaben zum Antragstellers aus der &amp;lt;tt&amp;gt;ssl.cnf&amp;lt;/tt&amp;gt; ein persönliches digitales Identitäts-Zertifikat (auch Public-Key-Zertifikat genannt) zu erstellen:&lt;br /&gt;
{{Shell |&amp;amp;gt; openssl req -new -keyout ~/bin/keys/k1.key -out ~/bin/keys/k1.csr -config ~/bin/keys/ssl.cnf}}&lt;br /&gt;
Mithilfe des Wurzelzertifikats vom verifizierten Aussteller (uns selbst) wird nun der eigentliche Schlüssel erstellt, damit eine Rückverfolgung zum Wurzelzertifikat möglich ist. &lt;br /&gt;
{{Shell |&amp;amp;gt; sudo openssl x509 -req \&amp;lt;br&amp;gt;&amp;amp;nbsp; -in ~/bin/keys/k1.csr \&amp;lt;br&amp;gt;&amp;amp;nbsp; -CA /etc/ssl/certs/rootCA.pem \&amp;lt;br&amp;gt;&amp;amp;nbsp; -CAkey /etc/ssl/private/rootCA.key \&amp;lt;br&amp;gt;&amp;amp;nbsp; -CAcreateserial \&amp;lt;br&amp;gt;&amp;amp;nbsp; -out ~/bin/keys/k1.crt \&amp;lt;br&amp;gt;&amp;amp;nbsp; -days 3653 \&amp;lt;br&amp;gt;&amp;amp;nbsp; -extfile ~/bin/keys/ssl.cnf \&amp;lt;br&amp;gt;&amp;amp;nbsp; -extensions v3_ca }}&lt;br /&gt;
&lt;br /&gt;
Damit die Zertifkate in unsere regelmäßige Sicherungsspeicherung aufgenommen werden, können wir sie in das Schlüsselverzeichnis &amp;lt;tt&amp;gt;keys&amp;lt;/tt&amp;gt; unter &amp;lt;tt&amp;gt;lawsuit&amp;lt;/tt&amp;gt; kopieren. Dies ist jedoch nur optional, weil es ein Sicherheitsrisiko eröffnet:&lt;br /&gt;
{{Shell |&amp;amp;gt; sudo chown matthias:users keys/k1.crt&amp;lt;br&amp;gt;&amp;amp;nbsp; chmod 640 ~/bin/keys/k1.*&amp;lt;br&amp;gt;&amp;amp;nbsp; cp ~/bin/keys/k1.* ~/lawsuit/keys/}}&lt;br /&gt;
&lt;br /&gt;
=== Verbindung mit dem Server ===&lt;br /&gt;
Wenn Sie host-Datei &amp;lt;tt&amp;gt;lawsuit-httpd.conf&amp;lt;/tt&amp;gt; automatisch wie oben vorgeschlagen generiert haben, sind die notwendigen Einstellungen schon voreingetragen und müssen nur auskommentiert werden. Ansonsten ergänzen Sie unter /etc/apache2/vhosts.d/&lt;br /&gt;
folgende Zeilen:&lt;br /&gt;
 &amp;lt;VirtualHost *:80&amp;gt;&lt;br /&gt;
    ServerName &amp;lt;b&amp;gt;k1&amp;lt;/b&amp;gt;&lt;br /&gt;
    ServerAlias &amp;lt;b&amp;gt;k1.local&amp;lt;/b&amp;gt;&lt;br /&gt;
 &amp;lt;/VirtualHost&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 &amp;lt;IfModule mod_ssl.c&amp;gt;&lt;br /&gt;
    &amp;lt;VirtualHost *:443&amp;gt;&lt;br /&gt;
        ServerAdmin webmaster@localhost&lt;br /&gt;
        DocumentRoot /home/BENUTZERNAME/lawsuit/&lt;br /&gt;
        ServerName &amp;lt;b&amp;gt;k1&amp;lt;/b&amp;gt;&lt;br /&gt;
        ServerAlias &amp;lt;b&amp;gt;k1.local&amp;lt;/b&amp;gt;&lt;br /&gt;
        ErrorLog /var/log/apache2/error_log&lt;br /&gt;
        SSLEngine on&lt;br /&gt;
        SSLCertificateFile      /home/BENUTZERNAME/bin/keys/&amp;lt;b&amp;gt;k1.crt&amp;lt;/b&amp;gt;&lt;br /&gt;
        SSLCertificateKeyFile   /home/BENUTZERNAME/bin/keys/&amp;lt;b&amp;gt;k1.key&amp;lt;/b&amp;gt;&lt;br /&gt;
        &amp;lt;IfModule mod_headers.c&amp;gt;&lt;br /&gt;
            Header always set Strict-Transport-Security &amp;quot;max-age=15552000; includeSubDomains&amp;quot;&lt;br /&gt;
        &amp;lt;/IfModule&amp;gt;&lt;br /&gt;
        &amp;lt;FilesMatch &amp;quot;\.(cgi|html|shtml|pl|phtml|php)$&amp;quot;&amp;gt;&lt;br /&gt;
            SSLOptions +StdEnvVars&lt;br /&gt;
        &amp;lt;/FilesMatch&amp;gt;&lt;br /&gt;
        &amp;lt;Directory /home/BENUTZERNAME/lawsuit/cgi-bin&amp;gt;&lt;br /&gt;
            SSLOptions +StdEnvVars&lt;br /&gt;
        &amp;lt;/Directory&amp;gt;&lt;br /&gt;
    &amp;lt;/VirtualHost&amp;gt;&lt;br /&gt;
 &amp;lt;/IfModule&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 # configuration&lt;br /&gt;
 SSLProtocol             all -SSLv3 -TLSv1 -TLSv1.1 -TLSv1.2&lt;br /&gt;
 SSLHonorCipherOrder     off&lt;br /&gt;
 SSLSessionTickets       off&lt;br /&gt;
&lt;br /&gt;
Damit diese Einstellungen nicht der vom Linux-System vorgegebenen Konfiguration widersprechen, müssen in der Datei &amp;lt;tt&amp;gt;/usr/share/doc/packages/apache2/original/extra/httpd-ssl.conf&amp;lt;/tt&amp;gt; noch folgende Zeilen auskommentiert und berichtigt werden&lt;br /&gt;
 #&amp;lt;b&amp;gt;ServerName&amp;lt;/b&amp;gt; www.example.com:443&lt;br /&gt;
 ServerName &amp;lt;b&amp;gt;k1&amp;lt;/b&amp;gt;:443&lt;br /&gt;
ferner&lt;br /&gt;
 #&amp;lt;b&amp;gt;SSLCertificateFile&amp;lt;/b&amp;gt; &amp;quot;/etc/apache2/server.crt&amp;quot;&lt;br /&gt;
 SSLCertificateFile &amp;quot;/home/BENUTZERNAME/bin/keys/k1.crt&amp;quot;&lt;br /&gt;
und&lt;br /&gt;
 #&amp;lt;b&amp;gt;SSLCertificateKeyFile&amp;lt;/b&amp;gt; &amp;quot;/etc/apache2/server.key&amp;quot;&lt;br /&gt;
 SSLCertificateKeyFile &amp;quot;/home/BENUTZERNAME/bin/keys/k1.key&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Unter Firefox kann das selbstgezeichnete Zertifikat nun verwendet werden. Bitte beachten Sie, dass für jede Apache-Konfigurrationsdatei ein anderer Port geöffnet werden muss, &amp;quot;443&amp;quot; also nur einmal verwendet werden kann. Sie können alternativ z.B. &amp;quot;4443&amp;quot; verwenden.&lt;br /&gt;
&lt;br /&gt;
Abschließender Test und Neustart:&lt;br /&gt;
{{Shell |&amp;amp;#35; sudo apache2ctl -t&amp;lt;br&amp;gt;&amp;amp;nbsp; sudo systemctl restart apache2}}&lt;br /&gt;
&lt;br /&gt;
=== Registrierung als vertrauenswürdiger Aussteller für den Firefox-Browser ===&lt;br /&gt;
Damit der Firefox-Browser das Zertifikat tatsächlich verwendet und als vertrauenswürdig akzeptiert, muss es im Kleopatra-Schlüsseldienst eingetragen werden, auf den der Browser zugreift. &lt;br /&gt;
{{Shell |&amp;amp;gt; kleopatra}}&lt;br /&gt;
Klicken Sie den Reiter &amp;lt;b&amp;gt;Importieren&amp;lt;/b&amp;gt; an und fügen Sie nacheinander die folgenden Dateien ein:&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;/home/BENUTZERNAME/bin/keys/k1.crt&amp;lt;/tt&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;/etc/ssl/certs/rootCA.pem&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Bitte bestätigen Sie die erbetenen Beglaubigungen mit der Maustaste.&lt;br /&gt;
[[Datei:Kleopatra.png|thumb|600px|left|Importieren der Zertifikate in das Kleopatra-Schlüsselverwaltungsprogramm]]&lt;br /&gt;
&amp;lt;br clear=all&amp;gt;&lt;br /&gt;
Nun wechseln Sie in den Firefox-Browser und geben in die Adresszeile ein&lt;br /&gt;
 about:config&lt;br /&gt;
Dort ändern Sie die Variable&lt;br /&gt;
 security.enterprise_roots.enabled -&amp;gt; true&lt;br /&gt;
von &amp;quot;false&amp;quot; auf &amp;quot;true&amp;quot;. Nun bezieht der Browser auch Ihre eigenen CA-Beglaubigungen des Unternehmens eine seine Bewertungen mit ein und vergibt ein grünes Schlüsselsymbol.&lt;br /&gt;
&lt;br /&gt;
== Problembehebung ==&lt;br /&gt;
Lesen Sie wenn möglich die Fehlermeldungen nach dem Start des Servers. Versuchen Sie Fehler ggf. zu reproduzieren und vergleichen Sie die Einträge in den Log-Dateien. Den Einblick auf die dortigen Meldungen können Sie mit dem folgenden Befehl auf den neuesten Stand reduzieren::&lt;br /&gt;
&lt;br /&gt;
{{Shell | # tail -F /var/log/apache2/*}}&lt;br /&gt;
&lt;br /&gt;
Da die Error-Messages schnell sehr großen Umfang einnehmen, der am Ende sogar den Systemstart blockieren kann, empfiehlt es sich, mit Logrotate den Bestand unter Kontrolle zu halten. Installieren Sie dazu, falls noch nicht vom System geschehen:&lt;br /&gt;
{{Shell | # zypper in logrotate}}&lt;br /&gt;
Sie können die Einstellungen in der Konfigurationsdatei &lt;br /&gt;
 /etc/logrotate.conf&lt;br /&gt;
ändern. Eine typische Konfiguration von &amp;lt;tt&amp;gt;logrotate.conf&amp;lt;/tt&amp;gt; sieht z.B. wie folgt aus:&lt;br /&gt;
{{Shell |&amp;amp;#35; see &amp;quot;man logrotate&amp;quot; for details&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;amp;#35; rotate log files weekly &lt;br /&gt;
&amp;lt;br&amp;gt;weekly &lt;br /&gt;
&amp;lt;br&amp;gt;&amp;amp;#35; keep 4 weeks worth of backlogs &lt;br /&gt;
&amp;lt;br&amp;gt;rotate 4&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;b&amp;gt;&amp;amp;#35; remove rotated logs older than &amp;lt;count&amp;gt; days&lt;br /&gt;
&amp;lt;br&amp;gt;maxage 90 &amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;amp;#35; create new (empty) log files after rotating old ones &lt;br /&gt;
&amp;lt;br&amp;gt;create&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;amp;#35; use date as a suffix of the rotated file&lt;br /&gt;
&amp;lt;br&amp;gt;dateext&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;amp;#35; uncomment this if you want your log files compressed &lt;br /&gt;
&amp;lt;br&amp;gt;compress&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;amp;#35; comment these to switch compression to use gzip or another &lt;br /&gt;
&amp;lt;br&amp;gt;&amp;amp;#35; compression scheme&lt;br /&gt;
&amp;lt;br&amp;gt;compresscmd /usr/bin/xz&lt;br /&gt;
&amp;lt;br&amp;gt;uncompresscmd /usr/bin/xzdec&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;amp;#35; RPM packages drop log rotation information into this directory&lt;br /&gt;
&amp;lt;br&amp;gt;include /etc/logrotate.d&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Sollten Sie einen Fehler gefunden haben, [https://de.opensuse.org/SDB:Fehler_berichten berichten Sie ihn] bitte.&lt;br /&gt;
&lt;br /&gt;
==Weiterführende Informationen==&lt;br /&gt;
=== Verwandte Artikel ===&lt;br /&gt;
*[https://de.opensuse.org/YaST_Module_Firewall#Firewall_Einrichten openSUSE Firewall]&lt;br /&gt;
* Package documentation and example configuration files in /usr/share/doc/packages/apache2/&lt;br /&gt;
&lt;br /&gt;
===Externe Links===&lt;br /&gt;
* [https://doc.opensuse.org/documentation/leap/reference/html/book.opensuse.reference/cha.apache2.html openSUSE Apache Documentation]&lt;br /&gt;
* [http://httpd.apache.org/ The Apache Project]&lt;br /&gt;
* [http://www.apache.org/ Apache Software Foundation]&lt;br /&gt;
&lt;br /&gt;
{{DEFAULTSORT:{{PAGENAME}}}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Linuxinstallation]]&lt;/div&gt;</summary>
		<author><name>87.123.95.19</name></author>	</entry>

	<entry>
		<id>http://wiki.iustus.eu/wiki/index.php?title=Aufsetzen_des_Apache-Servers_-_ubuntu&amp;diff=7102</id>
		<title>Aufsetzen des Apache-Servers - ubuntu</title>
		<link rel="alternate" type="text/html" href="http://wiki.iustus.eu/wiki/index.php?title=Aufsetzen_des_Apache-Servers_-_ubuntu&amp;diff=7102"/>
				<updated>2026-01-02T10:23:19Z</updated>
		
		<summary type="html">&lt;p&gt;87.123.95.19: /* Anpassung der Firewall */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Ubuntu|&lt;br /&gt;
*[https://ubuntu.com/tutorials/install-ubuntu-desktop-1604#1-overview 16.04.]&lt;br /&gt;
|&lt;br /&gt;
*[https://ubuntu.com/tutorials/install-and-configure-apache#2-installing-apache Apache Installation]&lt;br /&gt;
|&lt;br /&gt;
*[https://de.opensuse.org/SDB:LAMP_Einrichtung SDB:LAMP_Einrichtung]&lt;br /&gt;
*[https://de.opensuse.org/Apache2 Apache2]&lt;br /&gt;
*[https://de.opensuse.org/Portal:MySQL Portal:MySQL]&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Einführung ==&lt;br /&gt;
&lt;br /&gt;
Diese Dokument gibt eine rasche Einführung, wie ein Apache-Server auf dem lokalen Rechner aufgesetzt werden kann, der die Lawsuit-Programmteile bereitstellt.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
{{Warnung| Die Kurzanleitung geht nicht vertieft auf mögliche Experten-Einstellungen des Servers ein. Insbesondere bleiben hier Sicherheitseinstellungen unberücksichtigt, die für den Betrieb als öffentlich zugänglicher Netzserver unumgänglich wären. Die nachfolgenden Schritte sind für Anwender gedacht, die Lawsuit intern auf dem Kanzleirechner hinter einer Firewall betreiben möchten.}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== Allgemeine Rechner-Konfiguration ==&lt;br /&gt;
&lt;br /&gt;
Die Software benötigt eine funktionierende Netzwerkumgebung. Diese wird jedoch bereits standardmäßig von Ubuntu eingereichtet. Achten Sie aber insbesondere bei der Nutzung von [https://de.wikipedia.org/wiki/Dynamic_Host_Configuration_Protocol DHCP] darauf, dass [[Mehrplatzsysteme - ubuntu|weitere Rechner]] der Kanzlei vom Networkmanager tatsächlich im selben Nummernraum wie dieser PC eingetragen wurden, auf dem Apache nun installiert werden soll. Ansonsten können diese Rechner später nicht auf die Kanzleisoftware zugreifen.&lt;br /&gt;
&lt;br /&gt;
Als Zweites sollte der PC auf dem aktuellen Softwarestand sein. &lt;br /&gt;
{{Shell|&amp;gt; sudo apt update}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Installation der Apache-Pakete ===&lt;br /&gt;
&lt;br /&gt;
Der Apache-Server und das optionale Perl-Modul können mit ''apt'' installiert werden. Öffnen Sie dazu ein Terminal-Fenster und wechseln Sie wie folgt in den Superuser-Modus:&lt;br /&gt;
{{Shell|&amp;gt; sudo apt install apache2}}&lt;br /&gt;
Geben Sie das Passwort ein.&lt;br /&gt;
Prüfen Sie die korrekte Funktionsweise des Apache-Servers, indem Sie in die Browser-Adresszeile die folgende Adresse eingeben:&lt;br /&gt;
 http://localhost/&lt;br /&gt;
Es sollte folgende Ausgabe zu sehen sein:&lt;br /&gt;
[[Datei:Apache_works.png|thumb|600px|left|Apache-Server Startausgabe]]&lt;br /&gt;
&amp;lt;br clear=all&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Start des Servers ===&lt;br /&gt;
Mit folgenden zwei Befehlen wird der Apache-Server gestartet und auf Dauer im System aktiviert.&lt;br /&gt;
{{Shell|# systemctl start apache2&amp;lt;br&amp;gt;&amp;amp;nbsp; systemctl enable apache2}}&lt;br /&gt;
&lt;br /&gt;
=== Einrichtung und Anpassung der Firewall ===&lt;br /&gt;
&lt;br /&gt;
Normalerweise sollte die firewall-cmd vorinstalliert sein. Ansonsten holen Sie dies bitte mit&lt;br /&gt;
{{Shell|&amp;gt; sudo apt firewalld}}&lt;br /&gt;
nach.&lt;br /&gt;
Die Firewall ist so voreingestellt, dass sie über Port 80 auf den Rechner eingehende Daten grundsätzlich sperrt. Folglich müssen die Firewall-Einstellungen so angepasst werden, dass aus dem Lokalen Netzwerk über Port 80 eingehender Datenstrom akzeptiert wird.&lt;br /&gt;
Die folgenden Schritte müssen dazu weiterhin als Root ausgeführt werden. &lt;br /&gt;
* bis [http://de.opensuse.org/Portal:42.3 Leap 42.3]&lt;br /&gt;
{{Shell|# sysconf_addword /etc/sysconfig/SuSEfirewall2 FW_CONFIGURATIONS_EXT apache2&amp;lt;br&amp;gt;&amp;amp;nbsp; sysconf_addword /etc/sysconfig/SuSEfirewall2 FW_CONFIGURATIONS_EXT apache2-ssl&amp;lt;br&amp;gt;&amp;amp;nbsp; sysconf_addword /etc/sysconfig/SuSEfirewall2 FW_CONFIGURATIONS_EXT http&amp;lt;br&amp;gt;&amp;amp;nbsp; sysconf_addword /etc/sysconfig/SuSEfirewall2 FW_CONFIGURATIONS_EXT https&amp;lt;br&amp;gt;&amp;amp;nbsp; rcSuSEfirewall2 restart }}&lt;br /&gt;
Die Einstellungen finden sich jedoch auch unter ''YaST'' und können dort im '''etc/sysconfig-Editor''' mit den Einträgen ''apache2'' und ''apache2-ssl'' aktiviert werden, indem sie diese durch Leerzeichen getrennt im Feld ''FW_CONFIGURATIONS_EXT'' in &amp;lt;tt&amp;gt;/etc/sysconfig/SuSEfirewall2 &amp;lt;/tt&amp;gt; einsetzen. Diese Konfigurationsvariable findet sich unter:&lt;br /&gt;
 Network &amp;gt; Firewall &amp;gt; SuSEfirewall2&lt;br /&gt;
&lt;br /&gt;
* ab [http://de.opensuse.org/Portal:Tubmleweed Tumbleweed]&lt;br /&gt;
Die Variablen können per ''YaST'' unter&lt;br /&gt;
 Networt &amp;gt; Firewall &lt;br /&gt;
unter der Listenauswahl ''Permanent'' wir folgt eingestellt werden:&lt;br /&gt;
[[Datei:Apache2_firewall.png|thumb|600px|left|Firewall-Einstellungen für den Apache-Server]]&lt;br /&gt;
&amp;lt;br clear=all&amp;gt;&lt;br /&gt;
Alternativ ist die Auswahl per Shell möglich:&lt;br /&gt;
{{Shell|# firewall-cmd --zone internal --permanent --add-interface&amp;amp;#61;eth0&amp;lt;br&amp;gt;&amp;amp;nbsp; firewall-cmd --zone internal --permanent --add-service&amp;amp;#61;apache2&amp;lt;br&amp;gt;&amp;amp;nbsp; firewall-cmd --zone internal --permanent --add-service&amp;amp;#61;apache2-ssl&amp;lt;br&amp;gt;&amp;amp;nbsp; firewall-cmd --zone internal --permanent --add-service&amp;amp;#61;nfs&amp;lt;br&amp;gt;&amp;amp;nbsp; firewall-cmd --zone internal --permanent --add-service&amp;amp;#61;http&amp;lt;br&amp;gt;&amp;amp;nbsp; firewall-cmd --zone internal --permanent --add-service&amp;amp;#61;https&amp;lt;br&amp;gt;&amp;amp;nbsp; firewall-cmd --reload}}&lt;br /&gt;
&lt;br /&gt;
=== Aktivierung des Servers ===&lt;br /&gt;
Starten Sie den Server und aktivieren Sie ihn in einem Bootverzeichnis, damit er mit dem Rechner hochgefahren wird (s.o. ohne Yast):&lt;br /&gt;
{{Shell|# systemctl start apache2.service&amp;lt;br&amp;gt;&amp;amp;nbsp; systemctl enable apache2}}&lt;br /&gt;
Sie können diese Einstellungen jederzeit unter ''YaST'' ändern im Untermenü&lt;br /&gt;
 YaST &amp;gt; Dienste-Verwaltung&lt;br /&gt;
&lt;br /&gt;
=== Hinzufügen von Apache-Modulen===&lt;br /&gt;
Um benötigte Apache-Module zu laden, können wir die Konfigurationsvariable ''APACHE_MODULES'' in &amp;lt;tt&amp;gt;/etc/sysconfig/apache2&amp;lt;/tt&amp;gt; editieren. Schneller geht es jedoch mit den nachfolgenden Befehlen. Nach der Änderung muss der Server neu gestartet werden. Auch für die folgenden Befehle sind wieder die Rechte eines Superusers vonnöten.&lt;br /&gt;
{{Shell|# a2enmod mod_perl&amp;lt;br&amp;gt;&amp;amp;nbsp; a2enmod mod_env&amp;lt;br&amp;gt;&amp;amp;nbsp; a2enmod mod_ssl&amp;lt;br&amp;gt;&amp;amp;nbsp; a2enmod mod_php5&amp;lt;br&amp;gt;&amp;amp;nbsp; a2enmod mod_python&amp;lt;br&amp;gt;&amp;amp;nbsp; a2enmod mod_wsgi&amp;lt;br&amp;gt;&amp;amp;nbsp; a2enmod mod_cgi&amp;lt;br&amp;gt;&amp;amp;nbsp; a2enmod -l&amp;lt;br&amp;gt;&amp;amp;nbsp; systemctl restart apache2}}&lt;br /&gt;
&lt;br /&gt;
== Virtual Hosts ==&lt;br /&gt;
===Allgemeines===&lt;br /&gt;
Das Verzeichnis für alle Virtual Host ist &amp;lt;tt&amp;gt;/etc/apache2/vhosts.d/&amp;lt;/tt&amp;gt;. Wie Sie sehen gibt es zwei Konfigurationsdateien - eine mit ssl, die andere ohne ssl. Wir benutzen die Vorlage ohne [https://de.wikipedia.org/wiki/Transport_Layer_Security Secure Sockets Layer]. Nur Dateien mit dem Suffix &amp;quot;.conf&amp;quot; werden automatisch in die Apachekonfiguration einbezogen.&lt;br /&gt;
&lt;br /&gt;
{{Intro|Wenn Sie neben Lawsuit einen weiteren eigenen Virtual Host hinzufügen möchten, ersetzen Sie in den folgenden Zeilen bitte ''Domainname'' durch ihren Verzeichnisnamen oder Ihre IP-Adresse.}}&lt;br /&gt;
&lt;br /&gt;
* Es gibt mehrere Varianten für die Struktur, mit welcher der eigenen Server auf dem Rechner aufgesetzt werden kann. Folgende Optionen bieten sich an: &lt;br /&gt;
:* [https://httpd.apache.org/docs/2.4/de/vhosts/name-based.html namensbasiert]&lt;br /&gt;
:* [https://httpd.apache.org/docs/2.4/de/vhosts/ip-based.html IP-basiert]&lt;br /&gt;
:* portbasiert&lt;br /&gt;
&lt;br /&gt;
* Sei können für Ihre Verzeichnisse die Vorlage '''vhost.template''' kopieren und als Ihre '''{DOMAINNAME}.conf''' speichern. Hier hinein tragen Sie anschließend die Unterverzeichnisse für Ihren Virtual Host ein.&lt;br /&gt;
&lt;br /&gt;
===Einstellungen für ''Lawsuit''===&lt;br /&gt;
Für ''Lawsuit'' wird die Konfigurationsdatei jedoch im Unterverzeichnis &amp;lt;tt&amp;gt;lawsuit/settings&amp;lt;/tt&amp;gt; bereits fertig zur Verfügung gestellt. Sie müssen lediglich in der genannten Datei den Platzhalter durch den eigenen Nutzernamen ersetzen und die fertige Datei in das Vhosts-Verzeichnis verlinken. Wechseln Sie in das Unterverzeichnis &amp;lt;tt&amp;gt;lawsuit/settings&amp;lt;/tt&amp;gt;. Wenn Sie ''Lawsuit'' in Ihrem Nutzerhauptverzeichnis installiert haben, gelangen Sie mit diesem Befehl dorthin:&lt;br /&gt;
{{Shell | &amp;gt; cd ~/lawsuit/settings}}&lt;br /&gt;
Erstellen Sie dort eine Konfigurationsdatei aus der Vorlage &amp;lt;tt&amp;gt;lawsuit-httpd.template&amp;lt;/tt&amp;gt; und ersetzen Sie den darin enthaltenen Platzhalter ''meinpfad'' dabei durch Ihren Pfad zum aktuellen Verzeichnis. Dies erfolgt automatisiert durch diese Befehle:&lt;br /&gt;
{{Shell | &amp;gt; pfad&amp;amp;#61;&amp;amp;#96;pwd &amp;amp;#124; sed &amp;amp;apos;s/\/lawsuit.*//&amp;amp;apos;  &amp;amp;#124; sed &amp;amp;apos;s/\//\\\\\//g&amp;amp;apos;&amp;amp;#96;&amp;lt;br&amp;gt; &amp;gt; sed &amp;amp;quot;s/meinpfad/$pfad/g&amp;amp;quot; lawsuit-httpd.template &amp;gt; lawsuit-httpd.conf}}&lt;br /&gt;
Falls Ihr Pfad zum Ordner &amp;lt;tt&amp;gt;Documents&amp;lt;/tt&amp;gt; nicht mit dem soeben ermittelten Pfad für &amp;lt;tt&amp;gt;lawsuit&amp;lt;/tt&amp;gt; identisch ist, passen Sie diese Einstellungen für das Verzeichnis &amp;lt;tt&amp;gt;Documents&amp;lt;/tt&amp;gt; bitte in der &amp;lt;tt&amp;gt;lawsuit-httpd.conf&amp;lt;/tt&amp;gt; mit einem Editor wie '''kate''' von Hand an.&lt;br /&gt;
&lt;br /&gt;
Abschließend kopieren Sie die erstellte Konfigurationsdatei als ''Superuser'' in das Verzeichnis der Virtual Hosts von Apache:&lt;br /&gt;
&lt;br /&gt;
{{Shell | &amp;gt; sudo cp lawsuit-httpd.conf /etc/apache2/vhosts.d/}}&lt;br /&gt;
&lt;br /&gt;
* Neustart von Apache&lt;br /&gt;
{{Shell | &amp;gt; sudo service apache2 restart}}&lt;br /&gt;
&lt;br /&gt;
=== Anpassen der Konfiguration ===&lt;br /&gt;
Um Ergänzungen oder Änderungen einheitlich für alle Virtual Hosts an der Datei &amp;lt;tt&amp;gt;/etc/apache2/default-server.conf&amp;lt;/tt&amp;gt; vorzunehmen, editieren Sie die Konfigurationsvariable ''APACHE_CONF_INCLUDE_FILES'' mithilfe von &lt;br /&gt;
 YaST &amp;gt; etc/sysconfig-Editor&lt;br /&gt;
oder arbeiten direkt in der Textdatei &amp;lt;tt&amp;gt;/etc/sysconfig/apache2&amp;lt;/tt&amp;gt;. Zum Verständnis der Hierarchie und des Layouts um Dateien einzubeziehen, lesen Sie die Kommentierung im Kopf der &amp;lt;tt&amp;gt;httpd.conf&amp;lt;/tt&amp;gt;. Die ursprüngliche, einfache Konfigurationsdatei mit nur 40K findet sich notfalls unter &amp;lt;tt&amp;gt;/usr/share/doc/packages/apache2/httpd-std.conf-prefork&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Optional: Ein Zertifikat für localhost erstellen ==&lt;br /&gt;
Bei Mehrplatzsystemen funktionieren die Javascript-Voreintragungen bei Nutzung einer sicheren HTTPS-Verbindung nur, wenn ein eigenes Zertifikat erstellt wird, dessen Aussteller zudem noch aus vertrauenswürdig eingestuft werden muss.OpenSSL bringt umfassende Werkzeuge mit, um eine eigene, kleine Certificate Authority (CA) betreiben zu können. &lt;br /&gt;
=== Vergabe einer Domain für den Rechner mit den Lawsuit-Daten ===&lt;br /&gt;
Unter &amp;lt;i&amp;gt;yast2 &amp;gt; Netzwerkdienste &amp;gt; Rechnernamen&amp;lt;/i&amp;gt; fügen Sie unter der Zeile &amp;quot;localhost&amp;quot; eine Zeile mit folgenden Daten ein:&lt;br /&gt;
 IP-Adresse: &amp;lt;b&amp;gt;192.168.2.10&amp;lt;/b&amp;gt;&lt;br /&gt;
 Hostnamen:  &amp;lt;b&amp;gt;k1.local&amp;lt;/b&amp;gt;&lt;br /&gt;
 Aliasnamen: &amp;lt;b&amp;gt;k1&amp;lt;/b&amp;gt;&lt;br /&gt;
[[Datei:Hostkonfiguration.png|thumb|600px|left|Eigenen Rechnernamen vergeben]]&lt;br /&gt;
&amp;lt;br clear=all&amp;gt;&lt;br /&gt;
Sie können statt &amp;quot;k1&amp;quot; eine beliebe andere Bezeichnung für den Hauptrechner wählen, müssen dann aber Ihre Domain in den folgenden Einstellungen beibehalten.&lt;br /&gt;
&lt;br /&gt;
=== Certificate Authority (CA) erstellen ===&lt;br /&gt;
Zu Beginn wird die Certificate Authority generiert. Zunächst wird ein geheimer Private Key erzeugt:&lt;br /&gt;
{{Shell |&amp;amp;gt; sudo openssl genrsa -aes256 -out /etc/ssl/private/rootCA.key 4096}}&lt;br /&gt;
Der Key trägt den Namen “rootCA.pem” und hat eine Länge von 4096 Bit. Die Option “-aes256” führt dazu, dass der Key mit einem Passwort geschützt wird. Die Key-Datei der CA muss tatsächlich besonders gut geschützt werden. Ein Angreifer, der den Key in die Hände bekommt, kann beliebig gefälschte Zertifikate im Namen der Kanzlei ausstellen, denen die Clients trauen. Die Verschlüsselung dieses Keys mit einem Passwort gibt zusätzlichen Schutz. Das gewünschte Passwort wird bei der Generierung abgefragt.&lt;br /&gt;
Einen geheimen Key für die CA gibt es damit also schon - es fehlt noch das Root-Zertifikat, das von den Clients später importiert werden muss, damit die von der CA ausgestellten Zertifikate im Browser als gültig erkannt werden. Das Root-Zertifikat “ca-root.pem” wird mit folgendem Befehl erzeugt: &lt;br /&gt;
{{Shell |&amp;amp;gt; sudo openssl req -x509 -new -nodes -key /etc/ssl/private/rootCA.key -sha512 -days 5483 -out /etc/ssl/certs/rootCA.pem}}&lt;br /&gt;
In diesem Fall wird die CA 5483 Tage, also mit Schalttagen 15 Jahre lang gültig bleiben. Während der Generierung werden das Passwort für die CA und einige Attribute abgefragt (hier ein Beispiel):&lt;br /&gt;
 Country Name (2 letter code) [AU]:&amp;lt;b&amp;gt;DE&amp;lt;/b&amp;gt;&lt;br /&gt;
 State or Province Name (full name) [Some-State]:&amp;lt;b&amp;gt;Nordrhein-Westfalen&amp;lt;/b&amp;gt;&lt;br /&gt;
 Locality Name (eg, city) []:&amp;lt;b&amp;gt;Muenster&amp;lt;/b&amp;gt;&lt;br /&gt;
 Organization Name (eg, company) [Internet Widgits Pty Ltd]:&amp;lt;b&amp;gt;Kanzlei Hermanns&amp;lt;/b&amp;gt;&lt;br /&gt;
 Organizational Unit Name (eg, section) []:&amp;lt;b&amp;gt;Rechtsanwalt&amp;lt;/b&amp;gt;&lt;br /&gt;
 Common Name (e.g. server FQDN or YOUR name) []:&amp;lt;b&amp;gt;RA Matthias Hermanns&amp;lt;/b&amp;gt;&lt;br /&gt;
 Email Address []:&amp;lt;b&amp;gt;hermanns@iustus.eu&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Erzeugen des Schlüssels===&lt;br /&gt;
Mit diesen Daten wird auch eine Konfiguratunsdatei mit Namen &amp;lt;tt&amp;gt;ssl.cnf&amp;lt;/tt&amp;gt; befüllt, die die Schlüsselausgabe später vereinfacht.&lt;br /&gt;
{{Shell |&amp;amp;gt; cd ~/bin&amp;lt;br&amp;gt;&amp;amp;nbsp; mkdir keys&amp;lt;br&amp;gt;&amp;amp;nbsp; cd keys&amp;lt;br&amp;gt;&amp;amp;nbsp; kate ssl.cnf}}&lt;br /&gt;
Die Datei kann beispielsweise den folgenden Inhalt haben&lt;br /&gt;
 [req]&lt;br /&gt;
 # Standard-Verschlüsselung&lt;br /&gt;
 default_bits = 4096&lt;br /&gt;
 # verhindere prompt für die Zertifikat-Erstellung&lt;br /&gt;
 # (Daten kommen aus dieser Datei)&lt;br /&gt;
 prompt = no&lt;br /&gt;
 # Verschlüsselungsmethode&lt;br /&gt;
 default_md = sha512&lt;br /&gt;
 # Kryptographie abschalten&lt;br /&gt;
 encrypt_key = no&lt;br /&gt;
 # Sektion für Zertifizierer-Informationen:&lt;br /&gt;
 distinguished_name = dn&lt;br /&gt;
 &lt;br /&gt;
 # Zertifizierer-Informationen:&lt;br /&gt;
 [dn]&lt;br /&gt;
 # Länder-Code&lt;br /&gt;
 C=DE&lt;br /&gt;
 # Bundesland&lt;br /&gt;
 ST=Nordrhein-Westfalen&lt;br /&gt;
 # Stadt&lt;br /&gt;
 L=Muenster&lt;br /&gt;
 # Bezeichnung/Firmen-Name/Dein Name:&lt;br /&gt;
 O=Kanzlei Hermanns&lt;br /&gt;
 # Aussteller Name&lt;br /&gt;
 OU=RA Matthias Hermanns&lt;br /&gt;
 # E-Mail-Adresse&lt;br /&gt;
 emailAddress=hermanns@iustus.eu&lt;br /&gt;
 # Primärer Servername&lt;br /&gt;
 CN = &amp;lt;b&amp;gt;k1&amp;lt;/b&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 [v3_ca]&lt;br /&gt;
 keyUsage = digitalSignature, keyEncipherment&lt;br /&gt;
 extendedKeyUsage = serverAuth&lt;br /&gt;
 subjectAltName = IP:&amp;lt;b&amp;gt;192.168.2.10&amp;lt;/b&amp;gt;, DNS:&amp;lt;b&amp;gt;k1&amp;lt;/b&amp;gt;, DNS:&amp;lt;b&amp;gt;k1.local&amp;lt;/b&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 [ req_ext ]&lt;br /&gt;
 subjectAltName = @alt_names&lt;br /&gt;
 &lt;br /&gt;
 [alt_names]&lt;br /&gt;
 # Primärer Server-Name&lt;br /&gt;
 DNS.1 = &amp;lt;b&amp;gt;k1&amp;lt;/b&amp;gt;&lt;br /&gt;
 # Sekunärer Server-Name&lt;br /&gt;
 DNS.2 = &amp;lt;b&amp;gt;k1.local&amp;lt;/b&amp;gt;&lt;br /&gt;
 # Wildcard Subdomains&lt;br /&gt;
 DNS.3 = *.&amp;lt;b&amp;gt;k1.local&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Speichern Sie die so erstellte Datei &amp;lt;tt&amp;gt;ssl.cnf&amp;lt;/tt&amp;gt; im &amp;lt;tt&amp;gt;bin&amp;lt;/tt&amp;gt;-Verzeichnis ab. Mit folgendem Befehl erzeugen Sie nun als zertifizierter Aussteller die eigentlichen Schlüssel für die SSL-Verbindung.&lt;br /&gt;
Zunächst wird der RSA-Key mit 3072 Bit erzeugt (Asymmetrischer Schlüssel von Rivest, Shamir und Adleman, der einen privaten und einen öffentlichen Teil hat):&lt;br /&gt;
{{Shell |&amp;amp;gt; openssl genrsa -out k1.key 3072}}&lt;br /&gt;
Nun folgt die Certificate Signing Request (CSR; deutsch Zertifikatsignierungsanforderung), ein digitaler Antrag, um mittels der soeben erzeugten digitalen Signatur und der zusätzlichen Identitätsangaben zum Antragstellers aus der &amp;lt;tt&amp;gt;ssl.cnf&amp;lt;/tt&amp;gt; ein persönliches digitales Identitäts-Zertifikat (auch Public-Key-Zertifikat genannt) zu erstellen:&lt;br /&gt;
{{Shell |&amp;amp;gt; openssl req -new -keyout ~/bin/keys/k1.key -out ~/bin/keys/k1.csr -config ~/bin/keys/ssl.cnf}}&lt;br /&gt;
Mithilfe des Wurzelzertifikats vom verifizierten Aussteller (uns selbst) wird nun der eigentliche Schlüssel erstellt, damit eine Rückverfolgung zum Wurzelzertifikat möglich ist. &lt;br /&gt;
{{Shell |&amp;amp;gt; sudo openssl x509 -req \&amp;lt;br&amp;gt;&amp;amp;nbsp; -in ~/bin/keys/k1.csr \&amp;lt;br&amp;gt;&amp;amp;nbsp; -CA /etc/ssl/certs/rootCA.pem \&amp;lt;br&amp;gt;&amp;amp;nbsp; -CAkey /etc/ssl/private/rootCA.key \&amp;lt;br&amp;gt;&amp;amp;nbsp; -CAcreateserial \&amp;lt;br&amp;gt;&amp;amp;nbsp; -out ~/bin/keys/k1.crt \&amp;lt;br&amp;gt;&amp;amp;nbsp; -days 3653 \&amp;lt;br&amp;gt;&amp;amp;nbsp; -extfile ~/bin/keys/ssl.cnf \&amp;lt;br&amp;gt;&amp;amp;nbsp; -extensions v3_ca }}&lt;br /&gt;
&lt;br /&gt;
Damit die Zertifkate in unsere regelmäßige Sicherungsspeicherung aufgenommen werden, können wir sie in das Schlüsselverzeichnis &amp;lt;tt&amp;gt;keys&amp;lt;/tt&amp;gt; unter &amp;lt;tt&amp;gt;lawsuit&amp;lt;/tt&amp;gt; kopieren. Dies ist jedoch nur optional, weil es ein Sicherheitsrisiko eröffnet:&lt;br /&gt;
{{Shell |&amp;amp;gt; sudo chown matthias:users keys/k1.crt&amp;lt;br&amp;gt;&amp;amp;nbsp; chmod 640 ~/bin/keys/k1.*&amp;lt;br&amp;gt;&amp;amp;nbsp; cp ~/bin/keys/k1.* ~/lawsuit/keys/}}&lt;br /&gt;
&lt;br /&gt;
=== Verbindung mit dem Server ===&lt;br /&gt;
Wenn Sie host-Datei &amp;lt;tt&amp;gt;lawsuit-httpd.conf&amp;lt;/tt&amp;gt; automatisch wie oben vorgeschlagen generiert haben, sind die notwendigen Einstellungen schon voreingetragen und müssen nur auskommentiert werden. Ansonsten ergänzen Sie unter /etc/apache2/vhosts.d/&lt;br /&gt;
folgende Zeilen:&lt;br /&gt;
 &amp;lt;VirtualHost *:80&amp;gt;&lt;br /&gt;
    ServerName &amp;lt;b&amp;gt;k1&amp;lt;/b&amp;gt;&lt;br /&gt;
    ServerAlias &amp;lt;b&amp;gt;k1.local&amp;lt;/b&amp;gt;&lt;br /&gt;
 &amp;lt;/VirtualHost&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 &amp;lt;IfModule mod_ssl.c&amp;gt;&lt;br /&gt;
    &amp;lt;VirtualHost *:443&amp;gt;&lt;br /&gt;
        ServerAdmin webmaster@localhost&lt;br /&gt;
        DocumentRoot /home/BENUTZERNAME/lawsuit/&lt;br /&gt;
        ServerName &amp;lt;b&amp;gt;k1&amp;lt;/b&amp;gt;&lt;br /&gt;
        ServerAlias &amp;lt;b&amp;gt;k1.local&amp;lt;/b&amp;gt;&lt;br /&gt;
        ErrorLog /var/log/apache2/error_log&lt;br /&gt;
        SSLEngine on&lt;br /&gt;
        SSLCertificateFile      /home/BENUTZERNAME/bin/keys/&amp;lt;b&amp;gt;k1.crt&amp;lt;/b&amp;gt;&lt;br /&gt;
        SSLCertificateKeyFile   /home/BENUTZERNAME/bin/keys/&amp;lt;b&amp;gt;k1.key&amp;lt;/b&amp;gt;&lt;br /&gt;
        &amp;lt;IfModule mod_headers.c&amp;gt;&lt;br /&gt;
            Header always set Strict-Transport-Security &amp;quot;max-age=15552000; includeSubDomains&amp;quot;&lt;br /&gt;
        &amp;lt;/IfModule&amp;gt;&lt;br /&gt;
        &amp;lt;FilesMatch &amp;quot;\.(cgi|html|shtml|pl|phtml|php)$&amp;quot;&amp;gt;&lt;br /&gt;
            SSLOptions +StdEnvVars&lt;br /&gt;
        &amp;lt;/FilesMatch&amp;gt;&lt;br /&gt;
        &amp;lt;Directory /home/BENUTZERNAME/lawsuit/cgi-bin&amp;gt;&lt;br /&gt;
            SSLOptions +StdEnvVars&lt;br /&gt;
        &amp;lt;/Directory&amp;gt;&lt;br /&gt;
    &amp;lt;/VirtualHost&amp;gt;&lt;br /&gt;
 &amp;lt;/IfModule&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 # configuration&lt;br /&gt;
 SSLProtocol             all -SSLv3 -TLSv1 -TLSv1.1 -TLSv1.2&lt;br /&gt;
 SSLHonorCipherOrder     off&lt;br /&gt;
 SSLSessionTickets       off&lt;br /&gt;
&lt;br /&gt;
Damit diese Einstellungen nicht der vom Linux-System vorgegebenen Konfiguration widersprechen, müssen in der Datei &amp;lt;tt&amp;gt;/usr/share/doc/packages/apache2/original/extra/httpd-ssl.conf&amp;lt;/tt&amp;gt; noch folgende Zeilen auskommentiert und berichtigt werden&lt;br /&gt;
 #&amp;lt;b&amp;gt;ServerName&amp;lt;/b&amp;gt; www.example.com:443&lt;br /&gt;
 ServerName &amp;lt;b&amp;gt;k1&amp;lt;/b&amp;gt;:443&lt;br /&gt;
ferner&lt;br /&gt;
 #&amp;lt;b&amp;gt;SSLCertificateFile&amp;lt;/b&amp;gt; &amp;quot;/etc/apache2/server.crt&amp;quot;&lt;br /&gt;
 SSLCertificateFile &amp;quot;/home/BENUTZERNAME/bin/keys/k1.crt&amp;quot;&lt;br /&gt;
und&lt;br /&gt;
 #&amp;lt;b&amp;gt;SSLCertificateKeyFile&amp;lt;/b&amp;gt; &amp;quot;/etc/apache2/server.key&amp;quot;&lt;br /&gt;
 SSLCertificateKeyFile &amp;quot;/home/BENUTZERNAME/bin/keys/k1.key&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Unter Firefox kann das selbstgezeichnete Zertifikat nun verwendet werden. Bitte beachten Sie, dass für jede Apache-Konfigurrationsdatei ein anderer Port geöffnet werden muss, &amp;quot;443&amp;quot; also nur einmal verwendet werden kann. Sie können alternativ z.B. &amp;quot;4443&amp;quot; verwenden.&lt;br /&gt;
&lt;br /&gt;
Abschließender Test und Neustart:&lt;br /&gt;
{{Shell |&amp;amp;#35; sudo apache2ctl -t&amp;lt;br&amp;gt;&amp;amp;nbsp; sudo systemctl restart apache2}}&lt;br /&gt;
&lt;br /&gt;
=== Registrierung als vertrauenswürdiger Aussteller für den Firefox-Browser ===&lt;br /&gt;
Damit der Firefox-Browser das Zertifikat tatsächlich verwendet und als vertrauenswürdig akzeptiert, muss es im Kleopatra-Schlüsseldienst eingetragen werden, auf den der Browser zugreift. &lt;br /&gt;
{{Shell |&amp;amp;gt; kleopatra}}&lt;br /&gt;
Klicken Sie den Reiter &amp;lt;b&amp;gt;Importieren&amp;lt;/b&amp;gt; an und fügen Sie nacheinander die folgenden Dateien ein:&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;/home/BENUTZERNAME/bin/keys/k1.crt&amp;lt;/tt&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;/etc/ssl/certs/rootCA.pem&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Bitte bestätigen Sie die erbetenen Beglaubigungen mit der Maustaste.&lt;br /&gt;
[[Datei:Kleopatra.png|thumb|600px|left|Importieren der Zertifikate in das Kleopatra-Schlüsselverwaltungsprogramm]]&lt;br /&gt;
&amp;lt;br clear=all&amp;gt;&lt;br /&gt;
Nun wechseln Sie in den Firefox-Browser und geben in die Adresszeile ein&lt;br /&gt;
 about:config&lt;br /&gt;
Dort ändern Sie die Variable&lt;br /&gt;
 security.enterprise_roots.enabled -&amp;gt; true&lt;br /&gt;
von &amp;quot;false&amp;quot; auf &amp;quot;true&amp;quot;. Nun bezieht der Browser auch Ihre eigenen CA-Beglaubigungen des Unternehmens eine seine Bewertungen mit ein und vergibt ein grünes Schlüsselsymbol.&lt;br /&gt;
&lt;br /&gt;
== Problembehebung ==&lt;br /&gt;
Lesen Sie wenn möglich die Fehlermeldungen nach dem Start des Servers. Versuchen Sie Fehler ggf. zu reproduzieren und vergleichen Sie die Einträge in den Log-Dateien. Den Einblick auf die dortigen Meldungen können Sie mit dem folgenden Befehl auf den neuesten Stand reduzieren::&lt;br /&gt;
&lt;br /&gt;
{{Shell | # tail -F /var/log/apache2/*}}&lt;br /&gt;
&lt;br /&gt;
Da die Error-Messages schnell sehr großen Umfang einnehmen, der am Ende sogar den Systemstart blockieren kann, empfiehlt es sich, mit Logrotate den Bestand unter Kontrolle zu halten. Installieren Sie dazu, falls noch nicht vom System geschehen:&lt;br /&gt;
{{Shell | # zypper in logrotate}}&lt;br /&gt;
Sie können die Einstellungen in der Konfigurationsdatei &lt;br /&gt;
 /etc/logrotate.conf&lt;br /&gt;
ändern. Eine typische Konfiguration von &amp;lt;tt&amp;gt;logrotate.conf&amp;lt;/tt&amp;gt; sieht z.B. wie folgt aus:&lt;br /&gt;
{{Shell |&amp;amp;#35; see &amp;quot;man logrotate&amp;quot; for details&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;amp;#35; rotate log files weekly &lt;br /&gt;
&amp;lt;br&amp;gt;weekly &lt;br /&gt;
&amp;lt;br&amp;gt;&amp;amp;#35; keep 4 weeks worth of backlogs &lt;br /&gt;
&amp;lt;br&amp;gt;rotate 4&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;b&amp;gt;&amp;amp;#35; remove rotated logs older than &amp;lt;count&amp;gt; days&lt;br /&gt;
&amp;lt;br&amp;gt;maxage 90 &amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;amp;#35; create new (empty) log files after rotating old ones &lt;br /&gt;
&amp;lt;br&amp;gt;create&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;amp;#35; use date as a suffix of the rotated file&lt;br /&gt;
&amp;lt;br&amp;gt;dateext&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;amp;#35; uncomment this if you want your log files compressed &lt;br /&gt;
&amp;lt;br&amp;gt;compress&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;amp;#35; comment these to switch compression to use gzip or another &lt;br /&gt;
&amp;lt;br&amp;gt;&amp;amp;#35; compression scheme&lt;br /&gt;
&amp;lt;br&amp;gt;compresscmd /usr/bin/xz&lt;br /&gt;
&amp;lt;br&amp;gt;uncompresscmd /usr/bin/xzdec&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;amp;#35; RPM packages drop log rotation information into this directory&lt;br /&gt;
&amp;lt;br&amp;gt;include /etc/logrotate.d&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Sollten Sie einen Fehler gefunden haben, [https://de.opensuse.org/SDB:Fehler_berichten berichten Sie ihn] bitte.&lt;br /&gt;
&lt;br /&gt;
==Weiterführende Informationen==&lt;br /&gt;
=== Verwandte Artikel ===&lt;br /&gt;
*[https://de.opensuse.org/YaST_Module_Firewall#Firewall_Einrichten openSUSE Firewall]&lt;br /&gt;
* Package documentation and example configuration files in /usr/share/doc/packages/apache2/&lt;br /&gt;
&lt;br /&gt;
===Externe Links===&lt;br /&gt;
* [https://doc.opensuse.org/documentation/leap/reference/html/book.opensuse.reference/cha.apache2.html openSUSE Apache Documentation]&lt;br /&gt;
* [http://httpd.apache.org/ The Apache Project]&lt;br /&gt;
* [http://www.apache.org/ Apache Software Foundation]&lt;br /&gt;
&lt;br /&gt;
{{DEFAULTSORT:{{PAGENAME}}}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Linuxinstallation]]&lt;/div&gt;</summary>
		<author><name>87.123.95.19</name></author>	</entry>

	<entry>
		<id>http://wiki.iustus.eu/wiki/index.php?title=Aufsetzen_des_Apache-Servers_-_ubuntu&amp;diff=7095</id>
		<title>Aufsetzen des Apache-Servers - ubuntu</title>
		<link rel="alternate" type="text/html" href="http://wiki.iustus.eu/wiki/index.php?title=Aufsetzen_des_Apache-Servers_-_ubuntu&amp;diff=7095"/>
				<updated>2026-01-02T10:12:25Z</updated>
		
		<summary type="html">&lt;p&gt;87.123.95.19: /* Installation der Apache-Pakete */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Ubuntu|&lt;br /&gt;
*[https://ubuntu.com/tutorials/install-ubuntu-desktop-1604#1-overview 16.04.]&lt;br /&gt;
|&lt;br /&gt;
*https://ubuntu.com/tutorials/install-and-configure-apache#2-installing-apache Apache Installation]&lt;br /&gt;
|&lt;br /&gt;
*[https://de.opensuse.org/SDB:LAMP_Einrichtung SDB:LAMP_Einrichtung]&lt;br /&gt;
*[https://de.opensuse.org/Apache2 Apache2]&lt;br /&gt;
*[https://de.opensuse.org/Portal:MySQL Portal:MySQL]&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Einführung ==&lt;br /&gt;
&lt;br /&gt;
Diese Dokument gibt eine rasche Einführung, wie ein Apache-Server auf dem lokalen Rechner aufgesetzt werden kann, der die Lawsuit-Programmteile bereitstellt.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
{{Warnung| Die Kurzanleitung geht nicht vertieft auf mögliche Experten-Einstellungen des Servers ein. Insbesondere bleiben hier Sicherheitseinstellungen unberücksichtigt, die für den Betrieb als öffentlich zugänglicher Netzserver unumgänglich wären. Die nachfolgenden Schritte sind für Anwender gedacht, die Lawsuit intern auf dem Kanzleirechner hinter einer Firewall betreiben möchten.}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== Allgemeine Rechner-Konfiguration ==&lt;br /&gt;
&lt;br /&gt;
Die Software benötigt eine funktionierende Netzwerkumgebung. Diese wird jedoch bereits standardmäßig von Ubuntu eingereichtet. Achten Sie aber insbesondere bei der Nutzung von [https://de.wikipedia.org/wiki/Dynamic_Host_Configuration_Protocol DHCP] darauf, dass [[ weitere Rechner]] der Kanzlei vom Networkmanager tatsächlich im selben Nummernraum wie dieser PC eingetragen wurden, auf dem Apache nun installiert werden soll. Ansonsten können diese Rechner später nicht auf die Kanzleisoftware zugreifen.&lt;br /&gt;
&lt;br /&gt;
Als Zweites sollte der PC auf dem aktuellen Softwarestand sein. &lt;br /&gt;
{{Shell|&amp;gt; sudo apt update}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Installation der Apache-Pakete ===&lt;br /&gt;
&lt;br /&gt;
Der Apache-Server und das optionale Perl-Modul können mit ''apt'' installiert werden. Öffnen Sie dazu ein Terminal-Fenster und wechseln Sie wie folgt in den Superuser-Modus:&lt;br /&gt;
{{Shell|&amp;gt; sudo apt install apache2}}&lt;br /&gt;
Geben Sie das Passwort ein.&lt;br /&gt;
Prüfen Sie die korrekte Funktionsweise des Apache-Servers, indem Sie in die Browser-Adresszeile die folgende Adresse eingeben:&lt;br /&gt;
 http://localhost/&lt;br /&gt;
Es sollte folgende Ausgabe zuu sehen sein:&lt;br /&gt;
[[Datei:Apache_works.png|thumb|600px|left|Apache-Server Startausgabe]]&lt;br /&gt;
&lt;br /&gt;
=== Start des Servers Yast ===&lt;br /&gt;
Mit folgenden zwei Befehlen wird der Apache-Server gestartet und auf Dauer im System aktiviert.&lt;br /&gt;
{{Shell|# systemctl start apache2&amp;lt;br&amp;gt;&amp;amp;nbsp; systemctl enable apache2}}&lt;br /&gt;
&lt;br /&gt;
=== Anpassung der Firewall ===&lt;br /&gt;
&lt;br /&gt;
Die Firewall ist so voreingestellt, dass sie über Port 80 auf den Rechner eingehende Daten grundsätzlich sperrt. Folglich müssen die Firewall-Einstellungen so angepasst werden, dass aus dem Lokalen Netzwerk über Port 80 eingehender Datenstrom akzeptiert wird.&lt;br /&gt;
Die folgenden Schritte müssen dazu weiterhin als Root ausgeführt werden. &lt;br /&gt;
* bis [http://de.opensuse.org/Portal:42.3 Leap 42.3]&lt;br /&gt;
{{Shell|# sysconf_addword /etc/sysconfig/SuSEfirewall2 FW_CONFIGURATIONS_EXT apache2&amp;lt;br&amp;gt;&amp;amp;nbsp; sysconf_addword /etc/sysconfig/SuSEfirewall2 FW_CONFIGURATIONS_EXT apache2-ssl&amp;lt;br&amp;gt;&amp;amp;nbsp; sysconf_addword /etc/sysconfig/SuSEfirewall2 FW_CONFIGURATIONS_EXT http&amp;lt;br&amp;gt;&amp;amp;nbsp; sysconf_addword /etc/sysconfig/SuSEfirewall2 FW_CONFIGURATIONS_EXT https&amp;lt;br&amp;gt;&amp;amp;nbsp; rcSuSEfirewall2 restart }}&lt;br /&gt;
Die Einstellungen finden sich jedoch auch unter ''YaST'' und können dort im '''etc/sysconfig-Editor''' mit den Einträgen ''apache2'' und ''apache2-ssl'' aktiviert werden, indem sie diese durch Leerzeichen getrennt im Feld ''FW_CONFIGURATIONS_EXT'' in &amp;lt;tt&amp;gt;/etc/sysconfig/SuSEfirewall2 &amp;lt;/tt&amp;gt; einsetzen. Diese Konfigurationsvariable findet sich unter:&lt;br /&gt;
 Network &amp;gt; Firewall &amp;gt; SuSEfirewall2&lt;br /&gt;
&lt;br /&gt;
* ab [http://de.opensuse.org/Portal:Tubmleweed Tumbleweed]&lt;br /&gt;
Die Variablen können per ''YaST'' unter&lt;br /&gt;
 Networt &amp;gt; Firewall &lt;br /&gt;
unter der Listenauswahl ''Permanent'' wir folgt eingestellt werden:&lt;br /&gt;
[[Datei:Apache2_firewall.png|thumb|600px|left|Firewall-Einstellungen für den Apache-Server]]&lt;br /&gt;
&amp;lt;br clear=all&amp;gt;&lt;br /&gt;
Alternativ ist die Auswahl per Shell möglich:&lt;br /&gt;
{{Shell|# firewall-cmd --zone internal --permanent --add-interface&amp;amp;#61;eth0&amp;lt;br&amp;gt;&amp;amp;nbsp; firewall-cmd --zone internal --permanent --add-service&amp;amp;#61;apache2&amp;lt;br&amp;gt;&amp;amp;nbsp; firewall-cmd --zone internal --permanent --add-service&amp;amp;#61;apache2-ssl&amp;lt;br&amp;gt;&amp;amp;nbsp; firewall-cmd --zone internal --permanent --add-service&amp;amp;#61;nfs&amp;lt;br&amp;gt;&amp;amp;nbsp; firewall-cmd --zone internal --permanent --add-service&amp;amp;#61;http&amp;lt;br&amp;gt;&amp;amp;nbsp; firewall-cmd --zone internal --permanent --add-service&amp;amp;#61;https&amp;lt;br&amp;gt;&amp;amp;nbsp; firewall-cmd --reload}}&lt;br /&gt;
&lt;br /&gt;
=== Aktivierung des Servers ===&lt;br /&gt;
Starten Sie den Server und aktivieren Sie ihn in einem Bootverzeichnis, damit er mit dem Rechner hochgefahren wird (s.o. ohne Yast):&lt;br /&gt;
{{Shell|# systemctl start apache2.service&amp;lt;br&amp;gt;&amp;amp;nbsp; systemctl enable apache2}}&lt;br /&gt;
Sie können diese Einstellungen jederzeit unter ''YaST'' ändern im Untermenü&lt;br /&gt;
 YaST &amp;gt; Dienste-Verwaltung&lt;br /&gt;
&lt;br /&gt;
=== Hinzufügen von Apache-Modulen===&lt;br /&gt;
Um benötigte Apache-Module zu laden, können wir die Konfigurationsvariable ''APACHE_MODULES'' in &amp;lt;tt&amp;gt;/etc/sysconfig/apache2&amp;lt;/tt&amp;gt; editieren. Schneller geht es jedoch mit den nachfolgenden Befehlen. Nach der Änderung muss der Server neu gestartet werden. Auch für die folgenden Befehle sind wieder die Rechte eines Superusers vonnöten.&lt;br /&gt;
{{Shell|# a2enmod mod_perl&amp;lt;br&amp;gt;&amp;amp;nbsp; a2enmod mod_env&amp;lt;br&amp;gt;&amp;amp;nbsp; a2enmod mod_ssl&amp;lt;br&amp;gt;&amp;amp;nbsp; a2enmod mod_php5&amp;lt;br&amp;gt;&amp;amp;nbsp; a2enmod mod_python&amp;lt;br&amp;gt;&amp;amp;nbsp; a2enmod mod_wsgi&amp;lt;br&amp;gt;&amp;amp;nbsp; a2enmod mod_cgi&amp;lt;br&amp;gt;&amp;amp;nbsp; a2enmod -l&amp;lt;br&amp;gt;&amp;amp;nbsp; systemctl restart apache2}}&lt;br /&gt;
&lt;br /&gt;
== Virtual Hosts ==&lt;br /&gt;
===Allgemeines===&lt;br /&gt;
Das Verzeichnis für alle Virtual Host ist &amp;lt;tt&amp;gt;/etc/apache2/vhosts.d/&amp;lt;/tt&amp;gt;. Wie Sie sehen gibt es zwei Konfigurationsdateien - eine mit ssl, die andere ohne ssl. Wir benutzen die Vorlage ohne [https://de.wikipedia.org/wiki/Transport_Layer_Security Secure Sockets Layer]. Nur Dateien mit dem Suffix &amp;quot;.conf&amp;quot; werden automatisch in die Apachekonfiguration einbezogen.&lt;br /&gt;
&lt;br /&gt;
{{Intro|Wenn Sie neben Lawsuit einen weiteren eigenen Virtual Host hinzufügen möchten, ersetzen Sie in den folgenden Zeilen bitte ''Domainname'' durch ihren Verzeichnisnamen oder Ihre IP-Adresse.}}&lt;br /&gt;
&lt;br /&gt;
* Es gibt mehrere Varianten für die Struktur, mit welcher der eigenen Server auf dem Rechner aufgesetzt werden kann. Folgende Optionen bieten sich an: &lt;br /&gt;
:* [https://httpd.apache.org/docs/2.4/de/vhosts/name-based.html namensbasiert]&lt;br /&gt;
:* [https://httpd.apache.org/docs/2.4/de/vhosts/ip-based.html IP-basiert]&lt;br /&gt;
:* portbasiert&lt;br /&gt;
&lt;br /&gt;
* Sei können für Ihre Verzeichnisse die Vorlage '''vhost.template''' kopieren und als Ihre '''{DOMAINNAME}.conf''' speichern. Hier hinein tragen Sie anschließend die Unterverzeichnisse für Ihren Virtual Host ein.&lt;br /&gt;
&lt;br /&gt;
===Einstellungen für ''Lawsuit''===&lt;br /&gt;
Für ''Lawsuit'' wird die Konfigurationsdatei jedoch im Unterverzeichnis &amp;lt;tt&amp;gt;lawsuit/settings&amp;lt;/tt&amp;gt; bereits fertig zur Verfügung gestellt. Sie müssen lediglich in der genannten Datei den Platzhalter durch den eigenen Nutzernamen ersetzen und die fertige Datei in das Vhosts-Verzeichnis verlinken. Wechseln Sie in das Unterverzeichnis &amp;lt;tt&amp;gt;lawsuit/settings&amp;lt;/tt&amp;gt;. Wenn Sie ''Lawsuit'' in Ihrem Nutzerhauptverzeichnis installiert haben, gelangen Sie mit diesem Befehl dorthin:&lt;br /&gt;
{{Shell | &amp;gt; cd ~/lawsuit/settings}}&lt;br /&gt;
Erstellen Sie dort eine Konfigurationsdatei aus der Vorlage &amp;lt;tt&amp;gt;lawsuit-httpd.template&amp;lt;/tt&amp;gt; und ersetzen Sie den darin enthaltenen Platzhalter ''meinpfad'' dabei durch Ihren Pfad zum aktuellen Verzeichnis. Dies erfolgt automatisiert durch diese Befehle:&lt;br /&gt;
{{Shell | &amp;gt; pfad&amp;amp;#61;&amp;amp;#96;pwd &amp;amp;#124; sed &amp;amp;apos;s/\/lawsuit.*//&amp;amp;apos;  &amp;amp;#124; sed &amp;amp;apos;s/\//\\\\\//g&amp;amp;apos;&amp;amp;#96;&amp;lt;br&amp;gt; &amp;gt; sed &amp;amp;quot;s/meinpfad/$pfad/g&amp;amp;quot; lawsuit-httpd.template &amp;gt; lawsuit-httpd.conf}}&lt;br /&gt;
Falls Ihr Pfad zum Ordner &amp;lt;tt&amp;gt;Documents&amp;lt;/tt&amp;gt; nicht mit dem soeben ermittelten Pfad für &amp;lt;tt&amp;gt;lawsuit&amp;lt;/tt&amp;gt; identisch ist, passen Sie diese Einstellungen für das Verzeichnis &amp;lt;tt&amp;gt;Documents&amp;lt;/tt&amp;gt; bitte in der &amp;lt;tt&amp;gt;lawsuit-httpd.conf&amp;lt;/tt&amp;gt; mit einem Editor wie '''kate''' von Hand an.&lt;br /&gt;
&lt;br /&gt;
Abschließend kopieren Sie die erstellte Konfigurationsdatei als ''Superuser'' in das Verzeichnis der Virtual Hosts von Apache:&lt;br /&gt;
&lt;br /&gt;
{{Shell | &amp;gt; sudo cp lawsuit-httpd.conf /etc/apache2/vhosts.d/}}&lt;br /&gt;
&lt;br /&gt;
* Neustart von Apache&lt;br /&gt;
{{Shell | &amp;gt; sudo service apache2 restart}}&lt;br /&gt;
&lt;br /&gt;
=== Anpassen der Konfiguration ===&lt;br /&gt;
Um Ergänzungen oder Änderungen einheitlich für alle Virtual Hosts an der Datei &amp;lt;tt&amp;gt;/etc/apache2/default-server.conf&amp;lt;/tt&amp;gt; vorzunehmen, editieren Sie die Konfigurationsvariable ''APACHE_CONF_INCLUDE_FILES'' mithilfe von &lt;br /&gt;
 YaST &amp;gt; etc/sysconfig-Editor&lt;br /&gt;
oder arbeiten direkt in der Textdatei &amp;lt;tt&amp;gt;/etc/sysconfig/apache2&amp;lt;/tt&amp;gt;. Zum Verständnis der Hierarchie und des Layouts um Dateien einzubeziehen, lesen Sie die Kommentierung im Kopf der &amp;lt;tt&amp;gt;httpd.conf&amp;lt;/tt&amp;gt;. Die ursprüngliche, einfache Konfigurationsdatei mit nur 40K findet sich notfalls unter &amp;lt;tt&amp;gt;/usr/share/doc/packages/apache2/httpd-std.conf-prefork&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Optional: Ein Zertifikat für localhost erstellen ==&lt;br /&gt;
Bei Mehrplatzsystemen funktionieren die Javascript-Voreintragungen bei Nutzung einer sicheren HTTPS-Verbindung nur, wenn ein eigenes Zertifikat erstellt wird, dessen Aussteller zudem noch aus vertrauenswürdig eingestuft werden muss.OpenSSL bringt umfassende Werkzeuge mit, um eine eigene, kleine Certificate Authority (CA) betreiben zu können. &lt;br /&gt;
=== Vergabe einer Domain für den Rechner mit den Lawsuit-Daten ===&lt;br /&gt;
Unter &amp;lt;i&amp;gt;yast2 &amp;gt; Netzwerkdienste &amp;gt; Rechnernamen&amp;lt;/i&amp;gt; fügen Sie unter der Zeile &amp;quot;localhost&amp;quot; eine Zeile mit folgenden Daten ein:&lt;br /&gt;
 IP-Adresse: &amp;lt;b&amp;gt;192.168.2.10&amp;lt;/b&amp;gt;&lt;br /&gt;
 Hostnamen:  &amp;lt;b&amp;gt;k1.local&amp;lt;/b&amp;gt;&lt;br /&gt;
 Aliasnamen: &amp;lt;b&amp;gt;k1&amp;lt;/b&amp;gt;&lt;br /&gt;
[[Datei:Hostkonfiguration.png|thumb|600px|left|Eigenen Rechnernamen vergeben]]&lt;br /&gt;
&amp;lt;br clear=all&amp;gt;&lt;br /&gt;
Sie können statt &amp;quot;k1&amp;quot; eine beliebe andere Bezeichnung für den Hauptrechner wählen, müssen dann aber Ihre Domain in den folgenden Einstellungen beibehalten.&lt;br /&gt;
&lt;br /&gt;
=== Certificate Authority (CA) erstellen ===&lt;br /&gt;
Zu Beginn wird die Certificate Authority generiert. Zunächst wird ein geheimer Private Key erzeugt:&lt;br /&gt;
{{Shell |&amp;amp;gt; sudo openssl genrsa -aes256 -out /etc/ssl/private/rootCA.key 4096}}&lt;br /&gt;
Der Key trägt den Namen “rootCA.pem” und hat eine Länge von 4096 Bit. Die Option “-aes256” führt dazu, dass der Key mit einem Passwort geschützt wird. Die Key-Datei der CA muss tatsächlich besonders gut geschützt werden. Ein Angreifer, der den Key in die Hände bekommt, kann beliebig gefälschte Zertifikate im Namen der Kanzlei ausstellen, denen die Clients trauen. Die Verschlüsselung dieses Keys mit einem Passwort gibt zusätzlichen Schutz. Das gewünschte Passwort wird bei der Generierung abgefragt.&lt;br /&gt;
Einen geheimen Key für die CA gibt es damit also schon - es fehlt noch das Root-Zertifikat, das von den Clients später importiert werden muss, damit die von der CA ausgestellten Zertifikate im Browser als gültig erkannt werden. Das Root-Zertifikat “ca-root.pem” wird mit folgendem Befehl erzeugt: &lt;br /&gt;
{{Shell |&amp;amp;gt; sudo openssl req -x509 -new -nodes -key /etc/ssl/private/rootCA.key -sha512 -days 5483 -out /etc/ssl/certs/rootCA.pem}}&lt;br /&gt;
In diesem Fall wird die CA 5483 Tage, also mit Schalttagen 15 Jahre lang gültig bleiben. Während der Generierung werden das Passwort für die CA und einige Attribute abgefragt (hier ein Beispiel):&lt;br /&gt;
 Country Name (2 letter code) [AU]:&amp;lt;b&amp;gt;DE&amp;lt;/b&amp;gt;&lt;br /&gt;
 State or Province Name (full name) [Some-State]:&amp;lt;b&amp;gt;Nordrhein-Westfalen&amp;lt;/b&amp;gt;&lt;br /&gt;
 Locality Name (eg, city) []:&amp;lt;b&amp;gt;Muenster&amp;lt;/b&amp;gt;&lt;br /&gt;
 Organization Name (eg, company) [Internet Widgits Pty Ltd]:&amp;lt;b&amp;gt;Kanzlei Hermanns&amp;lt;/b&amp;gt;&lt;br /&gt;
 Organizational Unit Name (eg, section) []:&amp;lt;b&amp;gt;Rechtsanwalt&amp;lt;/b&amp;gt;&lt;br /&gt;
 Common Name (e.g. server FQDN or YOUR name) []:&amp;lt;b&amp;gt;RA Matthias Hermanns&amp;lt;/b&amp;gt;&lt;br /&gt;
 Email Address []:&amp;lt;b&amp;gt;hermanns@iustus.eu&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Erzeugen des Schlüssels===&lt;br /&gt;
Mit diesen Daten wird auch eine Konfiguratunsdatei mit Namen &amp;lt;tt&amp;gt;ssl.cnf&amp;lt;/tt&amp;gt; befüllt, die die Schlüsselausgabe später vereinfacht.&lt;br /&gt;
{{Shell |&amp;amp;gt; cd ~/bin&amp;lt;br&amp;gt;&amp;amp;nbsp; mkdir keys&amp;lt;br&amp;gt;&amp;amp;nbsp; cd keys&amp;lt;br&amp;gt;&amp;amp;nbsp; kate ssl.cnf}}&lt;br /&gt;
Die Datei kann beispielsweise den folgenden Inhalt haben&lt;br /&gt;
 [req]&lt;br /&gt;
 # Standard-Verschlüsselung&lt;br /&gt;
 default_bits = 4096&lt;br /&gt;
 # verhindere prompt für die Zertifikat-Erstellung&lt;br /&gt;
 # (Daten kommen aus dieser Datei)&lt;br /&gt;
 prompt = no&lt;br /&gt;
 # Verschlüsselungsmethode&lt;br /&gt;
 default_md = sha512&lt;br /&gt;
 # Kryptographie abschalten&lt;br /&gt;
 encrypt_key = no&lt;br /&gt;
 # Sektion für Zertifizierer-Informationen:&lt;br /&gt;
 distinguished_name = dn&lt;br /&gt;
 &lt;br /&gt;
 # Zertifizierer-Informationen:&lt;br /&gt;
 [dn]&lt;br /&gt;
 # Länder-Code&lt;br /&gt;
 C=DE&lt;br /&gt;
 # Bundesland&lt;br /&gt;
 ST=Nordrhein-Westfalen&lt;br /&gt;
 # Stadt&lt;br /&gt;
 L=Muenster&lt;br /&gt;
 # Bezeichnung/Firmen-Name/Dein Name:&lt;br /&gt;
 O=Kanzlei Hermanns&lt;br /&gt;
 # Aussteller Name&lt;br /&gt;
 OU=RA Matthias Hermanns&lt;br /&gt;
 # E-Mail-Adresse&lt;br /&gt;
 emailAddress=hermanns@iustus.eu&lt;br /&gt;
 # Primärer Servername&lt;br /&gt;
 CN = &amp;lt;b&amp;gt;k1&amp;lt;/b&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 [v3_ca]&lt;br /&gt;
 keyUsage = digitalSignature, keyEncipherment&lt;br /&gt;
 extendedKeyUsage = serverAuth&lt;br /&gt;
 subjectAltName = IP:&amp;lt;b&amp;gt;192.168.2.10&amp;lt;/b&amp;gt;, DNS:&amp;lt;b&amp;gt;k1&amp;lt;/b&amp;gt;, DNS:&amp;lt;b&amp;gt;k1.local&amp;lt;/b&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 [ req_ext ]&lt;br /&gt;
 subjectAltName = @alt_names&lt;br /&gt;
 &lt;br /&gt;
 [alt_names]&lt;br /&gt;
 # Primärer Server-Name&lt;br /&gt;
 DNS.1 = &amp;lt;b&amp;gt;k1&amp;lt;/b&amp;gt;&lt;br /&gt;
 # Sekunärer Server-Name&lt;br /&gt;
 DNS.2 = &amp;lt;b&amp;gt;k1.local&amp;lt;/b&amp;gt;&lt;br /&gt;
 # Wildcard Subdomains&lt;br /&gt;
 DNS.3 = *.&amp;lt;b&amp;gt;k1.local&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Speichern Sie die so erstellte Datei &amp;lt;tt&amp;gt;ssl.cnf&amp;lt;/tt&amp;gt; im &amp;lt;tt&amp;gt;bin&amp;lt;/tt&amp;gt;-Verzeichnis ab. Mit folgendem Befehl erzeugen Sie nun als zertifizierter Aussteller die eigentlichen Schlüssel für die SSL-Verbindung.&lt;br /&gt;
Zunächst wird der RSA-Key mit 3072 Bit erzeugt (Asymmetrischer Schlüssel von Rivest, Shamir und Adleman, der einen privaten und einen öffentlichen Teil hat):&lt;br /&gt;
{{Shell |&amp;amp;gt; openssl genrsa -out k1.key 3072}}&lt;br /&gt;
Nun folgt die Certificate Signing Request (CSR; deutsch Zertifikatsignierungsanforderung), ein digitaler Antrag, um mittels der soeben erzeugten digitalen Signatur und der zusätzlichen Identitätsangaben zum Antragstellers aus der &amp;lt;tt&amp;gt;ssl.cnf&amp;lt;/tt&amp;gt; ein persönliches digitales Identitäts-Zertifikat (auch Public-Key-Zertifikat genannt) zu erstellen:&lt;br /&gt;
{{Shell |&amp;amp;gt; openssl req -new -keyout ~/bin/keys/k1.key -out ~/bin/keys/k1.csr -config ~/bin/keys/ssl.cnf}}&lt;br /&gt;
Mithilfe des Wurzelzertifikats vom verifizierten Aussteller (uns selbst) wird nun der eigentliche Schlüssel erstellt, damit eine Rückverfolgung zum Wurzelzertifikat möglich ist. &lt;br /&gt;
{{Shell |&amp;amp;gt; sudo openssl x509 -req \&amp;lt;br&amp;gt;&amp;amp;nbsp; -in ~/bin/keys/k1.csr \&amp;lt;br&amp;gt;&amp;amp;nbsp; -CA /etc/ssl/certs/rootCA.pem \&amp;lt;br&amp;gt;&amp;amp;nbsp; -CAkey /etc/ssl/private/rootCA.key \&amp;lt;br&amp;gt;&amp;amp;nbsp; -CAcreateserial \&amp;lt;br&amp;gt;&amp;amp;nbsp; -out ~/bin/keys/k1.crt \&amp;lt;br&amp;gt;&amp;amp;nbsp; -days 3653 \&amp;lt;br&amp;gt;&amp;amp;nbsp; -extfile ~/bin/keys/ssl.cnf \&amp;lt;br&amp;gt;&amp;amp;nbsp; -extensions v3_ca }}&lt;br /&gt;
&lt;br /&gt;
Damit die Zertifkate in unsere regelmäßige Sicherungsspeicherung aufgenommen werden, können wir sie in das Schlüsselverzeichnis &amp;lt;tt&amp;gt;keys&amp;lt;/tt&amp;gt; unter &amp;lt;tt&amp;gt;lawsuit&amp;lt;/tt&amp;gt; kopieren. Dies ist jedoch nur optional, weil es ein Sicherheitsrisiko eröffnet:&lt;br /&gt;
{{Shell |&amp;amp;gt; sudo chown matthias:users keys/k1.crt&amp;lt;br&amp;gt;&amp;amp;nbsp; chmod 640 ~/bin/keys/k1.*&amp;lt;br&amp;gt;&amp;amp;nbsp; cp ~/bin/keys/k1.* ~/lawsuit/keys/}}&lt;br /&gt;
&lt;br /&gt;
=== Verbindung mit dem Server ===&lt;br /&gt;
Wenn Sie host-Datei &amp;lt;tt&amp;gt;lawsuit-httpd.conf&amp;lt;/tt&amp;gt; automatisch wie oben vorgeschlagen generiert haben, sind die notwendigen Einstellungen schon voreingetragen und müssen nur auskommentiert werden. Ansonsten ergänzen Sie unter /etc/apache2/vhosts.d/&lt;br /&gt;
folgende Zeilen:&lt;br /&gt;
 &amp;lt;VirtualHost *:80&amp;gt;&lt;br /&gt;
    ServerName &amp;lt;b&amp;gt;k1&amp;lt;/b&amp;gt;&lt;br /&gt;
    ServerAlias &amp;lt;b&amp;gt;k1.local&amp;lt;/b&amp;gt;&lt;br /&gt;
 &amp;lt;/VirtualHost&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 &amp;lt;IfModule mod_ssl.c&amp;gt;&lt;br /&gt;
    &amp;lt;VirtualHost *:443&amp;gt;&lt;br /&gt;
        ServerAdmin webmaster@localhost&lt;br /&gt;
        DocumentRoot /home/BENUTZERNAME/lawsuit/&lt;br /&gt;
        ServerName &amp;lt;b&amp;gt;k1&amp;lt;/b&amp;gt;&lt;br /&gt;
        ServerAlias &amp;lt;b&amp;gt;k1.local&amp;lt;/b&amp;gt;&lt;br /&gt;
        ErrorLog /var/log/apache2/error_log&lt;br /&gt;
        SSLEngine on&lt;br /&gt;
        SSLCertificateFile      /home/BENUTZERNAME/bin/keys/&amp;lt;b&amp;gt;k1.crt&amp;lt;/b&amp;gt;&lt;br /&gt;
        SSLCertificateKeyFile   /home/BENUTZERNAME/bin/keys/&amp;lt;b&amp;gt;k1.key&amp;lt;/b&amp;gt;&lt;br /&gt;
        &amp;lt;IfModule mod_headers.c&amp;gt;&lt;br /&gt;
            Header always set Strict-Transport-Security &amp;quot;max-age=15552000; includeSubDomains&amp;quot;&lt;br /&gt;
        &amp;lt;/IfModule&amp;gt;&lt;br /&gt;
        &amp;lt;FilesMatch &amp;quot;\.(cgi|html|shtml|pl|phtml|php)$&amp;quot;&amp;gt;&lt;br /&gt;
            SSLOptions +StdEnvVars&lt;br /&gt;
        &amp;lt;/FilesMatch&amp;gt;&lt;br /&gt;
        &amp;lt;Directory /home/BENUTZERNAME/lawsuit/cgi-bin&amp;gt;&lt;br /&gt;
            SSLOptions +StdEnvVars&lt;br /&gt;
        &amp;lt;/Directory&amp;gt;&lt;br /&gt;
    &amp;lt;/VirtualHost&amp;gt;&lt;br /&gt;
 &amp;lt;/IfModule&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 # configuration&lt;br /&gt;
 SSLProtocol             all -SSLv3 -TLSv1 -TLSv1.1 -TLSv1.2&lt;br /&gt;
 SSLHonorCipherOrder     off&lt;br /&gt;
 SSLSessionTickets       off&lt;br /&gt;
&lt;br /&gt;
Damit diese Einstellungen nicht der vom Linux-System vorgegebenen Konfiguration widersprechen, müssen in der Datei &amp;lt;tt&amp;gt;/usr/share/doc/packages/apache2/original/extra/httpd-ssl.conf&amp;lt;/tt&amp;gt; noch folgende Zeilen auskommentiert und berichtigt werden&lt;br /&gt;
 #&amp;lt;b&amp;gt;ServerName&amp;lt;/b&amp;gt; www.example.com:443&lt;br /&gt;
 ServerName &amp;lt;b&amp;gt;k1&amp;lt;/b&amp;gt;:443&lt;br /&gt;
ferner&lt;br /&gt;
 #&amp;lt;b&amp;gt;SSLCertificateFile&amp;lt;/b&amp;gt; &amp;quot;/etc/apache2/server.crt&amp;quot;&lt;br /&gt;
 SSLCertificateFile &amp;quot;/home/BENUTZERNAME/bin/keys/k1.crt&amp;quot;&lt;br /&gt;
und&lt;br /&gt;
 #&amp;lt;b&amp;gt;SSLCertificateKeyFile&amp;lt;/b&amp;gt; &amp;quot;/etc/apache2/server.key&amp;quot;&lt;br /&gt;
 SSLCertificateKeyFile &amp;quot;/home/BENUTZERNAME/bin/keys/k1.key&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Unter Firefox kann das selbstgezeichnete Zertifikat nun verwendet werden. Bitte beachten Sie, dass für jede Apache-Konfigurrationsdatei ein anderer Port geöffnet werden muss, &amp;quot;443&amp;quot; also nur einmal verwendet werden kann. Sie können alternativ z.B. &amp;quot;4443&amp;quot; verwenden.&lt;br /&gt;
&lt;br /&gt;
Abschließender Test und Neustart:&lt;br /&gt;
{{Shell |&amp;amp;#35; sudo apache2ctl -t&amp;lt;br&amp;gt;&amp;amp;nbsp; sudo systemctl restart apache2}}&lt;br /&gt;
&lt;br /&gt;
=== Registrierung als vertrauenswürdiger Aussteller für den Firefox-Browser ===&lt;br /&gt;
Damit der Firefox-Browser das Zertifikat tatsächlich verwendet und als vertrauenswürdig akzeptiert, muss es im Kleopatra-Schlüsseldienst eingetragen werden, auf den der Browser zugreift. &lt;br /&gt;
{{Shell |&amp;amp;gt; kleopatra}}&lt;br /&gt;
Klicken Sie den Reiter &amp;lt;b&amp;gt;Importieren&amp;lt;/b&amp;gt; an und fügen Sie nacheinander die folgenden Dateien ein:&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;/home/BENUTZERNAME/bin/keys/k1.crt&amp;lt;/tt&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;/etc/ssl/certs/rootCA.pem&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Bitte bestätigen Sie die erbetenen Beglaubigungen mit der Maustaste.&lt;br /&gt;
[[Datei:Kleopatra.png|thumb|600px|left|Importieren der Zertifikate in das Kleopatra-Schlüsselverwaltungsprogramm]]&lt;br /&gt;
&amp;lt;br clear=all&amp;gt;&lt;br /&gt;
Nun wechseln Sie in den Firefox-Browser und geben in die Adresszeile ein&lt;br /&gt;
 about:config&lt;br /&gt;
Dort ändern Sie die Variable&lt;br /&gt;
 security.enterprise_roots.enabled -&amp;gt; true&lt;br /&gt;
von &amp;quot;false&amp;quot; auf &amp;quot;true&amp;quot;. Nun bezieht der Browser auch Ihre eigenen CA-Beglaubigungen des Unternehmens eine seine Bewertungen mit ein und vergibt ein grünes Schlüsselsymbol.&lt;br /&gt;
&lt;br /&gt;
== Problembehebung ==&lt;br /&gt;
Lesen Sie wenn möglich die Fehlermeldungen nach dem Start des Servers. Versuchen Sie Fehler ggf. zu reproduzieren und vergleichen Sie die Einträge in den Log-Dateien. Den Einblick auf die dortigen Meldungen können Sie mit dem folgenden Befehl auf den neuesten Stand reduzieren::&lt;br /&gt;
&lt;br /&gt;
{{Shell | # tail -F /var/log/apache2/*}}&lt;br /&gt;
&lt;br /&gt;
Da die Error-Messages schnell sehr großen Umfang einnehmen, der am Ende sogar den Systemstart blockieren kann, empfiehlt es sich, mit Logrotate den Bestand unter Kontrolle zu halten. Installieren Sie dazu, falls noch nicht vom System geschehen:&lt;br /&gt;
{{Shell | # zypper in logrotate}}&lt;br /&gt;
Sie können die Einstellungen in der Konfigurationsdatei &lt;br /&gt;
 /etc/logrotate.conf&lt;br /&gt;
ändern. Eine typische Konfiguration von &amp;lt;tt&amp;gt;logrotate.conf&amp;lt;/tt&amp;gt; sieht z.B. wie folgt aus:&lt;br /&gt;
{{Shell |&amp;amp;#35; see &amp;quot;man logrotate&amp;quot; for details&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;amp;#35; rotate log files weekly &lt;br /&gt;
&amp;lt;br&amp;gt;weekly &lt;br /&gt;
&amp;lt;br&amp;gt;&amp;amp;#35; keep 4 weeks worth of backlogs &lt;br /&gt;
&amp;lt;br&amp;gt;rotate 4&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;b&amp;gt;&amp;amp;#35; remove rotated logs older than &amp;lt;count&amp;gt; days&lt;br /&gt;
&amp;lt;br&amp;gt;maxage 90 &amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;amp;#35; create new (empty) log files after rotating old ones &lt;br /&gt;
&amp;lt;br&amp;gt;create&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;amp;#35; use date as a suffix of the rotated file&lt;br /&gt;
&amp;lt;br&amp;gt;dateext&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;amp;#35; uncomment this if you want your log files compressed &lt;br /&gt;
&amp;lt;br&amp;gt;compress&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;amp;#35; comment these to switch compression to use gzip or another &lt;br /&gt;
&amp;lt;br&amp;gt;&amp;amp;#35; compression scheme&lt;br /&gt;
&amp;lt;br&amp;gt;compresscmd /usr/bin/xz&lt;br /&gt;
&amp;lt;br&amp;gt;uncompresscmd /usr/bin/xzdec&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;amp;#35; RPM packages drop log rotation information into this directory&lt;br /&gt;
&amp;lt;br&amp;gt;include /etc/logrotate.d&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Sollten Sie einen Fehler gefunden haben, [https://de.opensuse.org/SDB:Fehler_berichten berichten Sie ihn] bitte.&lt;br /&gt;
&lt;br /&gt;
==Weiterführende Informationen==&lt;br /&gt;
=== Verwandte Artikel ===&lt;br /&gt;
*[https://de.opensuse.org/YaST_Module_Firewall#Firewall_Einrichten openSUSE Firewall]&lt;br /&gt;
* Package documentation and example configuration files in /usr/share/doc/packages/apache2/&lt;br /&gt;
&lt;br /&gt;
===Externe Links===&lt;br /&gt;
* [https://doc.opensuse.org/documentation/leap/reference/html/book.opensuse.reference/cha.apache2.html openSUSE Apache Documentation]&lt;br /&gt;
* [http://httpd.apache.org/ The Apache Project]&lt;br /&gt;
* [http://www.apache.org/ Apache Software Foundation]&lt;br /&gt;
&lt;br /&gt;
{{DEFAULTSORT:{{PAGENAME}}}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Linuxinstallation]]&lt;/div&gt;</summary>
		<author><name>87.123.95.19</name></author>	</entry>

	<entry>
		<id>http://wiki.iustus.eu/wiki/index.php?title=Aufsetzen_des_Apache-Servers_-_ubuntu&amp;diff=7094</id>
		<title>Aufsetzen des Apache-Servers - ubuntu</title>
		<link rel="alternate" type="text/html" href="http://wiki.iustus.eu/wiki/index.php?title=Aufsetzen_des_Apache-Servers_-_ubuntu&amp;diff=7094"/>
				<updated>2026-01-02T10:08:29Z</updated>
		
		<summary type="html">&lt;p&gt;87.123.95.19: /* Installation der Apache-Pakete */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Ubuntu|&lt;br /&gt;
*[https://ubuntu.com/tutorials/install-ubuntu-desktop-1604#1-overview 16.04.]&lt;br /&gt;
|&lt;br /&gt;
*https://ubuntu.com/tutorials/install-and-configure-apache#2-installing-apache Apache Installation]&lt;br /&gt;
|&lt;br /&gt;
*[https://de.opensuse.org/SDB:LAMP_Einrichtung SDB:LAMP_Einrichtung]&lt;br /&gt;
*[https://de.opensuse.org/Apache2 Apache2]&lt;br /&gt;
*[https://de.opensuse.org/Portal:MySQL Portal:MySQL]&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Einführung ==&lt;br /&gt;
&lt;br /&gt;
Diese Dokument gibt eine rasche Einführung, wie ein Apache-Server auf dem lokalen Rechner aufgesetzt werden kann, der die Lawsuit-Programmteile bereitstellt.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
{{Warnung| Die Kurzanleitung geht nicht vertieft auf mögliche Experten-Einstellungen des Servers ein. Insbesondere bleiben hier Sicherheitseinstellungen unberücksichtigt, die für den Betrieb als öffentlich zugänglicher Netzserver unumgänglich wären. Die nachfolgenden Schritte sind für Anwender gedacht, die Lawsuit intern auf dem Kanzleirechner hinter einer Firewall betreiben möchten.}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== Allgemeine Rechner-Konfiguration ==&lt;br /&gt;
&lt;br /&gt;
Die Software benötigt eine funktionierende Netzwerkumgebung. Diese wird jedoch bereits standardmäßig von Ubuntu eingereichtet. Achten Sie aber insbesondere bei der Nutzung von [https://de.wikipedia.org/wiki/Dynamic_Host_Configuration_Protocol DHCP] darauf, dass [[ weitere Rechner]] der Kanzlei vom Networkmanager tatsächlich im selben Nummernraum wie dieser PC eingetragen wurden, auf dem Apache nun installiert werden soll. Ansonsten können diese Rechner später nicht auf die Kanzleisoftware zugreifen.&lt;br /&gt;
&lt;br /&gt;
Als Zweites sollte der PC auf dem aktuellen Softwarestand sein. &lt;br /&gt;
{{Shell|&amp;gt; sudo apt update}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Installation der Apache-Pakete ===&lt;br /&gt;
&lt;br /&gt;
Der Apache-Server und das optionale Perl-Modul können mit ''apt'' installiert werden. Öffnen Sie dazu ein Terminal-Fenster und wechseln Sie wie folgt in den Superuser-Modus:&lt;br /&gt;
{{Shell|&amp;gt; sudo apt install apache2}}&lt;br /&gt;
Geben Sie das Passwort ein.&lt;br /&gt;
Prüfen Sie die korrekte Funktionsweise des Apache-Servers, indem Sie in die Browser-Adresszeile die folgende Adresse eingeben:&lt;br /&gt;
 http://localhost/&lt;br /&gt;
&lt;br /&gt;
=== Start des Servers Yast ===&lt;br /&gt;
Mit folgenden zwei Befehlen wird der Apache-Server gestartet und auf Dauer im System aktiviert.&lt;br /&gt;
{{Shell|# systemctl start apache2&amp;lt;br&amp;gt;&amp;amp;nbsp; systemctl enable apache2}}&lt;br /&gt;
&lt;br /&gt;
=== Anpassung der Firewall ===&lt;br /&gt;
&lt;br /&gt;
Die Firewall ist so voreingestellt, dass sie über Port 80 auf den Rechner eingehende Daten grundsätzlich sperrt. Folglich müssen die Firewall-Einstellungen so angepasst werden, dass aus dem Lokalen Netzwerk über Port 80 eingehender Datenstrom akzeptiert wird.&lt;br /&gt;
Die folgenden Schritte müssen dazu weiterhin als Root ausgeführt werden. &lt;br /&gt;
* bis [http://de.opensuse.org/Portal:42.3 Leap 42.3]&lt;br /&gt;
{{Shell|# sysconf_addword /etc/sysconfig/SuSEfirewall2 FW_CONFIGURATIONS_EXT apache2&amp;lt;br&amp;gt;&amp;amp;nbsp; sysconf_addword /etc/sysconfig/SuSEfirewall2 FW_CONFIGURATIONS_EXT apache2-ssl&amp;lt;br&amp;gt;&amp;amp;nbsp; sysconf_addword /etc/sysconfig/SuSEfirewall2 FW_CONFIGURATIONS_EXT http&amp;lt;br&amp;gt;&amp;amp;nbsp; sysconf_addword /etc/sysconfig/SuSEfirewall2 FW_CONFIGURATIONS_EXT https&amp;lt;br&amp;gt;&amp;amp;nbsp; rcSuSEfirewall2 restart }}&lt;br /&gt;
Die Einstellungen finden sich jedoch auch unter ''YaST'' und können dort im '''etc/sysconfig-Editor''' mit den Einträgen ''apache2'' und ''apache2-ssl'' aktiviert werden, indem sie diese durch Leerzeichen getrennt im Feld ''FW_CONFIGURATIONS_EXT'' in &amp;lt;tt&amp;gt;/etc/sysconfig/SuSEfirewall2 &amp;lt;/tt&amp;gt; einsetzen. Diese Konfigurationsvariable findet sich unter:&lt;br /&gt;
 Network &amp;gt; Firewall &amp;gt; SuSEfirewall2&lt;br /&gt;
&lt;br /&gt;
* ab [http://de.opensuse.org/Portal:Tubmleweed Tumbleweed]&lt;br /&gt;
Die Variablen können per ''YaST'' unter&lt;br /&gt;
 Networt &amp;gt; Firewall &lt;br /&gt;
unter der Listenauswahl ''Permanent'' wir folgt eingestellt werden:&lt;br /&gt;
[[Datei:Apache2_firewall.png|thumb|600px|left|Firewall-Einstellungen für den Apache-Server]]&lt;br /&gt;
&amp;lt;br clear=all&amp;gt;&lt;br /&gt;
Alternativ ist die Auswahl per Shell möglich:&lt;br /&gt;
{{Shell|# firewall-cmd --zone internal --permanent --add-interface&amp;amp;#61;eth0&amp;lt;br&amp;gt;&amp;amp;nbsp; firewall-cmd --zone internal --permanent --add-service&amp;amp;#61;apache2&amp;lt;br&amp;gt;&amp;amp;nbsp; firewall-cmd --zone internal --permanent --add-service&amp;amp;#61;apache2-ssl&amp;lt;br&amp;gt;&amp;amp;nbsp; firewall-cmd --zone internal --permanent --add-service&amp;amp;#61;nfs&amp;lt;br&amp;gt;&amp;amp;nbsp; firewall-cmd --zone internal --permanent --add-service&amp;amp;#61;http&amp;lt;br&amp;gt;&amp;amp;nbsp; firewall-cmd --zone internal --permanent --add-service&amp;amp;#61;https&amp;lt;br&amp;gt;&amp;amp;nbsp; firewall-cmd --reload}}&lt;br /&gt;
&lt;br /&gt;
=== Aktivierung des Servers ===&lt;br /&gt;
Starten Sie den Server und aktivieren Sie ihn in einem Bootverzeichnis, damit er mit dem Rechner hochgefahren wird (s.o. ohne Yast):&lt;br /&gt;
{{Shell|# systemctl start apache2.service&amp;lt;br&amp;gt;&amp;amp;nbsp; systemctl enable apache2}}&lt;br /&gt;
Sie können diese Einstellungen jederzeit unter ''YaST'' ändern im Untermenü&lt;br /&gt;
 YaST &amp;gt; Dienste-Verwaltung&lt;br /&gt;
&lt;br /&gt;
=== Hinzufügen von Apache-Modulen===&lt;br /&gt;
Um benötigte Apache-Module zu laden, können wir die Konfigurationsvariable ''APACHE_MODULES'' in &amp;lt;tt&amp;gt;/etc/sysconfig/apache2&amp;lt;/tt&amp;gt; editieren. Schneller geht es jedoch mit den nachfolgenden Befehlen. Nach der Änderung muss der Server neu gestartet werden. Auch für die folgenden Befehle sind wieder die Rechte eines Superusers vonnöten.&lt;br /&gt;
{{Shell|# a2enmod mod_perl&amp;lt;br&amp;gt;&amp;amp;nbsp; a2enmod mod_env&amp;lt;br&amp;gt;&amp;amp;nbsp; a2enmod mod_ssl&amp;lt;br&amp;gt;&amp;amp;nbsp; a2enmod mod_php5&amp;lt;br&amp;gt;&amp;amp;nbsp; a2enmod mod_python&amp;lt;br&amp;gt;&amp;amp;nbsp; a2enmod mod_wsgi&amp;lt;br&amp;gt;&amp;amp;nbsp; a2enmod mod_cgi&amp;lt;br&amp;gt;&amp;amp;nbsp; a2enmod -l&amp;lt;br&amp;gt;&amp;amp;nbsp; systemctl restart apache2}}&lt;br /&gt;
&lt;br /&gt;
== Virtual Hosts ==&lt;br /&gt;
===Allgemeines===&lt;br /&gt;
Das Verzeichnis für alle Virtual Host ist &amp;lt;tt&amp;gt;/etc/apache2/vhosts.d/&amp;lt;/tt&amp;gt;. Wie Sie sehen gibt es zwei Konfigurationsdateien - eine mit ssl, die andere ohne ssl. Wir benutzen die Vorlage ohne [https://de.wikipedia.org/wiki/Transport_Layer_Security Secure Sockets Layer]. Nur Dateien mit dem Suffix &amp;quot;.conf&amp;quot; werden automatisch in die Apachekonfiguration einbezogen.&lt;br /&gt;
&lt;br /&gt;
{{Intro|Wenn Sie neben Lawsuit einen weiteren eigenen Virtual Host hinzufügen möchten, ersetzen Sie in den folgenden Zeilen bitte ''Domainname'' durch ihren Verzeichnisnamen oder Ihre IP-Adresse.}}&lt;br /&gt;
&lt;br /&gt;
* Es gibt mehrere Varianten für die Struktur, mit welcher der eigenen Server auf dem Rechner aufgesetzt werden kann. Folgende Optionen bieten sich an: &lt;br /&gt;
:* [https://httpd.apache.org/docs/2.4/de/vhosts/name-based.html namensbasiert]&lt;br /&gt;
:* [https://httpd.apache.org/docs/2.4/de/vhosts/ip-based.html IP-basiert]&lt;br /&gt;
:* portbasiert&lt;br /&gt;
&lt;br /&gt;
* Sei können für Ihre Verzeichnisse die Vorlage '''vhost.template''' kopieren und als Ihre '''{DOMAINNAME}.conf''' speichern. Hier hinein tragen Sie anschließend die Unterverzeichnisse für Ihren Virtual Host ein.&lt;br /&gt;
&lt;br /&gt;
===Einstellungen für ''Lawsuit''===&lt;br /&gt;
Für ''Lawsuit'' wird die Konfigurationsdatei jedoch im Unterverzeichnis &amp;lt;tt&amp;gt;lawsuit/settings&amp;lt;/tt&amp;gt; bereits fertig zur Verfügung gestellt. Sie müssen lediglich in der genannten Datei den Platzhalter durch den eigenen Nutzernamen ersetzen und die fertige Datei in das Vhosts-Verzeichnis verlinken. Wechseln Sie in das Unterverzeichnis &amp;lt;tt&amp;gt;lawsuit/settings&amp;lt;/tt&amp;gt;. Wenn Sie ''Lawsuit'' in Ihrem Nutzerhauptverzeichnis installiert haben, gelangen Sie mit diesem Befehl dorthin:&lt;br /&gt;
{{Shell | &amp;gt; cd ~/lawsuit/settings}}&lt;br /&gt;
Erstellen Sie dort eine Konfigurationsdatei aus der Vorlage &amp;lt;tt&amp;gt;lawsuit-httpd.template&amp;lt;/tt&amp;gt; und ersetzen Sie den darin enthaltenen Platzhalter ''meinpfad'' dabei durch Ihren Pfad zum aktuellen Verzeichnis. Dies erfolgt automatisiert durch diese Befehle:&lt;br /&gt;
{{Shell | &amp;gt; pfad&amp;amp;#61;&amp;amp;#96;pwd &amp;amp;#124; sed &amp;amp;apos;s/\/lawsuit.*//&amp;amp;apos;  &amp;amp;#124; sed &amp;amp;apos;s/\//\\\\\//g&amp;amp;apos;&amp;amp;#96;&amp;lt;br&amp;gt; &amp;gt; sed &amp;amp;quot;s/meinpfad/$pfad/g&amp;amp;quot; lawsuit-httpd.template &amp;gt; lawsuit-httpd.conf}}&lt;br /&gt;
Falls Ihr Pfad zum Ordner &amp;lt;tt&amp;gt;Documents&amp;lt;/tt&amp;gt; nicht mit dem soeben ermittelten Pfad für &amp;lt;tt&amp;gt;lawsuit&amp;lt;/tt&amp;gt; identisch ist, passen Sie diese Einstellungen für das Verzeichnis &amp;lt;tt&amp;gt;Documents&amp;lt;/tt&amp;gt; bitte in der &amp;lt;tt&amp;gt;lawsuit-httpd.conf&amp;lt;/tt&amp;gt; mit einem Editor wie '''kate''' von Hand an.&lt;br /&gt;
&lt;br /&gt;
Abschließend kopieren Sie die erstellte Konfigurationsdatei als ''Superuser'' in das Verzeichnis der Virtual Hosts von Apache:&lt;br /&gt;
&lt;br /&gt;
{{Shell | &amp;gt; sudo cp lawsuit-httpd.conf /etc/apache2/vhosts.d/}}&lt;br /&gt;
&lt;br /&gt;
* Neustart von Apache&lt;br /&gt;
{{Shell | &amp;gt; sudo service apache2 restart}}&lt;br /&gt;
&lt;br /&gt;
=== Anpassen der Konfiguration ===&lt;br /&gt;
Um Ergänzungen oder Änderungen einheitlich für alle Virtual Hosts an der Datei &amp;lt;tt&amp;gt;/etc/apache2/default-server.conf&amp;lt;/tt&amp;gt; vorzunehmen, editieren Sie die Konfigurationsvariable ''APACHE_CONF_INCLUDE_FILES'' mithilfe von &lt;br /&gt;
 YaST &amp;gt; etc/sysconfig-Editor&lt;br /&gt;
oder arbeiten direkt in der Textdatei &amp;lt;tt&amp;gt;/etc/sysconfig/apache2&amp;lt;/tt&amp;gt;. Zum Verständnis der Hierarchie und des Layouts um Dateien einzubeziehen, lesen Sie die Kommentierung im Kopf der &amp;lt;tt&amp;gt;httpd.conf&amp;lt;/tt&amp;gt;. Die ursprüngliche, einfache Konfigurationsdatei mit nur 40K findet sich notfalls unter &amp;lt;tt&amp;gt;/usr/share/doc/packages/apache2/httpd-std.conf-prefork&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Optional: Ein Zertifikat für localhost erstellen ==&lt;br /&gt;
Bei Mehrplatzsystemen funktionieren die Javascript-Voreintragungen bei Nutzung einer sicheren HTTPS-Verbindung nur, wenn ein eigenes Zertifikat erstellt wird, dessen Aussteller zudem noch aus vertrauenswürdig eingestuft werden muss.OpenSSL bringt umfassende Werkzeuge mit, um eine eigene, kleine Certificate Authority (CA) betreiben zu können. &lt;br /&gt;
=== Vergabe einer Domain für den Rechner mit den Lawsuit-Daten ===&lt;br /&gt;
Unter &amp;lt;i&amp;gt;yast2 &amp;gt; Netzwerkdienste &amp;gt; Rechnernamen&amp;lt;/i&amp;gt; fügen Sie unter der Zeile &amp;quot;localhost&amp;quot; eine Zeile mit folgenden Daten ein:&lt;br /&gt;
 IP-Adresse: &amp;lt;b&amp;gt;192.168.2.10&amp;lt;/b&amp;gt;&lt;br /&gt;
 Hostnamen:  &amp;lt;b&amp;gt;k1.local&amp;lt;/b&amp;gt;&lt;br /&gt;
 Aliasnamen: &amp;lt;b&amp;gt;k1&amp;lt;/b&amp;gt;&lt;br /&gt;
[[Datei:Hostkonfiguration.png|thumb|600px|left|Eigenen Rechnernamen vergeben]]&lt;br /&gt;
&amp;lt;br clear=all&amp;gt;&lt;br /&gt;
Sie können statt &amp;quot;k1&amp;quot; eine beliebe andere Bezeichnung für den Hauptrechner wählen, müssen dann aber Ihre Domain in den folgenden Einstellungen beibehalten.&lt;br /&gt;
&lt;br /&gt;
=== Certificate Authority (CA) erstellen ===&lt;br /&gt;
Zu Beginn wird die Certificate Authority generiert. Zunächst wird ein geheimer Private Key erzeugt:&lt;br /&gt;
{{Shell |&amp;amp;gt; sudo openssl genrsa -aes256 -out /etc/ssl/private/rootCA.key 4096}}&lt;br /&gt;
Der Key trägt den Namen “rootCA.pem” und hat eine Länge von 4096 Bit. Die Option “-aes256” führt dazu, dass der Key mit einem Passwort geschützt wird. Die Key-Datei der CA muss tatsächlich besonders gut geschützt werden. Ein Angreifer, der den Key in die Hände bekommt, kann beliebig gefälschte Zertifikate im Namen der Kanzlei ausstellen, denen die Clients trauen. Die Verschlüsselung dieses Keys mit einem Passwort gibt zusätzlichen Schutz. Das gewünschte Passwort wird bei der Generierung abgefragt.&lt;br /&gt;
Einen geheimen Key für die CA gibt es damit also schon - es fehlt noch das Root-Zertifikat, das von den Clients später importiert werden muss, damit die von der CA ausgestellten Zertifikate im Browser als gültig erkannt werden. Das Root-Zertifikat “ca-root.pem” wird mit folgendem Befehl erzeugt: &lt;br /&gt;
{{Shell |&amp;amp;gt; sudo openssl req -x509 -new -nodes -key /etc/ssl/private/rootCA.key -sha512 -days 5483 -out /etc/ssl/certs/rootCA.pem}}&lt;br /&gt;
In diesem Fall wird die CA 5483 Tage, also mit Schalttagen 15 Jahre lang gültig bleiben. Während der Generierung werden das Passwort für die CA und einige Attribute abgefragt (hier ein Beispiel):&lt;br /&gt;
 Country Name (2 letter code) [AU]:&amp;lt;b&amp;gt;DE&amp;lt;/b&amp;gt;&lt;br /&gt;
 State or Province Name (full name) [Some-State]:&amp;lt;b&amp;gt;Nordrhein-Westfalen&amp;lt;/b&amp;gt;&lt;br /&gt;
 Locality Name (eg, city) []:&amp;lt;b&amp;gt;Muenster&amp;lt;/b&amp;gt;&lt;br /&gt;
 Organization Name (eg, company) [Internet Widgits Pty Ltd]:&amp;lt;b&amp;gt;Kanzlei Hermanns&amp;lt;/b&amp;gt;&lt;br /&gt;
 Organizational Unit Name (eg, section) []:&amp;lt;b&amp;gt;Rechtsanwalt&amp;lt;/b&amp;gt;&lt;br /&gt;
 Common Name (e.g. server FQDN or YOUR name) []:&amp;lt;b&amp;gt;RA Matthias Hermanns&amp;lt;/b&amp;gt;&lt;br /&gt;
 Email Address []:&amp;lt;b&amp;gt;hermanns@iustus.eu&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Erzeugen des Schlüssels===&lt;br /&gt;
Mit diesen Daten wird auch eine Konfiguratunsdatei mit Namen &amp;lt;tt&amp;gt;ssl.cnf&amp;lt;/tt&amp;gt; befüllt, die die Schlüsselausgabe später vereinfacht.&lt;br /&gt;
{{Shell |&amp;amp;gt; cd ~/bin&amp;lt;br&amp;gt;&amp;amp;nbsp; mkdir keys&amp;lt;br&amp;gt;&amp;amp;nbsp; cd keys&amp;lt;br&amp;gt;&amp;amp;nbsp; kate ssl.cnf}}&lt;br /&gt;
Die Datei kann beispielsweise den folgenden Inhalt haben&lt;br /&gt;
 [req]&lt;br /&gt;
 # Standard-Verschlüsselung&lt;br /&gt;
 default_bits = 4096&lt;br /&gt;
 # verhindere prompt für die Zertifikat-Erstellung&lt;br /&gt;
 # (Daten kommen aus dieser Datei)&lt;br /&gt;
 prompt = no&lt;br /&gt;
 # Verschlüsselungsmethode&lt;br /&gt;
 default_md = sha512&lt;br /&gt;
 # Kryptographie abschalten&lt;br /&gt;
 encrypt_key = no&lt;br /&gt;
 # Sektion für Zertifizierer-Informationen:&lt;br /&gt;
 distinguished_name = dn&lt;br /&gt;
 &lt;br /&gt;
 # Zertifizierer-Informationen:&lt;br /&gt;
 [dn]&lt;br /&gt;
 # Länder-Code&lt;br /&gt;
 C=DE&lt;br /&gt;
 # Bundesland&lt;br /&gt;
 ST=Nordrhein-Westfalen&lt;br /&gt;
 # Stadt&lt;br /&gt;
 L=Muenster&lt;br /&gt;
 # Bezeichnung/Firmen-Name/Dein Name:&lt;br /&gt;
 O=Kanzlei Hermanns&lt;br /&gt;
 # Aussteller Name&lt;br /&gt;
 OU=RA Matthias Hermanns&lt;br /&gt;
 # E-Mail-Adresse&lt;br /&gt;
 emailAddress=hermanns@iustus.eu&lt;br /&gt;
 # Primärer Servername&lt;br /&gt;
 CN = &amp;lt;b&amp;gt;k1&amp;lt;/b&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 [v3_ca]&lt;br /&gt;
 keyUsage = digitalSignature, keyEncipherment&lt;br /&gt;
 extendedKeyUsage = serverAuth&lt;br /&gt;
 subjectAltName = IP:&amp;lt;b&amp;gt;192.168.2.10&amp;lt;/b&amp;gt;, DNS:&amp;lt;b&amp;gt;k1&amp;lt;/b&amp;gt;, DNS:&amp;lt;b&amp;gt;k1.local&amp;lt;/b&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 [ req_ext ]&lt;br /&gt;
 subjectAltName = @alt_names&lt;br /&gt;
 &lt;br /&gt;
 [alt_names]&lt;br /&gt;
 # Primärer Server-Name&lt;br /&gt;
 DNS.1 = &amp;lt;b&amp;gt;k1&amp;lt;/b&amp;gt;&lt;br /&gt;
 # Sekunärer Server-Name&lt;br /&gt;
 DNS.2 = &amp;lt;b&amp;gt;k1.local&amp;lt;/b&amp;gt;&lt;br /&gt;
 # Wildcard Subdomains&lt;br /&gt;
 DNS.3 = *.&amp;lt;b&amp;gt;k1.local&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Speichern Sie die so erstellte Datei &amp;lt;tt&amp;gt;ssl.cnf&amp;lt;/tt&amp;gt; im &amp;lt;tt&amp;gt;bin&amp;lt;/tt&amp;gt;-Verzeichnis ab. Mit folgendem Befehl erzeugen Sie nun als zertifizierter Aussteller die eigentlichen Schlüssel für die SSL-Verbindung.&lt;br /&gt;
Zunächst wird der RSA-Key mit 3072 Bit erzeugt (Asymmetrischer Schlüssel von Rivest, Shamir und Adleman, der einen privaten und einen öffentlichen Teil hat):&lt;br /&gt;
{{Shell |&amp;amp;gt; openssl genrsa -out k1.key 3072}}&lt;br /&gt;
Nun folgt die Certificate Signing Request (CSR; deutsch Zertifikatsignierungsanforderung), ein digitaler Antrag, um mittels der soeben erzeugten digitalen Signatur und der zusätzlichen Identitätsangaben zum Antragstellers aus der &amp;lt;tt&amp;gt;ssl.cnf&amp;lt;/tt&amp;gt; ein persönliches digitales Identitäts-Zertifikat (auch Public-Key-Zertifikat genannt) zu erstellen:&lt;br /&gt;
{{Shell |&amp;amp;gt; openssl req -new -keyout ~/bin/keys/k1.key -out ~/bin/keys/k1.csr -config ~/bin/keys/ssl.cnf}}&lt;br /&gt;
Mithilfe des Wurzelzertifikats vom verifizierten Aussteller (uns selbst) wird nun der eigentliche Schlüssel erstellt, damit eine Rückverfolgung zum Wurzelzertifikat möglich ist. &lt;br /&gt;
{{Shell |&amp;amp;gt; sudo openssl x509 -req \&amp;lt;br&amp;gt;&amp;amp;nbsp; -in ~/bin/keys/k1.csr \&amp;lt;br&amp;gt;&amp;amp;nbsp; -CA /etc/ssl/certs/rootCA.pem \&amp;lt;br&amp;gt;&amp;amp;nbsp; -CAkey /etc/ssl/private/rootCA.key \&amp;lt;br&amp;gt;&amp;amp;nbsp; -CAcreateserial \&amp;lt;br&amp;gt;&amp;amp;nbsp; -out ~/bin/keys/k1.crt \&amp;lt;br&amp;gt;&amp;amp;nbsp; -days 3653 \&amp;lt;br&amp;gt;&amp;amp;nbsp; -extfile ~/bin/keys/ssl.cnf \&amp;lt;br&amp;gt;&amp;amp;nbsp; -extensions v3_ca }}&lt;br /&gt;
&lt;br /&gt;
Damit die Zertifkate in unsere regelmäßige Sicherungsspeicherung aufgenommen werden, können wir sie in das Schlüsselverzeichnis &amp;lt;tt&amp;gt;keys&amp;lt;/tt&amp;gt; unter &amp;lt;tt&amp;gt;lawsuit&amp;lt;/tt&amp;gt; kopieren. Dies ist jedoch nur optional, weil es ein Sicherheitsrisiko eröffnet:&lt;br /&gt;
{{Shell |&amp;amp;gt; sudo chown matthias:users keys/k1.crt&amp;lt;br&amp;gt;&amp;amp;nbsp; chmod 640 ~/bin/keys/k1.*&amp;lt;br&amp;gt;&amp;amp;nbsp; cp ~/bin/keys/k1.* ~/lawsuit/keys/}}&lt;br /&gt;
&lt;br /&gt;
=== Verbindung mit dem Server ===&lt;br /&gt;
Wenn Sie host-Datei &amp;lt;tt&amp;gt;lawsuit-httpd.conf&amp;lt;/tt&amp;gt; automatisch wie oben vorgeschlagen generiert haben, sind die notwendigen Einstellungen schon voreingetragen und müssen nur auskommentiert werden. Ansonsten ergänzen Sie unter /etc/apache2/vhosts.d/&lt;br /&gt;
folgende Zeilen:&lt;br /&gt;
 &amp;lt;VirtualHost *:80&amp;gt;&lt;br /&gt;
    ServerName &amp;lt;b&amp;gt;k1&amp;lt;/b&amp;gt;&lt;br /&gt;
    ServerAlias &amp;lt;b&amp;gt;k1.local&amp;lt;/b&amp;gt;&lt;br /&gt;
 &amp;lt;/VirtualHost&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 &amp;lt;IfModule mod_ssl.c&amp;gt;&lt;br /&gt;
    &amp;lt;VirtualHost *:443&amp;gt;&lt;br /&gt;
        ServerAdmin webmaster@localhost&lt;br /&gt;
        DocumentRoot /home/BENUTZERNAME/lawsuit/&lt;br /&gt;
        ServerName &amp;lt;b&amp;gt;k1&amp;lt;/b&amp;gt;&lt;br /&gt;
        ServerAlias &amp;lt;b&amp;gt;k1.local&amp;lt;/b&amp;gt;&lt;br /&gt;
        ErrorLog /var/log/apache2/error_log&lt;br /&gt;
        SSLEngine on&lt;br /&gt;
        SSLCertificateFile      /home/BENUTZERNAME/bin/keys/&amp;lt;b&amp;gt;k1.crt&amp;lt;/b&amp;gt;&lt;br /&gt;
        SSLCertificateKeyFile   /home/BENUTZERNAME/bin/keys/&amp;lt;b&amp;gt;k1.key&amp;lt;/b&amp;gt;&lt;br /&gt;
        &amp;lt;IfModule mod_headers.c&amp;gt;&lt;br /&gt;
            Header always set Strict-Transport-Security &amp;quot;max-age=15552000; includeSubDomains&amp;quot;&lt;br /&gt;
        &amp;lt;/IfModule&amp;gt;&lt;br /&gt;
        &amp;lt;FilesMatch &amp;quot;\.(cgi|html|shtml|pl|phtml|php)$&amp;quot;&amp;gt;&lt;br /&gt;
            SSLOptions +StdEnvVars&lt;br /&gt;
        &amp;lt;/FilesMatch&amp;gt;&lt;br /&gt;
        &amp;lt;Directory /home/BENUTZERNAME/lawsuit/cgi-bin&amp;gt;&lt;br /&gt;
            SSLOptions +StdEnvVars&lt;br /&gt;
        &amp;lt;/Directory&amp;gt;&lt;br /&gt;
    &amp;lt;/VirtualHost&amp;gt;&lt;br /&gt;
 &amp;lt;/IfModule&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 # configuration&lt;br /&gt;
 SSLProtocol             all -SSLv3 -TLSv1 -TLSv1.1 -TLSv1.2&lt;br /&gt;
 SSLHonorCipherOrder     off&lt;br /&gt;
 SSLSessionTickets       off&lt;br /&gt;
&lt;br /&gt;
Damit diese Einstellungen nicht der vom Linux-System vorgegebenen Konfiguration widersprechen, müssen in der Datei &amp;lt;tt&amp;gt;/usr/share/doc/packages/apache2/original/extra/httpd-ssl.conf&amp;lt;/tt&amp;gt; noch folgende Zeilen auskommentiert und berichtigt werden&lt;br /&gt;
 #&amp;lt;b&amp;gt;ServerName&amp;lt;/b&amp;gt; www.example.com:443&lt;br /&gt;
 ServerName &amp;lt;b&amp;gt;k1&amp;lt;/b&amp;gt;:443&lt;br /&gt;
ferner&lt;br /&gt;
 #&amp;lt;b&amp;gt;SSLCertificateFile&amp;lt;/b&amp;gt; &amp;quot;/etc/apache2/server.crt&amp;quot;&lt;br /&gt;
 SSLCertificateFile &amp;quot;/home/BENUTZERNAME/bin/keys/k1.crt&amp;quot;&lt;br /&gt;
und&lt;br /&gt;
 #&amp;lt;b&amp;gt;SSLCertificateKeyFile&amp;lt;/b&amp;gt; &amp;quot;/etc/apache2/server.key&amp;quot;&lt;br /&gt;
 SSLCertificateKeyFile &amp;quot;/home/BENUTZERNAME/bin/keys/k1.key&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Unter Firefox kann das selbstgezeichnete Zertifikat nun verwendet werden. Bitte beachten Sie, dass für jede Apache-Konfigurrationsdatei ein anderer Port geöffnet werden muss, &amp;quot;443&amp;quot; also nur einmal verwendet werden kann. Sie können alternativ z.B. &amp;quot;4443&amp;quot; verwenden.&lt;br /&gt;
&lt;br /&gt;
Abschließender Test und Neustart:&lt;br /&gt;
{{Shell |&amp;amp;#35; sudo apache2ctl -t&amp;lt;br&amp;gt;&amp;amp;nbsp; sudo systemctl restart apache2}}&lt;br /&gt;
&lt;br /&gt;
=== Registrierung als vertrauenswürdiger Aussteller für den Firefox-Browser ===&lt;br /&gt;
Damit der Firefox-Browser das Zertifikat tatsächlich verwendet und als vertrauenswürdig akzeptiert, muss es im Kleopatra-Schlüsseldienst eingetragen werden, auf den der Browser zugreift. &lt;br /&gt;
{{Shell |&amp;amp;gt; kleopatra}}&lt;br /&gt;
Klicken Sie den Reiter &amp;lt;b&amp;gt;Importieren&amp;lt;/b&amp;gt; an und fügen Sie nacheinander die folgenden Dateien ein:&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;/home/BENUTZERNAME/bin/keys/k1.crt&amp;lt;/tt&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;/etc/ssl/certs/rootCA.pem&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Bitte bestätigen Sie die erbetenen Beglaubigungen mit der Maustaste.&lt;br /&gt;
[[Datei:Kleopatra.png|thumb|600px|left|Importieren der Zertifikate in das Kleopatra-Schlüsselverwaltungsprogramm]]&lt;br /&gt;
&amp;lt;br clear=all&amp;gt;&lt;br /&gt;
Nun wechseln Sie in den Firefox-Browser und geben in die Adresszeile ein&lt;br /&gt;
 about:config&lt;br /&gt;
Dort ändern Sie die Variable&lt;br /&gt;
 security.enterprise_roots.enabled -&amp;gt; true&lt;br /&gt;
von &amp;quot;false&amp;quot; auf &amp;quot;true&amp;quot;. Nun bezieht der Browser auch Ihre eigenen CA-Beglaubigungen des Unternehmens eine seine Bewertungen mit ein und vergibt ein grünes Schlüsselsymbol.&lt;br /&gt;
&lt;br /&gt;
== Problembehebung ==&lt;br /&gt;
Lesen Sie wenn möglich die Fehlermeldungen nach dem Start des Servers. Versuchen Sie Fehler ggf. zu reproduzieren und vergleichen Sie die Einträge in den Log-Dateien. Den Einblick auf die dortigen Meldungen können Sie mit dem folgenden Befehl auf den neuesten Stand reduzieren::&lt;br /&gt;
&lt;br /&gt;
{{Shell | # tail -F /var/log/apache2/*}}&lt;br /&gt;
&lt;br /&gt;
Da die Error-Messages schnell sehr großen Umfang einnehmen, der am Ende sogar den Systemstart blockieren kann, empfiehlt es sich, mit Logrotate den Bestand unter Kontrolle zu halten. Installieren Sie dazu, falls noch nicht vom System geschehen:&lt;br /&gt;
{{Shell | # zypper in logrotate}}&lt;br /&gt;
Sie können die Einstellungen in der Konfigurationsdatei &lt;br /&gt;
 /etc/logrotate.conf&lt;br /&gt;
ändern. Eine typische Konfiguration von &amp;lt;tt&amp;gt;logrotate.conf&amp;lt;/tt&amp;gt; sieht z.B. wie folgt aus:&lt;br /&gt;
{{Shell |&amp;amp;#35; see &amp;quot;man logrotate&amp;quot; for details&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;amp;#35; rotate log files weekly &lt;br /&gt;
&amp;lt;br&amp;gt;weekly &lt;br /&gt;
&amp;lt;br&amp;gt;&amp;amp;#35; keep 4 weeks worth of backlogs &lt;br /&gt;
&amp;lt;br&amp;gt;rotate 4&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;b&amp;gt;&amp;amp;#35; remove rotated logs older than &amp;lt;count&amp;gt; days&lt;br /&gt;
&amp;lt;br&amp;gt;maxage 90 &amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;amp;#35; create new (empty) log files after rotating old ones &lt;br /&gt;
&amp;lt;br&amp;gt;create&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;amp;#35; use date as a suffix of the rotated file&lt;br /&gt;
&amp;lt;br&amp;gt;dateext&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;amp;#35; uncomment this if you want your log files compressed &lt;br /&gt;
&amp;lt;br&amp;gt;compress&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;amp;#35; comment these to switch compression to use gzip or another &lt;br /&gt;
&amp;lt;br&amp;gt;&amp;amp;#35; compression scheme&lt;br /&gt;
&amp;lt;br&amp;gt;compresscmd /usr/bin/xz&lt;br /&gt;
&amp;lt;br&amp;gt;uncompresscmd /usr/bin/xzdec&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;amp;#35; RPM packages drop log rotation information into this directory&lt;br /&gt;
&amp;lt;br&amp;gt;include /etc/logrotate.d&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Sollten Sie einen Fehler gefunden haben, [https://de.opensuse.org/SDB:Fehler_berichten berichten Sie ihn] bitte.&lt;br /&gt;
&lt;br /&gt;
==Weiterführende Informationen==&lt;br /&gt;
=== Verwandte Artikel ===&lt;br /&gt;
*[https://de.opensuse.org/YaST_Module_Firewall#Firewall_Einrichten openSUSE Firewall]&lt;br /&gt;
* Package documentation and example configuration files in /usr/share/doc/packages/apache2/&lt;br /&gt;
&lt;br /&gt;
===Externe Links===&lt;br /&gt;
* [https://doc.opensuse.org/documentation/leap/reference/html/book.opensuse.reference/cha.apache2.html openSUSE Apache Documentation]&lt;br /&gt;
* [http://httpd.apache.org/ The Apache Project]&lt;br /&gt;
* [http://www.apache.org/ Apache Software Foundation]&lt;br /&gt;
&lt;br /&gt;
{{DEFAULTSORT:{{PAGENAME}}}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Linuxinstallation]]&lt;/div&gt;</summary>
		<author><name>87.123.95.19</name></author>	</entry>

	<entry>
		<id>http://wiki.iustus.eu/wiki/index.php?title=Aufsetzen_des_Apache-Servers_-_ubuntu&amp;diff=7093</id>
		<title>Aufsetzen des Apache-Servers - ubuntu</title>
		<link rel="alternate" type="text/html" href="http://wiki.iustus.eu/wiki/index.php?title=Aufsetzen_des_Apache-Servers_-_ubuntu&amp;diff=7093"/>
				<updated>2026-01-02T10:02:20Z</updated>
		
		<summary type="html">&lt;p&gt;87.123.95.19: /* Installation der Apache-Pakete */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Ubuntu|&lt;br /&gt;
*[https://ubuntu.com/tutorials/install-ubuntu-desktop-1604#1-overview 16.04.]&lt;br /&gt;
|&lt;br /&gt;
*https://ubuntu.com/tutorials/install-and-configure-apache#2-installing-apache Apache Installation]&lt;br /&gt;
|&lt;br /&gt;
*[https://de.opensuse.org/SDB:LAMP_Einrichtung SDB:LAMP_Einrichtung]&lt;br /&gt;
*[https://de.opensuse.org/Apache2 Apache2]&lt;br /&gt;
*[https://de.opensuse.org/Portal:MySQL Portal:MySQL]&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Einführung ==&lt;br /&gt;
&lt;br /&gt;
Diese Dokument gibt eine rasche Einführung, wie ein Apache-Server auf dem lokalen Rechner aufgesetzt werden kann, der die Lawsuit-Programmteile bereitstellt.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
{{Warnung| Die Kurzanleitung geht nicht vertieft auf mögliche Experten-Einstellungen des Servers ein. Insbesondere bleiben hier Sicherheitseinstellungen unberücksichtigt, die für den Betrieb als öffentlich zugänglicher Netzserver unumgänglich wären. Die nachfolgenden Schritte sind für Anwender gedacht, die Lawsuit intern auf dem Kanzleirechner hinter einer Firewall betreiben möchten.}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== Allgemeine Rechner-Konfiguration ==&lt;br /&gt;
&lt;br /&gt;
Die Software benötigt eine funktionierende Netzwerkumgebung. Diese wird jedoch bereits standardmäßig von Ubuntu eingereichtet. Achten Sie aber insbesondere bei der Nutzung von [https://de.wikipedia.org/wiki/Dynamic_Host_Configuration_Protocol DHCP] darauf, dass [[ weitere Rechner]] der Kanzlei vom Networkmanager tatsächlich im selben Nummernraum wie dieser PC eingetragen wurden, auf dem Apache nun installiert werden soll. Ansonsten können diese Rechner später nicht auf die Kanzleisoftware zugreifen.&lt;br /&gt;
&lt;br /&gt;
Als Zweites sollte der PC auf dem aktuellen Softwarestand sein. &lt;br /&gt;
{{Shell|&amp;gt; sudo apt update}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Installation der Apache-Pakete ===&lt;br /&gt;
&lt;br /&gt;
Der Apache-Server und das optionale Perl-Modul können mit ''apt'' installiert werden. Öffnen Sie dazu ein Terminal-Fenster und wechseln Sie wie folgt in den Superuser-Modus:&lt;br /&gt;
{{Shell|&amp;gt; sudo apt install apache2}}&lt;br /&gt;
Geben Sie nach der Passwortbestätigung den folgenden weiteren Befehl ein:&lt;br /&gt;
{{Shell|# sudo apt apache2-doc perl-Apache-DBI apache2-mod_perl firewalld-rpcbind-helper}}&lt;br /&gt;
&lt;br /&gt;
=== Start des Servers Yast ===&lt;br /&gt;
Mit folgenden zwei Befehlen wird der Apache-Server gestartet und auf Dauer im System aktiviert.&lt;br /&gt;
{{Shell|# systemctl start apache2&amp;lt;br&amp;gt;&amp;amp;nbsp; systemctl enable apache2}}&lt;br /&gt;
&lt;br /&gt;
=== Anpassung der Firewall ===&lt;br /&gt;
&lt;br /&gt;
Die Firewall ist so voreingestellt, dass sie über Port 80 auf den Rechner eingehende Daten grundsätzlich sperrt. Folglich müssen die Firewall-Einstellungen so angepasst werden, dass aus dem Lokalen Netzwerk über Port 80 eingehender Datenstrom akzeptiert wird.&lt;br /&gt;
Die folgenden Schritte müssen dazu weiterhin als Root ausgeführt werden. &lt;br /&gt;
* bis [http://de.opensuse.org/Portal:42.3 Leap 42.3]&lt;br /&gt;
{{Shell|# sysconf_addword /etc/sysconfig/SuSEfirewall2 FW_CONFIGURATIONS_EXT apache2&amp;lt;br&amp;gt;&amp;amp;nbsp; sysconf_addword /etc/sysconfig/SuSEfirewall2 FW_CONFIGURATIONS_EXT apache2-ssl&amp;lt;br&amp;gt;&amp;amp;nbsp; sysconf_addword /etc/sysconfig/SuSEfirewall2 FW_CONFIGURATIONS_EXT http&amp;lt;br&amp;gt;&amp;amp;nbsp; sysconf_addword /etc/sysconfig/SuSEfirewall2 FW_CONFIGURATIONS_EXT https&amp;lt;br&amp;gt;&amp;amp;nbsp; rcSuSEfirewall2 restart }}&lt;br /&gt;
Die Einstellungen finden sich jedoch auch unter ''YaST'' und können dort im '''etc/sysconfig-Editor''' mit den Einträgen ''apache2'' und ''apache2-ssl'' aktiviert werden, indem sie diese durch Leerzeichen getrennt im Feld ''FW_CONFIGURATIONS_EXT'' in &amp;lt;tt&amp;gt;/etc/sysconfig/SuSEfirewall2 &amp;lt;/tt&amp;gt; einsetzen. Diese Konfigurationsvariable findet sich unter:&lt;br /&gt;
 Network &amp;gt; Firewall &amp;gt; SuSEfirewall2&lt;br /&gt;
&lt;br /&gt;
* ab [http://de.opensuse.org/Portal:Tubmleweed Tumbleweed]&lt;br /&gt;
Die Variablen können per ''YaST'' unter&lt;br /&gt;
 Networt &amp;gt; Firewall &lt;br /&gt;
unter der Listenauswahl ''Permanent'' wir folgt eingestellt werden:&lt;br /&gt;
[[Datei:Apache2_firewall.png|thumb|600px|left|Firewall-Einstellungen für den Apache-Server]]&lt;br /&gt;
&amp;lt;br clear=all&amp;gt;&lt;br /&gt;
Alternativ ist die Auswahl per Shell möglich:&lt;br /&gt;
{{Shell|# firewall-cmd --zone internal --permanent --add-interface&amp;amp;#61;eth0&amp;lt;br&amp;gt;&amp;amp;nbsp; firewall-cmd --zone internal --permanent --add-service&amp;amp;#61;apache2&amp;lt;br&amp;gt;&amp;amp;nbsp; firewall-cmd --zone internal --permanent --add-service&amp;amp;#61;apache2-ssl&amp;lt;br&amp;gt;&amp;amp;nbsp; firewall-cmd --zone internal --permanent --add-service&amp;amp;#61;nfs&amp;lt;br&amp;gt;&amp;amp;nbsp; firewall-cmd --zone internal --permanent --add-service&amp;amp;#61;http&amp;lt;br&amp;gt;&amp;amp;nbsp; firewall-cmd --zone internal --permanent --add-service&amp;amp;#61;https&amp;lt;br&amp;gt;&amp;amp;nbsp; firewall-cmd --reload}}&lt;br /&gt;
&lt;br /&gt;
=== Aktivierung des Servers ===&lt;br /&gt;
Starten Sie den Server und aktivieren Sie ihn in einem Bootverzeichnis, damit er mit dem Rechner hochgefahren wird (s.o. ohne Yast):&lt;br /&gt;
{{Shell|# systemctl start apache2.service&amp;lt;br&amp;gt;&amp;amp;nbsp; systemctl enable apache2}}&lt;br /&gt;
Sie können diese Einstellungen jederzeit unter ''YaST'' ändern im Untermenü&lt;br /&gt;
 YaST &amp;gt; Dienste-Verwaltung&lt;br /&gt;
&lt;br /&gt;
=== Hinzufügen von Apache-Modulen===&lt;br /&gt;
Um benötigte Apache-Module zu laden, können wir die Konfigurationsvariable ''APACHE_MODULES'' in &amp;lt;tt&amp;gt;/etc/sysconfig/apache2&amp;lt;/tt&amp;gt; editieren. Schneller geht es jedoch mit den nachfolgenden Befehlen. Nach der Änderung muss der Server neu gestartet werden. Auch für die folgenden Befehle sind wieder die Rechte eines Superusers vonnöten.&lt;br /&gt;
{{Shell|# a2enmod mod_perl&amp;lt;br&amp;gt;&amp;amp;nbsp; a2enmod mod_env&amp;lt;br&amp;gt;&amp;amp;nbsp; a2enmod mod_ssl&amp;lt;br&amp;gt;&amp;amp;nbsp; a2enmod mod_php5&amp;lt;br&amp;gt;&amp;amp;nbsp; a2enmod mod_python&amp;lt;br&amp;gt;&amp;amp;nbsp; a2enmod mod_wsgi&amp;lt;br&amp;gt;&amp;amp;nbsp; a2enmod mod_cgi&amp;lt;br&amp;gt;&amp;amp;nbsp; a2enmod -l&amp;lt;br&amp;gt;&amp;amp;nbsp; systemctl restart apache2}}&lt;br /&gt;
&lt;br /&gt;
== Virtual Hosts ==&lt;br /&gt;
===Allgemeines===&lt;br /&gt;
Das Verzeichnis für alle Virtual Host ist &amp;lt;tt&amp;gt;/etc/apache2/vhosts.d/&amp;lt;/tt&amp;gt;. Wie Sie sehen gibt es zwei Konfigurationsdateien - eine mit ssl, die andere ohne ssl. Wir benutzen die Vorlage ohne [https://de.wikipedia.org/wiki/Transport_Layer_Security Secure Sockets Layer]. Nur Dateien mit dem Suffix &amp;quot;.conf&amp;quot; werden automatisch in die Apachekonfiguration einbezogen.&lt;br /&gt;
&lt;br /&gt;
{{Intro|Wenn Sie neben Lawsuit einen weiteren eigenen Virtual Host hinzufügen möchten, ersetzen Sie in den folgenden Zeilen bitte ''Domainname'' durch ihren Verzeichnisnamen oder Ihre IP-Adresse.}}&lt;br /&gt;
&lt;br /&gt;
* Es gibt mehrere Varianten für die Struktur, mit welcher der eigenen Server auf dem Rechner aufgesetzt werden kann. Folgende Optionen bieten sich an: &lt;br /&gt;
:* [https://httpd.apache.org/docs/2.4/de/vhosts/name-based.html namensbasiert]&lt;br /&gt;
:* [https://httpd.apache.org/docs/2.4/de/vhosts/ip-based.html IP-basiert]&lt;br /&gt;
:* portbasiert&lt;br /&gt;
&lt;br /&gt;
* Sei können für Ihre Verzeichnisse die Vorlage '''vhost.template''' kopieren und als Ihre '''{DOMAINNAME}.conf''' speichern. Hier hinein tragen Sie anschließend die Unterverzeichnisse für Ihren Virtual Host ein.&lt;br /&gt;
&lt;br /&gt;
===Einstellungen für ''Lawsuit''===&lt;br /&gt;
Für ''Lawsuit'' wird die Konfigurationsdatei jedoch im Unterverzeichnis &amp;lt;tt&amp;gt;lawsuit/settings&amp;lt;/tt&amp;gt; bereits fertig zur Verfügung gestellt. Sie müssen lediglich in der genannten Datei den Platzhalter durch den eigenen Nutzernamen ersetzen und die fertige Datei in das Vhosts-Verzeichnis verlinken. Wechseln Sie in das Unterverzeichnis &amp;lt;tt&amp;gt;lawsuit/settings&amp;lt;/tt&amp;gt;. Wenn Sie ''Lawsuit'' in Ihrem Nutzerhauptverzeichnis installiert haben, gelangen Sie mit diesem Befehl dorthin:&lt;br /&gt;
{{Shell | &amp;gt; cd ~/lawsuit/settings}}&lt;br /&gt;
Erstellen Sie dort eine Konfigurationsdatei aus der Vorlage &amp;lt;tt&amp;gt;lawsuit-httpd.template&amp;lt;/tt&amp;gt; und ersetzen Sie den darin enthaltenen Platzhalter ''meinpfad'' dabei durch Ihren Pfad zum aktuellen Verzeichnis. Dies erfolgt automatisiert durch diese Befehle:&lt;br /&gt;
{{Shell | &amp;gt; pfad&amp;amp;#61;&amp;amp;#96;pwd &amp;amp;#124; sed &amp;amp;apos;s/\/lawsuit.*//&amp;amp;apos;  &amp;amp;#124; sed &amp;amp;apos;s/\//\\\\\//g&amp;amp;apos;&amp;amp;#96;&amp;lt;br&amp;gt; &amp;gt; sed &amp;amp;quot;s/meinpfad/$pfad/g&amp;amp;quot; lawsuit-httpd.template &amp;gt; lawsuit-httpd.conf}}&lt;br /&gt;
Falls Ihr Pfad zum Ordner &amp;lt;tt&amp;gt;Documents&amp;lt;/tt&amp;gt; nicht mit dem soeben ermittelten Pfad für &amp;lt;tt&amp;gt;lawsuit&amp;lt;/tt&amp;gt; identisch ist, passen Sie diese Einstellungen für das Verzeichnis &amp;lt;tt&amp;gt;Documents&amp;lt;/tt&amp;gt; bitte in der &amp;lt;tt&amp;gt;lawsuit-httpd.conf&amp;lt;/tt&amp;gt; mit einem Editor wie '''kate''' von Hand an.&lt;br /&gt;
&lt;br /&gt;
Abschließend kopieren Sie die erstellte Konfigurationsdatei als ''Superuser'' in das Verzeichnis der Virtual Hosts von Apache:&lt;br /&gt;
&lt;br /&gt;
{{Shell | &amp;gt; sudo cp lawsuit-httpd.conf /etc/apache2/vhosts.d/}}&lt;br /&gt;
&lt;br /&gt;
* Neustart von Apache&lt;br /&gt;
{{Shell | &amp;gt; sudo service apache2 restart}}&lt;br /&gt;
&lt;br /&gt;
=== Anpassen der Konfiguration ===&lt;br /&gt;
Um Ergänzungen oder Änderungen einheitlich für alle Virtual Hosts an der Datei &amp;lt;tt&amp;gt;/etc/apache2/default-server.conf&amp;lt;/tt&amp;gt; vorzunehmen, editieren Sie die Konfigurationsvariable ''APACHE_CONF_INCLUDE_FILES'' mithilfe von &lt;br /&gt;
 YaST &amp;gt; etc/sysconfig-Editor&lt;br /&gt;
oder arbeiten direkt in der Textdatei &amp;lt;tt&amp;gt;/etc/sysconfig/apache2&amp;lt;/tt&amp;gt;. Zum Verständnis der Hierarchie und des Layouts um Dateien einzubeziehen, lesen Sie die Kommentierung im Kopf der &amp;lt;tt&amp;gt;httpd.conf&amp;lt;/tt&amp;gt;. Die ursprüngliche, einfache Konfigurationsdatei mit nur 40K findet sich notfalls unter &amp;lt;tt&amp;gt;/usr/share/doc/packages/apache2/httpd-std.conf-prefork&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Optional: Ein Zertifikat für localhost erstellen ==&lt;br /&gt;
Bei Mehrplatzsystemen funktionieren die Javascript-Voreintragungen bei Nutzung einer sicheren HTTPS-Verbindung nur, wenn ein eigenes Zertifikat erstellt wird, dessen Aussteller zudem noch aus vertrauenswürdig eingestuft werden muss.OpenSSL bringt umfassende Werkzeuge mit, um eine eigene, kleine Certificate Authority (CA) betreiben zu können. &lt;br /&gt;
=== Vergabe einer Domain für den Rechner mit den Lawsuit-Daten ===&lt;br /&gt;
Unter &amp;lt;i&amp;gt;yast2 &amp;gt; Netzwerkdienste &amp;gt; Rechnernamen&amp;lt;/i&amp;gt; fügen Sie unter der Zeile &amp;quot;localhost&amp;quot; eine Zeile mit folgenden Daten ein:&lt;br /&gt;
 IP-Adresse: &amp;lt;b&amp;gt;192.168.2.10&amp;lt;/b&amp;gt;&lt;br /&gt;
 Hostnamen:  &amp;lt;b&amp;gt;k1.local&amp;lt;/b&amp;gt;&lt;br /&gt;
 Aliasnamen: &amp;lt;b&amp;gt;k1&amp;lt;/b&amp;gt;&lt;br /&gt;
[[Datei:Hostkonfiguration.png|thumb|600px|left|Eigenen Rechnernamen vergeben]]&lt;br /&gt;
&amp;lt;br clear=all&amp;gt;&lt;br /&gt;
Sie können statt &amp;quot;k1&amp;quot; eine beliebe andere Bezeichnung für den Hauptrechner wählen, müssen dann aber Ihre Domain in den folgenden Einstellungen beibehalten.&lt;br /&gt;
&lt;br /&gt;
=== Certificate Authority (CA) erstellen ===&lt;br /&gt;
Zu Beginn wird die Certificate Authority generiert. Zunächst wird ein geheimer Private Key erzeugt:&lt;br /&gt;
{{Shell |&amp;amp;gt; sudo openssl genrsa -aes256 -out /etc/ssl/private/rootCA.key 4096}}&lt;br /&gt;
Der Key trägt den Namen “rootCA.pem” und hat eine Länge von 4096 Bit. Die Option “-aes256” führt dazu, dass der Key mit einem Passwort geschützt wird. Die Key-Datei der CA muss tatsächlich besonders gut geschützt werden. Ein Angreifer, der den Key in die Hände bekommt, kann beliebig gefälschte Zertifikate im Namen der Kanzlei ausstellen, denen die Clients trauen. Die Verschlüsselung dieses Keys mit einem Passwort gibt zusätzlichen Schutz. Das gewünschte Passwort wird bei der Generierung abgefragt.&lt;br /&gt;
Einen geheimen Key für die CA gibt es damit also schon - es fehlt noch das Root-Zertifikat, das von den Clients später importiert werden muss, damit die von der CA ausgestellten Zertifikate im Browser als gültig erkannt werden. Das Root-Zertifikat “ca-root.pem” wird mit folgendem Befehl erzeugt: &lt;br /&gt;
{{Shell |&amp;amp;gt; sudo openssl req -x509 -new -nodes -key /etc/ssl/private/rootCA.key -sha512 -days 5483 -out /etc/ssl/certs/rootCA.pem}}&lt;br /&gt;
In diesem Fall wird die CA 5483 Tage, also mit Schalttagen 15 Jahre lang gültig bleiben. Während der Generierung werden das Passwort für die CA und einige Attribute abgefragt (hier ein Beispiel):&lt;br /&gt;
 Country Name (2 letter code) [AU]:&amp;lt;b&amp;gt;DE&amp;lt;/b&amp;gt;&lt;br /&gt;
 State or Province Name (full name) [Some-State]:&amp;lt;b&amp;gt;Nordrhein-Westfalen&amp;lt;/b&amp;gt;&lt;br /&gt;
 Locality Name (eg, city) []:&amp;lt;b&amp;gt;Muenster&amp;lt;/b&amp;gt;&lt;br /&gt;
 Organization Name (eg, company) [Internet Widgits Pty Ltd]:&amp;lt;b&amp;gt;Kanzlei Hermanns&amp;lt;/b&amp;gt;&lt;br /&gt;
 Organizational Unit Name (eg, section) []:&amp;lt;b&amp;gt;Rechtsanwalt&amp;lt;/b&amp;gt;&lt;br /&gt;
 Common Name (e.g. server FQDN or YOUR name) []:&amp;lt;b&amp;gt;RA Matthias Hermanns&amp;lt;/b&amp;gt;&lt;br /&gt;
 Email Address []:&amp;lt;b&amp;gt;hermanns@iustus.eu&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Erzeugen des Schlüssels===&lt;br /&gt;
Mit diesen Daten wird auch eine Konfiguratunsdatei mit Namen &amp;lt;tt&amp;gt;ssl.cnf&amp;lt;/tt&amp;gt; befüllt, die die Schlüsselausgabe später vereinfacht.&lt;br /&gt;
{{Shell |&amp;amp;gt; cd ~/bin&amp;lt;br&amp;gt;&amp;amp;nbsp; mkdir keys&amp;lt;br&amp;gt;&amp;amp;nbsp; cd keys&amp;lt;br&amp;gt;&amp;amp;nbsp; kate ssl.cnf}}&lt;br /&gt;
Die Datei kann beispielsweise den folgenden Inhalt haben&lt;br /&gt;
 [req]&lt;br /&gt;
 # Standard-Verschlüsselung&lt;br /&gt;
 default_bits = 4096&lt;br /&gt;
 # verhindere prompt für die Zertifikat-Erstellung&lt;br /&gt;
 # (Daten kommen aus dieser Datei)&lt;br /&gt;
 prompt = no&lt;br /&gt;
 # Verschlüsselungsmethode&lt;br /&gt;
 default_md = sha512&lt;br /&gt;
 # Kryptographie abschalten&lt;br /&gt;
 encrypt_key = no&lt;br /&gt;
 # Sektion für Zertifizierer-Informationen:&lt;br /&gt;
 distinguished_name = dn&lt;br /&gt;
 &lt;br /&gt;
 # Zertifizierer-Informationen:&lt;br /&gt;
 [dn]&lt;br /&gt;
 # Länder-Code&lt;br /&gt;
 C=DE&lt;br /&gt;
 # Bundesland&lt;br /&gt;
 ST=Nordrhein-Westfalen&lt;br /&gt;
 # Stadt&lt;br /&gt;
 L=Muenster&lt;br /&gt;
 # Bezeichnung/Firmen-Name/Dein Name:&lt;br /&gt;
 O=Kanzlei Hermanns&lt;br /&gt;
 # Aussteller Name&lt;br /&gt;
 OU=RA Matthias Hermanns&lt;br /&gt;
 # E-Mail-Adresse&lt;br /&gt;
 emailAddress=hermanns@iustus.eu&lt;br /&gt;
 # Primärer Servername&lt;br /&gt;
 CN = &amp;lt;b&amp;gt;k1&amp;lt;/b&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 [v3_ca]&lt;br /&gt;
 keyUsage = digitalSignature, keyEncipherment&lt;br /&gt;
 extendedKeyUsage = serverAuth&lt;br /&gt;
 subjectAltName = IP:&amp;lt;b&amp;gt;192.168.2.10&amp;lt;/b&amp;gt;, DNS:&amp;lt;b&amp;gt;k1&amp;lt;/b&amp;gt;, DNS:&amp;lt;b&amp;gt;k1.local&amp;lt;/b&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 [ req_ext ]&lt;br /&gt;
 subjectAltName = @alt_names&lt;br /&gt;
 &lt;br /&gt;
 [alt_names]&lt;br /&gt;
 # Primärer Server-Name&lt;br /&gt;
 DNS.1 = &amp;lt;b&amp;gt;k1&amp;lt;/b&amp;gt;&lt;br /&gt;
 # Sekunärer Server-Name&lt;br /&gt;
 DNS.2 = &amp;lt;b&amp;gt;k1.local&amp;lt;/b&amp;gt;&lt;br /&gt;
 # Wildcard Subdomains&lt;br /&gt;
 DNS.3 = *.&amp;lt;b&amp;gt;k1.local&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Speichern Sie die so erstellte Datei &amp;lt;tt&amp;gt;ssl.cnf&amp;lt;/tt&amp;gt; im &amp;lt;tt&amp;gt;bin&amp;lt;/tt&amp;gt;-Verzeichnis ab. Mit folgendem Befehl erzeugen Sie nun als zertifizierter Aussteller die eigentlichen Schlüssel für die SSL-Verbindung.&lt;br /&gt;
Zunächst wird der RSA-Key mit 3072 Bit erzeugt (Asymmetrischer Schlüssel von Rivest, Shamir und Adleman, der einen privaten und einen öffentlichen Teil hat):&lt;br /&gt;
{{Shell |&amp;amp;gt; openssl genrsa -out k1.key 3072}}&lt;br /&gt;
Nun folgt die Certificate Signing Request (CSR; deutsch Zertifikatsignierungsanforderung), ein digitaler Antrag, um mittels der soeben erzeugten digitalen Signatur und der zusätzlichen Identitätsangaben zum Antragstellers aus der &amp;lt;tt&amp;gt;ssl.cnf&amp;lt;/tt&amp;gt; ein persönliches digitales Identitäts-Zertifikat (auch Public-Key-Zertifikat genannt) zu erstellen:&lt;br /&gt;
{{Shell |&amp;amp;gt; openssl req -new -keyout ~/bin/keys/k1.key -out ~/bin/keys/k1.csr -config ~/bin/keys/ssl.cnf}}&lt;br /&gt;
Mithilfe des Wurzelzertifikats vom verifizierten Aussteller (uns selbst) wird nun der eigentliche Schlüssel erstellt, damit eine Rückverfolgung zum Wurzelzertifikat möglich ist. &lt;br /&gt;
{{Shell |&amp;amp;gt; sudo openssl x509 -req \&amp;lt;br&amp;gt;&amp;amp;nbsp; -in ~/bin/keys/k1.csr \&amp;lt;br&amp;gt;&amp;amp;nbsp; -CA /etc/ssl/certs/rootCA.pem \&amp;lt;br&amp;gt;&amp;amp;nbsp; -CAkey /etc/ssl/private/rootCA.key \&amp;lt;br&amp;gt;&amp;amp;nbsp; -CAcreateserial \&amp;lt;br&amp;gt;&amp;amp;nbsp; -out ~/bin/keys/k1.crt \&amp;lt;br&amp;gt;&amp;amp;nbsp; -days 3653 \&amp;lt;br&amp;gt;&amp;amp;nbsp; -extfile ~/bin/keys/ssl.cnf \&amp;lt;br&amp;gt;&amp;amp;nbsp; -extensions v3_ca }}&lt;br /&gt;
&lt;br /&gt;
Damit die Zertifkate in unsere regelmäßige Sicherungsspeicherung aufgenommen werden, können wir sie in das Schlüsselverzeichnis &amp;lt;tt&amp;gt;keys&amp;lt;/tt&amp;gt; unter &amp;lt;tt&amp;gt;lawsuit&amp;lt;/tt&amp;gt; kopieren. Dies ist jedoch nur optional, weil es ein Sicherheitsrisiko eröffnet:&lt;br /&gt;
{{Shell |&amp;amp;gt; sudo chown matthias:users keys/k1.crt&amp;lt;br&amp;gt;&amp;amp;nbsp; chmod 640 ~/bin/keys/k1.*&amp;lt;br&amp;gt;&amp;amp;nbsp; cp ~/bin/keys/k1.* ~/lawsuit/keys/}}&lt;br /&gt;
&lt;br /&gt;
=== Verbindung mit dem Server ===&lt;br /&gt;
Wenn Sie host-Datei &amp;lt;tt&amp;gt;lawsuit-httpd.conf&amp;lt;/tt&amp;gt; automatisch wie oben vorgeschlagen generiert haben, sind die notwendigen Einstellungen schon voreingetragen und müssen nur auskommentiert werden. Ansonsten ergänzen Sie unter /etc/apache2/vhosts.d/&lt;br /&gt;
folgende Zeilen:&lt;br /&gt;
 &amp;lt;VirtualHost *:80&amp;gt;&lt;br /&gt;
    ServerName &amp;lt;b&amp;gt;k1&amp;lt;/b&amp;gt;&lt;br /&gt;
    ServerAlias &amp;lt;b&amp;gt;k1.local&amp;lt;/b&amp;gt;&lt;br /&gt;
 &amp;lt;/VirtualHost&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 &amp;lt;IfModule mod_ssl.c&amp;gt;&lt;br /&gt;
    &amp;lt;VirtualHost *:443&amp;gt;&lt;br /&gt;
        ServerAdmin webmaster@localhost&lt;br /&gt;
        DocumentRoot /home/BENUTZERNAME/lawsuit/&lt;br /&gt;
        ServerName &amp;lt;b&amp;gt;k1&amp;lt;/b&amp;gt;&lt;br /&gt;
        ServerAlias &amp;lt;b&amp;gt;k1.local&amp;lt;/b&amp;gt;&lt;br /&gt;
        ErrorLog /var/log/apache2/error_log&lt;br /&gt;
        SSLEngine on&lt;br /&gt;
        SSLCertificateFile      /home/BENUTZERNAME/bin/keys/&amp;lt;b&amp;gt;k1.crt&amp;lt;/b&amp;gt;&lt;br /&gt;
        SSLCertificateKeyFile   /home/BENUTZERNAME/bin/keys/&amp;lt;b&amp;gt;k1.key&amp;lt;/b&amp;gt;&lt;br /&gt;
        &amp;lt;IfModule mod_headers.c&amp;gt;&lt;br /&gt;
            Header always set Strict-Transport-Security &amp;quot;max-age=15552000; includeSubDomains&amp;quot;&lt;br /&gt;
        &amp;lt;/IfModule&amp;gt;&lt;br /&gt;
        &amp;lt;FilesMatch &amp;quot;\.(cgi|html|shtml|pl|phtml|php)$&amp;quot;&amp;gt;&lt;br /&gt;
            SSLOptions +StdEnvVars&lt;br /&gt;
        &amp;lt;/FilesMatch&amp;gt;&lt;br /&gt;
        &amp;lt;Directory /home/BENUTZERNAME/lawsuit/cgi-bin&amp;gt;&lt;br /&gt;
            SSLOptions +StdEnvVars&lt;br /&gt;
        &amp;lt;/Directory&amp;gt;&lt;br /&gt;
    &amp;lt;/VirtualHost&amp;gt;&lt;br /&gt;
 &amp;lt;/IfModule&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 # configuration&lt;br /&gt;
 SSLProtocol             all -SSLv3 -TLSv1 -TLSv1.1 -TLSv1.2&lt;br /&gt;
 SSLHonorCipherOrder     off&lt;br /&gt;
 SSLSessionTickets       off&lt;br /&gt;
&lt;br /&gt;
Damit diese Einstellungen nicht der vom Linux-System vorgegebenen Konfiguration widersprechen, müssen in der Datei &amp;lt;tt&amp;gt;/usr/share/doc/packages/apache2/original/extra/httpd-ssl.conf&amp;lt;/tt&amp;gt; noch folgende Zeilen auskommentiert und berichtigt werden&lt;br /&gt;
 #&amp;lt;b&amp;gt;ServerName&amp;lt;/b&amp;gt; www.example.com:443&lt;br /&gt;
 ServerName &amp;lt;b&amp;gt;k1&amp;lt;/b&amp;gt;:443&lt;br /&gt;
ferner&lt;br /&gt;
 #&amp;lt;b&amp;gt;SSLCertificateFile&amp;lt;/b&amp;gt; &amp;quot;/etc/apache2/server.crt&amp;quot;&lt;br /&gt;
 SSLCertificateFile &amp;quot;/home/BENUTZERNAME/bin/keys/k1.crt&amp;quot;&lt;br /&gt;
und&lt;br /&gt;
 #&amp;lt;b&amp;gt;SSLCertificateKeyFile&amp;lt;/b&amp;gt; &amp;quot;/etc/apache2/server.key&amp;quot;&lt;br /&gt;
 SSLCertificateKeyFile &amp;quot;/home/BENUTZERNAME/bin/keys/k1.key&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Unter Firefox kann das selbstgezeichnete Zertifikat nun verwendet werden. Bitte beachten Sie, dass für jede Apache-Konfigurrationsdatei ein anderer Port geöffnet werden muss, &amp;quot;443&amp;quot; also nur einmal verwendet werden kann. Sie können alternativ z.B. &amp;quot;4443&amp;quot; verwenden.&lt;br /&gt;
&lt;br /&gt;
Abschließender Test und Neustart:&lt;br /&gt;
{{Shell |&amp;amp;#35; sudo apache2ctl -t&amp;lt;br&amp;gt;&amp;amp;nbsp; sudo systemctl restart apache2}}&lt;br /&gt;
&lt;br /&gt;
=== Registrierung als vertrauenswürdiger Aussteller für den Firefox-Browser ===&lt;br /&gt;
Damit der Firefox-Browser das Zertifikat tatsächlich verwendet und als vertrauenswürdig akzeptiert, muss es im Kleopatra-Schlüsseldienst eingetragen werden, auf den der Browser zugreift. &lt;br /&gt;
{{Shell |&amp;amp;gt; kleopatra}}&lt;br /&gt;
Klicken Sie den Reiter &amp;lt;b&amp;gt;Importieren&amp;lt;/b&amp;gt; an und fügen Sie nacheinander die folgenden Dateien ein:&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;/home/BENUTZERNAME/bin/keys/k1.crt&amp;lt;/tt&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;/etc/ssl/certs/rootCA.pem&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Bitte bestätigen Sie die erbetenen Beglaubigungen mit der Maustaste.&lt;br /&gt;
[[Datei:Kleopatra.png|thumb|600px|left|Importieren der Zertifikate in das Kleopatra-Schlüsselverwaltungsprogramm]]&lt;br /&gt;
&amp;lt;br clear=all&amp;gt;&lt;br /&gt;
Nun wechseln Sie in den Firefox-Browser und geben in die Adresszeile ein&lt;br /&gt;
 about:config&lt;br /&gt;
Dort ändern Sie die Variable&lt;br /&gt;
 security.enterprise_roots.enabled -&amp;gt; true&lt;br /&gt;
von &amp;quot;false&amp;quot; auf &amp;quot;true&amp;quot;. Nun bezieht der Browser auch Ihre eigenen CA-Beglaubigungen des Unternehmens eine seine Bewertungen mit ein und vergibt ein grünes Schlüsselsymbol.&lt;br /&gt;
&lt;br /&gt;
== Problembehebung ==&lt;br /&gt;
Lesen Sie wenn möglich die Fehlermeldungen nach dem Start des Servers. Versuchen Sie Fehler ggf. zu reproduzieren und vergleichen Sie die Einträge in den Log-Dateien. Den Einblick auf die dortigen Meldungen können Sie mit dem folgenden Befehl auf den neuesten Stand reduzieren::&lt;br /&gt;
&lt;br /&gt;
{{Shell | # tail -F /var/log/apache2/*}}&lt;br /&gt;
&lt;br /&gt;
Da die Error-Messages schnell sehr großen Umfang einnehmen, der am Ende sogar den Systemstart blockieren kann, empfiehlt es sich, mit Logrotate den Bestand unter Kontrolle zu halten. Installieren Sie dazu, falls noch nicht vom System geschehen:&lt;br /&gt;
{{Shell | # zypper in logrotate}}&lt;br /&gt;
Sie können die Einstellungen in der Konfigurationsdatei &lt;br /&gt;
 /etc/logrotate.conf&lt;br /&gt;
ändern. Eine typische Konfiguration von &amp;lt;tt&amp;gt;logrotate.conf&amp;lt;/tt&amp;gt; sieht z.B. wie folgt aus:&lt;br /&gt;
{{Shell |&amp;amp;#35; see &amp;quot;man logrotate&amp;quot; for details&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;amp;#35; rotate log files weekly &lt;br /&gt;
&amp;lt;br&amp;gt;weekly &lt;br /&gt;
&amp;lt;br&amp;gt;&amp;amp;#35; keep 4 weeks worth of backlogs &lt;br /&gt;
&amp;lt;br&amp;gt;rotate 4&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;b&amp;gt;&amp;amp;#35; remove rotated logs older than &amp;lt;count&amp;gt; days&lt;br /&gt;
&amp;lt;br&amp;gt;maxage 90 &amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;amp;#35; create new (empty) log files after rotating old ones &lt;br /&gt;
&amp;lt;br&amp;gt;create&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;amp;#35; use date as a suffix of the rotated file&lt;br /&gt;
&amp;lt;br&amp;gt;dateext&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;amp;#35; uncomment this if you want your log files compressed &lt;br /&gt;
&amp;lt;br&amp;gt;compress&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;amp;#35; comment these to switch compression to use gzip or another &lt;br /&gt;
&amp;lt;br&amp;gt;&amp;amp;#35; compression scheme&lt;br /&gt;
&amp;lt;br&amp;gt;compresscmd /usr/bin/xz&lt;br /&gt;
&amp;lt;br&amp;gt;uncompresscmd /usr/bin/xzdec&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;amp;#35; RPM packages drop log rotation information into this directory&lt;br /&gt;
&amp;lt;br&amp;gt;include /etc/logrotate.d&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Sollten Sie einen Fehler gefunden haben, [https://de.opensuse.org/SDB:Fehler_berichten berichten Sie ihn] bitte.&lt;br /&gt;
&lt;br /&gt;
==Weiterführende Informationen==&lt;br /&gt;
=== Verwandte Artikel ===&lt;br /&gt;
*[https://de.opensuse.org/YaST_Module_Firewall#Firewall_Einrichten openSUSE Firewall]&lt;br /&gt;
* Package documentation and example configuration files in /usr/share/doc/packages/apache2/&lt;br /&gt;
&lt;br /&gt;
===Externe Links===&lt;br /&gt;
* [https://doc.opensuse.org/documentation/leap/reference/html/book.opensuse.reference/cha.apache2.html openSUSE Apache Documentation]&lt;br /&gt;
* [http://httpd.apache.org/ The Apache Project]&lt;br /&gt;
* [http://www.apache.org/ Apache Software Foundation]&lt;br /&gt;
&lt;br /&gt;
{{DEFAULTSORT:{{PAGENAME}}}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Linuxinstallation]]&lt;/div&gt;</summary>
		<author><name>87.123.95.19</name></author>	</entry>

	<entry>
		<id>http://wiki.iustus.eu/wiki/index.php?title=Aufsetzen_des_Apache-Servers_-_ubuntu&amp;diff=7092</id>
		<title>Aufsetzen des Apache-Servers - ubuntu</title>
		<link rel="alternate" type="text/html" href="http://wiki.iustus.eu/wiki/index.php?title=Aufsetzen_des_Apache-Servers_-_ubuntu&amp;diff=7092"/>
				<updated>2026-01-02T09:59:55Z</updated>
		
		<summary type="html">&lt;p&gt;87.123.95.19: Die Seite wurde neu angelegt: „{{Ubuntu| *[https://ubuntu.com/tutorials/install-ubuntu-desktop-1604#1-overview 16.04.] | *https://ubuntu.com/tutorials/install-and-configure-apache#2-installi…“&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Ubuntu|&lt;br /&gt;
*[https://ubuntu.com/tutorials/install-ubuntu-desktop-1604#1-overview 16.04.]&lt;br /&gt;
|&lt;br /&gt;
*https://ubuntu.com/tutorials/install-and-configure-apache#2-installing-apache Apache Installation]&lt;br /&gt;
|&lt;br /&gt;
*[https://de.opensuse.org/SDB:LAMP_Einrichtung SDB:LAMP_Einrichtung]&lt;br /&gt;
*[https://de.opensuse.org/Apache2 Apache2]&lt;br /&gt;
*[https://de.opensuse.org/Portal:MySQL Portal:MySQL]&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Einführung ==&lt;br /&gt;
&lt;br /&gt;
Diese Dokument gibt eine rasche Einführung, wie ein Apache-Server auf dem lokalen Rechner aufgesetzt werden kann, der die Lawsuit-Programmteile bereitstellt.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
{{Warnung| Die Kurzanleitung geht nicht vertieft auf mögliche Experten-Einstellungen des Servers ein. Insbesondere bleiben hier Sicherheitseinstellungen unberücksichtigt, die für den Betrieb als öffentlich zugänglicher Netzserver unumgänglich wären. Die nachfolgenden Schritte sind für Anwender gedacht, die Lawsuit intern auf dem Kanzleirechner hinter einer Firewall betreiben möchten.}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== Allgemeine Rechner-Konfiguration ==&lt;br /&gt;
&lt;br /&gt;
Die Software benötigt eine funktionierende Netzwerkumgebung. Diese wird jedoch bereits standardmäßig von Ubuntu eingereichtet. Achten Sie aber insbesondere bei der Nutzung von [https://de.wikipedia.org/wiki/Dynamic_Host_Configuration_Protocol DHCP] darauf, dass [[ weitere Rechner]] der Kanzlei vom Networkmanager tatsächlich im selben Nummernraum wie dieser PC eingetragen wurden, auf dem Apache nun installiert werden soll. Ansonsten können diese Rechner später nicht auf die Kanzleisoftware zugreifen.&lt;br /&gt;
&lt;br /&gt;
Als Zweites sollte der PC auf dem aktuellen Softwarestand sein. &lt;br /&gt;
{{Shell|&amp;gt; sudo apt update}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Installation der Apache-Pakete ===&lt;br /&gt;
&lt;br /&gt;
Der Apache-Server und das optionale Perl-Modul können mit ''apt'' installiert werden. Öffnen Sie dazu ein Terminal-Fenster und wechseln Sie wie folgt in den Superuser-Modus:&lt;br /&gt;
{{Shell|&amp;gt; sudo apt install apache2}}&lt;br /&gt;
Geben Sie nach der Passwortbestätigung den folgenden weiteren Befehl ein:&lt;br /&gt;
{{Shell|# sudo apt apache2-doc perl-Apache-DBI apache2-mod_perl apache2-mod_php5 apache2-mod_python firewalld-rpcbind-helper}}&lt;br /&gt;
&lt;br /&gt;
=== Start des Servers Yast ===&lt;br /&gt;
Mit folgenden zwei Befehlen wird der Apache-Server gestartet und auf Dauer im System aktiviert.&lt;br /&gt;
{{Shell|# systemctl start apache2&amp;lt;br&amp;gt;&amp;amp;nbsp; systemctl enable apache2}}&lt;br /&gt;
&lt;br /&gt;
=== Anpassung der Firewall ===&lt;br /&gt;
&lt;br /&gt;
Die Firewall ist so voreingestellt, dass sie über Port 80 auf den Rechner eingehende Daten grundsätzlich sperrt. Folglich müssen die Firewall-Einstellungen so angepasst werden, dass aus dem Lokalen Netzwerk über Port 80 eingehender Datenstrom akzeptiert wird.&lt;br /&gt;
Die folgenden Schritte müssen dazu weiterhin als Root ausgeführt werden. &lt;br /&gt;
* bis [http://de.opensuse.org/Portal:42.3 Leap 42.3]&lt;br /&gt;
{{Shell|# sysconf_addword /etc/sysconfig/SuSEfirewall2 FW_CONFIGURATIONS_EXT apache2&amp;lt;br&amp;gt;&amp;amp;nbsp; sysconf_addword /etc/sysconfig/SuSEfirewall2 FW_CONFIGURATIONS_EXT apache2-ssl&amp;lt;br&amp;gt;&amp;amp;nbsp; sysconf_addword /etc/sysconfig/SuSEfirewall2 FW_CONFIGURATIONS_EXT http&amp;lt;br&amp;gt;&amp;amp;nbsp; sysconf_addword /etc/sysconfig/SuSEfirewall2 FW_CONFIGURATIONS_EXT https&amp;lt;br&amp;gt;&amp;amp;nbsp; rcSuSEfirewall2 restart }}&lt;br /&gt;
Die Einstellungen finden sich jedoch auch unter ''YaST'' und können dort im '''etc/sysconfig-Editor''' mit den Einträgen ''apache2'' und ''apache2-ssl'' aktiviert werden, indem sie diese durch Leerzeichen getrennt im Feld ''FW_CONFIGURATIONS_EXT'' in &amp;lt;tt&amp;gt;/etc/sysconfig/SuSEfirewall2 &amp;lt;/tt&amp;gt; einsetzen. Diese Konfigurationsvariable findet sich unter:&lt;br /&gt;
 Network &amp;gt; Firewall &amp;gt; SuSEfirewall2&lt;br /&gt;
&lt;br /&gt;
* ab [http://de.opensuse.org/Portal:Tubmleweed Tumbleweed]&lt;br /&gt;
Die Variablen können per ''YaST'' unter&lt;br /&gt;
 Networt &amp;gt; Firewall &lt;br /&gt;
unter der Listenauswahl ''Permanent'' wir folgt eingestellt werden:&lt;br /&gt;
[[Datei:Apache2_firewall.png|thumb|600px|left|Firewall-Einstellungen für den Apache-Server]]&lt;br /&gt;
&amp;lt;br clear=all&amp;gt;&lt;br /&gt;
Alternativ ist die Auswahl per Shell möglich:&lt;br /&gt;
{{Shell|# firewall-cmd --zone internal --permanent --add-interface&amp;amp;#61;eth0&amp;lt;br&amp;gt;&amp;amp;nbsp; firewall-cmd --zone internal --permanent --add-service&amp;amp;#61;apache2&amp;lt;br&amp;gt;&amp;amp;nbsp; firewall-cmd --zone internal --permanent --add-service&amp;amp;#61;apache2-ssl&amp;lt;br&amp;gt;&amp;amp;nbsp; firewall-cmd --zone internal --permanent --add-service&amp;amp;#61;nfs&amp;lt;br&amp;gt;&amp;amp;nbsp; firewall-cmd --zone internal --permanent --add-service&amp;amp;#61;http&amp;lt;br&amp;gt;&amp;amp;nbsp; firewall-cmd --zone internal --permanent --add-service&amp;amp;#61;https&amp;lt;br&amp;gt;&amp;amp;nbsp; firewall-cmd --reload}}&lt;br /&gt;
&lt;br /&gt;
=== Aktivierung des Servers ===&lt;br /&gt;
Starten Sie den Server und aktivieren Sie ihn in einem Bootverzeichnis, damit er mit dem Rechner hochgefahren wird (s.o. ohne Yast):&lt;br /&gt;
{{Shell|# systemctl start apache2.service&amp;lt;br&amp;gt;&amp;amp;nbsp; systemctl enable apache2}}&lt;br /&gt;
Sie können diese Einstellungen jederzeit unter ''YaST'' ändern im Untermenü&lt;br /&gt;
 YaST &amp;gt; Dienste-Verwaltung&lt;br /&gt;
&lt;br /&gt;
=== Hinzufügen von Apache-Modulen===&lt;br /&gt;
Um benötigte Apache-Module zu laden, können wir die Konfigurationsvariable ''APACHE_MODULES'' in &amp;lt;tt&amp;gt;/etc/sysconfig/apache2&amp;lt;/tt&amp;gt; editieren. Schneller geht es jedoch mit den nachfolgenden Befehlen. Nach der Änderung muss der Server neu gestartet werden. Auch für die folgenden Befehle sind wieder die Rechte eines Superusers vonnöten.&lt;br /&gt;
{{Shell|# a2enmod mod_perl&amp;lt;br&amp;gt;&amp;amp;nbsp; a2enmod mod_env&amp;lt;br&amp;gt;&amp;amp;nbsp; a2enmod mod_ssl&amp;lt;br&amp;gt;&amp;amp;nbsp; a2enmod mod_php5&amp;lt;br&amp;gt;&amp;amp;nbsp; a2enmod mod_python&amp;lt;br&amp;gt;&amp;amp;nbsp; a2enmod mod_wsgi&amp;lt;br&amp;gt;&amp;amp;nbsp; a2enmod mod_cgi&amp;lt;br&amp;gt;&amp;amp;nbsp; a2enmod -l&amp;lt;br&amp;gt;&amp;amp;nbsp; systemctl restart apache2}}&lt;br /&gt;
&lt;br /&gt;
== Virtual Hosts ==&lt;br /&gt;
===Allgemeines===&lt;br /&gt;
Das Verzeichnis für alle Virtual Host ist &amp;lt;tt&amp;gt;/etc/apache2/vhosts.d/&amp;lt;/tt&amp;gt;. Wie Sie sehen gibt es zwei Konfigurationsdateien - eine mit ssl, die andere ohne ssl. Wir benutzen die Vorlage ohne [https://de.wikipedia.org/wiki/Transport_Layer_Security Secure Sockets Layer]. Nur Dateien mit dem Suffix &amp;quot;.conf&amp;quot; werden automatisch in die Apachekonfiguration einbezogen.&lt;br /&gt;
&lt;br /&gt;
{{Intro|Wenn Sie neben Lawsuit einen weiteren eigenen Virtual Host hinzufügen möchten, ersetzen Sie in den folgenden Zeilen bitte ''Domainname'' durch ihren Verzeichnisnamen oder Ihre IP-Adresse.}}&lt;br /&gt;
&lt;br /&gt;
* Es gibt mehrere Varianten für die Struktur, mit welcher der eigenen Server auf dem Rechner aufgesetzt werden kann. Folgende Optionen bieten sich an: &lt;br /&gt;
:* [https://httpd.apache.org/docs/2.4/de/vhosts/name-based.html namensbasiert]&lt;br /&gt;
:* [https://httpd.apache.org/docs/2.4/de/vhosts/ip-based.html IP-basiert]&lt;br /&gt;
:* portbasiert&lt;br /&gt;
&lt;br /&gt;
* Sei können für Ihre Verzeichnisse die Vorlage '''vhost.template''' kopieren und als Ihre '''{DOMAINNAME}.conf''' speichern. Hier hinein tragen Sie anschließend die Unterverzeichnisse für Ihren Virtual Host ein.&lt;br /&gt;
&lt;br /&gt;
===Einstellungen für ''Lawsuit''===&lt;br /&gt;
Für ''Lawsuit'' wird die Konfigurationsdatei jedoch im Unterverzeichnis &amp;lt;tt&amp;gt;lawsuit/settings&amp;lt;/tt&amp;gt; bereits fertig zur Verfügung gestellt. Sie müssen lediglich in der genannten Datei den Platzhalter durch den eigenen Nutzernamen ersetzen und die fertige Datei in das Vhosts-Verzeichnis verlinken. Wechseln Sie in das Unterverzeichnis &amp;lt;tt&amp;gt;lawsuit/settings&amp;lt;/tt&amp;gt;. Wenn Sie ''Lawsuit'' in Ihrem Nutzerhauptverzeichnis installiert haben, gelangen Sie mit diesem Befehl dorthin:&lt;br /&gt;
{{Shell | &amp;gt; cd ~/lawsuit/settings}}&lt;br /&gt;
Erstellen Sie dort eine Konfigurationsdatei aus der Vorlage &amp;lt;tt&amp;gt;lawsuit-httpd.template&amp;lt;/tt&amp;gt; und ersetzen Sie den darin enthaltenen Platzhalter ''meinpfad'' dabei durch Ihren Pfad zum aktuellen Verzeichnis. Dies erfolgt automatisiert durch diese Befehle:&lt;br /&gt;
{{Shell | &amp;gt; pfad&amp;amp;#61;&amp;amp;#96;pwd &amp;amp;#124; sed &amp;amp;apos;s/\/lawsuit.*//&amp;amp;apos;  &amp;amp;#124; sed &amp;amp;apos;s/\//\\\\\//g&amp;amp;apos;&amp;amp;#96;&amp;lt;br&amp;gt; &amp;gt; sed &amp;amp;quot;s/meinpfad/$pfad/g&amp;amp;quot; lawsuit-httpd.template &amp;gt; lawsuit-httpd.conf}}&lt;br /&gt;
Falls Ihr Pfad zum Ordner &amp;lt;tt&amp;gt;Documents&amp;lt;/tt&amp;gt; nicht mit dem soeben ermittelten Pfad für &amp;lt;tt&amp;gt;lawsuit&amp;lt;/tt&amp;gt; identisch ist, passen Sie diese Einstellungen für das Verzeichnis &amp;lt;tt&amp;gt;Documents&amp;lt;/tt&amp;gt; bitte in der &amp;lt;tt&amp;gt;lawsuit-httpd.conf&amp;lt;/tt&amp;gt; mit einem Editor wie '''kate''' von Hand an.&lt;br /&gt;
&lt;br /&gt;
Abschließend kopieren Sie die erstellte Konfigurationsdatei als ''Superuser'' in das Verzeichnis der Virtual Hosts von Apache:&lt;br /&gt;
&lt;br /&gt;
{{Shell | &amp;gt; sudo cp lawsuit-httpd.conf /etc/apache2/vhosts.d/}}&lt;br /&gt;
&lt;br /&gt;
* Neustart von Apache&lt;br /&gt;
{{Shell | &amp;gt; sudo service apache2 restart}}&lt;br /&gt;
&lt;br /&gt;
=== Anpassen der Konfiguration ===&lt;br /&gt;
Um Ergänzungen oder Änderungen einheitlich für alle Virtual Hosts an der Datei &amp;lt;tt&amp;gt;/etc/apache2/default-server.conf&amp;lt;/tt&amp;gt; vorzunehmen, editieren Sie die Konfigurationsvariable ''APACHE_CONF_INCLUDE_FILES'' mithilfe von &lt;br /&gt;
 YaST &amp;gt; etc/sysconfig-Editor&lt;br /&gt;
oder arbeiten direkt in der Textdatei &amp;lt;tt&amp;gt;/etc/sysconfig/apache2&amp;lt;/tt&amp;gt;. Zum Verständnis der Hierarchie und des Layouts um Dateien einzubeziehen, lesen Sie die Kommentierung im Kopf der &amp;lt;tt&amp;gt;httpd.conf&amp;lt;/tt&amp;gt;. Die ursprüngliche, einfache Konfigurationsdatei mit nur 40K findet sich notfalls unter &amp;lt;tt&amp;gt;/usr/share/doc/packages/apache2/httpd-std.conf-prefork&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Optional: Ein Zertifikat für localhost erstellen ==&lt;br /&gt;
Bei Mehrplatzsystemen funktionieren die Javascript-Voreintragungen bei Nutzung einer sicheren HTTPS-Verbindung nur, wenn ein eigenes Zertifikat erstellt wird, dessen Aussteller zudem noch aus vertrauenswürdig eingestuft werden muss.OpenSSL bringt umfassende Werkzeuge mit, um eine eigene, kleine Certificate Authority (CA) betreiben zu können. &lt;br /&gt;
=== Vergabe einer Domain für den Rechner mit den Lawsuit-Daten ===&lt;br /&gt;
Unter &amp;lt;i&amp;gt;yast2 &amp;gt; Netzwerkdienste &amp;gt; Rechnernamen&amp;lt;/i&amp;gt; fügen Sie unter der Zeile &amp;quot;localhost&amp;quot; eine Zeile mit folgenden Daten ein:&lt;br /&gt;
 IP-Adresse: &amp;lt;b&amp;gt;192.168.2.10&amp;lt;/b&amp;gt;&lt;br /&gt;
 Hostnamen:  &amp;lt;b&amp;gt;k1.local&amp;lt;/b&amp;gt;&lt;br /&gt;
 Aliasnamen: &amp;lt;b&amp;gt;k1&amp;lt;/b&amp;gt;&lt;br /&gt;
[[Datei:Hostkonfiguration.png|thumb|600px|left|Eigenen Rechnernamen vergeben]]&lt;br /&gt;
&amp;lt;br clear=all&amp;gt;&lt;br /&gt;
Sie können statt &amp;quot;k1&amp;quot; eine beliebe andere Bezeichnung für den Hauptrechner wählen, müssen dann aber Ihre Domain in den folgenden Einstellungen beibehalten.&lt;br /&gt;
&lt;br /&gt;
=== Certificate Authority (CA) erstellen ===&lt;br /&gt;
Zu Beginn wird die Certificate Authority generiert. Zunächst wird ein geheimer Private Key erzeugt:&lt;br /&gt;
{{Shell |&amp;amp;gt; sudo openssl genrsa -aes256 -out /etc/ssl/private/rootCA.key 4096}}&lt;br /&gt;
Der Key trägt den Namen “rootCA.pem” und hat eine Länge von 4096 Bit. Die Option “-aes256” führt dazu, dass der Key mit einem Passwort geschützt wird. Die Key-Datei der CA muss tatsächlich besonders gut geschützt werden. Ein Angreifer, der den Key in die Hände bekommt, kann beliebig gefälschte Zertifikate im Namen der Kanzlei ausstellen, denen die Clients trauen. Die Verschlüsselung dieses Keys mit einem Passwort gibt zusätzlichen Schutz. Das gewünschte Passwort wird bei der Generierung abgefragt.&lt;br /&gt;
Einen geheimen Key für die CA gibt es damit also schon - es fehlt noch das Root-Zertifikat, das von den Clients später importiert werden muss, damit die von der CA ausgestellten Zertifikate im Browser als gültig erkannt werden. Das Root-Zertifikat “ca-root.pem” wird mit folgendem Befehl erzeugt: &lt;br /&gt;
{{Shell |&amp;amp;gt; sudo openssl req -x509 -new -nodes -key /etc/ssl/private/rootCA.key -sha512 -days 5483 -out /etc/ssl/certs/rootCA.pem}}&lt;br /&gt;
In diesem Fall wird die CA 5483 Tage, also mit Schalttagen 15 Jahre lang gültig bleiben. Während der Generierung werden das Passwort für die CA und einige Attribute abgefragt (hier ein Beispiel):&lt;br /&gt;
 Country Name (2 letter code) [AU]:&amp;lt;b&amp;gt;DE&amp;lt;/b&amp;gt;&lt;br /&gt;
 State or Province Name (full name) [Some-State]:&amp;lt;b&amp;gt;Nordrhein-Westfalen&amp;lt;/b&amp;gt;&lt;br /&gt;
 Locality Name (eg, city) []:&amp;lt;b&amp;gt;Muenster&amp;lt;/b&amp;gt;&lt;br /&gt;
 Organization Name (eg, company) [Internet Widgits Pty Ltd]:&amp;lt;b&amp;gt;Kanzlei Hermanns&amp;lt;/b&amp;gt;&lt;br /&gt;
 Organizational Unit Name (eg, section) []:&amp;lt;b&amp;gt;Rechtsanwalt&amp;lt;/b&amp;gt;&lt;br /&gt;
 Common Name (e.g. server FQDN or YOUR name) []:&amp;lt;b&amp;gt;RA Matthias Hermanns&amp;lt;/b&amp;gt;&lt;br /&gt;
 Email Address []:&amp;lt;b&amp;gt;hermanns@iustus.eu&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Erzeugen des Schlüssels===&lt;br /&gt;
Mit diesen Daten wird auch eine Konfiguratunsdatei mit Namen &amp;lt;tt&amp;gt;ssl.cnf&amp;lt;/tt&amp;gt; befüllt, die die Schlüsselausgabe später vereinfacht.&lt;br /&gt;
{{Shell |&amp;amp;gt; cd ~/bin&amp;lt;br&amp;gt;&amp;amp;nbsp; mkdir keys&amp;lt;br&amp;gt;&amp;amp;nbsp; cd keys&amp;lt;br&amp;gt;&amp;amp;nbsp; kate ssl.cnf}}&lt;br /&gt;
Die Datei kann beispielsweise den folgenden Inhalt haben&lt;br /&gt;
 [req]&lt;br /&gt;
 # Standard-Verschlüsselung&lt;br /&gt;
 default_bits = 4096&lt;br /&gt;
 # verhindere prompt für die Zertifikat-Erstellung&lt;br /&gt;
 # (Daten kommen aus dieser Datei)&lt;br /&gt;
 prompt = no&lt;br /&gt;
 # Verschlüsselungsmethode&lt;br /&gt;
 default_md = sha512&lt;br /&gt;
 # Kryptographie abschalten&lt;br /&gt;
 encrypt_key = no&lt;br /&gt;
 # Sektion für Zertifizierer-Informationen:&lt;br /&gt;
 distinguished_name = dn&lt;br /&gt;
 &lt;br /&gt;
 # Zertifizierer-Informationen:&lt;br /&gt;
 [dn]&lt;br /&gt;
 # Länder-Code&lt;br /&gt;
 C=DE&lt;br /&gt;
 # Bundesland&lt;br /&gt;
 ST=Nordrhein-Westfalen&lt;br /&gt;
 # Stadt&lt;br /&gt;
 L=Muenster&lt;br /&gt;
 # Bezeichnung/Firmen-Name/Dein Name:&lt;br /&gt;
 O=Kanzlei Hermanns&lt;br /&gt;
 # Aussteller Name&lt;br /&gt;
 OU=RA Matthias Hermanns&lt;br /&gt;
 # E-Mail-Adresse&lt;br /&gt;
 emailAddress=hermanns@iustus.eu&lt;br /&gt;
 # Primärer Servername&lt;br /&gt;
 CN = &amp;lt;b&amp;gt;k1&amp;lt;/b&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 [v3_ca]&lt;br /&gt;
 keyUsage = digitalSignature, keyEncipherment&lt;br /&gt;
 extendedKeyUsage = serverAuth&lt;br /&gt;
 subjectAltName = IP:&amp;lt;b&amp;gt;192.168.2.10&amp;lt;/b&amp;gt;, DNS:&amp;lt;b&amp;gt;k1&amp;lt;/b&amp;gt;, DNS:&amp;lt;b&amp;gt;k1.local&amp;lt;/b&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 [ req_ext ]&lt;br /&gt;
 subjectAltName = @alt_names&lt;br /&gt;
 &lt;br /&gt;
 [alt_names]&lt;br /&gt;
 # Primärer Server-Name&lt;br /&gt;
 DNS.1 = &amp;lt;b&amp;gt;k1&amp;lt;/b&amp;gt;&lt;br /&gt;
 # Sekunärer Server-Name&lt;br /&gt;
 DNS.2 = &amp;lt;b&amp;gt;k1.local&amp;lt;/b&amp;gt;&lt;br /&gt;
 # Wildcard Subdomains&lt;br /&gt;
 DNS.3 = *.&amp;lt;b&amp;gt;k1.local&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Speichern Sie die so erstellte Datei &amp;lt;tt&amp;gt;ssl.cnf&amp;lt;/tt&amp;gt; im &amp;lt;tt&amp;gt;bin&amp;lt;/tt&amp;gt;-Verzeichnis ab. Mit folgendem Befehl erzeugen Sie nun als zertifizierter Aussteller die eigentlichen Schlüssel für die SSL-Verbindung.&lt;br /&gt;
Zunächst wird der RSA-Key mit 3072 Bit erzeugt (Asymmetrischer Schlüssel von Rivest, Shamir und Adleman, der einen privaten und einen öffentlichen Teil hat):&lt;br /&gt;
{{Shell |&amp;amp;gt; openssl genrsa -out k1.key 3072}}&lt;br /&gt;
Nun folgt die Certificate Signing Request (CSR; deutsch Zertifikatsignierungsanforderung), ein digitaler Antrag, um mittels der soeben erzeugten digitalen Signatur und der zusätzlichen Identitätsangaben zum Antragstellers aus der &amp;lt;tt&amp;gt;ssl.cnf&amp;lt;/tt&amp;gt; ein persönliches digitales Identitäts-Zertifikat (auch Public-Key-Zertifikat genannt) zu erstellen:&lt;br /&gt;
{{Shell |&amp;amp;gt; openssl req -new -keyout ~/bin/keys/k1.key -out ~/bin/keys/k1.csr -config ~/bin/keys/ssl.cnf}}&lt;br /&gt;
Mithilfe des Wurzelzertifikats vom verifizierten Aussteller (uns selbst) wird nun der eigentliche Schlüssel erstellt, damit eine Rückverfolgung zum Wurzelzertifikat möglich ist. &lt;br /&gt;
{{Shell |&amp;amp;gt; sudo openssl x509 -req \&amp;lt;br&amp;gt;&amp;amp;nbsp; -in ~/bin/keys/k1.csr \&amp;lt;br&amp;gt;&amp;amp;nbsp; -CA /etc/ssl/certs/rootCA.pem \&amp;lt;br&amp;gt;&amp;amp;nbsp; -CAkey /etc/ssl/private/rootCA.key \&amp;lt;br&amp;gt;&amp;amp;nbsp; -CAcreateserial \&amp;lt;br&amp;gt;&amp;amp;nbsp; -out ~/bin/keys/k1.crt \&amp;lt;br&amp;gt;&amp;amp;nbsp; -days 3653 \&amp;lt;br&amp;gt;&amp;amp;nbsp; -extfile ~/bin/keys/ssl.cnf \&amp;lt;br&amp;gt;&amp;amp;nbsp; -extensions v3_ca }}&lt;br /&gt;
&lt;br /&gt;
Damit die Zertifkate in unsere regelmäßige Sicherungsspeicherung aufgenommen werden, können wir sie in das Schlüsselverzeichnis &amp;lt;tt&amp;gt;keys&amp;lt;/tt&amp;gt; unter &amp;lt;tt&amp;gt;lawsuit&amp;lt;/tt&amp;gt; kopieren. Dies ist jedoch nur optional, weil es ein Sicherheitsrisiko eröffnet:&lt;br /&gt;
{{Shell |&amp;amp;gt; sudo chown matthias:users keys/k1.crt&amp;lt;br&amp;gt;&amp;amp;nbsp; chmod 640 ~/bin/keys/k1.*&amp;lt;br&amp;gt;&amp;amp;nbsp; cp ~/bin/keys/k1.* ~/lawsuit/keys/}}&lt;br /&gt;
&lt;br /&gt;
=== Verbindung mit dem Server ===&lt;br /&gt;
Wenn Sie host-Datei &amp;lt;tt&amp;gt;lawsuit-httpd.conf&amp;lt;/tt&amp;gt; automatisch wie oben vorgeschlagen generiert haben, sind die notwendigen Einstellungen schon voreingetragen und müssen nur auskommentiert werden. Ansonsten ergänzen Sie unter /etc/apache2/vhosts.d/&lt;br /&gt;
folgende Zeilen:&lt;br /&gt;
 &amp;lt;VirtualHost *:80&amp;gt;&lt;br /&gt;
    ServerName &amp;lt;b&amp;gt;k1&amp;lt;/b&amp;gt;&lt;br /&gt;
    ServerAlias &amp;lt;b&amp;gt;k1.local&amp;lt;/b&amp;gt;&lt;br /&gt;
 &amp;lt;/VirtualHost&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 &amp;lt;IfModule mod_ssl.c&amp;gt;&lt;br /&gt;
    &amp;lt;VirtualHost *:443&amp;gt;&lt;br /&gt;
        ServerAdmin webmaster@localhost&lt;br /&gt;
        DocumentRoot /home/BENUTZERNAME/lawsuit/&lt;br /&gt;
        ServerName &amp;lt;b&amp;gt;k1&amp;lt;/b&amp;gt;&lt;br /&gt;
        ServerAlias &amp;lt;b&amp;gt;k1.local&amp;lt;/b&amp;gt;&lt;br /&gt;
        ErrorLog /var/log/apache2/error_log&lt;br /&gt;
        SSLEngine on&lt;br /&gt;
        SSLCertificateFile      /home/BENUTZERNAME/bin/keys/&amp;lt;b&amp;gt;k1.crt&amp;lt;/b&amp;gt;&lt;br /&gt;
        SSLCertificateKeyFile   /home/BENUTZERNAME/bin/keys/&amp;lt;b&amp;gt;k1.key&amp;lt;/b&amp;gt;&lt;br /&gt;
        &amp;lt;IfModule mod_headers.c&amp;gt;&lt;br /&gt;
            Header always set Strict-Transport-Security &amp;quot;max-age=15552000; includeSubDomains&amp;quot;&lt;br /&gt;
        &amp;lt;/IfModule&amp;gt;&lt;br /&gt;
        &amp;lt;FilesMatch &amp;quot;\.(cgi|html|shtml|pl|phtml|php)$&amp;quot;&amp;gt;&lt;br /&gt;
            SSLOptions +StdEnvVars&lt;br /&gt;
        &amp;lt;/FilesMatch&amp;gt;&lt;br /&gt;
        &amp;lt;Directory /home/BENUTZERNAME/lawsuit/cgi-bin&amp;gt;&lt;br /&gt;
            SSLOptions +StdEnvVars&lt;br /&gt;
        &amp;lt;/Directory&amp;gt;&lt;br /&gt;
    &amp;lt;/VirtualHost&amp;gt;&lt;br /&gt;
 &amp;lt;/IfModule&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 # configuration&lt;br /&gt;
 SSLProtocol             all -SSLv3 -TLSv1 -TLSv1.1 -TLSv1.2&lt;br /&gt;
 SSLHonorCipherOrder     off&lt;br /&gt;
 SSLSessionTickets       off&lt;br /&gt;
&lt;br /&gt;
Damit diese Einstellungen nicht der vom Linux-System vorgegebenen Konfiguration widersprechen, müssen in der Datei &amp;lt;tt&amp;gt;/usr/share/doc/packages/apache2/original/extra/httpd-ssl.conf&amp;lt;/tt&amp;gt; noch folgende Zeilen auskommentiert und berichtigt werden&lt;br /&gt;
 #&amp;lt;b&amp;gt;ServerName&amp;lt;/b&amp;gt; www.example.com:443&lt;br /&gt;
 ServerName &amp;lt;b&amp;gt;k1&amp;lt;/b&amp;gt;:443&lt;br /&gt;
ferner&lt;br /&gt;
 #&amp;lt;b&amp;gt;SSLCertificateFile&amp;lt;/b&amp;gt; &amp;quot;/etc/apache2/server.crt&amp;quot;&lt;br /&gt;
 SSLCertificateFile &amp;quot;/home/BENUTZERNAME/bin/keys/k1.crt&amp;quot;&lt;br /&gt;
und&lt;br /&gt;
 #&amp;lt;b&amp;gt;SSLCertificateKeyFile&amp;lt;/b&amp;gt; &amp;quot;/etc/apache2/server.key&amp;quot;&lt;br /&gt;
 SSLCertificateKeyFile &amp;quot;/home/BENUTZERNAME/bin/keys/k1.key&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Unter Firefox kann das selbstgezeichnete Zertifikat nun verwendet werden. Bitte beachten Sie, dass für jede Apache-Konfigurrationsdatei ein anderer Port geöffnet werden muss, &amp;quot;443&amp;quot; also nur einmal verwendet werden kann. Sie können alternativ z.B. &amp;quot;4443&amp;quot; verwenden.&lt;br /&gt;
&lt;br /&gt;
Abschließender Test und Neustart:&lt;br /&gt;
{{Shell |&amp;amp;#35; sudo apache2ctl -t&amp;lt;br&amp;gt;&amp;amp;nbsp; sudo systemctl restart apache2}}&lt;br /&gt;
&lt;br /&gt;
=== Registrierung als vertrauenswürdiger Aussteller für den Firefox-Browser ===&lt;br /&gt;
Damit der Firefox-Browser das Zertifikat tatsächlich verwendet und als vertrauenswürdig akzeptiert, muss es im Kleopatra-Schlüsseldienst eingetragen werden, auf den der Browser zugreift. &lt;br /&gt;
{{Shell |&amp;amp;gt; kleopatra}}&lt;br /&gt;
Klicken Sie den Reiter &amp;lt;b&amp;gt;Importieren&amp;lt;/b&amp;gt; an und fügen Sie nacheinander die folgenden Dateien ein:&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;/home/BENUTZERNAME/bin/keys/k1.crt&amp;lt;/tt&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;/etc/ssl/certs/rootCA.pem&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Bitte bestätigen Sie die erbetenen Beglaubigungen mit der Maustaste.&lt;br /&gt;
[[Datei:Kleopatra.png|thumb|600px|left|Importieren der Zertifikate in das Kleopatra-Schlüsselverwaltungsprogramm]]&lt;br /&gt;
&amp;lt;br clear=all&amp;gt;&lt;br /&gt;
Nun wechseln Sie in den Firefox-Browser und geben in die Adresszeile ein&lt;br /&gt;
 about:config&lt;br /&gt;
Dort ändern Sie die Variable&lt;br /&gt;
 security.enterprise_roots.enabled -&amp;gt; true&lt;br /&gt;
von &amp;quot;false&amp;quot; auf &amp;quot;true&amp;quot;. Nun bezieht der Browser auch Ihre eigenen CA-Beglaubigungen des Unternehmens eine seine Bewertungen mit ein und vergibt ein grünes Schlüsselsymbol.&lt;br /&gt;
&lt;br /&gt;
== Problembehebung ==&lt;br /&gt;
Lesen Sie wenn möglich die Fehlermeldungen nach dem Start des Servers. Versuchen Sie Fehler ggf. zu reproduzieren und vergleichen Sie die Einträge in den Log-Dateien. Den Einblick auf die dortigen Meldungen können Sie mit dem folgenden Befehl auf den neuesten Stand reduzieren::&lt;br /&gt;
&lt;br /&gt;
{{Shell | # tail -F /var/log/apache2/*}}&lt;br /&gt;
&lt;br /&gt;
Da die Error-Messages schnell sehr großen Umfang einnehmen, der am Ende sogar den Systemstart blockieren kann, empfiehlt es sich, mit Logrotate den Bestand unter Kontrolle zu halten. Installieren Sie dazu, falls noch nicht vom System geschehen:&lt;br /&gt;
{{Shell | # zypper in logrotate}}&lt;br /&gt;
Sie können die Einstellungen in der Konfigurationsdatei &lt;br /&gt;
 /etc/logrotate.conf&lt;br /&gt;
ändern. Eine typische Konfiguration von &amp;lt;tt&amp;gt;logrotate.conf&amp;lt;/tt&amp;gt; sieht z.B. wie folgt aus:&lt;br /&gt;
{{Shell |&amp;amp;#35; see &amp;quot;man logrotate&amp;quot; for details&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;amp;#35; rotate log files weekly &lt;br /&gt;
&amp;lt;br&amp;gt;weekly &lt;br /&gt;
&amp;lt;br&amp;gt;&amp;amp;#35; keep 4 weeks worth of backlogs &lt;br /&gt;
&amp;lt;br&amp;gt;rotate 4&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;b&amp;gt;&amp;amp;#35; remove rotated logs older than &amp;lt;count&amp;gt; days&lt;br /&gt;
&amp;lt;br&amp;gt;maxage 90 &amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;amp;#35; create new (empty) log files after rotating old ones &lt;br /&gt;
&amp;lt;br&amp;gt;create&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;amp;#35; use date as a suffix of the rotated file&lt;br /&gt;
&amp;lt;br&amp;gt;dateext&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;amp;#35; uncomment this if you want your log files compressed &lt;br /&gt;
&amp;lt;br&amp;gt;compress&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;amp;#35; comment these to switch compression to use gzip or another &lt;br /&gt;
&amp;lt;br&amp;gt;&amp;amp;#35; compression scheme&lt;br /&gt;
&amp;lt;br&amp;gt;compresscmd /usr/bin/xz&lt;br /&gt;
&amp;lt;br&amp;gt;uncompresscmd /usr/bin/xzdec&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;amp;#35; RPM packages drop log rotation information into this directory&lt;br /&gt;
&amp;lt;br&amp;gt;include /etc/logrotate.d&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Sollten Sie einen Fehler gefunden haben, [https://de.opensuse.org/SDB:Fehler_berichten berichten Sie ihn] bitte.&lt;br /&gt;
&lt;br /&gt;
==Weiterführende Informationen==&lt;br /&gt;
=== Verwandte Artikel ===&lt;br /&gt;
*[https://de.opensuse.org/YaST_Module_Firewall#Firewall_Einrichten openSUSE Firewall]&lt;br /&gt;
* Package documentation and example configuration files in /usr/share/doc/packages/apache2/&lt;br /&gt;
&lt;br /&gt;
===Externe Links===&lt;br /&gt;
* [https://doc.opensuse.org/documentation/leap/reference/html/book.opensuse.reference/cha.apache2.html openSUSE Apache Documentation]&lt;br /&gt;
* [http://httpd.apache.org/ The Apache Project]&lt;br /&gt;
* [http://www.apache.org/ Apache Software Foundation]&lt;br /&gt;
&lt;br /&gt;
{{DEFAULTSORT:{{PAGENAME}}}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Linuxinstallation]]&lt;/div&gt;</summary>
		<author><name>87.123.95.19</name></author>	</entry>

	</feed>