<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
	<id>https://wiki.hostsharing.net/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Peh00-phor</id>
	<title>Hostsharing Wiki - Benutzerbeiträge [de]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.hostsharing.net/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Peh00-phor"/>
	<link rel="alternate" type="text/html" href="https://wiki.hostsharing.net/index.php?title=Spezial:Beitr%C3%A4ge/Peh00-phor"/>
	<updated>2026-04-28T15:23:36Z</updated>
	<subtitle>Benutzerbeiträge</subtitle>
	<generator>MediaWiki 1.43.8</generator>
	<entry>
		<id>https://wiki.hostsharing.net/index.php?title=Mattermost_Installieren&amp;diff=7185</id>
		<title>Mattermost Installieren</title>
		<link rel="alternate" type="text/html" href="https://wiki.hostsharing.net/index.php?title=Mattermost_Installieren&amp;diff=7185"/>
		<updated>2024-12-13T19:00:35Z</updated>

		<summary type="html">&lt;p&gt;Peh00-phor: Update auf v10.x, RAM statt DAEMON&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Über Mattermost ==&lt;br /&gt;
&lt;br /&gt;
Mattermost ist ein Chat-Server unter einer freien MIT Lizenz. Der Server ist in der Programmiersprache [https://de.wikipedia.org/wiki/Go_%28Programmiersprache%29 go] implementiert.&lt;br /&gt;
&lt;br /&gt;
Mattermost ist eine selbst-gehostete Alternative zum Cloud-Dienst [https://de.wikipedia.org/wiki/Slack_(Software) Slack] oder zum proprietären [https://en.wikipedia.org/wiki/HipChat HipChat].&lt;br /&gt;
&lt;br /&gt;
== Vorbereitungen ==&lt;br /&gt;
&lt;br /&gt;
Die hier beschriebene Installation benötigt bei Hostsharing die Paket-Option &amp;quot;RAM&amp;quot;. Benötigt werden etwa 512 MB. Im Managed Webspace ist diese Option kostenpflichtig: https://www.hostsharing.net/angebote/managed-webspace/&lt;br /&gt;
&lt;br /&gt;
Für den Betrieb des Dienstes legen Sie einen Service-User mit Hilfe von HSAdmin an. Als User-Beispiel nutzen wir im Folgenden &amp;quot;xyz00-chat&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Ebenfalls mit HSAdmin muss eine (Sub-)Domain für den Chat-Dienst aufgeschaltet/angelegt werden. Die Domain muss dem User &amp;quot;xyz00-chat&amp;quot; zugeordnet werden. In dieser Anleitung nutze ich die Domain &amp;quot;beispiel-chat.de&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Weiterhin benötigt Mattermost eine MariaDB- oder eine PostgreSQL-Datenbank. Wir empfehlen PostgreSQL und legen also mit Hilfe von HSAdmin einen PostgreSQL-User (&amp;quot;xyz00_mm_user&amp;quot; mit Passwort &amp;quot;geheim&amp;quot;) und eine Datenbank (&amp;quot;xyz00_mm_db&amp;quot; mit dem Eigentümer &amp;quot;xyz00_mm_user&amp;quot;) an.&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
&lt;br /&gt;
Als User &amp;quot;xyz00-chat&amp;quot; lade ich die Software herunter (aktuelle Version siehe [https://github.com/mattermost/mattermost-server/releases]):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=shell&amp;gt;&lt;br /&gt;
wget https://releases.mattermost.com/10.2.1/mattermost-10.2.1-linux-amd64.tar.gz&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Die tar.gz-Datei wird ausgepackt:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=shell&amp;gt;&lt;br /&gt;
tar xzf mattermost-10.2.1-linux-amd64.tar.gz&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dann finden wir im $HOME des Users &amp;quot;xyz00-chat&amp;quot; ein Unterverzeichnis &amp;quot;$HOME/mattermost&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Konfiguration ==&lt;br /&gt;
&lt;br /&gt;
Die Konfiguration von Mattermost nehmen wir in der Datei $&amp;quot;HOME/mattermost/config/config.json&amp;quot; vor:&lt;br /&gt;
&lt;br /&gt;
Im Abschnitt &amp;quot;ServiceSettings&amp;quot; definieren wir die Parameter &amp;quot;SiteURL&amp;quot;, &amp;quot;WebsocketURL&amp;quot; und &amp;quot;ListenAddress&amp;quot;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=json line&amp;gt;&lt;br /&gt;
&amp;quot;ServiceSettings&amp;quot;: {&lt;br /&gt;
    &amp;quot;SiteURL&amp;quot;: &amp;quot;https://beispiel-chat.de&amp;quot;,&lt;br /&gt;
    &amp;quot;WebsocketURL&amp;quot;: &amp;quot;wss://beispiel-chat.de&amp;quot;,&lt;br /&gt;
    &amp;quot;ListenAddress&amp;quot;: &amp;quot;127.0.0.1:34567&amp;quot;,&lt;br /&gt;
    ...&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dabei sei &amp;quot;https://beispiel-chat.de&amp;quot; die Domain, unter der der Chat betrieben werden soll und &amp;quot;34567&amp;quot; der Port,&lt;br /&gt;
der vom Hostsharing-Service für den &amp;quot;Eigenen Daemon&amp;quot; zugewiesen wurde.&lt;br /&gt;
&lt;br /&gt;
Im Abschnitt &amp;quot;TeamSettings&amp;quot; kann für den Chat ein Name vergeben werden:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=json line&amp;gt;&lt;br /&gt;
&amp;quot;TeamSettings&amp;quot;: {&lt;br /&gt;
    &amp;quot;SiteName&amp;quot;: &amp;quot;Beispiel-Chat&amp;quot;,&lt;br /&gt;
    ...&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
Im Abschnitt &amp;quot;SqlSettings&amp;quot; wird die PostgreSQL Datenbank konfiguriert:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=json line&amp;gt;&lt;br /&gt;
&amp;quot;SqlSettings&amp;quot;: {&lt;br /&gt;
    &amp;quot;DriverName&amp;quot;: &amp;quot;postgres&amp;quot;,&lt;br /&gt;
    &amp;quot;DataSource&amp;quot;: &amp;quot;postgres://xyz00_mm_user:geheim@127.0.0.1:5432/xyz00_mm_db?sslmode=disable\u0026connect_timeout=10&amp;quot;,&lt;br /&gt;
    ...&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Weiter noch unter &amp;quot;FileSettings&amp;quot; und &amp;quot;EMailSettings&amp;quot;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=json line&amp;gt;&lt;br /&gt;
&amp;quot;FileSettings&amp;quot;: {&lt;br /&gt;
    &amp;quot;MaxFileSize&amp;quot;: 4096000,&lt;br /&gt;
    &amp;quot;DriverName&amp;quot;: &amp;quot;local&amp;quot;,&lt;br /&gt;
    &amp;quot;Directory&amp;quot;: &amp;quot;./data/&amp;quot;,&lt;br /&gt;
    ...&lt;br /&gt;
&lt;br /&gt;
&amp;quot;EmailSettings&amp;quot;: {&lt;br /&gt;
    &amp;quot;EnableSignUpWithEmail&amp;quot;: true,&lt;br /&gt;
    &amp;quot;EnableSignInWithEmail&amp;quot;: true,&lt;br /&gt;
    &amp;quot;EnableSignInWithUsername&amp;quot;: true,&lt;br /&gt;
    &amp;quot;SendEmailNotifications&amp;quot;: true,&lt;br /&gt;
    &amp;quot;RequireEmailVerification&amp;quot;: true,&lt;br /&gt;
    &amp;quot;FeedbackName&amp;quot;: &amp;quot;Beispiel-Chat&amp;quot;,&lt;br /&gt;
    &amp;quot;FeedbackEmail&amp;quot;: &amp;quot;mattermost@beispiel-chat.de&amp;quot;,&lt;br /&gt;
    &amp;quot;FeedbackOrganization&amp;quot;: &amp;quot;Beispiel&amp;quot;,&lt;br /&gt;
    &amp;quot;SMTPUsername&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
    &amp;quot;SMTPPassword&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
    &amp;quot;SMTPServer&amp;quot;: &amp;quot;localhost&amp;quot;,&lt;br /&gt;
    &amp;quot;SMTPPort&amp;quot;: &amp;quot;25&amp;quot;,&lt;br /&gt;
    ...&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Im Verzeichnis &amp;quot;htdocs-ssl&amp;quot; unter &amp;quot;$HOME/doms/beispiel-chat.de&amp;quot; wird eine &amp;quot;.htaccess&amp;quot;-Datei abgelegt, &lt;br /&gt;
die dafür sorgt, dass alle Requests an den Mattermost-Server weitergegeben werden. Dabei verwendet Mattermost&lt;br /&gt;
auch Websocket-Verbindungen (&amp;quot;ws://&amp;quot;). Inhalt der &amp;quot;.htaccess&amp;quot;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=apache line&amp;gt;&lt;br /&gt;
DirectoryIndex disabled&lt;br /&gt;
RewriteEngine On&lt;br /&gt;
RewriteBase /&lt;br /&gt;
    &lt;br /&gt;
RewriteCond %{REQUEST_URI}  ^/api/v1/websocket    [NC,OR]&lt;br /&gt;
RewriteCond %{HTTP:UPGRADE} ^WebSocket$           [NC,OR]&lt;br /&gt;
RewriteCond %{HTTP:CONNECTION} ^Upgrade$          [NC]&lt;br /&gt;
RewriteRule .* ws://127.0.0.1:34567%{REQUEST_URI}  [proxy]&lt;br /&gt;
    &lt;br /&gt;
RewriteCond %{DOCUMENT_ROOT}/%{REQUEST_FILENAME} !-f&lt;br /&gt;
RewriteRule .* http://127.0.0.1:34567%{REQUEST_URI} [proxy]&lt;br /&gt;
RequestHeader set X-Forwarded-Proto &amp;quot;https&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Im Verzeichnis &amp;quot;htdocs&amp;quot; wird eine &amp;quot;.htaccess&amp;quot;-Datei abgelegt, die für eine &lt;br /&gt;
Weiterleitung auf das https-Protokoll sorgt:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=apache line&amp;gt;&lt;br /&gt;
Redirect permanent / https://beispiel-chat.de/&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Start des Servers ==&lt;br /&gt;
&lt;br /&gt;
Der Chat-Server lässt sich starten mit:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=shell&amp;gt;&lt;br /&gt;
cd $HOME/mattermost&lt;br /&gt;
./bin/mattermost&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Zum automatischen Start des Servers bei einem Reboot sollte &lt;br /&gt;
man einen systemd service einrichten:&lt;br /&gt;
&lt;br /&gt;
~/.config/systemd/user/mattermost.service&lt;br /&gt;
&amp;lt;syntaxhighlight lang=ini&amp;gt;&lt;br /&gt;
[Unit]&lt;br /&gt;
Description=Mattermost Service&lt;br /&gt;
&lt;br /&gt;
[Service]&lt;br /&gt;
WorkingDirectory=%h/mattermost&lt;br /&gt;
ExecStart=%h/mattermost/bin/mattermost server -c %h/mattermost/config/config.json&lt;br /&gt;
TimeoutStartSec=3600&lt;br /&gt;
KillMode=mixed&lt;br /&gt;
Restart=always&lt;br /&gt;
RestartSec=10&lt;br /&gt;
&lt;br /&gt;
[Install]&lt;br /&gt;
WantedBy=default.target&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Service aktivieren und starten:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=shell&amp;gt;&lt;br /&gt;
$ systemctl --user enable mattermost.service&lt;br /&gt;
$ systemctl --user start mattermost.service&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
&lt;br /&gt;
*[https://about.mattermost.com/ Mattermost Homepage (Englisch)]&lt;br /&gt;
*[https://github.com/mattermost/platform git Repository bei Github]&lt;br /&gt;
*[https://codeberg.org/tpokorra/hs.ansible/src/branch/main/playbooks/mattermost Ansible Playbook für Hostsharing]&lt;br /&gt;
----&lt;br /&gt;
[[Kategorie:HSDoku]]&lt;br /&gt;
[[Kategorie:Installationsanleitungen]]&lt;br /&gt;
[[Kategorie:Ansible Playbook]]&lt;br /&gt;
[[Kategorie:Software]]&lt;br /&gt;
[[Kategorie:Messenger]]&lt;br /&gt;
[[Kategorie:Eigene Daemons]]&lt;/div&gt;</summary>
		<author><name>Peh00-phor</name></author>
	</entry>
	<entry>
		<id>https://wiki.hostsharing.net/index.php?title=LLDAP&amp;diff=7184</id>
		<title>LLDAP</title>
		<link rel="alternate" type="text/html" href="https://wiki.hostsharing.net/index.php?title=LLDAP&amp;diff=7184"/>
		<updated>2024-12-11T19:13:21Z</updated>

		<summary type="html">&lt;p&gt;Peh00-phor: Update auf v0.6.1&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== LDAP Kontoverwaltung mit LLDAP ==&lt;br /&gt;
&lt;br /&gt;
LLDAP ist ein LDAP Server, der in der Programmiersprache Rust implementiert ist. LLDAP verwendet eine relationale Datenbank zum Speichern der Accounts und Gruppen. LLDAP läßt sich als eigener Daemon betreiben. Er bringt ein einfaches Webfrontend für die Verwaltung der Konten und Gruppen und eine Funktion zum Passwort-Rücksetzen mit.&lt;br /&gt;
&lt;br /&gt;
=== Vorbereitungen in HSAdmin ===&lt;br /&gt;
&lt;br /&gt;
Mit Hilfe von HSAdmin werden im ersten Schritt ein Service-User, eine Domain und ein PostgreSQL-User mit PostgreSQL-Datenbank angelegt. Der Service-User heißt im folgenden &amp;quot;&#039;&#039;xyz00-lldap&#039;&#039;&amp;quot;, die Domain &amp;quot;&#039;&#039;account.hs-example.de&#039;&#039;&amp;quot;, PostgreSQL-User und -Datenbank heißen beide &amp;quot;&#039;&#039;xyz00_lldap&#039;&#039;&amp;quot;. Das PostgreSQL-Passwort sei &amp;quot;&#039;&#039;pg_password_99&#039;&#039;&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=== Download und entpacken ===&lt;br /&gt;
&lt;br /&gt;
Die aktuelle Version von LLDAP ist v0.6.1.&lt;br /&gt;
&lt;br /&gt;
Ich melde mich als User &amp;quot;&#039;&#039;xyz00-lldap&#039;&#039;&amp;quot; und lade das Binärpaket mit wget:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
wget https://github.com/lldap/lldap/releases/download/v0.6.1/amd64-lldap.tar.gz&lt;br /&gt;
tar xzf amd64-lldap.tar.gz&lt;br /&gt;
mv amd64-lldap lldap &lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Konfiguration ===&lt;br /&gt;
&lt;br /&gt;
Die Konfiguration erfolgt über eine Datei &amp;quot;&#039;&#039;lldap_config.toml&#039;&#039;&amp;quot; im Verzeichnis &amp;quot;&#039;&#039;~/lldap&#039;&#039;&amp;quot;. die Datei erstelle ich wie folgt:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
cd ~/lldap&lt;br /&gt;
touch lldap_config.toml&lt;br /&gt;
vim lldap_config.toml&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
der Inhalt nach dem Bearbeiten ist zum Beispiel:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;toml&amp;quot;&amp;gt;&lt;br /&gt;
verbose=true&lt;br /&gt;
ldap_host = &amp;quot;127.0.0.1&amp;quot;&lt;br /&gt;
ldap_port = 33891&lt;br /&gt;
http_host = &amp;quot;127.0.0.1&amp;quot;&lt;br /&gt;
http_port= 33881&lt;br /&gt;
http_url = &amp;quot;https://account.hs-example.de&amp;quot;&lt;br /&gt;
jwt_secret = &amp;quot;generierte-zufallszeichenkett-als-secret&amp;quot;&lt;br /&gt;
ldap_base_dn = &amp;quot;dc=hs-example,dc=de&amp;quot;&lt;br /&gt;
ldap_user_dn = &amp;quot;admin&amp;quot;&lt;br /&gt;
ldap_user_email = &amp;quot;webmaster@hs-example.de&amp;quot;&lt;br /&gt;
ldap_user_pass = &amp;quot;ldap-admin-password-generieren&amp;quot;&lt;br /&gt;
force_ldap_user_pass_reset = false&lt;br /&gt;
database_url = &amp;quot;postgres://xyz00_lldap:pg_password_99@localhost/xyz00_lldap&amp;quot;&lt;br /&gt;
key_seed = &amp;quot;generierte-zufallszeichenkette&amp;quot;&lt;br /&gt;
&lt;br /&gt;
[smtp_options]&lt;br /&gt;
enable_password_reset = true&lt;br /&gt;
server = &amp;quot;localhost&amp;quot;&lt;br /&gt;
port = 4025&lt;br /&gt;
smtp_encryption = &amp;quot;NONE&amp;quot;&lt;br /&gt;
from=&amp;quot;LLDAP Admin &amp;lt;webmaster@hs-example.de&amp;gt;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
[ldaps_options]&lt;br /&gt;
enabled = false&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Bei der Installation sollten folgende Einstellungen angepasst werden:&lt;br /&gt;
* die Ports für LDAP und HTTP&lt;br /&gt;
* Die Domain &amp;quot;&#039;&#039;hs-example.de&#039;&#039;&amp;quot; bzw. &amp;quot;&#039;&#039;account.hs-example.de&#039;&#039;&amp;quot;&lt;br /&gt;
* Der Account-Präfix &amp;quot;&#039;&#039;xyz00&#039;&#039;&amp;quot;&lt;br /&gt;
* Die Passworte und Secret-Zeichenketten&lt;br /&gt;
* &amp;quot;&#039;&#039;verbose&#039;&#039;&amp;quot; soltle auf &amp;quot;&#039;&#039;false&#039;&#039;&amp;quot; geändert werden, wenn alles läuft.&lt;br /&gt;
&lt;br /&gt;
Das Anlegen der Datenbank-Tabellen erfolgt und ein ersten Start des Servers erfolgt mit den Befehlen:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
cd ~/lldap&lt;br /&gt;
./lldap create_schema&lt;br /&gt;
./lldap run&lt;br /&gt;
Ctrl-C&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Proxy-Konfiguration ===&lt;br /&gt;
&lt;br /&gt;
Für den Zugriff auf das Admin-Frontend über den Browser konfiguriere ich die Domain:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
cd ~/doms/account.hs-example.de&lt;br /&gt;
rm -rf subs/www subs-ssl/www htdocs-ssl&lt;br /&gt;
ln -s $HOME/lldap/app htdocs-ssl&lt;br /&gt;
touch htdocs-ssl/.htaccess&lt;br /&gt;
vim htdocs-ssl/.htaccess&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Mit dem Inhalt:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;apache&amp;quot;&amp;gt;&lt;br /&gt;
DirectoryIndex disabled&lt;br /&gt;
RewriteEngine On&lt;br /&gt;
RewriteBase /&lt;br /&gt;
    &lt;br /&gt;
RewriteCond %{DOCUMENT_ROOT}/%{REQUEST_FILENAME} !-f&lt;br /&gt;
RewriteRule .* http://127.0.0.1:33881%{REQUEST_URI} [proxy]&lt;br /&gt;
RequestHeader set X-Forwarded-Proto &amp;quot;https&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Achtung: Port 33881 wie in der Konfig-Datei anpassen!&lt;br /&gt;
&lt;br /&gt;
=== LLDAP als Service einrichten ===&lt;br /&gt;
&lt;br /&gt;
LLDAP soll als Service unter Kontrolle von SystemD laufen.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
cd ~&lt;br /&gt;
mkdir -p .config/systemd/user&lt;br /&gt;
mkdir var&lt;br /&gt;
vim .config/systemd/user/lldap.service&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Inhalt der Datei:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;toml&amp;quot;&amp;gt;&lt;br /&gt;
[Unit]&lt;br /&gt;
Description=LLDAP Service&lt;br /&gt;
&lt;br /&gt;
[Service]&lt;br /&gt;
WorkingDirectory=%h/lldap&lt;br /&gt;
Environment=&amp;quot;PATH=/usr/local/bin:/usr/bin:/bin&amp;quot;&lt;br /&gt;
ExecStart=%h/lldap/lldap run&lt;br /&gt;
StandardOutput=append:%h/var/lldap.log&lt;br /&gt;
StandardError=inherit&lt;br /&gt;
Restart=always&lt;br /&gt;
PrivateTmp=true&lt;br /&gt;
NoNewPrivileges=true&lt;br /&gt;
&lt;br /&gt;
[Install]&lt;br /&gt;
WantedBy=default.target&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Aktivieren und Starten des Dienstes:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
cd ~&lt;br /&gt;
systemctl --user daemon-reload&lt;br /&gt;
systemctl --user enable lldap.service&lt;br /&gt;
systemctl --user start lldap.service&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Wenn alles gut gegangen ist, kann mann sich als &amp;quot;&#039;&#039;admin&#039;&#039;&amp;quot; mit dem Passwort aus der Zeile &amp;quot;&#039;&#039;ldap_user_pass&#039;&#039;&amp;quot; unter https://account.hs-exampel.de anmelden.&lt;br /&gt;
&lt;br /&gt;
=== weitere Verbesserungen ===&lt;br /&gt;
&lt;br /&gt;
Bisher ging es darum, schnell einen LDAP-Dienst aufzusetzen. Leider lädt die fertig kompilierte Distribution, die wir hier benutzt haben, ihre Fonts, das CSS und JavaScript aus CDN-Netzwerken und von Google Servern. Das wollte ihr vermutlich nicht. Ich habe dazu den folgenden Issue im Github-Tracker gefunden: https://github.com/lldap/lldap/issues/93 Wenn ich richtig verstehe, kann man selbst eine Distribution erstellen, die die entsprechenden Ressourcen lokal hostet.&lt;br /&gt;
&lt;br /&gt;
=== Links ===&lt;br /&gt;
&lt;br /&gt;
* [https://github.com/lldap/lldap Github Projekt LLDAP]&lt;br /&gt;
* [https://github.com/lldap/lldap/tree/main?tab=readme-ov-file#client-configuration Client-Konfigurationsbeispiele]&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
[[Kategorie:HSDoku]]&lt;br /&gt;
[[Kategorie:Installationsanleitungen]]&lt;br /&gt;
[[Kategorie:Software]]&lt;br /&gt;
[[Kategorie:SSO]]&lt;/div&gt;</summary>
		<author><name>Peh00-phor</name></author>
	</entry>
	<entry>
		<id>https://wiki.hostsharing.net/index.php?title=Discourse_installieren&amp;diff=7082</id>
		<title>Discourse installieren</title>
		<link rel="alternate" type="text/html" href="https://wiki.hostsharing.net/index.php?title=Discourse_installieren&amp;diff=7082"/>
		<updated>2024-11-25T11:42:46Z</updated>

		<summary type="html">&lt;p&gt;Peh00-phor: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Textkasten|gelb|Für Managed Server|Ein funktionierender Discourse-Server erfordert mehrere laufende Server-Dienste. Für den Betrieb ist ein Managed Server sinnvoll.}}&lt;br /&gt;
&lt;br /&gt;
{{Textkasten|rot|Support von der Discourse-Community|Die Discourse-Entwickler haben sich entschieden, nur eine mehr oder weniger genormte Installationsmethode (via docker) zu unterstützen. Dies ist so auf der hostsharing-Architektur aufgrund mehrerer Bedenken und Überlegungen nicht möglich. Die Community ist durchaus hilfreich, geht aber davon aus, dass quasi alle Nutzer* eine &amp;quot;supported&amp;quot;e Installation durchgeführt haben. Wenn man in entsprechenden Kanälen nach Hilfe fragt, sollte man unbedingt erwähnen, dass man discourse selber anhand dieser hier lesbaren Anleitung installiert hat, um bereits entsprechenden Kommentaren und Nachfragen vorzugreifen.}}&lt;br /&gt;
&lt;br /&gt;
== Über ==&lt;br /&gt;
&lt;br /&gt;
In diesem Artikel wird die Installation von discourse, Version 2.1.0 (September 2018) beschrieben.&lt;br /&gt;
&lt;br /&gt;
== Vorbereitungen ==&lt;br /&gt;
&lt;br /&gt;
Mit Hilfe von HSAdmin wird angelegt:&lt;br /&gt;
# Ein User als Service-User mit &#039;&#039;/bin/bash&#039;&#039; als Shell, zum Beispiel Beispiel: &#039;&#039;xyz00-discourse&#039;&#039;&lt;br /&gt;
# Eine Domain mit &#039;&#039;xyz00-discourse&#039; als Domain-Administrator, zum Beispiel &#039;&#039;beispiel.discussion&#039;&#039;&lt;br /&gt;
# Einen Postgresql-User &#039;&#039;xyz00_discourseuser&#039;&#039; mit Passwort &#039;&#039;meinPasswort&#039;&#039;&lt;br /&gt;
# Eine Postgresql-Datenbank &#039;&#039;xyz00_discoursedb&#039;&#039; mit Datenbank-Owner &#039;&#039;xyz00_discourseuser&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Verwendete IP-Ports der Server-Dienste:&lt;br /&gt;
# Redis: localhost:32002&lt;br /&gt;
# Discourse-Web: localhost:13000&lt;br /&gt;
&lt;br /&gt;
== Konfiguration der PostgreSQL Datenbank ==&lt;br /&gt;
&lt;br /&gt;
{{Textkasten|gelb|PostgreSQL Extensions|Die PostgreSQL-Datenbank braucht die extensions &amp;lt;code&amp;gt;hstore&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;pg_trgm&amp;lt;/code&amp;gt; und &amp;lt;code&amp;gt;unaccent&amp;lt;/code&amp;gt;. Diese müssen vom hostsharing-support installiert werden.}}&lt;br /&gt;
&lt;br /&gt;
Ansonsten liefe die Erstellung der Datenbank so:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=sql line&amp;gt;&lt;br /&gt;
# su - postgres -c psql&lt;br /&gt;
CREATE DATABASE discourse;&lt;br /&gt;
CREATE USER discourse;&lt;br /&gt;
ALTER USER discourse WITH ENCRYPTED PASSWORD &#039;password&#039;;&lt;br /&gt;
ALTER DATABASE discourse OWNER TO discourse;&lt;br /&gt;
\connect discourse&lt;br /&gt;
CREATE EXTENSION hstore;&lt;br /&gt;
CREATE EXTENSION pg_trgm;&lt;br /&gt;
CREATE EXTENSION unaccent;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Entsprechende Funktionalität (von den extensions abgesehen) ist auch über den HSAdmin verfügbar.&lt;br /&gt;
&lt;br /&gt;
== Konfiguration des Redis Server ==&lt;br /&gt;
&lt;br /&gt;
{{Textkasten|gelb|Firewall/Redis Port|Leider unterstützt discourse nicht die Kommunikation mit Redis über Unix-Sockets. Dementsprechend muss der für Redis konfigurierte Port von dem hostsharing-Support in der Firewall freigegeben werden.}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=shell&amp;gt;&lt;br /&gt;
cd&lt;br /&gt;
mkdir redis/etc redis/lib redis/log redis/run&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Anlegen einer Datei &#039;&#039;/home/pacs/xyz00/users/discourse/redis/etc/redis.conf&#039;&#039; mit folgendem Inhalt:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=shell line&amp;gt;&lt;br /&gt;
daemonize no&lt;br /&gt;
pidfile /home/pacs/xyz00/users/discourse/redis/run/redis-server.pid&lt;br /&gt;
port 32002&lt;br /&gt;
tcp-backlog 128&lt;br /&gt;
bind 127.0.0.1&lt;br /&gt;
timeout 300&lt;br /&gt;
loglevel notice&lt;br /&gt;
logfile /home/pacs/xyz00/users/discourse/redis/log/redis.log&lt;br /&gt;
databases 16&lt;br /&gt;
save 900 1&lt;br /&gt;
save 300 10&lt;br /&gt;
save 60 10000&lt;br /&gt;
slave-serve-stale-data yes&lt;br /&gt;
appendonly no&lt;br /&gt;
dbfilename dump.rdb&lt;br /&gt;
dir /home/pacs/xyz00/users/discourse/redis/lib&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Für Discourse 3.x gilt: &amp;quot;Discourse requires Redis 6.2.0 or up&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Für Debian Buster und Bullseye ist daher das Installieren eines neueren Binaries erforderlich. Bei Debian Bookwork ist bereits Redis 7.0 enthalten (siehe https://packages.debian.org/search?keywords=redis-server).&lt;br /&gt;
&lt;br /&gt;
Hier steht ein entsprechendes Binary für Debian Buster zur Verfügung, das mit dem Public Key von Timotheus geprüft werden kann:&lt;br /&gt;
&lt;br /&gt;
* https://download.solidcharity.com/tarballs/tpokorra/hostsharing/redis-server-6.2.12-debian-buster.tar.gz&lt;br /&gt;
* Prüfsignatur: https://download.solidcharity.com/tarballs/tpokorra/hostsharing/redis-server-6.2.12-debian-buster.tar.gz.sig&lt;br /&gt;
&lt;br /&gt;
Prüfen der Signatur:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=shell&amp;gt;&lt;br /&gt;
gpg --verify redis-server-6.2.12-debian-buster.tar.gz.sig redis-server-6.2.12-debian-buster.tar.gz&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Das Binary muss nach &amp;lt;code&amp;gt;$HOME/bin&amp;lt;/code&amp;gt; verschoben werden, und entsprechend beim Starten des Dienstes eingetragen werden.&lt;br /&gt;
&lt;br /&gt;
== Installation von Ruby ==&lt;br /&gt;
&lt;br /&gt;
Als User &#039;&#039;xyz00-discourse&#039;&#039;:  Installation von Ruby mit &#039;&#039;rbenv&#039;&#039; mit folgenden Befehlen:&lt;br /&gt;
&lt;br /&gt;
Zunächst &#039;&#039;rbenv&#039;&#039; and &#039;&#039;ruby-build&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=shell line&amp;gt;&lt;br /&gt;
git clone https://github.com/rbenv/rbenv.git ~/.rbenv&lt;br /&gt;
cd ~/.rbenv &amp;amp;&amp;amp; src/configure &amp;amp;&amp;amp; make -C src&lt;br /&gt;
echo &#039;export PATH=&amp;quot;$HOME/.rbenv/bin:$PATH&amp;quot;&#039; &amp;gt;&amp;gt; ~/.profile&lt;br /&gt;
echo &#039;eval &amp;quot;$(rbenv init -)&amp;quot;&#039; &amp;gt;&amp;gt; ~/.profile&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
starte neue Shell:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=shell&amp;gt;&lt;br /&gt;
exec bash&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Überprüfe rbenv-Installation&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=shell&amp;gt;&lt;br /&gt;
type rbenv&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Installiere ruby-build als rbenv-Plugin&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=shell&amp;gt;&lt;br /&gt;
git clone https://github.com/rbenv/ruby-build.git ~/.rbenv/plugins/ruby-build&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nun kann die benötigte Ruby-Version installiert werden:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=shell&amp;gt;&lt;br /&gt;
rbenv install 2.4&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Installation von Discourse selber ==&lt;br /&gt;
&lt;br /&gt;
Weiterhin Als User &#039;&#039;xyz00-discourse&#039;&#039;:  &lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=shell&amp;gt;&lt;br /&gt;
cd ~&lt;br /&gt;
git clone https://github.com/discourse/discourse.git discourse&lt;br /&gt;
cd ~/discourse&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Die stabile Version auschecken:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=shell&amp;gt;&lt;br /&gt;
git checkout stable&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ruby Pakete installieren:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=shell&amp;gt;&lt;br /&gt;
gem install bundler&lt;br /&gt;
bundle install -j$(getconf _NPROCESSORS_ONLN) --deployment --without development test&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Konfiguration der Discourse Software ==&lt;br /&gt;
&lt;br /&gt;
Anlegen einer Datei &#039;&#039;/home/pacs/xyz00/users/discourse/discourse/config/discourse.conf&#039;&#039; anhand der Beispiel-Datei:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=shell&amp;gt;&lt;br /&gt;
cd ~/discourse&lt;br /&gt;
cp config/discourse_defaults.conf config/discourse.conf&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Anpassen folgender Inhalte:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=ini line&amp;gt;&lt;br /&gt;
db_host = 127.0.0.1&lt;br /&gt;
db_port = 5432&lt;br /&gt;
#db_backup_port = 5432 #(auskommentieren)&lt;br /&gt;
db_name = xyz00_discoursedb&lt;br /&gt;
db_username = xyz00_discourseuser&lt;br /&gt;
db_password = &amp;quot;&amp;quot; #db password&lt;br /&gt;
hostname = &amp;quot;discourse.xyz00&amp;quot; # hostname&lt;br /&gt;
smtp_address = localhost&lt;br /&gt;
smtp_enable_start_tls = false&lt;br /&gt;
smtp_openssl_verify_mode = &#039;none&#039;&lt;br /&gt;
developer_emails = # your email-address&lt;br /&gt;
redis_host = 127.0.0.1&lt;br /&gt;
redis_port = 32002&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
===TODO: Secrets setzen! ===&lt;br /&gt;
Die Zufallswerte für die Variablen SECRET_KEY_BASE und OTP_SECRET erzeugt man durch zwei Aufrufe des Kommandos&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=shell&amp;gt;&lt;br /&gt;
RAILS_ENV=production bundle exec rake secret&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Sidekiq für Hintergrund-Aufgaben konfigurieren ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;config/sidekiq.conf&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Wichtig: development auf production ändern.&lt;br /&gt;
&lt;br /&gt;
Mit diesem Dienst werden z.B. die E-Mails zur Aktivierung oder zum Passwort Reset verschickt.&lt;br /&gt;
&lt;br /&gt;
=== Problem mit Content Security Policy ===&lt;br /&gt;
&lt;br /&gt;
Um ein Problem mit Content Security Policy zu lösen, weil manche Dateien über http nachgeladen werden, muss in der Datei &amp;lt;code&amp;gt;config/site_settings.yml&amp;lt;/code&amp;gt; der Default Wert für force_https auf True gesetzt werden:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=yaml line&amp;gt;&lt;br /&gt;
force_https:&lt;br /&gt;
    default: true&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
=== Problem beim Aufsetzen der Datenbank vermeiden ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;→ Notiz Mai 2024:&#039;&#039;&#039; dies scheint aktuell nicht aufzutreten. &lt;br /&gt;
&lt;br /&gt;
Aus irgendeinem Grund wird beim Initialisieren der Datenbank versucht, den TYPE hotlinked_media_status zweimal in der Datenbank anzulegen. Der Grund ist nicht ersichtlich.&lt;br /&gt;
&lt;br /&gt;
Es kann folgende Änderung an der Datei &amp;lt;code&amp;gt;db/migrate/20220428094026_create_post_hotlinked_media.rb&amp;lt;/code&amp;gt; vorgenommen werden:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=ruby line&amp;gt;&lt;br /&gt;
reversible do |dir|&lt;br /&gt;
  dir.up { execute &amp;lt;&amp;lt;~SQL }&lt;br /&gt;
      DO $$ BEGIN CREATE TYPE hotlinked_media_status AS ENUM(&#039;downloaded&#039;, &#039;too_large&#039;, &#039;download_failed&#039;, &#039;upload_create_failed&#039;); EXCEPTION WHEN duplicate_object THEN null; END $$;&lt;br /&gt;
    SQL&lt;br /&gt;
  dir.down { execute &amp;lt;&amp;lt;~SQL }&lt;br /&gt;
      DROP TYPE hotlinked_media_status&lt;br /&gt;
    SQL&lt;br /&gt;
end&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
=== Initialisieren der Datenbank ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=shell&amp;gt;&lt;br /&gt;
export SAFETY_ASSURED=1&lt;br /&gt;
# In Version 2.0.4 funktioniert db:migrate noch, ansonsten db:schema:load und seed nutzen!&lt;br /&gt;
# In Version 3.0.3 funktioniert db:migrate auch noch, db:schema:load ging nicht weil die Datei structure.sql fehlte&lt;br /&gt;
#RAILS_ENV=production bundle exec rails db:schema:load&lt;br /&gt;
#RAILS_ENV=production bundle exec rails db:seed&lt;br /&gt;
RAILS_ENV=production bundle exec rails db:migrate&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Kompilieren der Assets ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=shell&amp;gt;&lt;br /&gt;
RAILS_ENV=production bundle exec rails assets:precompile&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Konfiguration des Web-Servers (am Beispiel Puma)  ===&lt;br /&gt;
&lt;br /&gt;
Die Datei &#039;&#039;config/puma.conf&#039;&#039; anpassen (hier nur Änderungen angezeigt):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=ini&amp;gt;&lt;br /&gt;
APP_ROOT = &#039;/home/pacs/xyz00/users/discourse/discourse&#039;&lt;br /&gt;
daemonize false&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Starten der Dienste  ==&lt;br /&gt;
&lt;br /&gt;
Zum Start aller notwendigen Dienste sollte systemd benutzt werden.&lt;br /&gt;
&lt;br /&gt;
Die folgenden Dateien müssen nach &amp;lt;code&amp;gt;.config/systemd/user/&amp;lt;/code&amp;gt; kopiert werden (überlange Zeilen werden hier im Wiki umgebrochen)&lt;br /&gt;
&lt;br /&gt;
redis.service:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=ini line&amp;gt;&lt;br /&gt;
[Unit]&lt;br /&gt;
Description=Redis User Service&lt;br /&gt;
&lt;br /&gt;
[Service]&lt;br /&gt;
WorkingDirectory=%h/var/redis&lt;br /&gt;
Environment=&amp;quot;PATH=/usr/local/bin:/usr/bin:/bin&amp;quot;&lt;br /&gt;
ExecStart=%h/bin/redis-server %h/etc/redis.conf&lt;br /&gt;
Restart=always&lt;br /&gt;
PrivateTmp=true&lt;br /&gt;
NoNewPrivileges=true&lt;br /&gt;
&lt;br /&gt;
[Install]&lt;br /&gt;
WantedBy=default.target&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
sidekiq.service:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=ini line&amp;gt;&lt;br /&gt;
[Unit]&lt;br /&gt;
Description=Discourse Sidekiq Service&lt;br /&gt;
&lt;br /&gt;
[Service]&lt;br /&gt;
WorkingDirectory=%h/discourse&lt;br /&gt;
Environment=&amp;quot;PATH=/usr/local/bin:/usr/bin:/bin&amp;quot;&lt;br /&gt;
Environment=&amp;quot;RAILS_ENV=production&amp;quot;&lt;br /&gt;
Environment=&amp;quot;DB_POOL=8&amp;quot;&lt;br /&gt;
Environment=&amp;quot;MALLOC_ARENA_MAX=2&amp;quot;&lt;br /&gt;
ExecStart=%h/.rbenv/shims/bundle exec sidekiq -C %h/discourse/config/sidekiq.yml&lt;br /&gt;
StandardOutput=append:%h/var/log/sidekiq.out.log&lt;br /&gt;
StandardError=inherit&lt;br /&gt;
Restart=always&lt;br /&gt;
PrivateTmp=true&lt;br /&gt;
NoNewPrivileges=true&lt;br /&gt;
&lt;br /&gt;
[Install]&lt;br /&gt;
WantedBy=default.target&lt;br /&gt;
After=redis.service&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
discourse.service:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=ini line&amp;gt;&lt;br /&gt;
[Unit]&lt;br /&gt;
Description=Discourse Web Service&lt;br /&gt;
&lt;br /&gt;
[Service]&lt;br /&gt;
WorkingDirectory=%h/discourse&lt;br /&gt;
Environment=&amp;quot;PATH=/usr/local/bin:/usr/bin:/bin&amp;quot;&lt;br /&gt;
Environment=&amp;quot;RAILS_ENV=production&amp;quot;&lt;br /&gt;
Environment=&amp;quot;WEB_CONCURRENCY=2&amp;quot;&lt;br /&gt;
Environment=&amp;quot;MAX_THREADS=5&amp;quot;&lt;br /&gt;
Environment=&amp;quot;MALLOC_ARENA_MAX=2&amp;quot;&lt;br /&gt;
ExecStart=%h/.rbenv/shims/bundle exec puma -C config/puma.rb -e production -b tcp://127.0.0.1:13000&lt;br /&gt;
StandardOutput=append:%h/var/log/puma.out.log&lt;br /&gt;
StandardError=inherit&lt;br /&gt;
Restart=always&lt;br /&gt;
PrivateTmp=true&lt;br /&gt;
NoNewPrivileges=true&lt;br /&gt;
&lt;br /&gt;
[Install]&lt;br /&gt;
WantedBy=default.target&lt;br /&gt;
After=redis.service&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Einrichten des Apache VHost ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=shell&amp;gt;&lt;br /&gt;
cd ~/doms/beispiel.discuss&lt;br /&gt;
rm -rf htdocs-ssl subs/www subs-ssl/www&lt;br /&gt;
ln -s ~/live/public htdocs-ssl&lt;br /&gt;
touch htdocs-ssl/.htaccess&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dann die &#039;&#039;htdocs-ssl/.htaccess&#039;&#039; (durch das gelinkte Verzeichnis entspricht das dem Pfad /home/pacs/xyz00/users/discourse/discourse/public/.htaccess ) mit dem Editor der Wahl öffnen und folgende Konfiguration einfügen:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=apache line&amp;gt;&lt;br /&gt;
DirectoryIndex disabled&lt;br /&gt;
  &lt;br /&gt;
RequestHeader set X-Forwarded-Proto &amp;quot;https&amp;quot;&lt;br /&gt;
  &lt;br /&gt;
RewriteEngine On&lt;br /&gt;
RewriteBase /&lt;br /&gt;
RewriteCond %{REQUEST_FILENAME} !-f&lt;br /&gt;
RewriteCond %{REQUEST_FILENAME} !-l&lt;br /&gt;
RewriteRule .* http://127.0.0.1:13000%{REQUEST_URI} [proxy,last]&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
== Wartung ==&lt;br /&gt;
=== Backup ===&lt;br /&gt;
&lt;br /&gt;
Discourse macht selbstätig backups und legt diese unter &#039;public/backups&#039; ab. Enthalten ist ein Datenbank-Dump und die hochgeladenen Dateien.&lt;br /&gt;
&lt;br /&gt;
Im Admin-Bereich lassen sich backups auch manuell antreten.&lt;br /&gt;
&lt;br /&gt;
=== Admin Benutzer einladen ===&lt;br /&gt;
&lt;br /&gt;
Manchmal brauchen wir einen neuen Admin Benutzer, den wir von der Kommandozeile aus einladen möchten.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=shell&amp;gt;&lt;br /&gt;
cd /discourse&lt;br /&gt;
RAILS_ENV=production rake admin:invite[admin@example.org]&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Import aus mbox Archiven ===&lt;br /&gt;
&lt;br /&gt;
Um zum Beispiel ein Mailman2 Archiv zu importieren, wo die Nachrichten als .mbox Datei vorliegen, sind folgende Schritte nötig:&lt;br /&gt;
&lt;br /&gt;
Vorbereitungen an Discourse:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=shell&amp;gt;&lt;br /&gt;
source .profile&lt;br /&gt;
cd discourse&lt;br /&gt;
bundle config set frozen false&lt;br /&gt;
IMPORT=1 bundle install&lt;br /&gt;
bundle config set frozen true&lt;br /&gt;
nano script/import_scripts/mbox/settings.yml&lt;br /&gt;
#  dort ändern:&lt;br /&gt;
#    data_dir: /home/pacs/xyz00/users/discourse/list-archiv&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Hochladen der Mailinglisten-Archive:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=shell&amp;gt;&lt;br /&gt;
mkdir ~/list-archiv&lt;br /&gt;
# dort muss es Unterordner mit dem Namen der gewünschten Kategorie geben,&lt;br /&gt;
# und die mbox Datei muss auch diesen Namen haben, z.B.:&lt;br /&gt;
# ~/list-archiv/beispiel/beispiel.mbox&lt;br /&gt;
# ~/list-archiv/example/example.mbox&lt;br /&gt;
# um die Beiträge in den entsprechenden Kategorien beispiel und example einzufügen.&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Durchführen des Imports:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=shell&amp;gt;&lt;br /&gt;
source .profile&lt;br /&gt;
cd discourse&lt;br /&gt;
RAILS_ENV=production IMPORT=1 bundle exec rails runner \&lt;br /&gt;
    script/import_scripts/mbox.rb script/import_scripts/mbox/settings.yml&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Export ===&lt;br /&gt;
* Wenn ein Forum beendet wird, möchte man evtl. eine Sicherung als statische HTML Seiten. &lt;br /&gt;
** Das wird hier diskutiert: https://meta.discourse.org/t/how-do-i-export-the-complete-forum-as-static-html-pages/71007/3&lt;br /&gt;
* Um ein Forum von Discourse zu Flarum umzuziehen, hat Timotheus ein Skript geschrieben.&lt;br /&gt;
** Das Migrations-Skript: https://github.com/SolidCharity/discourse_to_flarum&lt;br /&gt;
** siehe auch https://discuss.flarum.org/d/4930-discourse-to-flarum-migration-support/29&lt;br /&gt;
&lt;br /&gt;
=== Updates ===&lt;br /&gt;
&lt;br /&gt;
Discourse wird über update via mail informieren (dies kann man m.W. abschalten).&lt;br /&gt;
&lt;br /&gt;
Achtung: bei größeren Updates auch immer Änderungen an der Datei site_settings.yml (https://github.com/discourse/discourse/blob/main/config/site_settings.yml) beachten!&lt;br /&gt;
&lt;br /&gt;
==== Am Beispiel von 3.0.3 auf 3.0.5 ====&lt;br /&gt;
&lt;br /&gt;
# Im Web-Backend unter Administration-&amp;gt;Backups-&amp;gt; Read-Only Mouds setzen (oder Web Server so konfigurieren, dass keine Zugriffe mehr stattfinden können)&lt;br /&gt;
# Backup&lt;br /&gt;
# Die lokalen Änderungen sichern:&lt;br /&gt;
# cd discourse&lt;br /&gt;
# git diff v3.0.3 &amp;gt; diff-3.0.3.txt&lt;br /&gt;
# git fetch&lt;br /&gt;
# git checkout -b hostsharing-deployment-v3.0.5 v3.0.5&lt;br /&gt;
# evtl. Änderungen aus diff-3.0.3.txt wieder übernehmen und committen&lt;br /&gt;
# patch -p1 &amp;lt; diff-3.0.3.txt&lt;br /&gt;
# git commit -a -m &amp;quot;spezifische Änderungen für diese Instanz&amp;quot; --no-verify&lt;br /&gt;
# Schauen, ob discourse (endlich :) ) eine neue Ruby-Version nutzt (z.B. in https://github.com/discourse/discourse/blob/stable/.ruby-version.sample)&lt;br /&gt;
# Dies ist der Fall, also&lt;br /&gt;
# rbenv install 3.2.1&lt;br /&gt;
# rbenv rehash&lt;br /&gt;
# echo &amp;quot;3.2.1&amp;quot; &amp;gt; .ruby-version&lt;br /&gt;
# source ~/.profile&lt;br /&gt;
# gem update --system&lt;br /&gt;
# bundle&lt;br /&gt;
# yarn install&lt;br /&gt;
# RAILS_ENV=production bundle exec rake db:migrate&lt;br /&gt;
# RAILS_ENV=production bundle exec rake assets:precompile&lt;br /&gt;
# Services neu starten&lt;br /&gt;
&amp;lt;syntaxhighlight lang=shell&amp;gt;&lt;br /&gt;
systemctl --user restart puma&lt;br /&gt;
systemctl --user restart sidekiq&lt;br /&gt;
systemctl --user restart redis&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
* Zuletzt: Read-Only Modus wieder deaktivieren&lt;br /&gt;
&lt;br /&gt;
=== Debugging ===&lt;br /&gt;
&lt;br /&gt;
Es können folgende Einstellungen in der Datei config/environments/production.rb vorgenommen werden. Danach den Puma Dienst neustarten. Fehlermeldungen und Stacktraces werden dann im Browser ausgegeben.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;ini&amp;quot; line&amp;gt;&lt;br /&gt;
config.log_level = :debug&lt;br /&gt;
config.action_dispatch.show_exceptions = :all&lt;br /&gt;
config.action_dispatch.debug_exception_log_level = :error&lt;br /&gt;
&lt;br /&gt;
# Full error reports are enabled and caching is turned off&lt;br /&gt;
config.consider_all_requests_local = true&lt;br /&gt;
config.action_controller.perform_caching = false&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Erforderliche Anpassungen ===&lt;br /&gt;
Weil wir bei Debian Bookworm noch mit ImageMagick 6.9 arbeiten, muss dieser [https://github.com/discourse/discourse/commit/17aa831337e352dfd875f1b4ddc4492bd0835119 Patch] rückgängig gemacht werden:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line&amp;gt;&lt;br /&gt;
wget https://github.com/discourse/discourse/commit/17aa831337e352dfd875f1b4ddc4492bd0835119.patch -O ~/imagemagick.patch&lt;br /&gt;
patch -p1 --reverse &amp;lt; ~/imagemagick.patch&lt;br /&gt;
git commit -a -m &amp;quot;revert imagemagick patch&amp;quot;  --no-verify&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== ToDos ==&lt;br /&gt;
&lt;br /&gt;
* Ein Patch, um Discourse auch via Unix-Socket mit Redis sprechen lassen zu können dürfte relativ einfach sein (es wird ein Wrapper um das redis-gem genutzt).&lt;br /&gt;
* Konfiguration von discourse, um mit postgresql via Unix-Socket zu kommunizieren (DISCOURSE_DB_SOCKET environment variable)&lt;br /&gt;
* Performance-tuning an diversen Stellen, anhand der discourse_docker-Vorgaben (https://github.com/discourse/discourse_docker), z.B.&lt;br /&gt;
** thpoff (huge page settings)&lt;br /&gt;
** unicorn (hat eine wesentlich ausgefeiltere Konfigurations-Vorlage, wahrscheinlich bereits ordentlich optimiert)&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
&lt;br /&gt;
* https://help.skysilk.com/support/solutions/articles/9000120927-how-to-install-discourse-without-docker-using-skysilk-vps-&lt;br /&gt;
* https://github.com/discourse/discourse_docker&lt;br /&gt;
* https://github.com/discourse/discourse&lt;br /&gt;
* https://codeberg.org/tpokorra/hs.ansible/src/branch/main/playbooks/discourse&lt;br /&gt;
&lt;br /&gt;
== Historie ==&lt;br /&gt;
&lt;br /&gt;
* 2018, 14 . September: Initiale Fassung&lt;br /&gt;
* 2019, Januar: Update-Informationen ergänzt&lt;br /&gt;
* 2022, Juni: systemd Dienste, Discourse 3.0&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
[[Kategorie:HSDoku]]&lt;br /&gt;
[[Kategorie:Installationsanleitungen]]&lt;br /&gt;
[[Kategorie:RubyOnRails]]&lt;br /&gt;
[[Kategorie:Webforen]]&lt;br /&gt;
[[Kategorie:Ansible Playbook]]&lt;/div&gt;</summary>
		<author><name>Peh00-phor</name></author>
	</entry>
	<entry>
		<id>https://wiki.hostsharing.net/index.php?title=Tomcat_Installieren&amp;diff=7081</id>
		<title>Tomcat Installieren</title>
		<link rel="alternate" type="text/html" href="https://wiki.hostsharing.net/index.php?title=Tomcat_Installieren&amp;diff=7081"/>
		<updated>2024-11-25T11:41:03Z</updated>

		<summary type="html">&lt;p&gt;Peh00-phor: /* Start des Tomcat Servers */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Apache Tomcat installieren&lt;br /&gt;
&lt;br /&gt;
== Allgemein ==&lt;br /&gt;
&lt;br /&gt;
[http://tomcat.apache.org/ Apache Tomcat] ist ein Webserver (HTTP-Server), der in der Programmiersprache Java entwickelt ist. Er dient in erster Linie dazu, dynamische Web-Anwendungen zu betreiben, die ebenfalls in Java programmiert sind. Basis-Technologien sind [http://de.wikipedia.org/wiki/Servlet Java-Servlets] und [http://de.wikipedia.org/wiki/JSP Java Server Pages (JSP)].&lt;br /&gt;
&lt;br /&gt;
Mit Hilfe von Apache Tomcat ist bei Hostsharing das Hosting von komplexen Java Web-Applikationen problemlos möglich.&lt;br /&gt;
&lt;br /&gt;
== Spezielle Installation bei Hostsharing ==&lt;br /&gt;
&lt;br /&gt;
In jedem dynamischen Webhosting-Paket der Hostsharing eG können einer (oder mehrere) Tomcat-Webserver betrieben werden.&lt;br /&gt;
&lt;br /&gt;
Dazu muss für jede Tomcat-Instanz die Option &amp;quot;Betrieb eines eigenen Serverdienstes&amp;quot; gebucht werden. Im Bereich des Shared Hosting ist die Option kostenpflichtig. &lt;br /&gt;
&lt;br /&gt;
Diese Anleitung dokumentiert die Installation des Apache Tomcat Servers als Service-User in einem WEB-Paket bei Hostsharing.  Mit der Einrichtung der Option &amp;quot;eigener Serverdienst&amp;quot; werden für die Paket-IP-Adresse einer oder mehrere IP-Ports reserviert. An diese Ports wird der eigene Serverdienst (also der Tomcat-Server) am Localhost-Interface gebunden.&lt;br /&gt;
&lt;br /&gt;
Geben Sie bei der Bestellung der Option &amp;quot;Eigener Serverdienst&amp;quot; an:&lt;br /&gt;
&lt;br /&gt;
# den Service User, mit dessen Rechten der Tomcat-Dienst laufen soll (also zum Beispiel &amp;quot;xyz00-tomcat&amp;quot;)&lt;br /&gt;
# wieviele IP-Ports reserviert werden sollen (in der folgenden Anleitung verwenden wir drei nicht-privilegierte Ports: &lt;br /&gt;
* 38005 als &amp;quot;Shutdown&amp;quot;-Schnittstelle&lt;br /&gt;
* 38006 für eine AJP-Listener&lt;br /&gt;
&lt;br /&gt;
== Installation == &lt;br /&gt;
&lt;br /&gt;
Vorbemerkung: Mit Debian 12 (&#039;Bookworm&#039;) wird Tomcat 10 von der Distribution mitgeliefert. &lt;br /&gt;
&lt;br /&gt;
Auf den Hostsharing-Servern ist das Debian-Paket &amp;quot;tomcat10-user&amp;quot; installiert. Es stellt den &lt;br /&gt;
Apache Tomcat Server in der Version 10.1.x für den Betrieb als normaler (nicht privilegierter) User bereit.&lt;br /&gt;
Dabei wird die zentral installierte Tomcat-Software benutzt, die über Betriebssystem-Updates mit Sicherheits-Updates versorgt wird.&lt;br /&gt;
&lt;br /&gt;
Für die Installation der Konfigurations-Dateien in Heimat-Verzeichnis des Benutzers wird folgender Befehl&lt;br /&gt;
mit den Rechten des Service-Users aufgerufen:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
xyz00-tomcat@h00:~$ tomcat10-instance-create tomcat&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ich bevorzuge das catalina.sh-Startskript zum Testen:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
xyz00-tomcat@h00:~$ cp /usr/share/tomcat10/bin/catalina.sh tomcat/bin/&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dieser Befehl legt ein Verzeichnis &amp;quot;tomcat&amp;quot; mit der üblichen Dateistruktur für einen Tomcat-Server an:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
bin&lt;br /&gt;
bin/catalina.sh&lt;br /&gt;
bin/setenv.sh&lt;br /&gt;
bin/shutdown.sh&lt;br /&gt;
bin/startup.sh&lt;br /&gt;
conf&lt;br /&gt;
conf/catalina.properties&lt;br /&gt;
conf/context.xml&lt;br /&gt;
conf/jaspic-providers.xml&lt;br /&gt;
conf/logging.properties&lt;br /&gt;
conf/server.xml&lt;br /&gt;
conf/tomcat-users.xml&lt;br /&gt;
conf/web.xml&lt;br /&gt;
logs&lt;br /&gt;
policy&lt;br /&gt;
policy/catalina.policy&lt;br /&gt;
temp&lt;br /&gt;
webapps&lt;br /&gt;
work&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In der Hauptsache muss die Konfigurationsdatei &amp;quot;server.xml&amp;quot; im Verzeichnis &amp;quot;~/tomcat/conf/&amp;quot; angepasst werden.&lt;br /&gt;
&lt;br /&gt;
Beispiel für eine minimale &amp;quot;server.xml&amp;quot;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; line&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;Server port=&amp;quot;38005&amp;quot; shutdown=&amp;quot;SHUTDOWN&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;Listener className=&amp;quot;org.apache.catalina.startup.VersionLoggerListener&amp;quot; /&amp;gt;&lt;br /&gt;
  &amp;lt;Listener className=&amp;quot;org.apache.catalina.core.AprLifecycleListener&amp;quot; SSLEngine=&amp;quot;on&amp;quot; /&amp;gt;&lt;br /&gt;
  &amp;lt;Listener className=&amp;quot;org.apache.catalina.core.JreMemoryLeakPreventionListener&amp;quot; /&amp;gt;&lt;br /&gt;
  &amp;lt;Listener className=&amp;quot;org.apache.catalina.mbeans.GlobalResourcesLifecycleListener&amp;quot; /&amp;gt;&lt;br /&gt;
  &amp;lt;Listener className=&amp;quot;org.apache.catalina.core.ThreadLocalLeakPreventionListener&amp;quot; /&amp;gt;&lt;br /&gt;
  &amp;lt;GlobalNamingResources&amp;gt;&lt;br /&gt;
    &amp;lt;Resource name=&amp;quot;UserDatabase&amp;quot; auth=&amp;quot;Container&amp;quot;&lt;br /&gt;
              type=&amp;quot;org.apache.catalina.UserDatabase&amp;quot;&lt;br /&gt;
              description=&amp;quot;User database that can be updated and saved&amp;quot;&lt;br /&gt;
              factory=&amp;quot;org.apache.catalina.users.MemoryUserDatabaseFactory&amp;quot;&lt;br /&gt;
              pathname=&amp;quot;conf/tomcat-users.xml&amp;quot; /&amp;gt;&lt;br /&gt;
  &amp;lt;/GlobalNamingResources&amp;gt;&lt;br /&gt;
  &amp;lt;Service name=&amp;quot;Catalina&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;Connector protocol=&amp;quot;AJP/1.3&amp;quot; address=&amp;quot;127.0.0.1&amp;quot; port=&amp;quot;38006&amp;quot; redirectPort=&amp;quot;443&amp;quot; secretRequired=&amp;quot;false&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;Engine name=&amp;quot;Catalina&amp;quot; defaultHost=&amp;quot;localhost&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;Realm className=&amp;quot;org.apache.catalina.realm.LockOutRealm&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;Realm className=&amp;quot;org.apache.catalina.realm.UserDatabaseRealm&amp;quot; resourceName=&amp;quot;UserDatabase&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;/Realm&amp;gt;&lt;br /&gt;
      &amp;lt;Host name=&amp;quot;localhost&amp;quot;  appBase=&amp;quot;../webapps&amp;quot; unpackWARs=&amp;quot;true&amp;quot; autoDeploy=&amp;quot;true&amp;quot;&amp;gt;&amp;lt;/Host&amp;gt;&lt;br /&gt;
    &amp;lt;/Engine&amp;gt;&lt;br /&gt;
  &amp;lt;/Service&amp;gt;&lt;br /&gt;
&amp;lt;/Server&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Angepasst werden müssen:&lt;br /&gt;
* die beiden IP-Ports (im Beispiel 38005 und 38006 am Localhost-Interface)&lt;br /&gt;
&lt;br /&gt;
== Deployment einer Anwendung ==&lt;br /&gt;
&lt;br /&gt;
In der Beispiel-Konfiguration wurde das Verzeichnis &#039;&#039;$HOME/webapps/&#039;&#039; für die Anwendungen konfiguriert. Wir legen dieses Verzeichnis an und kopieren eine minimale Anwendung hinein:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
mkdir -p $HOME/webapps/hello/WEB-INF/&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dort legen wir die Datei ~/webapps/hello/WEB-INF/web.xml mit folgendem Inhalt an:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; line&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;web-app &lt;br /&gt;
	xmlns:xsi=&amp;quot;http://www.w3.org/2001/XMLSchema-instance&amp;quot;&lt;br /&gt;
	xmlns=&amp;quot;http://java.sun.com/xml/ns/javaee&amp;quot;&lt;br /&gt;
	xmlns:web=&amp;quot;http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd&amp;quot;&lt;br /&gt;
	xsi:schemaLocation=&amp;quot;http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd&amp;quot; &lt;br /&gt;
	id=&amp;quot;WebApp_ID&amp;quot; version=&amp;quot;3.0&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;/web-app&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dazu eine einfache JSP-Datei ~/webapps/hello/index.jsp:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;html&amp;quot; line&amp;gt;&lt;br /&gt;
&amp;lt;%@ page language=&amp;quot;java&amp;quot; contentType=&amp;quot;text/html; charset=UTF-8&amp;quot; pageEncoding=&amp;quot;UTF-8&amp;quot;%&amp;gt;&lt;br /&gt;
&amp;lt;!DOCTYPE html&amp;gt;&lt;br /&gt;
&amp;lt;html lang=&amp;quot;de-de&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;body&amp;gt;&lt;br /&gt;
&amp;lt;h1&amp;gt;Hallo Welt&amp;lt;/h1&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Java Version: &amp;lt;%= System.getProperty(&amp;quot;java.version&amp;quot;)  %&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/body&amp;gt;&lt;br /&gt;
&amp;lt;/html&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nun können wir die HTTP-Requests, die an eine Domain im Paket gesendet werden, an den Tomcat weiterleiten.&lt;br /&gt;
Das funktioniert über eine &#039;&#039;.htaccess&#039;&#039;-Datei, zum Beispiel im Verzeichnis &#039;&#039;~/doms/hs-example.de/htdocs-ssl&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;apache&amp;quot; line&amp;gt;&lt;br /&gt;
DirectoryIndex disabled&lt;br /&gt;
RewriteEngine On&lt;br /&gt;
RewriteBase /&lt;br /&gt;
RewriteCond %{REQUEST_FILENAME} !-f&lt;br /&gt;
RewriteCond %{REQUEST_FILENAME} !-l&lt;br /&gt;
RewriteRule ^(.*) ajp://127.0.0.1:38006/$1 [proxy,last]&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Achtung der IP-Port 38006 muss hier wieder angepasst werden!&lt;br /&gt;
&lt;br /&gt;
Dadurch ist die Mini-Anwendung unter der URL &amp;quot;https://hs-example.de/hello/&amp;quot; erreichbar.&lt;br /&gt;
&lt;br /&gt;
== Start des Tomcat Servers ==&lt;br /&gt;
&lt;br /&gt;
Der Tomcat kann über die Skripte in &amp;quot;~/tomcat/bin/&amp;quot; gestartet und gestoppt werden.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
cd ~/tomcat&lt;br /&gt;
./bin/startup.sh&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Log-Ausgaben des Servers sind in &amp;quot;~/tomcat/logs/catalina.out&amp;quot; zu finden.&lt;br /&gt;
&lt;br /&gt;
Damit der Tomcat bei einem Reboot der Hostsharing-Server automatisch gestartet wird,&lt;br /&gt;
konfigurieren wir den Prozessmonitor &#039;&#039;systemd&#039;&#039; entsprechend.&lt;br /&gt;
&lt;br /&gt;
Wir legen ein Verzeichnis für die Konfiguration des &#039;&#039;systemd&#039;&#039; an und legen eine Unit-Konfiguration für einen Service dort ab:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
mkdir -p ~/.config/systemd/user&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Die Unit-Datei &#039;&#039;~/.config/systemd/user/tomcat.service&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;ini&amp;quot; line&amp;gt;&lt;br /&gt;
[Unit]&lt;br /&gt;
Description=Tomcat User Service&lt;br /&gt;
&lt;br /&gt;
[Service]&lt;br /&gt;
WorkingDirectory=%h/tomcat&lt;br /&gt;
Environment=&amp;quot;PATH=/usr/local/bin:/usr/bin:/bin&amp;quot;&lt;br /&gt;
Environment=&amp;quot;JAVA_HOME=/usr/lib/jvm/java-17-openjdk-amd64&amp;quot;&lt;br /&gt;
Environment=&amp;quot;JAVA_OPTS=-Xms256M -Xmx512M&amp;quot;&lt;br /&gt;
ExecStart=%h/tomcat/bin/catalina.sh run&lt;br /&gt;
StandardOutput=append:%h/tomcat/logs/catalina.log&lt;br /&gt;
StandardError=inherit&lt;br /&gt;
Restart=always&lt;br /&gt;
PrivateTmp=true&lt;br /&gt;
NoNewPrivileges=true&lt;br /&gt;
&lt;br /&gt;
[Install]&lt;br /&gt;
WantedBy=default.target&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Auf Wunsch kann &#039;&#039;SystemD&#039;&#039; RAM- und CPU-Ressourcen begrenzen. Dazu wird der Abschnitt &#039;&#039;Service&#039;&#039; ergänzt:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;ini&amp;quot; line&amp;gt;&lt;br /&gt;
[Service]&lt;br /&gt;
...&lt;br /&gt;
MemoryAccounting=true&lt;br /&gt;
CPUAccounting=true&lt;br /&gt;
MemoryHigh=512M&lt;br /&gt;
MemoryMax=768M&lt;br /&gt;
CPUQuota=50%&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Die letzte Aufgabe ist das Einrichten der Bereinigung für die Log-Dateien.&lt;br /&gt;
&lt;br /&gt;
Dazu lege ich die Konfigurationsdatei &#039;&#039;.logrotate&#039;&#039; im $HOME-Verzeichnis an:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line&amp;gt;&lt;br /&gt;
/home/pacs/xyz00/users/tomcat/tomcat/logs/catalina.log {&lt;br /&gt;
   copytruncate&lt;br /&gt;
   compress&lt;br /&gt;
   rotate 5&lt;br /&gt;
   daily&lt;br /&gt;
   missingok&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Für die Bereinigung der Log-Dateien noch eine &#039;&#039;crontab&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line&amp;gt;&lt;br /&gt;
PATH=/usr/local/bin:/usr/bin:/bin&lt;br /&gt;
HOME=/home/pacs/xyz00/users/tomcat&lt;br /&gt;
MAILTO=ich@meine-domain.de&lt;br /&gt;
# m h  dom mon dow   command&lt;br /&gt;
1 1 * * * /usr/sbin/logrotate -s $HOME/.logrotate.state $HOME/.logrotate&lt;br /&gt;
14 3 * * * /usr/bin/find $HOME/tomcat/logs -type f -mmin +10080 -delete&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dann gehen wir daran unsere Anwendungen im Tomcat zu deployen.&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
&lt;br /&gt;
*[http://tomcat.apache.org/ Apache Tomcat Homepage (Englisch)]&lt;br /&gt;
*[http://tomcat.apache.org/tomcat-9.0-doc/index.html Apache Tomcat Dokumentation (Version 9.0, Englisch)]&lt;br /&gt;
*[http://wiki.apache.org/tomcat/FrontPage Apache Tomcat Wiki (Englisch)]&lt;br /&gt;
*[https://github.com/tpokorra/Hostsharing-Ansible-Tomcat Ansible Playbook für Hostsharing]&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
[[Kategorie:HSDoku]]&lt;br /&gt;
[[Kategorie:Installationsanleitungen]]&lt;br /&gt;
[[Kategorie:Ansible Playbook]]&lt;br /&gt;
[[Kategorie:Software]]&lt;br /&gt;
[[Kategorie:Java]]&lt;br /&gt;
[[Kategorie:Eigene Daemons]]&lt;/div&gt;</summary>
		<author><name>Peh00-phor</name></author>
	</entry>
	<entry>
		<id>https://wiki.hostsharing.net/index.php?title=LLDAP&amp;diff=7080</id>
		<title>LLDAP</title>
		<link rel="alternate" type="text/html" href="https://wiki.hostsharing.net/index.php?title=LLDAP&amp;diff=7080"/>
		<updated>2024-11-25T11:40:19Z</updated>

		<summary type="html">&lt;p&gt;Peh00-phor: /* LLDAP als Service einrichten */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== LDAP Kontoverwaltung mit LLDAP ==&lt;br /&gt;
&lt;br /&gt;
LLDAP ist ein LDAP Server, der in der Programmiersprache Rust implementiert ist. LLDAP verwendet eine relationale Datenbank zum Speichern der Accounts und Gruppen. LLDAP läßt sich als eigener Daemon betreiben. Er bringt ein einfaches Webfrontend für die Verwaltung der Konten und Gruppen und eine Funktion zum Passwort-Rücksetzen mit.&lt;br /&gt;
&lt;br /&gt;
=== Vorbereitungen in HSAdmin ===&lt;br /&gt;
&lt;br /&gt;
Mit Hilfe von HSAdmin werden im ersten Schritt ein Service-User, eine Domain und ein PostgreSQL-User mit PostgreSQL-Datenbank angelegt. Der Service-User heißt im folgenden &amp;quot;&#039;&#039;xyz00-lldap&#039;&#039;&amp;quot;, die Domain &amp;quot;&#039;&#039;account.hs-example.de&#039;&#039;&amp;quot;, PostgreSQL-User und -Datenbank heißen beide &amp;quot;&#039;&#039;xyz00_lldap&#039;&#039;&amp;quot;. Das PostgreSQL-Passwort sei &amp;quot;&#039;&#039;pg_password_99&#039;&#039;&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=== Download und entpacken ===&lt;br /&gt;
&lt;br /&gt;
Die aktuelle Version von LLDAP ist v0.5.0.&lt;br /&gt;
&lt;br /&gt;
Ich melde mich als User &amp;quot;&#039;&#039;xyz00-lldap&#039;&#039;&amp;quot; und lade das Binärpaket mit wget:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
wget https://github.com/lldap/lldap/releases/download/v0.5.0/amd64-lldap.tar.gz&lt;br /&gt;
tar xzf amd64-lldap.tar.gz&lt;br /&gt;
mv amd64-lldap lldap &lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Konfiguration ===&lt;br /&gt;
&lt;br /&gt;
Die Konfiguration erfolgt über eine Datei &amp;quot;&#039;&#039;lldap_config.toml&#039;&#039;&amp;quot; im Verzeichnis &amp;quot;&#039;&#039;~/lldap&#039;&#039;&amp;quot;. die Datei erstelle ich wie folgt:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
cd ~/lldap&lt;br /&gt;
touch lldap_config.toml&lt;br /&gt;
vim lldap_config.toml&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
der Inhalt nach dem Bearbeiten ist zum Beispiel:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;toml&amp;quot;&amp;gt;&lt;br /&gt;
verbose=true&lt;br /&gt;
ldap_host = &amp;quot;127.0.0.1&amp;quot;&lt;br /&gt;
ldap_port = 33891&lt;br /&gt;
http_host = &amp;quot;127.0.0.1&amp;quot;&lt;br /&gt;
http_port= 33881&lt;br /&gt;
http_url = &amp;quot;https://account.hs-example.de&amp;quot;&lt;br /&gt;
jwt_secret = &amp;quot;generierte-zufallszeichenkett-als-secret&amp;quot;&lt;br /&gt;
ldap_base_dn = &amp;quot;dc=hs-example,dc=de&amp;quot;&lt;br /&gt;
ldap_user_dn = &amp;quot;admin&amp;quot;&lt;br /&gt;
ldap_user_email = &amp;quot;webmaster@hs-example.de&amp;quot;&lt;br /&gt;
ldap_user_pass = &amp;quot;ldap-admin-password-generieren&amp;quot;&lt;br /&gt;
force_ldap_user_pass_reset = false&lt;br /&gt;
database_url = &amp;quot;postgres://xyz00_lldap:pg_password_99@localhost/xyz00_lldap&amp;quot;&lt;br /&gt;
key_seed = &amp;quot;generierte-zufallszeichenkette&amp;quot;&lt;br /&gt;
&lt;br /&gt;
[smtp_options]&lt;br /&gt;
enable_password_reset = true&lt;br /&gt;
server = &amp;quot;localhost&amp;quot;&lt;br /&gt;
port = 4025&lt;br /&gt;
smtp_encryption = &amp;quot;NONE&amp;quot;&lt;br /&gt;
from=&amp;quot;LLDAP Admin &amp;lt;webmaster@hs-example.de&amp;gt;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
[ldaps_options]&lt;br /&gt;
enabled = false&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Bei der Installation sollten folgende Einstellungen angepasst werden:&lt;br /&gt;
* die Ports für LDAP und HTTP&lt;br /&gt;
* Die Domain &amp;quot;&#039;&#039;hs-example.de&#039;&#039;&amp;quot; bzw. &amp;quot;&#039;&#039;account.hs-example.de&#039;&#039;&amp;quot;&lt;br /&gt;
* Der Account-Präfix &amp;quot;&#039;&#039;xyz00&#039;&#039;&amp;quot;&lt;br /&gt;
* Die Passworte und Secret-Zeichenketten&lt;br /&gt;
* &amp;quot;&#039;&#039;verbose&#039;&#039;&amp;quot; soltle auf &amp;quot;&#039;&#039;false&#039;&#039;&amp;quot; geändert werden, wenn alles läuft.&lt;br /&gt;
&lt;br /&gt;
Das Anlegen der Datenbank-Tabellen erfolgt und ein ersten Start des Servers erfolgt mit den Befehlen:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
cd ~/lldap&lt;br /&gt;
./lldap create_schema&lt;br /&gt;
./lldap run&lt;br /&gt;
Ctrl-C&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Proxy-Konfiguration ===&lt;br /&gt;
&lt;br /&gt;
Für den Zugriff auf das Admin-Frontend über den Browser konfiguriere ich die Domain:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
cd ~/doms/account.hs-example.de&lt;br /&gt;
rm -rf subs/www subs-ssl/www htdocs-ssl&lt;br /&gt;
ln -s $HOME/lldap/app htdocs-ssl&lt;br /&gt;
touch htdocs-ssl/.htaccess&lt;br /&gt;
vim htdocs-ssl/.htaccess&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Mit dem Inhalt:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;apache&amp;quot;&amp;gt;&lt;br /&gt;
DirectoryIndex disabled&lt;br /&gt;
RewriteEngine On&lt;br /&gt;
RewriteBase /&lt;br /&gt;
    &lt;br /&gt;
RewriteCond %{DOCUMENT_ROOT}/%{REQUEST_FILENAME} !-f&lt;br /&gt;
RewriteRule .* http://127.0.0.1:33881%{REQUEST_URI} [proxy]&lt;br /&gt;
RequestHeader set X-Forwarded-Proto &amp;quot;https&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Achtung: Port 33881 wie in der Konfig-Datei anpassen!&lt;br /&gt;
&lt;br /&gt;
=== LLDAP als Service einrichten ===&lt;br /&gt;
&lt;br /&gt;
LLDAP soll als Service unter Kontrolle von SystemD laufen.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
cd ~&lt;br /&gt;
mkdir -p .config/systemd/user&lt;br /&gt;
mkdir var&lt;br /&gt;
vim .config/systemd/user/lldap.service&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Inhalt der Datei:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;toml&amp;quot;&amp;gt;&lt;br /&gt;
[Unit]&lt;br /&gt;
Description=LLDAP Service&lt;br /&gt;
&lt;br /&gt;
[Service]&lt;br /&gt;
WorkingDirectory=%h/lldap&lt;br /&gt;
Environment=&amp;quot;PATH=/usr/local/bin:/usr/bin:/bin&amp;quot;&lt;br /&gt;
ExecStart=%h/lldap/lldap run&lt;br /&gt;
StandardOutput=append:%h/var/lldap.log&lt;br /&gt;
StandardError=inherit&lt;br /&gt;
Restart=always&lt;br /&gt;
PrivateTmp=true&lt;br /&gt;
NoNewPrivileges=true&lt;br /&gt;
&lt;br /&gt;
[Install]&lt;br /&gt;
WantedBy=default.target&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Aktivieren und Starten des Dienstes:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
cd ~&lt;br /&gt;
systemctl --user daemon-reload&lt;br /&gt;
systemctl --user enable lldap.service&lt;br /&gt;
systemctl --user start lldap.service&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Wenn alles gut gegangen ist, kann mann sich als &amp;quot;&#039;&#039;admin&#039;&#039;&amp;quot; mit dem Passwort aus der Zeile &amp;quot;&#039;&#039;ldap_user_pass&#039;&#039;&amp;quot; unter https://account.hs-exampel.de anmelden.&lt;br /&gt;
&lt;br /&gt;
=== weitere Verbesserungen ===&lt;br /&gt;
&lt;br /&gt;
Bisher ging es darum, schnell einen LDAP-Dienst aufzusetzen. Leider lädt die fertig kompilierte Distribution, die wir hier benutzt haben, ihre Fonts, das CSS und JavaScript aus CDN-Netzwerken und von Google Servern. Das wollte ihr vermutlich nicht. Ich habe dazu den folgenden Issue im Github-Tracker gefunden: https://github.com/lldap/lldap/issues/93 Wenn ich richtig verstehe, kann man selbst eine Distribution erstellen, die die entsprechenden Ressourcen lokal hostet.&lt;br /&gt;
&lt;br /&gt;
=== Links ===&lt;br /&gt;
&lt;br /&gt;
* [https://github.com/lldap/lldap Github Projekt LLDAP]&lt;br /&gt;
* [https://github.com/lldap/lldap/tree/main?tab=readme-ov-file#client-configuration Client-Konfigurationsbeispiele]&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
[[Kategorie:HSDoku]]&lt;br /&gt;
[[Kategorie:Installationsanleitungen]]&lt;br /&gt;
[[Kategorie:Software]]&lt;br /&gt;
[[Kategorie:SSO]]&lt;/div&gt;</summary>
		<author><name>Peh00-phor</name></author>
	</entry>
	<entry>
		<id>https://wiki.hostsharing.net/index.php?title=PHP_FPM&amp;diff=7079</id>
		<title>PHP FPM</title>
		<link rel="alternate" type="text/html" href="https://wiki.hostsharing.net/index.php?title=PHP_FPM&amp;diff=7079"/>
		<updated>2024-11-25T11:39:32Z</updated>

		<summary type="html">&lt;p&gt;Peh00-phor: /* Start und Autostart des FPM-Prozess */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= PHP als eigener Prozess =&lt;br /&gt;
&lt;br /&gt;
Normalerweise starten PHP-Prozesse im Managed Webspace als FastCGi-Prozess unter Kontrolle des Apache Webserver. Der Apache übernimmt die Skalierung und startet bei Bedarf weitere Prozesse nach.&lt;br /&gt;
&lt;br /&gt;
Nutzer:innen eines Managed Server können alternativ PHP-FPM Nutzen. Sie starten einen FPM-Prozess unter der eigenen Kontrolle. Dieser Hauptprozess übernimmt die Skalierung und Kontrolliert den Lifecycle von PHP-Prozessen nach den wünschen der Webseitenbetreiber:in.&lt;br /&gt;
&lt;br /&gt;
== Konfiguration von FPM ==&lt;br /&gt;
&lt;br /&gt;
Hier nur ein minimales Beispiel. Für die Optimierung sein auf die entsprechende Originaldokumentation verwiesen.&lt;br /&gt;
&lt;br /&gt;
    ~/php-fpm$ cat ~/php-fpm/php-fpm.conf&lt;br /&gt;
    &lt;br /&gt;
    [global]&lt;br /&gt;
    pid = /home/pacs/xyz00/users/username/php-fpm/php-fpm.pid&lt;br /&gt;
    error_log = /home/pacs/xyz00/users/username/php-fpm/php-fpm.log&lt;br /&gt;
    &lt;br /&gt;
    [www]&lt;br /&gt;
    listen = 127.0.0.1:30080&lt;br /&gt;
    listen.allowed_clients = 127.0.0.1&lt;br /&gt;
    pm = dynamic&lt;br /&gt;
    pm.max_children = 5&lt;br /&gt;
    pm.start_servers = 2&lt;br /&gt;
    pm.min_spare_servers = 1&lt;br /&gt;
    pm.max_spare_servers = 3&lt;br /&gt;
    ;pm.process_idle_timeout = 10s;&lt;br /&gt;
    ;pm.max_requests = 500&lt;br /&gt;
&lt;br /&gt;
== Apache Konfiguration ==&lt;br /&gt;
&lt;br /&gt;
Der FPM-Server wird über das Apache Modul &amp;quot;mod_proxy_fcgi&amp;quot; angesteuert. Dazu legt man im Verzeichnis &lt;br /&gt;
~/doms/hs-example.de/ eine Datei .htaccess an.&lt;br /&gt;
&lt;br /&gt;
    $ cat doms/hs-example.de/.htaccess&lt;br /&gt;
    RewriteEngine on&lt;br /&gt;
    RewriteRule ^(.*)\.php(/.*)?$ fcgi://127.0.0.1:30080/home/doms/hs-example.de/htdocs-ssl/$1.php$2 [proxy,last]&lt;br /&gt;
&lt;br /&gt;
== Start und Autostart des FPM-Prozess ==&lt;br /&gt;
&lt;br /&gt;
Der FPM-Prozess wird wie folgt gestartet:&lt;br /&gt;
&lt;br /&gt;
  /usr/sbin/php-fpm8.2 --fpm-config php-fpm/php-fpm.conf --php-ini php-fpm/php.ini --nodaemonize&lt;br /&gt;
&lt;br /&gt;
Eine Unit für SystemD könnte wie folgt aussehen:&lt;br /&gt;
&lt;br /&gt;
 [Unit]&lt;br /&gt;
 Description=PHP FPM Service&lt;br /&gt;
 &lt;br /&gt;
 [Service]&lt;br /&gt;
 Type=simple&lt;br /&gt;
 WorkingDirectory=%h&lt;br /&gt;
 Environment=&amp;quot;PATH=/usr/local/sbin:/usr/sbin:/sbin:/usr/local/bin:/usr/bin:/bin&amp;quot;&lt;br /&gt;
 ExecStart=/usr/sbin/php-fpm8.2 --fpm-config %h/php-fpm/php-fpm.conf --php-ini %h/php-fpm/php.ini --nodaemonize&lt;br /&gt;
 StandardOutput=append:%h/var/php-fpm.log&lt;br /&gt;
 StandardError=inherit&lt;br /&gt;
 Restart=always&lt;br /&gt;
 PrivateTmp=true&lt;br /&gt;
 &lt;br /&gt;
 [Install]&lt;br /&gt;
 WantedBy=default.target&lt;/div&gt;</summary>
		<author><name>Peh00-phor</name></author>
	</entry>
	<entry>
		<id>https://wiki.hostsharing.net/index.php?title=CouchDB&amp;diff=7078</id>
		<title>CouchDB</title>
		<link rel="alternate" type="text/html" href="https://wiki.hostsharing.net/index.php?title=CouchDB&amp;diff=7078"/>
		<updated>2024-11-25T11:38:41Z</updated>

		<summary type="html">&lt;p&gt;Peh00-phor: /* Start mit SystemD */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= CouchDB =&lt;br /&gt;
&lt;br /&gt;
Mit Debian Buster wird CouchDB nicht mehr als Debian Paket auf allen unseren Managed Servern installiert sein.&lt;br /&gt;
&lt;br /&gt;
Ein paar Notizen zum Selbstbau (unter Bookworm):&lt;br /&gt;
&lt;br /&gt;
  wget https://downloads.apache.org/couchdb/source/3.3.3/apache-couchdb-3.3.3.tar.gz&lt;br /&gt;
  tar xzf apache-couchdb-3.3.3.tar.gz &lt;br /&gt;
  cd apache-couchdb-3.3.3&lt;br /&gt;
  ./configure --spidermonkey-version 78&lt;br /&gt;
  make release&lt;br /&gt;
  mv rel/couchdb ..&lt;br /&gt;
  cd ..&lt;br /&gt;
  rm -rf apache-couchdb-3.3.0*&lt;br /&gt;
&lt;br /&gt;
== Konfiguration ==&lt;br /&gt;
&lt;br /&gt;
In der Datei &#039;&#039;~/couchdb/etc/local.ini&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
  [chttpd]&lt;br /&gt;
  port = 35994&lt;br /&gt;
  bind_address = 127.0.0.1&lt;br /&gt;
  ...&lt;br /&gt;
  [admins]&lt;br /&gt;
  admin = mein-couch-admin-password&lt;br /&gt;
&lt;br /&gt;
== Start mit SystemD ==&lt;br /&gt;
&lt;br /&gt;
  xyz00-couchdb@h00:~$ cat .config/systemd/user/couchdb.service&lt;br /&gt;
&lt;br /&gt;
  [Unit]&lt;br /&gt;
  Description=CouchDB User Service&lt;br /&gt;
  &lt;br /&gt;
  [Service]&lt;br /&gt;
  WorkingDirectory=%h/couchdb&lt;br /&gt;
  Environment=&amp;quot;HOME=%h&amp;quot;&lt;br /&gt;
  Environment=&amp;quot;ERL_EPMD_ADDRESS=127.0.0.1&amp;quot;&lt;br /&gt;
  Environment=&amp;quot;ERL_EPMD_PORT=34369&amp;quot;&lt;br /&gt;
  Environment=&amp;quot;COUCHDB_BASE=%h/couchdb&amp;quot;&lt;br /&gt;
  ExecStart=%h/couchdb/bin/couchdb&lt;br /&gt;
  StandardOutput=append:%h/couchdb/var/log/couchdb.log&lt;br /&gt;
  StandardError=inherit&lt;br /&gt;
  Restart=always&lt;br /&gt;
  PrivateTmp=true&lt;br /&gt;
  NoNewPrivileges=true&lt;br /&gt;
  &lt;br /&gt;
  [Install]&lt;br /&gt;
  WantedBy=default.target&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Starten und Aktivieren des Service:&lt;br /&gt;
&lt;br /&gt;
  systemctl --no-pager --user daemon-reload&lt;br /&gt;
  systemctl --no-pager --user start couchdb.service&lt;br /&gt;
  systemctl --no-pager --user status couchdb.service&lt;br /&gt;
  systemctl --no-pager --user enable couchdb.service&lt;br /&gt;
&lt;br /&gt;
== Dump und Restore ==&lt;br /&gt;
&lt;br /&gt;
Mit dem folgenden Skript kann man einzelne Datenbanken aus einer CouchDB-Instanz sichern und wiederherstellen:&lt;br /&gt;
&lt;br /&gt;
* https://github.com/danielebailo/couchdb-dump&lt;/div&gt;</summary>
		<author><name>Peh00-phor</name></author>
	</entry>
	<entry>
		<id>https://wiki.hostsharing.net/index.php?title=Prozessmanagement_mit_systemd_im_Userspace&amp;diff=7077</id>
		<title>Prozessmanagement mit systemd im Userspace</title>
		<link rel="alternate" type="text/html" href="https://wiki.hostsharing.net/index.php?title=Prozessmanagement_mit_systemd_im_Userspace&amp;diff=7077"/>
		<updated>2024-11-25T11:37:15Z</updated>

		<summary type="html">&lt;p&gt;Peh00-phor: /* systemd Unit */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Über systemd ==&lt;br /&gt;
&#039;&#039;systemd&#039;&#039; ist seit einigen Jahren das Init-System aller gängigen Linux-Distributionen. Der &#039;&#039;init&#039;&#039;-Prozess ist im laufenden System der Prozess mit der Nummer &amp;quot;1&amp;quot;, der alle anderen Prozesse als Kind-Prozesse verwaltet.&lt;br /&gt;
&lt;br /&gt;
Auch ein normaler Account ohne besondere Privilegien kann systemd nutzen, um Prozesse im Userspace zu starten und zu kontrollieren. Auf der Hostsharing Managed Plattform hat jeder Account mit einer gültigen Login-Shell die Möglichkeit Dienste unter Kontrolle von systemd zu starten. In einem Webspace im Shared Hosting ist es zwingend systemd als Prozessmonitor für eigene Serverdienste zu nutzen; auf einem Managed Server ist es die empfohlene Vorgehensweise (&amp;quot;Best practice&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
== Eigene Serverdienste mit systemd ==&lt;br /&gt;
&lt;br /&gt;
In diesem Wiki finden sich viele Beispiele für systemd-Units zur Kontrolle eines Serverdienstes. An dieser Stelle folgen Erläuterungen für die wichtigsten Einstellungen.&lt;br /&gt;
&lt;br /&gt;
Voraussetzung: In &#039;&#039;HSAdmin&#039;&#039; wird ein Service-User zur Rechtetrennung dieses Dienstes von anderen Anwendungen angelegt. In diesem Artikel soll der Beispiel-User &#039;&#039;xyz00-service&#039;&#039; im Webspace &#039;&#039;xyz00&#039;&#039; sein. Dieser User bekommt bei der Einrichtung eine gültige Shell zugewiesen, so dass man sich per &#039;&#039;ssh&#039;&#039; oder vom Paketadmin mit einem Befehl &#039;&#039;sudo -i -u xyz00-service&#039;&#039; anmelden kann. Die Umgebungsvariable &#039;&#039;XDG_RUNTIME_DIR&#039;&#039; sollte im Environment des Users gesetzt sein, wenn man erfolgreich angemeldet ist. Das testet man mit&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
echo $XDG_RUNTIME_DIR&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Die Ausgabe sollte sein:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
xyz00-service@h01:~$ echo $XDG_RUNTIME_DIR &lt;br /&gt;
/run/user/112345&lt;br /&gt;
xyz00-service@h01:~$ &lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dabei wird statt &#039;&#039;112345&#039;&#039; eine andere Zahl erscheinen. Diese Zahl ist die numerische User-Id des Users &#039;&#039;xyz00-service&#039;&#039; im System.&lt;br /&gt;
&lt;br /&gt;
=== systemd Unit ===&lt;br /&gt;
&lt;br /&gt;
Die systemd-Units für einen User werden im Verzeichnis &#039;&#039;$HOME/.config/systemd/user/&#039;&#039; verwaltet. Dieser Pfad ist fest vorgegeben. Für einen neuen User legt man also zuerst dieses Verzeichnis an:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
mkdir -p $HOME/.config/systemd/user&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In diesem Verzeichnis wird für jeden Service eine Datei mit der Endung &#039;&#039;.service&#039;&#039; angelegt. Ich verwende hier eine Beispielkonfiguration für eine GotoSocial-Instanz. GotoSocial ist ein einfaches Binärprogramm, das in der Programmiersprache &#039;&#039;Go&#039;&#039; programmiert ist.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;ini&amp;quot; line&amp;gt;&lt;br /&gt;
[Unit]&lt;br /&gt;
Description=GotoSocial Service&lt;br /&gt;
#After=my-redis.service&lt;br /&gt;
&lt;br /&gt;
[Service]&lt;br /&gt;
Type=simple&lt;br /&gt;
WorkingDirectory=%h/gotosocial&lt;br /&gt;
Environment=&amp;quot;PATH=/usr/local/bin:/usr/bin:/bin&amp;quot;&lt;br /&gt;
ExecStart=%h/gotosocial/gotosocial --config-path %h/gotosocial/config.yaml server start&lt;br /&gt;
StandardOutput=append:%h/var/gotosocial.log&lt;br /&gt;
StandardError=inherit&lt;br /&gt;
Restart=always&lt;br /&gt;
PrivateTmp=true&lt;br /&gt;
&lt;br /&gt;
[Install]&lt;br /&gt;
WantedBy=default.target&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Die meisten Eigenschaften sind selbsterklärend. Folgende Eigenschaften sind einstellbar:&lt;br /&gt;
&lt;br /&gt;
; After: Hier kann eingestellt werden, welcher Dienst vorher starten muss, bevor dieser Dienst gestartet wird. Wenn GotoSocial eine Redis Instanz benötigt, könnte das entsprechend eingestellt werden.&lt;br /&gt;
; Type=simple : &#039;&#039;simple&#039;&#039; ist die Voreinstellung und kann weggelassen werden. Evtl. braucht man auch &#039;&#039;forking&#039;&#039;, wenn ein Dienst als Daemon im Hintergrund startet. Wenn man die Wahl hat, sollte man den Dienst immer im Vordergrund starten und nicht forken.&lt;br /&gt;
; WorkingDirectory : ist das Verzeichnis, in dem der Dienst gestartet wird. %h ist in dieser Datei eine Abkürzung für das Home-Verzeichnis des Users.&lt;br /&gt;
; Environment : Hier wird die Variable &#039;&#039;PATH&#039;&#039; definiert. Man kann mehrere Einträge des Namens &#039;&#039;Environment&#039;&#039; eintragen und bei Bedarf eine beliebige Anzahl von Environment-Variablen definieren.&lt;br /&gt;
; ExecStart : Das Programm, das als Dienst ausgeführt wird. Man kann eine komplette Kommandozeile angeben.&lt;br /&gt;
; StandardOutput : Eine Log-Datei in die die Standardausgabe des laufenden Dienstes geschrieben wird.&lt;br /&gt;
; StandardError : Entsprechend zu &#039;&#039;StandardOutput&#039;&#039;. Mit &#039;&#039;inherit&#039;&#039; wird der die Datei von &#039;&#039;StandardOutput&#039;&#039; geerbt.&lt;br /&gt;
; Restart=always : Der Dienst soll grundsätzlich neu gestartet werden, wenn der Prozess unerwartet beendet wird.&lt;br /&gt;
; PrivateTmp=true : &#039;&#039;/tmp&#039;&#039; und &#039;&#039;/var/tmp&#039;&#039; werden temporär im Namespace gemountet, so dass sie nicht mit anderen Prozessen geteilt werden.&lt;br /&gt;
; WantedBy : sollte im Usermodus von systemd meistens &#039;&#039;default.target&#039;&#039; sein. Andere Targets sind z.B. &#039;&#039;base.target&#039;&#039; oder &#039;&#039;timers.target&#039;&#039;. Für eine komplette Liste: &amp;lt;code&amp;gt;systemctl list-units --user --type=target&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== RAM- und CPU-Limits ====&lt;br /&gt;
&lt;br /&gt;
Auf Wunsch kann man die RAM- und CPU-Ressourcen für den Dienst begrenzen. Dazu trägt man weitere Eigenschaften im Abschnitt &#039;&#039;Service&#039;&#039; ein:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;ini&amp;quot; line&amp;gt;&lt;br /&gt;
[Service]&lt;br /&gt;
...&lt;br /&gt;
MemoryAccounting=true&lt;br /&gt;
CPUAccounting=true&lt;br /&gt;
MemoryHigh=512M&lt;br /&gt;
MemoryMax=768M&lt;br /&gt;
CPUQuota=50%&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
; MemoryHigh : Weiches RAM-Limit, das ggf. überschritten werden kann, wenn es unvermeidlich ist.&lt;br /&gt;
; MemoryMax : Hartes, absolutes RAM-Limit.&lt;br /&gt;
; CPUQuota : Maximale Belegung eines CPU-Threads in Prozent. Werte über 100% sind sinnvoll, wenn mehr als ein CPU-Thread verfügbar ist.&lt;br /&gt;
&lt;br /&gt;
==== Ausführliche Dokumentation der Direktiven ====&lt;br /&gt;
Eine ausführliche Dokumentation der Direktiven findet sich hier: &lt;br /&gt;
&lt;br /&gt;
https://www.freedesktop.org/software/systemd/man/latest/systemd.directives.html&lt;br /&gt;
&lt;br /&gt;
=== systemd Unit starten und stoppen ===&lt;br /&gt;
&lt;br /&gt;
Nachdem die systemd-Unit definiert ist, soll der Dienst gestartet werden. &lt;br /&gt;
Für die Verwaltung des Dienstes stehen die folgenden Kommandos zur Verfügung:&lt;br /&gt;
&lt;br /&gt;
==== Reload ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
systemctl --user daemon-reload&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Die Konfigurationsdateien im Verzeichnis &#039;&#039;$HOME/.config/systemd/user/&#039;&#039; werden neu eingelesen. Dieses Kommando ist nach jeder Änderung einer  &#039;&#039;.service&#039;&#039;-Datei nötig.&lt;br /&gt;
&lt;br /&gt;
==== Start und Stopp ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
systemctl --user start gotosocial.service&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
bzw.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
systemctl --user stop gotosocial.service&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
sind die Kommandos zum Starten und Beenden des Dienstes.&lt;br /&gt;
&lt;br /&gt;
==== Enable und Disable ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
systemctl --user enable gotosocial.service&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
bzw.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
systemctl --user disable gotosocial.service&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
sind die Kommandos, die den Dienst für einen Reboot des Servers aktivieren bzw. deaktivieren.&lt;br /&gt;
&lt;br /&gt;
==== Status ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
systemctl --user status&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
oder &lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
systemctl --user status gotosocial.service&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
zeigen den Status aller Dienste des Users bzw. eines bestimmten Dienstes an.&lt;br /&gt;
&lt;br /&gt;
== Zeitgesteuerte Ausführung mit systemd ==&lt;br /&gt;
&lt;br /&gt;
Bisher wurden meistens cronjobs eingesetzt, um wiederkehrende Aufgaben zu erledigen.&lt;br /&gt;
&lt;br /&gt;
Auch Cronjobs können durch systemd ersetzt werden. Ergänzend zu einem »service-file« wird eine weitere Unit, nämlich ein »timer-file« mit der Endung ».timer« angelegt und aktiviert. &lt;br /&gt;
&lt;br /&gt;
=== Einrichten des »service-files« ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=bash&amp;gt;&lt;br /&gt;
$ cat $HOME/.config/systemd/user/my-cleanup.service &lt;br /&gt;
&lt;br /&gt;
    [Unit] &lt;br /&gt;
    Description=My Cleanup Service &lt;br /&gt;
&lt;br /&gt;
    [Service] &lt;br /&gt;
    Type=oneshot &lt;br /&gt;
    ExecStart=%h/bin/cleanup-script &lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Testen ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=bash&amp;gt;&lt;br /&gt;
$ systemctl --user start my-cleanup.service &lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Einrichten des »timer-files« ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=bash&amp;gt;&lt;br /&gt;
$ cat $HOME/.config/systemd/user/my-cleanup.timer &lt;br /&gt;
&lt;br /&gt;
    [Unit] &lt;br /&gt;
    Description=Daily My Cleanup Timer &lt;br /&gt;
&lt;br /&gt;
    [Timer] &lt;br /&gt;
    OnCalendar=daily &lt;br /&gt;
&lt;br /&gt;
    [Install] &lt;br /&gt;
    WantedBy=timers.target &lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Eine ausführliche Dokumentation der Direktiven findet sich hier: &lt;br /&gt;
&lt;br /&gt;
https://www.freedesktop.org/software/systemd/man/latest/systemd.timer.html&lt;br /&gt;
&lt;br /&gt;
=== Aktivieren der zeitgesteuerten Ausführung ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=bash&amp;gt;&lt;br /&gt;
$ systemctl --user enable my-cleanup.timer &lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== RAM Kontingent eines Webspace ==&lt;br /&gt;
&lt;br /&gt;
Den aktuell belegten RAM eines Webspace &#039;&#039;xyz00&#039;&#039; kann man sich mit dem Befehl&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
systemctl status pacs-xyz00.slice&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
ansehen.&lt;br /&gt;
&lt;br /&gt;
Etwa in der fünften Zeile der Ausgabe findet man eine Angabe der Form:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
Memory: 58.4M (max: 14.8G available: 14.8G)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Hier sind aktuell 58,4 Megabyte RAM genutzt, es sind 14,8 Gigabyte RAM für den Webspace verfügbar. Der verfügbare RAM ist das gebuchte Kontingent. Das gebuchte Kontigent wird im Shared Hosting deutlich kleiner sein.&lt;br /&gt;
&lt;br /&gt;
Das RAM Kontingent wird in Schritten von jeweils 128 Ḿegabyte gebucht. Änderungen des RAM Kontingents für einen Webspace nimmt der Service unter [mailto:service@hostsharing.net service@hostsharing.net] entgegen, wie es bei anderen Paketoptionen die Vorgehensweise ist.&lt;br /&gt;
&lt;br /&gt;
= weiterführende Links =&lt;br /&gt;
&lt;br /&gt;
* https://www.freedesktop.org/software/systemd/man/latest/systemd.directives.html&lt;br /&gt;
* https://www.freedesktop.org/software/systemd/man/latest/systemd.timer.html&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
[[Kategorie:systemd]]&lt;br /&gt;
[[Kategorie:Eigene Daemons]]&lt;/div&gt;</summary>
		<author><name>Peh00-phor</name></author>
	</entry>
	<entry>
		<id>https://wiki.hostsharing.net/index.php?title=Redmine_in_Tomcat_installieren&amp;diff=2788</id>
		<title>Redmine in Tomcat installieren</title>
		<link rel="alternate" type="text/html" href="https://wiki.hostsharing.net/index.php?title=Redmine_in_Tomcat_installieren&amp;diff=2788"/>
		<updated>2011-02-17T13:26:43Z</updated>

		<summary type="html">&lt;p&gt;Peh00-phor: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Redmine im Tomcat installieren ==&lt;br /&gt;
&lt;br /&gt;
[http://redmine.org Redmine] ist ein Werkzeug zur Projektverwaltung - in erster Linie für Software-Entwicklungs-Projekte geeignet.&lt;br /&gt;
&lt;br /&gt;
Redmine ist in [http://www.ruby-lang.org/de/ Ruby] mit dem Framework [http://rubyonrails.org/ Ruby on Rails] programmiert. Es steht unter der [http://www.gnu.org/licenses/old-licenses/gpl-2.0.html|GNU General Public License v2] (GPL).&lt;br /&gt;
&lt;br /&gt;
Hier soll es als Beispiel dienen, wie man auf der [http://www.hostsharing.net Hostsharing]-Infrastruktur mit der Tomcat-Option Rails-Anwendungen betrieben kann.&lt;br /&gt;
&lt;br /&gt;
=== Vorbereitungen ===&lt;br /&gt;
&lt;br /&gt;
Zunächst baue und teste ich auf meinem lokalen Rechner eine Java-Webapplikation, die ich später bei Hostsharing installiere.&lt;br /&gt;
&lt;br /&gt;
Ich brauche:&lt;br /&gt;
# die aktuelle Redmine Version von [http://rubyforge.org/frs/?group_id=1850 RubyForge] (zur Zeit Version 1.1.1)&lt;br /&gt;
# die Ruby-/Rails-Infrastruktur mit JRuby auf meinem lokalen Rechner&lt;br /&gt;
&lt;br /&gt;
=== Software-Pakete ===&lt;br /&gt;
&lt;br /&gt;
Zunächst installiere ich als &#039;&#039;root&#039;&#039; die Ruby-Infrastruktur:&lt;br /&gt;
&lt;br /&gt;
  aptitude install jruby rubygems&lt;br /&gt;
&lt;br /&gt;
Als Datenbank will ich Postgres nutzen:&lt;br /&gt;
&lt;br /&gt;
  aptitude install postgresql&lt;br /&gt;
&lt;br /&gt;
Eine Postgres-Datenbank mit eigenem Datenbank-User lege ich als User &#039;&#039;postgres&#039;&#039; an:&lt;br /&gt;
&lt;br /&gt;
  su - postgres&lt;br /&gt;
  createuser -D -S -R -P redmine&lt;br /&gt;
  createdb -O redmine -E UTF8 redmine&lt;br /&gt;
&lt;br /&gt;
=== Webapplikation bauen ===&lt;br /&gt;
&lt;br /&gt;
Als &#039;&#039;normaler&#039;&#039; User baue ich dann die Web-Applikation zusammen:&lt;br /&gt;
&lt;br /&gt;
Download und entpacken von redmine in /home/user/redmine-n.n.n&lt;br /&gt;
&lt;br /&gt;
  tar xzf redmine-1.1.1.tar.gz&lt;br /&gt;
  cd /home/user/redmine-1.1.1&lt;br /&gt;
&lt;br /&gt;
Installation einiger Ruby-Gem-Pakete:&lt;br /&gt;
&lt;br /&gt;
  mkdir /home/user/.gem&lt;br /&gt;
  export GEM_HOME=/home/user/.gem&lt;br /&gt;
  gem install -v=0.4.2 i18n&lt;br /&gt;
  gem install -v=1.0.1 rack&lt;br /&gt;
  gem install jruby-openssl&lt;br /&gt;
  gem install activerecord-jdbcpostgresql-adapter&lt;br /&gt;
  gem install rake&lt;br /&gt;
&lt;br /&gt;
In &#039;&#039;config/environment.rb&#039;&#039; habe ich folgende Zeilen eingefügt:&lt;br /&gt;
&lt;br /&gt;
Unmittelbar vor Rails::Initializer.run do |config|&lt;br /&gt;
&lt;br /&gt;
    if RUBY_PLATFORM =~ /java/&lt;br /&gt;
       require &#039;rubygems&#039;&lt;br /&gt;
       gem &#039;activerecord-jdbc-adapter&#039;&lt;br /&gt;
       require &#039;arjdbc&#039;&lt;br /&gt;
    end&lt;br /&gt;
&lt;br /&gt;
Direkt hinter Rails::Initializer.run do |config| dann:&lt;br /&gt;
&lt;br /&gt;
    config.action_controller.session = { :key =&amp;gt; &amp;quot;_myapp_session&amp;quot;, :secret =&amp;gt; &amp;quot;ueber-30-zeichen-session-key&amp;quot; }&lt;br /&gt;
&lt;br /&gt;
Dann lege ich die Datei &#039;&#039;config/database.yml&#039;&#039; mit folgendem Inhalt an:&lt;br /&gt;
&lt;br /&gt;
    production:&lt;br /&gt;
      adapter: jdbc&lt;br /&gt;
      driver: org.postgresql.Driver&lt;br /&gt;
      url: jdbc:postgresql://localhost/redmine&lt;br /&gt;
      encoding: unicode&lt;br /&gt;
      username: redmine&lt;br /&gt;
      password: mein_geheimnis&lt;br /&gt;
      host: localhost&lt;br /&gt;
      port: 5432&lt;br /&gt;
&lt;br /&gt;
Jetzt kann ich die Datenbank initialisieren:&lt;br /&gt;
&lt;br /&gt;
    export RAILS_ENV=production&lt;br /&gt;
    jruby ~/.gem/bin/rake db:migrate&lt;br /&gt;
    jruby ~/.gem/bin/rake redmine:load_default_data&lt;br /&gt;
&lt;br /&gt;
Ein erster Test mit:&lt;br /&gt;
&lt;br /&gt;
    jruby ./script/server -e production&lt;br /&gt;
&lt;br /&gt;
Jetzt sollte Redmine im internen &#039;&#039;WEBrick&#039;&#039;-Webserver unter &#039;&#039;http://localhost:3000 &#039;&#039; erreichbar sein. Die Anmeldung mit admin/admin kann man schon ausprobieren...&lt;br /&gt;
&lt;br /&gt;
Die letzten Schritte zum Bau der WAR-Datei:&lt;br /&gt;
&lt;br /&gt;
    gem install warbler&lt;br /&gt;
    ~/.gem/bin/warble config&lt;br /&gt;
&lt;br /&gt;
Folgendes in der Datei config/warble.rb hinter Warbler::Config.new do |config| anpassen bzw. ergänzen:&lt;br /&gt;
&lt;br /&gt;
    config.dirs = %w(app config lib log vendor tmp extra files lang)&lt;br /&gt;
    config.gems += [&amp;quot;activerecord-jdbcpostgresql-adapter&amp;quot;, &amp;quot;i18n&amp;quot;, &amp;quot;jruby-openssl&amp;quot;, &amp;quot;rack&amp;quot;]&lt;br /&gt;
    config.gems[&amp;quot;i18n&amp;quot;] = &amp;quot;0.4.2&amp;quot;&lt;br /&gt;
    config.gems[&amp;quot;rack&amp;quot;] = &amp;quot;1.0.1&amp;quot; &lt;br /&gt;
&lt;br /&gt;
Der letzte Schritt &lt;br /&gt;
&lt;br /&gt;
    ~/.gem/bin/warble&lt;br /&gt;
&lt;br /&gt;
erzeugt eine Datei &#039;&#039;redmine-1.1.1.war&#039;&#039;, die ich in &#039;&#039;redmine.war&#039;&#039; umbenenne und im Tomcat deploye.&lt;br /&gt;
&lt;br /&gt;
=== Installation bei Hostsharing ===&lt;br /&gt;
&lt;br /&gt;
Voraussetzung: Installierter Tomcat-Webserver&lt;br /&gt;
&lt;br /&gt;
Bei Hostsharing lege ich einen Postgres-Datenbank-Admin und eine Datenbank mit HSAdmin an.&lt;br /&gt;
&lt;br /&gt;
In die Datenbank spiele ich über http://phppgadmin.hostsharing.net einen Dump meiner lokalen Datenbank ein.&lt;br /&gt;
&lt;br /&gt;
Die &#039;&#039;redmine.war&#039;&#039;-Datei kopiere ich auf den Hostsharing-Server. Im &#039;&#039;webapps&#039;&#039;-Verzeichnis, das für meine gewünschte Domain konfiguriert ist, lege ich ein Verzeichnis &#039;&#039;redmine&#039;&#039; an. In dieses Verzeichnis entpacke ich die &#039;&#039;redmine.war&#039;&#039; mit dem &#039;&#039;jar&#039;&#039;-Befehl. Zuletzt passe ich noch die Datenbank-Zugangsparameter in der Datei &#039;&#039;WEB-INF/config/database.yml&#039;&#039; aus dem ausgepackten Archiv an.&lt;br /&gt;
&lt;br /&gt;
Mit einem Neustart des Tomcat (oder der Redmine-Applikation im Tomcat) kann Redmine dann genutzt werden.&lt;br /&gt;
&lt;br /&gt;
--[[Benutzer:Peh00-phor|Peh00-phor]] 14:17, 17. Feb. 2011 (CET) Peter Hormanns&lt;/div&gt;</summary>
		<author><name>Peh00-phor</name></author>
	</entry>
	<entry>
		<id>https://wiki.hostsharing.net/index.php?title=Redmine_in_Tomcat_installieren&amp;diff=2787</id>
		<title>Redmine in Tomcat installieren</title>
		<link rel="alternate" type="text/html" href="https://wiki.hostsharing.net/index.php?title=Redmine_in_Tomcat_installieren&amp;diff=2787"/>
		<updated>2011-02-17T13:22:09Z</updated>

		<summary type="html">&lt;p&gt;Peh00-phor: /* Redmine im Tomcat installieren */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Redmine im Tomcat installieren ==&lt;br /&gt;
&lt;br /&gt;
[http://redmine.org Redmine] ist ein Werkzeug zur Projektverwaltung - in erster Linie für Software-Entwicklungs-Projekte geeignet.&lt;br /&gt;
&lt;br /&gt;
Redmine ist in [http://www.ruby-lang.org/de/ Ruby] mit dem Framework [http://rubyonrails.org/ Ruby on Rails] programmiert. Es steht unter der [http://www.gnu.org/licenses/old-licenses/gpl-2.0.html|GNU General Public License v2] (GPL).&lt;br /&gt;
&lt;br /&gt;
Hier soll es als Beispiel dienen, wie man auf der [http://www.hostsharing.net Hostsharing]-Infrastruktur mit der Tomcat-Option Rails-Anwendungen betrieben kann.&lt;br /&gt;
&lt;br /&gt;
=== Vorbereitungen ===&lt;br /&gt;
&lt;br /&gt;
Zunächst baue und teste ich auf meinem lokalen Rechner eine Java-Webapplikation, die ich später bei Hostsharing installiere.&lt;br /&gt;
&lt;br /&gt;
Ich brauche:&lt;br /&gt;
# die aktuelle Redmine Version von [http://rubyforge.org/frs/?group_id=1850 RubyForge] (zur Zeit Version 1.1.1)&lt;br /&gt;
# die Ruby-/Rails-Infrastruktur mit JRuby auf meinem lokalen Rechner&lt;br /&gt;
&lt;br /&gt;
=== Software-Pakete ===&lt;br /&gt;
&lt;br /&gt;
Zunächst installiere ich als &#039;&#039;root&#039;&#039; die Ruby-Infrastruktur:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  aptitude install jruby rubygems&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Als Datenbank will ich Postgres nutzen:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  aptitude install postgresql&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Eine Postgres-Datenbank mit eigenem Datenbank-User lege ich als User &#039;&#039;postgres&#039;&#039; an:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  su - postgres&lt;br /&gt;
  createuser -D -S -R -P redmine&lt;br /&gt;
  createdb -O redmine -E UTF8 redmine&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Webapplikation bauen ===&lt;br /&gt;
&lt;br /&gt;
Als &#039;&#039;normaler&#039;&#039; User baue ich dann die Web-Applikation zusammen:&lt;br /&gt;
&lt;br /&gt;
Download und entpacken von redmine in /home/user/redmine-n.n.n&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  tar xzf redmine-1.1.1.tar.gz&lt;br /&gt;
  cd /home/user/redmine-1.1.1&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Installation einiger Ruby-Gem-Pakete:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  mkdir /home/user/.gem&lt;br /&gt;
  export GEM_HOME=/home/user/.gem&lt;br /&gt;
  gem install -v=0.4.2 i18n&lt;br /&gt;
  gem install -v=1.0.1 rack&lt;br /&gt;
  gem install jruby-openssl&lt;br /&gt;
  gem install activerecord-jdbcpostgresql-adapter&lt;br /&gt;
  gem install rake&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
In &#039;&#039;config/environment.rb&#039;&#039; habe ich folgende Zeilen eingefügt:&lt;br /&gt;
&lt;br /&gt;
Unmittelbar vor Rails::Initializer.run do |config|&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    if RUBY_PLATFORM =~ /java/&lt;br /&gt;
       require &#039;rubygems&#039;&lt;br /&gt;
       gem &#039;activerecord-jdbc-adapter&#039;&lt;br /&gt;
       require &#039;arjdbc&#039;&lt;br /&gt;
    end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Direkt hinter Rails::Initializer.run do |config| dann:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    config.action_controller.session = { :key =&amp;gt; &amp;quot;_myapp_session&amp;quot;, :secret =&amp;gt; &amp;quot;ueber-30-zeichen-session-key&amp;quot; }&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Dann lege ich die Datei &#039;&#039;config/database.yml&#039;&#039; mit folgendem Inhalt an:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    production:&lt;br /&gt;
      adapter: jdbc&lt;br /&gt;
      driver: org.postgresql.Driver&lt;br /&gt;
      url: jdbc:postgresql://localhost/redmine&lt;br /&gt;
      encoding: unicode&lt;br /&gt;
      username: redmine&lt;br /&gt;
      password: mein_geheimnis&lt;br /&gt;
      host: localhost&lt;br /&gt;
      port: 5432&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Jetzt kann ich die Datenbank initialisieren:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    export RAILS_ENV=production&lt;br /&gt;
    jruby ~/.gem/bin/rake db:migrate&lt;br /&gt;
    jruby ~/.gem/bin/rake redmine:load_default_data&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Ein erster Test mit:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    jruby ./script/server -e production&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Jetzt sollte Redmine im internen &#039;&#039;WEBrick&#039;&#039;-Webserver unter &#039;&#039;http://localhost:3000 &#039;&#039; erreichbar sein. Die Anmeldung mit admin/admin kann man schon ausprobieren...&lt;br /&gt;
&lt;br /&gt;
Die letzten Schritte zum Bau der WAR-Datei:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    gem install warbler&lt;br /&gt;
    ~/.gem/bin/warble config&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Folgendes in der Datei config/warble.rb hinter Warbler::Config.new do |config| anpassen bzw. ergänzen:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    config.dirs = %w(app config lib log vendor tmp extra files lang)&lt;br /&gt;
    config.gems += [&amp;quot;activerecord-jdbcpostgresql-adapter&amp;quot;, &amp;quot;i18n&amp;quot;, &amp;quot;jruby-openssl&amp;quot;, &amp;quot;rack&amp;quot;]&lt;br /&gt;
    config.gems[&amp;quot;i18n&amp;quot;] = &amp;quot;0.4.2&amp;quot;&lt;br /&gt;
    config.gems[&amp;quot;rack&amp;quot;] = &amp;quot;1.0.1&amp;quot; &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Der letzte Schritt &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    ~/.gem/bin/warble&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
erzeugt eine Datei &#039;&#039;redmine-1.1.1.war&#039;&#039;, die ich in &#039;&#039;redmine.war&#039;&#039; umbenenne und im Tomcat deploye.&lt;br /&gt;
&lt;br /&gt;
=== Installation bei Hostsharing ===&lt;br /&gt;
&lt;br /&gt;
Voraussetzung: Installierter Tomcat-Webserver&lt;br /&gt;
&lt;br /&gt;
Bei Hostsharing lege ich einen Postgres-Datenbank-Admin und eine Datenbank mit HSAdmin an.&lt;br /&gt;
&lt;br /&gt;
In die Datenbank spiele ich über http://phppgadmin.hostsharing.net einen Dump meiner lokalen Datenbank ein.&lt;br /&gt;
&lt;br /&gt;
Die &#039;&#039;redmine.war&#039;&#039;-Datei kopiere ich auf den Hostsharing-Server. Im &#039;&#039;webapps&#039;&#039;-Verzeichnis, das für meine gewünschte Domain konfiguriert ist, lege ich ein Verzeichnis &#039;&#039;redmine&#039;&#039; an. In dieses Verzeichnis entpacke ich die &#039;&#039;redmine.war&#039;&#039; mit dem &#039;&#039;jar&#039;&#039;-Befehl. Zuletzt passe ich noch die Datenbank-Zugangsparameter in der Datei &#039;&#039;WEB-INF/config/database.yml&#039;&#039; aus dem ausgepackten Archiv an.&lt;br /&gt;
&lt;br /&gt;
Mit einem Neustart des Tomcat (oder der Redmine-Applikation im Tomcat) kann Redmine dann genutzt werden.&lt;br /&gt;
&lt;br /&gt;
--[[Benutzer:Peh00-phor|Peh00-phor]] 14:17, 17. Feb. 2011 (CET) Peter Hormanns&lt;/div&gt;</summary>
		<author><name>Peh00-phor</name></author>
	</entry>
	<entry>
		<id>https://wiki.hostsharing.net/index.php?title=Redmine_in_Tomcat_installieren&amp;diff=2786</id>
		<title>Redmine in Tomcat installieren</title>
		<link rel="alternate" type="text/html" href="https://wiki.hostsharing.net/index.php?title=Redmine_in_Tomcat_installieren&amp;diff=2786"/>
		<updated>2011-02-17T13:17:32Z</updated>

		<summary type="html">&lt;p&gt;Peh00-phor: Neue Installationsanleitung&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Redmine im Tomcat installieren ==&lt;br /&gt;
&lt;br /&gt;
[Redmine|http://redmine.org] ist ein Werkzeug zur Projektverwaltung - in erster Linie für Software-Entwicklungs-Projekte geeignet.&lt;br /&gt;
&lt;br /&gt;
Redmine ist in [http://www.ruby-lang.org/de/ Ruby] mit dem Framework [Ruby on Rails|http://rubyonrails.org/] programmiert. Es steht unter der [GNU General Public License v2|http://www.gnu.org/licenses/old-licenses/gpl-2.0.html] (GPL).&lt;br /&gt;
&lt;br /&gt;
Hier soll es als Beispiel dienen, wie man auf der [Hostsharing|http://www.hostsharing.net]-Infrastruktur mit der Tomcat-Option Rails-Anwendungen betrieben kann.&lt;br /&gt;
&lt;br /&gt;
=== Vorbereitungen ===&lt;br /&gt;
&lt;br /&gt;
Zunächst baue und teste ich auf meinem lokalen Rechner eine Java-Webapplikation, die ich später bei Hostsharing installiere.&lt;br /&gt;
&lt;br /&gt;
Ich brauche:&lt;br /&gt;
# die aktuelle Redmine Version von [RubyForge|http://rubyforge.org/frs/?group_id=1850] (zur Zeit Version 1.1.1)&lt;br /&gt;
# die Ruby-/Rails-Infrastruktur mit JRuby auf meinem lokalen Rechner&lt;br /&gt;
&lt;br /&gt;
=== Software-Pakete ===&lt;br /&gt;
&lt;br /&gt;
Zunächst installiere ich als &#039;&#039;root&#039;&#039; die Ruby-Infrastruktur:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  aptitude install jruby rubygems&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Als Datenbank will ich Postgres nutzen:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  aptitude install postgresql&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Eine Postgres-Datenbank mit eigenem Datenbank-User lege ich als User &#039;&#039;postgres&#039;&#039; an:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  su - postgres&lt;br /&gt;
  createuser -D -S -R -P redmine&lt;br /&gt;
  createdb -O redmine -E UTF8 redmine&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Webapplikation bauen ===&lt;br /&gt;
&lt;br /&gt;
Als &#039;&#039;normaler&#039;&#039; User baue ich dann die Web-Applikation zusammen:&lt;br /&gt;
&lt;br /&gt;
Download und entpacken von redmine in /home/user/redmine-n.n.n&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  tar xzf redmine-1.1.1.tar.gz&lt;br /&gt;
  cd /home/user/redmine-1.1.1&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Installation einiger Ruby-Gem-Pakete:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  mkdir /home/user/.gem&lt;br /&gt;
  export GEM_HOME=/home/user/.gem&lt;br /&gt;
  gem install -v=0.4.2 i18n&lt;br /&gt;
  gem install -v=1.0.1 rack&lt;br /&gt;
  gem install jruby-openssl&lt;br /&gt;
  gem install activerecord-jdbcpostgresql-adapter&lt;br /&gt;
  gem install rake&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
In &#039;&#039;config/environment.rb&#039;&#039; habe ich folgende Zeilen eingefügt:&lt;br /&gt;
&lt;br /&gt;
Unmittelbar vor {{Rails::Initializer.run do |config|}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    if RUBY_PLATFORM =~ /java/&lt;br /&gt;
       require &#039;rubygems&#039;&lt;br /&gt;
       gem &#039;activerecord-jdbc-adapter&#039;&lt;br /&gt;
       require &#039;arjdbc&#039;&lt;br /&gt;
    end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Direkt hinter {{Rails::Initializer.run do |config|}} dann:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    config.action_controller.session = { :key =&amp;gt; &amp;quot;_myapp_session&amp;quot;, :secret =&amp;gt; &amp;quot;ueber-30-zeichen-session-key&amp;quot; }&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Dann lege ich die Datei &#039;&#039;config/database.yml&#039;&#039; mit folgendem Inhalt an:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    production:&lt;br /&gt;
      adapter: jdbc&lt;br /&gt;
      driver: org.postgresql.Driver&lt;br /&gt;
      url: jdbc:postgresql://localhost/redmine&lt;br /&gt;
      encoding: unicode&lt;br /&gt;
      username: redmine&lt;br /&gt;
      password: mein_geheimnis&lt;br /&gt;
      host: localhost&lt;br /&gt;
      port: 5432&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Jetzt kann ich die Datenbank initialisieren:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    export RAILS_ENV=production&lt;br /&gt;
    jruby ~/.gem/bin/rake db:migrate&lt;br /&gt;
    jruby ~/.gem/bin/rake redmine:load_default_data&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Ein erster Test mit:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    jruby ./script/server -e production&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Jetzt sollte Redmine im internen &#039;&#039;WEBrick&#039;&#039;-Webserver unter &#039;&#039;http://localhost:3000 &#039;&#039; erreichbar sein. Die Anmeldung mit admin/admin kann man schon ausprobieren...&lt;br /&gt;
&lt;br /&gt;
Die letzten Schritte zum Bau der WAR-Datei:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    gem install warbler&lt;br /&gt;
    ~/.gem/bin/warble config&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Folgendes in der Datei config/warble.rb hinter {{Warbler::Config.new do |config|}} anpassen bzw. ergänzen:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    config.dirs = %w(app config lib log vendor tmp extra files lang)&lt;br /&gt;
    config.gems += [&amp;quot;activerecord-jdbcpostgresql-adapter&amp;quot;, &amp;quot;i18n&amp;quot;, &amp;quot;jruby-openssl&amp;quot;, &amp;quot;rack&amp;quot;]&lt;br /&gt;
    config.gems[&amp;quot;i18n&amp;quot;] = &amp;quot;0.4.2&amp;quot;&lt;br /&gt;
    config.gems[&amp;quot;rack&amp;quot;] = &amp;quot;1.0.1&amp;quot; &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Der letzte Schritt &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    ~/.gem/bin/warble&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
erzeugt eine Datei &#039;&#039;redmine-1.1.1.war&#039;&#039;, die ich in &#039;&#039;redmine.war&#039;&#039; umbenenne und im Tomcat deploye.&lt;br /&gt;
&lt;br /&gt;
=== Installation bei Hostsharing ===&lt;br /&gt;
&lt;br /&gt;
Voraussetzung: Installierter Tomcat-Webserver&lt;br /&gt;
&lt;br /&gt;
Bei Hostsharing lege ich einen Postgres-Datenbank-Admin und eine Datenbank mit HSAdmin an.&lt;br /&gt;
&lt;br /&gt;
In die Datenbank spiele ich über http://phppgadmin.hostsharing.net einen Dump meiner lokalen Datenbank ein.&lt;br /&gt;
&lt;br /&gt;
Die &#039;&#039;redmine.war&#039;&#039;-Datei kopiere ich auf den Hostsharing-Server. Im &#039;&#039;webapps&#039;&#039;-Verzeichnis, das für meine gewünschte Domain konfiguriert ist, lege ich ein Verzeichnis &#039;&#039;redmine&#039;&#039; an. In dieses Verzeichnis entpacke ich die &#039;&#039;redmine.war&#039;&#039; mit dem &#039;&#039;jar&#039;&#039;-Befehl. Zuletzt passe ich noch die Datenbank-Zugangsparameter in der Datei &#039;&#039;WEB-INF/config/database.yml&#039;&#039; aus dem ausgepackten Archiv an.&lt;br /&gt;
&lt;br /&gt;
Mit einem Neustart des Tomcat (oder der Redmine-Applikation im Tomcat) kann Redmine dann genutzt werden.&lt;br /&gt;
&lt;br /&gt;
--[[Benutzer:Peh00-phor|Peh00-phor]] 14:17, 17. Feb. 2011 (CET)Peter Hormanns&lt;/div&gt;</summary>
		<author><name>Peh00-phor</name></author>
	</entry>
	<entry>
		<id>https://wiki.hostsharing.net/index.php?title=Verwalten_der_Zonendaten&amp;diff=2782</id>
		<title>Verwalten der Zonendaten</title>
		<link rel="alternate" type="text/html" href="https://wiki.hostsharing.net/index.php?title=Verwalten_der_Zonendaten&amp;diff=2782"/>
		<updated>2011-01-19T14:27:33Z</updated>

		<summary type="html">&lt;p&gt;Peh00-phor: SPF Record entfernt, das soll bitte nur der machen, der weiß, was er tut&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{HSDoku-Links}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Das Zonenfile für eine Domain enthält die Konfiguration des Domain Name Service (DNS), d.h. der Nameserver der Domain. Es wird hinterlegt, welche Hostnamen innerhalb der Domain existieren und auf welche IP-Adressen diese zeigen. Außerdem wird hierüber auch gesteuert, an welches System Mails für die Domain geliefert werden sollen.&lt;br /&gt;
&lt;br /&gt;
{{Textkasten|rot|Achtung|Aufgrund der zentralen Bedeutung sollten Änderungen nur mit Vorsicht vorgenommen werden, da eine fehlerhafte Einstellung dazu führen kann, dass die Webseite nicht mehr im Internet abgerufen werden kann oder Mails verloren gehen!}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== aktives Zonefile ==&lt;br /&gt;
&lt;br /&gt;
Die gerade aktive Konfiguration einer Domain example.com ist in /etc/bind/pri.example.com zu finden (Zonefile).&lt;br /&gt;
&lt;br /&gt;
Es sieht standardmäßig in etwa wie folgt aus:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
$TTL 4H&lt;br /&gt;
example.org. IN SOA dns1.hostsharing.net. hostmaster.hostsharing.net. (&lt;br /&gt;
		1242748945 ; serial secs since Jan 1 1970&lt;br /&gt;
		6H		; refresh (&amp;gt;=10000)&lt;br /&gt;
		1H		; retry (&amp;gt;=1800)&lt;br /&gt;
		1W		; expire&lt;br /&gt;
		1H		; minimum&lt;br /&gt;
		)&lt;br /&gt;
&lt;br /&gt;
		IN	NS	dns1.hostsharing.net.&lt;br /&gt;
		IN	NS	dns2.hostsharing.net.&lt;br /&gt;
		IN	NS	dns3.hostsharing.net.&lt;br /&gt;
&lt;br /&gt;
		IN	MX	30 xyz00.hostsharing.net.&lt;br /&gt;
		IN	MX	80 backupmx.hostsharing.net.&lt;br /&gt;
&lt;br /&gt;
		IN	A	83.223.95.30&lt;br /&gt;
&lt;br /&gt;
www		IN	A	83.223.95.30&lt;br /&gt;
ftp		IN	A	83.223.95.30&lt;br /&gt;
pop3		IN	A	83.223.95.30&lt;br /&gt;
mail		IN	A	83.223.95.30&lt;br /&gt;
mysql		IN	A	83.223.95.30&lt;br /&gt;
pgsql		IN	A	83.223.95.30&lt;br /&gt;
*.example.org.   IN	A	83.223.95.30&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Der erste Block SOA definiert die &amp;quot;Start Of Authority&amp;quot; Ressource. Der wichtigste Eintrag hier ist die Seriennummer. Diese wird von den DNS-Servern benutzt, um eine Änderung zu erkennen. Deshalb muss diese Nummer bei jeder Anpassung erhöht werden, sonst wird die Änderung nicht vollständig im Internet verbreitet. Der konkrete Wert ist nicht wichtig, so dass man durchaus auch einfach die dort stehende Zahl um eins erhöhen kann. In der Regel verwenden wir hier die Anzahl der Sekunden seit 1970, die für den Platzhalter {SIO} (s. unten) eingetragen wird.&lt;br /&gt;
&lt;br /&gt;
== Änderungen ==&lt;br /&gt;
&lt;br /&gt;
Domainadmins können Änderungen beauftragen. Dafür ist ein vollständiges Zonefile im Konfigurationsverzeichnis &amp;lt;tt&amp;gt;etc&amp;lt;/tt&amp;gt; der Domain abzulegen.&lt;br /&gt;
&lt;br /&gt;
Am besten man beginnt mit der folgenden universellen Vorlage. Sie enthält Platzhalter, die bei der Übernahme der Konfiguration vom HS Robot automatisch durch die aktuellen Werte ersetzt werden:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$TTL {TTL}&lt;br /&gt;
{DOM_HOSTNAME}. IN SOA {HS_DNS1_HOSTNAME}. hostmaster.hostsharing.net. (&lt;br /&gt;
                {SIO} ; serial secs since Jan 1 1970 &lt;br /&gt;
                6H              ; refresh (&amp;gt;=10000)&lt;br /&gt;
                1H              ; retry (&amp;gt;=1800)&lt;br /&gt;
                1W              ; expire&lt;br /&gt;
                1H              ; minimum&lt;br /&gt;
                        )&lt;br /&gt;
; please read https://wiki.hostsharing.net/index.php?title=Domains:Verwalten_der_Zonendaten&lt;br /&gt;
                        IN      NS      {HS_DNS1_HOSTNAME}.&lt;br /&gt;
                        IN      NS      {HS_DNS2_HOSTNAME}.&lt;br /&gt;
                        IN      NS      {HS_DNS3_HOSTNAME}.&lt;br /&gt;
                        IN      MX  30  mail&lt;br /&gt;
                        IN      MX  80  {MX2_HOSTNAME}.&lt;br /&gt;
                        IN      A       {DOM_IPNUMBER}&lt;br /&gt;
www                     IN      A       {DOM_IPNUMBER}&lt;br /&gt;
ftp                     IN      A       {FTP_IPNUMBER}&lt;br /&gt;
pop3                    IN      A       {POP3_IPNUMBER}&lt;br /&gt;
imap                    IN      A       {IMAP_IPNUMBER}&lt;br /&gt;
mail                    IN      A       {SMTP_IPNUMBER}&lt;br /&gt;
mysql                   IN      A       {MYSQL_IPNUMBER}&lt;br /&gt;
pgsql                   IN      A       {PGSQL_IPNUMBER}&lt;br /&gt;
*.{DOM_HOSTNAME}.       IN      A       {DOM_IPNUMBER}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Man speichert diese Vorlage unter /home/doms/example.com/etc/pri.example.com und kann sie dann bearbeiten und eigene Einträge ergänzen.&lt;br /&gt;
&lt;br /&gt;
Beispiele:&lt;br /&gt;
 ; externe Server per &amp;quot;CNAME Record&amp;quot; eintragen&lt;br /&gt;
 wackelserver           IN     CNAME     server0815.massenhoster-domain.tld&lt;br /&gt;
 homeip                 IN     CNAME     mein-nick.dyn-ip-service.tld&lt;br /&gt;
&lt;br /&gt;
 ; www Domaindelegation (Freigabe zur Aufschaltung in separatem Dynamic-Web Paket)&lt;br /&gt;
 ; (Bestehender &amp;quot;A Record&amp;quot; der www Domain muss zudem entfernt werden.)&lt;br /&gt;
 www                       IN      NS      {HS_DNS1_HOSTNAME}.&lt;br /&gt;
 www                       IN      NS      {HS_DNS2_HOSTNAME}.&lt;br /&gt;
 www                       IN      NS      {HS_DNS3_HOSTNAME}.&lt;br /&gt;
&lt;br /&gt;
soll statt www eine subdomain deligiert werden muss dieser Eintrag am Ende der pri.example.com Datei stehen, also nach:&lt;br /&gt;
 *.{DOM_HOSTNAME}.       IN      A       {DOM_IPNUMBER}&lt;br /&gt;
&lt;br /&gt;
Danach legt man im Zielpaket die Subdomain an:&lt;br /&gt;
 hsadmin -c domain.add -s name=subdomain.example.tld -s user=xyz12&lt;br /&gt;
&lt;br /&gt;
Nach einer Änderung an einem selbstverwalteten Zonefile dauert es noch einige Minuten, bis die Änderungen von unserem DNS-Servern übernommen werden. Bis die DNS-Caches der Welt eine Änderung mitbekommen, kann es natürlich noch etwas länger dauern. (Mindestens entsprechend der Zeitangaben im oberen Teil des zuvor aktiven Zonefiles.)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Hinweis:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Wenn man ein eigenes Zonefile in /home/doms/example.org/etc löscht, bleibt in den HS Nameservern der letzte Stand erhalten! Falls man für eine Domain wieder ein Hostsharing-Standard-Zonefile haben möchte, muss man ein leeres (= 0 Bytes) Zonefile anlegen:&lt;br /&gt;
&lt;br /&gt;
 echo -n &amp;gt;  /home/doms/example.org/etc/pri.example.org&lt;br /&gt;
&lt;br /&gt;
Das -n ist wichtig, sonst ist die Datei nicht wirklich leer und es gibt Fehlermeldungen!&lt;br /&gt;
&lt;br /&gt;
== Logfile und Kontrolle==&lt;br /&gt;
&lt;br /&gt;
Die Logfiles des Nameservers sind im Verzeichnis /var/log/named einsehbar. Das aktuelle Log wird unter dem Namen named.log angelegt. Dieses wird beim Neustart des DNS-Servers immer neu angelegt und zeigt bei einer erfolgreichen Änderung etwa folgenden Inhalt:&lt;br /&gt;
&lt;br /&gt;
  Oct 11 18:32:21.400 info: zone example.org/IN: loaded serial 1065889567&lt;br /&gt;
  Oct 11 18:32:21.435 info: zone example.org/IN: sending notifies (serial 1065889567)&lt;br /&gt;
  Oct 11 18:32:21.755 info: client 213.133.116.2#57100: transfer of &#039;example.org/IN&#039;: &lt;br /&gt;
  AXFR-style IXFR started&lt;br /&gt;
  Oct 11 18:32:22.264 info: client 62.75.149.27#45282: transfer of &#039;example.org/IN&#039;: &lt;br /&gt;
  AXFR-style IXFR started&lt;br /&gt;
&lt;br /&gt;
Die Zeilen bedeuten jeweils:&lt;br /&gt;
&lt;br /&gt;
* Das geänderte Zonefile wurde vom DNS-Server erfolgreich geladen&lt;br /&gt;
* Der lokale Server sendet eine Benachrichtigung an die Secondaries, damit diese die Änderung ebenfalls übernehmen können.&lt;br /&gt;
* Die Secondaries 213.133.116.2 und 62.75.149.27 holen die geänderten Daten ab. (Pro Secondary jeweils ein Eintrag.)&lt;br /&gt;
&lt;br /&gt;
Tippfehler oder falsche Angaben im Zonefile werden hier ebenfalls gemeldet.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  -------- Original-Nachricht --------&lt;br /&gt;
  Betreff: [Global] DNS Zonenfile Änderungen&lt;br /&gt;
  Datum: Thu, 4 Mar 2010 08:30:34 +0100&lt;br /&gt;
  &lt;br /&gt;
  Moin Moin,&lt;br /&gt;
  &lt;br /&gt;
  aus gegebenem Anlass: Immer wieder kommt es vor, dass jemand sein&lt;br /&gt;
  Zonenfile ändert, und es (scheinbar) funktioniert. Tage oder Wochen&lt;br /&gt;
  später dann sind die Domains nicht mehr erreichbar und es heißt &amp;quot;in den&lt;br /&gt;
  letzten ... Tagen/Wochen habe ich aber gar nichts mehr geändert&amp;quot;. Das mag&lt;br /&gt;
  auch gut sein - ist mir auch selbst schon passiert, gerade wenn es um&lt;br /&gt;
  &amp;quot;mal eben schnell noch ... &amp;quot; ging.&lt;br /&gt;
  &lt;br /&gt;
  Nur ist der Fehler dann aber schon vor Tagen/Wochen passiert, und solange&lt;br /&gt;
  die Datensätze nicht abgelaufen (expired) sind, sind sie - die alten -&lt;br /&gt;
  noch im DNS System vorhanden. Die neuen aber, die aus der o.g. Änderung,&lt;br /&gt;
  sind bei einem Fehler im Zonenfile nie ins DNS System hinein gekommen!&lt;br /&gt;
  &lt;br /&gt;
  Was also tun? Zunächst kann man nach einer Änderung in einer&lt;br /&gt;
  Shell beobachten, ob es zu Fehlermeldungen kommt:&lt;br /&gt;
  &lt;br /&gt;
  tail -f /var/log/named/named.log &lt;br /&gt;
  &lt;br /&gt;
  oder ggf nur Zeilen, in denen die eigene Domain (z.B. example.com)&lt;br /&gt;
  vorkommt:&lt;br /&gt;
  &lt;br /&gt;
  tail -f /var/log/named/named.log | grep example.com&lt;br /&gt;
  &lt;br /&gt;
  Diese Log-Datei ist daher genau aus diese Grunde auch auf dem&lt;br /&gt;
  Server lesbar.&lt;br /&gt;
  &lt;br /&gt;
  Auch sollte die in den DNS-Servern befindliche Seriennummer mit der&lt;br /&gt;
  aktuellen in der Zonendatei verglichen werden:&lt;br /&gt;
  &lt;br /&gt;
  dig -t SOA @dns1 example.com | grep &#039;^example.com.*SOA&#039; | awk &#039;{ print $7 }&#039;&lt;br /&gt;
  &lt;br /&gt;
  grep serial /etc/bind/pri.example.com | awk &#039;{ print $1 }&#039;  &lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Platzhalter für eigene Zonenfiles ==&lt;br /&gt;
&lt;br /&gt;
Folgende Platzhalter können und sollten in eigenen Zonenfiles verwendet werden. Sie ermöglichen uns das Ändern von IP-Adressen und Hostnamen, ohne daß jeder Domainadmin seine Zonefiles anpassen muß. Insbesondere wird das Verschieben von Paketen zwischen physikalischen Hosts damit vereinfacht.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
; {PAC_IPNUMBER} : IP-Nummer des [[Hives]] in dem sich das [[Paket]] befindet&lt;br /&gt;
; {PAC_HOSTNAME} : Hostname ([[Hive]])&lt;br /&gt;
; {DOM_IPNUMBER} : IP-Nummer&lt;br /&gt;
; {DOM_HOSTNAME} : &lt;br /&gt;
 &lt;br /&gt;
; {MYSQL_IPNUMBER}&lt;br /&gt;
; {MYSQL_HOSTNAME}&lt;br /&gt;
; {PGSQL_IPNUMBER}&lt;br /&gt;
; {PGSQL_HOSTNAME}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
; {FTP_IPNUMBER}&lt;br /&gt;
; {FTP_HOSTNAME}&lt;br /&gt;
  &lt;br /&gt;
; {SMTP_IPNUMBER}&lt;br /&gt;
; {SMTP_HOSTNAME}&lt;br /&gt;
; {POP3_IPNUMBER}&lt;br /&gt;
; {POP3_HOSTNAME}&lt;br /&gt;
; {IMAP_IPNUMBER}&lt;br /&gt;
; {IMAP_HOSTNAME}&lt;br /&gt;
&lt;br /&gt;
; {PAC_DNS_MASTER}&lt;br /&gt;
; {HS_DNS1_IPNUMBER}&lt;br /&gt;
; {HS_DNS2_IPNUMBER}&lt;br /&gt;
; {HS_DNS3_IPNUMBER}&lt;br /&gt;
; {HS_DNS1_HOSTNAME}&lt;br /&gt;
; {HS_DNS2_HOSTNAME}&lt;br /&gt;
; {HS_DNS3_HOSTNAME}&lt;br /&gt;
&lt;br /&gt;
; {TTL}&lt;br /&gt;
; {SIO} : Timestamp (Millisekunden)&lt;br /&gt;
&lt;br /&gt;
; {MX1_IPNUMBER}&lt;br /&gt;
; {MX1_HOSTNAME}&lt;br /&gt;
; {MX2_IPNUMBER}&lt;br /&gt;
; {MX2_HOSTNAME}&lt;br /&gt;
&lt;br /&gt;
Die Hostnamen verstehen sich allesamt ohne den in Zonenfiles oft benötigten abschließenden Punkt. &lt;br /&gt;
&lt;br /&gt;
Es wird dringend empfohlen, in eigenen Zonenfiles diese Platzhalter zu verwenden. Nur so können Domains bei Änderungen von IP Nummern oder anderen Umstrukturierungen weiter erreichbar bleiben, ohne selbst auf solche Ankündigungen und Ereignisse achten zu müssen und Anpassungen selber vornehmen zu müssen.&lt;br /&gt;
&lt;br /&gt;
== Beispiele ==&lt;br /&gt;
&lt;br /&gt;
=== Domain Delegation ===&lt;br /&gt;
HowTo: erläutern.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[...]&lt;br /&gt;
pic.example.org. IN NS {HS_DNS1_HOSTNAME}.&lt;br /&gt;
pic.example.org. IN NS {HS_DNS2_HOSTNAME}.&lt;br /&gt;
pic.example.org. IN NS {HS_DNS3_HOSTNAME}.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
[[Kategorie:HSDoku]]&lt;br /&gt;
[[Kategorie:Domains]]&lt;/div&gt;</summary>
		<author><name>Peh00-phor</name></author>
	</entry>
	<entry>
		<id>https://wiki.hostsharing.net/index.php?title=User&amp;diff=2728</id>
		<title>User</title>
		<link rel="alternate" type="text/html" href="https://wiki.hostsharing.net/index.php?title=User&amp;diff=2728"/>
		<updated>2010-09-11T16:43:55Z</updated>

		<summary type="html">&lt;p&gt;Peh00-phor: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{HSDoku-Links}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Es gibt bei Hostsharing unterschiedliche Arten von Benutzern siehe Seite [[User-Arten]] . &lt;br /&gt;
Die Art eines Users bestimmt welche Rechte ihm auf dem System gewährt werden.&lt;br /&gt;
&lt;br /&gt;
== User bearbeiten mit [[WebFrontend]] ==&lt;br /&gt;
&lt;br /&gt;
User anlegen und bearbeiten ist grundsätzlich auch mit unserem [[WebFrontend]] möglich.&lt;br /&gt;
&lt;br /&gt;
== User bearbeiten mit [[hsadmin]] (CLI) ==&lt;br /&gt;
&lt;br /&gt;
Einen neuen User anlegen oder berabeiten, z.B: Mailaccounts oder Domain-Admins&lt;br /&gt;
&lt;br /&gt;
=== User anlegen ===&lt;br /&gt;
&lt;br /&gt;
Das Kommandozeilen-Programm ist dabei generisch für alle zu verwaltenden Module. Bezüglich der Benutzerverwaltung wird es wie folgt bedient (die meisten Befehle machen nur für die Paket-Administratoren Sinn):&lt;br /&gt;
&lt;br /&gt;
Zunächst hsadmin einmal aufrufen, damit das Passwort abgefragt wird und hsadmin temporär freigeschaltet wird.&lt;br /&gt;
 hsadmin -c user.search&lt;br /&gt;
&lt;br /&gt;
Dann den User anlegen. Im folgendem wird die Langform der Optionen (--set: statt -s) und ein temporäres Respose-File verwendet. Durch eingabe der Optionen in das Response-File landet das Passwort nicht in der Kommando-Zeile und damit in der Prozessliste - wo es alle einsehen könnten.&lt;br /&gt;
&lt;br /&gt;
 hsadmin - &amp;lt;&amp;lt;EOF&lt;br /&gt;
 --call:user.add&lt;br /&gt;
 --set:password=...&lt;br /&gt;
 --set:name=xyz00-test&lt;br /&gt;
 --set:shell=/bin/bash&lt;br /&gt;
 EOF&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Im Response-File muss exakt ein Parameter je Zeile angegeben werden. In der Kurzform also so:&lt;br /&gt;
&lt;br /&gt;
 -c&lt;br /&gt;
 user.add&lt;br /&gt;
 -s&lt;br /&gt;
 password=...&lt;br /&gt;
 -s&lt;br /&gt;
 name=xyz00-test&lt;br /&gt;
 -s&lt;br /&gt;
 shell=/bin/bash&lt;br /&gt;
&lt;br /&gt;
=== Die Datenfelder aller sichtbaren UNIX-User auflisten ===&lt;br /&gt;
&lt;br /&gt;
  hsadmin -c user.search&lt;br /&gt;
&lt;br /&gt;
==== Bedeutung der Datenfelder ====&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|- class=&amp;quot;hintergrundfarbe5&amp;quot;&lt;br /&gt;
!Feld !!Beschreibung&lt;br /&gt;
|-&lt;br /&gt;
|name:||Der Login-Name, der derzeit für POP3, FTP und SSH/Telnet verwendet werden kann. Dieser Name muss IMMER mit der Paket-ID + &#039;-&#039; anfangen, also z.B. xyz00-otto. Ein &amp;quot;-&amp;quot; im Namen ist nur direkt hinter dem Paket erlaubt. Als Trenner kann ein Punkt (.) verwendet werden. Der Name kann nachträglich nicht geändert werden.&lt;br /&gt;
|-&lt;br /&gt;
|id:||Relevant für die interne Verwaltung. Kann nicht geändert werden.&lt;br /&gt;
|-&lt;br /&gt;
|comment:||Hier kann man den realen Namen des Users eintragen, also z.B. &amp;quot;Otto Meier&amp;quot;. (Auf neu aufgeschalteten Domains erscheint dieses Feld bei &amp;quot;Diese neue Website wurde gerade bei der Hostsharing eG für ... eingerichtet&amp;quot;.)&lt;br /&gt;
|-&lt;br /&gt;
|password:||Leer, weil das Passwort nicht angezeigt wird.&lt;br /&gt;
|-&lt;br /&gt;
|pac:||Dieses Feld nennt den Paketnamen. Kann nicht geändert werden.&lt;br /&gt;
|-&lt;br /&gt;
|hivename:||Die ID des hives, auf dem sich Paket und User befinden. Kann nicht geändert werden.&lt;br /&gt;
|-&lt;br /&gt;
|userid:||Relevant für die interne Verwaltung. Kann nicht geändert werden.&lt;br /&gt;
|-&lt;br /&gt;
|shell:||Dieses Feld enthält den kompletten Pfad der Login-Shell. Es sind nur wenige Shells möglich, i.d.R. wird man hier /usr/bin/passwd (damit kann der Domainuser sein Passwort jederzeit per ssh oder telnet beliebig ändern) /bin/bash (für vollen ssh/telnet-Zugang) oder /bin/badsh (für FTP-only) setzen. Man kann auch z.B. bin/false angeben, dann kann der User selbst gar nichts machen (außer FTP usw. natürlich)&lt;br /&gt;
|-&lt;br /&gt;
|homedir:||Dies ist das Homedirectory des Users. Es wird immer automatisch gesetzt.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Die Datenfelder name, comment und shell mit &amp;quot;:&amp;quot; getrennt ausgeben:&lt;br /&gt;
&lt;br /&gt;
  hsadmin -c user.search -d &#039;${name}:${comment}:${shell}\n&#039;&lt;br /&gt;
&lt;br /&gt;
=== Die Shell eines UNIX-Users ändern ===&lt;br /&gt;
&lt;br /&gt;
  hsadmin -c user.update -s shell=/usr/bin/passwd xyz00-test&lt;br /&gt;
&lt;br /&gt;
=== Das Passwort eines UNIX-Users ändern ===&lt;br /&gt;
&lt;br /&gt;
  hsadmin - &amp;lt;&amp;lt;EOF &lt;br /&gt;
  --call:user.update&lt;br /&gt;
  --where:name=xyz00-user&lt;br /&gt;
  --set:password=geheim&lt;br /&gt;
  EOF&lt;br /&gt;
&lt;br /&gt;
=== Einen UNIX-User löschen === &lt;br /&gt;
&lt;br /&gt;
  hsadmin -c user.delete xyz00-test&lt;br /&gt;
&lt;br /&gt;
== Passwort ändern mit dem Programm passwd ==&lt;br /&gt;
&lt;br /&gt;
Da das Passwort eines Users nicht in der hsadmin-Datenbank gespeichert wird, sondern in der Konfiguration des [[Hive]], auf dem das zugehörige [[Paket]] liegt, kann es auch mit dem gängigen [[Shell]]-Befehl &#039;&#039;&#039;passwd&#039;&#039;&#039; geändert werden.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
xyz00@hopi:~$ passwd&lt;br /&gt;
&lt;br /&gt;
Changing password for mi&lt;br /&gt;
(current) UNIX password: ALTESPASSWORT&lt;br /&gt;
Enter new UNIX password: NEUESPASSWORT&lt;br /&gt;
Retype new UNIX password: NEUESPASSWORT&lt;br /&gt;
passwd: password updated successfully&lt;br /&gt;
&lt;br /&gt;
xyz00@hopi:~$ █&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Die Platzhalter NEUESPASSWORT und ALTESPASSWORT müssen dabei selbstverständlich gegen die entsprechenden Passworte ausgetauscht werden. Dabei sollte jedes Passwort mindestens 6 Zeichen lang sein, besser 8 Zeichen, und aus Buchstaben, Ziffern und ggf. Sonderzeichen bestehen. Allerdings sollte auf Umlaute verzichtet werden, da diese je nach verwendetem Zugangsweg nicht verwendet werden könnten.&lt;br /&gt;
&lt;br /&gt;
Ggf. kommt es zu Fehlermeldungen, z.B. wenn das neue Passwort zu simpel ist, oder bei der Wiederholung nicht identisch mit dem ersten Passwort ist. In dem Fall, den Vorgang einfach wiederholen. Solange das neue Passwort nicht erfolgreich übernommen wurde, bleibt das alte gültig.&lt;br /&gt;
&lt;br /&gt;
Es gibt User, denen der Paket-Admin nur das Recht eingeräumt hat, das eigene Passwort zu ändern, indem er ihnen die &amp;quot;Shell&amp;quot; /usr/bin/passwd zugewiesen hat. Diese User können durch einen Shell-Login nur ihr Passwort ändern, da das Programm passwd an Stelle einer Shell gestartet wird. Sie werden nach dem Einloggen automatisch auf diesen Dialog geführt.Mehr dazu unter [[User-Arten]].&lt;br /&gt;
&lt;br /&gt;
== Identiätswechsel ==&lt;br /&gt;
&lt;br /&gt;
Der Paketadmin kann mit&lt;br /&gt;
 sudo -u xyz00-user -i&lt;br /&gt;
die Rechte eines seiner Paketuser annehmen, ohne dessen Passwort kennen zu müssen. Für Paketuser, die als initiale shell nur /bin/passwd eingetragen haben ist&lt;br /&gt;
 sudo -u xyz00-user -s&lt;br /&gt;
zu verwenden, um in eine reguläre Shell zu kommen. Mit&lt;br /&gt;
 &amp;quot;su xyz00-user&amp;quot;&lt;br /&gt;
ist auch regulären Benutzern ein Identitätswechel (z.B. zum Paketadmin) möglich, wenn sie das aktuelle Passwort des Zielaccounts kennen.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
[[Kategorie:HSDoku]]&lt;br /&gt;
[[Kategorie:User]]&lt;br /&gt;
[[Kategorie:Hsadmin]]&lt;br /&gt;
[[Kategorie:Glossar]]&lt;/div&gt;</summary>
		<author><name>Peh00-phor</name></author>
	</entry>
	<entry>
		<id>https://wiki.hostsharing.net/index.php?title=Datenbanken&amp;diff=2640</id>
		<title>Datenbanken</title>
		<link rel="alternate" type="text/html" href="https://wiki.hostsharing.net/index.php?title=Datenbanken&amp;diff=2640"/>
		<updated>2010-05-04T18:52:12Z</updated>

		<summary type="html">&lt;p&gt;Peh00-phor: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{HSDoku-Links}}&lt;br /&gt;
Hostsharing betreibt Datenbanksever in [http://www.mysql.com - MySQL] und [http://www.postgresql.org PostgreSQL].&lt;br /&gt;
&lt;br /&gt;
== MySQL ==&lt;br /&gt;
&lt;br /&gt;
* Server: Es gibt einen eigenen MySQL-Server auf jedem Host.&lt;br /&gt;
* Nutzung bei Hostsharing: siehe separater Artikel [[MySQL]] und [[MySQL-Datenbank anlegen Schritt für Schritt]]&lt;br /&gt;
* Web-Frontend: [http://www.phpmyadmin.net phpMyAdmin] ist unter https://phpmyadmin.hostsharing.net/current/ erreichbar.&lt;br /&gt;
* Online-Dokumentation: Die Online-Doku zu MySQL gibt es unter http://dev.mysql.com/doc/. Auf dieser Site gibt es auch mehrere Fassungen der kompletten Doku zum Downloaden.&lt;br /&gt;
&lt;br /&gt;
== PostgreSQL ==&lt;br /&gt;
* Server: Es gibt einen eigenen PostgreSQL-Server auf jedem Host.&lt;br /&gt;
* Nutzung bei Hostsharing: siehe separater Artikel [[PostgreSQL]]&lt;br /&gt;
* Web-Frontend: [http://www.phppgadmin.net phpPgAdmin] ist unter https://phppgadmin.hostsharing.net/current erreichbar.&lt;br /&gt;
* Online-Dokumentation: Die Online-Doku gibt es unter http://www.postgresql.org/docs/manuals/. Eine Liste von Büchern (einige davon zum Download) unter http://www.postgresql.org/docs/books/.&lt;br /&gt;
&lt;br /&gt;
== Verwaltung von Datenbanken ==&lt;br /&gt;
&lt;br /&gt;
Datenbanken können mit [[hsadmin]] auf der Kommandozeile oder im Browser angelegt werden.&lt;br /&gt;
&lt;br /&gt;
In jedem Fall ist die Reihenfolge:&lt;br /&gt;
# einen Datenbankbenutzer als DB-Administrator anlegen&lt;br /&gt;
# die Datenbank anlegen&lt;br /&gt;
&lt;br /&gt;
Dabei kann nach Belieben ein Administrator für alle Datenbanken eines Pakets oder ein eigener Administrator-Account pro Datenbank angelegt werden.&lt;br /&gt;
&lt;br /&gt;
=== Datenbank-Administrator anlegen ===&lt;br /&gt;
&lt;br /&gt;
  hsadmin -c mysqluser.add --set:name=xyz00_dbuser --set:password=geheim&lt;br /&gt;
&lt;br /&gt;
bzw.&lt;br /&gt;
&lt;br /&gt;
  hsadmin -c postgresqluser.add --set:name=xyz00_dbuser --set:password=geheim&lt;br /&gt;
&lt;br /&gt;
=== Datenbank anlegen ===&lt;br /&gt;
&lt;br /&gt;
  hsadmin -c mysqldb.add --set:name=xyz00_mydatabase --set:owner=xyz00_dbuser [ --set:encoding=latin1 ]&lt;br /&gt;
&lt;br /&gt;
bzw.&lt;br /&gt;
&lt;br /&gt;
  hsadmin -c postgresqldb.add --set:name=xyz00_mydatabase --set:owner=xyz00_dbuser [ --set:encoding=LATIN1 ]&lt;br /&gt;
&lt;br /&gt;
Das Encoding kann weggelassen werden, der Default ist dann &amp;quot;UTF-8&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=== Datenbanken auflisten ===&lt;br /&gt;
&lt;br /&gt;
  hsadmin -c mysqldb.search&lt;br /&gt;
&lt;br /&gt;
bzw.&lt;br /&gt;
&lt;br /&gt;
  hsadmin -c postgresqldb.search&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
[[Kategorie:HSDoku]]&lt;br /&gt;
[[Kategorie:Datenbanken]]&lt;br /&gt;
[[Kategorie:Glossar]]&lt;/div&gt;</summary>
		<author><name>Peh00-phor</name></author>
	</entry>
	<entry>
		<id>https://wiki.hostsharing.net/index.php?title=Verwalten_der_Zonendaten&amp;diff=2309</id>
		<title>Verwalten der Zonendaten</title>
		<link rel="alternate" type="text/html" href="https://wiki.hostsharing.net/index.php?title=Verwalten_der_Zonendaten&amp;diff=2309"/>
		<updated>2010-03-04T10:54:10Z</updated>

		<summary type="html">&lt;p&gt;Peh00-phor: /* Logfile */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{HSDoku-Links}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Das Zonenfile für eine Domain enthält die Konfiguration des Domain Name Service (DNS), d.h. der Nameserver der Domain. Es wird hinterlegt, welche Hostnamen innerhalb der Domain existieren und auf welche IP-Adressen diese zeigen. Außerdem wird hierüber auch gesteuert, an welches System Mails für die Domain geliefert werden sollen.&lt;br /&gt;
&lt;br /&gt;
{{Textkasten|rot|Achtung|Aufgrund der zentralen Bedeutung sollten Änderungen nur mit Vorsicht vorgenommen werden, da eine fehlerhafte Einstellung dazu führen kann, dass die Webseite nicht mehr im Internet abgerufen werden kann oder Mails verloren gehen!}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== aktives Zonefile ==&lt;br /&gt;
&lt;br /&gt;
Die gerade aktive Konfiguration einer Domain example.com ist in /etc/bind/pri.example.com zu finden (Zonefile).&lt;br /&gt;
&lt;br /&gt;
Es sieht standardmäßig in etwa wie folgt aus:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
$TTL 4H&lt;br /&gt;
example.org. IN SOA dns1.hostsharing.net. hostmaster.hostsharing.net. (&lt;br /&gt;
		1242748945 ; serial secs since Jan 1 1970&lt;br /&gt;
		6H		; refresh (&amp;gt;=10000)&lt;br /&gt;
		1H		; retry (&amp;gt;=1800)&lt;br /&gt;
		1W		; expire&lt;br /&gt;
		1H		; minimum&lt;br /&gt;
		)&lt;br /&gt;
&lt;br /&gt;
		IN	NS	dns1.hostsharing.net.&lt;br /&gt;
		IN	NS	dns2.hostsharing.net.&lt;br /&gt;
		IN	NS	dns3.hostsharing.net.&lt;br /&gt;
&lt;br /&gt;
		IN	MX	30 xyz00.hostsharing.net.&lt;br /&gt;
		IN	MX	80 backupmx.hostsharing.net.&lt;br /&gt;
&lt;br /&gt;
		IN	A	83.223.95.30&lt;br /&gt;
&lt;br /&gt;
www		IN	A	83.223.95.30&lt;br /&gt;
ftp		IN	A	83.223.95.30&lt;br /&gt;
pop3		IN	A	83.223.95.30&lt;br /&gt;
mail		IN	A	83.223.95.30&lt;br /&gt;
mysql		IN	A	83.223.95.30&lt;br /&gt;
pgsql		IN	A	83.223.95.30&lt;br /&gt;
*.example.org.   IN	A	83.223.95.30&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Der erste Block SOA definiert die &amp;quot;Start Of Authority&amp;quot; Ressource. Der wichtigste Eintrag hier ist die Seriennummer. Diese wird von den DNS-Servern benutzt, um eine Änderung zu erkennen. Deshalb muss diese Nummer bei jeder Anpassung erhöht werden, sonst wird die Änderung nicht vollständig im Internet verbreitet. Der konkrete Wert ist nicht wichtig, so dass man durchaus auch einfach die dort stehende Zahl um eins erhöhen kann. In der Regel verwenden wir hier die Anzahl der Sekunden seit 1970, die für den Platzhalter {SIO} eigetragen wird.&lt;br /&gt;
&lt;br /&gt;
== Änderungen ==&lt;br /&gt;
&lt;br /&gt;
Domainadmins können Änderungen beauftragen. Dafür ist ein vollständiges Zonefile im Konfigurationsverzeichnis etc der Domain abzulegen.&lt;br /&gt;
&lt;br /&gt;
Am besten man beginnt mit der folgenden unversellen Vorlage. Sie enthält Platzhalter, die bei der Übernahme der Konfiguration vom HS Robot automatsch mit den aktuellen werten ersetzt werden:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$TTL {TTL}&lt;br /&gt;
{DOM_HOSTNAME}. IN SOA {HS_DNS1_HOSTNAME}. hostmaster.hostsharing.net. (&lt;br /&gt;
                {SIO} ; serial secs since Jan 1 1970 &lt;br /&gt;
                6H              ; refresh (&amp;gt;=10000)&lt;br /&gt;
                1H              ; retry (&amp;gt;=1800)&lt;br /&gt;
                1W              ; expire&lt;br /&gt;
                1H              ; minimum&lt;br /&gt;
                        )&lt;br /&gt;
; please read https://wiki.hostsharing.net/index.php?title=Domains:Verwalten_der_Zonendaten&lt;br /&gt;
                        IN      NS      {HS_DNS1_HOSTNAME}.&lt;br /&gt;
                        IN      NS      {HS_DNS2_HOSTNAME}.&lt;br /&gt;
                        IN      NS      {HS_DNS3_HOSTNAME}.&lt;br /&gt;
                        IN      MX  30  mail&lt;br /&gt;
                        IN      MX  80  {MX2_HOSTNAME}.&lt;br /&gt;
                        TXT &amp;quot;v=spf1 +a +mx ~all&amp;quot;&lt;br /&gt;
; see http://spf.pobox.com/ for details on spf record&lt;br /&gt;
                        IN      A       {DOM_IPNUMBER}&lt;br /&gt;
www                     IN      A       {DOM_IPNUMBER}&lt;br /&gt;
ftp                     IN      A       {FTP_IPNUMBER}&lt;br /&gt;
pop3                    IN      A       {POP3_IPNUMBER}&lt;br /&gt;
imap                    IN      A       {IMAP_IPNUMBER}&lt;br /&gt;
mail                    IN      A       {SMTP_IPNUMBER}&lt;br /&gt;
mysql                   IN      A       {MYSQL_IPNUMBER}&lt;br /&gt;
pgsql                   IN      A       {PGSQL_IPNUMBER}&lt;br /&gt;
*.{DOM_HOSTNAME}.       IN      A       {DOM_IPNUMBER}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Man speichert diese Vorlage unter /home/doms/example.com/etc/pri.example.com und kann sie dann bearbeiten und eigene Einträge ergänzen.&lt;br /&gt;
&lt;br /&gt;
Beispiele:&lt;br /&gt;
 ; externe Server per &amp;quot;CNAME Record&amp;quot; eintragen&lt;br /&gt;
 wackelserver           IN     CNAME     server0815.massenhoster-domain.tld&lt;br /&gt;
 homeip                 IN     CNAME     mein-nick.dyn-ip-service.tld&lt;br /&gt;
&lt;br /&gt;
 ; www Domaindelegation (Freigabe zur Aufschaltung in separatem Dynamic-Web Paket)&lt;br /&gt;
 ; (Bestehender &amp;quot;A Record&amp;quot; der www Domain muss zudem entfernt werden.)&lt;br /&gt;
 www                       IN      NS      {HS_DNS1_HOSTNAME}.&lt;br /&gt;
 www                       IN      NS      {HS_DNS2_HOSTNAME}.&lt;br /&gt;
 www                       IN      NS      {HS_DNS3_HOSTNAME}.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Nach einer Änderung an einem selbstverwalteten Zonefile muss zur Übernahmer der Konfiguration eine Datei /home/doms/example.com/etc/zonefile.upd angelegt, bzw. deren Zeitstempel aktualisiert werden. &lt;br /&gt;
&lt;br /&gt;
 touch /home/doms/example.com/etc/zonefile.upd&lt;br /&gt;
&lt;br /&gt;
Dann dauert es noch einige Minuten, bis die Änderungen von unserem DNS-Servern übernommen werden. Bis die DNS-Caches der Welt eine Änderung mitbekommen, kann es natürlich noch etwas länger dauern. (Mindestens entsprechend der Zeitangaben im oberen Teil des zuvor aktiven Zonefiles.)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Hinweis:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Wenn man ein eigenes Zonefile in /home/doms/example.org/etc löscht, bleibt in den HS Nameservern der letzte Stand erhalten! Falls man für eine Domain wieder ein Hostsharing-Standard-Zonefile haben möchte, muss man ein leeres (= 0 Bytes) Zonefile anlegen:&lt;br /&gt;
&lt;br /&gt;
 echo -n &amp;gt;  /home/doms/example.org/etc/pri.example.org&lt;br /&gt;
&lt;br /&gt;
Das -n ist wichtig, sonst ist die Datei nicht wirklich leer und es gibt Fehlermeldungen!&lt;br /&gt;
&lt;br /&gt;
== Logfile ==&lt;br /&gt;
&lt;br /&gt;
Die Logfiles des Nameservers sind im Verzeichnis /var/log/named einsehbar. Das aktuelle Log wird unter dem Namen named.log angelegt. Dieses wird beim Neustart des DNS-Servers immer neu angelegt und zeigt bei einer erfolgreichen Änderung etwa folgenden Inhalt:&lt;br /&gt;
&lt;br /&gt;
  Oct 11 18:32:21.400 info: zone example.org/IN: loaded serial 1065889567&lt;br /&gt;
  Oct 11 18:32:21.435 info: zone example.org/IN: sending notifies (serial 1065889567)&lt;br /&gt;
  Oct 11 18:32:21.755 info: client 213.133.116.2#57100: transfer of &#039;example.org/IN&#039;: AXFR-style IXFR started&lt;br /&gt;
  Oct 11 18:32:22.264 info: client 62.75.149.27#45282: transfer of &#039;example.org/IN&#039;: AXFR-style IXFR started&lt;br /&gt;
&lt;br /&gt;
Die Zeilen bedeuten jeweils:&lt;br /&gt;
&lt;br /&gt;
* Das geänderte Zonefile wurde vom DNS-Server erfolgreich geladen&lt;br /&gt;
* Der lokale Server sendet eine Benachrichtigung an die Secondaries, damit diese die Änderung ebenfalls übernehmen können.&lt;br /&gt;
* Die Secondaries 213.133.116.2 und 62.75.149.27 holen die geänderten Daten ab. (Pro Secondary jeweils ein Eintrag.)&lt;br /&gt;
&lt;br /&gt;
Tippfehler oder falsche Angaben im Zonefile werden hier ebenfalls gemeldet.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  -------- Original-Nachricht --------&lt;br /&gt;
  Betreff: [Global] DNS Zonenfile Änderungen&lt;br /&gt;
  Datum: Thu, 4 Mar 2010 08:30:34 +0100&lt;br /&gt;
  &lt;br /&gt;
  Moin Moin,&lt;br /&gt;
  &lt;br /&gt;
  aus gegebenem Anlass: Immer wieder kommt es vor, dass jemand sein&lt;br /&gt;
  Zonenfile ändert, und es (scheinbar) funktioniert. Tage oder Wochen&lt;br /&gt;
  später dann sind die Domains nicht mehr erreichbar und es heißt &amp;quot;in den&lt;br /&gt;
  letzten ... Tagen/Wochen habe ich aber gar nichts mehr geändert&amp;quot;. Das mag&lt;br /&gt;
  auch gut sein - ist mir auch selbst schon passiert, gerade wenn es um&lt;br /&gt;
  &amp;quot;mal eben schnell noch ... &amp;quot; ging.&lt;br /&gt;
  &lt;br /&gt;
  Nur ist der Fehler dann aber schon vor Tagen/Wochen passiert, und solange&lt;br /&gt;
  die Datensätze nicht abgelaufen (expired) sind, sind sie - die alten -&lt;br /&gt;
  noch im DNS System vorhanden. Die neuen aber, die aus der o.g. Änderung,&lt;br /&gt;
  sind bei einem Fehler im Zonenfile nie ins DNS System hinein gekommen!&lt;br /&gt;
  &lt;br /&gt;
  Was also tun? Zunächst kann man nach einer Änderung in einer&lt;br /&gt;
  Shell beobachten, ob es zu Fehlermeldungen kommt:&lt;br /&gt;
  &lt;br /&gt;
  tail -f /var/log/named/named.log &lt;br /&gt;
  &lt;br /&gt;
  oder ggf nur Zeilen, in denen die eigene Domain (z.B. example.com)&lt;br /&gt;
  vorkommt:&lt;br /&gt;
  &lt;br /&gt;
  tail -f /var/log/named/named.log | grep example.com&lt;br /&gt;
  &lt;br /&gt;
  Diese Log-Datei ist daher genau aus diese Grunde auch auf dem&lt;br /&gt;
  Server lesbar.&lt;br /&gt;
  &lt;br /&gt;
  Auch sollte die in den DNS-Servern befindliche Seriennummer mit der&lt;br /&gt;
  aktuellen in der Zonendatei verglichen werden:&lt;br /&gt;
  &lt;br /&gt;
  dig -t SOA @dns1 hoennig.de | grep &#039;^example.com.*SOA&#039; | &lt;br /&gt;
  	awk &#039;{ print $7 }&#039;&lt;br /&gt;
  &lt;br /&gt;
  grep serial /etc/bind/pri.example.com | awk &#039;{ print $1 }&#039;  &lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Platzhalter für eigene Zonenfiles ==&lt;br /&gt;
&lt;br /&gt;
Folgende Platzhalter können und sollten in eigenen Zonenfiles verwendet werden. Sie ermöglichen uns das Ändern von IP Adressen und Hostnamen, ohne das jeder Domainadmin seine Zonefiles anpassen muß. Insbesondere wird das Verschieben von Paketen zwischen physikalischen Hosts damit vereinfacht.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
; {PAC_IPNUMBER} : IP NUmmer des [[Hives]] in dem sich das [[Paket]] befindet&lt;br /&gt;
; {PAC_HOSTNAME} : Hostname ([[Hive]])&lt;br /&gt;
; {DOM_IPNUMBER} : IP-Nummer&lt;br /&gt;
; {DOM_HOSTNAME} : &lt;br /&gt;
 &lt;br /&gt;
; {MYSQL_IPNUMBER}&lt;br /&gt;
; {MYSQL_HOSTNAME}&lt;br /&gt;
; {PGSQL_IPNUMBER}&lt;br /&gt;
; {PGSQL_HOSTNAME}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
; {FTP_IPNUMBER}&lt;br /&gt;
; {FTP_HOSTNAME}&lt;br /&gt;
  &lt;br /&gt;
; {SMTP_IPNUMBER}&lt;br /&gt;
; {SMTP_HOSTNAME}&lt;br /&gt;
; {POP3_IPNUMBER}&lt;br /&gt;
; {POP3_HOSTNAME}&lt;br /&gt;
; {IMAP_IPNUMBER}&lt;br /&gt;
; {IMAP_HOSTNAME}&lt;br /&gt;
&lt;br /&gt;
; {PAC_DNS_MASTER}&lt;br /&gt;
; {HS_DNS1_IPNUMBER}&lt;br /&gt;
; {HS_DNS2_IPNUMBER}&lt;br /&gt;
; {HS_DNS3_IPNUMBER}&lt;br /&gt;
; {HS_DNS1_HOSTNAME}&lt;br /&gt;
; {HS_DNS2_HOSTNAME}&lt;br /&gt;
; {HS_DNS3_HOSTNAME}&lt;br /&gt;
&lt;br /&gt;
; {TTL}&lt;br /&gt;
; {SIO} : Timestamp (Millisekunden)&lt;br /&gt;
&lt;br /&gt;
; {MX1_IPNUMBER}&lt;br /&gt;
; {MX1_HOSTNAME}&lt;br /&gt;
; {MX2_IPNUMBER}&lt;br /&gt;
; {MX2_HOSTNAME}&lt;br /&gt;
&lt;br /&gt;
Die Hostnamen verstehen sich allesamt ohne den in Zonenfiles oft benötigten abschließenden Punkt. &lt;br /&gt;
&lt;br /&gt;
Es wird dringend empfohlen, in eigenen Zonenfiles diese Platzhalter zu verwenden. Nur so können Domains bei Änderungen von IP Nummern oder anderen Umstrukturierungen weiter erreichbar bleiben, ohne selbst auf solche Ankündigungen und Ereignisse achten zu müssen und Anpassungen selber vornehmen zu müssen.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
[[Kategorie:HSDoku]]&lt;br /&gt;
[[Kategorie:Domains]]&lt;/div&gt;</summary>
		<author><name>Peh00-phor</name></author>
	</entry>
	<entry>
		<id>https://wiki.hostsharing.net/index.php?title=Verwalten_der_Zonendaten&amp;diff=2308</id>
		<title>Verwalten der Zonendaten</title>
		<link rel="alternate" type="text/html" href="https://wiki.hostsharing.net/index.php?title=Verwalten_der_Zonendaten&amp;diff=2308"/>
		<updated>2010-03-04T10:53:14Z</updated>

		<summary type="html">&lt;p&gt;Peh00-phor: /* Logfile */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{HSDoku-Links}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Das Zonenfile für eine Domain enthält die Konfiguration des Domain Name Service (DNS), d.h. der Nameserver der Domain. Es wird hinterlegt, welche Hostnamen innerhalb der Domain existieren und auf welche IP-Adressen diese zeigen. Außerdem wird hierüber auch gesteuert, an welches System Mails für die Domain geliefert werden sollen.&lt;br /&gt;
&lt;br /&gt;
{{Textkasten|rot|Achtung|Aufgrund der zentralen Bedeutung sollten Änderungen nur mit Vorsicht vorgenommen werden, da eine fehlerhafte Einstellung dazu führen kann, dass die Webseite nicht mehr im Internet abgerufen werden kann oder Mails verloren gehen!}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== aktives Zonefile ==&lt;br /&gt;
&lt;br /&gt;
Die gerade aktive Konfiguration einer Domain example.com ist in /etc/bind/pri.example.com zu finden (Zonefile).&lt;br /&gt;
&lt;br /&gt;
Es sieht standardmäßig in etwa wie folgt aus:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
$TTL 4H&lt;br /&gt;
example.org. IN SOA dns1.hostsharing.net. hostmaster.hostsharing.net. (&lt;br /&gt;
		1242748945 ; serial secs since Jan 1 1970&lt;br /&gt;
		6H		; refresh (&amp;gt;=10000)&lt;br /&gt;
		1H		; retry (&amp;gt;=1800)&lt;br /&gt;
		1W		; expire&lt;br /&gt;
		1H		; minimum&lt;br /&gt;
		)&lt;br /&gt;
&lt;br /&gt;
		IN	NS	dns1.hostsharing.net.&lt;br /&gt;
		IN	NS	dns2.hostsharing.net.&lt;br /&gt;
		IN	NS	dns3.hostsharing.net.&lt;br /&gt;
&lt;br /&gt;
		IN	MX	30 xyz00.hostsharing.net.&lt;br /&gt;
		IN	MX	80 backupmx.hostsharing.net.&lt;br /&gt;
&lt;br /&gt;
		IN	A	83.223.95.30&lt;br /&gt;
&lt;br /&gt;
www		IN	A	83.223.95.30&lt;br /&gt;
ftp		IN	A	83.223.95.30&lt;br /&gt;
pop3		IN	A	83.223.95.30&lt;br /&gt;
mail		IN	A	83.223.95.30&lt;br /&gt;
mysql		IN	A	83.223.95.30&lt;br /&gt;
pgsql		IN	A	83.223.95.30&lt;br /&gt;
*.example.org.   IN	A	83.223.95.30&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Der erste Block SOA definiert die &amp;quot;Start Of Authority&amp;quot; Ressource. Der wichtigste Eintrag hier ist die Seriennummer. Diese wird von den DNS-Servern benutzt, um eine Änderung zu erkennen. Deshalb muss diese Nummer bei jeder Anpassung erhöht werden, sonst wird die Änderung nicht vollständig im Internet verbreitet. Der konkrete Wert ist nicht wichtig, so dass man durchaus auch einfach die dort stehende Zahl um eins erhöhen kann. In der Regel verwenden wir hier die Anzahl der Sekunden seit 1970, die für den Platzhalter {SIO} eigetragen wird.&lt;br /&gt;
&lt;br /&gt;
== Änderungen ==&lt;br /&gt;
&lt;br /&gt;
Domainadmins können Änderungen beauftragen. Dafür ist ein vollständiges Zonefile im Konfigurationsverzeichnis etc der Domain abzulegen.&lt;br /&gt;
&lt;br /&gt;
Am besten man beginnt mit der folgenden unversellen Vorlage. Sie enthält Platzhalter, die bei der Übernahme der Konfiguration vom HS Robot automatsch mit den aktuellen werten ersetzt werden:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$TTL {TTL}&lt;br /&gt;
{DOM_HOSTNAME}. IN SOA {HS_DNS1_HOSTNAME}. hostmaster.hostsharing.net. (&lt;br /&gt;
                {SIO} ; serial secs since Jan 1 1970 &lt;br /&gt;
                6H              ; refresh (&amp;gt;=10000)&lt;br /&gt;
                1H              ; retry (&amp;gt;=1800)&lt;br /&gt;
                1W              ; expire&lt;br /&gt;
                1H              ; minimum&lt;br /&gt;
                        )&lt;br /&gt;
; please read https://wiki.hostsharing.net/index.php?title=Domains:Verwalten_der_Zonendaten&lt;br /&gt;
                        IN      NS      {HS_DNS1_HOSTNAME}.&lt;br /&gt;
                        IN      NS      {HS_DNS2_HOSTNAME}.&lt;br /&gt;
                        IN      NS      {HS_DNS3_HOSTNAME}.&lt;br /&gt;
                        IN      MX  30  mail&lt;br /&gt;
                        IN      MX  80  {MX2_HOSTNAME}.&lt;br /&gt;
                        TXT &amp;quot;v=spf1 +a +mx ~all&amp;quot;&lt;br /&gt;
; see http://spf.pobox.com/ for details on spf record&lt;br /&gt;
                        IN      A       {DOM_IPNUMBER}&lt;br /&gt;
www                     IN      A       {DOM_IPNUMBER}&lt;br /&gt;
ftp                     IN      A       {FTP_IPNUMBER}&lt;br /&gt;
pop3                    IN      A       {POP3_IPNUMBER}&lt;br /&gt;
imap                    IN      A       {IMAP_IPNUMBER}&lt;br /&gt;
mail                    IN      A       {SMTP_IPNUMBER}&lt;br /&gt;
mysql                   IN      A       {MYSQL_IPNUMBER}&lt;br /&gt;
pgsql                   IN      A       {PGSQL_IPNUMBER}&lt;br /&gt;
*.{DOM_HOSTNAME}.       IN      A       {DOM_IPNUMBER}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Man speichert diese Vorlage unter /home/doms/example.com/etc/pri.example.com und kann sie dann bearbeiten und eigene Einträge ergänzen.&lt;br /&gt;
&lt;br /&gt;
Beispiele:&lt;br /&gt;
 ; externe Server per &amp;quot;CNAME Record&amp;quot; eintragen&lt;br /&gt;
 wackelserver           IN     CNAME     server0815.massenhoster-domain.tld&lt;br /&gt;
 homeip                 IN     CNAME     mein-nick.dyn-ip-service.tld&lt;br /&gt;
&lt;br /&gt;
 ; www Domaindelegation (Freigabe zur Aufschaltung in separatem Dynamic-Web Paket)&lt;br /&gt;
 ; (Bestehender &amp;quot;A Record&amp;quot; der www Domain muss zudem entfernt werden.)&lt;br /&gt;
 www                       IN      NS      {HS_DNS1_HOSTNAME}.&lt;br /&gt;
 www                       IN      NS      {HS_DNS2_HOSTNAME}.&lt;br /&gt;
 www                       IN      NS      {HS_DNS3_HOSTNAME}.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Nach einer Änderung an einem selbstverwalteten Zonefile muss zur Übernahmer der Konfiguration eine Datei /home/doms/example.com/etc/zonefile.upd angelegt, bzw. deren Zeitstempel aktualisiert werden. &lt;br /&gt;
&lt;br /&gt;
 touch /home/doms/example.com/etc/zonefile.upd&lt;br /&gt;
&lt;br /&gt;
Dann dauert es noch einige Minuten, bis die Änderungen von unserem DNS-Servern übernommen werden. Bis die DNS-Caches der Welt eine Änderung mitbekommen, kann es natürlich noch etwas länger dauern. (Mindestens entsprechend der Zeitangaben im oberen Teil des zuvor aktiven Zonefiles.)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Hinweis:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Wenn man ein eigenes Zonefile in /home/doms/example.org/etc löscht, bleibt in den HS Nameservern der letzte Stand erhalten! Falls man für eine Domain wieder ein Hostsharing-Standard-Zonefile haben möchte, muss man ein leeres (= 0 Bytes) Zonefile anlegen:&lt;br /&gt;
&lt;br /&gt;
 echo -n &amp;gt;  /home/doms/example.org/etc/pri.example.org&lt;br /&gt;
&lt;br /&gt;
Das -n ist wichtig, sonst ist die Datei nicht wirklich leer und es gibt Fehlermeldungen!&lt;br /&gt;
&lt;br /&gt;
== Logfile ==&lt;br /&gt;
&lt;br /&gt;
Die Logfiles des Nameservers sind im Verzeichnis /var/log/named einsehbar. Das aktuelle Log wird unter dem Namen named.log angelegt. Dieses wird beim Neustart des DNS-Servers immer neu angelegt und zeigt bei einer erfolgreichen Änderung etwa folgenden Inhalt:&lt;br /&gt;
&lt;br /&gt;
  Oct 11 18:32:21.400 info: zone example.org/IN: loaded serial 1065889567&lt;br /&gt;
  Oct 11 18:32:21.435 info: zone example.org/IN: sending notifies (serial 1065889567)&lt;br /&gt;
  Oct 11 18:32:21.755 info: client 213.133.116.2#57100: transfer of &#039;example.org/IN&#039;: AXFR-style IXFR started&lt;br /&gt;
  Oct 11 18:32:22.264 info: client 62.75.149.27#45282: transfer of &#039;example.org/IN&#039;: AXFR-style IXFR started&lt;br /&gt;
&lt;br /&gt;
Die Zeilen bedeuten jeweils:&lt;br /&gt;
&lt;br /&gt;
* Das geänderte Zonefile wurde vom DNS-Server erfolgreich geladen&lt;br /&gt;
* Der lokale Server sendet eine Benachrichtigung an die Secondaries, damit diese die Änderung ebenfalls übernehmen können.&lt;br /&gt;
* Die Secondaries 213.133.116.2 und 62.75.149.27 holen die geänderten Daten ab. (Pro Secondary jeweils ein Eintrag.)&lt;br /&gt;
&lt;br /&gt;
Tippfehler oder falsche Angaben im Zonefile werden hier ebenfalls gemeldet.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  -------- Original-Nachricht --------&lt;br /&gt;
  Betreff: [Global] DNS Zonenfile Änderungen&lt;br /&gt;
  Datum: Thu, 4 Mar 2010 08:30:34 +0100&lt;br /&gt;
&lt;br /&gt;
  Moin Moin,&lt;br /&gt;
&lt;br /&gt;
  aus gegebenem Anlass: Immer wieder kommt es vor, dass jemand sein&lt;br /&gt;
  Zonenfile ändert, und es (scheinbar) funktioniert. Tage oder Wochen&lt;br /&gt;
  später dann sind die Domains nicht mehr erreichbar und es heißt &amp;quot;in den&lt;br /&gt;
  letzten ... Tagen/Wochen habe ich aber gar nichts mehr geändert&amp;quot;. Das mag&lt;br /&gt;
  auch gut sein - ist mir auch selbst schon passiert, gerade wenn es um&lt;br /&gt;
  &amp;quot;mal eben schnell noch ... &amp;quot; ging.&lt;br /&gt;
&lt;br /&gt;
  Nur ist der Fehler dann aber schon vor Tagen/Wochen passiert, und solange&lt;br /&gt;
  die Datensätze nicht abgelaufen (expired) sind, sind sie - die alten -&lt;br /&gt;
  noch im DNS System vorhanden. Die neuen aber, die aus der o.g. Änderung,&lt;br /&gt;
  sind bei einem Fehler im Zonenfile nie ins DNS System hinein gekommen!&lt;br /&gt;
  &lt;br /&gt;
  Was also tun? Zunächst kann man nach einer Änderung in einer&lt;br /&gt;
  Shell beobachten, ob es zu Fehlermeldungen kommt:&lt;br /&gt;
&lt;br /&gt;
  tail -f /var/log/named/named.log &lt;br /&gt;
&lt;br /&gt;
  oder ggf nur Zeilen, in denen die eigene Domain (z.B. example.com)&lt;br /&gt;
  vorkommt:&lt;br /&gt;
&lt;br /&gt;
  tail -f /var/log/named/named.log | grep example.com&lt;br /&gt;
&lt;br /&gt;
  Diese Log-Datei ist daher genau aus diese Grunde auch auf dem&lt;br /&gt;
  Server lesbar.&lt;br /&gt;
&lt;br /&gt;
  Auch sollte die in den DNS-Servern befindliche Seriennummer mit der&lt;br /&gt;
  aktuellen in der Zonendatei verglichen werden:&lt;br /&gt;
&lt;br /&gt;
  dig -t SOA @dns1 hoennig.de | grep &#039;^example.com.*SOA&#039; | &lt;br /&gt;
	awk &#039;{ print $7 }&#039;&lt;br /&gt;
&lt;br /&gt;
  grep serial /etc/bind/pri.example.com | awk &#039;{ print $1 }&#039;  &lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Platzhalter für eigene Zonenfiles ==&lt;br /&gt;
&lt;br /&gt;
Folgende Platzhalter können und sollten in eigenen Zonenfiles verwendet werden. Sie ermöglichen uns das Ändern von IP Adressen und Hostnamen, ohne das jeder Domainadmin seine Zonefiles anpassen muß. Insbesondere wird das Verschieben von Paketen zwischen physikalischen Hosts damit vereinfacht.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
; {PAC_IPNUMBER} : IP NUmmer des [[Hives]] in dem sich das [[Paket]] befindet&lt;br /&gt;
; {PAC_HOSTNAME} : Hostname ([[Hive]])&lt;br /&gt;
; {DOM_IPNUMBER} : IP-Nummer&lt;br /&gt;
; {DOM_HOSTNAME} : &lt;br /&gt;
 &lt;br /&gt;
; {MYSQL_IPNUMBER}&lt;br /&gt;
; {MYSQL_HOSTNAME}&lt;br /&gt;
; {PGSQL_IPNUMBER}&lt;br /&gt;
; {PGSQL_HOSTNAME}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
; {FTP_IPNUMBER}&lt;br /&gt;
; {FTP_HOSTNAME}&lt;br /&gt;
  &lt;br /&gt;
; {SMTP_IPNUMBER}&lt;br /&gt;
; {SMTP_HOSTNAME}&lt;br /&gt;
; {POP3_IPNUMBER}&lt;br /&gt;
; {POP3_HOSTNAME}&lt;br /&gt;
; {IMAP_IPNUMBER}&lt;br /&gt;
; {IMAP_HOSTNAME}&lt;br /&gt;
&lt;br /&gt;
; {PAC_DNS_MASTER}&lt;br /&gt;
; {HS_DNS1_IPNUMBER}&lt;br /&gt;
; {HS_DNS2_IPNUMBER}&lt;br /&gt;
; {HS_DNS3_IPNUMBER}&lt;br /&gt;
; {HS_DNS1_HOSTNAME}&lt;br /&gt;
; {HS_DNS2_HOSTNAME}&lt;br /&gt;
; {HS_DNS3_HOSTNAME}&lt;br /&gt;
&lt;br /&gt;
; {TTL}&lt;br /&gt;
; {SIO} : Timestamp (Millisekunden)&lt;br /&gt;
&lt;br /&gt;
; {MX1_IPNUMBER}&lt;br /&gt;
; {MX1_HOSTNAME}&lt;br /&gt;
; {MX2_IPNUMBER}&lt;br /&gt;
; {MX2_HOSTNAME}&lt;br /&gt;
&lt;br /&gt;
Die Hostnamen verstehen sich allesamt ohne den in Zonenfiles oft benötigten abschließenden Punkt. &lt;br /&gt;
&lt;br /&gt;
Es wird dringend empfohlen, in eigenen Zonenfiles diese Platzhalter zu verwenden. Nur so können Domains bei Änderungen von IP Nummern oder anderen Umstrukturierungen weiter erreichbar bleiben, ohne selbst auf solche Ankündigungen und Ereignisse achten zu müssen und Anpassungen selber vornehmen zu müssen.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
[[Kategorie:HSDoku]]&lt;br /&gt;
[[Kategorie:Domains]]&lt;/div&gt;</summary>
		<author><name>Peh00-phor</name></author>
	</entry>
	<entry>
		<id>https://wiki.hostsharing.net/index.php?title=Verwalten_der_Zonendaten&amp;diff=2307</id>
		<title>Verwalten der Zonendaten</title>
		<link rel="alternate" type="text/html" href="https://wiki.hostsharing.net/index.php?title=Verwalten_der_Zonendaten&amp;diff=2307"/>
		<updated>2010-03-04T10:48:05Z</updated>

		<summary type="html">&lt;p&gt;Peh00-phor: /* Logfile */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{HSDoku-Links}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Das Zonenfile für eine Domain enthält die Konfiguration des Domain Name Service (DNS), d.h. der Nameserver der Domain. Es wird hinterlegt, welche Hostnamen innerhalb der Domain existieren und auf welche IP-Adressen diese zeigen. Außerdem wird hierüber auch gesteuert, an welches System Mails für die Domain geliefert werden sollen.&lt;br /&gt;
&lt;br /&gt;
{{Textkasten|rot|Achtung|Aufgrund der zentralen Bedeutung sollten Änderungen nur mit Vorsicht vorgenommen werden, da eine fehlerhafte Einstellung dazu führen kann, dass die Webseite nicht mehr im Internet abgerufen werden kann oder Mails verloren gehen!}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== aktives Zonefile ==&lt;br /&gt;
&lt;br /&gt;
Die gerade aktive Konfiguration einer Domain example.com ist in /etc/bind/pri.example.com zu finden (Zonefile).&lt;br /&gt;
&lt;br /&gt;
Es sieht standardmäßig in etwa wie folgt aus:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
$TTL 4H&lt;br /&gt;
example.org. IN SOA dns1.hostsharing.net. hostmaster.hostsharing.net. (&lt;br /&gt;
		1242748945 ; serial secs since Jan 1 1970&lt;br /&gt;
		6H		; refresh (&amp;gt;=10000)&lt;br /&gt;
		1H		; retry (&amp;gt;=1800)&lt;br /&gt;
		1W		; expire&lt;br /&gt;
		1H		; minimum&lt;br /&gt;
		)&lt;br /&gt;
&lt;br /&gt;
		IN	NS	dns1.hostsharing.net.&lt;br /&gt;
		IN	NS	dns2.hostsharing.net.&lt;br /&gt;
		IN	NS	dns3.hostsharing.net.&lt;br /&gt;
&lt;br /&gt;
		IN	MX	30 xyz00.hostsharing.net.&lt;br /&gt;
		IN	MX	80 backupmx.hostsharing.net.&lt;br /&gt;
&lt;br /&gt;
		IN	A	83.223.95.30&lt;br /&gt;
&lt;br /&gt;
www		IN	A	83.223.95.30&lt;br /&gt;
ftp		IN	A	83.223.95.30&lt;br /&gt;
pop3		IN	A	83.223.95.30&lt;br /&gt;
mail		IN	A	83.223.95.30&lt;br /&gt;
mysql		IN	A	83.223.95.30&lt;br /&gt;
pgsql		IN	A	83.223.95.30&lt;br /&gt;
*.example.org.   IN	A	83.223.95.30&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Der erste Block SOA definiert die &amp;quot;Start Of Authority&amp;quot; Ressource. Der wichtigste Eintrag hier ist die Seriennummer. Diese wird von den DNS-Servern benutzt, um eine Änderung zu erkennen. Deshalb muss diese Nummer bei jeder Anpassung erhöht werden, sonst wird die Änderung nicht vollständig im Internet verbreitet. Der konkrete Wert ist nicht wichtig, so dass man durchaus auch einfach die dort stehende Zahl um eins erhöhen kann. In der Regel verwenden wir hier die Anzahl der Sekunden seit 1970, die für den Platzhalter {SIO} eigetragen wird.&lt;br /&gt;
&lt;br /&gt;
== Änderungen ==&lt;br /&gt;
&lt;br /&gt;
Domainadmins können Änderungen beauftragen. Dafür ist ein vollständiges Zonefile im Konfigurationsverzeichnis etc der Domain abzulegen.&lt;br /&gt;
&lt;br /&gt;
Am besten man beginnt mit der folgenden unversellen Vorlage. Sie enthält Platzhalter, die bei der Übernahme der Konfiguration vom HS Robot automatsch mit den aktuellen werten ersetzt werden:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$TTL {TTL}&lt;br /&gt;
{DOM_HOSTNAME}. IN SOA {HS_DNS1_HOSTNAME}. hostmaster.hostsharing.net. (&lt;br /&gt;
                {SIO} ; serial secs since Jan 1 1970 &lt;br /&gt;
                6H              ; refresh (&amp;gt;=10000)&lt;br /&gt;
                1H              ; retry (&amp;gt;=1800)&lt;br /&gt;
                1W              ; expire&lt;br /&gt;
                1H              ; minimum&lt;br /&gt;
                        )&lt;br /&gt;
; please read https://wiki.hostsharing.net/index.php?title=Domains:Verwalten_der_Zonendaten&lt;br /&gt;
                        IN      NS      {HS_DNS1_HOSTNAME}.&lt;br /&gt;
                        IN      NS      {HS_DNS2_HOSTNAME}.&lt;br /&gt;
                        IN      NS      {HS_DNS3_HOSTNAME}.&lt;br /&gt;
                        IN      MX  30  mail&lt;br /&gt;
                        IN      MX  80  {MX2_HOSTNAME}.&lt;br /&gt;
                        TXT &amp;quot;v=spf1 +a +mx ~all&amp;quot;&lt;br /&gt;
; see http://spf.pobox.com/ for details on spf record&lt;br /&gt;
                        IN      A       {DOM_IPNUMBER}&lt;br /&gt;
www                     IN      A       {DOM_IPNUMBER}&lt;br /&gt;
ftp                     IN      A       {FTP_IPNUMBER}&lt;br /&gt;
pop3                    IN      A       {POP3_IPNUMBER}&lt;br /&gt;
imap                    IN      A       {IMAP_IPNUMBER}&lt;br /&gt;
mail                    IN      A       {SMTP_IPNUMBER}&lt;br /&gt;
mysql                   IN      A       {MYSQL_IPNUMBER}&lt;br /&gt;
pgsql                   IN      A       {PGSQL_IPNUMBER}&lt;br /&gt;
*.{DOM_HOSTNAME}.       IN      A       {DOM_IPNUMBER}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Man speichert diese Vorlage unter /home/doms/example.com/etc/pri.example.com und kann sie dann bearbeiten und eigene Einträge ergänzen.&lt;br /&gt;
&lt;br /&gt;
Beispiele:&lt;br /&gt;
 ; externe Server per &amp;quot;CNAME Record&amp;quot; eintragen&lt;br /&gt;
 wackelserver           IN     CNAME     server0815.massenhoster-domain.tld&lt;br /&gt;
 homeip                 IN     CNAME     mein-nick.dyn-ip-service.tld&lt;br /&gt;
&lt;br /&gt;
 ; www Domaindelegation (Freigabe zur Aufschaltung in separatem Dynamic-Web Paket)&lt;br /&gt;
 ; (Bestehender &amp;quot;A Record&amp;quot; der www Domain muss zudem entfernt werden.)&lt;br /&gt;
 www                       IN      NS      {HS_DNS1_HOSTNAME}.&lt;br /&gt;
 www                       IN      NS      {HS_DNS2_HOSTNAME}.&lt;br /&gt;
 www                       IN      NS      {HS_DNS3_HOSTNAME}.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Nach einer Änderung an einem selbstverwalteten Zonefile muss zur Übernahmer der Konfiguration eine Datei /home/doms/example.com/etc/zonefile.upd angelegt, bzw. deren Zeitstempel aktualisiert werden. &lt;br /&gt;
&lt;br /&gt;
 touch /home/doms/example.com/etc/zonefile.upd&lt;br /&gt;
&lt;br /&gt;
Dann dauert es noch einige Minuten, bis die Änderungen von unserem DNS-Servern übernommen werden. Bis die DNS-Caches der Welt eine Änderung mitbekommen, kann es natürlich noch etwas länger dauern. (Mindestens entsprechend der Zeitangaben im oberen Teil des zuvor aktiven Zonefiles.)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Hinweis:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Wenn man ein eigenes Zonefile in /home/doms/example.org/etc löscht, bleibt in den HS Nameservern der letzte Stand erhalten! Falls man für eine Domain wieder ein Hostsharing-Standard-Zonefile haben möchte, muss man ein leeres (= 0 Bytes) Zonefile anlegen:&lt;br /&gt;
&lt;br /&gt;
 echo -n &amp;gt;  /home/doms/example.org/etc/pri.example.org&lt;br /&gt;
&lt;br /&gt;
Das -n ist wichtig, sonst ist die Datei nicht wirklich leer und es gibt Fehlermeldungen!&lt;br /&gt;
&lt;br /&gt;
== Logfile ==&lt;br /&gt;
&lt;br /&gt;
Die Logfiles des Nameservers sind im Verzeichnis /var/log/named einsehbar. Das aktuelle Log wird unter dem Namen named.log angelegt. Dieses wird beim Neustart des DNS-Servers immer neu angelegt und zeigt bei einer erfolgreichen Änderung etwa folgenden Inhalt:&lt;br /&gt;
&lt;br /&gt;
  Oct 11 18:32:21.400 info: zone example.org/IN: loaded serial 1065889567&lt;br /&gt;
  Oct 11 18:32:21.435 info: zone example.org/IN: sending notifies (serial 1065889567)&lt;br /&gt;
  Oct 11 18:32:21.755 info: client 213.133.116.2#57100: transfer of &#039;example.org/IN&#039;: AXFR-style IXFR started&lt;br /&gt;
  Oct 11 18:32:22.264 info: client 62.75.149.27#45282: transfer of &#039;example.org/IN&#039;: AXFR-style IXFR started&lt;br /&gt;
&lt;br /&gt;
Die Zeilen bedeuten jeweils:&lt;br /&gt;
&lt;br /&gt;
* Das geänderte Zonefile wurde vom DNS-Server erfolgreich geladen&lt;br /&gt;
* Der lokale Server sendet eine Benachrichtigung an die Secondaries, damit diese die Änderung ebenfalls übernehmen können.&lt;br /&gt;
* Die Secondaries 213.133.116.2 und 62.75.149.27 holen die geänderten Daten ab. (Pro Secondary jeweils ein Eintrag.)&lt;br /&gt;
&lt;br /&gt;
Tippfehler oder falsche Angaben im Zonefile werden hier ebenfalls gemeldet.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;&lt;br /&gt;
  -------- Original-Nachricht --------&lt;br /&gt;
  Betreff: [Global] DNS Zonenfile Änderungen&lt;br /&gt;
  Datum: Thu, 4 Mar 2010 08:30:34 +0100&lt;br /&gt;
&lt;br /&gt;
  Moin Moin,&lt;br /&gt;
&lt;br /&gt;
  aus gegebenem Anlass: Immer wieder kommt es vor, dass jemand sein&lt;br /&gt;
  Zonenfile ändert, und es (scheinbar) funktioniert. Tage oder Wochen&lt;br /&gt;
  später dann sind die Domains nicht mehr erreichbar und es heißt &amp;quot;in den&lt;br /&gt;
  letzten ... Tagen/Wochen habe ich aber gar nichts mehr geändert&amp;quot;. Das mag&lt;br /&gt;
  auch gut sein - ist mir auch selbst schon passiert, gerade wenn es um&lt;br /&gt;
  &amp;quot;mal eben schnell noch ... &amp;quot; ging.&lt;br /&gt;
&lt;br /&gt;
  Nur ist der Fehler dann aber schon vor Tagen/Wochen passiert, und solange&lt;br /&gt;
  die Datensätze nicht abgelaufen (expired) sind, sind sie - die alten -&lt;br /&gt;
  noch im DNS System vorhanden. Die neuen aber, die aus der o.g. Änderung,&lt;br /&gt;
  sind bei einem Fehler im Zonenfile nie ins DNS System hinein gekommen!&lt;br /&gt;
  &lt;br /&gt;
  Was also tun? Zunächst kann man nach einer Änderung in einer&lt;br /&gt;
  Shell beobachten, ob es zu Fehlermeldungen kommt:&lt;br /&gt;
&lt;br /&gt;
  tail -f /var/log/named/named.log &lt;br /&gt;
&lt;br /&gt;
  oder ggf nur Zeilen, in denen die eigene Domain (z.B. example.com)&lt;br /&gt;
  vorkommt:&lt;br /&gt;
&lt;br /&gt;
  tail -f /var/log/named/named.log | grep example.com&lt;br /&gt;
&lt;br /&gt;
  Diese Log-Datei ist daher genau aus diese Grunde auch auf dem&lt;br /&gt;
  Server lesbar.&lt;br /&gt;
&lt;br /&gt;
  Auch sollte die in den DNS-Servern befindliche Seriennummer mit der&lt;br /&gt;
  aktuellen in der Zonendatei verglichen werden:&lt;br /&gt;
&lt;br /&gt;
  dig -t SOA @dns1 hoennig.de | grep &#039;^example.com.*SOA&#039; | &lt;br /&gt;
	awk &#039;{ print $7 }&#039;&lt;br /&gt;
&lt;br /&gt;
  grep serial /etc/bind/pri.example.com | awk &#039;{ print $1 }&#039;  &lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Platzhalter für eigene Zonenfiles ==&lt;br /&gt;
&lt;br /&gt;
Folgende Platzhalter können und sollten in eigenen Zonenfiles verwendet werden. Sie ermöglichen uns das Ändern von IP Adressen und Hostnamen, ohne das jeder Domainadmin seine Zonefiles anpassen muß. Insbesondere wird das Verschieben von Paketen zwischen physikalischen Hosts damit vereinfacht.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
; {PAC_IPNUMBER} : IP NUmmer des [[Hives]] in dem sich das [[Paket]] befindet&lt;br /&gt;
; {PAC_HOSTNAME} : Hostname ([[Hive]])&lt;br /&gt;
; {DOM_IPNUMBER} : IP-Nummer&lt;br /&gt;
; {DOM_HOSTNAME} : &lt;br /&gt;
 &lt;br /&gt;
; {MYSQL_IPNUMBER}&lt;br /&gt;
; {MYSQL_HOSTNAME}&lt;br /&gt;
; {PGSQL_IPNUMBER}&lt;br /&gt;
; {PGSQL_HOSTNAME}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
; {FTP_IPNUMBER}&lt;br /&gt;
; {FTP_HOSTNAME}&lt;br /&gt;
  &lt;br /&gt;
; {SMTP_IPNUMBER}&lt;br /&gt;
; {SMTP_HOSTNAME}&lt;br /&gt;
; {POP3_IPNUMBER}&lt;br /&gt;
; {POP3_HOSTNAME}&lt;br /&gt;
; {IMAP_IPNUMBER}&lt;br /&gt;
; {IMAP_HOSTNAME}&lt;br /&gt;
&lt;br /&gt;
; {PAC_DNS_MASTER}&lt;br /&gt;
; {HS_DNS1_IPNUMBER}&lt;br /&gt;
; {HS_DNS2_IPNUMBER}&lt;br /&gt;
; {HS_DNS3_IPNUMBER}&lt;br /&gt;
; {HS_DNS1_HOSTNAME}&lt;br /&gt;
; {HS_DNS2_HOSTNAME}&lt;br /&gt;
; {HS_DNS3_HOSTNAME}&lt;br /&gt;
&lt;br /&gt;
; {TTL}&lt;br /&gt;
; {SIO} : Timestamp (Millisekunden)&lt;br /&gt;
&lt;br /&gt;
; {MX1_IPNUMBER}&lt;br /&gt;
; {MX1_HOSTNAME}&lt;br /&gt;
; {MX2_IPNUMBER}&lt;br /&gt;
; {MX2_HOSTNAME}&lt;br /&gt;
&lt;br /&gt;
Die Hostnamen verstehen sich allesamt ohne den in Zonenfiles oft benötigten abschließenden Punkt. &lt;br /&gt;
&lt;br /&gt;
Es wird dringend empfohlen, in eigenen Zonenfiles diese Platzhalter zu verwenden. Nur so können Domains bei Änderungen von IP Nummern oder anderen Umstrukturierungen weiter erreichbar bleiben, ohne selbst auf solche Ankündigungen und Ereignisse achten zu müssen und Anpassungen selber vornehmen zu müssen.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
[[Kategorie:HSDoku]]&lt;br /&gt;
[[Kategorie:Domains]]&lt;/div&gt;</summary>
		<author><name>Peh00-phor</name></author>
	</entry>
	<entry>
		<id>https://wiki.hostsharing.net/index.php?title=Ecartis_Installieren&amp;diff=2306</id>
		<title>Ecartis Installieren</title>
		<link rel="alternate" type="text/html" href="https://wiki.hostsharing.net/index.php?title=Ecartis_Installieren&amp;diff=2306"/>
		<updated>2010-03-03T14:15:50Z</updated>

		<summary type="html">&lt;p&gt;Peh00-phor: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Mailinglisten mit ecartis ==&lt;br /&gt;
&lt;br /&gt;
[http://www.ecartis.org/ Ecartis] ist ein Programm, mit dem Bei Hostsharing EMail-Verteiler realisiert werden können.&lt;br /&gt;
&lt;br /&gt;
Vergleichen Sie dazu auch den Wikipedia-Artikel:&lt;br /&gt;
[http://de.wikipedia.org/wiki/Mailingliste Mailingliste]&lt;br /&gt;
&lt;br /&gt;
Alternative: [[Mailman]]&lt;br /&gt;
&lt;br /&gt;
Diese Anleitung beschreibt die Installation von Ecartis in einem Hostsharing DW-Paket für eine Domain.&lt;br /&gt;
&lt;br /&gt;
== ecartis ==&lt;br /&gt;
&lt;br /&gt;
=== Einrichten  ===&lt;br /&gt;
&lt;br /&gt;
Zunächst muss eine eigene Installation der Ecartis-Software in das Hostsharing-Paket kopiert werden.&lt;br /&gt;
&lt;br /&gt;
Rufe dazu als Paket-Admin auf:&lt;br /&gt;
&lt;br /&gt;
  cp -rL /usr/lib/ecartis $HOME&lt;br /&gt;
  mkdir $HOME/ecartis/queue&lt;br /&gt;
&lt;br /&gt;
Und um fremde Blicke auf die E-Mail-Adressen der Teilnehmer/innen zu verhindern:&lt;br /&gt;
&lt;br /&gt;
  chmod -R o-rwx $HOME/ecartis&lt;br /&gt;
&lt;br /&gt;
Im Verzeichnis &#039;&#039;ecartis&#039;&#039; befindet sich die Konfigurationsdatei ecartis.cfg, welche den Listenmanager steuert.&lt;br /&gt;
&lt;br /&gt;
=== Konfiguration  ===&lt;br /&gt;
&lt;br /&gt;
==== ecartis.cfg ====&lt;br /&gt;
&lt;br /&gt;
Für den Listenmanager müssen nun in ecartis.cfg mehrere Variablen angepasst werden. &lt;br /&gt;
Eine detailierte Beschreibung der einzelnen Optionen gibt es unter: http://www.ecartis.org/variables.html].&lt;br /&gt;
&lt;br /&gt;
Hier die notwendigen Einstellungen in ecartis.cfg:&lt;br /&gt;
&lt;br /&gt;
  listserver-address = ecartis@example.com&lt;br /&gt;
  listserver-admin = postmaster@example.com&lt;br /&gt;
  listserver-root = /home/pacs/xyz00/ecartis&lt;br /&gt;
  listserver-conf = /home/pacs/xyz00/ecartis&lt;br /&gt;
  listserver-data = /home/pacs/xyz00/ecartis&lt;br /&gt;
  listserver-modules = /home/pacs/xyz00/ecartis/modules&lt;br /&gt;
&lt;br /&gt;
==== E-Mail Adresse ====&lt;br /&gt;
&lt;br /&gt;
Im Folgenden benutze ich den Paket-User &#039;&#039;xyz00&#039;&#039; als Empfänger für alle E-Mails, die an Ecartis gehen. Die Verteilung erfolgt in der Datei &#039;&#039;.procmailrc&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Zunächst stelle ich sicher, dass für den Paket-User kein EMail-Alias eingerichtet ist, bzw. ich lösche es:&lt;br /&gt;
&lt;br /&gt;
  hsadmin --call:emailalias.search&lt;br /&gt;
  hsadmin --call:emailalias.delete --where:name=xyz00&lt;br /&gt;
&lt;br /&gt;
Dann richte ich die Adresse des Mailinglisten-Managers selbst ein:&lt;br /&gt;
&lt;br /&gt;
  hsadmin --call:emailaddress.add --set:target=xyz00 --set:localpart=ecartis --set:domain=example.com&lt;br /&gt;
&lt;br /&gt;
In der Datei &#039;&#039;$HOME/.procmailrc&#039;&#039; trage ich ein (siehe auch [[Procmail]]):&lt;br /&gt;
&lt;br /&gt;
 :0&lt;br /&gt;
 * ^X-Original-To: ecartis@example.com&lt;br /&gt;
 |$HOME/ecartis/ecartis&lt;br /&gt;
&lt;br /&gt;
===  Test ===&lt;br /&gt;
&lt;br /&gt;
Damit ist das Mailinglistensystem erreichbar und eine E-Mail an ecartis@example.com mit dem Inhalt help schickt uns die Datei ecartis.hlp zurück, die man später natürlich an seine Bedürfnisse anpassen kann.&lt;br /&gt;
&lt;br /&gt;
Einrichten einer Mailingliste&lt;br /&gt;
&lt;br /&gt;
== Mailinglisten ==&lt;br /&gt;
&lt;br /&gt;
=== Einrichten ===&lt;br /&gt;
&lt;br /&gt;
Man fügt nun den einzelnen Listenmanagern Listen hinzu. Dazu wechselt man in das Verzeichnis des jeweiligen Listenmanagers.&lt;br /&gt;
&lt;br /&gt;
Aufruf:&lt;br /&gt;
  &lt;br /&gt;
  cd $HOME/ecartis&lt;br /&gt;
  ./ecartis -newlist NAMEDERLISTE&lt;br /&gt;
&lt;br /&gt;
Dann wird man nach dem Administrator der einzurichtenden Liste gefragt und nach der Eingabe der E-Mail-Adresse erhält man eine Liste von Aliases.&lt;br /&gt;
&lt;br /&gt;
Folgendes gibt uns der Befehl zurück:&lt;br /&gt;
&lt;br /&gt;
 Aliases for &#039;testmailingliste&#039; mailing list.&lt;br /&gt;
 testmailingliste: &amp;quot;|/home/pacs/xyz00/mailinglist/ecartis -s testmailingliste&amp;quot;&lt;br /&gt;
 testmailingliste-request: &amp;quot;|/home/pacs/xyz00/mailinglist/ecartis -r testmailingliste&amp;quot;&lt;br /&gt;
 testmailingliste-repost: &amp;quot;|/home/pacs/xyz00/mailinglist/ecartis -a testmailingliste&amp;quot;&lt;br /&gt;
 testmailingliste-admins: &amp;quot;|/home/pacs/xyz00/mailinglist/ecartis -admins testmailingliste&amp;quot;&lt;br /&gt;
 testmailingliste-moderators: &amp;quot;|/home/pacs/xyz00/mailinglist/ecartis -moderators testmailingliste&amp;quot;&lt;br /&gt;
 testmailingliste-bounce: &amp;quot;|/home/pacs/xyz00/mailinglist/ecartis -bounce testmailingliste&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Diese Aliases setze ich nicht in dieser Form um, sondern nutze den &#039;&#039;recipient_delimiter&#039;&#039; von Postfix und die &#039;&#039;.procmailrc&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
==== Aliases ersetzen ====&lt;br /&gt;
&lt;br /&gt;
Durch den Aufruf von &#039;&#039;ecartis -newlist&#039;&#039; wurde eine Konfigurationsdatei für die neue Mailingliste angelegt.&lt;br /&gt;
Die Datei heißt &#039;&#039;$HOME/ecartis/lists/testmailingliste/config&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Hier ändere ich zunächst die folgenden Einträge:&lt;br /&gt;
&lt;br /&gt;
  reply-to = testmailingliste@example.com&lt;br /&gt;
  administrivia-address = testmailingliste+admins@example.com&lt;br /&gt;
  moderator = testmailingliste+moderators@example.com&lt;br /&gt;
  send-as = testmailingliste+bounce@example.com&lt;br /&gt;
&lt;br /&gt;
Bitte das &amp;quot;+&amp;quot;-Plus-Zeichen im Localpart der EMail-Adressen beachten!&lt;br /&gt;
&lt;br /&gt;
Mit hsadmin lege ich eine EMail-Adresse an:&lt;br /&gt;
&lt;br /&gt;
  hsadmin --call:emailaddress.add --set:localpart=testmailingliste --set:domain=example.com --set:target=xyz00&lt;br /&gt;
&lt;br /&gt;
Statt der Aliases mache die folgenden Einträge in die &#039;&#039;.procmailrc&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
 :0&lt;br /&gt;
 * ^X-Original-To: testmailingliste@example.com&lt;br /&gt;
 |$HOME/ecartis/ecartis -s testmailingliste&lt;br /&gt;
 :0&lt;br /&gt;
 * ^X-Original-To: testmailingliste\+request@example.com&lt;br /&gt;
 |$HOME/ecartis/ecartis -r testmailingliste&lt;br /&gt;
 :0&lt;br /&gt;
 * ^X-Original-To: testmailingliste\+repost@example.com&lt;br /&gt;
 |$HOME/ecartis/ecartis -a testmailingliste&lt;br /&gt;
 :0&lt;br /&gt;
 * ^X-Original-To: testmailingliste\+admins@example.com&lt;br /&gt;
 |$HOME/ecartis/ecartis -admins testmailingliste&lt;br /&gt;
 :0&lt;br /&gt;
 * ^X-Original-To: testmailingliste\+moderators@example.com&lt;br /&gt;
 |$HOME/ecartis/ecartis -moderators testmailingliste&lt;br /&gt;
 :0&lt;br /&gt;
 * ^X-Original-To: testmailingliste\+bounce@example.com&lt;br /&gt;
 |$HOME/ecartis/ecartis -bounce testmailingliste&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Jetzt gibt es eine offene Liste mit der Adresse testmailingliste@example.com, an der man sich mit einer E-Mail an testmailingliste+request@example.com mit dem Inhalt subscribe anmelden kann.&lt;br /&gt;
&lt;br /&gt;
Konfigurieren einer Mailingliste&lt;br /&gt;
&lt;br /&gt;
Jeder Listenmanager besitzt ein Unterverzeichnis /lists, in welchem die zugehörigen Listen verwaltet werden. Jeder Mailingliste wird ein Verzeichnis unterhalb dieses Verzeichnisses zugeordnet. Es hat den Namen der Mailingliste. Die Konfigurationsdatei für die einzelnen Listen heißt config und ist dort abgelegt. Eine detaillierte Beschreibung der einzelnen Optionen gibt es unter: [http://www.ecartis.org/variables.html].&lt;br /&gt;
&lt;br /&gt;
=== Konfiguration ===&lt;br /&gt;
&lt;br /&gt;
Hier nur die wichtigsten Einstellungen, die man konfigurieren sollte:&lt;br /&gt;
&lt;br /&gt;
* list-owner = der Eigentümer der Liste&lt;br /&gt;
* subject-tag = eine Zeichenfolge die im Betreff vorangestellt wird (wie [global] bei unserer global(at)hostsharing.net Mailingliste)&lt;br /&gt;
* description = eine Beschreibung der Liste&lt;br /&gt;
* reply-to = Adresse der Liste (in unserem Beispiel: testmailingliste@example.com)&lt;br /&gt;
* administrivia-address = in unserem Beispiel testmailingliste-admins@example.com&lt;br /&gt;
* humanize-mime = false&lt;br /&gt;
* humanize-quotedprintable = true&lt;br /&gt;
&lt;br /&gt;
Sorgen gemeinsam für eine ordentliche Handhabung von Umlauten, sie werden verstanden und es werden passende Header generiert.&lt;br /&gt;
&lt;br /&gt;
* mbox-archive-path = wenn man möchte, kann man alle Mails, die über die Liste verschickt werden, archivieren&lt;br /&gt;
* subscribe-mode = hier gibt es 3 mögliche Einstellungen:&lt;br /&gt;
*# open - Der Benutzer meldet sich per subscribe an und wird direkt in die Liste eingetragen&lt;br /&gt;
*# confirm - Der Benutzer muss die Anmeldung anhand einer zugeschickten Mail bestätigen&lt;br /&gt;
*# closed - Die Anmeldung muss vom Listenadmin erlaubt werden&lt;br /&gt;
* unsubscribe-mode = hier gibt es 3 mögliche Einstellungen:&lt;br /&gt;
*# open - Der Benutzer meldet sich per unsubscribe ab und wird direkt aus der Liste ausgetragen&lt;br /&gt;
*# confirm - Der Benutzer muss die Abmeldung anhand einer zugeschickten Mail bestätigen&lt;br /&gt;
*# closed - Die Abmeldung muss vom Listenadmin erlaubt werden&lt;br /&gt;
&lt;br /&gt;
=== Unterschiedliche Mailinglistentypen ===&lt;br /&gt;
&lt;br /&gt;
==== offene Liste ====&lt;br /&gt;
&lt;br /&gt;
Offene Liste bedeutet, dass jeder an die Liste schreiben kann, die dann an alle eingetragenen E-Mail-Adressen verteilt wird (Beispiel: global(at)hostsharing.net).&lt;br /&gt;
Dies ist der Standard bei der Einrichtung einer Liste und benötigt keine besonderen Einstellungen&lt;br /&gt;
&lt;br /&gt;
==== geschlossene Liste ====&lt;br /&gt;
&lt;br /&gt;
bedeutet, dass nur E-Mails von den Eingetragenen verteilt werden. Diese Listenart wird auch als member-only bezeichnet (Beispiel: members(at)hostsharing.net).&lt;br /&gt;
&lt;br /&gt;
Hierfür müssen folgende Optionen gesetzt werden:&lt;br /&gt;
&lt;br /&gt;
 closed-post = true&lt;br /&gt;
&lt;br /&gt;
Sinnvoll ist außerdem confirm oder closed bei subscribe-mode und unsubscribe-mode einzutragen.&lt;br /&gt;
&lt;br /&gt;
==== moderierte Liste ====&lt;br /&gt;
&lt;br /&gt;
bedeutet, dass E-Mails von jemandem authorisiert werden müssen, bevor sie verteilt werden. Wird in den meisten Fällen für Newsletter o.ä. verwendet, wo man als Betreiber den Eingetragenen E-Mails schicken will, aber eine Kommunikation der Eingetragenen untereinander nicht gewollt ist (Beispiel: global-announce(at)hostsharing.net).&lt;br /&gt;
&lt;br /&gt;
Hierfür müssen folgende Optionen gesetzt werden:&lt;br /&gt;
&lt;br /&gt;
 moderated = yes&lt;br /&gt;
 moderate-include-queue = true&lt;br /&gt;
 moderator = testmailingliste-moderators@example.com&lt;br /&gt;
&lt;br /&gt;
Sinnvoll ist außerdem confirm oder closed bei subscribe-mode und unsubscribe-mode einzutragen.&lt;br /&gt;
&lt;br /&gt;
=== Autorisierung ===&lt;br /&gt;
Für die Authorisierung gibt es mehrere Möglichkeiten:&lt;br /&gt;
&lt;br /&gt;
 admin-approvepost = true&lt;br /&gt;
&lt;br /&gt;
Damit werden alle E-Mails der Listenadministratoren direkt verschickt. Es wird nur überprüft, ob die Absender-E-Mail-Adresse übereinstimmt, da diese aber sehr leicht gefälscht werden kann, ist es nur ein sehr schwacher Schutz.&lt;br /&gt;
&lt;br /&gt;
 post-password = geheimesPasswort&lt;br /&gt;
&lt;br /&gt;
Das setzt das Passwort für diese Liste auf geheimesPasswort und nur E-Mails mit der folgenden Zeile im Header der E-Mail werden verteilt: X-posting-pass: geheimesPasswort&lt;br /&gt;
&lt;br /&gt;
Wenn man keine der beiden Optionen benutzt, dann wird die E-Mail zuerst an den Administrator der Liste geschickt, der sie bestätigen muss.&lt;br /&gt;
&lt;br /&gt;
== Weitere Möglichkeiten ==&lt;br /&gt;
&lt;br /&gt;
=== Verschiedene Domains ===&lt;br /&gt;
&lt;br /&gt;
Wenn man für verschiedene seiner Domains eigenständige Mailinglistensysteme betreiben will, so kann man das  Verzeichnis &#039;&#039;ecartis&#039;&#039; als Vorlage verwenden und beliebig kopieren. Dann sind natürlich die EMail-Adresse und die Einträge in der &#039;&#039;.procmailrc&#039;&#039; zur Steuerung des Listenmanagers per E-Mail ebenfalls zu kopieren und entsprechend anzupassen.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
[[Kategorie:HSDoku]]&lt;br /&gt;
[[Kategorie:Installationsanleitungen]]&lt;br /&gt;
[[Kategorie:Software]]&lt;/div&gt;</summary>
		<author><name>Peh00-phor</name></author>
	</entry>
	<entry>
		<id>https://wiki.hostsharing.net/index.php?title=Diskussion:Ecartis_Installieren&amp;diff=2305</id>
		<title>Diskussion:Ecartis Installieren</title>
		<link rel="alternate" type="text/html" href="https://wiki.hostsharing.net/index.php?title=Diskussion:Ecartis_Installieren&amp;diff=2305"/>
		<updated>2010-03-03T14:15:24Z</updated>

		<summary type="html">&lt;p&gt;Peh00-phor: Der Seiteninhalt wurde durch einen anderen Text ersetzt: „Ich hoffe, das tut&amp;#039;s jetzt so.“&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Ich hoffe, das tut&#039;s jetzt so.&lt;/div&gt;</summary>
		<author><name>Peh00-phor</name></author>
	</entry>
	<entry>
		<id>https://wiki.hostsharing.net/index.php?title=Ecartis_Installieren&amp;diff=2304</id>
		<title>Ecartis Installieren</title>
		<link rel="alternate" type="text/html" href="https://wiki.hostsharing.net/index.php?title=Ecartis_Installieren&amp;diff=2304"/>
		<updated>2010-03-03T14:14:22Z</updated>

		<summary type="html">&lt;p&gt;Peh00-phor: /* Verschiedene Domains */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Mailinglisten mit ecartis ==&lt;br /&gt;
&lt;br /&gt;
{{Baustelle}}&lt;br /&gt;
&lt;br /&gt;
[http://www.ecartis.org/ Ecartis] ist ein Programm, mit dem Bei Hostsharing E-Mail Verteiler realisiert werden können.&lt;br /&gt;
&lt;br /&gt;
Vergleichen Sie dazu auch den Wikipedia-Artikel:&lt;br /&gt;
[http://de.wikipedia.org/wiki/Mailingliste Mailingliste]&lt;br /&gt;
&lt;br /&gt;
Alternative: [[Mailman]]&lt;br /&gt;
&lt;br /&gt;
Diese Anleitung beschreibt die Installation von Ecartis in einem Hostsharing DW-Paket für eine Domain.&lt;br /&gt;
&lt;br /&gt;
== ecartis ==&lt;br /&gt;
&lt;br /&gt;
=== Einrichten  ===&lt;br /&gt;
&lt;br /&gt;
Zunächst muss eine eigene Installation der Ecartis-Software in das Hostsharing-Paket kopiert werden.&lt;br /&gt;
&lt;br /&gt;
Rufe dazu als Paket-Admin auf:&lt;br /&gt;
&lt;br /&gt;
  cp -rL /usr/lib/ecartis $HOME&lt;br /&gt;
  mkdir $HOME/ecartis/queue&lt;br /&gt;
&lt;br /&gt;
Und um fremde Blicke auf die E-Mail-Adressen der Teilnehmer/innen zu verhindern:&lt;br /&gt;
&lt;br /&gt;
  chmod -R o-rwx $HOME/ecartis&lt;br /&gt;
&lt;br /&gt;
Im Verzeichnis &#039;&#039;ecartis&#039;&#039; befindet sich die Konfigurationsdatei ecartis.cfg, welche den Listenmanager steuert.&lt;br /&gt;
&lt;br /&gt;
=== Konfiguration  ===&lt;br /&gt;
&lt;br /&gt;
==== ecartis.cfg ====&lt;br /&gt;
&lt;br /&gt;
Für den Listenmanager müssen nun in ecartis.cfg mehrere Variablen angepasst werden. &lt;br /&gt;
Eine detailierte Beschreibung der einzelnen Optionen gibt es unter: http://www.ecartis.org/variables.html].&lt;br /&gt;
&lt;br /&gt;
Hier die notwendigen Einstellungen in ecartis.cfg:&lt;br /&gt;
&lt;br /&gt;
  listserver-address = ecartis@example.com&lt;br /&gt;
  listserver-admin = postmaster@example.com&lt;br /&gt;
  listserver-root = /home/pacs/xyz00/ecartis&lt;br /&gt;
  listserver-conf = /home/pacs/xyz00/ecartis&lt;br /&gt;
  listserver-data = /home/pacs/xyz00/ecartis&lt;br /&gt;
  listserver-modules = /home/pacs/xyz00/ecartis/modules&lt;br /&gt;
&lt;br /&gt;
==== E-Mail Adresse ====&lt;br /&gt;
&lt;br /&gt;
Im Folgenden benutze ich den Paket-User &#039;&#039;xyz00&#039;&#039; als Empfänger für alle E-Mails, die an Ecartis gehen. Die Verteilung erfolgt in der Datei &#039;&#039;.procmailrc&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Zunächst stelle ich sicher, dass für den Paket-User kein EMail-Alias eingerichtet ist, bzw. ich lösche es:&lt;br /&gt;
&lt;br /&gt;
  hsadmin --call:emailalias.search&lt;br /&gt;
  hsadmin --call:emailalias.delete --where:name=xyz00&lt;br /&gt;
&lt;br /&gt;
Dann richte ich die Adresse des Mailinglisten-Managers selbst ein:&lt;br /&gt;
&lt;br /&gt;
  hsadmin --call:emailaddress.add --set:target=xyz00 --set:localpart=ecartis --set:domain=example.com&lt;br /&gt;
&lt;br /&gt;
In der Datei &#039;&#039;$HOME/.procmailrc&#039;&#039; trage ich ein (siehe auch [[Procmail]]):&lt;br /&gt;
&lt;br /&gt;
 :0&lt;br /&gt;
 * ^X-Original-To: ecartis@example.com&lt;br /&gt;
 |$HOME/ecartis/ecartis&lt;br /&gt;
&lt;br /&gt;
===  Test ===&lt;br /&gt;
&lt;br /&gt;
Damit ist das Mailinglistensystem erreichbar und eine E-Mail an ecartis@example.com mit dem Inhalt help schickt uns die Datei ecartis.hlp zurück, die man später natürlich an seine Bedürfnisse anpassen kann.&lt;br /&gt;
&lt;br /&gt;
Einrichten einer Mailingliste&lt;br /&gt;
&lt;br /&gt;
== Mailinglisten ==&lt;br /&gt;
&lt;br /&gt;
=== Einrichten ===&lt;br /&gt;
&lt;br /&gt;
Man fügt nun den einzelnen Listenmanagern Listen hinzu. Dazu wechselt man in das Verzeichnis des jeweiligen Listenmanagers.&lt;br /&gt;
&lt;br /&gt;
Aufruf:&lt;br /&gt;
  &lt;br /&gt;
  cd $HOME/ecartis&lt;br /&gt;
  ./ecartis -newlist NAMEDERLISTE&lt;br /&gt;
&lt;br /&gt;
Dann wird man nach dem Administrator der einzurichtenden Liste gefragt und nach der Eingabe der E-Mail-Adresse erhält man eine Liste von Aliases.&lt;br /&gt;
&lt;br /&gt;
Folgendes gibt uns der Befehl zurück:&lt;br /&gt;
&lt;br /&gt;
 Aliases for &#039;testmailingliste&#039; mailing list.&lt;br /&gt;
 testmailingliste: &amp;quot;|/home/pacs/xyz00/mailinglist/ecartis -s testmailingliste&amp;quot;&lt;br /&gt;
 testmailingliste-request: &amp;quot;|/home/pacs/xyz00/mailinglist/ecartis -r testmailingliste&amp;quot;&lt;br /&gt;
 testmailingliste-repost: &amp;quot;|/home/pacs/xyz00/mailinglist/ecartis -a testmailingliste&amp;quot;&lt;br /&gt;
 testmailingliste-admins: &amp;quot;|/home/pacs/xyz00/mailinglist/ecartis -admins testmailingliste&amp;quot;&lt;br /&gt;
 testmailingliste-moderators: &amp;quot;|/home/pacs/xyz00/mailinglist/ecartis -moderators testmailingliste&amp;quot;&lt;br /&gt;
 testmailingliste-bounce: &amp;quot;|/home/pacs/xyz00/mailinglist/ecartis -bounce testmailingliste&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Diese Aliases setze ich nicht in dieser Form um, sondern nutze den &#039;&#039;recipient_delimiter&#039;&#039; von Postfix und die &#039;&#039;.procmailrc&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
==== Aliases ersetzen ====&lt;br /&gt;
&lt;br /&gt;
Durch den Aufruf von &#039;&#039;ecartis -newlist&#039;&#039; wurde eine Konfigurationsdatei für die neue Mailingliste angelegt.&lt;br /&gt;
Die Datei heißt &#039;&#039;$HOME/ecartis/lists/testmailingliste/config&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Hier ändere ich zunächst die folgenden Einträge:&lt;br /&gt;
&lt;br /&gt;
  reply-to = testmailingliste@example.com&lt;br /&gt;
  administrivia-address = testmailingliste+admins@example.com&lt;br /&gt;
  moderator = testmailingliste+moderators@example.com&lt;br /&gt;
  send-as = testmailingliste+bounce@example.com&lt;br /&gt;
&lt;br /&gt;
Bitte das &amp;quot;+&amp;quot;-Plus-Zeichen im Localpart der EMail-Adressen beachten!&lt;br /&gt;
&lt;br /&gt;
Mit hsadmin lege ich eine EMail-Adresse an:&lt;br /&gt;
&lt;br /&gt;
  hsadmin --call:emailaddress.add --set:localpart=testmailingliste --set:domain=example.com --set:target=xyz00&lt;br /&gt;
&lt;br /&gt;
Statt der Aliases mache die folgenden Einträge in die &#039;&#039;.procmailrc&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
 :0&lt;br /&gt;
 * ^X-Original-To: testmailingliste@example.com&lt;br /&gt;
 |$HOME/ecartis/ecartis -s testmailingliste&lt;br /&gt;
 :0&lt;br /&gt;
 * ^X-Original-To: testmailingliste\+request@example.com&lt;br /&gt;
 |$HOME/ecartis/ecartis -r testmailingliste&lt;br /&gt;
 :0&lt;br /&gt;
 * ^X-Original-To: testmailingliste\+repost@example.com&lt;br /&gt;
 |$HOME/ecartis/ecartis -a testmailingliste&lt;br /&gt;
 :0&lt;br /&gt;
 * ^X-Original-To: testmailingliste\+admins@example.com&lt;br /&gt;
 |$HOME/ecartis/ecartis -admins testmailingliste&lt;br /&gt;
 :0&lt;br /&gt;
 * ^X-Original-To: testmailingliste\+moderators@example.com&lt;br /&gt;
 |$HOME/ecartis/ecartis -moderators testmailingliste&lt;br /&gt;
 :0&lt;br /&gt;
 * ^X-Original-To: testmailingliste\+bounce@example.com&lt;br /&gt;
 |$HOME/ecartis/ecartis -bounce testmailingliste&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Jetzt gibt es eine offene Liste mit der Adresse testmailingliste@example.com, an der man sich mit einer E-Mail an testmailingliste+request@example.com mit dem Inhalt subscribe anmelden kann.&lt;br /&gt;
&lt;br /&gt;
Konfigurieren einer Mailingliste&lt;br /&gt;
&lt;br /&gt;
Jeder Listenmanager besitzt ein Unterverzeichnis /lists, in welchem die zugehörigen Listen verwaltet werden. Jeder Mailingliste wird ein Verzeichnis unterhalb dieses Verzeichnisses zugeordnet. Es hat den Namen der Mailingliste. Die Konfigurationsdatei für die einzelnen Listen heißt config und ist dort abgelegt. Eine detaillierte Beschreibung der einzelnen Optionen gibt es unter: [http://www.ecartis.org/variables.html].&lt;br /&gt;
&lt;br /&gt;
=== Konfiguration ===&lt;br /&gt;
&lt;br /&gt;
Hier nur die wichtigsten Einstellungen, die man konfigurieren sollte:&lt;br /&gt;
&lt;br /&gt;
* list-owner = der Eigentümer der Liste&lt;br /&gt;
* subject-tag = eine Zeichenfolge die im Betreff vorangestellt wird (wie [global] bei unserer global(at)hostsharing.net Mailingliste)&lt;br /&gt;
* description = eine Beschreibung der Liste&lt;br /&gt;
* reply-to = Adresse der Liste (in unserem Beispiel: testmailingliste@example.com)&lt;br /&gt;
* administrivia-address = in unserem Beispiel testmailingliste-admins@example.com&lt;br /&gt;
* humanize-mime = false&lt;br /&gt;
* humanize-quotedprintable = true&lt;br /&gt;
&lt;br /&gt;
Sorgen gemeinsam für eine ordentliche Handhabung von Umlauten, sie werden verstanden und es werden passende Header generiert.&lt;br /&gt;
&lt;br /&gt;
* mbox-archive-path = wenn man möchte, kann man alle Mails, die über die Liste verschickt werden, archivieren&lt;br /&gt;
* subscribe-mode = hier gibt es 3 mögliche Einstellungen:&lt;br /&gt;
*# open - Der Benutzer meldet sich per subscribe an und wird direkt in die Liste eingetragen&lt;br /&gt;
*# confirm - Der Benutzer muss die Anmeldung anhand einer zugeschickten Mail bestätigen&lt;br /&gt;
*# closed - Die Anmeldung muss vom Listenadmin erlaubt werden&lt;br /&gt;
* unsubscribe-mode = hier gibt es 3 mögliche Einstellungen:&lt;br /&gt;
*# open - Der Benutzer meldet sich per unsubscribe ab und wird direkt aus der Liste ausgetragen&lt;br /&gt;
*# confirm - Der Benutzer muss die Abmeldung anhand einer zugeschickten Mail bestätigen&lt;br /&gt;
*# closed - Die Abmeldung muss vom Listenadmin erlaubt werden&lt;br /&gt;
&lt;br /&gt;
=== Unterschiedliche Mailinglistentypen ===&lt;br /&gt;
&lt;br /&gt;
==== offene Liste ====&lt;br /&gt;
&lt;br /&gt;
Offene Liste bedeutet, dass jeder an die Liste schreiben kann, die dann an alle eingetragenen E-Mail-Adressen verteilt wird (Beispiel: global(at)hostsharing.net).&lt;br /&gt;
Dies ist der Standard bei der Einrichtung einer Liste und benötigt keine besonderen Einstellungen&lt;br /&gt;
&lt;br /&gt;
==== geschlossene Liste ====&lt;br /&gt;
&lt;br /&gt;
bedeutet, dass nur E-Mails von den Eingetragenen verteilt werden. Diese Listenart wird auch als member-only bezeichnet (Beispiel: members(at)hostsharing.net).&lt;br /&gt;
&lt;br /&gt;
Hierfür müssen folgende Optionen gesetzt werden:&lt;br /&gt;
&lt;br /&gt;
 closed-post = true&lt;br /&gt;
&lt;br /&gt;
Sinnvoll ist außerdem confirm oder closed bei subscribe-mode und unsubscribe-mode einzutragen.&lt;br /&gt;
&lt;br /&gt;
==== moderierte Liste ====&lt;br /&gt;
&lt;br /&gt;
bedeutet, dass E-Mails von jemandem authorisiert werden müssen, bevor sie verteilt werden. Wird in den meisten Fällen für Newsletter o.ä. verwendet, wo man als Betreiber den Eingetragenen E-Mails schicken will, aber eine Kommunikation der Eingetragenen untereinander nicht gewollt ist (Beispiel: global-announce(at)hostsharing.net).&lt;br /&gt;
&lt;br /&gt;
Hierfür müssen folgende Optionen gesetzt werden:&lt;br /&gt;
&lt;br /&gt;
 moderated = yes&lt;br /&gt;
 moderate-include-queue = true&lt;br /&gt;
 moderator = testmailingliste-moderators@example.com&lt;br /&gt;
&lt;br /&gt;
Sinnvoll ist außerdem confirm oder closed bei subscribe-mode und unsubscribe-mode einzutragen.&lt;br /&gt;
&lt;br /&gt;
=== Autorisierung ===&lt;br /&gt;
Für die Authorisierung gibt es mehrere Möglichkeiten:&lt;br /&gt;
&lt;br /&gt;
 admin-approvepost = true&lt;br /&gt;
&lt;br /&gt;
Damit werden alle E-Mails der Listenadministratoren direkt verschickt. Es wird nur überprüft, ob die Absender-E-Mail-Adresse übereinstimmt, da diese aber sehr leicht gefälscht werden kann, ist es nur ein sehr schwacher Schutz.&lt;br /&gt;
&lt;br /&gt;
 post-password = geheimesPasswort&lt;br /&gt;
&lt;br /&gt;
Das setzt das Passwort für diese Liste auf geheimesPasswort und nur E-Mails mit der folgenden Zeile im Header der E-Mail werden verteilt: X-posting-pass: geheimesPasswort&lt;br /&gt;
&lt;br /&gt;
Wenn man keine der beiden Optionen benutzt, dann wird die E-Mail zuerst an den Administrator der Liste geschickt, der sie bestätigen muss.&lt;br /&gt;
&lt;br /&gt;
== Weitere Möglichkeiten ==&lt;br /&gt;
&lt;br /&gt;
=== Verschiedene Domains ===&lt;br /&gt;
&lt;br /&gt;
Wenn man für verschiedene seiner Domains eigenständige Mailinglistensysteme betreiben will, so kann man das  Verzeichnis &#039;&#039;ecartis&#039;&#039; als Vorlage verwenden und beliebig kopieren. Dann sind natürlich die EMail-Adresse und die Einträge in der &#039;&#039;.procmailrc&#039;&#039; zur Steuerung des Listenmanagers per E-Mail ebenfalls zu kopieren und entsprechend anzupassen.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
[[Kategorie:HSDoku]]&lt;br /&gt;
[[Kategorie:Installationsanleitungen]]&lt;br /&gt;
[[Kategorie:Software]]&lt;/div&gt;</summary>
		<author><name>Peh00-phor</name></author>
	</entry>
	<entry>
		<id>https://wiki.hostsharing.net/index.php?title=Ecartis_Installieren&amp;diff=2303</id>
		<title>Ecartis Installieren</title>
		<link rel="alternate" type="text/html" href="https://wiki.hostsharing.net/index.php?title=Ecartis_Installieren&amp;diff=2303"/>
		<updated>2010-03-03T14:13:24Z</updated>

		<summary type="html">&lt;p&gt;Peh00-phor: /* post-password = geheimesPasswort */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Mailinglisten mit ecartis ==&lt;br /&gt;
&lt;br /&gt;
{{Baustelle}}&lt;br /&gt;
&lt;br /&gt;
[http://www.ecartis.org/ Ecartis] ist ein Programm, mit dem Bei Hostsharing E-Mail Verteiler realisiert werden können.&lt;br /&gt;
&lt;br /&gt;
Vergleichen Sie dazu auch den Wikipedia-Artikel:&lt;br /&gt;
[http://de.wikipedia.org/wiki/Mailingliste Mailingliste]&lt;br /&gt;
&lt;br /&gt;
Alternative: [[Mailman]]&lt;br /&gt;
&lt;br /&gt;
Diese Anleitung beschreibt die Installation von Ecartis in einem Hostsharing DW-Paket für eine Domain.&lt;br /&gt;
&lt;br /&gt;
== ecartis ==&lt;br /&gt;
&lt;br /&gt;
=== Einrichten  ===&lt;br /&gt;
&lt;br /&gt;
Zunächst muss eine eigene Installation der Ecartis-Software in das Hostsharing-Paket kopiert werden.&lt;br /&gt;
&lt;br /&gt;
Rufe dazu als Paket-Admin auf:&lt;br /&gt;
&lt;br /&gt;
  cp -rL /usr/lib/ecartis $HOME&lt;br /&gt;
  mkdir $HOME/ecartis/queue&lt;br /&gt;
&lt;br /&gt;
Und um fremde Blicke auf die E-Mail-Adressen der Teilnehmer/innen zu verhindern:&lt;br /&gt;
&lt;br /&gt;
  chmod -R o-rwx $HOME/ecartis&lt;br /&gt;
&lt;br /&gt;
Im Verzeichnis &#039;&#039;ecartis&#039;&#039; befindet sich die Konfigurationsdatei ecartis.cfg, welche den Listenmanager steuert.&lt;br /&gt;
&lt;br /&gt;
=== Konfiguration  ===&lt;br /&gt;
&lt;br /&gt;
==== ecartis.cfg ====&lt;br /&gt;
&lt;br /&gt;
Für den Listenmanager müssen nun in ecartis.cfg mehrere Variablen angepasst werden. &lt;br /&gt;
Eine detailierte Beschreibung der einzelnen Optionen gibt es unter: http://www.ecartis.org/variables.html].&lt;br /&gt;
&lt;br /&gt;
Hier die notwendigen Einstellungen in ecartis.cfg:&lt;br /&gt;
&lt;br /&gt;
  listserver-address = ecartis@example.com&lt;br /&gt;
  listserver-admin = postmaster@example.com&lt;br /&gt;
  listserver-root = /home/pacs/xyz00/ecartis&lt;br /&gt;
  listserver-conf = /home/pacs/xyz00/ecartis&lt;br /&gt;
  listserver-data = /home/pacs/xyz00/ecartis&lt;br /&gt;
  listserver-modules = /home/pacs/xyz00/ecartis/modules&lt;br /&gt;
&lt;br /&gt;
==== E-Mail Adresse ====&lt;br /&gt;
&lt;br /&gt;
Im Folgenden benutze ich den Paket-User &#039;&#039;xyz00&#039;&#039; als Empfänger für alle E-Mails, die an Ecartis gehen. Die Verteilung erfolgt in der Datei &#039;&#039;.procmailrc&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Zunächst stelle ich sicher, dass für den Paket-User kein EMail-Alias eingerichtet ist, bzw. ich lösche es:&lt;br /&gt;
&lt;br /&gt;
  hsadmin --call:emailalias.search&lt;br /&gt;
  hsadmin --call:emailalias.delete --where:name=xyz00&lt;br /&gt;
&lt;br /&gt;
Dann richte ich die Adresse des Mailinglisten-Managers selbst ein:&lt;br /&gt;
&lt;br /&gt;
  hsadmin --call:emailaddress.add --set:target=xyz00 --set:localpart=ecartis --set:domain=example.com&lt;br /&gt;
&lt;br /&gt;
In der Datei &#039;&#039;$HOME/.procmailrc&#039;&#039; trage ich ein (siehe auch [[Procmail]]):&lt;br /&gt;
&lt;br /&gt;
 :0&lt;br /&gt;
 * ^X-Original-To: ecartis@example.com&lt;br /&gt;
 |$HOME/ecartis/ecartis&lt;br /&gt;
&lt;br /&gt;
===  Test ===&lt;br /&gt;
&lt;br /&gt;
Damit ist das Mailinglistensystem erreichbar und eine E-Mail an ecartis@example.com mit dem Inhalt help schickt uns die Datei ecartis.hlp zurück, die man später natürlich an seine Bedürfnisse anpassen kann.&lt;br /&gt;
&lt;br /&gt;
Einrichten einer Mailingliste&lt;br /&gt;
&lt;br /&gt;
== Mailinglisten ==&lt;br /&gt;
&lt;br /&gt;
=== Einrichten ===&lt;br /&gt;
&lt;br /&gt;
Man fügt nun den einzelnen Listenmanagern Listen hinzu. Dazu wechselt man in das Verzeichnis des jeweiligen Listenmanagers.&lt;br /&gt;
&lt;br /&gt;
Aufruf:&lt;br /&gt;
  &lt;br /&gt;
  cd $HOME/ecartis&lt;br /&gt;
  ./ecartis -newlist NAMEDERLISTE&lt;br /&gt;
&lt;br /&gt;
Dann wird man nach dem Administrator der einzurichtenden Liste gefragt und nach der Eingabe der E-Mail-Adresse erhält man eine Liste von Aliases.&lt;br /&gt;
&lt;br /&gt;
Folgendes gibt uns der Befehl zurück:&lt;br /&gt;
&lt;br /&gt;
 Aliases for &#039;testmailingliste&#039; mailing list.&lt;br /&gt;
 testmailingliste: &amp;quot;|/home/pacs/xyz00/mailinglist/ecartis -s testmailingliste&amp;quot;&lt;br /&gt;
 testmailingliste-request: &amp;quot;|/home/pacs/xyz00/mailinglist/ecartis -r testmailingliste&amp;quot;&lt;br /&gt;
 testmailingliste-repost: &amp;quot;|/home/pacs/xyz00/mailinglist/ecartis -a testmailingliste&amp;quot;&lt;br /&gt;
 testmailingliste-admins: &amp;quot;|/home/pacs/xyz00/mailinglist/ecartis -admins testmailingliste&amp;quot;&lt;br /&gt;
 testmailingliste-moderators: &amp;quot;|/home/pacs/xyz00/mailinglist/ecartis -moderators testmailingliste&amp;quot;&lt;br /&gt;
 testmailingliste-bounce: &amp;quot;|/home/pacs/xyz00/mailinglist/ecartis -bounce testmailingliste&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Diese Aliases setze ich nicht in dieser Form um, sondern nutze den &#039;&#039;recipient_delimiter&#039;&#039; von Postfix und die &#039;&#039;.procmailrc&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
==== Aliases ersetzen ====&lt;br /&gt;
&lt;br /&gt;
Durch den Aufruf von &#039;&#039;ecartis -newlist&#039;&#039; wurde eine Konfigurationsdatei für die neue Mailingliste angelegt.&lt;br /&gt;
Die Datei heißt &#039;&#039;$HOME/ecartis/lists/testmailingliste/config&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Hier ändere ich zunächst die folgenden Einträge:&lt;br /&gt;
&lt;br /&gt;
  reply-to = testmailingliste@example.com&lt;br /&gt;
  administrivia-address = testmailingliste+admins@example.com&lt;br /&gt;
  moderator = testmailingliste+moderators@example.com&lt;br /&gt;
  send-as = testmailingliste+bounce@example.com&lt;br /&gt;
&lt;br /&gt;
Bitte das &amp;quot;+&amp;quot;-Plus-Zeichen im Localpart der EMail-Adressen beachten!&lt;br /&gt;
&lt;br /&gt;
Mit hsadmin lege ich eine EMail-Adresse an:&lt;br /&gt;
&lt;br /&gt;
  hsadmin --call:emailaddress.add --set:localpart=testmailingliste --set:domain=example.com --set:target=xyz00&lt;br /&gt;
&lt;br /&gt;
Statt der Aliases mache die folgenden Einträge in die &#039;&#039;.procmailrc&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
 :0&lt;br /&gt;
 * ^X-Original-To: testmailingliste@example.com&lt;br /&gt;
 |$HOME/ecartis/ecartis -s testmailingliste&lt;br /&gt;
 :0&lt;br /&gt;
 * ^X-Original-To: testmailingliste\+request@example.com&lt;br /&gt;
 |$HOME/ecartis/ecartis -r testmailingliste&lt;br /&gt;
 :0&lt;br /&gt;
 * ^X-Original-To: testmailingliste\+repost@example.com&lt;br /&gt;
 |$HOME/ecartis/ecartis -a testmailingliste&lt;br /&gt;
 :0&lt;br /&gt;
 * ^X-Original-To: testmailingliste\+admins@example.com&lt;br /&gt;
 |$HOME/ecartis/ecartis -admins testmailingliste&lt;br /&gt;
 :0&lt;br /&gt;
 * ^X-Original-To: testmailingliste\+moderators@example.com&lt;br /&gt;
 |$HOME/ecartis/ecartis -moderators testmailingliste&lt;br /&gt;
 :0&lt;br /&gt;
 * ^X-Original-To: testmailingliste\+bounce@example.com&lt;br /&gt;
 |$HOME/ecartis/ecartis -bounce testmailingliste&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Jetzt gibt es eine offene Liste mit der Adresse testmailingliste@example.com, an der man sich mit einer E-Mail an testmailingliste+request@example.com mit dem Inhalt subscribe anmelden kann.&lt;br /&gt;
&lt;br /&gt;
Konfigurieren einer Mailingliste&lt;br /&gt;
&lt;br /&gt;
Jeder Listenmanager besitzt ein Unterverzeichnis /lists, in welchem die zugehörigen Listen verwaltet werden. Jeder Mailingliste wird ein Verzeichnis unterhalb dieses Verzeichnisses zugeordnet. Es hat den Namen der Mailingliste. Die Konfigurationsdatei für die einzelnen Listen heißt config und ist dort abgelegt. Eine detaillierte Beschreibung der einzelnen Optionen gibt es unter: [http://www.ecartis.org/variables.html].&lt;br /&gt;
&lt;br /&gt;
=== Konfiguration ===&lt;br /&gt;
&lt;br /&gt;
Hier nur die wichtigsten Einstellungen, die man konfigurieren sollte:&lt;br /&gt;
&lt;br /&gt;
* list-owner = der Eigentümer der Liste&lt;br /&gt;
* subject-tag = eine Zeichenfolge die im Betreff vorangestellt wird (wie [global] bei unserer global(at)hostsharing.net Mailingliste)&lt;br /&gt;
* description = eine Beschreibung der Liste&lt;br /&gt;
* reply-to = Adresse der Liste (in unserem Beispiel: testmailingliste@example.com)&lt;br /&gt;
* administrivia-address = in unserem Beispiel testmailingliste-admins@example.com&lt;br /&gt;
* humanize-mime = false&lt;br /&gt;
* humanize-quotedprintable = true&lt;br /&gt;
&lt;br /&gt;
Sorgen gemeinsam für eine ordentliche Handhabung von Umlauten, sie werden verstanden und es werden passende Header generiert.&lt;br /&gt;
&lt;br /&gt;
* mbox-archive-path = wenn man möchte, kann man alle Mails, die über die Liste verschickt werden, archivieren&lt;br /&gt;
* subscribe-mode = hier gibt es 3 mögliche Einstellungen:&lt;br /&gt;
*# open - Der Benutzer meldet sich per subscribe an und wird direkt in die Liste eingetragen&lt;br /&gt;
*# confirm - Der Benutzer muss die Anmeldung anhand einer zugeschickten Mail bestätigen&lt;br /&gt;
*# closed - Die Anmeldung muss vom Listenadmin erlaubt werden&lt;br /&gt;
* unsubscribe-mode = hier gibt es 3 mögliche Einstellungen:&lt;br /&gt;
*# open - Der Benutzer meldet sich per unsubscribe ab und wird direkt aus der Liste ausgetragen&lt;br /&gt;
*# confirm - Der Benutzer muss die Abmeldung anhand einer zugeschickten Mail bestätigen&lt;br /&gt;
*# closed - Die Abmeldung muss vom Listenadmin erlaubt werden&lt;br /&gt;
&lt;br /&gt;
=== Unterschiedliche Mailinglistentypen ===&lt;br /&gt;
&lt;br /&gt;
==== offene Liste ====&lt;br /&gt;
&lt;br /&gt;
Offene Liste bedeutet, dass jeder an die Liste schreiben kann, die dann an alle eingetragenen E-Mail-Adressen verteilt wird (Beispiel: global(at)hostsharing.net).&lt;br /&gt;
Dies ist der Standard bei der Einrichtung einer Liste und benötigt keine besonderen Einstellungen&lt;br /&gt;
&lt;br /&gt;
==== geschlossene Liste ====&lt;br /&gt;
&lt;br /&gt;
bedeutet, dass nur E-Mails von den Eingetragenen verteilt werden. Diese Listenart wird auch als member-only bezeichnet (Beispiel: members(at)hostsharing.net).&lt;br /&gt;
&lt;br /&gt;
Hierfür müssen folgende Optionen gesetzt werden:&lt;br /&gt;
&lt;br /&gt;
 closed-post = true&lt;br /&gt;
&lt;br /&gt;
Sinnvoll ist außerdem confirm oder closed bei subscribe-mode und unsubscribe-mode einzutragen.&lt;br /&gt;
&lt;br /&gt;
==== moderierte Liste ====&lt;br /&gt;
&lt;br /&gt;
bedeutet, dass E-Mails von jemandem authorisiert werden müssen, bevor sie verteilt werden. Wird in den meisten Fällen für Newsletter o.ä. verwendet, wo man als Betreiber den Eingetragenen E-Mails schicken will, aber eine Kommunikation der Eingetragenen untereinander nicht gewollt ist (Beispiel: global-announce(at)hostsharing.net).&lt;br /&gt;
&lt;br /&gt;
Hierfür müssen folgende Optionen gesetzt werden:&lt;br /&gt;
&lt;br /&gt;
 moderated = yes&lt;br /&gt;
 moderate-include-queue = true&lt;br /&gt;
 moderator = testmailingliste-moderators@example.com&lt;br /&gt;
&lt;br /&gt;
Sinnvoll ist außerdem confirm oder closed bei subscribe-mode und unsubscribe-mode einzutragen.&lt;br /&gt;
&lt;br /&gt;
=== Autorisierung ===&lt;br /&gt;
Für die Authorisierung gibt es mehrere Möglichkeiten:&lt;br /&gt;
&lt;br /&gt;
 admin-approvepost = true&lt;br /&gt;
&lt;br /&gt;
Damit werden alle E-Mails der Listenadministratoren direkt verschickt. Es wird nur überprüft, ob die Absender-E-Mail-Adresse übereinstimmt, da diese aber sehr leicht gefälscht werden kann, ist es nur ein sehr schwacher Schutz.&lt;br /&gt;
&lt;br /&gt;
 post-password = geheimesPasswort&lt;br /&gt;
&lt;br /&gt;
Das setzt das Passwort für diese Liste auf geheimesPasswort und nur E-Mails mit der folgenden Zeile im Header der E-Mail werden verteilt: X-posting-pass: geheimesPasswort&lt;br /&gt;
&lt;br /&gt;
Wenn man keine der beiden Optionen benutzt, dann wird die E-Mail zuerst an den Administrator der Liste geschickt, der sie bestätigen muss.&lt;br /&gt;
&lt;br /&gt;
== Weitere Möglichkeiten ==&lt;br /&gt;
&lt;br /&gt;
=== Verschiedene Domains ===&lt;br /&gt;
&lt;br /&gt;
Wenn man für verschiedene seiner Domains eigenständige Mailinglistensysteme betreiben will, so kann man das  Verzeichnis &#039;&#039;ecartis&#039;&#039; als Vorlage verwenden und beliebig kopieren. Dann sind natürlich die Aliase zur Steuerung des Listenmanagers per E-Mail ebenfalls zu kopieren und entsprechend anzupassen.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
[[Kategorie:HSDoku]]&lt;br /&gt;
[[Kategorie:Installationsanleitungen]]&lt;br /&gt;
[[Kategorie:Software]]&lt;/div&gt;</summary>
		<author><name>Peh00-phor</name></author>
	</entry>
	<entry>
		<id>https://wiki.hostsharing.net/index.php?title=Ecartis_Installieren&amp;diff=2302</id>
		<title>Ecartis Installieren</title>
		<link rel="alternate" type="text/html" href="https://wiki.hostsharing.net/index.php?title=Ecartis_Installieren&amp;diff=2302"/>
		<updated>2010-03-03T14:13:01Z</updated>

		<summary type="html">&lt;p&gt;Peh00-phor: /* admin-approvepost = true */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Mailinglisten mit ecartis ==&lt;br /&gt;
&lt;br /&gt;
{{Baustelle}}&lt;br /&gt;
&lt;br /&gt;
[http://www.ecartis.org/ Ecartis] ist ein Programm, mit dem Bei Hostsharing E-Mail Verteiler realisiert werden können.&lt;br /&gt;
&lt;br /&gt;
Vergleichen Sie dazu auch den Wikipedia-Artikel:&lt;br /&gt;
[http://de.wikipedia.org/wiki/Mailingliste Mailingliste]&lt;br /&gt;
&lt;br /&gt;
Alternative: [[Mailman]]&lt;br /&gt;
&lt;br /&gt;
Diese Anleitung beschreibt die Installation von Ecartis in einem Hostsharing DW-Paket für eine Domain.&lt;br /&gt;
&lt;br /&gt;
== ecartis ==&lt;br /&gt;
&lt;br /&gt;
=== Einrichten  ===&lt;br /&gt;
&lt;br /&gt;
Zunächst muss eine eigene Installation der Ecartis-Software in das Hostsharing-Paket kopiert werden.&lt;br /&gt;
&lt;br /&gt;
Rufe dazu als Paket-Admin auf:&lt;br /&gt;
&lt;br /&gt;
  cp -rL /usr/lib/ecartis $HOME&lt;br /&gt;
  mkdir $HOME/ecartis/queue&lt;br /&gt;
&lt;br /&gt;
Und um fremde Blicke auf die E-Mail-Adressen der Teilnehmer/innen zu verhindern:&lt;br /&gt;
&lt;br /&gt;
  chmod -R o-rwx $HOME/ecartis&lt;br /&gt;
&lt;br /&gt;
Im Verzeichnis &#039;&#039;ecartis&#039;&#039; befindet sich die Konfigurationsdatei ecartis.cfg, welche den Listenmanager steuert.&lt;br /&gt;
&lt;br /&gt;
=== Konfiguration  ===&lt;br /&gt;
&lt;br /&gt;
==== ecartis.cfg ====&lt;br /&gt;
&lt;br /&gt;
Für den Listenmanager müssen nun in ecartis.cfg mehrere Variablen angepasst werden. &lt;br /&gt;
Eine detailierte Beschreibung der einzelnen Optionen gibt es unter: http://www.ecartis.org/variables.html].&lt;br /&gt;
&lt;br /&gt;
Hier die notwendigen Einstellungen in ecartis.cfg:&lt;br /&gt;
&lt;br /&gt;
  listserver-address = ecartis@example.com&lt;br /&gt;
  listserver-admin = postmaster@example.com&lt;br /&gt;
  listserver-root = /home/pacs/xyz00/ecartis&lt;br /&gt;
  listserver-conf = /home/pacs/xyz00/ecartis&lt;br /&gt;
  listserver-data = /home/pacs/xyz00/ecartis&lt;br /&gt;
  listserver-modules = /home/pacs/xyz00/ecartis/modules&lt;br /&gt;
&lt;br /&gt;
==== E-Mail Adresse ====&lt;br /&gt;
&lt;br /&gt;
Im Folgenden benutze ich den Paket-User &#039;&#039;xyz00&#039;&#039; als Empfänger für alle E-Mails, die an Ecartis gehen. Die Verteilung erfolgt in der Datei &#039;&#039;.procmailrc&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Zunächst stelle ich sicher, dass für den Paket-User kein EMail-Alias eingerichtet ist, bzw. ich lösche es:&lt;br /&gt;
&lt;br /&gt;
  hsadmin --call:emailalias.search&lt;br /&gt;
  hsadmin --call:emailalias.delete --where:name=xyz00&lt;br /&gt;
&lt;br /&gt;
Dann richte ich die Adresse des Mailinglisten-Managers selbst ein:&lt;br /&gt;
&lt;br /&gt;
  hsadmin --call:emailaddress.add --set:target=xyz00 --set:localpart=ecartis --set:domain=example.com&lt;br /&gt;
&lt;br /&gt;
In der Datei &#039;&#039;$HOME/.procmailrc&#039;&#039; trage ich ein (siehe auch [[Procmail]]):&lt;br /&gt;
&lt;br /&gt;
 :0&lt;br /&gt;
 * ^X-Original-To: ecartis@example.com&lt;br /&gt;
 |$HOME/ecartis/ecartis&lt;br /&gt;
&lt;br /&gt;
===  Test ===&lt;br /&gt;
&lt;br /&gt;
Damit ist das Mailinglistensystem erreichbar und eine E-Mail an ecartis@example.com mit dem Inhalt help schickt uns die Datei ecartis.hlp zurück, die man später natürlich an seine Bedürfnisse anpassen kann.&lt;br /&gt;
&lt;br /&gt;
Einrichten einer Mailingliste&lt;br /&gt;
&lt;br /&gt;
== Mailinglisten ==&lt;br /&gt;
&lt;br /&gt;
=== Einrichten ===&lt;br /&gt;
&lt;br /&gt;
Man fügt nun den einzelnen Listenmanagern Listen hinzu. Dazu wechselt man in das Verzeichnis des jeweiligen Listenmanagers.&lt;br /&gt;
&lt;br /&gt;
Aufruf:&lt;br /&gt;
  &lt;br /&gt;
  cd $HOME/ecartis&lt;br /&gt;
  ./ecartis -newlist NAMEDERLISTE&lt;br /&gt;
&lt;br /&gt;
Dann wird man nach dem Administrator der einzurichtenden Liste gefragt und nach der Eingabe der E-Mail-Adresse erhält man eine Liste von Aliases.&lt;br /&gt;
&lt;br /&gt;
Folgendes gibt uns der Befehl zurück:&lt;br /&gt;
&lt;br /&gt;
 Aliases for &#039;testmailingliste&#039; mailing list.&lt;br /&gt;
 testmailingliste: &amp;quot;|/home/pacs/xyz00/mailinglist/ecartis -s testmailingliste&amp;quot;&lt;br /&gt;
 testmailingliste-request: &amp;quot;|/home/pacs/xyz00/mailinglist/ecartis -r testmailingliste&amp;quot;&lt;br /&gt;
 testmailingliste-repost: &amp;quot;|/home/pacs/xyz00/mailinglist/ecartis -a testmailingliste&amp;quot;&lt;br /&gt;
 testmailingliste-admins: &amp;quot;|/home/pacs/xyz00/mailinglist/ecartis -admins testmailingliste&amp;quot;&lt;br /&gt;
 testmailingliste-moderators: &amp;quot;|/home/pacs/xyz00/mailinglist/ecartis -moderators testmailingliste&amp;quot;&lt;br /&gt;
 testmailingliste-bounce: &amp;quot;|/home/pacs/xyz00/mailinglist/ecartis -bounce testmailingliste&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Diese Aliases setze ich nicht in dieser Form um, sondern nutze den &#039;&#039;recipient_delimiter&#039;&#039; von Postfix und die &#039;&#039;.procmailrc&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
==== Aliases ersetzen ====&lt;br /&gt;
&lt;br /&gt;
Durch den Aufruf von &#039;&#039;ecartis -newlist&#039;&#039; wurde eine Konfigurationsdatei für die neue Mailingliste angelegt.&lt;br /&gt;
Die Datei heißt &#039;&#039;$HOME/ecartis/lists/testmailingliste/config&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Hier ändere ich zunächst die folgenden Einträge:&lt;br /&gt;
&lt;br /&gt;
  reply-to = testmailingliste@example.com&lt;br /&gt;
  administrivia-address = testmailingliste+admins@example.com&lt;br /&gt;
  moderator = testmailingliste+moderators@example.com&lt;br /&gt;
  send-as = testmailingliste+bounce@example.com&lt;br /&gt;
&lt;br /&gt;
Bitte das &amp;quot;+&amp;quot;-Plus-Zeichen im Localpart der EMail-Adressen beachten!&lt;br /&gt;
&lt;br /&gt;
Mit hsadmin lege ich eine EMail-Adresse an:&lt;br /&gt;
&lt;br /&gt;
  hsadmin --call:emailaddress.add --set:localpart=testmailingliste --set:domain=example.com --set:target=xyz00&lt;br /&gt;
&lt;br /&gt;
Statt der Aliases mache die folgenden Einträge in die &#039;&#039;.procmailrc&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
 :0&lt;br /&gt;
 * ^X-Original-To: testmailingliste@example.com&lt;br /&gt;
 |$HOME/ecartis/ecartis -s testmailingliste&lt;br /&gt;
 :0&lt;br /&gt;
 * ^X-Original-To: testmailingliste\+request@example.com&lt;br /&gt;
 |$HOME/ecartis/ecartis -r testmailingliste&lt;br /&gt;
 :0&lt;br /&gt;
 * ^X-Original-To: testmailingliste\+repost@example.com&lt;br /&gt;
 |$HOME/ecartis/ecartis -a testmailingliste&lt;br /&gt;
 :0&lt;br /&gt;
 * ^X-Original-To: testmailingliste\+admins@example.com&lt;br /&gt;
 |$HOME/ecartis/ecartis -admins testmailingliste&lt;br /&gt;
 :0&lt;br /&gt;
 * ^X-Original-To: testmailingliste\+moderators@example.com&lt;br /&gt;
 |$HOME/ecartis/ecartis -moderators testmailingliste&lt;br /&gt;
 :0&lt;br /&gt;
 * ^X-Original-To: testmailingliste\+bounce@example.com&lt;br /&gt;
 |$HOME/ecartis/ecartis -bounce testmailingliste&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Jetzt gibt es eine offene Liste mit der Adresse testmailingliste@example.com, an der man sich mit einer E-Mail an testmailingliste+request@example.com mit dem Inhalt subscribe anmelden kann.&lt;br /&gt;
&lt;br /&gt;
Konfigurieren einer Mailingliste&lt;br /&gt;
&lt;br /&gt;
Jeder Listenmanager besitzt ein Unterverzeichnis /lists, in welchem die zugehörigen Listen verwaltet werden. Jeder Mailingliste wird ein Verzeichnis unterhalb dieses Verzeichnisses zugeordnet. Es hat den Namen der Mailingliste. Die Konfigurationsdatei für die einzelnen Listen heißt config und ist dort abgelegt. Eine detaillierte Beschreibung der einzelnen Optionen gibt es unter: [http://www.ecartis.org/variables.html].&lt;br /&gt;
&lt;br /&gt;
=== Konfiguration ===&lt;br /&gt;
&lt;br /&gt;
Hier nur die wichtigsten Einstellungen, die man konfigurieren sollte:&lt;br /&gt;
&lt;br /&gt;
* list-owner = der Eigentümer der Liste&lt;br /&gt;
* subject-tag = eine Zeichenfolge die im Betreff vorangestellt wird (wie [global] bei unserer global(at)hostsharing.net Mailingliste)&lt;br /&gt;
* description = eine Beschreibung der Liste&lt;br /&gt;
* reply-to = Adresse der Liste (in unserem Beispiel: testmailingliste@example.com)&lt;br /&gt;
* administrivia-address = in unserem Beispiel testmailingliste-admins@example.com&lt;br /&gt;
* humanize-mime = false&lt;br /&gt;
* humanize-quotedprintable = true&lt;br /&gt;
&lt;br /&gt;
Sorgen gemeinsam für eine ordentliche Handhabung von Umlauten, sie werden verstanden und es werden passende Header generiert.&lt;br /&gt;
&lt;br /&gt;
* mbox-archive-path = wenn man möchte, kann man alle Mails, die über die Liste verschickt werden, archivieren&lt;br /&gt;
* subscribe-mode = hier gibt es 3 mögliche Einstellungen:&lt;br /&gt;
*# open - Der Benutzer meldet sich per subscribe an und wird direkt in die Liste eingetragen&lt;br /&gt;
*# confirm - Der Benutzer muss die Anmeldung anhand einer zugeschickten Mail bestätigen&lt;br /&gt;
*# closed - Die Anmeldung muss vom Listenadmin erlaubt werden&lt;br /&gt;
* unsubscribe-mode = hier gibt es 3 mögliche Einstellungen:&lt;br /&gt;
*# open - Der Benutzer meldet sich per unsubscribe ab und wird direkt aus der Liste ausgetragen&lt;br /&gt;
*# confirm - Der Benutzer muss die Abmeldung anhand einer zugeschickten Mail bestätigen&lt;br /&gt;
*# closed - Die Abmeldung muss vom Listenadmin erlaubt werden&lt;br /&gt;
&lt;br /&gt;
=== Unterschiedliche Mailinglistentypen ===&lt;br /&gt;
&lt;br /&gt;
==== offene Liste ====&lt;br /&gt;
&lt;br /&gt;
Offene Liste bedeutet, dass jeder an die Liste schreiben kann, die dann an alle eingetragenen E-Mail-Adressen verteilt wird (Beispiel: global(at)hostsharing.net).&lt;br /&gt;
Dies ist der Standard bei der Einrichtung einer Liste und benötigt keine besonderen Einstellungen&lt;br /&gt;
&lt;br /&gt;
==== geschlossene Liste ====&lt;br /&gt;
&lt;br /&gt;
bedeutet, dass nur E-Mails von den Eingetragenen verteilt werden. Diese Listenart wird auch als member-only bezeichnet (Beispiel: members(at)hostsharing.net).&lt;br /&gt;
&lt;br /&gt;
Hierfür müssen folgende Optionen gesetzt werden:&lt;br /&gt;
&lt;br /&gt;
 closed-post = true&lt;br /&gt;
&lt;br /&gt;
Sinnvoll ist außerdem confirm oder closed bei subscribe-mode und unsubscribe-mode einzutragen.&lt;br /&gt;
&lt;br /&gt;
==== moderierte Liste ====&lt;br /&gt;
&lt;br /&gt;
bedeutet, dass E-Mails von jemandem authorisiert werden müssen, bevor sie verteilt werden. Wird in den meisten Fällen für Newsletter o.ä. verwendet, wo man als Betreiber den Eingetragenen E-Mails schicken will, aber eine Kommunikation der Eingetragenen untereinander nicht gewollt ist (Beispiel: global-announce(at)hostsharing.net).&lt;br /&gt;
&lt;br /&gt;
Hierfür müssen folgende Optionen gesetzt werden:&lt;br /&gt;
&lt;br /&gt;
 moderated = yes&lt;br /&gt;
 moderate-include-queue = true&lt;br /&gt;
 moderator = testmailingliste-moderators@example.com&lt;br /&gt;
&lt;br /&gt;
Sinnvoll ist außerdem confirm oder closed bei subscribe-mode und unsubscribe-mode einzutragen.&lt;br /&gt;
&lt;br /&gt;
=== Autorisierung ===&lt;br /&gt;
Für die Authorisierung gibt es mehrere Möglichkeiten:&lt;br /&gt;
&lt;br /&gt;
 admin-approvepost = true&lt;br /&gt;
&lt;br /&gt;
Damit werden alle E-Mails der Listenadministratoren direkt verschickt. Es wird nur überprüft, ob die Absender-E-Mail-Adresse übereinstimmt, da diese aber sehr leicht gefälscht werden kann, ist es nur ein sehr schwacher Schutz.&lt;br /&gt;
&lt;br /&gt;
==== post-password = geheimesPasswort ====&lt;br /&gt;
&lt;br /&gt;
Das setzt das Passwort für diese Liste auf geheimesPasswort und nur E-Mails mit der folgenden Zeile im Header der E-Mail werden verteilt: X-posting-pass: geheimesPasswort&lt;br /&gt;
&lt;br /&gt;
Wenn man keine der beiden Optionen benutzt, dann wird die E-Mail zuerst an den Administrator der Liste geschickt, der sie bestätigen muss.&lt;br /&gt;
&lt;br /&gt;
== Weitere Möglichkeiten ==&lt;br /&gt;
&lt;br /&gt;
=== Verschiedene Domains ===&lt;br /&gt;
&lt;br /&gt;
Wenn man für verschiedene seiner Domains eigenständige Mailinglistensysteme betreiben will, so kann man das  Verzeichnis &#039;&#039;ecartis&#039;&#039; als Vorlage verwenden und beliebig kopieren. Dann sind natürlich die Aliase zur Steuerung des Listenmanagers per E-Mail ebenfalls zu kopieren und entsprechend anzupassen.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
[[Kategorie:HSDoku]]&lt;br /&gt;
[[Kategorie:Installationsanleitungen]]&lt;br /&gt;
[[Kategorie:Software]]&lt;/div&gt;</summary>
		<author><name>Peh00-phor</name></author>
	</entry>
	<entry>
		<id>https://wiki.hostsharing.net/index.php?title=Ecartis_Installieren&amp;diff=2301</id>
		<title>Ecartis Installieren</title>
		<link rel="alternate" type="text/html" href="https://wiki.hostsharing.net/index.php?title=Ecartis_Installieren&amp;diff=2301"/>
		<updated>2010-03-03T14:12:30Z</updated>

		<summary type="html">&lt;p&gt;Peh00-phor: /* moderierte Liste */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Mailinglisten mit ecartis ==&lt;br /&gt;
&lt;br /&gt;
{{Baustelle}}&lt;br /&gt;
&lt;br /&gt;
[http://www.ecartis.org/ Ecartis] ist ein Programm, mit dem Bei Hostsharing E-Mail Verteiler realisiert werden können.&lt;br /&gt;
&lt;br /&gt;
Vergleichen Sie dazu auch den Wikipedia-Artikel:&lt;br /&gt;
[http://de.wikipedia.org/wiki/Mailingliste Mailingliste]&lt;br /&gt;
&lt;br /&gt;
Alternative: [[Mailman]]&lt;br /&gt;
&lt;br /&gt;
Diese Anleitung beschreibt die Installation von Ecartis in einem Hostsharing DW-Paket für eine Domain.&lt;br /&gt;
&lt;br /&gt;
== ecartis ==&lt;br /&gt;
&lt;br /&gt;
=== Einrichten  ===&lt;br /&gt;
&lt;br /&gt;
Zunächst muss eine eigene Installation der Ecartis-Software in das Hostsharing-Paket kopiert werden.&lt;br /&gt;
&lt;br /&gt;
Rufe dazu als Paket-Admin auf:&lt;br /&gt;
&lt;br /&gt;
  cp -rL /usr/lib/ecartis $HOME&lt;br /&gt;
  mkdir $HOME/ecartis/queue&lt;br /&gt;
&lt;br /&gt;
Und um fremde Blicke auf die E-Mail-Adressen der Teilnehmer/innen zu verhindern:&lt;br /&gt;
&lt;br /&gt;
  chmod -R o-rwx $HOME/ecartis&lt;br /&gt;
&lt;br /&gt;
Im Verzeichnis &#039;&#039;ecartis&#039;&#039; befindet sich die Konfigurationsdatei ecartis.cfg, welche den Listenmanager steuert.&lt;br /&gt;
&lt;br /&gt;
=== Konfiguration  ===&lt;br /&gt;
&lt;br /&gt;
==== ecartis.cfg ====&lt;br /&gt;
&lt;br /&gt;
Für den Listenmanager müssen nun in ecartis.cfg mehrere Variablen angepasst werden. &lt;br /&gt;
Eine detailierte Beschreibung der einzelnen Optionen gibt es unter: http://www.ecartis.org/variables.html].&lt;br /&gt;
&lt;br /&gt;
Hier die notwendigen Einstellungen in ecartis.cfg:&lt;br /&gt;
&lt;br /&gt;
  listserver-address = ecartis@example.com&lt;br /&gt;
  listserver-admin = postmaster@example.com&lt;br /&gt;
  listserver-root = /home/pacs/xyz00/ecartis&lt;br /&gt;
  listserver-conf = /home/pacs/xyz00/ecartis&lt;br /&gt;
  listserver-data = /home/pacs/xyz00/ecartis&lt;br /&gt;
  listserver-modules = /home/pacs/xyz00/ecartis/modules&lt;br /&gt;
&lt;br /&gt;
==== E-Mail Adresse ====&lt;br /&gt;
&lt;br /&gt;
Im Folgenden benutze ich den Paket-User &#039;&#039;xyz00&#039;&#039; als Empfänger für alle E-Mails, die an Ecartis gehen. Die Verteilung erfolgt in der Datei &#039;&#039;.procmailrc&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Zunächst stelle ich sicher, dass für den Paket-User kein EMail-Alias eingerichtet ist, bzw. ich lösche es:&lt;br /&gt;
&lt;br /&gt;
  hsadmin --call:emailalias.search&lt;br /&gt;
  hsadmin --call:emailalias.delete --where:name=xyz00&lt;br /&gt;
&lt;br /&gt;
Dann richte ich die Adresse des Mailinglisten-Managers selbst ein:&lt;br /&gt;
&lt;br /&gt;
  hsadmin --call:emailaddress.add --set:target=xyz00 --set:localpart=ecartis --set:domain=example.com&lt;br /&gt;
&lt;br /&gt;
In der Datei &#039;&#039;$HOME/.procmailrc&#039;&#039; trage ich ein (siehe auch [[Procmail]]):&lt;br /&gt;
&lt;br /&gt;
 :0&lt;br /&gt;
 * ^X-Original-To: ecartis@example.com&lt;br /&gt;
 |$HOME/ecartis/ecartis&lt;br /&gt;
&lt;br /&gt;
===  Test ===&lt;br /&gt;
&lt;br /&gt;
Damit ist das Mailinglistensystem erreichbar und eine E-Mail an ecartis@example.com mit dem Inhalt help schickt uns die Datei ecartis.hlp zurück, die man später natürlich an seine Bedürfnisse anpassen kann.&lt;br /&gt;
&lt;br /&gt;
Einrichten einer Mailingliste&lt;br /&gt;
&lt;br /&gt;
== Mailinglisten ==&lt;br /&gt;
&lt;br /&gt;
=== Einrichten ===&lt;br /&gt;
&lt;br /&gt;
Man fügt nun den einzelnen Listenmanagern Listen hinzu. Dazu wechselt man in das Verzeichnis des jeweiligen Listenmanagers.&lt;br /&gt;
&lt;br /&gt;
Aufruf:&lt;br /&gt;
  &lt;br /&gt;
  cd $HOME/ecartis&lt;br /&gt;
  ./ecartis -newlist NAMEDERLISTE&lt;br /&gt;
&lt;br /&gt;
Dann wird man nach dem Administrator der einzurichtenden Liste gefragt und nach der Eingabe der E-Mail-Adresse erhält man eine Liste von Aliases.&lt;br /&gt;
&lt;br /&gt;
Folgendes gibt uns der Befehl zurück:&lt;br /&gt;
&lt;br /&gt;
 Aliases for &#039;testmailingliste&#039; mailing list.&lt;br /&gt;
 testmailingliste: &amp;quot;|/home/pacs/xyz00/mailinglist/ecartis -s testmailingliste&amp;quot;&lt;br /&gt;
 testmailingliste-request: &amp;quot;|/home/pacs/xyz00/mailinglist/ecartis -r testmailingliste&amp;quot;&lt;br /&gt;
 testmailingliste-repost: &amp;quot;|/home/pacs/xyz00/mailinglist/ecartis -a testmailingliste&amp;quot;&lt;br /&gt;
 testmailingliste-admins: &amp;quot;|/home/pacs/xyz00/mailinglist/ecartis -admins testmailingliste&amp;quot;&lt;br /&gt;
 testmailingliste-moderators: &amp;quot;|/home/pacs/xyz00/mailinglist/ecartis -moderators testmailingliste&amp;quot;&lt;br /&gt;
 testmailingliste-bounce: &amp;quot;|/home/pacs/xyz00/mailinglist/ecartis -bounce testmailingliste&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Diese Aliases setze ich nicht in dieser Form um, sondern nutze den &#039;&#039;recipient_delimiter&#039;&#039; von Postfix und die &#039;&#039;.procmailrc&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
==== Aliases ersetzen ====&lt;br /&gt;
&lt;br /&gt;
Durch den Aufruf von &#039;&#039;ecartis -newlist&#039;&#039; wurde eine Konfigurationsdatei für die neue Mailingliste angelegt.&lt;br /&gt;
Die Datei heißt &#039;&#039;$HOME/ecartis/lists/testmailingliste/config&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Hier ändere ich zunächst die folgenden Einträge:&lt;br /&gt;
&lt;br /&gt;
  reply-to = testmailingliste@example.com&lt;br /&gt;
  administrivia-address = testmailingliste+admins@example.com&lt;br /&gt;
  moderator = testmailingliste+moderators@example.com&lt;br /&gt;
  send-as = testmailingliste+bounce@example.com&lt;br /&gt;
&lt;br /&gt;
Bitte das &amp;quot;+&amp;quot;-Plus-Zeichen im Localpart der EMail-Adressen beachten!&lt;br /&gt;
&lt;br /&gt;
Mit hsadmin lege ich eine EMail-Adresse an:&lt;br /&gt;
&lt;br /&gt;
  hsadmin --call:emailaddress.add --set:localpart=testmailingliste --set:domain=example.com --set:target=xyz00&lt;br /&gt;
&lt;br /&gt;
Statt der Aliases mache die folgenden Einträge in die &#039;&#039;.procmailrc&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
 :0&lt;br /&gt;
 * ^X-Original-To: testmailingliste@example.com&lt;br /&gt;
 |$HOME/ecartis/ecartis -s testmailingliste&lt;br /&gt;
 :0&lt;br /&gt;
 * ^X-Original-To: testmailingliste\+request@example.com&lt;br /&gt;
 |$HOME/ecartis/ecartis -r testmailingliste&lt;br /&gt;
 :0&lt;br /&gt;
 * ^X-Original-To: testmailingliste\+repost@example.com&lt;br /&gt;
 |$HOME/ecartis/ecartis -a testmailingliste&lt;br /&gt;
 :0&lt;br /&gt;
 * ^X-Original-To: testmailingliste\+admins@example.com&lt;br /&gt;
 |$HOME/ecartis/ecartis -admins testmailingliste&lt;br /&gt;
 :0&lt;br /&gt;
 * ^X-Original-To: testmailingliste\+moderators@example.com&lt;br /&gt;
 |$HOME/ecartis/ecartis -moderators testmailingliste&lt;br /&gt;
 :0&lt;br /&gt;
 * ^X-Original-To: testmailingliste\+bounce@example.com&lt;br /&gt;
 |$HOME/ecartis/ecartis -bounce testmailingliste&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Jetzt gibt es eine offene Liste mit der Adresse testmailingliste@example.com, an der man sich mit einer E-Mail an testmailingliste+request@example.com mit dem Inhalt subscribe anmelden kann.&lt;br /&gt;
&lt;br /&gt;
Konfigurieren einer Mailingliste&lt;br /&gt;
&lt;br /&gt;
Jeder Listenmanager besitzt ein Unterverzeichnis /lists, in welchem die zugehörigen Listen verwaltet werden. Jeder Mailingliste wird ein Verzeichnis unterhalb dieses Verzeichnisses zugeordnet. Es hat den Namen der Mailingliste. Die Konfigurationsdatei für die einzelnen Listen heißt config und ist dort abgelegt. Eine detaillierte Beschreibung der einzelnen Optionen gibt es unter: [http://www.ecartis.org/variables.html].&lt;br /&gt;
&lt;br /&gt;
=== Konfiguration ===&lt;br /&gt;
&lt;br /&gt;
Hier nur die wichtigsten Einstellungen, die man konfigurieren sollte:&lt;br /&gt;
&lt;br /&gt;
* list-owner = der Eigentümer der Liste&lt;br /&gt;
* subject-tag = eine Zeichenfolge die im Betreff vorangestellt wird (wie [global] bei unserer global(at)hostsharing.net Mailingliste)&lt;br /&gt;
* description = eine Beschreibung der Liste&lt;br /&gt;
* reply-to = Adresse der Liste (in unserem Beispiel: testmailingliste@example.com)&lt;br /&gt;
* administrivia-address = in unserem Beispiel testmailingliste-admins@example.com&lt;br /&gt;
* humanize-mime = false&lt;br /&gt;
* humanize-quotedprintable = true&lt;br /&gt;
&lt;br /&gt;
Sorgen gemeinsam für eine ordentliche Handhabung von Umlauten, sie werden verstanden und es werden passende Header generiert.&lt;br /&gt;
&lt;br /&gt;
* mbox-archive-path = wenn man möchte, kann man alle Mails, die über die Liste verschickt werden, archivieren&lt;br /&gt;
* subscribe-mode = hier gibt es 3 mögliche Einstellungen:&lt;br /&gt;
*# open - Der Benutzer meldet sich per subscribe an und wird direkt in die Liste eingetragen&lt;br /&gt;
*# confirm - Der Benutzer muss die Anmeldung anhand einer zugeschickten Mail bestätigen&lt;br /&gt;
*# closed - Die Anmeldung muss vom Listenadmin erlaubt werden&lt;br /&gt;
* unsubscribe-mode = hier gibt es 3 mögliche Einstellungen:&lt;br /&gt;
*# open - Der Benutzer meldet sich per unsubscribe ab und wird direkt aus der Liste ausgetragen&lt;br /&gt;
*# confirm - Der Benutzer muss die Abmeldung anhand einer zugeschickten Mail bestätigen&lt;br /&gt;
*# closed - Die Abmeldung muss vom Listenadmin erlaubt werden&lt;br /&gt;
&lt;br /&gt;
=== Unterschiedliche Mailinglistentypen ===&lt;br /&gt;
&lt;br /&gt;
==== offene Liste ====&lt;br /&gt;
&lt;br /&gt;
Offene Liste bedeutet, dass jeder an die Liste schreiben kann, die dann an alle eingetragenen E-Mail-Adressen verteilt wird (Beispiel: global(at)hostsharing.net).&lt;br /&gt;
Dies ist der Standard bei der Einrichtung einer Liste und benötigt keine besonderen Einstellungen&lt;br /&gt;
&lt;br /&gt;
==== geschlossene Liste ====&lt;br /&gt;
&lt;br /&gt;
bedeutet, dass nur E-Mails von den Eingetragenen verteilt werden. Diese Listenart wird auch als member-only bezeichnet (Beispiel: members(at)hostsharing.net).&lt;br /&gt;
&lt;br /&gt;
Hierfür müssen folgende Optionen gesetzt werden:&lt;br /&gt;
&lt;br /&gt;
 closed-post = true&lt;br /&gt;
&lt;br /&gt;
Sinnvoll ist außerdem confirm oder closed bei subscribe-mode und unsubscribe-mode einzutragen.&lt;br /&gt;
&lt;br /&gt;
==== moderierte Liste ====&lt;br /&gt;
&lt;br /&gt;
bedeutet, dass E-Mails von jemandem authorisiert werden müssen, bevor sie verteilt werden. Wird in den meisten Fällen für Newsletter o.ä. verwendet, wo man als Betreiber den Eingetragenen E-Mails schicken will, aber eine Kommunikation der Eingetragenen untereinander nicht gewollt ist (Beispiel: global-announce(at)hostsharing.net).&lt;br /&gt;
&lt;br /&gt;
Hierfür müssen folgende Optionen gesetzt werden:&lt;br /&gt;
&lt;br /&gt;
 moderated = yes&lt;br /&gt;
 moderate-include-queue = true&lt;br /&gt;
 moderator = testmailingliste-moderators@example.com&lt;br /&gt;
&lt;br /&gt;
Sinnvoll ist außerdem confirm oder closed bei subscribe-mode und unsubscribe-mode einzutragen.&lt;br /&gt;
&lt;br /&gt;
=== Autorisierung ===&lt;br /&gt;
Für die Authorisierung gibt es mehrere Möglichkeiten:&lt;br /&gt;
&lt;br /&gt;
==== admin-approvepost = true ====&lt;br /&gt;
&lt;br /&gt;
Damit werden alle E-Mails der Listenadministratoren direkt verschickt. Es wird nur überprüft, ob die Absender-E-Mail-Adresse übereinstimmt, da diese aber sehr leicht gefälscht werden kann, ist es nur ein sehr schwacher Schutz.&lt;br /&gt;
&lt;br /&gt;
==== post-password = geheimesPasswort ====&lt;br /&gt;
&lt;br /&gt;
Das setzt das Passwort für diese Liste auf geheimesPasswort und nur E-Mails mit der folgenden Zeile im Header der E-Mail werden verteilt: X-posting-pass: geheimesPasswort&lt;br /&gt;
&lt;br /&gt;
Wenn man keine der beiden Optionen benutzt, dann wird die E-Mail zuerst an den Administrator der Liste geschickt, der sie bestätigen muss.&lt;br /&gt;
&lt;br /&gt;
== Weitere Möglichkeiten ==&lt;br /&gt;
&lt;br /&gt;
=== Verschiedene Domains ===&lt;br /&gt;
&lt;br /&gt;
Wenn man für verschiedene seiner Domains eigenständige Mailinglistensysteme betreiben will, so kann man das  Verzeichnis &#039;&#039;ecartis&#039;&#039; als Vorlage verwenden und beliebig kopieren. Dann sind natürlich die Aliase zur Steuerung des Listenmanagers per E-Mail ebenfalls zu kopieren und entsprechend anzupassen.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
[[Kategorie:HSDoku]]&lt;br /&gt;
[[Kategorie:Installationsanleitungen]]&lt;br /&gt;
[[Kategorie:Software]]&lt;/div&gt;</summary>
		<author><name>Peh00-phor</name></author>
	</entry>
	<entry>
		<id>https://wiki.hostsharing.net/index.php?title=Ecartis_Installieren&amp;diff=2300</id>
		<title>Ecartis Installieren</title>
		<link rel="alternate" type="text/html" href="https://wiki.hostsharing.net/index.php?title=Ecartis_Installieren&amp;diff=2300"/>
		<updated>2010-03-03T14:11:51Z</updated>

		<summary type="html">&lt;p&gt;Peh00-phor: /* Konfiguration */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Mailinglisten mit ecartis ==&lt;br /&gt;
&lt;br /&gt;
{{Baustelle}}&lt;br /&gt;
&lt;br /&gt;
[http://www.ecartis.org/ Ecartis] ist ein Programm, mit dem Bei Hostsharing E-Mail Verteiler realisiert werden können.&lt;br /&gt;
&lt;br /&gt;
Vergleichen Sie dazu auch den Wikipedia-Artikel:&lt;br /&gt;
[http://de.wikipedia.org/wiki/Mailingliste Mailingliste]&lt;br /&gt;
&lt;br /&gt;
Alternative: [[Mailman]]&lt;br /&gt;
&lt;br /&gt;
Diese Anleitung beschreibt die Installation von Ecartis in einem Hostsharing DW-Paket für eine Domain.&lt;br /&gt;
&lt;br /&gt;
== ecartis ==&lt;br /&gt;
&lt;br /&gt;
=== Einrichten  ===&lt;br /&gt;
&lt;br /&gt;
Zunächst muss eine eigene Installation der Ecartis-Software in das Hostsharing-Paket kopiert werden.&lt;br /&gt;
&lt;br /&gt;
Rufe dazu als Paket-Admin auf:&lt;br /&gt;
&lt;br /&gt;
  cp -rL /usr/lib/ecartis $HOME&lt;br /&gt;
  mkdir $HOME/ecartis/queue&lt;br /&gt;
&lt;br /&gt;
Und um fremde Blicke auf die E-Mail-Adressen der Teilnehmer/innen zu verhindern:&lt;br /&gt;
&lt;br /&gt;
  chmod -R o-rwx $HOME/ecartis&lt;br /&gt;
&lt;br /&gt;
Im Verzeichnis &#039;&#039;ecartis&#039;&#039; befindet sich die Konfigurationsdatei ecartis.cfg, welche den Listenmanager steuert.&lt;br /&gt;
&lt;br /&gt;
=== Konfiguration  ===&lt;br /&gt;
&lt;br /&gt;
==== ecartis.cfg ====&lt;br /&gt;
&lt;br /&gt;
Für den Listenmanager müssen nun in ecartis.cfg mehrere Variablen angepasst werden. &lt;br /&gt;
Eine detailierte Beschreibung der einzelnen Optionen gibt es unter: http://www.ecartis.org/variables.html].&lt;br /&gt;
&lt;br /&gt;
Hier die notwendigen Einstellungen in ecartis.cfg:&lt;br /&gt;
&lt;br /&gt;
  listserver-address = ecartis@example.com&lt;br /&gt;
  listserver-admin = postmaster@example.com&lt;br /&gt;
  listserver-root = /home/pacs/xyz00/ecartis&lt;br /&gt;
  listserver-conf = /home/pacs/xyz00/ecartis&lt;br /&gt;
  listserver-data = /home/pacs/xyz00/ecartis&lt;br /&gt;
  listserver-modules = /home/pacs/xyz00/ecartis/modules&lt;br /&gt;
&lt;br /&gt;
==== E-Mail Adresse ====&lt;br /&gt;
&lt;br /&gt;
Im Folgenden benutze ich den Paket-User &#039;&#039;xyz00&#039;&#039; als Empfänger für alle E-Mails, die an Ecartis gehen. Die Verteilung erfolgt in der Datei &#039;&#039;.procmailrc&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Zunächst stelle ich sicher, dass für den Paket-User kein EMail-Alias eingerichtet ist, bzw. ich lösche es:&lt;br /&gt;
&lt;br /&gt;
  hsadmin --call:emailalias.search&lt;br /&gt;
  hsadmin --call:emailalias.delete --where:name=xyz00&lt;br /&gt;
&lt;br /&gt;
Dann richte ich die Adresse des Mailinglisten-Managers selbst ein:&lt;br /&gt;
&lt;br /&gt;
  hsadmin --call:emailaddress.add --set:target=xyz00 --set:localpart=ecartis --set:domain=example.com&lt;br /&gt;
&lt;br /&gt;
In der Datei &#039;&#039;$HOME/.procmailrc&#039;&#039; trage ich ein (siehe auch [[Procmail]]):&lt;br /&gt;
&lt;br /&gt;
 :0&lt;br /&gt;
 * ^X-Original-To: ecartis@example.com&lt;br /&gt;
 |$HOME/ecartis/ecartis&lt;br /&gt;
&lt;br /&gt;
===  Test ===&lt;br /&gt;
&lt;br /&gt;
Damit ist das Mailinglistensystem erreichbar und eine E-Mail an ecartis@example.com mit dem Inhalt help schickt uns die Datei ecartis.hlp zurück, die man später natürlich an seine Bedürfnisse anpassen kann.&lt;br /&gt;
&lt;br /&gt;
Einrichten einer Mailingliste&lt;br /&gt;
&lt;br /&gt;
== Mailinglisten ==&lt;br /&gt;
&lt;br /&gt;
=== Einrichten ===&lt;br /&gt;
&lt;br /&gt;
Man fügt nun den einzelnen Listenmanagern Listen hinzu. Dazu wechselt man in das Verzeichnis des jeweiligen Listenmanagers.&lt;br /&gt;
&lt;br /&gt;
Aufruf:&lt;br /&gt;
  &lt;br /&gt;
  cd $HOME/ecartis&lt;br /&gt;
  ./ecartis -newlist NAMEDERLISTE&lt;br /&gt;
&lt;br /&gt;
Dann wird man nach dem Administrator der einzurichtenden Liste gefragt und nach der Eingabe der E-Mail-Adresse erhält man eine Liste von Aliases.&lt;br /&gt;
&lt;br /&gt;
Folgendes gibt uns der Befehl zurück:&lt;br /&gt;
&lt;br /&gt;
 Aliases for &#039;testmailingliste&#039; mailing list.&lt;br /&gt;
 testmailingliste: &amp;quot;|/home/pacs/xyz00/mailinglist/ecartis -s testmailingliste&amp;quot;&lt;br /&gt;
 testmailingliste-request: &amp;quot;|/home/pacs/xyz00/mailinglist/ecartis -r testmailingliste&amp;quot;&lt;br /&gt;
 testmailingliste-repost: &amp;quot;|/home/pacs/xyz00/mailinglist/ecartis -a testmailingliste&amp;quot;&lt;br /&gt;
 testmailingliste-admins: &amp;quot;|/home/pacs/xyz00/mailinglist/ecartis -admins testmailingliste&amp;quot;&lt;br /&gt;
 testmailingliste-moderators: &amp;quot;|/home/pacs/xyz00/mailinglist/ecartis -moderators testmailingliste&amp;quot;&lt;br /&gt;
 testmailingliste-bounce: &amp;quot;|/home/pacs/xyz00/mailinglist/ecartis -bounce testmailingliste&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Diese Aliases setze ich nicht in dieser Form um, sondern nutze den &#039;&#039;recipient_delimiter&#039;&#039; von Postfix und die &#039;&#039;.procmailrc&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
==== Aliases ersetzen ====&lt;br /&gt;
&lt;br /&gt;
Durch den Aufruf von &#039;&#039;ecartis -newlist&#039;&#039; wurde eine Konfigurationsdatei für die neue Mailingliste angelegt.&lt;br /&gt;
Die Datei heißt &#039;&#039;$HOME/ecartis/lists/testmailingliste/config&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Hier ändere ich zunächst die folgenden Einträge:&lt;br /&gt;
&lt;br /&gt;
  reply-to = testmailingliste@example.com&lt;br /&gt;
  administrivia-address = testmailingliste+admins@example.com&lt;br /&gt;
  moderator = testmailingliste+moderators@example.com&lt;br /&gt;
  send-as = testmailingliste+bounce@example.com&lt;br /&gt;
&lt;br /&gt;
Bitte das &amp;quot;+&amp;quot;-Plus-Zeichen im Localpart der EMail-Adressen beachten!&lt;br /&gt;
&lt;br /&gt;
Mit hsadmin lege ich eine EMail-Adresse an:&lt;br /&gt;
&lt;br /&gt;
  hsadmin --call:emailaddress.add --set:localpart=testmailingliste --set:domain=example.com --set:target=xyz00&lt;br /&gt;
&lt;br /&gt;
Statt der Aliases mache die folgenden Einträge in die &#039;&#039;.procmailrc&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
 :0&lt;br /&gt;
 * ^X-Original-To: testmailingliste@example.com&lt;br /&gt;
 |$HOME/ecartis/ecartis -s testmailingliste&lt;br /&gt;
 :0&lt;br /&gt;
 * ^X-Original-To: testmailingliste\+request@example.com&lt;br /&gt;
 |$HOME/ecartis/ecartis -r testmailingliste&lt;br /&gt;
 :0&lt;br /&gt;
 * ^X-Original-To: testmailingliste\+repost@example.com&lt;br /&gt;
 |$HOME/ecartis/ecartis -a testmailingliste&lt;br /&gt;
 :0&lt;br /&gt;
 * ^X-Original-To: testmailingliste\+admins@example.com&lt;br /&gt;
 |$HOME/ecartis/ecartis -admins testmailingliste&lt;br /&gt;
 :0&lt;br /&gt;
 * ^X-Original-To: testmailingliste\+moderators@example.com&lt;br /&gt;
 |$HOME/ecartis/ecartis -moderators testmailingliste&lt;br /&gt;
 :0&lt;br /&gt;
 * ^X-Original-To: testmailingliste\+bounce@example.com&lt;br /&gt;
 |$HOME/ecartis/ecartis -bounce testmailingliste&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Jetzt gibt es eine offene Liste mit der Adresse testmailingliste@example.com, an der man sich mit einer E-Mail an testmailingliste+request@example.com mit dem Inhalt subscribe anmelden kann.&lt;br /&gt;
&lt;br /&gt;
Konfigurieren einer Mailingliste&lt;br /&gt;
&lt;br /&gt;
Jeder Listenmanager besitzt ein Unterverzeichnis /lists, in welchem die zugehörigen Listen verwaltet werden. Jeder Mailingliste wird ein Verzeichnis unterhalb dieses Verzeichnisses zugeordnet. Es hat den Namen der Mailingliste. Die Konfigurationsdatei für die einzelnen Listen heißt config und ist dort abgelegt. Eine detaillierte Beschreibung der einzelnen Optionen gibt es unter: [http://www.ecartis.org/variables.html].&lt;br /&gt;
&lt;br /&gt;
=== Konfiguration ===&lt;br /&gt;
&lt;br /&gt;
Hier nur die wichtigsten Einstellungen, die man konfigurieren sollte:&lt;br /&gt;
&lt;br /&gt;
* list-owner = der Eigentümer der Liste&lt;br /&gt;
* subject-tag = eine Zeichenfolge die im Betreff vorangestellt wird (wie [global] bei unserer global(at)hostsharing.net Mailingliste)&lt;br /&gt;
* description = eine Beschreibung der Liste&lt;br /&gt;
* reply-to = Adresse der Liste (in unserem Beispiel: testmailingliste@example.com)&lt;br /&gt;
* administrivia-address = in unserem Beispiel testmailingliste-admins@example.com&lt;br /&gt;
* humanize-mime = false&lt;br /&gt;
* humanize-quotedprintable = true&lt;br /&gt;
&lt;br /&gt;
Sorgen gemeinsam für eine ordentliche Handhabung von Umlauten, sie werden verstanden und es werden passende Header generiert.&lt;br /&gt;
&lt;br /&gt;
* mbox-archive-path = wenn man möchte, kann man alle Mails, die über die Liste verschickt werden, archivieren&lt;br /&gt;
* subscribe-mode = hier gibt es 3 mögliche Einstellungen:&lt;br /&gt;
*# open - Der Benutzer meldet sich per subscribe an und wird direkt in die Liste eingetragen&lt;br /&gt;
*# confirm - Der Benutzer muss die Anmeldung anhand einer zugeschickten Mail bestätigen&lt;br /&gt;
*# closed - Die Anmeldung muss vom Listenadmin erlaubt werden&lt;br /&gt;
* unsubscribe-mode = hier gibt es 3 mögliche Einstellungen:&lt;br /&gt;
*# open - Der Benutzer meldet sich per unsubscribe ab und wird direkt aus der Liste ausgetragen&lt;br /&gt;
*# confirm - Der Benutzer muss die Abmeldung anhand einer zugeschickten Mail bestätigen&lt;br /&gt;
*# closed - Die Abmeldung muss vom Listenadmin erlaubt werden&lt;br /&gt;
&lt;br /&gt;
=== Unterschiedliche Mailinglistentypen ===&lt;br /&gt;
&lt;br /&gt;
==== offene Liste ====&lt;br /&gt;
&lt;br /&gt;
Offene Liste bedeutet, dass jeder an die Liste schreiben kann, die dann an alle eingetragenen E-Mail-Adressen verteilt wird (Beispiel: global(at)hostsharing.net).&lt;br /&gt;
Dies ist der Standard bei der Einrichtung einer Liste und benötigt keine besonderen Einstellungen&lt;br /&gt;
&lt;br /&gt;
==== geschlossene Liste ====&lt;br /&gt;
&lt;br /&gt;
bedeutet, dass nur E-Mails von den Eingetragenen verteilt werden. Diese Listenart wird auch als member-only bezeichnet (Beispiel: members(at)hostsharing.net).&lt;br /&gt;
&lt;br /&gt;
Hierfür müssen folgende Optionen gesetzt werden:&lt;br /&gt;
&lt;br /&gt;
 closed-post = true&lt;br /&gt;
&lt;br /&gt;
Sinnvoll ist außerdem confirm oder closed bei subscribe-mode und unsubscribe-mode einzutragen.&lt;br /&gt;
&lt;br /&gt;
==== moderierte Liste ====&lt;br /&gt;
&lt;br /&gt;
bedeutet, dass E-Mails von jemandem authorisiert werden müssen, bevor sie verteilt werden. Wird in den meisten Fällen für Newsletter o.ä. verwendet, wo man als Betreiber den Eingetragenen E-Mails schicken will, aber eine Kommunikation der Eingetragenen untereinander nicht gewollt ist (Beispiel: global-announce(at)hostsharing.net).&lt;br /&gt;
&lt;br /&gt;
Hierfür müssen folgende Optionen gesetzt werden:&lt;br /&gt;
&lt;br /&gt;
* moderated = yes&lt;br /&gt;
* moderate-include-queue = true&lt;br /&gt;
* moderator = testmailingliste-moderators@example.com&lt;br /&gt;
&lt;br /&gt;
Sinnvoll ist außerdem confirm oder closed bei subscribe-mode und unsubscribe-mode einzutragen.&lt;br /&gt;
&lt;br /&gt;
=== Autorisierung ===&lt;br /&gt;
Für die Authorisierung gibt es mehrere Möglichkeiten:&lt;br /&gt;
&lt;br /&gt;
==== admin-approvepost = true ====&lt;br /&gt;
&lt;br /&gt;
Damit werden alle E-Mails der Listenadministratoren direkt verschickt. Es wird nur überprüft, ob die Absender-E-Mail-Adresse übereinstimmt, da diese aber sehr leicht gefälscht werden kann, ist es nur ein sehr schwacher Schutz.&lt;br /&gt;
&lt;br /&gt;
==== post-password = geheimesPasswort ====&lt;br /&gt;
&lt;br /&gt;
Das setzt das Passwort für diese Liste auf geheimesPasswort und nur E-Mails mit der folgenden Zeile im Header der E-Mail werden verteilt: X-posting-pass: geheimesPasswort&lt;br /&gt;
&lt;br /&gt;
Wenn man keine der beiden Optionen benutzt, dann wird die E-Mail zuerst an den Administrator der Liste geschickt, der sie bestätigen muss.&lt;br /&gt;
&lt;br /&gt;
== Weitere Möglichkeiten ==&lt;br /&gt;
&lt;br /&gt;
=== Verschiedene Domains ===&lt;br /&gt;
&lt;br /&gt;
Wenn man für verschiedene seiner Domains eigenständige Mailinglistensysteme betreiben will, so kann man das  Verzeichnis &#039;&#039;ecartis&#039;&#039; als Vorlage verwenden und beliebig kopieren. Dann sind natürlich die Aliase zur Steuerung des Listenmanagers per E-Mail ebenfalls zu kopieren und entsprechend anzupassen.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
[[Kategorie:HSDoku]]&lt;br /&gt;
[[Kategorie:Installationsanleitungen]]&lt;br /&gt;
[[Kategorie:Software]]&lt;/div&gt;</summary>
		<author><name>Peh00-phor</name></author>
	</entry>
	<entry>
		<id>https://wiki.hostsharing.net/index.php?title=Ecartis_Installieren&amp;diff=2299</id>
		<title>Ecartis Installieren</title>
		<link rel="alternate" type="text/html" href="https://wiki.hostsharing.net/index.php?title=Ecartis_Installieren&amp;diff=2299"/>
		<updated>2010-03-03T14:09:24Z</updated>

		<summary type="html">&lt;p&gt;Peh00-phor: /* Aliases ersetzen */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Mailinglisten mit ecartis ==&lt;br /&gt;
&lt;br /&gt;
{{Baustelle}}&lt;br /&gt;
&lt;br /&gt;
[http://www.ecartis.org/ Ecartis] ist ein Programm, mit dem Bei Hostsharing E-Mail Verteiler realisiert werden können.&lt;br /&gt;
&lt;br /&gt;
Vergleichen Sie dazu auch den Wikipedia-Artikel:&lt;br /&gt;
[http://de.wikipedia.org/wiki/Mailingliste Mailingliste]&lt;br /&gt;
&lt;br /&gt;
Alternative: [[Mailman]]&lt;br /&gt;
&lt;br /&gt;
Diese Anleitung beschreibt die Installation von Ecartis in einem Hostsharing DW-Paket für eine Domain.&lt;br /&gt;
&lt;br /&gt;
== ecartis ==&lt;br /&gt;
&lt;br /&gt;
=== Einrichten  ===&lt;br /&gt;
&lt;br /&gt;
Zunächst muss eine eigene Installation der Ecartis-Software in das Hostsharing-Paket kopiert werden.&lt;br /&gt;
&lt;br /&gt;
Rufe dazu als Paket-Admin auf:&lt;br /&gt;
&lt;br /&gt;
  cp -rL /usr/lib/ecartis $HOME&lt;br /&gt;
  mkdir $HOME/ecartis/queue&lt;br /&gt;
&lt;br /&gt;
Und um fremde Blicke auf die E-Mail-Adressen der Teilnehmer/innen zu verhindern:&lt;br /&gt;
&lt;br /&gt;
  chmod -R o-rwx $HOME/ecartis&lt;br /&gt;
&lt;br /&gt;
Im Verzeichnis &#039;&#039;ecartis&#039;&#039; befindet sich die Konfigurationsdatei ecartis.cfg, welche den Listenmanager steuert.&lt;br /&gt;
&lt;br /&gt;
=== Konfiguration  ===&lt;br /&gt;
&lt;br /&gt;
==== ecartis.cfg ====&lt;br /&gt;
&lt;br /&gt;
Für den Listenmanager müssen nun in ecartis.cfg mehrere Variablen angepasst werden. &lt;br /&gt;
Eine detailierte Beschreibung der einzelnen Optionen gibt es unter: http://www.ecartis.org/variables.html].&lt;br /&gt;
&lt;br /&gt;
Hier die notwendigen Einstellungen in ecartis.cfg:&lt;br /&gt;
&lt;br /&gt;
  listserver-address = ecartis@example.com&lt;br /&gt;
  listserver-admin = postmaster@example.com&lt;br /&gt;
  listserver-root = /home/pacs/xyz00/ecartis&lt;br /&gt;
  listserver-conf = /home/pacs/xyz00/ecartis&lt;br /&gt;
  listserver-data = /home/pacs/xyz00/ecartis&lt;br /&gt;
  listserver-modules = /home/pacs/xyz00/ecartis/modules&lt;br /&gt;
&lt;br /&gt;
==== E-Mail Adresse ====&lt;br /&gt;
&lt;br /&gt;
Im Folgenden benutze ich den Paket-User &#039;&#039;xyz00&#039;&#039; als Empfänger für alle E-Mails, die an Ecartis gehen. Die Verteilung erfolgt in der Datei &#039;&#039;.procmailrc&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Zunächst stelle ich sicher, dass für den Paket-User kein EMail-Alias eingerichtet ist, bzw. ich lösche es:&lt;br /&gt;
&lt;br /&gt;
  hsadmin --call:emailalias.search&lt;br /&gt;
  hsadmin --call:emailalias.delete --where:name=xyz00&lt;br /&gt;
&lt;br /&gt;
Dann richte ich die Adresse des Mailinglisten-Managers selbst ein:&lt;br /&gt;
&lt;br /&gt;
  hsadmin --call:emailaddress.add --set:target=xyz00 --set:localpart=ecartis --set:domain=example.com&lt;br /&gt;
&lt;br /&gt;
In der Datei &#039;&#039;$HOME/.procmailrc&#039;&#039; trage ich ein (siehe auch [[Procmail]]):&lt;br /&gt;
&lt;br /&gt;
 :0&lt;br /&gt;
 * ^X-Original-To: ecartis@example.com&lt;br /&gt;
 |$HOME/ecartis/ecartis&lt;br /&gt;
&lt;br /&gt;
===  Test ===&lt;br /&gt;
&lt;br /&gt;
Damit ist das Mailinglistensystem erreichbar und eine E-Mail an ecartis@example.com mit dem Inhalt help schickt uns die Datei ecartis.hlp zurück, die man später natürlich an seine Bedürfnisse anpassen kann.&lt;br /&gt;
&lt;br /&gt;
Einrichten einer Mailingliste&lt;br /&gt;
&lt;br /&gt;
== Mailinglisten ==&lt;br /&gt;
&lt;br /&gt;
=== Einrichten ===&lt;br /&gt;
&lt;br /&gt;
Man fügt nun den einzelnen Listenmanagern Listen hinzu. Dazu wechselt man in das Verzeichnis des jeweiligen Listenmanagers.&lt;br /&gt;
&lt;br /&gt;
Aufruf:&lt;br /&gt;
  &lt;br /&gt;
  cd $HOME/ecartis&lt;br /&gt;
  ./ecartis -newlist NAMEDERLISTE&lt;br /&gt;
&lt;br /&gt;
Dann wird man nach dem Administrator der einzurichtenden Liste gefragt und nach der Eingabe der E-Mail-Adresse erhält man eine Liste von Aliases.&lt;br /&gt;
&lt;br /&gt;
Folgendes gibt uns der Befehl zurück:&lt;br /&gt;
&lt;br /&gt;
 Aliases for &#039;testmailingliste&#039; mailing list.&lt;br /&gt;
 testmailingliste: &amp;quot;|/home/pacs/xyz00/mailinglist/ecartis -s testmailingliste&amp;quot;&lt;br /&gt;
 testmailingliste-request: &amp;quot;|/home/pacs/xyz00/mailinglist/ecartis -r testmailingliste&amp;quot;&lt;br /&gt;
 testmailingliste-repost: &amp;quot;|/home/pacs/xyz00/mailinglist/ecartis -a testmailingliste&amp;quot;&lt;br /&gt;
 testmailingliste-admins: &amp;quot;|/home/pacs/xyz00/mailinglist/ecartis -admins testmailingliste&amp;quot;&lt;br /&gt;
 testmailingliste-moderators: &amp;quot;|/home/pacs/xyz00/mailinglist/ecartis -moderators testmailingliste&amp;quot;&lt;br /&gt;
 testmailingliste-bounce: &amp;quot;|/home/pacs/xyz00/mailinglist/ecartis -bounce testmailingliste&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Diese Aliases setze ich nicht in dieser Form um, sondern nutze den &#039;&#039;recipient_delimiter&#039;&#039; von Postfix und die &#039;&#039;.procmailrc&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
==== Aliases ersetzen ====&lt;br /&gt;
&lt;br /&gt;
Durch den Aufruf von &#039;&#039;ecartis -newlist&#039;&#039; wurde eine Konfigurationsdatei für die neue Mailingliste angelegt.&lt;br /&gt;
Die Datei heißt &#039;&#039;$HOME/ecartis/lists/testmailingliste/config&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Hier ändere ich zunächst die folgenden Einträge:&lt;br /&gt;
&lt;br /&gt;
  reply-to = testmailingliste@example.com&lt;br /&gt;
  administrivia-address = testmailingliste+admins@example.com&lt;br /&gt;
  moderator = testmailingliste+moderators@example.com&lt;br /&gt;
  send-as = testmailingliste+bounce@example.com&lt;br /&gt;
&lt;br /&gt;
Bitte das &amp;quot;+&amp;quot;-Plus-Zeichen im Localpart der EMail-Adressen beachten!&lt;br /&gt;
&lt;br /&gt;
Mit hsadmin lege ich eine EMail-Adresse an:&lt;br /&gt;
&lt;br /&gt;
  hsadmin --call:emailaddress.add --set:localpart=testmailingliste --set:domain=example.com --set:target=xyz00&lt;br /&gt;
&lt;br /&gt;
Statt der Aliases mache die folgenden Einträge in die &#039;&#039;.procmailrc&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
 :0&lt;br /&gt;
 * ^X-Original-To: testmailingliste@example.com&lt;br /&gt;
 |$HOME/ecartis/ecartis -s testmailingliste&lt;br /&gt;
 :0&lt;br /&gt;
 * ^X-Original-To: testmailingliste\+request@example.com&lt;br /&gt;
 |$HOME/ecartis/ecartis -r testmailingliste&lt;br /&gt;
 :0&lt;br /&gt;
 * ^X-Original-To: testmailingliste\+repost@example.com&lt;br /&gt;
 |$HOME/ecartis/ecartis -a testmailingliste&lt;br /&gt;
 :0&lt;br /&gt;
 * ^X-Original-To: testmailingliste\+admins@example.com&lt;br /&gt;
 |$HOME/ecartis/ecartis -admins testmailingliste&lt;br /&gt;
 :0&lt;br /&gt;
 * ^X-Original-To: testmailingliste\+moderators@example.com&lt;br /&gt;
 |$HOME/ecartis/ecartis -moderators testmailingliste&lt;br /&gt;
 :0&lt;br /&gt;
 * ^X-Original-To: testmailingliste\+bounce@example.com&lt;br /&gt;
 |$HOME/ecartis/ecartis -bounce testmailingliste&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Jetzt gibt es eine offene Liste mit der Adresse testmailingliste@example.com, an der man sich mit einer E-Mail an testmailingliste+request@example.com mit dem Inhalt subscribe anmelden kann.&lt;br /&gt;
&lt;br /&gt;
Konfigurieren einer Mailingliste&lt;br /&gt;
&lt;br /&gt;
Jeder Listenmanager besitzt ein Unterverzeichnis /lists, in welchem die zugehörigen Listen verwaltet werden. Jeder Mailingliste wird ein Verzeichnis unterhalb dieses Verzeichnisses zugeordnet. Es hat den Namen der Mailingliste. Die Konfigurationsdatei für die einzelnen Listen heißt config und ist dort abgelegt. Eine detaillierte Beschreibung der einzelnen Optionen gibt es unter: [http://www.ecartis.org/variables.html].&lt;br /&gt;
&lt;br /&gt;
=== Konfiguration ===&lt;br /&gt;
&lt;br /&gt;
Hier nur die wichtigsten Einstellungen, die man konfigurieren sollte:&lt;br /&gt;
&lt;br /&gt;
* list-owner = der Eigentümer der Liste&lt;br /&gt;
* subject-tag = eine Zeichenfolge die im Betreff vorangestellt wird (wie [global] bei unserer global(at)hostsharing.net Mailingliste)&lt;br /&gt;
* description = eine Beschreibung der Liste&lt;br /&gt;
* reply-to = Adresse der Liste (in unserem Beispiel: testmailingliste@example.com)&lt;br /&gt;
* administrivia-address = in unserem Beispiel testmailingliste-admins@example.com&lt;br /&gt;
* humanize-mime = false&lt;br /&gt;
* humanize-quotedprintable = true&lt;br /&gt;
 Sorgen gemeinsam für eine ordentliche Handhabung von Umlauten, sie werden verstanden und es werden passende Header generiert.&lt;br /&gt;
&lt;br /&gt;
* mbox-archive-path = wenn man möchte, kann man alle Mails, die über die Liste verschickt werden, archivieren&lt;br /&gt;
* subscribe-mode = hier gibt es 3 mögliche Einstellungen:&lt;br /&gt;
1. open&lt;br /&gt;
Der Benutzer meldet sich per subscribe an und wird direkt in die Liste eingetragen&lt;br /&gt;
2. confirm&lt;br /&gt;
Der Benutzer muss die Anmeldung anhand einer zugeschickten Mail bestätigen&lt;br /&gt;
3. closed&lt;br /&gt;
Die Anmeldung muss vom Listenadmin erlaubt werden&lt;br /&gt;
&lt;br /&gt;
* unsubscribe-mode = hier gibt es 3 mögliche Einstellungen:&lt;br /&gt;
1. open&lt;br /&gt;
Der Benutzer meldet sich per unsubscribe ab und wird direkt aus der Liste ausgetragen&lt;br /&gt;
2. confirm&lt;br /&gt;
Der Benutzer muss die Abmeldung anhand einer zugeschickten Mail bestätigen&lt;br /&gt;
3. closed&lt;br /&gt;
Die Abmeldung muss vom Listenadmin erlaubt werden&lt;br /&gt;
&lt;br /&gt;
=== Unterschiedliche Mailinglistentypen ===&lt;br /&gt;
&lt;br /&gt;
==== offene Liste ====&lt;br /&gt;
&lt;br /&gt;
Offene Liste bedeutet, dass jeder an die Liste schreiben kann, die dann an alle eingetragenen E-Mail-Adressen verteilt wird (Beispiel: global(at)hostsharing.net).&lt;br /&gt;
Dies ist der Standard bei der Einrichtung einer Liste und benötigt keine besonderen Einstellungen&lt;br /&gt;
&lt;br /&gt;
==== geschlossene Liste ====&lt;br /&gt;
&lt;br /&gt;
bedeutet, dass nur E-Mails von den Eingetragenen verteilt werden. Diese Listenart wird auch als member-only bezeichnet (Beispiel: members(at)hostsharing.net).&lt;br /&gt;
&lt;br /&gt;
Hierfür müssen folgende Optionen gesetzt werden:&lt;br /&gt;
&lt;br /&gt;
 closed-post = true&lt;br /&gt;
&lt;br /&gt;
Sinnvoll ist außerdem confirm oder closed bei subscribe-mode und unsubscribe-mode einzutragen.&lt;br /&gt;
&lt;br /&gt;
==== moderierte Liste ====&lt;br /&gt;
&lt;br /&gt;
bedeutet, dass E-Mails von jemandem authorisiert werden müssen, bevor sie verteilt werden. Wird in den meisten Fällen für Newsletter o.ä. verwendet, wo man als Betreiber den Eingetragenen E-Mails schicken will, aber eine Kommunikation der Eingetragenen untereinander nicht gewollt ist (Beispiel: global-announce(at)hostsharing.net).&lt;br /&gt;
&lt;br /&gt;
Hierfür müssen folgende Optionen gesetzt werden:&lt;br /&gt;
&lt;br /&gt;
* moderated = yes&lt;br /&gt;
* moderate-include-queue = true&lt;br /&gt;
* moderator = testmailingliste-moderators@example.com&lt;br /&gt;
&lt;br /&gt;
Sinnvoll ist außerdem confirm oder closed bei subscribe-mode und unsubscribe-mode einzutragen.&lt;br /&gt;
&lt;br /&gt;
=== Autorisierung ===&lt;br /&gt;
Für die Authorisierung gibt es mehrere Möglichkeiten:&lt;br /&gt;
&lt;br /&gt;
==== admin-approvepost = true ====&lt;br /&gt;
&lt;br /&gt;
Damit werden alle E-Mails der Listenadministratoren direkt verschickt. Es wird nur überprüft, ob die Absender-E-Mail-Adresse übereinstimmt, da diese aber sehr leicht gefälscht werden kann, ist es nur ein sehr schwacher Schutz.&lt;br /&gt;
&lt;br /&gt;
==== post-password = geheimesPasswort ====&lt;br /&gt;
&lt;br /&gt;
Das setzt das Passwort für diese Liste auf geheimesPasswort und nur E-Mails mit der folgenden Zeile im Header der E-Mail werden verteilt: X-posting-pass: geheimesPasswort&lt;br /&gt;
&lt;br /&gt;
Wenn man keine der beiden Optionen benutzt, dann wird die E-Mail zuerst an den Administrator der Liste geschickt, der sie bestätigen muss.&lt;br /&gt;
&lt;br /&gt;
== Weitere Möglichkeiten ==&lt;br /&gt;
&lt;br /&gt;
=== Verschiedene Domains ===&lt;br /&gt;
&lt;br /&gt;
Wenn man für verschiedene seiner Domains eigenständige Mailinglistensysteme betreiben will, so kann man das  Verzeichnis &#039;&#039;ecartis&#039;&#039; als Vorlage verwenden und beliebig kopieren. Dann sind natürlich die Aliase zur Steuerung des Listenmanagers per E-Mail ebenfalls zu kopieren und entsprechend anzupassen.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
[[Kategorie:HSDoku]]&lt;br /&gt;
[[Kategorie:Installationsanleitungen]]&lt;br /&gt;
[[Kategorie:Software]]&lt;/div&gt;</summary>
		<author><name>Peh00-phor</name></author>
	</entry>
	<entry>
		<id>https://wiki.hostsharing.net/index.php?title=Ecartis_Installieren&amp;diff=2298</id>
		<title>Ecartis Installieren</title>
		<link rel="alternate" type="text/html" href="https://wiki.hostsharing.net/index.php?title=Ecartis_Installieren&amp;diff=2298"/>
		<updated>2010-03-02T15:17:06Z</updated>

		<summary type="html">&lt;p&gt;Peh00-phor: /* Einrichten */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Mailinglisten mit ecartis ==&lt;br /&gt;
&lt;br /&gt;
{{Baustelle}}&lt;br /&gt;
&lt;br /&gt;
[http://www.ecartis.org/ Ecartis] ist ein Programm, mit dem Bei Hostsharing E-Mail Verteiler realisiert werden können.&lt;br /&gt;
&lt;br /&gt;
Vergleichen Sie dazu auch den Wikipedia-Artikel:&lt;br /&gt;
[http://de.wikipedia.org/wiki/Mailingliste Mailingliste]&lt;br /&gt;
&lt;br /&gt;
Alternative: [[Mailman]]&lt;br /&gt;
&lt;br /&gt;
Diese Anleitung beschreibt die Installation von Ecartis in einem Hostsharing DW-Paket für eine Domain.&lt;br /&gt;
&lt;br /&gt;
== ecartis ==&lt;br /&gt;
&lt;br /&gt;
=== Einrichten  ===&lt;br /&gt;
&lt;br /&gt;
Zunächst muss eine eigene Installation der Ecartis-Software in das Hostsharing-Paket kopiert werden.&lt;br /&gt;
&lt;br /&gt;
Rufe dazu als Paket-Admin auf:&lt;br /&gt;
&lt;br /&gt;
  cp -rL /usr/lib/ecartis $HOME&lt;br /&gt;
  mkdir $HOME/ecartis/queue&lt;br /&gt;
&lt;br /&gt;
Und um fremde Blicke auf die E-Mail-Adressen der Teilnehmer/innen zu verhindern:&lt;br /&gt;
&lt;br /&gt;
  chmod -R o-rwx $HOME/ecartis&lt;br /&gt;
&lt;br /&gt;
Im Verzeichnis &#039;&#039;ecartis&#039;&#039; befindet sich die Konfigurationsdatei ecartis.cfg, welche den Listenmanager steuert.&lt;br /&gt;
&lt;br /&gt;
=== Konfiguration  ===&lt;br /&gt;
&lt;br /&gt;
==== ecartis.cfg ====&lt;br /&gt;
&lt;br /&gt;
Für den Listenmanager müssen nun in ecartis.cfg mehrere Variablen angepasst werden. &lt;br /&gt;
Eine detailierte Beschreibung der einzelnen Optionen gibt es unter: http://www.ecartis.org/variables.html].&lt;br /&gt;
&lt;br /&gt;
Hier die notwendigen Einstellungen in ecartis.cfg:&lt;br /&gt;
&lt;br /&gt;
  listserver-address = ecartis@example.com&lt;br /&gt;
  listserver-admin = postmaster@example.com&lt;br /&gt;
  listserver-root = /home/pacs/xyz00/ecartis&lt;br /&gt;
  listserver-conf = /home/pacs/xyz00/ecartis&lt;br /&gt;
  listserver-data = /home/pacs/xyz00/ecartis&lt;br /&gt;
  listserver-modules = /home/pacs/xyz00/ecartis/modules&lt;br /&gt;
&lt;br /&gt;
==== E-Mail Adresse ====&lt;br /&gt;
&lt;br /&gt;
Im Folgenden benutze ich den Paket-User &#039;&#039;xyz00&#039;&#039; als Empfänger für alle E-Mails, die an Ecartis gehen. Die Verteilung erfolgt in der Datei &#039;&#039;.procmailrc&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Zunächst stelle ich sicher, dass für den Paket-User kein EMail-Alias eingerichtet ist, bzw. ich lösche es:&lt;br /&gt;
&lt;br /&gt;
  hsadmin --call:emailalias.search&lt;br /&gt;
  hsadmin --call:emailalias.delete --where:name=xyz00&lt;br /&gt;
&lt;br /&gt;
Dann richte ich die Adresse des Mailinglisten-Managers selbst ein:&lt;br /&gt;
&lt;br /&gt;
  hsadmin --call:emailaddress.add --set:target=xyz00 --set:localpart=ecartis --set:domain=example.com&lt;br /&gt;
&lt;br /&gt;
In der Datei &#039;&#039;$HOME/.procmailrc&#039;&#039; trage ich ein (siehe auch [[Procmail]]):&lt;br /&gt;
&lt;br /&gt;
 :0&lt;br /&gt;
 * ^X-Original-To: ecartis@example.com&lt;br /&gt;
 |$HOME/ecartis/ecartis&lt;br /&gt;
&lt;br /&gt;
===  Test ===&lt;br /&gt;
&lt;br /&gt;
Damit ist das Mailinglistensystem erreichbar und eine E-Mail an ecartis@example.com mit dem Inhalt help schickt uns die Datei ecartis.hlp zurück, die man später natürlich an seine Bedürfnisse anpassen kann.&lt;br /&gt;
&lt;br /&gt;
Einrichten einer Mailingliste&lt;br /&gt;
&lt;br /&gt;
== Mailinglisten ==&lt;br /&gt;
&lt;br /&gt;
=== Einrichten ===&lt;br /&gt;
&lt;br /&gt;
Man fügt nun den einzelnen Listenmanagern Listen hinzu. Dazu wechselt man in das Verzeichnis des jeweiligen Listenmanagers.&lt;br /&gt;
&lt;br /&gt;
Aufruf:&lt;br /&gt;
  &lt;br /&gt;
  cd $HOME/ecartis&lt;br /&gt;
  ./ecartis -newlist NAMEDERLISTE&lt;br /&gt;
&lt;br /&gt;
Dann wird man nach dem Administrator der einzurichtenden Liste gefragt und nach der Eingabe der E-Mail-Adresse erhält man eine Liste von Aliases.&lt;br /&gt;
&lt;br /&gt;
Folgendes gibt uns der Befehl zurück:&lt;br /&gt;
&lt;br /&gt;
 Aliases for &#039;testmailingliste&#039; mailing list.&lt;br /&gt;
 testmailingliste: &amp;quot;|/home/pacs/xyz00/mailinglist/ecartis -s testmailingliste&amp;quot;&lt;br /&gt;
 testmailingliste-request: &amp;quot;|/home/pacs/xyz00/mailinglist/ecartis -r testmailingliste&amp;quot;&lt;br /&gt;
 testmailingliste-repost: &amp;quot;|/home/pacs/xyz00/mailinglist/ecartis -a testmailingliste&amp;quot;&lt;br /&gt;
 testmailingliste-admins: &amp;quot;|/home/pacs/xyz00/mailinglist/ecartis -admins testmailingliste&amp;quot;&lt;br /&gt;
 testmailingliste-moderators: &amp;quot;|/home/pacs/xyz00/mailinglist/ecartis -moderators testmailingliste&amp;quot;&lt;br /&gt;
 testmailingliste-bounce: &amp;quot;|/home/pacs/xyz00/mailinglist/ecartis -bounce testmailingliste&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Diese Aliases setze ich nicht in dieser Form um, sondern nutze den &#039;&#039;recipient_delimiter&#039;&#039; von Postfix und die &#039;&#039;.procmailrc&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
==== Aliases ersetzen ====&lt;br /&gt;
&lt;br /&gt;
Durch den Aufruf von &#039;&#039;ecartis -newlist&#039;&#039; wurde eine Konfigurationsdatei für die neue Mailingliste angelegt.&lt;br /&gt;
Die Datei heißt &#039;&#039;$HOME/ecartis/lists/testmailingliste/config&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Hier ändere ich zunächst die folgenden Einträge:&lt;br /&gt;
&lt;br /&gt;
  reply-to = testmailingliste@example.com&lt;br /&gt;
  administrivia-address = testmailingliste+admins@example.com&lt;br /&gt;
  moderator = testmailingliste+moderators@example.com&lt;br /&gt;
  send-as = testmailingliste+bounce@example.com&lt;br /&gt;
&lt;br /&gt;
Bitte das &amp;quot;+&amp;quot;-Plus-Zeichen im Localpart der EMail-Adressen beachten!&lt;br /&gt;
&lt;br /&gt;
Mit hsadmin lege ich eine EMail-Adresse an:&lt;br /&gt;
&lt;br /&gt;
  hsadmin --call:emailaddress.add --set:localpart=testmailingliste --set:domain=example.com --set:target=xyz00&lt;br /&gt;
&lt;br /&gt;
Statt der Aliases mache die folgenden Einträge in die &#039;&#039;.procmailrc&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
 :0&lt;br /&gt;
 * ^X-Original-To: testmailingliste@example.com&lt;br /&gt;
 |$HOME/ecartis/ecartis -s testmailingliste&lt;br /&gt;
 :0&lt;br /&gt;
 * ^X-Original-To: testmailingliste+request@example.com&lt;br /&gt;
 |$HOME/ecartis/ecartis -r testmailingliste&lt;br /&gt;
 :0&lt;br /&gt;
 * ^X-Original-To: testmailingliste+repost@example.com&lt;br /&gt;
 |$HOME/ecartis/ecartis -a testmailingliste&lt;br /&gt;
 :0&lt;br /&gt;
 * ^X-Original-To: testmailingliste+admins@example.com&lt;br /&gt;
 |$HOME/ecartis/ecartis -admins testmailingliste&lt;br /&gt;
 :0&lt;br /&gt;
 * ^X-Original-To: testmailingliste+moderators@example.com&lt;br /&gt;
 |$HOME/ecartis/ecartis -moderators testmailingliste&lt;br /&gt;
 :0&lt;br /&gt;
 * ^X-Original-To: testmailingliste+bounce@example.com&lt;br /&gt;
 |$HOME/ecartis/ecartis -bounce testmailingliste&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Jetzt gibt es eine offene Liste mit der Adresse testmailingliste@example.com, an der man sich mit einer E-Mail an testmailingliste+request@example.com mit dem Inhalt subscribe anmelden kann.&lt;br /&gt;
&lt;br /&gt;
Konfigurieren einer Mailingliste&lt;br /&gt;
&lt;br /&gt;
Jeder Listenmanager besitzt ein Unterverzeichnis /lists, in welchem die zugehörigen Listen verwaltet werden. Jeder Mailingliste wird ein Verzeichnis unterhalb dieses Verzeichnisses zugeordnet. Es hat den Namen der Mailingliste. Die Konfigurationsdatei für die einzelnen Listen heißt config und ist dort abgelegt. Eine detaillierte Beschreibung der einzelnen Optionen gibt es unter: [http://www.ecartis.org/variables.html].&lt;br /&gt;
&lt;br /&gt;
=== Konfiguration ===&lt;br /&gt;
&lt;br /&gt;
Hier nur die wichtigsten Einstellungen, die man konfigurieren sollte:&lt;br /&gt;
&lt;br /&gt;
* list-owner = der Eigentümer der Liste&lt;br /&gt;
* subject-tag = eine Zeichenfolge die im Betreff vorangestellt wird (wie [global] bei unserer global(at)hostsharing.net Mailingliste)&lt;br /&gt;
* description = eine Beschreibung der Liste&lt;br /&gt;
* reply-to = Adresse der Liste (in unserem Beispiel: testmailingliste@example.com)&lt;br /&gt;
* administrivia-address = in unserem Beispiel testmailingliste-admins@example.com&lt;br /&gt;
* humanize-mime = false&lt;br /&gt;
* humanize-quotedprintable = true&lt;br /&gt;
 Sorgen gemeinsam für eine ordentliche Handhabung von Umlauten, sie werden verstanden und es werden passende Header generiert.&lt;br /&gt;
&lt;br /&gt;
* mbox-archive-path = wenn man möchte, kann man alle Mails, die über die Liste verschickt werden, archivieren&lt;br /&gt;
* subscribe-mode = hier gibt es 3 mögliche Einstellungen:&lt;br /&gt;
1. open&lt;br /&gt;
Der Benutzer meldet sich per subscribe an und wird direkt in die Liste eingetragen&lt;br /&gt;
2. confirm&lt;br /&gt;
Der Benutzer muss die Anmeldung anhand einer zugeschickten Mail bestätigen&lt;br /&gt;
3. closed&lt;br /&gt;
Die Anmeldung muss vom Listenadmin erlaubt werden&lt;br /&gt;
&lt;br /&gt;
* unsubscribe-mode = hier gibt es 3 mögliche Einstellungen:&lt;br /&gt;
1. open&lt;br /&gt;
Der Benutzer meldet sich per unsubscribe ab und wird direkt aus der Liste ausgetragen&lt;br /&gt;
2. confirm&lt;br /&gt;
Der Benutzer muss die Abmeldung anhand einer zugeschickten Mail bestätigen&lt;br /&gt;
3. closed&lt;br /&gt;
Die Abmeldung muss vom Listenadmin erlaubt werden&lt;br /&gt;
&lt;br /&gt;
=== Unterschiedliche Mailinglistentypen ===&lt;br /&gt;
&lt;br /&gt;
==== offene Liste ====&lt;br /&gt;
&lt;br /&gt;
Offene Liste bedeutet, dass jeder an die Liste schreiben kann, die dann an alle eingetragenen E-Mail-Adressen verteilt wird (Beispiel: global(at)hostsharing.net).&lt;br /&gt;
Dies ist der Standard bei der Einrichtung einer Liste und benötigt keine besonderen Einstellungen&lt;br /&gt;
&lt;br /&gt;
==== geschlossene Liste ====&lt;br /&gt;
&lt;br /&gt;
bedeutet, dass nur E-Mails von den Eingetragenen verteilt werden. Diese Listenart wird auch als member-only bezeichnet (Beispiel: members(at)hostsharing.net).&lt;br /&gt;
&lt;br /&gt;
Hierfür müssen folgende Optionen gesetzt werden:&lt;br /&gt;
&lt;br /&gt;
 closed-post = true&lt;br /&gt;
&lt;br /&gt;
Sinnvoll ist außerdem confirm oder closed bei subscribe-mode und unsubscribe-mode einzutragen.&lt;br /&gt;
&lt;br /&gt;
==== moderierte Liste ====&lt;br /&gt;
&lt;br /&gt;
bedeutet, dass E-Mails von jemandem authorisiert werden müssen, bevor sie verteilt werden. Wird in den meisten Fällen für Newsletter o.ä. verwendet, wo man als Betreiber den Eingetragenen E-Mails schicken will, aber eine Kommunikation der Eingetragenen untereinander nicht gewollt ist (Beispiel: global-announce(at)hostsharing.net).&lt;br /&gt;
&lt;br /&gt;
Hierfür müssen folgende Optionen gesetzt werden:&lt;br /&gt;
&lt;br /&gt;
* moderated = yes&lt;br /&gt;
* moderate-include-queue = true&lt;br /&gt;
* moderator = testmailingliste-moderators@example.com&lt;br /&gt;
&lt;br /&gt;
Sinnvoll ist außerdem confirm oder closed bei subscribe-mode und unsubscribe-mode einzutragen.&lt;br /&gt;
&lt;br /&gt;
=== Autorisierung ===&lt;br /&gt;
Für die Authorisierung gibt es mehrere Möglichkeiten:&lt;br /&gt;
&lt;br /&gt;
==== admin-approvepost = true ====&lt;br /&gt;
&lt;br /&gt;
Damit werden alle E-Mails der Listenadministratoren direkt verschickt. Es wird nur überprüft, ob die Absender-E-Mail-Adresse übereinstimmt, da diese aber sehr leicht gefälscht werden kann, ist es nur ein sehr schwacher Schutz.&lt;br /&gt;
&lt;br /&gt;
==== post-password = geheimesPasswort ====&lt;br /&gt;
&lt;br /&gt;
Das setzt das Passwort für diese Liste auf geheimesPasswort und nur E-Mails mit der folgenden Zeile im Header der E-Mail werden verteilt: X-posting-pass: geheimesPasswort&lt;br /&gt;
&lt;br /&gt;
Wenn man keine der beiden Optionen benutzt, dann wird die E-Mail zuerst an den Administrator der Liste geschickt, der sie bestätigen muss.&lt;br /&gt;
&lt;br /&gt;
== Weitere Möglichkeiten ==&lt;br /&gt;
&lt;br /&gt;
=== Verschiedene Domains ===&lt;br /&gt;
&lt;br /&gt;
Wenn man für verschiedene seiner Domains eigenständige Mailinglistensysteme betreiben will, so kann man das  Verzeichnis &#039;&#039;ecartis&#039;&#039; als Vorlage verwenden und beliebig kopieren. Dann sind natürlich die Aliase zur Steuerung des Listenmanagers per E-Mail ebenfalls zu kopieren und entsprechend anzupassen.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
[[Kategorie:HSDoku]]&lt;br /&gt;
[[Kategorie:Installationsanleitungen]]&lt;br /&gt;
[[Kategorie:Software]]&lt;/div&gt;</summary>
		<author><name>Peh00-phor</name></author>
	</entry>
	<entry>
		<id>https://wiki.hostsharing.net/index.php?title=Ecartis_Installieren&amp;diff=2297</id>
		<title>Ecartis Installieren</title>
		<link rel="alternate" type="text/html" href="https://wiki.hostsharing.net/index.php?title=Ecartis_Installieren&amp;diff=2297"/>
		<updated>2010-03-02T15:11:45Z</updated>

		<summary type="html">&lt;p&gt;Peh00-phor: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Mailinglisten mit ecartis ==&lt;br /&gt;
&lt;br /&gt;
{{Baustelle}}&lt;br /&gt;
&lt;br /&gt;
[http://www.ecartis.org/ Ecartis] ist ein Programm, mit dem Bei Hostsharing E-Mail Verteiler realisiert werden können.&lt;br /&gt;
&lt;br /&gt;
Vergleichen Sie dazu auch den Wikipedia-Artikel:&lt;br /&gt;
[http://de.wikipedia.org/wiki/Mailingliste Mailingliste]&lt;br /&gt;
&lt;br /&gt;
Alternative: [[Mailman]]&lt;br /&gt;
&lt;br /&gt;
Diese Anleitung beschreibt die Installation von Ecartis in einem Hostsharing DW-Paket für eine Domain.&lt;br /&gt;
&lt;br /&gt;
== ecartis ==&lt;br /&gt;
&lt;br /&gt;
=== Einrichten  ===&lt;br /&gt;
&lt;br /&gt;
Zunächst muss eine eigene Installation der Ecartis-Software in das Hostsharing-Paket kopiert werden.&lt;br /&gt;
&lt;br /&gt;
Rufe dazu als Paket-Admin auf:&lt;br /&gt;
&lt;br /&gt;
  cp -rL /usr/lib/ecartis $HOME&lt;br /&gt;
  mkdir $HOME/ecartis/queue&lt;br /&gt;
&lt;br /&gt;
Und um fremde Blicke auf die E-Mail-Adressen der Teilnehmer/innen zu verhindern:&lt;br /&gt;
&lt;br /&gt;
  chmod -R o-rwx $HOME/ecartis&lt;br /&gt;
&lt;br /&gt;
Im Verzeichnis &#039;&#039;ecartis&#039;&#039; befindet sich die Konfigurationsdatei ecartis.cfg, welche den Listenmanager steuert.&lt;br /&gt;
&lt;br /&gt;
=== Konfiguration  ===&lt;br /&gt;
&lt;br /&gt;
==== ecartis.cfg ====&lt;br /&gt;
&lt;br /&gt;
Für den Listenmanager müssen nun in ecartis.cfg mehrere Variablen angepasst werden. &lt;br /&gt;
Eine detailierte Beschreibung der einzelnen Optionen gibt es unter: http://www.ecartis.org/variables.html].&lt;br /&gt;
&lt;br /&gt;
Hier die notwendigen Einstellungen in ecartis.cfg:&lt;br /&gt;
&lt;br /&gt;
  listserver-address = ecartis@example.com&lt;br /&gt;
  listserver-admin = postmaster@example.com&lt;br /&gt;
  listserver-root = /home/pacs/xyz00/ecartis&lt;br /&gt;
  listserver-conf = /home/pacs/xyz00/ecartis&lt;br /&gt;
  listserver-data = /home/pacs/xyz00/ecartis&lt;br /&gt;
  listserver-modules = /home/pacs/xyz00/ecartis/modules&lt;br /&gt;
&lt;br /&gt;
==== E-Mail Adresse ====&lt;br /&gt;
&lt;br /&gt;
Im Folgenden benutze ich den Paket-User &#039;&#039;xyz00&#039;&#039; als Empfänger für alle E-Mails, die an Ecartis gehen. Die Verteilung erfolgt in der Datei &#039;&#039;.procmailrc&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Zunächst stelle ich sicher, dass für den Paket-User kein EMail-Alias eingerichtet ist, bzw. ich lösche es:&lt;br /&gt;
&lt;br /&gt;
  hsadmin --call:emailalias.search&lt;br /&gt;
  hsadmin --call:emailalias.delete --where:name=xyz00&lt;br /&gt;
&lt;br /&gt;
Dann richte ich die Adresse des Mailinglisten-Managers selbst ein:&lt;br /&gt;
&lt;br /&gt;
  hsadmin --call:emailaddress.add --set:target=xyz00 --set:localpart=ecartis --set:domain=example.com&lt;br /&gt;
&lt;br /&gt;
In der Datei &#039;&#039;$HOME/.procmailrc&#039;&#039; trage ich ein (siehe auch [[Procmail]]):&lt;br /&gt;
&lt;br /&gt;
 :0&lt;br /&gt;
 * ^X-Original-To: ecartis@example.com&lt;br /&gt;
 |$HOME/ecartis/ecartis&lt;br /&gt;
&lt;br /&gt;
===  Test ===&lt;br /&gt;
&lt;br /&gt;
Damit ist das Mailinglistensystem erreichbar und eine E-Mail an ecartis@example.com mit dem Inhalt help schickt uns die Datei ecartis.hlp zurück, die man später natürlich an seine Bedürfnisse anpassen kann.&lt;br /&gt;
&lt;br /&gt;
Einrichten einer Mailingliste&lt;br /&gt;
&lt;br /&gt;
== Mailinglisten ==&lt;br /&gt;
&lt;br /&gt;
=== Einrichten ===&lt;br /&gt;
&lt;br /&gt;
Man fügt nun den einzelnen Listenmanagern Listen hinzu. Dazu wechselt man in das Verzeichnis des jeweiligen Listenmanagers.&lt;br /&gt;
&lt;br /&gt;
Aufruf:&lt;br /&gt;
  &lt;br /&gt;
  cd $HOME/ecartis&lt;br /&gt;
  ./ecartis -newlist NAMEDERLISTE&lt;br /&gt;
&lt;br /&gt;
Dann wird man nach dem Administrator der einzurichtenden Liste gefragt und nach der Eingabe der E-Mail-Adresse erhält man eine Liste von aliasen, die man mit [[aliases]] mit vorangestelltem Paketlogin einträgt. Das Voranstellen von bspw. xyz00- ist notwendig, weil man nur diese Aliases ändern darf.&lt;br /&gt;
&lt;br /&gt;
Beispiel:&lt;br /&gt;
&lt;br /&gt;
Folgendes gibt uns der Befehl zurück:&lt;br /&gt;
&lt;br /&gt;
 Aliases for &#039;testmailingliste&#039; mailing list.&lt;br /&gt;
 testmailingliste: &amp;quot;|/home/pacs/xyz00/mailinglist/ecartis -s testmailingliste&amp;quot;&lt;br /&gt;
 testmailingliste-request: &amp;quot;|/home/pacs/xyz00/mailinglist/ecartis -r testmailingliste&amp;quot;&lt;br /&gt;
 testmailingliste-repost: &amp;quot;|/home/pacs/xyz00/mailinglist/ecartis -a testmailingliste&amp;quot;&lt;br /&gt;
 testmailingliste-admins: &amp;quot;|/home/pacs/xyz00/mailinglist/ecartis -admins testmailingliste&amp;quot;&lt;br /&gt;
 testmailingliste-moderators: &amp;quot;|/home/pacs/xyz00/mailinglist/ecartis -moderators testmailingliste&amp;quot;&lt;br /&gt;
 testmailingliste-bounce: &amp;quot;|/home/pacs/xyz00/mailinglist/ecartis -bounce testmailingliste&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Diese Aliases setze ich nicht in dieser Form um, sondern nutze den &#039;&#039;recipient_delimiter&#039;&#039; von Postfix und die &#039;&#039;.procmailrc&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
==== Aliases ersetzen ====&lt;br /&gt;
&lt;br /&gt;
Durch den Aufruf von &#039;&#039;ecartis -newlist&#039;&#039; wurde eine Konfigurationsdatei für die neue Mailingliste angelegt.&lt;br /&gt;
Die Datei heißt &#039;&#039;$HOME/ecartis/lists/testmailingliste/config&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Hier ändere ich zunächst die folgenden Einträge:&lt;br /&gt;
&lt;br /&gt;
  reply-to = testmailingliste@example.com&lt;br /&gt;
  administrivia-address = testmailingliste+admins@example.com&lt;br /&gt;
  moderator = testmailingliste+moderators@example.com&lt;br /&gt;
  send-as = testmailingliste+bounce@example.com&lt;br /&gt;
&lt;br /&gt;
Bitte das &amp;quot;+&amp;quot;-Plus-Zeichen im Localpart der EMail-Adressen beachten!&lt;br /&gt;
&lt;br /&gt;
Mit hsadmin lege ich eine EMail-Adresse an:&lt;br /&gt;
&lt;br /&gt;
  hsadmin --call:emailaddress.add --set:localpart=testmailingliste --set:domain=example.com --set:target=xyz00&lt;br /&gt;
&lt;br /&gt;
Statt der Aliases mache die folgenden Einträge in die &#039;&#039;.procmailrc&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
 :0&lt;br /&gt;
 * ^X-Original-To: testmailingliste@example.com&lt;br /&gt;
 |$HOME/ecartis/ecartis -s testmailingliste&lt;br /&gt;
 :0&lt;br /&gt;
 * ^X-Original-To: testmailingliste+request@example.com&lt;br /&gt;
 |$HOME/ecartis/ecartis -r testmailingliste&lt;br /&gt;
 :0&lt;br /&gt;
 * ^X-Original-To: testmailingliste+repost@example.com&lt;br /&gt;
 |$HOME/ecartis/ecartis -a testmailingliste&lt;br /&gt;
 :0&lt;br /&gt;
 * ^X-Original-To: testmailingliste+admins@example.com&lt;br /&gt;
 |$HOME/ecartis/ecartis -admins testmailingliste&lt;br /&gt;
 :0&lt;br /&gt;
 * ^X-Original-To: testmailingliste+moderators@example.com&lt;br /&gt;
 |$HOME/ecartis/ecartis -moderators testmailingliste&lt;br /&gt;
 :0&lt;br /&gt;
 * ^X-Original-To: testmailingliste+bounce@example.com&lt;br /&gt;
 |$HOME/ecartis/ecartis -bounce testmailingliste&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Jetzt gibt es eine offene Liste mit der Adresse testmailingliste@example.com, an der man sich mit einer E-Mail an testmailingliste+request@example.com mit dem Inhalt subscribe anmelden kann.&lt;br /&gt;
&lt;br /&gt;
Konfigurieren einer Mailingliste&lt;br /&gt;
&lt;br /&gt;
Jeder Listenmanager besitzt ein Unterverzeichnis /lists, in welchem die zugehörigen Listen verwaltet werden. Jeder Mailingliste wird ein Verzeichnis unterhalb dieses Verzeichnisses zugeordnet. Es hat den Namen der Mailingliste. Die Konfigurationsdatei für die einzelnen Listen heißt config und ist dort abgelegt. Eine detaillierte Beschreibung der einzelnen Optionen gibt es unter: [http://www.ecartis.org/variables.html].&lt;br /&gt;
&lt;br /&gt;
=== Konfiguration ===&lt;br /&gt;
&lt;br /&gt;
Hier nur die wichtigsten Einstellungen, die man konfigurieren sollte:&lt;br /&gt;
&lt;br /&gt;
* list-owner = der Eigentümer der Liste&lt;br /&gt;
* subject-tag = eine Zeichenfolge die im Betreff vorangestellt wird (wie [global] bei unserer global(at)hostsharing.net Mailingliste)&lt;br /&gt;
* description = eine Beschreibung der Liste&lt;br /&gt;
* reply-to = Adresse der Liste (in unserem Beispiel: testmailingliste@example.com)&lt;br /&gt;
* administrivia-address = in unserem Beispiel testmailingliste-admins@example.com&lt;br /&gt;
* humanize-mime = false&lt;br /&gt;
* humanize-quotedprintable = true&lt;br /&gt;
 Sorgen gemeinsam für eine ordentliche Handhabung von Umlauten, sie werden verstanden und es werden passende Header generiert.&lt;br /&gt;
&lt;br /&gt;
* mbox-archive-path = wenn man möchte, kann man alle Mails, die über die Liste verschickt werden, archivieren&lt;br /&gt;
* subscribe-mode = hier gibt es 3 mögliche Einstellungen:&lt;br /&gt;
1. open&lt;br /&gt;
Der Benutzer meldet sich per subscribe an und wird direkt in die Liste eingetragen&lt;br /&gt;
2. confirm&lt;br /&gt;
Der Benutzer muss die Anmeldung anhand einer zugeschickten Mail bestätigen&lt;br /&gt;
3. closed&lt;br /&gt;
Die Anmeldung muss vom Listenadmin erlaubt werden&lt;br /&gt;
&lt;br /&gt;
* unsubscribe-mode = hier gibt es 3 mögliche Einstellungen:&lt;br /&gt;
1. open&lt;br /&gt;
Der Benutzer meldet sich per unsubscribe ab und wird direkt aus der Liste ausgetragen&lt;br /&gt;
2. confirm&lt;br /&gt;
Der Benutzer muss die Abmeldung anhand einer zugeschickten Mail bestätigen&lt;br /&gt;
3. closed&lt;br /&gt;
Die Abmeldung muss vom Listenadmin erlaubt werden&lt;br /&gt;
&lt;br /&gt;
=== Unterschiedliche Mailinglistentypen ===&lt;br /&gt;
&lt;br /&gt;
==== offene Liste ====&lt;br /&gt;
&lt;br /&gt;
Offene Liste bedeutet, dass jeder an die Liste schreiben kann, die dann an alle eingetragenen E-Mail-Adressen verteilt wird (Beispiel: global(at)hostsharing.net).&lt;br /&gt;
Dies ist der Standard bei der Einrichtung einer Liste und benötigt keine besonderen Einstellungen&lt;br /&gt;
&lt;br /&gt;
==== geschlossene Liste ====&lt;br /&gt;
&lt;br /&gt;
bedeutet, dass nur E-Mails von den Eingetragenen verteilt werden. Diese Listenart wird auch als member-only bezeichnet (Beispiel: members(at)hostsharing.net).&lt;br /&gt;
&lt;br /&gt;
Hierfür müssen folgende Optionen gesetzt werden:&lt;br /&gt;
&lt;br /&gt;
 closed-post = true&lt;br /&gt;
&lt;br /&gt;
Sinnvoll ist außerdem confirm oder closed bei subscribe-mode und unsubscribe-mode einzutragen.&lt;br /&gt;
&lt;br /&gt;
==== moderierte Liste ====&lt;br /&gt;
&lt;br /&gt;
bedeutet, dass E-Mails von jemandem authorisiert werden müssen, bevor sie verteilt werden. Wird in den meisten Fällen für Newsletter o.ä. verwendet, wo man als Betreiber den Eingetragenen E-Mails schicken will, aber eine Kommunikation der Eingetragenen untereinander nicht gewollt ist (Beispiel: global-announce(at)hostsharing.net).&lt;br /&gt;
&lt;br /&gt;
Hierfür müssen folgende Optionen gesetzt werden:&lt;br /&gt;
&lt;br /&gt;
* moderated = yes&lt;br /&gt;
* moderate-include-queue = true&lt;br /&gt;
* moderator = testmailingliste-moderators@example.com&lt;br /&gt;
&lt;br /&gt;
Sinnvoll ist außerdem confirm oder closed bei subscribe-mode und unsubscribe-mode einzutragen.&lt;br /&gt;
&lt;br /&gt;
=== Autorisierung ===&lt;br /&gt;
Für die Authorisierung gibt es mehrere Möglichkeiten:&lt;br /&gt;
&lt;br /&gt;
==== admin-approvepost = true ====&lt;br /&gt;
&lt;br /&gt;
Damit werden alle E-Mails der Listenadministratoren direkt verschickt. Es wird nur überprüft, ob die Absender-E-Mail-Adresse übereinstimmt, da diese aber sehr leicht gefälscht werden kann, ist es nur ein sehr schwacher Schutz.&lt;br /&gt;
&lt;br /&gt;
==== post-password = geheimesPasswort ====&lt;br /&gt;
&lt;br /&gt;
Das setzt das Passwort für diese Liste auf geheimesPasswort und nur E-Mails mit der folgenden Zeile im Header der E-Mail werden verteilt: X-posting-pass: geheimesPasswort&lt;br /&gt;
&lt;br /&gt;
Wenn man keine der beiden Optionen benutzt, dann wird die E-Mail zuerst an den Administrator der Liste geschickt, der sie bestätigen muss.&lt;br /&gt;
&lt;br /&gt;
== Weitere Möglichkeiten ==&lt;br /&gt;
&lt;br /&gt;
=== Verschiedene Domains ===&lt;br /&gt;
&lt;br /&gt;
Wenn man für verschiedene seiner Domains eigenständige Mailinglistensysteme betreiben will, so kann man das  Verzeichnis &#039;&#039;ecartis&#039;&#039; als Vorlage verwenden und beliebig kopieren. Dann sind natürlich die Aliase zur Steuerung des Listenmanagers per E-Mail ebenfalls zu kopieren und entsprechend anzupassen.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
[[Kategorie:HSDoku]]&lt;br /&gt;
[[Kategorie:Installationsanleitungen]]&lt;br /&gt;
[[Kategorie:Software]]&lt;/div&gt;</summary>
		<author><name>Peh00-phor</name></author>
	</entry>
	<entry>
		<id>https://wiki.hostsharing.net/index.php?title=Ecartis_Installieren&amp;diff=2296</id>
		<title>Ecartis Installieren</title>
		<link rel="alternate" type="text/html" href="https://wiki.hostsharing.net/index.php?title=Ecartis_Installieren&amp;diff=2296"/>
		<updated>2010-03-02T14:54:31Z</updated>

		<summary type="html">&lt;p&gt;Peh00-phor: /* Einrichten */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Mailinglisten mit ecartis ==&lt;br /&gt;
&lt;br /&gt;
{{Baustelle}}&lt;br /&gt;
&lt;br /&gt;
[http://www.ecartis.org/ Ecartis] ist ein Programm, mit dem Bei Hostsharing E-Mail Verteiler realisiert werden können.&lt;br /&gt;
&lt;br /&gt;
Vergleichen Sie dazu auch den Wikipedia-Artikel:&lt;br /&gt;
[http://de.wikipedia.org/wiki/Mailingliste Mailingliste]&lt;br /&gt;
&lt;br /&gt;
Alternative: [[Mailman]]&lt;br /&gt;
&lt;br /&gt;
Diese Anleitung beschreibt die Installation von Ecartis in einem Hostsharing DW-Paket für eine Domain.&lt;br /&gt;
&lt;br /&gt;
== ecartis ==&lt;br /&gt;
&lt;br /&gt;
=== Einrichten  ===&lt;br /&gt;
&lt;br /&gt;
Zunächst muss eine eigene Installation der Ecartis-Software in das Hostsharing-Paket kopiert werden.&lt;br /&gt;
&lt;br /&gt;
Rufe dazu als Paket-Admin auf:&lt;br /&gt;
&lt;br /&gt;
  cp -rL /usr/lib/ecartis $HOME&lt;br /&gt;
  mkdir $HOME/ecartis/queue&lt;br /&gt;
&lt;br /&gt;
Und um fremde Blicke auf die E-Mail-Adressen der Teilnehmer/innen zu verhindern:&lt;br /&gt;
&lt;br /&gt;
  chmod -R o-rwx $HOME/ecartis&lt;br /&gt;
&lt;br /&gt;
Im Verzeichnis &#039;&#039;ecartis&#039;&#039; befindet sich die Konfigurationsdatei ecartis.cfg, welche den Listenmanager steuert.&lt;br /&gt;
&lt;br /&gt;
=== Konfiguration  ===&lt;br /&gt;
&lt;br /&gt;
==== ecartis.cfg ====&lt;br /&gt;
&lt;br /&gt;
Für den Listenmanager müssen nun in ecartis.cfg mehrere Variablen angepasst werden. &lt;br /&gt;
Eine detailierte Beschreibung der einzelnen Optionen gibt es unter: http://www.ecartis.org/variables.html].&lt;br /&gt;
&lt;br /&gt;
Hier die notwendigen Einstellungen in ecartis.cfg:&lt;br /&gt;
&lt;br /&gt;
  listserver-address = ecartis@example.com&lt;br /&gt;
  listserver-admin = postmaster@example.com&lt;br /&gt;
  listserver-root = /home/pacs/xyz00/ecartis&lt;br /&gt;
  listserver-conf = /home/pacs/xyz00/ecartis&lt;br /&gt;
  listserver-data = /home/pacs/xyz00/ecartis&lt;br /&gt;
  listserver-modules = /home/pacs/xyz00/ecartis/modules&lt;br /&gt;
&lt;br /&gt;
==== E-Mail Adresse ====&lt;br /&gt;
&lt;br /&gt;
Im Folgenden benutze ich den Paket-User &#039;&#039;xyz00&#039;&#039; als Empfänger für alle E-Mails, die an Ecartis gehen. Die Verteilung erfolgt in der Datei &#039;&#039;.procmailrc&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Zunächst stelle ich sicher, dass für den Paket-User kein EMail-Alias eingerichtet ist, bzw. ich lösche es:&lt;br /&gt;
&lt;br /&gt;
  hsadmin --call:emailalias.search&lt;br /&gt;
  hsadmin --call:emailalias.delete --where:name=xyz00&lt;br /&gt;
&lt;br /&gt;
Dann richte ich die Adresse des Mailinglisten-Managers selbst ein:&lt;br /&gt;
&lt;br /&gt;
  hsadmin --call:emailaddress.add --set:target=xyz00 --set:localpart=ecartis --set:domain=example.com&lt;br /&gt;
&lt;br /&gt;
In der Datei &#039;&#039;$HOME/.procmailrc&#039;&#039; trage ich ein (siehe auch [[Procmail]]):&lt;br /&gt;
&lt;br /&gt;
 :0&lt;br /&gt;
 * ^Delivered-To: ecartis@example.com&lt;br /&gt;
 |$HOME/ecartis/ecartis&lt;br /&gt;
&lt;br /&gt;
===  Test ===&lt;br /&gt;
&lt;br /&gt;
Damit ist das Mailinglistensystem erreichbar und eine E-Mail an ecartis@example.com mit dem Inhalt help schickt uns die Datei ecartis.hlp zurück, die man später natürlich an seine Bedürfnisse anpassen kann.&lt;br /&gt;
&lt;br /&gt;
Einrichten einer Mailingliste&lt;br /&gt;
&lt;br /&gt;
== Mailinglisten ==&lt;br /&gt;
&lt;br /&gt;
=== Einrichten ===&lt;br /&gt;
&lt;br /&gt;
Man fügt nun den einzelnen Listenmanagern Listen hinzu. Dazu wechselt man in das Verzeichnis des jeweiligen Listenmanagers.&lt;br /&gt;
&lt;br /&gt;
Aufruf:&lt;br /&gt;
  &lt;br /&gt;
  cd $HOME/ecartis&lt;br /&gt;
  ./ecartis -newlist NAMEDERLISTE&lt;br /&gt;
&lt;br /&gt;
Dann wird man nach dem Administrator der einzurichtenden Liste gefragt und nach der Eingabe der E-Mail-Adresse erhält man eine Liste von aliasen, die man mit [[aliases]] mit vorangestelltem Paketlogin einträgt. Das Voranstellen von bspw. xyz00- ist notwendig, weil man nur diese Aliases ändern darf.&lt;br /&gt;
&lt;br /&gt;
Beispiel:&lt;br /&gt;
&lt;br /&gt;
Folgendes gibt uns der Befehl zurück:&lt;br /&gt;
&lt;br /&gt;
 Aliases for &#039;testmailingliste&#039; mailing list.&lt;br /&gt;
 testmailingliste: &amp;quot;|/home/pacs/xyz00/mailinglist/ecartis -s testmailingliste&amp;quot;&lt;br /&gt;
 testmailingliste-request: &amp;quot;|/home/pacs/xyz00/mailinglist/ecartis -r testmailingliste&amp;quot;&lt;br /&gt;
 testmailingliste-repost: &amp;quot;|/home/pacs/xyz00/mailinglist/ecartis -a testmailingliste&amp;quot;&lt;br /&gt;
 testmailingliste-admins: &amp;quot;|/home/pacs/xyz00/mailinglist/ecartis -admins testmailingliste&amp;quot;&lt;br /&gt;
 testmailingliste-moderators: &amp;quot;|/home/pacs/xyz00/mailinglist/ecartis -moderators testmailingliste&amp;quot;&lt;br /&gt;
 testmailingliste-bounce: &amp;quot;|/home/pacs/xyz00/mailinglist/ecartis -bounce testmailingliste&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Diese Aliases setze ich nicht in dieser Form um, sondern nutze den &#039;&#039;recipient_delimiter&#039;&#039; von Postfix und die &#039;&#039;.procmailrc&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
==== Aliases ersetzen ====&lt;br /&gt;
&lt;br /&gt;
Durch den Aufruf von &#039;&#039;ecartis -newlist&#039;&#039; wurde eine Konfigurationsdatei für die neue Mailingliste angelegt.&lt;br /&gt;
Die Datei heißt &#039;&#039;$HOME/ecartis/lists/testmailingliste/config&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Hier ändere ich zunächst die folgenden Einträge:&lt;br /&gt;
&lt;br /&gt;
  reply-to = testmailingliste@example.com&lt;br /&gt;
  administrivia-address = testmailingliste+admins@example.com&lt;br /&gt;
  moderator = testmailingliste+moderators@example.com&lt;br /&gt;
  send-as = testmailingliste+bounce@example.com&lt;br /&gt;
&lt;br /&gt;
Bitte das &amp;quot;+&amp;quot;-Plus-Zeichen im Localpart der EMail-Adressen beachten!&lt;br /&gt;
&lt;br /&gt;
Mit hsadmin lege ich eine EMail-Adresse an:&lt;br /&gt;
&lt;br /&gt;
  hsadmin --call:emailaddress.add --set:localpart=testmailingliste --set:domain=example.com --set:target=xyz00&lt;br /&gt;
&lt;br /&gt;
Statt der Aliases mache die folgenden Einträge in die &#039;&#039;.procmailrc&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
 :0&lt;br /&gt;
 * ^Delivered-To: testmailingliste@example.com&lt;br /&gt;
 |$HOME/ecartis/ecartis -s testmailingliste&lt;br /&gt;
 :0&lt;br /&gt;
 * ^Delivered-To: testmailingliste+request@example.com&lt;br /&gt;
 |$HOME/ecartis/ecartis -r testmailingliste&lt;br /&gt;
 :0&lt;br /&gt;
 * ^Delivered-To: testmailingliste+repost@example.com&lt;br /&gt;
 |$HOME/ecartis/ecartis -a testmailingliste&lt;br /&gt;
 :0&lt;br /&gt;
 * ^Delivered-To: testmailingliste+admins@example.com&lt;br /&gt;
 |$HOME/ecartis/ecartis -admins testmailingliste&lt;br /&gt;
 :0&lt;br /&gt;
 * ^Delivered-To: testmailingliste+moderators@example.com&lt;br /&gt;
 |$HOME/ecartis/ecartis -moderators testmailingliste&lt;br /&gt;
 :0&lt;br /&gt;
 * ^Delivered-To: testmailingliste+bounce@example.com&lt;br /&gt;
 |$HOME/ecartis/ecartis -bounce testmailingliste&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Jetzt gibt es eine offene Liste mit der Adresse testmailingliste@example.com, an der man sich mit einer E-Mail an testmailingliste+request@example.com mit dem Inhalt subscribe anmelden kann.&lt;br /&gt;
&lt;br /&gt;
Konfigurieren einer Mailingliste&lt;br /&gt;
&lt;br /&gt;
Jeder Listenmanager besitzt ein Unterverzeichnis /lists, in welchem die zugehörigen Listen verwaltet werden. Jeder Mailingliste wird ein Verzeichnis unterhalb dieses Verzeichnisses zugeordnet. Es hat den Namen der Mailingliste. Die Konfigurationsdatei für die einzelnen Listen heißt config und ist dort abgelegt. Eine detaillierte Beschreibung der einzelnen Optionen gibt es unter: [http://www.ecartis.org/variables.html].&lt;br /&gt;
&lt;br /&gt;
=== Konfiguration ===&lt;br /&gt;
&lt;br /&gt;
Hier nur die wichtigsten Einstellungen, die man konfigurieren sollte:&lt;br /&gt;
&lt;br /&gt;
* list-owner = der Eigentümer der Liste&lt;br /&gt;
* subject-tag = eine Zeichenfolge die im Betreff vorangestellt wird (wie [global] bei unserer global(at)hostsharing.net Mailingliste)&lt;br /&gt;
* description = eine Beschreibung der Liste&lt;br /&gt;
* reply-to = Adresse der Liste (in unserem Beispiel: testmailingliste@example.com)&lt;br /&gt;
* administrivia-address = in unserem Beispiel testmailingliste-admins@example.com&lt;br /&gt;
* humanize-mime = false&lt;br /&gt;
* humanize-quotedprintable = true&lt;br /&gt;
 Sorgen gemeinsam für eine ordentliche Handhabung von Umlauten, sie werden verstanden und es werden passende Header generiert.&lt;br /&gt;
&lt;br /&gt;
* mbox-archive-path = wenn man möchte, kann man alle Mails, die über die Liste verschickt werden, archivieren&lt;br /&gt;
* subscribe-mode = hier gibt es 3 mögliche Einstellungen:&lt;br /&gt;
1. open&lt;br /&gt;
Der Benutzer meldet sich per subscribe an und wird direkt in die Liste eingetragen&lt;br /&gt;
2. confirm&lt;br /&gt;
Der Benutzer muss die Anmeldung anhand einer zugeschickten Mail bestätigen&lt;br /&gt;
3. closed&lt;br /&gt;
Die Anmeldung muss vom Listenadmin erlaubt werden&lt;br /&gt;
&lt;br /&gt;
* unsubscribe-mode = hier gibt es 3 mögliche Einstellungen:&lt;br /&gt;
1. open&lt;br /&gt;
Der Benutzer meldet sich per unsubscribe ab und wird direkt aus der Liste ausgetragen&lt;br /&gt;
2. confirm&lt;br /&gt;
Der Benutzer muss die Abmeldung anhand einer zugeschickten Mail bestätigen&lt;br /&gt;
3. closed&lt;br /&gt;
Die Abmeldung muss vom Listenadmin erlaubt werden&lt;br /&gt;
&lt;br /&gt;
=== Unterschiedliche Mailinglistentypen ===&lt;br /&gt;
&lt;br /&gt;
==== offene Liste ====&lt;br /&gt;
&lt;br /&gt;
Offene Liste bedeutet, dass jeder an die Liste schreiben kann, die dann an alle eingetragenen E-Mail-Adressen verteilt wird (Beispiel: global(at)hostsharing.net).&lt;br /&gt;
Dies ist der Standard bei der Einrichtung einer Liste und benötigt keine besonderen Einstellungen&lt;br /&gt;
&lt;br /&gt;
==== geschlossene Liste ====&lt;br /&gt;
&lt;br /&gt;
bedeutet, dass nur E-Mails von den Eingetragenen verteilt werden. Diese Listenart wird auch als member-only bezeichnet (Beispiel: members(at)hostsharing.net).&lt;br /&gt;
&lt;br /&gt;
Hierfür müssen folgende Optionen gesetzt werden:&lt;br /&gt;
&lt;br /&gt;
 closed-post = true&lt;br /&gt;
&lt;br /&gt;
Sinnvoll ist außerdem confirm oder closed bei subscribe-mode und unsubscribe-mode einzutragen.&lt;br /&gt;
&lt;br /&gt;
==== moderierte Liste ====&lt;br /&gt;
&lt;br /&gt;
bedeutet, dass E-Mails von jemandem authorisiert werden müssen, bevor sie verteilt werden. Wird in den meisten Fällen für Newsletter o.ä. verwendet, wo man als Betreiber den Eingetragenen E-Mails schicken will, aber eine Kommunikation der Eingetragenen untereinander nicht gewollt ist (Beispiel: global-announce(at)hostsharing.net).&lt;br /&gt;
&lt;br /&gt;
Hierfür müssen folgende Optionen gesetzt werden:&lt;br /&gt;
&lt;br /&gt;
* moderated = yes&lt;br /&gt;
* moderate-include-queue = true&lt;br /&gt;
* moderator = testmailingliste-moderators@example.com&lt;br /&gt;
&lt;br /&gt;
Sinnvoll ist außerdem confirm oder closed bei subscribe-mode und unsubscribe-mode einzutragen.&lt;br /&gt;
&lt;br /&gt;
=== Autorisierung ===&lt;br /&gt;
Für die Authorisierung gibt es mehrere Möglichkeiten:&lt;br /&gt;
&lt;br /&gt;
==== admin-approvepost = true ====&lt;br /&gt;
&lt;br /&gt;
Damit werden alle E-Mails der Listenadministratoren direkt verschickt. Es wird nur überprüft, ob die Absender-E-Mail-Adresse übereinstimmt, da diese aber sehr leicht gefälscht werden kann, ist es nur ein sehr schwacher Schutz.&lt;br /&gt;
&lt;br /&gt;
==== post-password = geheimesPasswort ====&lt;br /&gt;
&lt;br /&gt;
Das setzt das Passwort für diese Liste auf geheimesPasswort und nur E-Mails mit der folgenden Zeile im Header der E-Mail werden verteilt: X-posting-pass: geheimesPasswort&lt;br /&gt;
&lt;br /&gt;
Wenn man keine der beiden Optionen benutzt, dann wird die E-Mail zuerst an den Administrator der Liste geschickt, der sie bestätigen muss.&lt;br /&gt;
&lt;br /&gt;
== Weitere Möglichkeiten ==&lt;br /&gt;
&lt;br /&gt;
=== Verschiedene Domains ===&lt;br /&gt;
&lt;br /&gt;
Wenn man für verschiedene seiner Domains eigenständige Mailinglistensysteme betreiben will, so kann man das  Verzeichnis &#039;&#039;ecartis&#039;&#039; als Vorlage verwenden und beliebig kopieren. Dann sind natürlich die Aliase zur Steuerung des Listenmanagers per E-Mail ebenfalls zu kopieren und entsprechend anzupassen.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
[[Kategorie:HSDoku]]&lt;br /&gt;
[[Kategorie:Installationsanleitungen]]&lt;br /&gt;
[[Kategorie:Software]]&lt;/div&gt;</summary>
		<author><name>Peh00-phor</name></author>
	</entry>
	<entry>
		<id>https://wiki.hostsharing.net/index.php?title=Ecartis_Installieren&amp;diff=2295</id>
		<title>Ecartis Installieren</title>
		<link rel="alternate" type="text/html" href="https://wiki.hostsharing.net/index.php?title=Ecartis_Installieren&amp;diff=2295"/>
		<updated>2010-03-02T14:26:17Z</updated>

		<summary type="html">&lt;p&gt;Peh00-phor: /* Einrichten */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Mailinglisten mit ecartis ==&lt;br /&gt;
&lt;br /&gt;
{{Baustelle}}&lt;br /&gt;
&lt;br /&gt;
[http://www.ecartis.org/ Ecartis] ist ein Programm, mit dem Bei Hostsharing E-Mail Verteiler realisiert werden können.&lt;br /&gt;
&lt;br /&gt;
Vergleichen Sie dazu auch den Wikipedia-Artikel:&lt;br /&gt;
[http://de.wikipedia.org/wiki/Mailingliste Mailingliste]&lt;br /&gt;
&lt;br /&gt;
Alternative: [[Mailman]]&lt;br /&gt;
&lt;br /&gt;
Diese Anleitung beschreibt die Installation von Ecartis in einem Hostsharing DW-Paket für eine Domain.&lt;br /&gt;
&lt;br /&gt;
== ecartis ==&lt;br /&gt;
&lt;br /&gt;
=== Einrichten  ===&lt;br /&gt;
&lt;br /&gt;
Zunächst muss eine eigene Installation der Ecartis-Software in das Hostsharing-Paket kopiert werden.&lt;br /&gt;
&lt;br /&gt;
Rufe dazu als Paket-Admin auf:&lt;br /&gt;
&lt;br /&gt;
  cp -rL /usr/lib/ecartis $HOME&lt;br /&gt;
&lt;br /&gt;
Und um fremde Blicke auf die E-Mail-Adressen der Teilnehmer/innen zu verhindern:&lt;br /&gt;
&lt;br /&gt;
  chmod -R o-rwx $HOME/ecartis&lt;br /&gt;
&lt;br /&gt;
Im Verzeichnis &#039;&#039;ecartis&#039;&#039; befindet sich die Konfigurationsdatei ecartis.cfg, welche den Listenmanager steuert.&lt;br /&gt;
&lt;br /&gt;
=== Konfiguration  ===&lt;br /&gt;
&lt;br /&gt;
==== ecartis.cfg ====&lt;br /&gt;
&lt;br /&gt;
Für den Listenmanager müssen nun in ecartis.cfg mehrere Variablen angepasst werden. &lt;br /&gt;
Eine detailierte Beschreibung der einzelnen Optionen gibt es unter: http://www.ecartis.org/variables.html].&lt;br /&gt;
&lt;br /&gt;
Hier die notwendigen Einstellungen in ecartis.cfg:&lt;br /&gt;
&lt;br /&gt;
  listserver-address = ecartis@example.com&lt;br /&gt;
  listserver-admin = postmaster@example.com&lt;br /&gt;
  listserver-root = /home/pacs/xyz00/ecartis&lt;br /&gt;
  listserver-conf = /home/pacs/xyz00/ecartis&lt;br /&gt;
  listserver-data = /home/pacs/xyz00/ecartis&lt;br /&gt;
  listserver-modules = /home/pacs/xyz00/ecartis/modules&lt;br /&gt;
&lt;br /&gt;
==== E-Mail Adresse ====&lt;br /&gt;
&lt;br /&gt;
Im Folgenden benutze ich den Paket-User &#039;&#039;xyz00&#039;&#039; als Empfänger für alle E-Mails, die an Ecartis gehen. Die Verteilung erfolgt in der Datei &#039;&#039;.procmailrc&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Zunächst stelle ich sicher, dass für den Paket-User kein EMail-Alias eingerichtet ist, bzw. ich lösche es:&lt;br /&gt;
&lt;br /&gt;
  hsadmin --call:emailalias.search&lt;br /&gt;
  hsadmin --call:emailalias.delete --where:name=xyz00&lt;br /&gt;
&lt;br /&gt;
Dann richte ich die Adresse des Mailinglisten-Managers selbst ein:&lt;br /&gt;
&lt;br /&gt;
  hsadmin --call:emailaddress.add --set:target=xyz00 --set:localpart=ecartis --set:domain=example.com&lt;br /&gt;
&lt;br /&gt;
In der Datei &#039;&#039;$HOME/.procmailrc&#039;&#039; trage ich ein (siehe auch [[Procmail]]):&lt;br /&gt;
&lt;br /&gt;
 :0&lt;br /&gt;
 * ^Delivered-To: ecartis@example.com&lt;br /&gt;
 |$HOME/ecartis/ecartis&lt;br /&gt;
&lt;br /&gt;
===  Test ===&lt;br /&gt;
&lt;br /&gt;
Damit ist das Mailinglistensystem erreichbar und eine E-Mail an ecartis@example.com mit dem Inhalt help schickt uns die Datei ecartis.hlp zurück, die man später natürlich an seine Bedürfnisse anpassen kann.&lt;br /&gt;
&lt;br /&gt;
Einrichten einer Mailingliste&lt;br /&gt;
&lt;br /&gt;
== Mailinglisten ==&lt;br /&gt;
&lt;br /&gt;
=== Einrichten ===&lt;br /&gt;
&lt;br /&gt;
Man fügt nun den einzelnen Listenmanagern Listen hinzu. Dazu wechselt man in das Verzeichnis des jeweiligen Listenmanagers.&lt;br /&gt;
&lt;br /&gt;
Aufruf:&lt;br /&gt;
  &lt;br /&gt;
  cd $HOME/ecartis&lt;br /&gt;
  ./ecartis -newlist NAMEDERLISTE&lt;br /&gt;
&lt;br /&gt;
Dann wird man nach dem Administrator der einzurichtenden Liste gefragt und nach der Eingabe der E-Mail-Adresse erhält man eine Liste von aliasen, die man mit [[aliases]] mit vorangestelltem Paketlogin einträgt. Das Voranstellen von bspw. xyz00- ist notwendig, weil man nur diese Aliases ändern darf.&lt;br /&gt;
&lt;br /&gt;
Beispiel:&lt;br /&gt;
&lt;br /&gt;
Folgendes gibt uns der Befehl zurück:&lt;br /&gt;
&lt;br /&gt;
 Aliases for &#039;testmailingliste&#039; mailing list.&lt;br /&gt;
 testmailingliste: &amp;quot;|/home/pacs/xyz00/mailinglist/ecartis -s testmailingliste&amp;quot;&lt;br /&gt;
 testmailingliste-request: &amp;quot;|/home/pacs/xyz00/mailinglist/ecartis -r testmailingliste&amp;quot;&lt;br /&gt;
 testmailingliste-repost: &amp;quot;|/home/pacs/xyz00/mailinglist/ecartis -a testmailingliste&amp;quot;&lt;br /&gt;
 testmailingliste-admins: &amp;quot;|/home/pacs/xyz00/mailinglist/ecartis -admins testmailingliste&amp;quot;&lt;br /&gt;
 testmailingliste-moderators: &amp;quot;|/home/pacs/xyz00/mailinglist/ecartis -moderators testmailingliste&amp;quot;&lt;br /&gt;
 testmailingliste-bounce: &amp;quot;|/home/pacs/xyz00/mailinglist/ecartis -bounce testmailingliste&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Diese Aliases setze ich nicht in dieser Form um, sondern nutze den &#039;&#039;recipient_delimiter&#039;&#039; von Postfix und die &#039;&#039;.procmailrc&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
==== Aliases ersetzen ====&lt;br /&gt;
&lt;br /&gt;
Durch den Aufruf von &#039;&#039;ecartis -newlist&#039;&#039; wurde eine Konfigurationsdatei für die neue Mailingliste angelegt.&lt;br /&gt;
Die Datei heißt &#039;&#039;$HOME/ecartis/lists/testmailingliste/config&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Hier ändere ich zunächst die folgenden Einträge:&lt;br /&gt;
&lt;br /&gt;
  reply-to = testmailingliste@example.com&lt;br /&gt;
  administrivia-address = testmailingliste+admins@example.com&lt;br /&gt;
  moderator = testmailingliste+moderators@example.com&lt;br /&gt;
  send-as = testmailingliste+bounce@example.com&lt;br /&gt;
&lt;br /&gt;
Bitte das &amp;quot;+&amp;quot;-Plus-Zeichen im Localpart der EMail-Adressen beachten!&lt;br /&gt;
&lt;br /&gt;
Mit hsadmin lege ich eine EMail-Adresse an:&lt;br /&gt;
&lt;br /&gt;
  hsadmin --call:emailaddress.add --set:localpart=testmailingliste --set:domain=example.com --set:target=xyz00&lt;br /&gt;
&lt;br /&gt;
Statt der Aliases mache die folgenden Einträge in die &#039;&#039;.procmailrc&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
 :0&lt;br /&gt;
 * ^Delivered-To: testmailingliste@example.com&lt;br /&gt;
 |$HOME/ecartis/ecartis -s testmailingliste&lt;br /&gt;
 :0&lt;br /&gt;
 * ^Delivered-To: testmailingliste+request@example.com&lt;br /&gt;
 |$HOME/ecartis/ecartis -r testmailingliste&lt;br /&gt;
 :0&lt;br /&gt;
 * ^Delivered-To: testmailingliste+repost@example.com&lt;br /&gt;
 |$HOME/ecartis/ecartis -a testmailingliste&lt;br /&gt;
 :0&lt;br /&gt;
 * ^Delivered-To: testmailingliste+admins@example.com&lt;br /&gt;
 |$HOME/ecartis/ecartis -admins testmailingliste&lt;br /&gt;
 :0&lt;br /&gt;
 * ^Delivered-To: testmailingliste+moderators@example.com&lt;br /&gt;
 |$HOME/ecartis/ecartis -moderators testmailingliste&lt;br /&gt;
 :0&lt;br /&gt;
 * ^Delivered-To: testmailingliste+bounce@example.com&lt;br /&gt;
 |$HOME/ecartis/ecartis -bounce testmailingliste&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Jetzt gibt es eine offene Liste mit der Adresse testmailingliste@example.com, an der man sich mit einer E-Mail an testmailingliste+request@example.com mit dem Inhalt subscribe anmelden kann.&lt;br /&gt;
&lt;br /&gt;
Konfigurieren einer Mailingliste&lt;br /&gt;
&lt;br /&gt;
Jeder Listenmanager besitzt ein Unterverzeichnis /lists, in welchem die zugehörigen Listen verwaltet werden. Jeder Mailingliste wird ein Verzeichnis unterhalb dieses Verzeichnisses zugeordnet. Es hat den Namen der Mailingliste. Die Konfigurationsdatei für die einzelnen Listen heißt config und ist dort abgelegt. Eine detaillierte Beschreibung der einzelnen Optionen gibt es unter: [http://www.ecartis.org/variables.html].&lt;br /&gt;
&lt;br /&gt;
=== Konfiguration ===&lt;br /&gt;
&lt;br /&gt;
Hier nur die wichtigsten Einstellungen, die man konfigurieren sollte:&lt;br /&gt;
&lt;br /&gt;
* list-owner = der Eigentümer der Liste&lt;br /&gt;
* subject-tag = eine Zeichenfolge die im Betreff vorangestellt wird (wie [global] bei unserer global(at)hostsharing.net Mailingliste)&lt;br /&gt;
* description = eine Beschreibung der Liste&lt;br /&gt;
* reply-to = Adresse der Liste (in unserem Beispiel: testmailingliste@example.com)&lt;br /&gt;
* administrivia-address = in unserem Beispiel testmailingliste-admins@example.com&lt;br /&gt;
* humanize-mime = false&lt;br /&gt;
* humanize-quotedprintable = true&lt;br /&gt;
 Sorgen gemeinsam für eine ordentliche Handhabung von Umlauten, sie werden verstanden und es werden passende Header generiert.&lt;br /&gt;
&lt;br /&gt;
* mbox-archive-path = wenn man möchte, kann man alle Mails, die über die Liste verschickt werden, archivieren&lt;br /&gt;
* subscribe-mode = hier gibt es 3 mögliche Einstellungen:&lt;br /&gt;
1. open&lt;br /&gt;
Der Benutzer meldet sich per subscribe an und wird direkt in die Liste eingetragen&lt;br /&gt;
2. confirm&lt;br /&gt;
Der Benutzer muss die Anmeldung anhand einer zugeschickten Mail bestätigen&lt;br /&gt;
3. closed&lt;br /&gt;
Die Anmeldung muss vom Listenadmin erlaubt werden&lt;br /&gt;
&lt;br /&gt;
* unsubscribe-mode = hier gibt es 3 mögliche Einstellungen:&lt;br /&gt;
1. open&lt;br /&gt;
Der Benutzer meldet sich per unsubscribe ab und wird direkt aus der Liste ausgetragen&lt;br /&gt;
2. confirm&lt;br /&gt;
Der Benutzer muss die Abmeldung anhand einer zugeschickten Mail bestätigen&lt;br /&gt;
3. closed&lt;br /&gt;
Die Abmeldung muss vom Listenadmin erlaubt werden&lt;br /&gt;
&lt;br /&gt;
=== Unterschiedliche Mailinglistentypen ===&lt;br /&gt;
&lt;br /&gt;
==== offene Liste ====&lt;br /&gt;
&lt;br /&gt;
Offene Liste bedeutet, dass jeder an die Liste schreiben kann, die dann an alle eingetragenen E-Mail-Adressen verteilt wird (Beispiel: global(at)hostsharing.net).&lt;br /&gt;
Dies ist der Standard bei der Einrichtung einer Liste und benötigt keine besonderen Einstellungen&lt;br /&gt;
&lt;br /&gt;
==== geschlossene Liste ====&lt;br /&gt;
&lt;br /&gt;
bedeutet, dass nur E-Mails von den Eingetragenen verteilt werden. Diese Listenart wird auch als member-only bezeichnet (Beispiel: members(at)hostsharing.net).&lt;br /&gt;
&lt;br /&gt;
Hierfür müssen folgende Optionen gesetzt werden:&lt;br /&gt;
&lt;br /&gt;
 closed-post = true&lt;br /&gt;
&lt;br /&gt;
Sinnvoll ist außerdem confirm oder closed bei subscribe-mode und unsubscribe-mode einzutragen.&lt;br /&gt;
&lt;br /&gt;
==== moderierte Liste ====&lt;br /&gt;
&lt;br /&gt;
bedeutet, dass E-Mails von jemandem authorisiert werden müssen, bevor sie verteilt werden. Wird in den meisten Fällen für Newsletter o.ä. verwendet, wo man als Betreiber den Eingetragenen E-Mails schicken will, aber eine Kommunikation der Eingetragenen untereinander nicht gewollt ist (Beispiel: global-announce(at)hostsharing.net).&lt;br /&gt;
&lt;br /&gt;
Hierfür müssen folgende Optionen gesetzt werden:&lt;br /&gt;
&lt;br /&gt;
* moderated = yes&lt;br /&gt;
* moderate-include-queue = true&lt;br /&gt;
* moderator = testmailingliste-moderators@example.com&lt;br /&gt;
&lt;br /&gt;
Sinnvoll ist außerdem confirm oder closed bei subscribe-mode und unsubscribe-mode einzutragen.&lt;br /&gt;
&lt;br /&gt;
=== Autorisierung ===&lt;br /&gt;
Für die Authorisierung gibt es mehrere Möglichkeiten:&lt;br /&gt;
&lt;br /&gt;
==== admin-approvepost = true ====&lt;br /&gt;
&lt;br /&gt;
Damit werden alle E-Mails der Listenadministratoren direkt verschickt. Es wird nur überprüft, ob die Absender-E-Mail-Adresse übereinstimmt, da diese aber sehr leicht gefälscht werden kann, ist es nur ein sehr schwacher Schutz.&lt;br /&gt;
&lt;br /&gt;
==== post-password = geheimesPasswort ====&lt;br /&gt;
&lt;br /&gt;
Das setzt das Passwort für diese Liste auf geheimesPasswort und nur E-Mails mit der folgenden Zeile im Header der E-Mail werden verteilt: X-posting-pass: geheimesPasswort&lt;br /&gt;
&lt;br /&gt;
Wenn man keine der beiden Optionen benutzt, dann wird die E-Mail zuerst an den Administrator der Liste geschickt, der sie bestätigen muss.&lt;br /&gt;
&lt;br /&gt;
== Weitere Möglichkeiten ==&lt;br /&gt;
&lt;br /&gt;
=== Verschiedene Domains ===&lt;br /&gt;
&lt;br /&gt;
Wenn man für verschiedene seiner Domains eigenständige Mailinglistensysteme betreiben will, so kann man das  Verzeichnis &#039;&#039;ecartis&#039;&#039; als Vorlage verwenden und beliebig kopieren. Dann sind natürlich die Aliase zur Steuerung des Listenmanagers per E-Mail ebenfalls zu kopieren und entsprechend anzupassen.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
[[Kategorie:HSDoku]]&lt;br /&gt;
[[Kategorie:Installationsanleitungen]]&lt;br /&gt;
[[Kategorie:Software]]&lt;/div&gt;</summary>
		<author><name>Peh00-phor</name></author>
	</entry>
	<entry>
		<id>https://wiki.hostsharing.net/index.php?title=Ecartis_Installieren&amp;diff=2294</id>
		<title>Ecartis Installieren</title>
		<link rel="alternate" type="text/html" href="https://wiki.hostsharing.net/index.php?title=Ecartis_Installieren&amp;diff=2294"/>
		<updated>2010-03-02T13:23:12Z</updated>

		<summary type="html">&lt;p&gt;Peh00-phor: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Mailinglisten mit ecartis ==&lt;br /&gt;
&lt;br /&gt;
{{Baustelle}}&lt;br /&gt;
&lt;br /&gt;
[http://www.ecartis.org/ Ecartis] ist ein Programm, mit dem Bei Hostsharing E-Mail Verteiler realisiert werden können.&lt;br /&gt;
&lt;br /&gt;
Vergleichen Sie dazu auch den Wikipedia-Artikel:&lt;br /&gt;
[http://de.wikipedia.org/wiki/Mailingliste Mailingliste]&lt;br /&gt;
&lt;br /&gt;
Alternative: [[Mailman]]&lt;br /&gt;
&lt;br /&gt;
Diese Anleitung beschreibt die Installation von Ecartis in einem Hostsharing DW-Paket für eine Domain.&lt;br /&gt;
&lt;br /&gt;
== ecartis ==&lt;br /&gt;
&lt;br /&gt;
=== Einrichten  ===&lt;br /&gt;
&lt;br /&gt;
Zunächst muss eine eigene Installation der Ecartis-Software in das Hostsharing-Paket kopiert werden.&lt;br /&gt;
&lt;br /&gt;
Rufe dazu als Paket-Admin auf:&lt;br /&gt;
&lt;br /&gt;
  cp -r /usr/lib/ecartis $HOME&lt;br /&gt;
  rm $HOME/ecartis/ecartis.cfg&lt;br /&gt;
  cp /etc/ecartis/ecartis.cfg $HOME/ecartis/&lt;br /&gt;
&lt;br /&gt;
Und um fremde Blicke auf die E-Mail-Adressen der Teilnehmer/innen zu verhindern:&lt;br /&gt;
&lt;br /&gt;
  chmod -R o-rwx $HOME/ecartis&lt;br /&gt;
&lt;br /&gt;
Im Verzeichnis &#039;&#039;ecartis&#039;&#039; befindet sich die Konfigurationsdatei ecartis.cfg, welche den Listenmanager steuert.&lt;br /&gt;
&lt;br /&gt;
=== Konfiguration  ===&lt;br /&gt;
&lt;br /&gt;
==== ecartis.cfg ====&lt;br /&gt;
&lt;br /&gt;
Für den Listenmanager müssen nun in ecartis.cfg mehrere Variablen angepasst werden. &lt;br /&gt;
Eine detailierte Beschreibung der einzelnen Optionen gibt es unter: http://www.ecartis.org/variables.html].&lt;br /&gt;
&lt;br /&gt;
Hier die notwendigen Einstellungen in ecartis.cfg:&lt;br /&gt;
&lt;br /&gt;
  listserver-address = ecartis@example.com&lt;br /&gt;
  listserver-admin = postmaster@example.com&lt;br /&gt;
  listserver-root = /home/pacs/xyz00/ecartis&lt;br /&gt;
  listserver-conf = /home/pacs/xyz00/ecartis&lt;br /&gt;
  listserver-data = /home/pacs/xyz00/ecartis&lt;br /&gt;
  listserver-modules = /home/pacs/xyz00/ecartis/modules&lt;br /&gt;
&lt;br /&gt;
==== E-Mail Adresse ====&lt;br /&gt;
&lt;br /&gt;
Im Folgenden benutze ich den Paket-User &#039;&#039;xyz00&#039;&#039; als Empfänger für alle E-Mails, die an Ecartis gehen. Die Verteilung erfolgt in der Datei &#039;&#039;.procmailrc&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Zunächst stelle ich sicher, dass für den Paket-User kein EMail-Alias eingerichtet ist, bzw. ich lösche es:&lt;br /&gt;
&lt;br /&gt;
  hsadmin --call:emailalias.search&lt;br /&gt;
  hsadmin --call:emailalias.delete --where:name=xyz00&lt;br /&gt;
&lt;br /&gt;
Dann richte ich die Adresse des Mailinglisten-Managers selbst ein:&lt;br /&gt;
&lt;br /&gt;
  hsadmin --call:emailaddress.add --set:target=xyz00 --set:localpart=ecartis --set:domain=example.com&lt;br /&gt;
&lt;br /&gt;
In der Datei &#039;&#039;$HOME/.procmailrc&#039;&#039; trage ich ein (siehe auch [[Procmail]]):&lt;br /&gt;
&lt;br /&gt;
 :0&lt;br /&gt;
 * ^Delivered-To: ecartis@example.com&lt;br /&gt;
 |$HOME/ecartis/ecartis&lt;br /&gt;
&lt;br /&gt;
===  Test ===&lt;br /&gt;
&lt;br /&gt;
Damit ist das Mailinglistensystem erreichbar und eine E-Mail an ecartis@example.com mit dem Inhalt help schickt uns die Datei ecartis.hlp zurück, die man später natürlich an seine Bedürfnisse anpassen kann.&lt;br /&gt;
&lt;br /&gt;
Einrichten einer Mailingliste&lt;br /&gt;
&lt;br /&gt;
== Mailinglisten ==&lt;br /&gt;
&lt;br /&gt;
=== Einrichten ===&lt;br /&gt;
&lt;br /&gt;
Man fügt nun den einzelnen Listenmanagern Listen hinzu. Dazu wechselt man in das Verzeichnis des jeweiligen Listenmanagers.&lt;br /&gt;
&lt;br /&gt;
Aufruf:&lt;br /&gt;
  &lt;br /&gt;
  cd $HOME/ecartis&lt;br /&gt;
  ./ecartis -newlist NAMEDERLISTE&lt;br /&gt;
&lt;br /&gt;
Dann wird man nach dem Administrator der einzurichtenden Liste gefragt und nach der Eingabe der E-Mail-Adresse erhält man eine Liste von aliasen, die man mit [[aliases]] mit vorangestelltem Paketlogin einträgt. Das Voranstellen von bspw. xyz00- ist notwendig, weil man nur diese Aliases ändern darf.&lt;br /&gt;
&lt;br /&gt;
Beispiel:&lt;br /&gt;
&lt;br /&gt;
Folgendes gibt uns der Befehl zurück:&lt;br /&gt;
&lt;br /&gt;
 Aliases for &#039;testmailingliste&#039; mailing list.&lt;br /&gt;
 testmailingliste: &amp;quot;|/home/pacs/xyz00/mailinglist/ecartis -s testmailingliste&amp;quot;&lt;br /&gt;
 testmailingliste-request: &amp;quot;|/home/pacs/xyz00/mailinglist/ecartis -r testmailingliste&amp;quot;&lt;br /&gt;
 testmailingliste-repost: &amp;quot;|/home/pacs/xyz00/mailinglist/ecartis -a testmailingliste&amp;quot;&lt;br /&gt;
 testmailingliste-admins: &amp;quot;|/home/pacs/xyz00/mailinglist/ecartis -admins testmailingliste&amp;quot;&lt;br /&gt;
 testmailingliste-moderators: &amp;quot;|/home/pacs/xyz00/mailinglist/ecartis -moderators testmailingliste&amp;quot;&lt;br /&gt;
 testmailingliste-bounce: &amp;quot;|/home/pacs/xyz00/mailinglist/ecartis -bounce testmailingliste&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Diese Aliases setze ich nicht in dieser Form um, sondern nutze den &#039;&#039;recipient_delimiter&#039;&#039; von Postfix und die &#039;&#039;.procmailrc&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
==== Aliases ersetzen ====&lt;br /&gt;
&lt;br /&gt;
Durch den Aufruf von &#039;&#039;ecartis -newlist&#039;&#039; wurde eine Konfigurationsdatei für die neue Mailingliste angelegt.&lt;br /&gt;
Die Datei heißt &#039;&#039;$HOME/ecartis/lists/testmailingliste/config&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Hier ändere ich zunächst die folgenden Einträge:&lt;br /&gt;
&lt;br /&gt;
  reply-to = testmailingliste@example.com&lt;br /&gt;
  administrivia-address = testmailingliste+admins@example.com&lt;br /&gt;
  moderator = testmailingliste+moderators@example.com&lt;br /&gt;
  send-as = testmailingliste+bounce@example.com&lt;br /&gt;
&lt;br /&gt;
Bitte das &amp;quot;+&amp;quot;-Plus-Zeichen im Localpart der EMail-Adressen beachten!&lt;br /&gt;
&lt;br /&gt;
Mit hsadmin lege ich eine EMail-Adresse an:&lt;br /&gt;
&lt;br /&gt;
  hsadmin --call:emailaddress.add --set:localpart=testmailingliste --set:domain=example.com --set:target=xyz00&lt;br /&gt;
&lt;br /&gt;
Statt der Aliases mache die folgenden Einträge in die &#039;&#039;.procmailrc&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
 :0&lt;br /&gt;
 * ^Delivered-To: testmailingliste@example.com&lt;br /&gt;
 |$HOME/ecartis/ecartis -s testmailingliste&lt;br /&gt;
 :0&lt;br /&gt;
 * ^Delivered-To: testmailingliste+request@example.com&lt;br /&gt;
 |$HOME/ecartis/ecartis -r testmailingliste&lt;br /&gt;
 :0&lt;br /&gt;
 * ^Delivered-To: testmailingliste+repost@example.com&lt;br /&gt;
 |$HOME/ecartis/ecartis -a testmailingliste&lt;br /&gt;
 :0&lt;br /&gt;
 * ^Delivered-To: testmailingliste+admins@example.com&lt;br /&gt;
 |$HOME/ecartis/ecartis -admins testmailingliste&lt;br /&gt;
 :0&lt;br /&gt;
 * ^Delivered-To: testmailingliste+moderators@example.com&lt;br /&gt;
 |$HOME/ecartis/ecartis -moderators testmailingliste&lt;br /&gt;
 :0&lt;br /&gt;
 * ^Delivered-To: testmailingliste+bounce@example.com&lt;br /&gt;
 |$HOME/ecartis/ecartis -bounce testmailingliste&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Jetzt gibt es eine offene Liste mit der Adresse testmailingliste@example.com, an der man sich mit einer E-Mail an testmailingliste+request@example.com mit dem Inhalt subscribe anmelden kann.&lt;br /&gt;
&lt;br /&gt;
Konfigurieren einer Mailingliste&lt;br /&gt;
&lt;br /&gt;
Jeder Listenmanager besitzt ein Unterverzeichnis /lists, in welchem die zugehörigen Listen verwaltet werden. Jeder Mailingliste wird ein Verzeichnis unterhalb dieses Verzeichnisses zugeordnet. Es hat den Namen der Mailingliste. Die Konfigurationsdatei für die einzelnen Listen heißt config und ist dort abgelegt. Eine detaillierte Beschreibung der einzelnen Optionen gibt es unter: [http://www.ecartis.org/variables.html].&lt;br /&gt;
&lt;br /&gt;
=== Konfiguration ===&lt;br /&gt;
&lt;br /&gt;
Hier nur die wichtigsten Einstellungen, die man konfigurieren sollte:&lt;br /&gt;
&lt;br /&gt;
* list-owner = der Eigentümer der Liste&lt;br /&gt;
* subject-tag = eine Zeichenfolge die im Betreff vorangestellt wird (wie [global] bei unserer global(at)hostsharing.net Mailingliste)&lt;br /&gt;
* description = eine Beschreibung der Liste&lt;br /&gt;
* reply-to = Adresse der Liste (in unserem Beispiel: testmailingliste@example.com)&lt;br /&gt;
* administrivia-address = in unserem Beispiel testmailingliste-admins@example.com&lt;br /&gt;
* humanize-mime = false&lt;br /&gt;
* humanize-quotedprintable = true&lt;br /&gt;
 Sorgen gemeinsam für eine ordentliche Handhabung von Umlauten, sie werden verstanden und es werden passende Header generiert.&lt;br /&gt;
&lt;br /&gt;
* mbox-archive-path = wenn man möchte, kann man alle Mails, die über die Liste verschickt werden, archivieren&lt;br /&gt;
* subscribe-mode = hier gibt es 3 mögliche Einstellungen:&lt;br /&gt;
1. open&lt;br /&gt;
Der Benutzer meldet sich per subscribe an und wird direkt in die Liste eingetragen&lt;br /&gt;
2. confirm&lt;br /&gt;
Der Benutzer muss die Anmeldung anhand einer zugeschickten Mail bestätigen&lt;br /&gt;
3. closed&lt;br /&gt;
Die Anmeldung muss vom Listenadmin erlaubt werden&lt;br /&gt;
&lt;br /&gt;
* unsubscribe-mode = hier gibt es 3 mögliche Einstellungen:&lt;br /&gt;
1. open&lt;br /&gt;
Der Benutzer meldet sich per unsubscribe ab und wird direkt aus der Liste ausgetragen&lt;br /&gt;
2. confirm&lt;br /&gt;
Der Benutzer muss die Abmeldung anhand einer zugeschickten Mail bestätigen&lt;br /&gt;
3. closed&lt;br /&gt;
Die Abmeldung muss vom Listenadmin erlaubt werden&lt;br /&gt;
&lt;br /&gt;
=== Unterschiedliche Mailinglistentypen ===&lt;br /&gt;
&lt;br /&gt;
==== offene Liste ====&lt;br /&gt;
&lt;br /&gt;
Offene Liste bedeutet, dass jeder an die Liste schreiben kann, die dann an alle eingetragenen E-Mail-Adressen verteilt wird (Beispiel: global(at)hostsharing.net).&lt;br /&gt;
Dies ist der Standard bei der Einrichtung einer Liste und benötigt keine besonderen Einstellungen&lt;br /&gt;
&lt;br /&gt;
==== geschlossene Liste ====&lt;br /&gt;
&lt;br /&gt;
bedeutet, dass nur E-Mails von den Eingetragenen verteilt werden. Diese Listenart wird auch als member-only bezeichnet (Beispiel: members(at)hostsharing.net).&lt;br /&gt;
&lt;br /&gt;
Hierfür müssen folgende Optionen gesetzt werden:&lt;br /&gt;
&lt;br /&gt;
 closed-post = true&lt;br /&gt;
&lt;br /&gt;
Sinnvoll ist außerdem confirm oder closed bei subscribe-mode und unsubscribe-mode einzutragen.&lt;br /&gt;
&lt;br /&gt;
==== moderierte Liste ====&lt;br /&gt;
&lt;br /&gt;
bedeutet, dass E-Mails von jemandem authorisiert werden müssen, bevor sie verteilt werden. Wird in den meisten Fällen für Newsletter o.ä. verwendet, wo man als Betreiber den Eingetragenen E-Mails schicken will, aber eine Kommunikation der Eingetragenen untereinander nicht gewollt ist (Beispiel: global-announce(at)hostsharing.net).&lt;br /&gt;
&lt;br /&gt;
Hierfür müssen folgende Optionen gesetzt werden:&lt;br /&gt;
&lt;br /&gt;
* moderated = yes&lt;br /&gt;
* moderate-include-queue = true&lt;br /&gt;
* moderator = testmailingliste-moderators@example.com&lt;br /&gt;
&lt;br /&gt;
Sinnvoll ist außerdem confirm oder closed bei subscribe-mode und unsubscribe-mode einzutragen.&lt;br /&gt;
&lt;br /&gt;
=== Autorisierung ===&lt;br /&gt;
Für die Authorisierung gibt es mehrere Möglichkeiten:&lt;br /&gt;
&lt;br /&gt;
==== admin-approvepost = true ====&lt;br /&gt;
&lt;br /&gt;
Damit werden alle E-Mails der Listenadministratoren direkt verschickt. Es wird nur überprüft, ob die Absender-E-Mail-Adresse übereinstimmt, da diese aber sehr leicht gefälscht werden kann, ist es nur ein sehr schwacher Schutz.&lt;br /&gt;
&lt;br /&gt;
==== post-password = geheimesPasswort ====&lt;br /&gt;
&lt;br /&gt;
Das setzt das Passwort für diese Liste auf geheimesPasswort und nur E-Mails mit der folgenden Zeile im Header der E-Mail werden verteilt: X-posting-pass: geheimesPasswort&lt;br /&gt;
&lt;br /&gt;
Wenn man keine der beiden Optionen benutzt, dann wird die E-Mail zuerst an den Administrator der Liste geschickt, der sie bestätigen muss.&lt;br /&gt;
&lt;br /&gt;
== Weitere Möglichkeiten ==&lt;br /&gt;
&lt;br /&gt;
=== Verschiedene Domains ===&lt;br /&gt;
&lt;br /&gt;
Wenn man für verschiedene seiner Domains eigenständige Mailinglistensysteme betreiben will, so kann man das  Verzeichnis &#039;&#039;ecartis&#039;&#039; als Vorlage verwenden und beliebig kopieren. Dann sind natürlich die Aliase zur Steuerung des Listenmanagers per E-Mail ebenfalls zu kopieren und entsprechend anzupassen.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
[[Kategorie:HSDoku]]&lt;br /&gt;
[[Kategorie:Installationsanleitungen]]&lt;br /&gt;
[[Kategorie:Software]]&lt;/div&gt;</summary>
		<author><name>Peh00-phor</name></author>
	</entry>
	<entry>
		<id>https://wiki.hostsharing.net/index.php?title=Ecartis_Installieren&amp;diff=2293</id>
		<title>Ecartis Installieren</title>
		<link rel="alternate" type="text/html" href="https://wiki.hostsharing.net/index.php?title=Ecartis_Installieren&amp;diff=2293"/>
		<updated>2010-03-02T12:51:17Z</updated>

		<summary type="html">&lt;p&gt;Peh00-phor: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Mailinglisten mit ecartis ==&lt;br /&gt;
&lt;br /&gt;
{{Baustelle}}&lt;br /&gt;
&lt;br /&gt;
[http://www.ecartis.org/ Ecartis] ist ein Programm, mit dem Bei Hostsharing E-Mail Verteiler realisiert werden können.&lt;br /&gt;
&lt;br /&gt;
Vergleichen Sie dazu auch den Wikipedia-Artikel:&lt;br /&gt;
[http://de.wikipedia.org/wiki/Mailingliste Mailingliste]&lt;br /&gt;
&lt;br /&gt;
Alternative: [[Mailman]]&lt;br /&gt;
&lt;br /&gt;
Diese Anleitung beschreibt die Installation von Ecartis in einem Hostsharing DW-Paket für eine Domain.&lt;br /&gt;
&lt;br /&gt;
== ecartis ==&lt;br /&gt;
&lt;br /&gt;
=== Einrichten  ===&lt;br /&gt;
&lt;br /&gt;
Zunächst muss eine eigene Installation der Ecartis-Software in das Hostsharing-Paket kopiert werden.&lt;br /&gt;
&lt;br /&gt;
Rufe dazu als Paket-Admin auf:&lt;br /&gt;
&lt;br /&gt;
  cp -r /usr/lib/ecartis $HOME&lt;br /&gt;
  rm $HOME/ecartis/ecartis.cfg&lt;br /&gt;
  cp /etc/ecartis/ecartis.cfg $HOME/ecartis/&lt;br /&gt;
&lt;br /&gt;
Und um fremde Blicke auf die E-Mail-Adressen der Teilnehmer/innen zu verhindern:&lt;br /&gt;
&lt;br /&gt;
  chmod -R o-rwx $HOME/ecartis&lt;br /&gt;
&lt;br /&gt;
Im Verzeichnis &#039;&#039;ecartis&#039;&#039; befindet sich die Konfigurationsdatei ecartis.cfg, welche den Listenmanager steuert.&lt;br /&gt;
&lt;br /&gt;
=== Konfiguration  ===&lt;br /&gt;
&lt;br /&gt;
==== ecartis.cfg ====&lt;br /&gt;
&lt;br /&gt;
Für den Listenmanager müssen nun in ecartis.cfg mehrere Variablen angepasst werden. &lt;br /&gt;
Eine detailierte Beschreibung der einzelnen Optionen gibt es unter: http://www.ecartis.org/variables.html].&lt;br /&gt;
&lt;br /&gt;
Hier die notwendigen Einstellungen in ecartis.cfg:&lt;br /&gt;
&lt;br /&gt;
  listserver-address = ecartis@example.com&lt;br /&gt;
  listserver-admin = postmaster@example.com&lt;br /&gt;
  listserver-root = /home/pacs/xyz00/ecartis&lt;br /&gt;
  listserver-conf = /home/pacs/xyz00/ecartis&lt;br /&gt;
  listserver-data = /home/pacs/xyz00/ecartis&lt;br /&gt;
  listserver-modules = /home/pacs/xyz00/ecartis/modules&lt;br /&gt;
&lt;br /&gt;
==== E-Mail Adresse ====&lt;br /&gt;
&lt;br /&gt;
Im Folgenden benutze ich den Paket-User &#039;&#039;xyz00&#039;&#039; als Empfänger für alle E-Mails, die an Ecartis gehen. Die Verteilung erfolgt in der Datei &#039;&#039;.procmailrc&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Zunächst stelle ich sicher, dass für den Paket-User kein EMail-Alias eingerichtet ist, bzw. ich lösche es:&lt;br /&gt;
&lt;br /&gt;
  hsadmin --call:emailalias.search&lt;br /&gt;
  hsadmin --call:emailalias.delete --where:name=xyz00&lt;br /&gt;
&lt;br /&gt;
Dann richte ich die Adresse des Mailinglisten-Managers selbst ein:&lt;br /&gt;
&lt;br /&gt;
  hsadmin --call:emailaddress.add --set:target=xyz00 --set:localpart=ecartis --set:domain=example.com&lt;br /&gt;
&lt;br /&gt;
In der Datei &#039;&#039;$HOME/.procmailrc&#039;&#039; trage ich ein (siehe auch [[Procmail]]):&lt;br /&gt;
&lt;br /&gt;
 :0&lt;br /&gt;
 * ^Delivered-To: ecartis@example.com&lt;br /&gt;
 |$HOME/ecartis/ecartis&lt;br /&gt;
&lt;br /&gt;
===  Test ===&lt;br /&gt;
&lt;br /&gt;
Damit ist das Mailinglistensystem erreichbar und eine E-Mail an ecartis@example.com mit dem Inhalt help schickt uns die Datei ecartis.hlp zurück, die man später natürlich an seine Bedürfnisse anpassen kann.&lt;br /&gt;
Einrichten einer Mailingliste&lt;br /&gt;
&lt;br /&gt;
== Mailinglisten ==&lt;br /&gt;
&lt;br /&gt;
=== Einrichten ===&lt;br /&gt;
&lt;br /&gt;
Man fügt nun den einzelnen Listenmanagern Listen hinzu. Dazu wechselt man in das Verzeichnis des jeweiligen Listenmanagers.&lt;br /&gt;
&lt;br /&gt;
Aufruf:&lt;br /&gt;
&lt;br /&gt;
 ./ecartis -newlist NAMEDERLISTE&lt;br /&gt;
&lt;br /&gt;
Dann wird man nach dem Administrator der einzurichtenden Liste gefragt und nach der Eingabe der E-Mail-Adresse erhält man eine Liste von aliasen, die man mit [[aliases]] mit vorangestelltem Paketlogin einträgt. Das Voranstellen von bspw. xyz00- ist notwendig, weil man nur diese Aliases ändern darf.&lt;br /&gt;
&lt;br /&gt;
Beispiel:&lt;br /&gt;
&lt;br /&gt;
Folgendes gibt uns der Befehl zurück:&lt;br /&gt;
&lt;br /&gt;
 Aliases for &#039;testmailingliste&#039; mailing list.&lt;br /&gt;
 testmailingliste: &amp;quot;|/home/pacs/xyz00/mailinglist/ecartis -s testmailingliste&amp;quot;&lt;br /&gt;
 testmailingliste-request: &amp;quot;|/home/pacs/xyz00/mailinglist/ecartis -r testmailingliste&amp;quot;&lt;br /&gt;
 testmailingliste-repost: &amp;quot;|/home/pacs/xyz00/mailinglist/ecartis -a testmailingliste&amp;quot;&lt;br /&gt;
 testmailingliste-admins: &amp;quot;|/home/pacs/xyz00/mailinglist/ecartis -admins testmailingliste&amp;quot;&lt;br /&gt;
 testmailingliste-moderators: &amp;quot;|/home/pacs/xyz00/mailinglist/ecartis -moderators testmailingliste&amp;quot;&lt;br /&gt;
 testmailingliste-bounce: &amp;quot;|/home/pacs/xyz00/mailinglist/ecartis -bounce testmailingliste&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==== aliases ====&lt;br /&gt;
&lt;br /&gt;
Folgende Einträge nun mit hsadmin&lt;br /&gt;
[[Aliases]] bzw direkt im [[WebFrontend]]&lt;br /&gt;
anlegen:&lt;br /&gt;
&lt;br /&gt;
 # Aliases for &#039;testmailingliste&#039; mailing list.&lt;br /&gt;
 xyz00-testmailingliste: &amp;quot;|/home/pacs/xyz00/mailinglist/ecartis -s testmailingliste&amp;quot;&lt;br /&gt;
 xyz00-testmailingliste-request: &amp;quot;|/home/pacs/xyz00/mailinglist/ecartis -r testmailingliste&amp;quot;&lt;br /&gt;
 xyz00-testmailingliste-repost: &amp;quot;|/home/pacs/xyz00/mailinglist/ecartis -a testmailingliste&amp;quot;&lt;br /&gt;
 xyz00-testmailingliste-admins: &amp;quot;|/home/pacs/xyz00/mailinglist/ecartis -admins testmailingliste&amp;quot;&lt;br /&gt;
 xyz00-testmailingliste-moderators: &amp;quot;|/home/pacs/xyz00/mailinglist/ecartis -moderators testmailingliste&amp;quot;&lt;br /&gt;
 xyz00-testmailingliste-bounce: &amp;quot;|/home/pacs/xyz00/mailinglist/ecartis -bounce testmailingliste&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==== E-Mail Adressen ====&lt;br /&gt;
&lt;br /&gt;
Bis jetzt haben wir noch nirgendwo festgelegt, unter welcher Domain die Mailingliste läuft. Dafür editieren wir die [[E-Mail-Adressen]] der Domain (Bsp: für die Domain example.com:)&lt;br /&gt;
&lt;br /&gt;
testmailingliste@example.com xyz00-testmailingliste&lt;br /&gt;
testmailingliste-request@example.com xyz00-testmailingliste-request&lt;br /&gt;
testmailingliste-repost@example.com xyz00-testmailingliste-repost&lt;br /&gt;
testmailingliste-admins@example.com xyz00-testmailingliste-admins&lt;br /&gt;
testmailingliste-moderators@example.com xyz00-testmailingliste-moderators&lt;br /&gt;
testmailingliste-bounce@example.com xyz00-testmailingliste-bounce&lt;br /&gt;
&lt;br /&gt;
Jetzt gibt es eine offene Liste mit der Adresse testmailingliste@example.com, an der man sich mit einer E-Mail an testmailingliste-request@example.com mit dem Inhalt subscribe anmelden kann.&lt;br /&gt;
Konfigurieren einer Mailingliste&lt;br /&gt;
&lt;br /&gt;
Jeder Listenmanager besitzt ein Unterverzeichnis /lists, in welchem die zugehörigen Listen verwaltet werden. Jeder Mailingliste wird ein Verzeichnis unterhalb dieses Verzeichnisses zugeordnet. Es hat den Namen der Mailingliste. Die Konfigurationsdatei für die einzelnen Listen heißt config und ist dort abgelegt. Eine detaillierte Beschreibung der einzelnen Optionen gibt es unter: ecartis.org/variables.html.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Konfiguration ===&lt;br /&gt;
Hier nur die wichtigsten Einstellungen, die man konfigurieren sollte:&lt;br /&gt;
&lt;br /&gt;
* list-owner = der Eigentümer der Liste&lt;br /&gt;
* subject-tag = eine Zeichenfolge die im Betreff vorangestellt wird (wie [global] bei unserer global(at)hostsharing.net Mailingliste)&lt;br /&gt;
* description = eine Beschreibung der Liste&lt;br /&gt;
* reply-to = Adresse der Liste (in unserem Beispiel: testmailingliste@example.com)&lt;br /&gt;
* administrivia-address = in unserem Beispiel testmailingliste-admins@example.com&lt;br /&gt;
* humanize-mime = false&lt;br /&gt;
* humanize-quotedprintable = true&lt;br /&gt;
 Sorgen gemeinsam für eine ordentliche Handhabung von Umlauten, sie werden verstanden und es werden passende Header generiert.&lt;br /&gt;
&lt;br /&gt;
* mbox-archive-path = wenn man möchte, kann man alle Mails, die über die Liste verschickt werden, archivieren&lt;br /&gt;
* subscribe-mode = hier gibt es 3 mögliche Einstellungen:&lt;br /&gt;
1. open&lt;br /&gt;
Der Benutzer meldet sich per subscribe an und wird direkt in die Liste eingetragen&lt;br /&gt;
2. confirm&lt;br /&gt;
Der Benutzer muss die Anmeldung anhand einer zugeschickten Mail bestätigen&lt;br /&gt;
3. closed&lt;br /&gt;
Die Anmeldung muss vom Listenadmin erlaubt werden&lt;br /&gt;
&lt;br /&gt;
* unsubscribe-mode = hier gibt es 3 mögliche Einstellungen:&lt;br /&gt;
1. open&lt;br /&gt;
Der Benutzer meldet sich per unsubscribe ab und wird direkt aus der Liste ausgetragen&lt;br /&gt;
2. confirm&lt;br /&gt;
Der Benutzer muss die Abmeldung anhand einer zugeschickten Mail bestätigen&lt;br /&gt;
3. closed&lt;br /&gt;
Die Abmeldung muss vom Listenadmin erlaubt werden&lt;br /&gt;
&lt;br /&gt;
=== Unterschiedliche Mailinglistentypen ===&lt;br /&gt;
&lt;br /&gt;
==== offene Liste ====&lt;br /&gt;
&lt;br /&gt;
Offene Liste bedeutet, dass jeder an die Liste schreiben kann, die dann an alle eingetragenen E-Mail-Adressen verteilt wird (Beispiel: global(at)hostsharing.net).&lt;br /&gt;
Dies ist der Standard bei der Einrichtung einer Liste und benötigt keine besonderen Einstellungen&lt;br /&gt;
&lt;br /&gt;
==== geschlossene Liste ====&lt;br /&gt;
&lt;br /&gt;
bedeutet, dass nur E-Mails von den Eingetragenen verteilt werden. Diese Listenart wird auch als member-only bezeichnet (Beispiel: members(at)hostsharing.net).&lt;br /&gt;
&lt;br /&gt;
Hierfür müssen folgende Optionen gesetzt werden:&lt;br /&gt;
&lt;br /&gt;
 closed-post = true&lt;br /&gt;
&lt;br /&gt;
Sinnvoll ist außerdem confirm oder closed bei subscribe-mode und unsubscribe-mode einzutragen.&lt;br /&gt;
&lt;br /&gt;
==== moderierte Liste ====&lt;br /&gt;
&lt;br /&gt;
bedeutet, dass E-Mails von jemandem authorisiert werden müssen, bevor sie verteilt werden. Wird in den meisten Fällen für Newsletter o.ä. verwendet, wo man als Betreiber den Eingetragenen E-Mails schicken will, aber eine Kommunikation der Eingetragenen untereinander nicht gewollt ist (Beispiel: global-announce(at)hostsharing.net).&lt;br /&gt;
&lt;br /&gt;
Hierfür müssen folgende Optionen gesetzt werden:&lt;br /&gt;
&lt;br /&gt;
* moderated = yes&lt;br /&gt;
* moderate-include-queue = true&lt;br /&gt;
* moderator = testmailingliste-moderators@example.com&lt;br /&gt;
&lt;br /&gt;
Sinnvoll ist außerdem confirm oder closed bei subscribe-mode und unsubscribe-mode einzutragen.&lt;br /&gt;
&lt;br /&gt;
=== Autorisierung ===&lt;br /&gt;
Für die Authorisierung gibt es mehrere Möglichkeiten:&lt;br /&gt;
&lt;br /&gt;
==== admin-approvepost = true ====&lt;br /&gt;
&lt;br /&gt;
Damit werden alle E-Mails der Listenadministratoren direkt verschickt. Es wird nur überprüft, ob die Absender-E-Mail-Adresse übereinstimmt, da diese aber sehr leicht gefälscht werden kann, ist es nur ein sehr schwacher Schutz.&lt;br /&gt;
&lt;br /&gt;
==== post-password = geheimesPasswort ====&lt;br /&gt;
&lt;br /&gt;
Das setzt das Passwort für diese Liste auf geheimesPasswort und nur E-Mails mit der folgenden Zeile im Header der E-Mail werden verteilt: X-posting-pass: geheimesPasswort&lt;br /&gt;
&lt;br /&gt;
Wenn man keine der beiden Optionen benutzt, dann wird die E-Mail zuerst an den Administrator der Liste geschickt, der sie bestätigen muss.&lt;br /&gt;
&lt;br /&gt;
== Weitere Möglichkeiten ==&lt;br /&gt;
&lt;br /&gt;
=== Verschiedene Domains ===&lt;br /&gt;
&lt;br /&gt;
Wenn man für verschiedene seiner Domains eigenständige Mailinglistensysteme betreiben will, so kann man das  Verzeichnis &#039;&#039;ecartis&#039;&#039; als Vorlage verwenden und beliebig kopieren. Dann sind natürlich die Aliase zur Steuerung des Listenmanagers per E-Mail ebenfalls zu kopieren und entsprechend anzupassen.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
[[Kategorie:HSDoku]]&lt;br /&gt;
[[Kategorie:Installationsanleitungen]]&lt;br /&gt;
[[Kategorie:Software]]&lt;/div&gt;</summary>
		<author><name>Peh00-phor</name></author>
	</entry>
	<entry>
		<id>https://wiki.hostsharing.net/index.php?title=Ecartis_Installieren&amp;diff=2292</id>
		<title>Ecartis Installieren</title>
		<link rel="alternate" type="text/html" href="https://wiki.hostsharing.net/index.php?title=Ecartis_Installieren&amp;diff=2292"/>
		<updated>2010-03-02T12:36:34Z</updated>

		<summary type="html">&lt;p&gt;Peh00-phor: /* E-Mail Adresse */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Mailinglisten mit ecartis ==&lt;br /&gt;
&lt;br /&gt;
{{Baustelle}}&lt;br /&gt;
&lt;br /&gt;
[http://www.ecartis.org/ Ecartis] ist ein Programm, mit dem Bei Hostsharing E-Mail Verteiler realisiert werden können.&lt;br /&gt;
&lt;br /&gt;
Vergleichen Sie dazu auch den Wikipedia-Artikel:&lt;br /&gt;
[http://de.wikipedia.org/wiki/Mailingliste Mailingliste]&lt;br /&gt;
&lt;br /&gt;
Alternative: [[Mailman]]&lt;br /&gt;
&lt;br /&gt;
Diese Anleitung beschreibt die Installation von Ecartis in einem Hostsharing DW-Paket für eine Domain.&lt;br /&gt;
&lt;br /&gt;
== ecartis ==&lt;br /&gt;
&lt;br /&gt;
=== Einrichten  ===&lt;br /&gt;
&lt;br /&gt;
Zunächst muss eine eigene Installation der Ecartis-Software in das Hostsharing-Paket kopiert werden.&lt;br /&gt;
&lt;br /&gt;
Rufe dazu als Paket-Admin auf:&lt;br /&gt;
&lt;br /&gt;
  cp -r /usr/lib/ecartis $HOME&lt;br /&gt;
  rm $HOME/ecartis/ecartis.cfg&lt;br /&gt;
  cp /etc/ecartis/ecartis.cfg $HOME/ecartis/&lt;br /&gt;
&lt;br /&gt;
Und um fremde Blicke auf die E-Mail-Adressen der Teilnehmer/innen zu verhindern:&lt;br /&gt;
&lt;br /&gt;
  chmod -R o-rwx $HOME/ecartis&lt;br /&gt;
&lt;br /&gt;
Im Verzeichnis &#039;&#039;ecartis&#039;&#039; befindet sich die Konfigurationsdatei ecartis.cfg, welche den Listenmanager steuert.&lt;br /&gt;
&lt;br /&gt;
=== Konfiguration  ===&lt;br /&gt;
&lt;br /&gt;
==== ecartis.cfg ====&lt;br /&gt;
&lt;br /&gt;
Für den Listenmanager müssen nun in ecartis.cfg mehrere Variablen angepasst werden. &lt;br /&gt;
Eine detailierte Beschreibung der einzelnen Optionen gibt es unter: http://www.ecartis.org/variables.html].&lt;br /&gt;
&lt;br /&gt;
Hier die notwendigen Einstellungen in ecartis.cfg:&lt;br /&gt;
&lt;br /&gt;
  listserver-address = ecartis@example.com&lt;br /&gt;
  listserver-admin = postmaster@example.com&lt;br /&gt;
  listserver-root = /home/pacs/xyz00/ecartis&lt;br /&gt;
  listserver-conf = /home/pacs/xyz00/ecartis&lt;br /&gt;
  listserver-data = /home/pacs/xyz00/ecartis&lt;br /&gt;
  listserver-modules = /home/pacs/xyz00/ecartis/modules&lt;br /&gt;
&lt;br /&gt;
==== E-Mail Adresse ====&lt;br /&gt;
&lt;br /&gt;
Im Folgenden benutze ich den Paket-User &#039;&#039;xyz00&#039;&#039; als Empfänger für alle E-Mails, die an Ecartis gehen. Die Verteilung erfolgt in der Datei &#039;&#039;.procmailrc&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Zunächst stelle ich sicher, dass für den Paket-User kein EMail-Alias eingerichtet ist, bzw. ich lösche es:&lt;br /&gt;
&lt;br /&gt;
  hsadmin --call:emailalias.search&lt;br /&gt;
  hsadmin --call:emailalias.delete --where:name=xyz00&lt;br /&gt;
&lt;br /&gt;
Dann richte ich die Adresse des Mailinglisten-Managers selbst ein:&lt;br /&gt;
&lt;br /&gt;
  hsadmin --call:emailaddress.add --set:target=xyz00 --set:localpart=ecartis --set:domain=example.com&lt;br /&gt;
&lt;br /&gt;
==== mehrere  Listenmanager ====&lt;br /&gt;
&lt;br /&gt;
Verwendet man mehrere Listenmanager, so muss man jedem Listenmanager einen eigenen E-Mail-Alias geben. Dazu müssen diese dann auch in der [[aliases]] eingetragen werden. Als Vorlage dienen hierfür die automatisch eingetragenen Aliase, welche auf den Listenmanager in ~/mailinglist verweisen.&lt;br /&gt;
&lt;br /&gt;
===  Test ===&lt;br /&gt;
Damit ist das Mailinglistensystem erreichbar und eine E-Mail an ecartis@example.com mit dem Inhalt help schickt uns die Datei ecartis.hlp zurück, die man später natürlich an seine Bedürfnisse anpassen kann.&lt;br /&gt;
Einrichten einer Mailingliste&lt;br /&gt;
&lt;br /&gt;
== Mailinglisten ==&lt;br /&gt;
&lt;br /&gt;
=== Einrichten ===&lt;br /&gt;
&lt;br /&gt;
Man fügt nun den einzelnen Listenmanagern Listen hinzu. Dazu wechselt man in das Verzeichnis des jeweiligen Listenmanagers.&lt;br /&gt;
&lt;br /&gt;
Aufruf:&lt;br /&gt;
&lt;br /&gt;
 ./ecartis -newlist NAMEDERLISTE&lt;br /&gt;
&lt;br /&gt;
Dann wird man nach dem Administrator der einzurichtenden Liste gefragt und nach der Eingabe der E-Mail-Adresse erhält man eine Liste von aliasen, die man mit [[aliases]] mit vorangestelltem Paketlogin einträgt. Das Voranstellen von bspw. xyz00- ist notwendig, weil man nur diese Aliases ändern darf.&lt;br /&gt;
&lt;br /&gt;
Beispiel:&lt;br /&gt;
&lt;br /&gt;
Folgendes gibt uns der Befehl zurück:&lt;br /&gt;
&lt;br /&gt;
 Aliases for &#039;testmailingliste&#039; mailing list.&lt;br /&gt;
 testmailingliste: &amp;quot;|/home/pacs/xyz00/mailinglist/ecartis -s testmailingliste&amp;quot;&lt;br /&gt;
 testmailingliste-request: &amp;quot;|/home/pacs/xyz00/mailinglist/ecartis -r testmailingliste&amp;quot;&lt;br /&gt;
 testmailingliste-repost: &amp;quot;|/home/pacs/xyz00/mailinglist/ecartis -a testmailingliste&amp;quot;&lt;br /&gt;
 testmailingliste-admins: &amp;quot;|/home/pacs/xyz00/mailinglist/ecartis -admins testmailingliste&amp;quot;&lt;br /&gt;
 testmailingliste-moderators: &amp;quot;|/home/pacs/xyz00/mailinglist/ecartis -moderators testmailingliste&amp;quot;&lt;br /&gt;
 testmailingliste-bounce: &amp;quot;|/home/pacs/xyz00/mailinglist/ecartis -bounce testmailingliste&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==== aliases ====&lt;br /&gt;
&lt;br /&gt;
Folgende Einträge nun mit hsadmin&lt;br /&gt;
[[Aliases]] bzw direkt im [[WebFrontend]]&lt;br /&gt;
anlegen:&lt;br /&gt;
&lt;br /&gt;
 # Aliases for &#039;testmailingliste&#039; mailing list.&lt;br /&gt;
 xyz00-testmailingliste: &amp;quot;|/home/pacs/xyz00/mailinglist/ecartis -s testmailingliste&amp;quot;&lt;br /&gt;
 xyz00-testmailingliste-request: &amp;quot;|/home/pacs/xyz00/mailinglist/ecartis -r testmailingliste&amp;quot;&lt;br /&gt;
 xyz00-testmailingliste-repost: &amp;quot;|/home/pacs/xyz00/mailinglist/ecartis -a testmailingliste&amp;quot;&lt;br /&gt;
 xyz00-testmailingliste-admins: &amp;quot;|/home/pacs/xyz00/mailinglist/ecartis -admins testmailingliste&amp;quot;&lt;br /&gt;
 xyz00-testmailingliste-moderators: &amp;quot;|/home/pacs/xyz00/mailinglist/ecartis -moderators testmailingliste&amp;quot;&lt;br /&gt;
 xyz00-testmailingliste-bounce: &amp;quot;|/home/pacs/xyz00/mailinglist/ecartis -bounce testmailingliste&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==== E-Mail Adressen ====&lt;br /&gt;
&lt;br /&gt;
Bis jetzt haben wir noch nirgendwo festgelegt, unter welcher Domain die Mailingliste läuft. Dafür editieren wir die [[E-Mail-Adressen]] der Domain (Bsp: für die Domain example.com:)&lt;br /&gt;
&lt;br /&gt;
testmailingliste@example.com xyz00-testmailingliste&lt;br /&gt;
testmailingliste-request@example.com xyz00-testmailingliste-request&lt;br /&gt;
testmailingliste-repost@example.com xyz00-testmailingliste-repost&lt;br /&gt;
testmailingliste-admins@example.com xyz00-testmailingliste-admins&lt;br /&gt;
testmailingliste-moderators@example.com xyz00-testmailingliste-moderators&lt;br /&gt;
testmailingliste-bounce@example.com xyz00-testmailingliste-bounce&lt;br /&gt;
&lt;br /&gt;
Jetzt gibt es eine offene Liste mit der Adresse testmailingliste@example.com, an der man sich mit einer E-Mail an testmailingliste-request@example.com mit dem Inhalt subscribe anmelden kann.&lt;br /&gt;
Konfigurieren einer Mailingliste&lt;br /&gt;
&lt;br /&gt;
Jeder Listenmanager besitzt ein Unterverzeichnis /lists, in welchem die zugehörigen Listen verwaltet werden. Jeder Mailingliste wird ein Verzeichnis unterhalb dieses Verzeichnisses zugeordnet. Es hat den Namen der Mailingliste. Die Konfigurationsdatei für die einzelnen Listen heißt config und ist dort abgelegt. Eine detaillierte Beschreibung der einzelnen Optionen gibt es unter: ecartis.org/variables.html.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Konfiguration ===&lt;br /&gt;
Hier nur die wichtigsten Einstellungen, die man konfigurieren sollte:&lt;br /&gt;
&lt;br /&gt;
* list-owner = der Eigentümer der Liste&lt;br /&gt;
* subject-tag = eine Zeichenfolge die im Betreff vorangestellt wird (wie [global] bei unserer global(at)hostsharing.net Mailingliste)&lt;br /&gt;
* description = eine Beschreibung der Liste&lt;br /&gt;
* reply-to = Adresse der Liste (in unserem Beispiel: testmailingliste@example.com)&lt;br /&gt;
* administrivia-address = in unserem Beispiel testmailingliste-admins@example.com&lt;br /&gt;
* humanize-mime = false&lt;br /&gt;
* humanize-quotedprintable = true&lt;br /&gt;
 Sorgen gemeinsam für eine ordentliche Handhabung von Umlauten, sie werden verstanden und es werden passende Header generiert.&lt;br /&gt;
&lt;br /&gt;
* mbox-archive-path = wenn man möchte, kann man alle Mails, die über die Liste verschickt werden, archivieren&lt;br /&gt;
* subscribe-mode = hier gibt es 3 mögliche Einstellungen:&lt;br /&gt;
1. open&lt;br /&gt;
Der Benutzer meldet sich per subscribe an und wird direkt in die Liste eingetragen&lt;br /&gt;
2. confirm&lt;br /&gt;
Der Benutzer muss die Anmeldung anhand einer zugeschickten Mail bestätigen&lt;br /&gt;
3. closed&lt;br /&gt;
Die Anmeldung muss vom Listenadmin erlaubt werden&lt;br /&gt;
&lt;br /&gt;
* unsubscribe-mode = hier gibt es 3 mögliche Einstellungen:&lt;br /&gt;
1. open&lt;br /&gt;
Der Benutzer meldet sich per unsubscribe ab und wird direkt aus der Liste ausgetragen&lt;br /&gt;
2. confirm&lt;br /&gt;
Der Benutzer muss die Abmeldung anhand einer zugeschickten Mail bestätigen&lt;br /&gt;
3. closed&lt;br /&gt;
Die Abmeldung muss vom Listenadmin erlaubt werden&lt;br /&gt;
&lt;br /&gt;
=== Unterschiedliche Mailinglistentypen ===&lt;br /&gt;
&lt;br /&gt;
==== offene Liste ====&lt;br /&gt;
&lt;br /&gt;
Offene Liste bedeutet, dass jeder an die Liste schreiben kann, die dann an alle eingetragenen E-Mail-Adressen verteilt wird (Beispiel: global(at)hostsharing.net).&lt;br /&gt;
Dies ist der Standard bei der Einrichtung einer Liste und benötigt keine besonderen Einstellungen&lt;br /&gt;
&lt;br /&gt;
==== geschlossene Liste ====&lt;br /&gt;
&lt;br /&gt;
bedeutet, dass nur E-Mails von den Eingetragenen verteilt werden. Diese Listenart wird auch als member-only bezeichnet (Beispiel: members(at)hostsharing.net).&lt;br /&gt;
&lt;br /&gt;
Hierfür müssen folgende Optionen gesetzt werden:&lt;br /&gt;
&lt;br /&gt;
 closed-post = true&lt;br /&gt;
&lt;br /&gt;
Sinnvoll ist außerdem confirm oder closed bei subscribe-mode und unsubscribe-mode einzutragen.&lt;br /&gt;
&lt;br /&gt;
==== moderierte Liste ====&lt;br /&gt;
&lt;br /&gt;
bedeutet, dass E-Mails von jemandem authorisiert werden müssen, bevor sie verteilt werden. Wird in den meisten Fällen für Newsletter o.ä. verwendet, wo man als Betreiber den Eingetragenen E-Mails schicken will, aber eine Kommunikation der Eingetragenen untereinander nicht gewollt ist (Beispiel: global-announce(at)hostsharing.net).&lt;br /&gt;
&lt;br /&gt;
Hierfür müssen folgende Optionen gesetzt werden:&lt;br /&gt;
&lt;br /&gt;
* moderated = yes&lt;br /&gt;
* moderate-include-queue = true&lt;br /&gt;
* moderator = testmailingliste-moderators@example.com&lt;br /&gt;
&lt;br /&gt;
Sinnvoll ist außerdem confirm oder closed bei subscribe-mode und unsubscribe-mode einzutragen.&lt;br /&gt;
&lt;br /&gt;
=== Autorisierung ===&lt;br /&gt;
Für die Authorisierung gibt es mehrere Möglichkeiten:&lt;br /&gt;
&lt;br /&gt;
==== admin-approvepost = true ====&lt;br /&gt;
&lt;br /&gt;
Damit werden alle E-Mails der Listenadministratoren direkt verschickt. Es wird nur überprüft, ob die Absender-E-Mail-Adresse übereinstimmt, da diese aber sehr leicht gefälscht werden kann, ist es nur ein sehr schwacher Schutz.&lt;br /&gt;
&lt;br /&gt;
==== post-password = geheimesPasswort ====&lt;br /&gt;
&lt;br /&gt;
Das setzt das Passwort für diese Liste auf geheimesPasswort und nur E-Mails mit der folgenden Zeile im Header der E-Mail werden verteilt: X-posting-pass: geheimesPasswort&lt;br /&gt;
&lt;br /&gt;
Wenn man keine der beiden Optionen benutzt, dann wird die E-Mail zuerst an den Administrator der Liste geschickt, der sie bestätigen muss.&lt;br /&gt;
&lt;br /&gt;
== Weitere Möglichkeiten ==&lt;br /&gt;
&lt;br /&gt;
=== Verschiedene Domains ===&lt;br /&gt;
&lt;br /&gt;
Wenn man für verschiedene seiner Domains eigenständige Mailinglistensysteme betreiben will, so kann man das  Verzeichnis &#039;&#039;ecartis&#039;&#039; als Vorlage verwenden und beliebig kopieren. Dann sind natürlich die Aliase zur Steuerung des Listenmanagers per E-Mail ebenfalls zu kopieren und entsprechend anzupassen.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
[[Kategorie:HSDoku]]&lt;br /&gt;
[[Kategorie:Installationsanleitungen]]&lt;br /&gt;
[[Kategorie:Software]]&lt;/div&gt;</summary>
		<author><name>Peh00-phor</name></author>
	</entry>
	<entry>
		<id>https://wiki.hostsharing.net/index.php?title=Ecartis_Installieren&amp;diff=2291</id>
		<title>Ecartis Installieren</title>
		<link rel="alternate" type="text/html" href="https://wiki.hostsharing.net/index.php?title=Ecartis_Installieren&amp;diff=2291"/>
		<updated>2010-03-02T12:33:30Z</updated>

		<summary type="html">&lt;p&gt;Peh00-phor: /* E-Mail Adresse */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Mailinglisten mit ecartis ==&lt;br /&gt;
&lt;br /&gt;
{{Baustelle}}&lt;br /&gt;
&lt;br /&gt;
[http://www.ecartis.org/ Ecartis] ist ein Programm, mit dem Bei Hostsharing E-Mail Verteiler realisiert werden können.&lt;br /&gt;
&lt;br /&gt;
Vergleichen Sie dazu auch den Wikipedia-Artikel:&lt;br /&gt;
[http://de.wikipedia.org/wiki/Mailingliste Mailingliste]&lt;br /&gt;
&lt;br /&gt;
Alternative: [[Mailman]]&lt;br /&gt;
&lt;br /&gt;
Diese Anleitung beschreibt die Installation von Ecartis in einem Hostsharing DW-Paket für eine Domain.&lt;br /&gt;
&lt;br /&gt;
== ecartis ==&lt;br /&gt;
&lt;br /&gt;
=== Einrichten  ===&lt;br /&gt;
&lt;br /&gt;
Zunächst muss eine eigene Installation der Ecartis-Software in das Hostsharing-Paket kopiert werden.&lt;br /&gt;
&lt;br /&gt;
Rufe dazu als Paket-Admin auf:&lt;br /&gt;
&lt;br /&gt;
  cp -r /usr/lib/ecartis $HOME&lt;br /&gt;
  rm $HOME/ecartis/ecartis.cfg&lt;br /&gt;
  cp /etc/ecartis/ecartis.cfg $HOME/ecartis/&lt;br /&gt;
&lt;br /&gt;
Und um fremde Blicke auf die E-Mail-Adressen der Teilnehmer/innen zu verhindern:&lt;br /&gt;
&lt;br /&gt;
  chmod -R o-rwx $HOME/ecartis&lt;br /&gt;
&lt;br /&gt;
Im Verzeichnis &#039;&#039;ecartis&#039;&#039; befindet sich die Konfigurationsdatei ecartis.cfg, welche den Listenmanager steuert.&lt;br /&gt;
&lt;br /&gt;
=== Konfiguration  ===&lt;br /&gt;
&lt;br /&gt;
==== ecartis.cfg ====&lt;br /&gt;
&lt;br /&gt;
Für den Listenmanager müssen nun in ecartis.cfg mehrere Variablen angepasst werden. &lt;br /&gt;
Eine detailierte Beschreibung der einzelnen Optionen gibt es unter: http://www.ecartis.org/variables.html].&lt;br /&gt;
&lt;br /&gt;
Hier die notwendigen Einstellungen in ecartis.cfg:&lt;br /&gt;
&lt;br /&gt;
  listserver-address = ecartis@example.com&lt;br /&gt;
  listserver-admin = postmaster@example.com&lt;br /&gt;
  listserver-root = /home/pacs/xyz00/ecartis&lt;br /&gt;
  listserver-conf = /home/pacs/xyz00/ecartis&lt;br /&gt;
  listserver-data = /home/pacs/xyz00/ecartis&lt;br /&gt;
  listserver-modules = /home/pacs/xyz00/ecartis/modules&lt;br /&gt;
&lt;br /&gt;
==== E-Mail Adresse ====&lt;br /&gt;
&lt;br /&gt;
Im Folgenden benutze ich den Paket-User &#039;&#039;xyz00&#039;&#039; als Empfänger für alle E-Mails, die an Ecartis gehen. Die Verteilung erfolgt in der Datei &#039;&#039;.procmailrc&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Zunächst stelle ich sicher, dass für den Paket-User kein EMail-Alias eingerichtet ist, bzw. ich lösche es:&lt;br /&gt;
&lt;br /&gt;
  hsadmin --call:emailalias.search&lt;br /&gt;
  hsadmin --call:emailalias.delete --where:name=xyz00&lt;br /&gt;
&lt;br /&gt;
Dann richte ich die Adresse des Mailinglisten-Managers selbst ein:&lt;br /&gt;
&lt;br /&gt;
  hsadmin --call:emailaddress.add --set:target=xyz00 ecartis@example.com&lt;br /&gt;
&lt;br /&gt;
==== mehrere  Listenmanager ====&lt;br /&gt;
&lt;br /&gt;
Verwendet man mehrere Listenmanager, so muss man jedem Listenmanager einen eigenen E-Mail-Alias geben. Dazu müssen diese dann auch in der [[aliases]] eingetragen werden. Als Vorlage dienen hierfür die automatisch eingetragenen Aliase, welche auf den Listenmanager in ~/mailinglist verweisen.&lt;br /&gt;
&lt;br /&gt;
===  Test ===&lt;br /&gt;
Damit ist das Mailinglistensystem erreichbar und eine E-Mail an ecartis@example.com mit dem Inhalt help schickt uns die Datei ecartis.hlp zurück, die man später natürlich an seine Bedürfnisse anpassen kann.&lt;br /&gt;
Einrichten einer Mailingliste&lt;br /&gt;
&lt;br /&gt;
== Mailinglisten ==&lt;br /&gt;
&lt;br /&gt;
=== Einrichten ===&lt;br /&gt;
&lt;br /&gt;
Man fügt nun den einzelnen Listenmanagern Listen hinzu. Dazu wechselt man in das Verzeichnis des jeweiligen Listenmanagers.&lt;br /&gt;
&lt;br /&gt;
Aufruf:&lt;br /&gt;
&lt;br /&gt;
 ./ecartis -newlist NAMEDERLISTE&lt;br /&gt;
&lt;br /&gt;
Dann wird man nach dem Administrator der einzurichtenden Liste gefragt und nach der Eingabe der E-Mail-Adresse erhält man eine Liste von aliasen, die man mit [[aliases]] mit vorangestelltem Paketlogin einträgt. Das Voranstellen von bspw. xyz00- ist notwendig, weil man nur diese Aliases ändern darf.&lt;br /&gt;
&lt;br /&gt;
Beispiel:&lt;br /&gt;
&lt;br /&gt;
Folgendes gibt uns der Befehl zurück:&lt;br /&gt;
&lt;br /&gt;
 Aliases for &#039;testmailingliste&#039; mailing list.&lt;br /&gt;
 testmailingliste: &amp;quot;|/home/pacs/xyz00/mailinglist/ecartis -s testmailingliste&amp;quot;&lt;br /&gt;
 testmailingliste-request: &amp;quot;|/home/pacs/xyz00/mailinglist/ecartis -r testmailingliste&amp;quot;&lt;br /&gt;
 testmailingliste-repost: &amp;quot;|/home/pacs/xyz00/mailinglist/ecartis -a testmailingliste&amp;quot;&lt;br /&gt;
 testmailingliste-admins: &amp;quot;|/home/pacs/xyz00/mailinglist/ecartis -admins testmailingliste&amp;quot;&lt;br /&gt;
 testmailingliste-moderators: &amp;quot;|/home/pacs/xyz00/mailinglist/ecartis -moderators testmailingliste&amp;quot;&lt;br /&gt;
 testmailingliste-bounce: &amp;quot;|/home/pacs/xyz00/mailinglist/ecartis -bounce testmailingliste&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==== aliases ====&lt;br /&gt;
&lt;br /&gt;
Folgende Einträge nun mit hsadmin&lt;br /&gt;
[[Aliases]] bzw direkt im [[WebFrontend]]&lt;br /&gt;
anlegen:&lt;br /&gt;
&lt;br /&gt;
 # Aliases for &#039;testmailingliste&#039; mailing list.&lt;br /&gt;
 xyz00-testmailingliste: &amp;quot;|/home/pacs/xyz00/mailinglist/ecartis -s testmailingliste&amp;quot;&lt;br /&gt;
 xyz00-testmailingliste-request: &amp;quot;|/home/pacs/xyz00/mailinglist/ecartis -r testmailingliste&amp;quot;&lt;br /&gt;
 xyz00-testmailingliste-repost: &amp;quot;|/home/pacs/xyz00/mailinglist/ecartis -a testmailingliste&amp;quot;&lt;br /&gt;
 xyz00-testmailingliste-admins: &amp;quot;|/home/pacs/xyz00/mailinglist/ecartis -admins testmailingliste&amp;quot;&lt;br /&gt;
 xyz00-testmailingliste-moderators: &amp;quot;|/home/pacs/xyz00/mailinglist/ecartis -moderators testmailingliste&amp;quot;&lt;br /&gt;
 xyz00-testmailingliste-bounce: &amp;quot;|/home/pacs/xyz00/mailinglist/ecartis -bounce testmailingliste&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==== E-Mail Adressen ====&lt;br /&gt;
&lt;br /&gt;
Bis jetzt haben wir noch nirgendwo festgelegt, unter welcher Domain die Mailingliste läuft. Dafür editieren wir die [[E-Mail-Adressen]] der Domain (Bsp: für die Domain example.com:)&lt;br /&gt;
&lt;br /&gt;
testmailingliste@example.com xyz00-testmailingliste&lt;br /&gt;
testmailingliste-request@example.com xyz00-testmailingliste-request&lt;br /&gt;
testmailingliste-repost@example.com xyz00-testmailingliste-repost&lt;br /&gt;
testmailingliste-admins@example.com xyz00-testmailingliste-admins&lt;br /&gt;
testmailingliste-moderators@example.com xyz00-testmailingliste-moderators&lt;br /&gt;
testmailingliste-bounce@example.com xyz00-testmailingliste-bounce&lt;br /&gt;
&lt;br /&gt;
Jetzt gibt es eine offene Liste mit der Adresse testmailingliste@example.com, an der man sich mit einer E-Mail an testmailingliste-request@example.com mit dem Inhalt subscribe anmelden kann.&lt;br /&gt;
Konfigurieren einer Mailingliste&lt;br /&gt;
&lt;br /&gt;
Jeder Listenmanager besitzt ein Unterverzeichnis /lists, in welchem die zugehörigen Listen verwaltet werden. Jeder Mailingliste wird ein Verzeichnis unterhalb dieses Verzeichnisses zugeordnet. Es hat den Namen der Mailingliste. Die Konfigurationsdatei für die einzelnen Listen heißt config und ist dort abgelegt. Eine detaillierte Beschreibung der einzelnen Optionen gibt es unter: ecartis.org/variables.html.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Konfiguration ===&lt;br /&gt;
Hier nur die wichtigsten Einstellungen, die man konfigurieren sollte:&lt;br /&gt;
&lt;br /&gt;
* list-owner = der Eigentümer der Liste&lt;br /&gt;
* subject-tag = eine Zeichenfolge die im Betreff vorangestellt wird (wie [global] bei unserer global(at)hostsharing.net Mailingliste)&lt;br /&gt;
* description = eine Beschreibung der Liste&lt;br /&gt;
* reply-to = Adresse der Liste (in unserem Beispiel: testmailingliste@example.com)&lt;br /&gt;
* administrivia-address = in unserem Beispiel testmailingliste-admins@example.com&lt;br /&gt;
* humanize-mime = false&lt;br /&gt;
* humanize-quotedprintable = true&lt;br /&gt;
 Sorgen gemeinsam für eine ordentliche Handhabung von Umlauten, sie werden verstanden und es werden passende Header generiert.&lt;br /&gt;
&lt;br /&gt;
* mbox-archive-path = wenn man möchte, kann man alle Mails, die über die Liste verschickt werden, archivieren&lt;br /&gt;
* subscribe-mode = hier gibt es 3 mögliche Einstellungen:&lt;br /&gt;
1. open&lt;br /&gt;
Der Benutzer meldet sich per subscribe an und wird direkt in die Liste eingetragen&lt;br /&gt;
2. confirm&lt;br /&gt;
Der Benutzer muss die Anmeldung anhand einer zugeschickten Mail bestätigen&lt;br /&gt;
3. closed&lt;br /&gt;
Die Anmeldung muss vom Listenadmin erlaubt werden&lt;br /&gt;
&lt;br /&gt;
* unsubscribe-mode = hier gibt es 3 mögliche Einstellungen:&lt;br /&gt;
1. open&lt;br /&gt;
Der Benutzer meldet sich per unsubscribe ab und wird direkt aus der Liste ausgetragen&lt;br /&gt;
2. confirm&lt;br /&gt;
Der Benutzer muss die Abmeldung anhand einer zugeschickten Mail bestätigen&lt;br /&gt;
3. closed&lt;br /&gt;
Die Abmeldung muss vom Listenadmin erlaubt werden&lt;br /&gt;
&lt;br /&gt;
=== Unterschiedliche Mailinglistentypen ===&lt;br /&gt;
&lt;br /&gt;
==== offene Liste ====&lt;br /&gt;
&lt;br /&gt;
Offene Liste bedeutet, dass jeder an die Liste schreiben kann, die dann an alle eingetragenen E-Mail-Adressen verteilt wird (Beispiel: global(at)hostsharing.net).&lt;br /&gt;
Dies ist der Standard bei der Einrichtung einer Liste und benötigt keine besonderen Einstellungen&lt;br /&gt;
&lt;br /&gt;
==== geschlossene Liste ====&lt;br /&gt;
&lt;br /&gt;
bedeutet, dass nur E-Mails von den Eingetragenen verteilt werden. Diese Listenart wird auch als member-only bezeichnet (Beispiel: members(at)hostsharing.net).&lt;br /&gt;
&lt;br /&gt;
Hierfür müssen folgende Optionen gesetzt werden:&lt;br /&gt;
&lt;br /&gt;
 closed-post = true&lt;br /&gt;
&lt;br /&gt;
Sinnvoll ist außerdem confirm oder closed bei subscribe-mode und unsubscribe-mode einzutragen.&lt;br /&gt;
&lt;br /&gt;
==== moderierte Liste ====&lt;br /&gt;
&lt;br /&gt;
bedeutet, dass E-Mails von jemandem authorisiert werden müssen, bevor sie verteilt werden. Wird in den meisten Fällen für Newsletter o.ä. verwendet, wo man als Betreiber den Eingetragenen E-Mails schicken will, aber eine Kommunikation der Eingetragenen untereinander nicht gewollt ist (Beispiel: global-announce(at)hostsharing.net).&lt;br /&gt;
&lt;br /&gt;
Hierfür müssen folgende Optionen gesetzt werden:&lt;br /&gt;
&lt;br /&gt;
* moderated = yes&lt;br /&gt;
* moderate-include-queue = true&lt;br /&gt;
* moderator = testmailingliste-moderators@example.com&lt;br /&gt;
&lt;br /&gt;
Sinnvoll ist außerdem confirm oder closed bei subscribe-mode und unsubscribe-mode einzutragen.&lt;br /&gt;
&lt;br /&gt;
=== Autorisierung ===&lt;br /&gt;
Für die Authorisierung gibt es mehrere Möglichkeiten:&lt;br /&gt;
&lt;br /&gt;
==== admin-approvepost = true ====&lt;br /&gt;
&lt;br /&gt;
Damit werden alle E-Mails der Listenadministratoren direkt verschickt. Es wird nur überprüft, ob die Absender-E-Mail-Adresse übereinstimmt, da diese aber sehr leicht gefälscht werden kann, ist es nur ein sehr schwacher Schutz.&lt;br /&gt;
&lt;br /&gt;
==== post-password = geheimesPasswort ====&lt;br /&gt;
&lt;br /&gt;
Das setzt das Passwort für diese Liste auf geheimesPasswort und nur E-Mails mit der folgenden Zeile im Header der E-Mail werden verteilt: X-posting-pass: geheimesPasswort&lt;br /&gt;
&lt;br /&gt;
Wenn man keine der beiden Optionen benutzt, dann wird die E-Mail zuerst an den Administrator der Liste geschickt, der sie bestätigen muss.&lt;br /&gt;
&lt;br /&gt;
== Weitere Möglichkeiten ==&lt;br /&gt;
&lt;br /&gt;
=== Verschiedene Domains ===&lt;br /&gt;
&lt;br /&gt;
Wenn man für verschiedene seiner Domains eigenständige Mailinglistensysteme betreiben will, so kann man das  Verzeichnis &#039;&#039;ecartis&#039;&#039; als Vorlage verwenden und beliebig kopieren. Dann sind natürlich die Aliase zur Steuerung des Listenmanagers per E-Mail ebenfalls zu kopieren und entsprechend anzupassen.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
[[Kategorie:HSDoku]]&lt;br /&gt;
[[Kategorie:Installationsanleitungen]]&lt;br /&gt;
[[Kategorie:Software]]&lt;/div&gt;</summary>
		<author><name>Peh00-phor</name></author>
	</entry>
	<entry>
		<id>https://wiki.hostsharing.net/index.php?title=Ecartis_Installieren&amp;diff=2290</id>
		<title>Ecartis Installieren</title>
		<link rel="alternate" type="text/html" href="https://wiki.hostsharing.net/index.php?title=Ecartis_Installieren&amp;diff=2290"/>
		<updated>2010-03-02T12:25:34Z</updated>

		<summary type="html">&lt;p&gt;Peh00-phor: /* ecartis.cfg */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Mailinglisten mit ecartis ==&lt;br /&gt;
&lt;br /&gt;
{{Baustelle}}&lt;br /&gt;
&lt;br /&gt;
[http://www.ecartis.org/ Ecartis] ist ein Programm, mit dem Bei Hostsharing E-Mail Verteiler realisiert werden können.&lt;br /&gt;
&lt;br /&gt;
Vergleichen Sie dazu auch den Wikipedia-Artikel:&lt;br /&gt;
[http://de.wikipedia.org/wiki/Mailingliste Mailingliste]&lt;br /&gt;
&lt;br /&gt;
Alternative: [[Mailman]]&lt;br /&gt;
&lt;br /&gt;
Diese Anleitung beschreibt die Installation von Ecartis in einem Hostsharing DW-Paket für eine Domain.&lt;br /&gt;
&lt;br /&gt;
== ecartis ==&lt;br /&gt;
&lt;br /&gt;
=== Einrichten  ===&lt;br /&gt;
&lt;br /&gt;
Zunächst muss eine eigene Installation der Ecartis-Software in das Hostsharing-Paket kopiert werden.&lt;br /&gt;
&lt;br /&gt;
Rufe dazu als Paket-Admin auf:&lt;br /&gt;
&lt;br /&gt;
  cp -r /usr/lib/ecartis $HOME&lt;br /&gt;
  rm $HOME/ecartis/ecartis.cfg&lt;br /&gt;
  cp /etc/ecartis/ecartis.cfg $HOME/ecartis/&lt;br /&gt;
&lt;br /&gt;
Und um fremde Blicke auf die E-Mail-Adressen der Teilnehmer/innen zu verhindern:&lt;br /&gt;
&lt;br /&gt;
  chmod -R o-rwx $HOME/ecartis&lt;br /&gt;
&lt;br /&gt;
Im Verzeichnis &#039;&#039;ecartis&#039;&#039; befindet sich die Konfigurationsdatei ecartis.cfg, welche den Listenmanager steuert.&lt;br /&gt;
&lt;br /&gt;
=== Konfiguration  ===&lt;br /&gt;
&lt;br /&gt;
==== ecartis.cfg ====&lt;br /&gt;
&lt;br /&gt;
Für den Listenmanager müssen nun in ecartis.cfg mehrere Variablen angepasst werden. &lt;br /&gt;
Eine detailierte Beschreibung der einzelnen Optionen gibt es unter: http://www.ecartis.org/variables.html].&lt;br /&gt;
&lt;br /&gt;
Hier die notwendigen Einstellungen in ecartis.cfg:&lt;br /&gt;
&lt;br /&gt;
  listserver-address = ecartis@example.com&lt;br /&gt;
  listserver-admin = postmaster@example.com&lt;br /&gt;
  listserver-root = /home/pacs/xyz00/ecartis&lt;br /&gt;
  listserver-conf = /home/pacs/xyz00/ecartis&lt;br /&gt;
  listserver-data = /home/pacs/xyz00/ecartis&lt;br /&gt;
  listserver-modules = /home/pacs/xyz00/ecartis/modules&lt;br /&gt;
&lt;br /&gt;
==== E-Mail Adresse ====&lt;br /&gt;
&lt;br /&gt;
Entsprechend des Eintrages ecartis-address fügt man [[E-Mail-Adressen]] der Domain example.com folgendes ein:&lt;br /&gt;
&lt;br /&gt;
 ecartis@example.com xyz00-ecartis&lt;br /&gt;
&lt;br /&gt;
==== mehrere  Listenmanager ====&lt;br /&gt;
&lt;br /&gt;
Verwendet man mehrere Listenmanager, so muss man jedem Listenmanager einen eigenen E-Mail-Alias geben. Dazu müssen diese dann auch in der [[aliases]] eingetragen werden. Als Vorlage dienen hierfür die automatisch eingetragenen Aliase, welche auf den Listenmanager in ~/mailinglist verweisen.&lt;br /&gt;
&lt;br /&gt;
===  Test ===&lt;br /&gt;
Damit ist das Mailinglistensystem erreichbar und eine E-Mail an ecartis@example.com mit dem Inhalt help schickt uns die Datei ecartis.hlp zurück, die man später natürlich an seine Bedürfnisse anpassen kann.&lt;br /&gt;
Einrichten einer Mailingliste&lt;br /&gt;
&lt;br /&gt;
== Mailinglisten ==&lt;br /&gt;
&lt;br /&gt;
=== Einrichten ===&lt;br /&gt;
&lt;br /&gt;
Man fügt nun den einzelnen Listenmanagern Listen hinzu. Dazu wechselt man in das Verzeichnis des jeweiligen Listenmanagers.&lt;br /&gt;
&lt;br /&gt;
Aufruf:&lt;br /&gt;
&lt;br /&gt;
 ./ecartis -newlist NAMEDERLISTE&lt;br /&gt;
&lt;br /&gt;
Dann wird man nach dem Administrator der einzurichtenden Liste gefragt und nach der Eingabe der E-Mail-Adresse erhält man eine Liste von aliasen, die man mit [[aliases]] mit vorangestelltem Paketlogin einträgt. Das Voranstellen von bspw. xyz00- ist notwendig, weil man nur diese Aliases ändern darf.&lt;br /&gt;
&lt;br /&gt;
Beispiel:&lt;br /&gt;
&lt;br /&gt;
Folgendes gibt uns der Befehl zurück:&lt;br /&gt;
&lt;br /&gt;
 Aliases for &#039;testmailingliste&#039; mailing list.&lt;br /&gt;
 testmailingliste: &amp;quot;|/home/pacs/xyz00/mailinglist/ecartis -s testmailingliste&amp;quot;&lt;br /&gt;
 testmailingliste-request: &amp;quot;|/home/pacs/xyz00/mailinglist/ecartis -r testmailingliste&amp;quot;&lt;br /&gt;
 testmailingliste-repost: &amp;quot;|/home/pacs/xyz00/mailinglist/ecartis -a testmailingliste&amp;quot;&lt;br /&gt;
 testmailingliste-admins: &amp;quot;|/home/pacs/xyz00/mailinglist/ecartis -admins testmailingliste&amp;quot;&lt;br /&gt;
 testmailingliste-moderators: &amp;quot;|/home/pacs/xyz00/mailinglist/ecartis -moderators testmailingliste&amp;quot;&lt;br /&gt;
 testmailingliste-bounce: &amp;quot;|/home/pacs/xyz00/mailinglist/ecartis -bounce testmailingliste&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==== aliases ====&lt;br /&gt;
&lt;br /&gt;
Folgende Einträge nun mit hsadmin&lt;br /&gt;
[[Aliases]] bzw direkt im [[WebFrontend]]&lt;br /&gt;
anlegen:&lt;br /&gt;
&lt;br /&gt;
 # Aliases for &#039;testmailingliste&#039; mailing list.&lt;br /&gt;
 xyz00-testmailingliste: &amp;quot;|/home/pacs/xyz00/mailinglist/ecartis -s testmailingliste&amp;quot;&lt;br /&gt;
 xyz00-testmailingliste-request: &amp;quot;|/home/pacs/xyz00/mailinglist/ecartis -r testmailingliste&amp;quot;&lt;br /&gt;
 xyz00-testmailingliste-repost: &amp;quot;|/home/pacs/xyz00/mailinglist/ecartis -a testmailingliste&amp;quot;&lt;br /&gt;
 xyz00-testmailingliste-admins: &amp;quot;|/home/pacs/xyz00/mailinglist/ecartis -admins testmailingliste&amp;quot;&lt;br /&gt;
 xyz00-testmailingliste-moderators: &amp;quot;|/home/pacs/xyz00/mailinglist/ecartis -moderators testmailingliste&amp;quot;&lt;br /&gt;
 xyz00-testmailingliste-bounce: &amp;quot;|/home/pacs/xyz00/mailinglist/ecartis -bounce testmailingliste&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==== E-Mail Adressen ====&lt;br /&gt;
&lt;br /&gt;
Bis jetzt haben wir noch nirgendwo festgelegt, unter welcher Domain die Mailingliste läuft. Dafür editieren wir die [[E-Mail-Adressen]] der Domain (Bsp: für die Domain example.com:)&lt;br /&gt;
&lt;br /&gt;
testmailingliste@example.com xyz00-testmailingliste&lt;br /&gt;
testmailingliste-request@example.com xyz00-testmailingliste-request&lt;br /&gt;
testmailingliste-repost@example.com xyz00-testmailingliste-repost&lt;br /&gt;
testmailingliste-admins@example.com xyz00-testmailingliste-admins&lt;br /&gt;
testmailingliste-moderators@example.com xyz00-testmailingliste-moderators&lt;br /&gt;
testmailingliste-bounce@example.com xyz00-testmailingliste-bounce&lt;br /&gt;
&lt;br /&gt;
Jetzt gibt es eine offene Liste mit der Adresse testmailingliste@example.com, an der man sich mit einer E-Mail an testmailingliste-request@example.com mit dem Inhalt subscribe anmelden kann.&lt;br /&gt;
Konfigurieren einer Mailingliste&lt;br /&gt;
&lt;br /&gt;
Jeder Listenmanager besitzt ein Unterverzeichnis /lists, in welchem die zugehörigen Listen verwaltet werden. Jeder Mailingliste wird ein Verzeichnis unterhalb dieses Verzeichnisses zugeordnet. Es hat den Namen der Mailingliste. Die Konfigurationsdatei für die einzelnen Listen heißt config und ist dort abgelegt. Eine detaillierte Beschreibung der einzelnen Optionen gibt es unter: ecartis.org/variables.html.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Konfiguration ===&lt;br /&gt;
Hier nur die wichtigsten Einstellungen, die man konfigurieren sollte:&lt;br /&gt;
&lt;br /&gt;
* list-owner = der Eigentümer der Liste&lt;br /&gt;
* subject-tag = eine Zeichenfolge die im Betreff vorangestellt wird (wie [global] bei unserer global(at)hostsharing.net Mailingliste)&lt;br /&gt;
* description = eine Beschreibung der Liste&lt;br /&gt;
* reply-to = Adresse der Liste (in unserem Beispiel: testmailingliste@example.com)&lt;br /&gt;
* administrivia-address = in unserem Beispiel testmailingliste-admins@example.com&lt;br /&gt;
* humanize-mime = false&lt;br /&gt;
* humanize-quotedprintable = true&lt;br /&gt;
 Sorgen gemeinsam für eine ordentliche Handhabung von Umlauten, sie werden verstanden und es werden passende Header generiert.&lt;br /&gt;
&lt;br /&gt;
* mbox-archive-path = wenn man möchte, kann man alle Mails, die über die Liste verschickt werden, archivieren&lt;br /&gt;
* subscribe-mode = hier gibt es 3 mögliche Einstellungen:&lt;br /&gt;
1. open&lt;br /&gt;
Der Benutzer meldet sich per subscribe an und wird direkt in die Liste eingetragen&lt;br /&gt;
2. confirm&lt;br /&gt;
Der Benutzer muss die Anmeldung anhand einer zugeschickten Mail bestätigen&lt;br /&gt;
3. closed&lt;br /&gt;
Die Anmeldung muss vom Listenadmin erlaubt werden&lt;br /&gt;
&lt;br /&gt;
* unsubscribe-mode = hier gibt es 3 mögliche Einstellungen:&lt;br /&gt;
1. open&lt;br /&gt;
Der Benutzer meldet sich per unsubscribe ab und wird direkt aus der Liste ausgetragen&lt;br /&gt;
2. confirm&lt;br /&gt;
Der Benutzer muss die Abmeldung anhand einer zugeschickten Mail bestätigen&lt;br /&gt;
3. closed&lt;br /&gt;
Die Abmeldung muss vom Listenadmin erlaubt werden&lt;br /&gt;
&lt;br /&gt;
=== Unterschiedliche Mailinglistentypen ===&lt;br /&gt;
&lt;br /&gt;
==== offene Liste ====&lt;br /&gt;
&lt;br /&gt;
Offene Liste bedeutet, dass jeder an die Liste schreiben kann, die dann an alle eingetragenen E-Mail-Adressen verteilt wird (Beispiel: global(at)hostsharing.net).&lt;br /&gt;
Dies ist der Standard bei der Einrichtung einer Liste und benötigt keine besonderen Einstellungen&lt;br /&gt;
&lt;br /&gt;
==== geschlossene Liste ====&lt;br /&gt;
&lt;br /&gt;
bedeutet, dass nur E-Mails von den Eingetragenen verteilt werden. Diese Listenart wird auch als member-only bezeichnet (Beispiel: members(at)hostsharing.net).&lt;br /&gt;
&lt;br /&gt;
Hierfür müssen folgende Optionen gesetzt werden:&lt;br /&gt;
&lt;br /&gt;
 closed-post = true&lt;br /&gt;
&lt;br /&gt;
Sinnvoll ist außerdem confirm oder closed bei subscribe-mode und unsubscribe-mode einzutragen.&lt;br /&gt;
&lt;br /&gt;
==== moderierte Liste ====&lt;br /&gt;
&lt;br /&gt;
bedeutet, dass E-Mails von jemandem authorisiert werden müssen, bevor sie verteilt werden. Wird in den meisten Fällen für Newsletter o.ä. verwendet, wo man als Betreiber den Eingetragenen E-Mails schicken will, aber eine Kommunikation der Eingetragenen untereinander nicht gewollt ist (Beispiel: global-announce(at)hostsharing.net).&lt;br /&gt;
&lt;br /&gt;
Hierfür müssen folgende Optionen gesetzt werden:&lt;br /&gt;
&lt;br /&gt;
* moderated = yes&lt;br /&gt;
* moderate-include-queue = true&lt;br /&gt;
* moderator = testmailingliste-moderators@example.com&lt;br /&gt;
&lt;br /&gt;
Sinnvoll ist außerdem confirm oder closed bei subscribe-mode und unsubscribe-mode einzutragen.&lt;br /&gt;
&lt;br /&gt;
=== Autorisierung ===&lt;br /&gt;
Für die Authorisierung gibt es mehrere Möglichkeiten:&lt;br /&gt;
&lt;br /&gt;
==== admin-approvepost = true ====&lt;br /&gt;
&lt;br /&gt;
Damit werden alle E-Mails der Listenadministratoren direkt verschickt. Es wird nur überprüft, ob die Absender-E-Mail-Adresse übereinstimmt, da diese aber sehr leicht gefälscht werden kann, ist es nur ein sehr schwacher Schutz.&lt;br /&gt;
&lt;br /&gt;
==== post-password = geheimesPasswort ====&lt;br /&gt;
&lt;br /&gt;
Das setzt das Passwort für diese Liste auf geheimesPasswort und nur E-Mails mit der folgenden Zeile im Header der E-Mail werden verteilt: X-posting-pass: geheimesPasswort&lt;br /&gt;
&lt;br /&gt;
Wenn man keine der beiden Optionen benutzt, dann wird die E-Mail zuerst an den Administrator der Liste geschickt, der sie bestätigen muss.&lt;br /&gt;
&lt;br /&gt;
== Weitere Möglichkeiten ==&lt;br /&gt;
&lt;br /&gt;
=== Verschiedene Domains ===&lt;br /&gt;
&lt;br /&gt;
Wenn man für verschiedene seiner Domains eigenständige Mailinglistensysteme betreiben will, so kann man das  Verzeichnis &#039;&#039;ecartis&#039;&#039; als Vorlage verwenden und beliebig kopieren. Dann sind natürlich die Aliase zur Steuerung des Listenmanagers per E-Mail ebenfalls zu kopieren und entsprechend anzupassen.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
[[Kategorie:HSDoku]]&lt;br /&gt;
[[Kategorie:Installationsanleitungen]]&lt;br /&gt;
[[Kategorie:Software]]&lt;/div&gt;</summary>
		<author><name>Peh00-phor</name></author>
	</entry>
	<entry>
		<id>https://wiki.hostsharing.net/index.php?title=Ecartis_Installieren&amp;diff=2289</id>
		<title>Ecartis Installieren</title>
		<link rel="alternate" type="text/html" href="https://wiki.hostsharing.net/index.php?title=Ecartis_Installieren&amp;diff=2289"/>
		<updated>2010-03-02T12:23:41Z</updated>

		<summary type="html">&lt;p&gt;Peh00-phor: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Mailinglisten mit ecartis ==&lt;br /&gt;
&lt;br /&gt;
{{Baustelle}}&lt;br /&gt;
&lt;br /&gt;
[http://www.ecartis.org/ Ecartis] ist ein Programm, mit dem Bei Hostsharing E-Mail Verteiler realisiert werden können.&lt;br /&gt;
&lt;br /&gt;
Vergleichen Sie dazu auch den Wikipedia-Artikel:&lt;br /&gt;
[http://de.wikipedia.org/wiki/Mailingliste Mailingliste]&lt;br /&gt;
&lt;br /&gt;
Alternative: [[Mailman]]&lt;br /&gt;
&lt;br /&gt;
Diese Anleitung beschreibt die Installation von Ecartis in einem Hostsharing DW-Paket für eine Domain.&lt;br /&gt;
&lt;br /&gt;
== ecartis ==&lt;br /&gt;
&lt;br /&gt;
=== Einrichten  ===&lt;br /&gt;
&lt;br /&gt;
Zunächst muss eine eigene Installation der Ecartis-Software in das Hostsharing-Paket kopiert werden.&lt;br /&gt;
&lt;br /&gt;
Rufe dazu als Paket-Admin auf:&lt;br /&gt;
&lt;br /&gt;
  cp -r /usr/lib/ecartis $HOME&lt;br /&gt;
  rm $HOME/ecartis/ecartis.cfg&lt;br /&gt;
  cp /etc/ecartis/ecartis.cfg $HOME/ecartis/&lt;br /&gt;
&lt;br /&gt;
Und um fremde Blicke auf die E-Mail-Adressen der Teilnehmer/innen zu verhindern:&lt;br /&gt;
&lt;br /&gt;
  chmod -R o-rwx $HOME/ecartis&lt;br /&gt;
&lt;br /&gt;
Im Verzeichnis &#039;&#039;ecartis&#039;&#039; befindet sich die Konfigurationsdatei ecartis.cfg, welche den Listenmanager steuert.&lt;br /&gt;
&lt;br /&gt;
=== Konfiguration  ===&lt;br /&gt;
&lt;br /&gt;
==== ecartis.cfg ====&lt;br /&gt;
&lt;br /&gt;
Für jeden Listenmanager müssen nun in ecartis.cfg die Zeilen ecartis-address, ecartis-admin und ecartis-root konfiguriert werden. ecartis-root muss nur dann angepasst werden, wenn man ein anderes Verzeichnis als ~/mailinglist verwendet, weil man beispielsweise mehrere Listenmanager betreibt. Eine detailierte Beschreibung der einzelnen Optionen gibt es unter: http://www.ecartis.org/variables.html].&lt;br /&gt;
&lt;br /&gt;
Man konfiguriert jetzt die Einträge in ecartis.cfg.&lt;br /&gt;
&lt;br /&gt;
Beispiel:&lt;br /&gt;
&lt;br /&gt;
  listserver-address = ecartis@example.com&lt;br /&gt;
  listserver-admin = postmaster@example.com&lt;br /&gt;
  listserver-root = /home/pacs/xyz00/ecartis&lt;br /&gt;
  listserver-conf = /home/pacs/xyz00/ecartis&lt;br /&gt;
  listserver-data = /home/pacs/xyz00/ecartis&lt;br /&gt;
  listserver-modules = /home/pacs/xyz00/ecartis/modules&lt;br /&gt;
&lt;br /&gt;
==== E-Mail Adresse ====&lt;br /&gt;
&lt;br /&gt;
Entsprechend des Eintrages ecartis-address fügt man [[E-Mail-Adressen]] der Domain example.com folgendes ein:&lt;br /&gt;
&lt;br /&gt;
 ecartis@example.com xyz00-ecartis&lt;br /&gt;
&lt;br /&gt;
==== mehrere  Listenmanager ====&lt;br /&gt;
&lt;br /&gt;
Verwendet man mehrere Listenmanager, so muss man jedem Listenmanager einen eigenen E-Mail-Alias geben. Dazu müssen diese dann auch in der [[aliases]] eingetragen werden. Als Vorlage dienen hierfür die automatisch eingetragenen Aliase, welche auf den Listenmanager in ~/mailinglist verweisen.&lt;br /&gt;
&lt;br /&gt;
===  Test ===&lt;br /&gt;
Damit ist das Mailinglistensystem erreichbar und eine E-Mail an ecartis@example.com mit dem Inhalt help schickt uns die Datei ecartis.hlp zurück, die man später natürlich an seine Bedürfnisse anpassen kann.&lt;br /&gt;
Einrichten einer Mailingliste&lt;br /&gt;
&lt;br /&gt;
== Mailinglisten ==&lt;br /&gt;
&lt;br /&gt;
=== Einrichten ===&lt;br /&gt;
&lt;br /&gt;
Man fügt nun den einzelnen Listenmanagern Listen hinzu. Dazu wechselt man in das Verzeichnis des jeweiligen Listenmanagers.&lt;br /&gt;
&lt;br /&gt;
Aufruf:&lt;br /&gt;
&lt;br /&gt;
 ./ecartis -newlist NAMEDERLISTE&lt;br /&gt;
&lt;br /&gt;
Dann wird man nach dem Administrator der einzurichtenden Liste gefragt und nach der Eingabe der E-Mail-Adresse erhält man eine Liste von aliasen, die man mit [[aliases]] mit vorangestelltem Paketlogin einträgt. Das Voranstellen von bspw. xyz00- ist notwendig, weil man nur diese Aliases ändern darf.&lt;br /&gt;
&lt;br /&gt;
Beispiel:&lt;br /&gt;
&lt;br /&gt;
Folgendes gibt uns der Befehl zurück:&lt;br /&gt;
&lt;br /&gt;
 Aliases for &#039;testmailingliste&#039; mailing list.&lt;br /&gt;
 testmailingliste: &amp;quot;|/home/pacs/xyz00/mailinglist/ecartis -s testmailingliste&amp;quot;&lt;br /&gt;
 testmailingliste-request: &amp;quot;|/home/pacs/xyz00/mailinglist/ecartis -r testmailingliste&amp;quot;&lt;br /&gt;
 testmailingliste-repost: &amp;quot;|/home/pacs/xyz00/mailinglist/ecartis -a testmailingliste&amp;quot;&lt;br /&gt;
 testmailingliste-admins: &amp;quot;|/home/pacs/xyz00/mailinglist/ecartis -admins testmailingliste&amp;quot;&lt;br /&gt;
 testmailingliste-moderators: &amp;quot;|/home/pacs/xyz00/mailinglist/ecartis -moderators testmailingliste&amp;quot;&lt;br /&gt;
 testmailingliste-bounce: &amp;quot;|/home/pacs/xyz00/mailinglist/ecartis -bounce testmailingliste&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==== aliases ====&lt;br /&gt;
&lt;br /&gt;
Folgende Einträge nun mit hsadmin&lt;br /&gt;
[[Aliases]] bzw direkt im [[WebFrontend]]&lt;br /&gt;
anlegen:&lt;br /&gt;
&lt;br /&gt;
 # Aliases for &#039;testmailingliste&#039; mailing list.&lt;br /&gt;
 xyz00-testmailingliste: &amp;quot;|/home/pacs/xyz00/mailinglist/ecartis -s testmailingliste&amp;quot;&lt;br /&gt;
 xyz00-testmailingliste-request: &amp;quot;|/home/pacs/xyz00/mailinglist/ecartis -r testmailingliste&amp;quot;&lt;br /&gt;
 xyz00-testmailingliste-repost: &amp;quot;|/home/pacs/xyz00/mailinglist/ecartis -a testmailingliste&amp;quot;&lt;br /&gt;
 xyz00-testmailingliste-admins: &amp;quot;|/home/pacs/xyz00/mailinglist/ecartis -admins testmailingliste&amp;quot;&lt;br /&gt;
 xyz00-testmailingliste-moderators: &amp;quot;|/home/pacs/xyz00/mailinglist/ecartis -moderators testmailingliste&amp;quot;&lt;br /&gt;
 xyz00-testmailingliste-bounce: &amp;quot;|/home/pacs/xyz00/mailinglist/ecartis -bounce testmailingliste&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==== E-Mail Adressen ====&lt;br /&gt;
&lt;br /&gt;
Bis jetzt haben wir noch nirgendwo festgelegt, unter welcher Domain die Mailingliste läuft. Dafür editieren wir die [[E-Mail-Adressen]] der Domain (Bsp: für die Domain example.com:)&lt;br /&gt;
&lt;br /&gt;
testmailingliste@example.com xyz00-testmailingliste&lt;br /&gt;
testmailingliste-request@example.com xyz00-testmailingliste-request&lt;br /&gt;
testmailingliste-repost@example.com xyz00-testmailingliste-repost&lt;br /&gt;
testmailingliste-admins@example.com xyz00-testmailingliste-admins&lt;br /&gt;
testmailingliste-moderators@example.com xyz00-testmailingliste-moderators&lt;br /&gt;
testmailingliste-bounce@example.com xyz00-testmailingliste-bounce&lt;br /&gt;
&lt;br /&gt;
Jetzt gibt es eine offene Liste mit der Adresse testmailingliste@example.com, an der man sich mit einer E-Mail an testmailingliste-request@example.com mit dem Inhalt subscribe anmelden kann.&lt;br /&gt;
Konfigurieren einer Mailingliste&lt;br /&gt;
&lt;br /&gt;
Jeder Listenmanager besitzt ein Unterverzeichnis /lists, in welchem die zugehörigen Listen verwaltet werden. Jeder Mailingliste wird ein Verzeichnis unterhalb dieses Verzeichnisses zugeordnet. Es hat den Namen der Mailingliste. Die Konfigurationsdatei für die einzelnen Listen heißt config und ist dort abgelegt. Eine detaillierte Beschreibung der einzelnen Optionen gibt es unter: ecartis.org/variables.html.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Konfiguration ===&lt;br /&gt;
Hier nur die wichtigsten Einstellungen, die man konfigurieren sollte:&lt;br /&gt;
&lt;br /&gt;
* list-owner = der Eigentümer der Liste&lt;br /&gt;
* subject-tag = eine Zeichenfolge die im Betreff vorangestellt wird (wie [global] bei unserer global(at)hostsharing.net Mailingliste)&lt;br /&gt;
* description = eine Beschreibung der Liste&lt;br /&gt;
* reply-to = Adresse der Liste (in unserem Beispiel: testmailingliste@example.com)&lt;br /&gt;
* administrivia-address = in unserem Beispiel testmailingliste-admins@example.com&lt;br /&gt;
* humanize-mime = false&lt;br /&gt;
* humanize-quotedprintable = true&lt;br /&gt;
 Sorgen gemeinsam für eine ordentliche Handhabung von Umlauten, sie werden verstanden und es werden passende Header generiert.&lt;br /&gt;
&lt;br /&gt;
* mbox-archive-path = wenn man möchte, kann man alle Mails, die über die Liste verschickt werden, archivieren&lt;br /&gt;
* subscribe-mode = hier gibt es 3 mögliche Einstellungen:&lt;br /&gt;
1. open&lt;br /&gt;
Der Benutzer meldet sich per subscribe an und wird direkt in die Liste eingetragen&lt;br /&gt;
2. confirm&lt;br /&gt;
Der Benutzer muss die Anmeldung anhand einer zugeschickten Mail bestätigen&lt;br /&gt;
3. closed&lt;br /&gt;
Die Anmeldung muss vom Listenadmin erlaubt werden&lt;br /&gt;
&lt;br /&gt;
* unsubscribe-mode = hier gibt es 3 mögliche Einstellungen:&lt;br /&gt;
1. open&lt;br /&gt;
Der Benutzer meldet sich per unsubscribe ab und wird direkt aus der Liste ausgetragen&lt;br /&gt;
2. confirm&lt;br /&gt;
Der Benutzer muss die Abmeldung anhand einer zugeschickten Mail bestätigen&lt;br /&gt;
3. closed&lt;br /&gt;
Die Abmeldung muss vom Listenadmin erlaubt werden&lt;br /&gt;
&lt;br /&gt;
=== Unterschiedliche Mailinglistentypen ===&lt;br /&gt;
&lt;br /&gt;
==== offene Liste ====&lt;br /&gt;
&lt;br /&gt;
Offene Liste bedeutet, dass jeder an die Liste schreiben kann, die dann an alle eingetragenen E-Mail-Adressen verteilt wird (Beispiel: global(at)hostsharing.net).&lt;br /&gt;
Dies ist der Standard bei der Einrichtung einer Liste und benötigt keine besonderen Einstellungen&lt;br /&gt;
&lt;br /&gt;
==== geschlossene Liste ====&lt;br /&gt;
&lt;br /&gt;
bedeutet, dass nur E-Mails von den Eingetragenen verteilt werden. Diese Listenart wird auch als member-only bezeichnet (Beispiel: members(at)hostsharing.net).&lt;br /&gt;
&lt;br /&gt;
Hierfür müssen folgende Optionen gesetzt werden:&lt;br /&gt;
&lt;br /&gt;
 closed-post = true&lt;br /&gt;
&lt;br /&gt;
Sinnvoll ist außerdem confirm oder closed bei subscribe-mode und unsubscribe-mode einzutragen.&lt;br /&gt;
&lt;br /&gt;
==== moderierte Liste ====&lt;br /&gt;
&lt;br /&gt;
bedeutet, dass E-Mails von jemandem authorisiert werden müssen, bevor sie verteilt werden. Wird in den meisten Fällen für Newsletter o.ä. verwendet, wo man als Betreiber den Eingetragenen E-Mails schicken will, aber eine Kommunikation der Eingetragenen untereinander nicht gewollt ist (Beispiel: global-announce(at)hostsharing.net).&lt;br /&gt;
&lt;br /&gt;
Hierfür müssen folgende Optionen gesetzt werden:&lt;br /&gt;
&lt;br /&gt;
* moderated = yes&lt;br /&gt;
* moderate-include-queue = true&lt;br /&gt;
* moderator = testmailingliste-moderators@example.com&lt;br /&gt;
&lt;br /&gt;
Sinnvoll ist außerdem confirm oder closed bei subscribe-mode und unsubscribe-mode einzutragen.&lt;br /&gt;
&lt;br /&gt;
=== Autorisierung ===&lt;br /&gt;
Für die Authorisierung gibt es mehrere Möglichkeiten:&lt;br /&gt;
&lt;br /&gt;
==== admin-approvepost = true ====&lt;br /&gt;
&lt;br /&gt;
Damit werden alle E-Mails der Listenadministratoren direkt verschickt. Es wird nur überprüft, ob die Absender-E-Mail-Adresse übereinstimmt, da diese aber sehr leicht gefälscht werden kann, ist es nur ein sehr schwacher Schutz.&lt;br /&gt;
&lt;br /&gt;
==== post-password = geheimesPasswort ====&lt;br /&gt;
&lt;br /&gt;
Das setzt das Passwort für diese Liste auf geheimesPasswort und nur E-Mails mit der folgenden Zeile im Header der E-Mail werden verteilt: X-posting-pass: geheimesPasswort&lt;br /&gt;
&lt;br /&gt;
Wenn man keine der beiden Optionen benutzt, dann wird die E-Mail zuerst an den Administrator der Liste geschickt, der sie bestätigen muss.&lt;br /&gt;
&lt;br /&gt;
== Weitere Möglichkeiten ==&lt;br /&gt;
&lt;br /&gt;
=== Verschiedene Domains ===&lt;br /&gt;
&lt;br /&gt;
Wenn man für verschiedene seiner Domains eigenständige Mailinglistensysteme betreiben will, so kann man das  Verzeichnis &#039;&#039;ecartis&#039;&#039; als Vorlage verwenden und beliebig kopieren. Dann sind natürlich die Aliase zur Steuerung des Listenmanagers per E-Mail ebenfalls zu kopieren und entsprechend anzupassen.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
[[Kategorie:HSDoku]]&lt;br /&gt;
[[Kategorie:Installationsanleitungen]]&lt;br /&gt;
[[Kategorie:Software]]&lt;/div&gt;</summary>
		<author><name>Peh00-phor</name></author>
	</entry>
	<entry>
		<id>https://wiki.hostsharing.net/index.php?title=Ecartis_Installieren&amp;diff=2285</id>
		<title>Ecartis Installieren</title>
		<link rel="alternate" type="text/html" href="https://wiki.hostsharing.net/index.php?title=Ecartis_Installieren&amp;diff=2285"/>
		<updated>2010-03-02T12:08:31Z</updated>

		<summary type="html">&lt;p&gt;Peh00-phor: /* Einrichten */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Mailinglisten mit ecartis ==&lt;br /&gt;
&lt;br /&gt;
{{Baustelle}}&lt;br /&gt;
&lt;br /&gt;
[http://www.ecartis.org/ Ecartis] ist ein Programm, mit dem Bei Hostsharing E-Mail Verteiler realisiert werden können.&lt;br /&gt;
&lt;br /&gt;
Vergleichen Sie dazu auch den Wikipedia-Artikel:&lt;br /&gt;
[http://de.wikipedia.org/wiki/Mailingliste Mailingliste]&lt;br /&gt;
&lt;br /&gt;
Alternative: [[Mailman]]&lt;br /&gt;
&lt;br /&gt;
Diese Anleitung beschreibt die Installation von Ecartis in einem Hostsharing DW-Paket für eine Domain.&lt;br /&gt;
&lt;br /&gt;
== ecartis ==&lt;br /&gt;
&lt;br /&gt;
=== Einrichten  ===&lt;br /&gt;
&lt;br /&gt;
Zunächst muss eine eigene Installation der Ecartis-Software in das Hostsharing-Paket kopiert werden.&lt;br /&gt;
&lt;br /&gt;
Rufe dazu als Paket-Admin auf:&lt;br /&gt;
&lt;br /&gt;
  cp -r /usr/lib/ecartis $HOME&lt;br /&gt;
&lt;br /&gt;
Und um fremde Blicke auf die E-Mail-Adressen der Teilnehmer/innen zu verhindern:&lt;br /&gt;
&lt;br /&gt;
  chmod -R o-rwx $HOME/ecartis&lt;br /&gt;
&lt;br /&gt;
Wenn man für verschiedene seiner Domains eigenständige Mailinglistensysteme betreiben will, so kann man dieses Verzeichnis als Vorlage verwenden und beliebig kopieren. Dann sind natürlich die Aliase zur Steuerung des Listenmanagers per E-Mail ebenfalls zu kopieren und entsprechend anzupassen.&lt;br /&gt;
&lt;br /&gt;
Im Verzeichnis &#039;&#039;ecartis&#039;&#039; befindet sich eine Konfigurationsdatei ecartis.cfg, welche den Listenmanager steuert.&lt;br /&gt;
&lt;br /&gt;
=== Konfiguration  ===&lt;br /&gt;
&lt;br /&gt;
==== ecartis.cfg ====&lt;br /&gt;
&lt;br /&gt;
Für jeden Listenmanager müssen nun in ecartis.cfg die Zeilen ecartis-address, ecartis-admin und ecartis-root konfiguriert werden. ecartis-root muss nur dann angepasst werden, wenn man ein anderes Verzeichnis als ~/mailinglist verwendet, weil man beispielsweise mehrere Listenmanager betreibt. Eine detailierte Beschreibung der einzelnen Optionen gibt es unter: ecartis.org/variables.html.&lt;br /&gt;
&lt;br /&gt;
Man konfiguriert jetzt die Einträge in ecartis.cfg.&lt;br /&gt;
&lt;br /&gt;
Beispiel:&lt;br /&gt;
&lt;br /&gt;
 ecartis-address = ecartis@example.com&lt;br /&gt;
 ecartis-admin = postmaster@example.com&lt;br /&gt;
 ecartis-root = /home/pacs/xyz00/mailinglist&lt;br /&gt;
&lt;br /&gt;
==== E-Mail Adresse ====&lt;br /&gt;
&lt;br /&gt;
Entsprechend des Eintrages ecartis-address fügt man [[E-Mail-Adressen]] der Domain example.com folgendes ein:&lt;br /&gt;
&lt;br /&gt;
 ecartis@example.com xyz00-ecartis&lt;br /&gt;
&lt;br /&gt;
==== mehrere  Listenmanager ====&lt;br /&gt;
&lt;br /&gt;
Verwendet man mehrere Listenmanager, so muss man jedem Listenmanager einen eigenen E-Mail-Alias geben. Dazu müssen diese dann auch in der [[aliases]] eingetragen werden. Als Vorlage dienen hierfür die automatisch eingetragenen Aliase, welche auf den Listenmanager in ~/mailinglist verweisen.&lt;br /&gt;
&lt;br /&gt;
===  Test ===&lt;br /&gt;
Damit ist das Mailinglistensystem erreichbar und eine E-Mail an ecartis@example.com mit dem Inhalt help schickt uns die Datei ecartis.hlp zurück, die man später natürlich an seine Bedürfnisse anpassen kann.&lt;br /&gt;
Einrichten einer Mailingliste&lt;br /&gt;
&lt;br /&gt;
== Mailinglisten ==&lt;br /&gt;
&lt;br /&gt;
=== Einrichten ===&lt;br /&gt;
&lt;br /&gt;
Man fügt nun den einzelnen Listenmanagern Listen hinzu. Dazu wechselt man in das Verzeichnis des jeweiligen Listenmanagers.&lt;br /&gt;
&lt;br /&gt;
Aufruf:&lt;br /&gt;
&lt;br /&gt;
 ./ecartis -newlist NAMEDERLISTE&lt;br /&gt;
&lt;br /&gt;
Dann wird man nach dem Administrator der einzurichtenden Liste gefragt und nach der Eingabe der E-Mail-Adresse erhält man eine Liste von aliasen, die man mit [[aliases]] mit vorangestelltem Paketlogin einträgt. Das Voranstellen von bspw. xyz00- ist notwendig, weil man nur diese Aliases ändern darf.&lt;br /&gt;
&lt;br /&gt;
Beispiel:&lt;br /&gt;
&lt;br /&gt;
Folgendes gibt uns der Befehl zurück:&lt;br /&gt;
&lt;br /&gt;
 Aliases for &#039;testmailingliste&#039; mailing list.&lt;br /&gt;
 testmailingliste: &amp;quot;|/home/pacs/xyz00/mailinglist/ecartis -s testmailingliste&amp;quot;&lt;br /&gt;
 testmailingliste-request: &amp;quot;|/home/pacs/xyz00/mailinglist/ecartis -r testmailingliste&amp;quot;&lt;br /&gt;
 testmailingliste-repost: &amp;quot;|/home/pacs/xyz00/mailinglist/ecartis -a testmailingliste&amp;quot;&lt;br /&gt;
 testmailingliste-admins: &amp;quot;|/home/pacs/xyz00/mailinglist/ecartis -admins testmailingliste&amp;quot;&lt;br /&gt;
 testmailingliste-moderators: &amp;quot;|/home/pacs/xyz00/mailinglist/ecartis -moderators testmailingliste&amp;quot;&lt;br /&gt;
 testmailingliste-bounce: &amp;quot;|/home/pacs/xyz00/mailinglist/ecartis -bounce testmailingliste&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==== aliases ====&lt;br /&gt;
&lt;br /&gt;
Folgende Einträge nun mit hsadmin&lt;br /&gt;
[[Aliases]] bzw direkt im [[WebFrontend]]&lt;br /&gt;
anlegen:&lt;br /&gt;
&lt;br /&gt;
 # Aliases for &#039;testmailingliste&#039; mailing list.&lt;br /&gt;
 xyz00-testmailingliste: &amp;quot;|/home/pacs/xyz00/mailinglist/ecartis -s testmailingliste&amp;quot;&lt;br /&gt;
 xyz00-testmailingliste-request: &amp;quot;|/home/pacs/xyz00/mailinglist/ecartis -r testmailingliste&amp;quot;&lt;br /&gt;
 xyz00-testmailingliste-repost: &amp;quot;|/home/pacs/xyz00/mailinglist/ecartis -a testmailingliste&amp;quot;&lt;br /&gt;
 xyz00-testmailingliste-admins: &amp;quot;|/home/pacs/xyz00/mailinglist/ecartis -admins testmailingliste&amp;quot;&lt;br /&gt;
 xyz00-testmailingliste-moderators: &amp;quot;|/home/pacs/xyz00/mailinglist/ecartis -moderators testmailingliste&amp;quot;&lt;br /&gt;
 xyz00-testmailingliste-bounce: &amp;quot;|/home/pacs/xyz00/mailinglist/ecartis -bounce testmailingliste&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==== E-Mail Adressen ====&lt;br /&gt;
&lt;br /&gt;
Bis jetzt haben wir noch nirgendwo festgelegt, unter welcher Domain die Mailingliste läuft. Dafür editieren wir die [[E-Mail-Adressen]] der Domain (Bsp: für die Domain example.com:)&lt;br /&gt;
&lt;br /&gt;
testmailingliste@example.com xyz00-testmailingliste&lt;br /&gt;
testmailingliste-request@example.com xyz00-testmailingliste-request&lt;br /&gt;
testmailingliste-repost@example.com xyz00-testmailingliste-repost&lt;br /&gt;
testmailingliste-admins@example.com xyz00-testmailingliste-admins&lt;br /&gt;
testmailingliste-moderators@example.com xyz00-testmailingliste-moderators&lt;br /&gt;
testmailingliste-bounce@example.com xyz00-testmailingliste-bounce&lt;br /&gt;
&lt;br /&gt;
Jetzt gibt es eine offene Liste mit der Adresse testmailingliste@example.com, an der man sich mit einer E-Mail an testmailingliste-request@example.com mit dem Inhalt subscribe anmelden kann.&lt;br /&gt;
Konfigurieren einer Mailingliste&lt;br /&gt;
&lt;br /&gt;
Jeder Listenmanager besitzt ein Unterverzeichnis /lists, in welchem die zugehörigen Listen verwaltet werden. Jeder Mailingliste wird ein Verzeichnis unterhalb dieses Verzeichnisses zugeordnet. Es hat den Namen der Mailingliste. Die Konfigurationsdatei für die einzelnen Listen heißt config und ist dort abgelegt. Eine detaillierte Beschreibung der einzelnen Optionen gibt es unter: ecartis.org/variables.html.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Konfiguration ===&lt;br /&gt;
Hier nur die wichtigsten Einstellungen, die man konfigurieren sollte:&lt;br /&gt;
&lt;br /&gt;
* list-owner = der Eigentümer der Liste&lt;br /&gt;
* subject-tag = eine Zeichenfolge die im Betreff vorangestellt wird (wie [global] bei unserer global(at)hostsharing.net Mailingliste)&lt;br /&gt;
* description = eine Beschreibung der Liste&lt;br /&gt;
* reply-to = Adresse der Liste (in unserem Beispiel: testmailingliste@example.com)&lt;br /&gt;
* administrivia-address = in unserem Beispiel testmailingliste-admins@example.com&lt;br /&gt;
* humanize-mime = false&lt;br /&gt;
* humanize-quotedprintable = true&lt;br /&gt;
 Sorgen gemeinsam für eine ordentliche Handhabung von Umlauten, sie werden verstanden und es werden passende Header generiert.&lt;br /&gt;
&lt;br /&gt;
* mbox-archive-path = wenn man möchte, kann man alle Mails, die über die Liste verschickt werden, archivieren&lt;br /&gt;
* subscribe-mode = hier gibt es 3 mögliche Einstellungen:&lt;br /&gt;
1. open&lt;br /&gt;
Der Benutzer meldet sich per subscribe an und wird direkt in die Liste eingetragen&lt;br /&gt;
2. confirm&lt;br /&gt;
Der Benutzer muss die Anmeldung anhand einer zugeschickten Mail bestätigen&lt;br /&gt;
3. closed&lt;br /&gt;
Die Anmeldung muss vom Listenadmin erlaubt werden&lt;br /&gt;
&lt;br /&gt;
* unsubscribe-mode = hier gibt es 3 mögliche Einstellungen:&lt;br /&gt;
1. open&lt;br /&gt;
Der Benutzer meldet sich per unsubscribe ab und wird direkt aus der Liste ausgetragen&lt;br /&gt;
2. confirm&lt;br /&gt;
Der Benutzer muss die Abmeldung anhand einer zugeschickten Mail bestätigen&lt;br /&gt;
3. closed&lt;br /&gt;
Die Abmeldung muss vom Listenadmin erlaubt werden&lt;br /&gt;
&lt;br /&gt;
=== Unterschiedliche Mailinglistentypen ===&lt;br /&gt;
&lt;br /&gt;
==== offene Liste ====&lt;br /&gt;
&lt;br /&gt;
Offene Liste bedeutet, dass jeder an die Liste schreiben kann, die dann an alle eingetragenen E-Mail-Adressen verteilt wird (Beispiel: global(at)hostsharing.net).&lt;br /&gt;
Dies ist der Standard bei der Einrichtung einer Liste und benötigt keine besonderen Einstellungen&lt;br /&gt;
&lt;br /&gt;
==== geschlossene Liste ====&lt;br /&gt;
&lt;br /&gt;
bedeutet, dass nur E-Mails von den Eingetragenen verteilt werden. Diese Listenart wird auch als member-only bezeichnet (Beispiel: members(at)hostsharing.net).&lt;br /&gt;
&lt;br /&gt;
Hierfür müssen folgende Optionen gesetzt werden:&lt;br /&gt;
&lt;br /&gt;
 closed-post = true&lt;br /&gt;
&lt;br /&gt;
Sinnvoll ist außerdem confirm oder closed bei subscribe-mode und unsubscribe-mode einzutragen.&lt;br /&gt;
&lt;br /&gt;
==== moderierte Liste ====&lt;br /&gt;
&lt;br /&gt;
bedeutet, dass E-Mails von jemandem authorisiert werden müssen, bevor sie verteilt werden. Wird in den meisten Fällen für Newsletter o.ä. verwendet, wo man als Betreiber den Eingetragenen E-Mails schicken will, aber eine Kommunikation der Eingetragenen untereinander nicht gewollt ist (Beispiel: global-announce(at)hostsharing.net).&lt;br /&gt;
&lt;br /&gt;
Hierfür müssen folgende Optionen gesetzt werden:&lt;br /&gt;
&lt;br /&gt;
* moderated = yes&lt;br /&gt;
* moderate-include-queue = true&lt;br /&gt;
* moderator = testmailingliste-moderators@example.com&lt;br /&gt;
&lt;br /&gt;
Sinnvoll ist außerdem confirm oder closed bei subscribe-mode und unsubscribe-mode einzutragen.&lt;br /&gt;
&lt;br /&gt;
=== Autorisierung ===&lt;br /&gt;
Für die Authorisierung gibt es mehrere Möglichkeiten:&lt;br /&gt;
&lt;br /&gt;
==== admin-approvepost = true ====&lt;br /&gt;
&lt;br /&gt;
Damit werden alle E-Mails der Listenadministratoren direkt verschickt. Es wird nur überprüft, ob die Absender-E-Mail-Adresse übereinstimmt, da diese aber sehr leicht gefälscht werden kann, ist es nur ein sehr schwacher Schutz.&lt;br /&gt;
&lt;br /&gt;
==== post-password = geheimesPasswort ====&lt;br /&gt;
&lt;br /&gt;
Das setzt das Passwort für diese Liste auf geheimesPasswort und nur E-Mails mit der folgenden Zeile im Header der E-Mail werden verteilt: X-posting-pass: geheimesPasswort&lt;br /&gt;
&lt;br /&gt;
Wenn man keine der beiden Optionen benutzt, dann wird die E-Mail zuerst an den Administrator der Liste geschickt, der sie bestätigen muss.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
[[Kategorie:HSDoku]]&lt;br /&gt;
[[Kategorie:Installationsanleitungen]]&lt;br /&gt;
[[Kategorie:Software]]&lt;/div&gt;</summary>
		<author><name>Peh00-phor</name></author>
	</entry>
	<entry>
		<id>https://wiki.hostsharing.net/index.php?title=Ecartis_Installieren&amp;diff=2282</id>
		<title>Ecartis Installieren</title>
		<link rel="alternate" type="text/html" href="https://wiki.hostsharing.net/index.php?title=Ecartis_Installieren&amp;diff=2282"/>
		<updated>2010-03-02T12:04:17Z</updated>

		<summary type="html">&lt;p&gt;Peh00-phor: /* Einrichten */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Mailinglisten mit ecartis ==&lt;br /&gt;
&lt;br /&gt;
{{Baustelle}}&lt;br /&gt;
&lt;br /&gt;
[http://www.ecartis.org/ Ecartis] ist ein Programm, mit dem Bei Hostsharing E-Mail Verteiler realisiert werden können.&lt;br /&gt;
&lt;br /&gt;
Vergleichen Sie dazu auch den Wikipedia-Artikel:&lt;br /&gt;
[http://de.wikipedia.org/wiki/Mailingliste Mailingliste]&lt;br /&gt;
&lt;br /&gt;
Alternative: [[Mailman]]&lt;br /&gt;
&lt;br /&gt;
Diese Anleitung beschreibt die Installation von Ecartis in einem Hostsharing DW-Paket für eine Domain.&lt;br /&gt;
&lt;br /&gt;
== ecartis ==&lt;br /&gt;
&lt;br /&gt;
=== Einrichten  ===&lt;br /&gt;
&lt;br /&gt;
Zunächst muss eine eigene Installation der Ecartis-Software in das Hostsharing-Paket kopiert werden.&lt;br /&gt;
&lt;br /&gt;
Rufe dazu als Paket-Admin auf:&lt;br /&gt;
&lt;br /&gt;
  cp -r /usr/lib/ecartis $HOME&lt;br /&gt;
&lt;br /&gt;
Und um fremde Blicke auf die E-Mail-Adressen der Teilnehemr zu verhindern:&lt;br /&gt;
&lt;br /&gt;
  chmod -R o-rwx $HOME/ecartis&lt;br /&gt;
&lt;br /&gt;
Wenn man für verschiedene seiner Domains eigenständige Mailinglistensysteme betreiben will, so kann man dieses Verzeichnis als Vorlage verwenden und beliebig kopieren. Dann sind natürlich die Aliase zur Steuerung des Listenmanagers per E-Mail ebenfalls zu kopieren und entsprechend anzupassen.&lt;br /&gt;
&lt;br /&gt;
Im Verzeichnis des Listenmanagers befindet sich eine Konfigurationsdatei ecartis.cfg, welche den Listenmanager steuert.&lt;br /&gt;
&lt;br /&gt;
=== Konfiguration  ===&lt;br /&gt;
&lt;br /&gt;
==== ecartis.cfg ====&lt;br /&gt;
&lt;br /&gt;
Für jeden Listenmanager müssen nun in ecartis.cfg die Zeilen ecartis-address, ecartis-admin und ecartis-root konfiguriert werden. ecartis-root muss nur dann angepasst werden, wenn man ein anderes Verzeichnis als ~/mailinglist verwendet, weil man beispielsweise mehrere Listenmanager betreibt. Eine detailierte Beschreibung der einzelnen Optionen gibt es unter: ecartis.org/variables.html.&lt;br /&gt;
&lt;br /&gt;
Man konfiguriert jetzt die Einträge in ecartis.cfg.&lt;br /&gt;
&lt;br /&gt;
Beispiel:&lt;br /&gt;
&lt;br /&gt;
 ecartis-address = ecartis@example.com&lt;br /&gt;
 ecartis-admin = postmaster@example.com&lt;br /&gt;
 ecartis-root = /home/pacs/xyz00/mailinglist&lt;br /&gt;
&lt;br /&gt;
==== E-Mail Adresse ====&lt;br /&gt;
&lt;br /&gt;
Entsprechend des Eintrages ecartis-address fügt man [[E-Mail-Adressen]] der Domain example.com folgendes ein:&lt;br /&gt;
&lt;br /&gt;
 ecartis@example.com xyz00-ecartis&lt;br /&gt;
&lt;br /&gt;
==== mehrere  Listenmanager ====&lt;br /&gt;
&lt;br /&gt;
Verwendet man mehrere Listenmanager, so muss man jedem Listenmanager einen eigenen E-Mail-Alias geben. Dazu müssen diese dann auch in der [[aliases]] eingetragen werden. Als Vorlage dienen hierfür die automatisch eingetragenen Aliase, welche auf den Listenmanager in ~/mailinglist verweisen.&lt;br /&gt;
&lt;br /&gt;
===  Test ===&lt;br /&gt;
Damit ist das Mailinglistensystem erreichbar und eine E-Mail an ecartis@example.com mit dem Inhalt help schickt uns die Datei ecartis.hlp zurück, die man später natürlich an seine Bedürfnisse anpassen kann.&lt;br /&gt;
Einrichten einer Mailingliste&lt;br /&gt;
&lt;br /&gt;
== Mailinglisten ==&lt;br /&gt;
&lt;br /&gt;
=== Einrichten ===&lt;br /&gt;
&lt;br /&gt;
Man fügt nun den einzelnen Listenmanagern Listen hinzu. Dazu wechselt man in das Verzeichnis des jeweiligen Listenmanagers.&lt;br /&gt;
&lt;br /&gt;
Aufruf:&lt;br /&gt;
&lt;br /&gt;
 ./ecartis -newlist NAMEDERLISTE&lt;br /&gt;
&lt;br /&gt;
Dann wird man nach dem Administrator der einzurichtenden Liste gefragt und nach der Eingabe der E-Mail-Adresse erhält man eine Liste von aliasen, die man mit [[aliases]] mit vorangestelltem Paketlogin einträgt. Das Voranstellen von bspw. xyz00- ist notwendig, weil man nur diese Aliases ändern darf.&lt;br /&gt;
&lt;br /&gt;
Beispiel:&lt;br /&gt;
&lt;br /&gt;
Folgendes gibt uns der Befehl zurück:&lt;br /&gt;
&lt;br /&gt;
 Aliases for &#039;testmailingliste&#039; mailing list.&lt;br /&gt;
 testmailingliste: &amp;quot;|/home/pacs/xyz00/mailinglist/ecartis -s testmailingliste&amp;quot;&lt;br /&gt;
 testmailingliste-request: &amp;quot;|/home/pacs/xyz00/mailinglist/ecartis -r testmailingliste&amp;quot;&lt;br /&gt;
 testmailingliste-repost: &amp;quot;|/home/pacs/xyz00/mailinglist/ecartis -a testmailingliste&amp;quot;&lt;br /&gt;
 testmailingliste-admins: &amp;quot;|/home/pacs/xyz00/mailinglist/ecartis -admins testmailingliste&amp;quot;&lt;br /&gt;
 testmailingliste-moderators: &amp;quot;|/home/pacs/xyz00/mailinglist/ecartis -moderators testmailingliste&amp;quot;&lt;br /&gt;
 testmailingliste-bounce: &amp;quot;|/home/pacs/xyz00/mailinglist/ecartis -bounce testmailingliste&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==== aliases ====&lt;br /&gt;
&lt;br /&gt;
Folgende Einträge nun mit hsadmin&lt;br /&gt;
[[Aliases]] bzw direkt im [[WebFrontend]]&lt;br /&gt;
anlegen:&lt;br /&gt;
&lt;br /&gt;
 # Aliases for &#039;testmailingliste&#039; mailing list.&lt;br /&gt;
 xyz00-testmailingliste: &amp;quot;|/home/pacs/xyz00/mailinglist/ecartis -s testmailingliste&amp;quot;&lt;br /&gt;
 xyz00-testmailingliste-request: &amp;quot;|/home/pacs/xyz00/mailinglist/ecartis -r testmailingliste&amp;quot;&lt;br /&gt;
 xyz00-testmailingliste-repost: &amp;quot;|/home/pacs/xyz00/mailinglist/ecartis -a testmailingliste&amp;quot;&lt;br /&gt;
 xyz00-testmailingliste-admins: &amp;quot;|/home/pacs/xyz00/mailinglist/ecartis -admins testmailingliste&amp;quot;&lt;br /&gt;
 xyz00-testmailingliste-moderators: &amp;quot;|/home/pacs/xyz00/mailinglist/ecartis -moderators testmailingliste&amp;quot;&lt;br /&gt;
 xyz00-testmailingliste-bounce: &amp;quot;|/home/pacs/xyz00/mailinglist/ecartis -bounce testmailingliste&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==== E-Mail Adressen ====&lt;br /&gt;
&lt;br /&gt;
Bis jetzt haben wir noch nirgendwo festgelegt, unter welcher Domain die Mailingliste läuft. Dafür editieren wir die [[E-Mail-Adressen]] der Domain (Bsp: für die Domain example.com:)&lt;br /&gt;
&lt;br /&gt;
testmailingliste@example.com xyz00-testmailingliste&lt;br /&gt;
testmailingliste-request@example.com xyz00-testmailingliste-request&lt;br /&gt;
testmailingliste-repost@example.com xyz00-testmailingliste-repost&lt;br /&gt;
testmailingliste-admins@example.com xyz00-testmailingliste-admins&lt;br /&gt;
testmailingliste-moderators@example.com xyz00-testmailingliste-moderators&lt;br /&gt;
testmailingliste-bounce@example.com xyz00-testmailingliste-bounce&lt;br /&gt;
&lt;br /&gt;
Jetzt gibt es eine offene Liste mit der Adresse testmailingliste@example.com, an der man sich mit einer E-Mail an testmailingliste-request@example.com mit dem Inhalt subscribe anmelden kann.&lt;br /&gt;
Konfigurieren einer Mailingliste&lt;br /&gt;
&lt;br /&gt;
Jeder Listenmanager besitzt ein Unterverzeichnis /lists, in welchem die zugehörigen Listen verwaltet werden. Jeder Mailingliste wird ein Verzeichnis unterhalb dieses Verzeichnisses zugeordnet. Es hat den Namen der Mailingliste. Die Konfigurationsdatei für die einzelnen Listen heißt config und ist dort abgelegt. Eine detaillierte Beschreibung der einzelnen Optionen gibt es unter: ecartis.org/variables.html.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Konfiguration ===&lt;br /&gt;
Hier nur die wichtigsten Einstellungen, die man konfigurieren sollte:&lt;br /&gt;
&lt;br /&gt;
* list-owner = der Eigentümer der Liste&lt;br /&gt;
* subject-tag = eine Zeichenfolge die im Betreff vorangestellt wird (wie [global] bei unserer global(at)hostsharing.net Mailingliste)&lt;br /&gt;
* description = eine Beschreibung der Liste&lt;br /&gt;
* reply-to = Adresse der Liste (in unserem Beispiel: testmailingliste@example.com)&lt;br /&gt;
* administrivia-address = in unserem Beispiel testmailingliste-admins@example.com&lt;br /&gt;
* humanize-mime = false&lt;br /&gt;
* humanize-quotedprintable = true&lt;br /&gt;
 Sorgen gemeinsam für eine ordentliche Handhabung von Umlauten, sie werden verstanden und es werden passende Header generiert.&lt;br /&gt;
&lt;br /&gt;
* mbox-archive-path = wenn man möchte, kann man alle Mails, die über die Liste verschickt werden, archivieren&lt;br /&gt;
* subscribe-mode = hier gibt es 3 mögliche Einstellungen:&lt;br /&gt;
1. open&lt;br /&gt;
Der Benutzer meldet sich per subscribe an und wird direkt in die Liste eingetragen&lt;br /&gt;
2. confirm&lt;br /&gt;
Der Benutzer muss die Anmeldung anhand einer zugeschickten Mail bestätigen&lt;br /&gt;
3. closed&lt;br /&gt;
Die Anmeldung muss vom Listenadmin erlaubt werden&lt;br /&gt;
&lt;br /&gt;
* unsubscribe-mode = hier gibt es 3 mögliche Einstellungen:&lt;br /&gt;
1. open&lt;br /&gt;
Der Benutzer meldet sich per unsubscribe ab und wird direkt aus der Liste ausgetragen&lt;br /&gt;
2. confirm&lt;br /&gt;
Der Benutzer muss die Abmeldung anhand einer zugeschickten Mail bestätigen&lt;br /&gt;
3. closed&lt;br /&gt;
Die Abmeldung muss vom Listenadmin erlaubt werden&lt;br /&gt;
&lt;br /&gt;
=== Unterschiedliche Mailinglistentypen ===&lt;br /&gt;
&lt;br /&gt;
==== offene Liste ====&lt;br /&gt;
&lt;br /&gt;
Offene Liste bedeutet, dass jeder an die Liste schreiben kann, die dann an alle eingetragenen E-Mail-Adressen verteilt wird (Beispiel: global(at)hostsharing.net).&lt;br /&gt;
Dies ist der Standard bei der Einrichtung einer Liste und benötigt keine besonderen Einstellungen&lt;br /&gt;
&lt;br /&gt;
==== geschlossene Liste ====&lt;br /&gt;
&lt;br /&gt;
bedeutet, dass nur E-Mails von den Eingetragenen verteilt werden. Diese Listenart wird auch als member-only bezeichnet (Beispiel: members(at)hostsharing.net).&lt;br /&gt;
&lt;br /&gt;
Hierfür müssen folgende Optionen gesetzt werden:&lt;br /&gt;
&lt;br /&gt;
 closed-post = true&lt;br /&gt;
&lt;br /&gt;
Sinnvoll ist außerdem confirm oder closed bei subscribe-mode und unsubscribe-mode einzutragen.&lt;br /&gt;
&lt;br /&gt;
==== moderierte Liste ====&lt;br /&gt;
&lt;br /&gt;
bedeutet, dass E-Mails von jemandem authorisiert werden müssen, bevor sie verteilt werden. Wird in den meisten Fällen für Newsletter o.ä. verwendet, wo man als Betreiber den Eingetragenen E-Mails schicken will, aber eine Kommunikation der Eingetragenen untereinander nicht gewollt ist (Beispiel: global-announce(at)hostsharing.net).&lt;br /&gt;
&lt;br /&gt;
Hierfür müssen folgende Optionen gesetzt werden:&lt;br /&gt;
&lt;br /&gt;
* moderated = yes&lt;br /&gt;
* moderate-include-queue = true&lt;br /&gt;
* moderator = testmailingliste-moderators@example.com&lt;br /&gt;
&lt;br /&gt;
Sinnvoll ist außerdem confirm oder closed bei subscribe-mode und unsubscribe-mode einzutragen.&lt;br /&gt;
&lt;br /&gt;
=== Autorisierung ===&lt;br /&gt;
Für die Authorisierung gibt es mehrere Möglichkeiten:&lt;br /&gt;
&lt;br /&gt;
==== admin-approvepost = true ====&lt;br /&gt;
&lt;br /&gt;
Damit werden alle E-Mails der Listenadministratoren direkt verschickt. Es wird nur überprüft, ob die Absender-E-Mail-Adresse übereinstimmt, da diese aber sehr leicht gefälscht werden kann, ist es nur ein sehr schwacher Schutz.&lt;br /&gt;
&lt;br /&gt;
==== post-password = geheimesPasswort ====&lt;br /&gt;
&lt;br /&gt;
Das setzt das Passwort für diese Liste auf geheimesPasswort und nur E-Mails mit der folgenden Zeile im Header der E-Mail werden verteilt: X-posting-pass: geheimesPasswort&lt;br /&gt;
&lt;br /&gt;
Wenn man keine der beiden Optionen benutzt, dann wird die E-Mail zuerst an den Administrator der Liste geschickt, der sie bestätigen muss.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
[[Kategorie:HSDoku]]&lt;br /&gt;
[[Kategorie:Installationsanleitungen]]&lt;br /&gt;
[[Kategorie:Software]]&lt;/div&gt;</summary>
		<author><name>Peh00-phor</name></author>
	</entry>
	<entry>
		<id>https://wiki.hostsharing.net/index.php?title=Ecartis_Installieren&amp;diff=2279</id>
		<title>Ecartis Installieren</title>
		<link rel="alternate" type="text/html" href="https://wiki.hostsharing.net/index.php?title=Ecartis_Installieren&amp;diff=2279"/>
		<updated>2010-03-02T11:56:40Z</updated>

		<summary type="html">&lt;p&gt;Peh00-phor: /* Mailinglisten mit ecartis */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Mailinglisten mit ecartis ==&lt;br /&gt;
&lt;br /&gt;
{{Baustelle}}&lt;br /&gt;
&lt;br /&gt;
[http://www.ecartis.org/ Ecartis] ist ein Programm, mit dem Bei Hostsharing E-Mail Verteiler realisiert werden können.&lt;br /&gt;
&lt;br /&gt;
Vergleichen Sie dazu auch den Wikipedia-Artikel:&lt;br /&gt;
[http://de.wikipedia.org/wiki/Mailingliste Mailingliste]&lt;br /&gt;
&lt;br /&gt;
Alternative: [[Mailman]]&lt;br /&gt;
&lt;br /&gt;
Diese Anleitung beschreibt die Installation von Ecartis in einem Hostsharing DW-Paket für eine Domain.&lt;br /&gt;
&lt;br /&gt;
== ecartis ==&lt;br /&gt;
&lt;br /&gt;
=== Einrichten  ===&lt;br /&gt;
&lt;br /&gt;
Initial muss dafür das Skript  add-mailinglist aufgerufen werden, welches im Paketverzeichnis ein neues Verzeichnis mailinglist erstellt, in dem sich dann alle Dateien für die Mailinglisten befinden.&lt;br /&gt;
&lt;br /&gt;
(ACHTUNG script geht aktuell noch nicht wieder - Umstellung auf hsadmin erforderlich)&lt;br /&gt;
&lt;br /&gt;
Aufruf:&lt;br /&gt;
&lt;br /&gt;
 add-mailinglist&lt;br /&gt;
&lt;br /&gt;
Damit ist der Listenmanager zentral für das Paket vorbereitet, d.h. benötigte Dateien wurden in das Verzeichnis ~/mailinglist kopiert. Außerdem wurden [[Aliases]] zur Ansteuerung des Listenmanagers angelegt.&lt;br /&gt;
&lt;br /&gt;
Wenn man für verschiedene seiner Domains eigenständige Mailinglistensysteme betreiben will, so kann man dieses Verzeichnis als Vorlage verwenden und beliebig kopieren. Dann sind natürlich die Aliase zur Steuerung des Listenmanagers per E-Mail ebenfalls zu kopieren und entsprechend anzupassen.&lt;br /&gt;
&lt;br /&gt;
Im Verzeichnis des Listenmanagers befindet sich eine Konfigurationsdatei ecartis.cfg, welche den Listenmanager steuert.&lt;br /&gt;
&lt;br /&gt;
=== Konfiguration  ===&lt;br /&gt;
&lt;br /&gt;
==== ecartis.cfg ====&lt;br /&gt;
&lt;br /&gt;
Für jeden Listenmanager müssen nun in ecartis.cfg die Zeilen ecartis-address, ecartis-admin und ecartis-root konfiguriert werden. ecartis-root muss nur dann angepasst werden, wenn man ein anderes Verzeichnis als ~/mailinglist verwendet, weil man beispielsweise mehrere Listenmanager betreibt. Eine detailierte Beschreibung der einzelnen Optionen gibt es unter: ecartis.org/variables.html.&lt;br /&gt;
&lt;br /&gt;
Man konfiguriert jetzt die Einträge in ecartis.cfg.&lt;br /&gt;
&lt;br /&gt;
Beispiel:&lt;br /&gt;
&lt;br /&gt;
 ecartis-address = ecartis@example.com&lt;br /&gt;
 ecartis-admin = postmaster@example.com&lt;br /&gt;
 ecartis-root = /home/pacs/xyz00/mailinglist&lt;br /&gt;
&lt;br /&gt;
==== E-Mail Adresse ====&lt;br /&gt;
&lt;br /&gt;
Entsprechend des Eintrages ecartis-address fügt man [[E-Mail-Adressen]] der Domain example.com folgendes ein:&lt;br /&gt;
&lt;br /&gt;
 ecartis@example.com xyz00-ecartis&lt;br /&gt;
&lt;br /&gt;
==== mehrere  Listenmanager ====&lt;br /&gt;
&lt;br /&gt;
Verwendet man mehrere Listenmanager, so muss man jedem Listenmanager einen eigenen E-Mail-Alias geben. Dazu müssen diese dann auch in der [[aliases]] eingetragen werden. Als Vorlage dienen hierfür die automatisch eingetragenen Aliase, welche auf den Listenmanager in ~/mailinglist verweisen.&lt;br /&gt;
&lt;br /&gt;
===  Test ===&lt;br /&gt;
Damit ist das Mailinglistensystem erreichbar und eine E-Mail an ecartis@example.com mit dem Inhalt help schickt uns die Datei ecartis.hlp zurück, die man später natürlich an seine Bedürfnisse anpassen kann.&lt;br /&gt;
Einrichten einer Mailingliste&lt;br /&gt;
&lt;br /&gt;
== Mailinglisten ==&lt;br /&gt;
&lt;br /&gt;
=== Einrichten ===&lt;br /&gt;
&lt;br /&gt;
Man fügt nun den einzelnen Listenmanagern Listen hinzu. Dazu wechselt man in das Verzeichnis des jeweiligen Listenmanagers.&lt;br /&gt;
&lt;br /&gt;
Aufruf:&lt;br /&gt;
&lt;br /&gt;
 ./ecartis -newlist NAMEDERLISTE&lt;br /&gt;
&lt;br /&gt;
Dann wird man nach dem Administrator der einzurichtenden Liste gefragt und nach der Eingabe der E-Mail-Adresse erhält man eine Liste von aliasen, die man mit [[aliases]] mit vorangestelltem Paketlogin einträgt. Das Voranstellen von bspw. xyz00- ist notwendig, weil man nur diese Aliases ändern darf.&lt;br /&gt;
&lt;br /&gt;
Beispiel:&lt;br /&gt;
&lt;br /&gt;
Folgendes gibt uns der Befehl zurück:&lt;br /&gt;
&lt;br /&gt;
 Aliases for &#039;testmailingliste&#039; mailing list.&lt;br /&gt;
 testmailingliste: &amp;quot;|/home/pacs/xyz00/mailinglist/ecartis -s testmailingliste&amp;quot;&lt;br /&gt;
 testmailingliste-request: &amp;quot;|/home/pacs/xyz00/mailinglist/ecartis -r testmailingliste&amp;quot;&lt;br /&gt;
 testmailingliste-repost: &amp;quot;|/home/pacs/xyz00/mailinglist/ecartis -a testmailingliste&amp;quot;&lt;br /&gt;
 testmailingliste-admins: &amp;quot;|/home/pacs/xyz00/mailinglist/ecartis -admins testmailingliste&amp;quot;&lt;br /&gt;
 testmailingliste-moderators: &amp;quot;|/home/pacs/xyz00/mailinglist/ecartis -moderators testmailingliste&amp;quot;&lt;br /&gt;
 testmailingliste-bounce: &amp;quot;|/home/pacs/xyz00/mailinglist/ecartis -bounce testmailingliste&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==== aliases ====&lt;br /&gt;
&lt;br /&gt;
Folgende Einträge nun mit hsadmin&lt;br /&gt;
[[Aliases]] bzw direkt im [[WebFrontend]]&lt;br /&gt;
anlegen:&lt;br /&gt;
&lt;br /&gt;
 # Aliases for &#039;testmailingliste&#039; mailing list.&lt;br /&gt;
 xyz00-testmailingliste: &amp;quot;|/home/pacs/xyz00/mailinglist/ecartis -s testmailingliste&amp;quot;&lt;br /&gt;
 xyz00-testmailingliste-request: &amp;quot;|/home/pacs/xyz00/mailinglist/ecartis -r testmailingliste&amp;quot;&lt;br /&gt;
 xyz00-testmailingliste-repost: &amp;quot;|/home/pacs/xyz00/mailinglist/ecartis -a testmailingliste&amp;quot;&lt;br /&gt;
 xyz00-testmailingliste-admins: &amp;quot;|/home/pacs/xyz00/mailinglist/ecartis -admins testmailingliste&amp;quot;&lt;br /&gt;
 xyz00-testmailingliste-moderators: &amp;quot;|/home/pacs/xyz00/mailinglist/ecartis -moderators testmailingliste&amp;quot;&lt;br /&gt;
 xyz00-testmailingliste-bounce: &amp;quot;|/home/pacs/xyz00/mailinglist/ecartis -bounce testmailingliste&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==== E-Mail Adressen ====&lt;br /&gt;
&lt;br /&gt;
Bis jetzt haben wir noch nirgendwo festgelegt, unter welcher Domain die Mailingliste läuft. Dafür editieren wir die [[E-Mail-Adressen]] der Domain (Bsp: für die Domain example.com:)&lt;br /&gt;
&lt;br /&gt;
testmailingliste@example.com xyz00-testmailingliste&lt;br /&gt;
testmailingliste-request@example.com xyz00-testmailingliste-request&lt;br /&gt;
testmailingliste-repost@example.com xyz00-testmailingliste-repost&lt;br /&gt;
testmailingliste-admins@example.com xyz00-testmailingliste-admins&lt;br /&gt;
testmailingliste-moderators@example.com xyz00-testmailingliste-moderators&lt;br /&gt;
testmailingliste-bounce@example.com xyz00-testmailingliste-bounce&lt;br /&gt;
&lt;br /&gt;
Jetzt gibt es eine offene Liste mit der Adresse testmailingliste@example.com, an der man sich mit einer E-Mail an testmailingliste-request@example.com mit dem Inhalt subscribe anmelden kann.&lt;br /&gt;
Konfigurieren einer Mailingliste&lt;br /&gt;
&lt;br /&gt;
Jeder Listenmanager besitzt ein Unterverzeichnis /lists, in welchem die zugehörigen Listen verwaltet werden. Jeder Mailingliste wird ein Verzeichnis unterhalb dieses Verzeichnisses zugeordnet. Es hat den Namen der Mailingliste. Die Konfigurationsdatei für die einzelnen Listen heißt config und ist dort abgelegt. Eine detaillierte Beschreibung der einzelnen Optionen gibt es unter: ecartis.org/variables.html.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Konfiguration ===&lt;br /&gt;
Hier nur die wichtigsten Einstellungen, die man konfigurieren sollte:&lt;br /&gt;
&lt;br /&gt;
* list-owner = der Eigentümer der Liste&lt;br /&gt;
* subject-tag = eine Zeichenfolge die im Betreff vorangestellt wird (wie [global] bei unserer global(at)hostsharing.net Mailingliste)&lt;br /&gt;
* description = eine Beschreibung der Liste&lt;br /&gt;
* reply-to = Adresse der Liste (in unserem Beispiel: testmailingliste@example.com)&lt;br /&gt;
* administrivia-address = in unserem Beispiel testmailingliste-admins@example.com&lt;br /&gt;
* humanize-mime = false&lt;br /&gt;
* humanize-quotedprintable = true&lt;br /&gt;
 Sorgen gemeinsam für eine ordentliche Handhabung von Umlauten, sie werden verstanden und es werden passende Header generiert.&lt;br /&gt;
&lt;br /&gt;
* mbox-archive-path = wenn man möchte, kann man alle Mails, die über die Liste verschickt werden, archivieren&lt;br /&gt;
* subscribe-mode = hier gibt es 3 mögliche Einstellungen:&lt;br /&gt;
1. open&lt;br /&gt;
Der Benutzer meldet sich per subscribe an und wird direkt in die Liste eingetragen&lt;br /&gt;
2. confirm&lt;br /&gt;
Der Benutzer muss die Anmeldung anhand einer zugeschickten Mail bestätigen&lt;br /&gt;
3. closed&lt;br /&gt;
Die Anmeldung muss vom Listenadmin erlaubt werden&lt;br /&gt;
&lt;br /&gt;
* unsubscribe-mode = hier gibt es 3 mögliche Einstellungen:&lt;br /&gt;
1. open&lt;br /&gt;
Der Benutzer meldet sich per unsubscribe ab und wird direkt aus der Liste ausgetragen&lt;br /&gt;
2. confirm&lt;br /&gt;
Der Benutzer muss die Abmeldung anhand einer zugeschickten Mail bestätigen&lt;br /&gt;
3. closed&lt;br /&gt;
Die Abmeldung muss vom Listenadmin erlaubt werden&lt;br /&gt;
&lt;br /&gt;
=== Unterschiedliche Mailinglistentypen ===&lt;br /&gt;
&lt;br /&gt;
==== offene Liste ====&lt;br /&gt;
&lt;br /&gt;
Offene Liste bedeutet, dass jeder an die Liste schreiben kann, die dann an alle eingetragenen E-Mail-Adressen verteilt wird (Beispiel: global(at)hostsharing.net).&lt;br /&gt;
Dies ist der Standard bei der Einrichtung einer Liste und benötigt keine besonderen Einstellungen&lt;br /&gt;
&lt;br /&gt;
==== geschlossene Liste ====&lt;br /&gt;
&lt;br /&gt;
bedeutet, dass nur E-Mails von den Eingetragenen verteilt werden. Diese Listenart wird auch als member-only bezeichnet (Beispiel: members(at)hostsharing.net).&lt;br /&gt;
&lt;br /&gt;
Hierfür müssen folgende Optionen gesetzt werden:&lt;br /&gt;
&lt;br /&gt;
 closed-post = true&lt;br /&gt;
&lt;br /&gt;
Sinnvoll ist außerdem confirm oder closed bei subscribe-mode und unsubscribe-mode einzutragen.&lt;br /&gt;
&lt;br /&gt;
==== moderierte Liste ====&lt;br /&gt;
&lt;br /&gt;
bedeutet, dass E-Mails von jemandem authorisiert werden müssen, bevor sie verteilt werden. Wird in den meisten Fällen für Newsletter o.ä. verwendet, wo man als Betreiber den Eingetragenen E-Mails schicken will, aber eine Kommunikation der Eingetragenen untereinander nicht gewollt ist (Beispiel: global-announce(at)hostsharing.net).&lt;br /&gt;
&lt;br /&gt;
Hierfür müssen folgende Optionen gesetzt werden:&lt;br /&gt;
&lt;br /&gt;
* moderated = yes&lt;br /&gt;
* moderate-include-queue = true&lt;br /&gt;
* moderator = testmailingliste-moderators@example.com&lt;br /&gt;
&lt;br /&gt;
Sinnvoll ist außerdem confirm oder closed bei subscribe-mode und unsubscribe-mode einzutragen.&lt;br /&gt;
&lt;br /&gt;
=== Autorisierung ===&lt;br /&gt;
Für die Authorisierung gibt es mehrere Möglichkeiten:&lt;br /&gt;
&lt;br /&gt;
==== admin-approvepost = true ====&lt;br /&gt;
&lt;br /&gt;
Damit werden alle E-Mails der Listenadministratoren direkt verschickt. Es wird nur überprüft, ob die Absender-E-Mail-Adresse übereinstimmt, da diese aber sehr leicht gefälscht werden kann, ist es nur ein sehr schwacher Schutz.&lt;br /&gt;
&lt;br /&gt;
==== post-password = geheimesPasswort ====&lt;br /&gt;
&lt;br /&gt;
Das setzt das Passwort für diese Liste auf geheimesPasswort und nur E-Mails mit der folgenden Zeile im Header der E-Mail werden verteilt: X-posting-pass: geheimesPasswort&lt;br /&gt;
&lt;br /&gt;
Wenn man keine der beiden Optionen benutzt, dann wird die E-Mail zuerst an den Administrator der Liste geschickt, der sie bestätigen muss.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
[[Kategorie:HSDoku]]&lt;br /&gt;
[[Kategorie:Installationsanleitungen]]&lt;br /&gt;
[[Kategorie:Software]]&lt;/div&gt;</summary>
		<author><name>Peh00-phor</name></author>
	</entry>
	<entry>
		<id>https://wiki.hostsharing.net/index.php?title=Hsadmin&amp;diff=2269</id>
		<title>Hsadmin</title>
		<link rel="alternate" type="text/html" href="https://wiki.hostsharing.net/index.php?title=Hsadmin&amp;diff=2269"/>
		<updated>2010-02-24T22:09:49Z</updated>

		<summary type="html">&lt;p&gt;Peh00-phor: /* hsadmin Entwicklung */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{HSDoku-Links}}&lt;br /&gt;
&lt;br /&gt;
[https://admin.hostsharing.net/ hsadmin] ist ein von HS entwickltes Konfigurations-Werkzeug für Internet-Server, das speziell zu der flexiblen Konfiguration der Webspace-Angebote der [http://www.hostsharing.net Hostsharing eG] passt. &lt;br /&gt;
&lt;br /&gt;
== hsadmin ==&lt;br /&gt;
Die Bedienung erfolgt über ein [[WebFrontend]] für die Kunden und Personal, das Kommandozeilen-Frontend [[Hsadmin#Command-Line-Client | hsadmin CLI]] (zum Beispiel für Skripte), oder über eine Programmierschnittstelle (für weitere Frontends). Das Kernsystem wird von der Kundenverwaltung (Kontaktdaten, Rechnungen, gebuchte Pakete und so weiter) über die Paketverwaltung (Unix-Accounts, Datenbanken, Datenbank-User etc.) und der Domainverwaltung (registrieren, aufschalten, E-Mail-Adressen einrichten und so weiter) ein breites Spektrum der Konfiguration ermöglichen. Es wird möglich sein, weitere Module entweder zentral, oder auch für einzelne Reseller hinzuzufügen. Das &amp;quot;Look-and-Feel&amp;quot; des Web-Fronts wird ebenfalls von Resellern anpassbar sein. &lt;br /&gt;
&lt;br /&gt;
hsadmin ist OpenSource (GPL) und basiert im Wesentlichen auf der Java Enterprise Edition. Es besteht aus einem Web-Client (JSP/JSF) und einem Kommandozeilen-Client (C Programming language) einem Server (EJB3) für die Anwendungslogik und einem Queue-Server für die Systemkommandos (JMS-Client). Die Zugangskontrolle erfolgt orientiert an Rollen und den Datensätzen im Server (an der EJB3-Schnittstelle). Direkte root-Rechte werden nur von dem relativ kleinen Queue-Server benötigt.&lt;br /&gt;
&lt;br /&gt;
== Aktuell freigeschaltete Module ==&lt;br /&gt;
&lt;br /&gt;
Mit hsadmin können derzeit folgende Verwaltungsaufgaben erledigt werden:&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|- class=&amp;quot;hintergrundfarbe5&amp;quot;&lt;br /&gt;
!Modul !!Beschreibung / Anleitung&lt;br /&gt;
|-&lt;br /&gt;
|WebFrontend||Die Funktionen der Kommandozeile nun per Browser [[WebFrontend]]&lt;br /&gt;
|-&lt;br /&gt;
|Benutzerverwaltung||Anleitung für Kommandozeile. Beschreibung steht in [[User]]&lt;br /&gt;
|-&lt;br /&gt;
|E-Mail Adressen||Anleitung für Kommandozeile. Beschreibung steht in [[hsadmin-mail|E-Mail]]&lt;br /&gt;
|-&lt;br /&gt;
|E-Mail Alias||Anleitung für Kommandozeile. Beschreibung steht in [[Aliases]]&lt;br /&gt;
|-&lt;br /&gt;
|Domain Status||Anleitung für Kommandozeile. Beschreibung steht in [[domains|Domain]]&lt;br /&gt;
|-&lt;br /&gt;
|MySQL User||Anleitung für Kommandozeile. Beschreibung steht in [[Datenbanken]]&lt;br /&gt;
|-&lt;br /&gt;
|MySQL Datenbanken||Anleitung für Kommandozeile. Beschreibung steht in [[Datenbanken]]&lt;br /&gt;
|-&lt;br /&gt;
|Postgres User||Anleitung für Kommandozeile. Beschreibung steht in [[Datenbanken]]&lt;br /&gt;
|-&lt;br /&gt;
|Postgres Datenbanken||Anleitung für Kommandozeile. Beschreibung steht in [[Datenbanken]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Passwort und Konfiguration des hsadmin Command-Line-Client ==&lt;br /&gt;
&lt;br /&gt;
Das eigene Passwort muss dabei nur einmalig pro Session eingegeben werden. Ein sogenanntes Ticket-Granting-Ticket (TGT) wird dafür in ~/hsadmin.tgt&lt;br /&gt;
gespeichert. Zudem kann man eine Konfigurations-Datei ~/.hsadmin.conf anlegen,in der i.d.R. folgende Einträge sinnvoll sind:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
userName=xyz00&lt;br /&gt;
passWord=geheim&lt;br /&gt;
passWord.xyz00=geheim&lt;br /&gt;
passWord.hsh00-xyz=geheim&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Der Username wird per Default vom Login-User genommen oder kann mit &#039;&#039;&#039;-u/--user:&#039;&#039;&#039; angegeben werden. Die Reihenfolge ist:&lt;br /&gt;
# Username von der Kommandozeile (-u/--user:),&lt;br /&gt;
# der UserName aus dem Eintrag userName=... in der .hsadmin.conf,&lt;br /&gt;
# der Login-Username.&lt;br /&gt;
&lt;br /&gt;
Das Passwort wird nur benötigt, falls es für den jeweiligen USer kein gültiges TGT mehr in der .hsadmin.tgt mehr gibt. &lt;br /&gt;
Es wird zunächst in der .hsadmin.conf aus dem konkreten Eintrag (passWord.xyz=...), dann aus dem allgemeinen (passWord=...) genommen, &lt;br /&gt;
falls es nicht gefunden wird, wird es erfragt. Bevor Scripte ausgeführt werden, oder die Ein- oder Ausgabe von hsadmin umleitet werden,&lt;br /&gt;
sollte also immer für ein gültiges TGT gesorgt werden, z.B. durch Aufruf einer Dummy.Funktion wie:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    hsadmin -c modules.version&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Man kann sich das Programm hsadmin auch lokal installieren. Dazu gehört ein Shell-Startscript und ein jar-File. Es wird Java6 benötigt. Dies sind die benötigten Datein, sie können von einem HS-Server kopiert werden:&lt;br /&gt;
&lt;br /&gt;
:&#039;&#039;&#039;/usr/local/bin/hsadmin&#039;&#039;&#039;&lt;br /&gt;
:&#039;&#039;&#039;/usr/local/lib/hostsharing/hsadmin/HSadminCLI.jar&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Das Startscript steht derzeit leider nur für UNIX-ähnliche Systeme als bash-Script zur Verfügung. Eine Windows-Version sollte sich aber leicht erstellen lassen.&lt;br /&gt;
&lt;br /&gt;
Eine Anmerkung noch: hsadmin läuft derzeit noch mangels besserer Alternativen auf einem sehr leistungsschwachen Server. Wir bitten daher&lt;br /&gt;
von großen Experimenten abzusehen und nur wirkliche Aufgaben über die neuen Schnittstelle auszuführen.&lt;br /&gt;
&lt;br /&gt;
== Verwendung des hsadmin Command-Line-Client ==&lt;br /&gt;
die Optionen des Kommandozeilen-Frontend (CLI) für die Arbeit auf der [[Shell]] erscheinen dem einen oder anderen evtl. etwas umständlich. Das hat folgende Bewandnis:&lt;br /&gt;
&lt;br /&gt;
Eine Anforderung war, dass das hsadmin CLI auch lokal installieren werden kann und es dennoch neue Module bedienen kann. D.h. das CLI hat inhaltlich kaum Informationen und leitet alles nach &amp;quot;Schema-F&amp;quot; an den Server weiter und gibt einfach dessen Ausgabe wieder aus - ohne diese großartig zu interpretieren.&lt;br /&gt;
&lt;br /&gt;
Der Grundaufbau für den Aufruf von der [[Shell]] aus ist:&lt;br /&gt;
&lt;br /&gt;
:&#039;&#039;&#039;hsadmin LOKALE-OPTIONEN GLOBAL-REMOTE-OPTIONEN MODUL.FUNKTION REMOTE-OPTIONEN OIDS ...&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Die lokalen (vom hsadmin CLI selbst interpretierten) Optionen sind:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|- class=&amp;quot;hintergrundfarbe5&amp;quot;&lt;br /&gt;
! Option !! Bedeutung lokale Option&lt;br /&gt;
|-&lt;br /&gt;
| -u /--user ||für den UNIX-Usernamen, unter dem das Programm arbeiten soll&lt;br /&gt;
|-&lt;br /&gt;
| -v /--version|| gibt die Versionsnummer des hsadmin CLI aus&lt;br /&gt;
|- &lt;br /&gt;
| -V /--verbosity || gibt den Gesprächtigkeits-Level 0-2 an (zum Debuggen)&lt;br /&gt;
|-&lt;br /&gt;
| - || liest weitere Remote-Parameter von stdin ein&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Für die globalen Optionen siehe weiter unten.&lt;br /&gt;
&lt;br /&gt;
Der eigentliche Funktionsaufruf wird mit -c /--call: eingeleitet. Dann folgt ein Modulname und ein Funktionsname, z.B. &amp;quot;user.search&amp;quot;. Derzeit sind die folgenden Module freigegeben:&lt;br /&gt;
&lt;br /&gt;
:q - für die Auftrags-Queue in den Hives&lt;br /&gt;
:user - für die UNIX-User inkl. Mailboxen&lt;br /&gt;
&lt;br /&gt;
{{Textkasten|rot|Anmerkung:|Da die anderen Module teilweise schon im Live-Test sind, gibt es sie schon. Wer sie aber verwendet, wird ggf. mit unwiderruflichem Datenverlust bestraft  ;-) }}&lt;br /&gt;
&lt;br /&gt;
Dann folgen die Parameter für diesen Funktionsaufruf. Hier gibt es folgende Gruppen:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|- class=&amp;quot;hintergrundfarbe5&amp;quot;&lt;br /&gt;
! Parameter !! Bedeutung für den Aufruf der Funktion&lt;br /&gt;
|-&lt;br /&gt;
| -w /--where:feld=wert || Abfrage nach einem bestimmten Wert eines bestimmten Feldes.&lt;br /&gt;
|-&lt;br /&gt;
| -s /--set || Setzen des Wertes eines bestimmten Feldes (wird ggf. ignoriert, z.b. bei *.search).&lt;br /&gt;
|- &lt;br /&gt;
| -d /--display:format || Spezifiziert das Ausgabeformat. (Hat bei Funktionen ohne Daten-Ausgabe keine Wirkung.)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Die OIDS sind direkte Objekt-Identifier wie der Username (xyz00-test), der Paketname (xyz00), die Domain (example.org) oder die E-Mail-Adresse (test@exampl.org). Es können mehrere angegeben werden. Im Prinzip ist das nur eine Kurzform der jeweiligen -w Option, nur dass eben auch mehrere angegeben werden können.&lt;br /&gt;
&lt;br /&gt;
Die globalen Optionen entsprechen den o.g. -w/-s/-d, nur dass sie für alle im selben hsadmin-Aufruf folgenden Funktionen gelten:&lt;br /&gt;
&lt;br /&gt;
:-W /--globalWhere:feld.wert&lt;br /&gt;
:-S /--globalSet:feld.wert&lt;br /&gt;
:-D /--globalDisplay:format&lt;br /&gt;
&lt;br /&gt;
=== Ein paar Fallen ===&lt;br /&gt;
&lt;br /&gt;
* Wenn man zwar Funktionsaufrufe per stdin in das CLI hineingibt,&amp;lt;br/&amp;gt;	aber den &amp;quot;-&amp;quot; vergisst, dann werden diese einfach ignoriert.&amp;lt;br/&amp;gt;stdin wird aber ggf. auch anderweitig gebraucht, weshalb&amp;lt;br/&amp;gt;&amp;quot;-&amp;quot; nicht automatisch angenommen wird.&lt;br /&gt;
&lt;br /&gt;
* Wenn man gleich den ersten Aufruf mit &amp;quot;-&amp;quot; macht, wird dies derzeit noch als Passwort eingelesen, was natürlich dann schon zu einem Login-Fehler führt.&amp;lt;br/&amp;gt;Trick:Entweder das Passwort in der ~/.hsadmin.conf hinterlegen oder zunächst irgendeine andere Funktion aufrufen, die das Passwort abfragt und das TGT speichert.&lt;br /&gt;
&lt;br /&gt;
Die Error-Codes ($? in bash-Scripten) sind derzeit noch recht unspezifisch. Geplant ist eine Unterscheidung zwischen wirklich unbekannten Fehlern (z.B. Fehlern in hsadmin), Remote- Kommunikations-Fehlern (wo man es dann einfach nochmal probieren könnte) und fachlichen Fehlern (bei denen man dann wohl hsadmin falsch bedient hat).&lt;br /&gt;
&lt;br /&gt;
== hsadmin Status von Änderungen ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
hsadmin -c q.search | sort -n -t&#039;|&#039; -k2&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
So werden die letzten Aktion sortiert angezeigt, bitte besonders den &amp;quot;Status&amp;quot; beachten.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Hinweis:&#039;&#039;&#039; Die Spaltenreihenfolge (und damit auch das &amp;quot;-k2&amp;quot;) ist nicht wirklich gesteuert und der default wird sich auch sicherlich nochmal ändern. &lt;br /&gt;
Wer zuverlässige Spalten braucht, sollte das Display-Format angeben!&lt;br /&gt;
&lt;br /&gt;
== hsadmin Entwicklung ==&lt;br /&gt;
&lt;br /&gt;
hsadmin wird ständig weiter entwickelt. Hier finden sich die Details:&lt;br /&gt;
&lt;br /&gt;
http://www.hsadmin.de/&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
[[Kategorie:HSDoku]]&lt;br /&gt;
[[Kategorie:hsadmin]]&lt;br /&gt;
[[Kategorie:Glossar]]&lt;/div&gt;</summary>
		<author><name>Peh00-phor</name></author>
	</entry>
	<entry>
		<id>https://wiki.hostsharing.net/index.php?title=Diskussion:Ecartis_Installieren&amp;diff=2164</id>
		<title>Diskussion:Ecartis Installieren</title>
		<link rel="alternate" type="text/html" href="https://wiki.hostsharing.net/index.php?title=Diskussion:Ecartis_Installieren&amp;diff=2164"/>
		<updated>2010-01-24T13:52:27Z</updated>

		<summary type="html">&lt;p&gt;Peh00-phor: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;1 zu 1 aus der alten Doku übernommen&lt;br /&gt;
&lt;br /&gt;
Nach HSAdmin-Einfühung nicht angepasst!&lt;br /&gt;
&lt;br /&gt;
E-Mail-Adressen und Aliases können nur noch mit HSAdmin angelegt werden!&lt;/div&gt;</summary>
		<author><name>Peh00-phor</name></author>
	</entry>
	<entry>
		<id>https://wiki.hostsharing.net/index.php?title=Ecartis_Installieren&amp;diff=2163</id>
		<title>Ecartis Installieren</title>
		<link rel="alternate" type="text/html" href="https://wiki.hostsharing.net/index.php?title=Ecartis_Installieren&amp;diff=2163"/>
		<updated>2010-01-24T13:51:02Z</updated>

		<summary type="html">&lt;p&gt;Peh00-phor: Baustelle: nicht nach HSAdmin-Einführung angepasst!&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Mailinglisten mit ecartis ==&lt;br /&gt;
&lt;br /&gt;
{{Baustelle}}&lt;br /&gt;
&lt;br /&gt;
Es ist möglich, in seinem Paket Mailinglisten mit dem Listenmanager ecartis zu benutzen.&lt;br /&gt;
Einmalige Einrichtung wahlweise zentral für das Paket bzw. einzelne Domains&lt;br /&gt;
&lt;br /&gt;
== ecartis ==&lt;br /&gt;
&lt;br /&gt;
=== Einrichten  ===&lt;br /&gt;
&lt;br /&gt;
Initial muss dafür das Skript  add-mailinglist aufgerufen werden, welches im Paketverzeichnis ein neues Verzeichnis mailinglist erstellt, in dem sich dann alle Dateien für die Mailinglisten befinden.&lt;br /&gt;
&lt;br /&gt;
Aufruf:&lt;br /&gt;
&lt;br /&gt;
 add-mailinglist&lt;br /&gt;
&lt;br /&gt;
Damit ist der Listenmanager zentral für das Paket vorbereitet, d.h. benötigte Dateien wurden in das Verzeichnis ~/mailinglist kopiert. Außerdem wurden Aliase zur Ansteuerung des Listenmanagers in die ~/etc/aliases eingefügt.&lt;br /&gt;
&lt;br /&gt;
Wenn man für verschiedene seiner Domains eigenständige Mailinglistensysteme betreiben will, so kann man dieses Verzeichnis als Vorlage verwenden und beliebig kopieren. Dann sind natürlich die Aliase zur Steuerung des Listenmanagers per E-Mail ebenfalls zu kopieren und entsprechend anzupassen.&lt;br /&gt;
&lt;br /&gt;
Im Verzeichnis des Listenmanagers befindet sich eine Konfigurationsdatei ecartis.cfg, welche den Listenmanager steuert.&lt;br /&gt;
&lt;br /&gt;
=== Konfiguration  ===&lt;br /&gt;
&lt;br /&gt;
==== ecartis.cfg ====&lt;br /&gt;
&lt;br /&gt;
Für jeden Listenmanager müssen nun in ecartis.cfg die Zeilen ecartis-address, ecartis-admin und ecartis-root konfiguriert werden. ecartis-root muss nur dann angepasst werden, wenn man ein anderes Verzeichnis als ~/mailinglist verwendet, weil man beispielsweise mehrere Listenmanager betreibt. Eine detailierte Beschreibung der einzelnen Optionen gibt es unter: ecartis.org/variables.html.&lt;br /&gt;
&lt;br /&gt;
Man konfiguriert jetzt die Einträge in ecartis.cfg.&lt;br /&gt;
&lt;br /&gt;
Beispiel:&lt;br /&gt;
&lt;br /&gt;
 ecartis-address = ecartis@example.com&lt;br /&gt;
 ecartis-admin = postmaster@example.com&lt;br /&gt;
 ecartis-root = /home/pacs/xyz00/mailinglist&lt;br /&gt;
&lt;br /&gt;
==== virtusertable ====&lt;br /&gt;
&lt;br /&gt;
Entsprechend des Eintrages ecartis-address fügt man in der virtusertable der Domain example.com folgendes ein:&lt;br /&gt;
&lt;br /&gt;
 ecartis@example.com xyz00-ecartis&lt;br /&gt;
&lt;br /&gt;
==== mehrere  Listenmanager ====&lt;br /&gt;
&lt;br /&gt;
Verwendet man mehrere Listenmanager, so muss man jedem Listenmanager einen eigenen E-Mail-Alias geben. Dazu müssen diese dann auch in der ~/etc/aliases eingetragen werden. Als Vorlage dienen hierfür die automatisch eingetragenen Aliase, welche auf den Listenmanager in ~/mailinglist verweisen.&lt;br /&gt;
&lt;br /&gt;
===  Test ===&lt;br /&gt;
Damit ist das Mailinglistensystem erreichbar und eine E-Mail an ecartis@example.com mit dem Inhalt help schickt uns die Datei ecartis.hlp zurück, die man später natürlich an seine Bedürfnisse anpassen kann.&lt;br /&gt;
Einrichten einer Mailingliste&lt;br /&gt;
&lt;br /&gt;
== Mailinglisten ==&lt;br /&gt;
&lt;br /&gt;
=== Einrichten ===&lt;br /&gt;
&lt;br /&gt;
Man fügt nun den einzelnen Listenmanagern Listen hinzu. Dazu wechselt man in das Verzeichnis des jeweiligen Listenmanagers.&lt;br /&gt;
&lt;br /&gt;
Aufruf:&lt;br /&gt;
&lt;br /&gt;
 ./ecartis -newlist NAMEDERLISTE&lt;br /&gt;
&lt;br /&gt;
Dann wird man nach dem Administrator der einzurichtenden Liste gefragt und nach der Eingabe der E-Mail-Adresse erhält man eine Liste von aliasen, die man in seine ~/etc/aliases mit vorangestelltem Paketlogin einträgt. Das Voranstellen von bspw. xyz00- ist notwendig, weil man nur diese Aliases ändern darf.&lt;br /&gt;
&lt;br /&gt;
Beispiel:&lt;br /&gt;
&lt;br /&gt;
Folgendes gibt uns der Befehl zurück:&lt;br /&gt;
&lt;br /&gt;
 Aliases for &#039;testmailingliste&#039; mailing list.&lt;br /&gt;
 testmailingliste: &amp;quot;|/home/pacs/xyz00/mailinglist/ecartis -s testmailingliste&amp;quot;&lt;br /&gt;
 testmailingliste-request: &amp;quot;|/home/pacs/xyz00/mailinglist/ecartis -r testmailingliste&amp;quot;&lt;br /&gt;
 testmailingliste-repost: &amp;quot;|/home/pacs/xyz00/mailinglist/ecartis -a testmailingliste&amp;quot;&lt;br /&gt;
 testmailingliste-admins: &amp;quot;|/home/pacs/xyz00/mailinglist/ecartis -admins testmailingliste&amp;quot;&lt;br /&gt;
 testmailingliste-moderators: &amp;quot;|/home/pacs/xyz00/mailinglist/ecartis -moderators testmailingliste&amp;quot;&lt;br /&gt;
 testmailingliste-bounce: &amp;quot;|/home/pacs/xyz00/mailinglist/ecartis -bounce testmailingliste&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==== ~/etc/aliases ====&lt;br /&gt;
&lt;br /&gt;
Wir tragen jetzt in unsere ~/etc/aliases folgendes ein:&lt;br /&gt;
&lt;br /&gt;
 # Aliases for &#039;testmailingliste&#039; mailing list.&lt;br /&gt;
 xyz00-testmailingliste: &amp;quot;|/home/pacs/xyz00/mailinglist/ecartis -s testmailingliste&amp;quot;&lt;br /&gt;
 xyz00-testmailingliste-request: &amp;quot;|/home/pacs/xyz00/mailinglist/ecartis -r testmailingliste&amp;quot;&lt;br /&gt;
 xyz00-testmailingliste-repost: &amp;quot;|/home/pacs/xyz00/mailinglist/ecartis -a testmailingliste&amp;quot;&lt;br /&gt;
 xyz00-testmailingliste-admins: &amp;quot;|/home/pacs/xyz00/mailinglist/ecartis -admins testmailingliste&amp;quot;&lt;br /&gt;
 xyz00-testmailingliste-moderators: &amp;quot;|/home/pacs/xyz00/mailinglist/ecartis -moderators testmailingliste&amp;quot;&lt;br /&gt;
 xyz00-testmailingliste-bounce: &amp;quot;|/home/pacs/xyz00/mailinglist/ecartis -bounce testmailingliste&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==== example.com/etc/virtusertable ====&lt;br /&gt;
&lt;br /&gt;
Bis jetzt haben wir noch nirgendwo festgelegt, unter welcher Domain die Mailingliste läuft. Dafür editieren wir die virtusertable der Domain (Bsp: example.com/etc/virtusertable für die Domain example.com:&lt;br /&gt;
&lt;br /&gt;
testmailingliste@example.com xyz00-testmailingliste&lt;br /&gt;
testmailingliste-request@example.com xyz00-testmailingliste-request&lt;br /&gt;
testmailingliste-repost@example.com xyz00-testmailingliste-repost&lt;br /&gt;
testmailingliste-admins@example.com xyz00-testmailingliste-admins&lt;br /&gt;
testmailingliste-moderators@example.com xyz00-testmailingliste-moderators&lt;br /&gt;
testmailingliste-bounce@example.com xyz00-testmailingliste-bounce&lt;br /&gt;
&lt;br /&gt;
Jetzt gibt es eine offene Liste mit der Adresse testmailingliste@example.com, an der man sich mit einer E-Mail an testmailingliste-request@example.com mit dem Inhalt subscribe anmelden kann.&lt;br /&gt;
Konfigurieren einer Mailingliste&lt;br /&gt;
&lt;br /&gt;
Jeder Listenmanager besitzt ein Unterverzeichnis /lists, in welchem die zugehörigen Listen verwaltet werden. Jeder Mailingliste wird ein Verzeichnis unterhalb dieses Verzeichnisses zugeordnet. Es hat den Namen der Mailingliste. Die Konfigurationsdatei für die einzelnen Listen heißt config und ist dort abgelegt. Eine detaillierte Beschreibung der einzelnen Optionen gibt es unter: ecartis.org/variables.html.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Konfiguration ===&lt;br /&gt;
Hier nur die wichtigsten Einstellungen, die man konfigurieren sollte:&lt;br /&gt;
&lt;br /&gt;
* list-owner = der Eigentümer der Liste&lt;br /&gt;
* subject-tag = eine Zeichenfolge die im Betreff vorangestellt wird (wie [global] bei unserer global(at)hostsharing.net Mailingliste)&lt;br /&gt;
* description = eine Beschreibung der Liste&lt;br /&gt;
* reply-to = Adresse der Liste (in unserem Beispiel: testmailingliste@example.com)&lt;br /&gt;
* administrivia-address = in unserem Beispiel testmailingliste-admins@example.com&lt;br /&gt;
* humanize-mime = false&lt;br /&gt;
* humanize-quotedprintable = true&lt;br /&gt;
 Sorgen gemeinsam für eine ordentliche Handhabung von Umlauten, sie werden verstanden und es werden passende Header generiert.&lt;br /&gt;
&lt;br /&gt;
* mbox-archive-path = wenn man möchte, kann man alle Mails, die über die Liste verschickt werden, archivieren&lt;br /&gt;
* subscribe-mode = hier gibt es 3 mögliche Einstellungen:&lt;br /&gt;
1. open&lt;br /&gt;
Der Benutzer meldet sich per subscribe an und wird direkt in die Liste eingetragen&lt;br /&gt;
2. confirm&lt;br /&gt;
Der Benutzer muss die Anmeldung anhand einer zugeschickten Mail bestätigen&lt;br /&gt;
3. closed&lt;br /&gt;
Die Anmeldung muss vom Listenadmin erlaubt werden&lt;br /&gt;
&lt;br /&gt;
* unsubscribe-mode = hier gibt es 3 mögliche Einstellungen:&lt;br /&gt;
1. open&lt;br /&gt;
Der Benutzer meldet sich per unsubscribe ab und wird direkt aus der Liste ausgetragen&lt;br /&gt;
2. confirm&lt;br /&gt;
Der Benutzer muss die Abmeldung anhand einer zugeschickten Mail bestätigen&lt;br /&gt;
3. closed&lt;br /&gt;
Die Abmeldung muss vom Listenadmin erlaubt werden&lt;br /&gt;
&lt;br /&gt;
=== Unterschiedliche Mailinglistentypen ===&lt;br /&gt;
&lt;br /&gt;
==== offene Liste ====&lt;br /&gt;
&lt;br /&gt;
Offene Liste bedeutet, dass jeder an die Liste schreiben kann, die dann an alle eingetragenen E-Mail-Adressen verteilt wird (Beispiel: global(at)hostsharing.net).&lt;br /&gt;
Dies ist der Standard bei der Einrichtung einer Liste und benötigt keine besonderen Einstellungen&lt;br /&gt;
&lt;br /&gt;
==== geschlossene Liste ====&lt;br /&gt;
&lt;br /&gt;
bedeutet, dass nur E-Mails von den Eingetragenen verteilt werden. Diese Listenart wird auch als member-only bezeichnet (Beispiel: members(at)hostsharing.net).&lt;br /&gt;
&lt;br /&gt;
Hierfür müssen folgende Optionen gesetzt werden:&lt;br /&gt;
&lt;br /&gt;
 closed-post = true&lt;br /&gt;
&lt;br /&gt;
Sinnvoll ist außerdem confirm oder closed bei subscribe-mode und unsubscribe-mode einzutragen.&lt;br /&gt;
&lt;br /&gt;
==== moderierte Liste ====&lt;br /&gt;
&lt;br /&gt;
bedeutet, dass E-Mails von jemandem authorisiert werden müssen, bevor sie verteilt werden. Wird in den meisten Fällen für Newsletter o.ä. verwendet, wo man als Betreiber den Eingetragenen E-Mails schicken will, aber eine Kommunikation der Eingetragenen untereinander nicht gewollt ist (Beispiel: global-announce(at)hostsharing.net).&lt;br /&gt;
&lt;br /&gt;
Hierfür müssen folgende Optionen gesetzt werden:&lt;br /&gt;
&lt;br /&gt;
* moderated = yes&lt;br /&gt;
* moderate-include-queue = true&lt;br /&gt;
* moderator = testmailingliste-moderators@example.com&lt;br /&gt;
&lt;br /&gt;
Sinnvoll ist außerdem confirm oder closed bei subscribe-mode und unsubscribe-mode einzutragen.&lt;br /&gt;
&lt;br /&gt;
=== Autorisierung ===&lt;br /&gt;
Für die Authorisierung gibt es mehrere Möglichkeiten:&lt;br /&gt;
&lt;br /&gt;
==== admin-approvepost = true ====&lt;br /&gt;
&lt;br /&gt;
Damit werden alle E-Mails der Listenadministratoren direkt verschickt. Es wird nur überprüft, ob die Absender-E-Mail-Adresse übereinstimmt, da diese aber sehr leicht gefälscht werden kann, ist es nur ein sehr schwacher Schutz.&lt;br /&gt;
&lt;br /&gt;
==== post-password = geheimesPasswort ====&lt;br /&gt;
&lt;br /&gt;
Das setzt das Passwort für diese Liste auf geheimesPasswort und nur E-Mails mit der folgenden Zeile im Header der E-Mail werden verteilt: X-posting-pass: geheimesPasswort&lt;br /&gt;
&lt;br /&gt;
Wenn man keine der beiden Optionen benutzt, dann wird die E-Mail zuerst an den Administrator der Liste geschickt, der sie bestätigen muss.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
[[Kategorie:HSDoku]]&lt;br /&gt;
[[Kategorie:Installationsanleitungen]]&lt;br /&gt;
[[Kategorie:Software]]&lt;/div&gt;</summary>
		<author><name>Peh00-phor</name></author>
	</entry>
	<entry>
		<id>https://wiki.hostsharing.net/index.php?title=MySQL&amp;diff=2086</id>
		<title>MySQL</title>
		<link rel="alternate" type="text/html" href="https://wiki.hostsharing.net/index.php?title=MySQL&amp;diff=2086"/>
		<updated>2009-12-22T14:42:48Z</updated>

		<summary type="html">&lt;p&gt;Peh00-phor: /* Rechte vergeben */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Baustelle}}&lt;br /&gt;
&lt;br /&gt;
Datenbanken und Datenbank-User werden ab 20.12.2009 mit mit [[hsadmin]] verwaltet. &lt;br /&gt;
&lt;br /&gt;
== Server ==&lt;br /&gt;
&lt;br /&gt;
Wir haben pro Host einen einzelnen MySQL Datenbankserver. Der Zugriff erfolgt über den Hostnamen &amp;lt;code&amp;gt;localhost&amp;lt;/code&amp;gt; und den Port 3306 (default). Außerdem kann der Server über den Socket &amp;lt;code&amp;gt;/var/run/mysqld/mysqld.sock&amp;lt;/code&amp;gt; erreicht werden.&lt;br /&gt;
&lt;br /&gt;
Die Anzahl der in Hostsharing Dynamic-Web-Paketen verwendbaren MySQL-Datenbanken ist an sich nicht begrenzt. Der damit verbrauchte Speicherplatz geht in aber die Quota des Paketes mit ein, so dass hierüber eine indirekte Begrenzung vorliegt. Alle Datenbanken eines Paketes müssen mit dem Paketnamen und einem Underscore beginnen, also z.B. &amp;lt;code&amp;gt;xyz00_datenbank&amp;lt;/code&amp;gt;.&lt;br /&gt;
== MySQL-User ==&lt;br /&gt;
=== Paketadmin ===&lt;br /&gt;
&lt;br /&gt;
Der Paketadmin hat mit seinem Account sehr weitgehende administrative Rechte und sollte dementsprechend mit Umsicht genutzt werden. Er kann mit seinem Account im Administrationswerkzeug [[hsadmin]] unter anderem:&lt;br /&gt;
&lt;br /&gt;
* Datenbanken anlegen und löschen&lt;br /&gt;
* Datenbank-Benutzer anlegen und löschen&lt;br /&gt;
&lt;br /&gt;
Bevor man in seinem Paket MySQL benutzen kann, muss man als ersten Schritt einen Datenbank-Administrator einrichten. Das ist zwingend notwendig. Es kann ein MySQL-User mit dem Kürzel des Paketadmins (&amp;lt;code&amp;gt;xyz00&amp;lt;/code&amp;gt;) sein. Es können allerdings auch beliebing viele Datenbank-Administratoren nach dem Namensschema &amp;lt;code&amp;gt;xyz00_...&amp;lt;/code&amp;gt; angelegt werden. Wir richten den User mit [[Datenbanken]] ein, weil das am einfachsten ist.&lt;br /&gt;
&lt;br /&gt;
Der Benutzername des Paketadmins für MySQL entspricht dem Benutzernamen des Paketadmins für den Zugang zum Server. Das ist eine von uns gewählte Konvention, damit Du Dir den Namen für den MySQL-Zugang leichter merken kannst. Grundsätzlich stehen die Benutzernamen für MySQL in keiner Beziehung zu den Benutzernamen für die Server.&lt;br /&gt;
&lt;br /&gt;
=== Weitere Benutzer anlegen ===&lt;br /&gt;
&lt;br /&gt;
Du kannst Dir weitere Benutzer für MySQL anlegen. Wir empfehlen Dir das ausdrücklich, weil es eine gute Idee ist, den mächtigen Zugang des Paketadmins nur für administrative Zwecke zu benutzen. Schließlich will man nicht immer den mächtigen Account des Paketadmins in seinen Skripten verwenden. Für einzelne Aufgaben kannst Du verschiedene Benutzer anlegen, denen Du natürlich auch verschiedene Rechte geben kannst, z.B. nur Rechte an bestimmten Datenbanken oder zur Ausführung bestimmter Kommandos.&lt;br /&gt;
&lt;br /&gt;
Wir legen noch einen User an:&lt;br /&gt;
&lt;br /&gt;
siehe [[Datenbanken]]&lt;br /&gt;
&lt;br /&gt;
=== Der MySQL-Monitor ===&lt;br /&gt;
&lt;br /&gt;
Mit den neu angelegten User-Accounts können wir nun in den MySQL-Monitor wechseln, in dem die MySQL-Befehle eingegeben und verarbeitet werden. Der Monitor wird mit dem Befehl &amp;lt;code&amp;gt;mysql&amp;lt;/code&amp;gt; aufgerufen. Es ist hier übrigens egal, ob wir als Paketadmin oder als Domainadmin eingeloggt sind, denn MySQL-User und UNIX-Accounts haben keinen Zusammenhang. Wir können mit jedem UNIX-Account, also auch als normaler Domainadmin auf jeden Datenbank-Account zugreifen - auch auf den Paketadmin-Account.&lt;br /&gt;
&lt;br /&gt;
Da wir uns mit Benutzernamen und Passwort anmelden müssen, verwenden wir die Optionen -u (und danach den Benutzernamen) und -p. Das Passwort geben wir nicht in dieser Kommandozeile an, denn sonst ist es für andere User sichtbar. Wenn wir nach -p nichts angeben, werden wir von mysql danach gefragt und geben es dann an.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
xyz00@hopi$ mysql -u xyz00 -p&lt;br /&gt;
Enter password: password&lt;br /&gt;
Welcome to the MySQL monitor. Commands end with ; or \g.&lt;br /&gt;
Your MySQL connection id is 1257230 to server version: 3.23.49-log&lt;br /&gt;
Type &#039;help;&#039; or &#039;\h&#039; for help. Type &#039;\c&#039; to clear the buffer.&lt;br /&gt;
mysql&amp;gt;&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nun können wir MySQL-Befehle eingeben. Zu beachten ist, dass man nach einem Kommando mit einem ; abschließen muss. Es gibt einige Ausnahmen, wo man das nicht braucht, z.B. beim Befehl QUIT, mit dem man den Monitor wieder verlässt.&lt;br /&gt;
=== Datenbank anlegen === &lt;br /&gt;
&lt;br /&gt;
geht nun auch mit [[hsadmin]] siehe [[Datenbanken]].&lt;br /&gt;
&lt;br /&gt;
Datenbanknamen in MySQL beginnen bei Hostsharing immer mit dem Namen des Pakets, gefolgt von einem Unterstrich; danach folgt der frei wählbare eigentliche Name.&lt;br /&gt;
&lt;br /&gt;
Beispiele gültiger Datenbanken für ein Paket &amp;lt;code&amp;gt;xyz00&amp;lt;/code&amp;gt;:&lt;br /&gt;
* &amp;lt;code&amp;gt;xyz00_otto&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;xyz00_anna&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;xyz00_db_fuer_hans&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Rechte vergeben ===&lt;br /&gt;
&lt;br /&gt;
Allen Benutzern, außer dem Paketadmin, müssen wir noch Rechte geben, sonst können sie gar nichts machen. Das erledigt man mit dem Befehl &amp;lt;code&amp;gt;GRANT&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
mysql&amp;gt;GRANT SELECT, INSERT, DELETE, UPDATE ON xyz00_meinedatenbank.* TO xyz00_otto;&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Hinter der Datenbank verwenden wir .*, um alle Tabellen der Datenbank zu inkludieren. Man kann auch *.* für alle Tabellen in allen Datenbanken verwenden.&lt;br /&gt;
&lt;br /&gt;
Mit &amp;lt;code&amp;gt;GRANT ALL&amp;lt;/code&amp;gt; kann man einem User auch alle Kommandorechte zuweisen.&lt;br /&gt;
&lt;br /&gt;
Alle Aufgaben können wir jetzt in Zukunft vom User &amp;lt;code&amp;gt;xyz00_otto&amp;lt;/code&amp;gt; erledigen lassen.&lt;br /&gt;
&lt;br /&gt;
== Verschiedenes ==&lt;br /&gt;
&lt;br /&gt;
* Web-Frontend: [http://www.phpmyadmin.net phpMyAdmin] ist unter https://phpmyadmin.hostsharing.net/current erreichbar.&lt;br /&gt;
* Online-Dokumentation: Die Online-Doku zu MySQL gibt es unter http://dev.mysql.com/doc/. Auf dieser Site gibt es auch mehrere Fassungen der kompletten Doku zum Downloaden.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
[[Kategorie:HSDoku]]&lt;br /&gt;
[[Kategorie:Datenbanken]]&lt;br /&gt;
[[Kategorie:Glossar]]&lt;/div&gt;</summary>
		<author><name>Peh00-phor</name></author>
	</entry>
	<entry>
		<id>https://wiki.hostsharing.net/index.php?title=MySQL&amp;diff=2085</id>
		<title>MySQL</title>
		<link rel="alternate" type="text/html" href="https://wiki.hostsharing.net/index.php?title=MySQL&amp;diff=2085"/>
		<updated>2009-12-22T14:42:04Z</updated>

		<summary type="html">&lt;p&gt;Peh00-phor: /* Datenbank anlegen */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Baustelle}}&lt;br /&gt;
&lt;br /&gt;
Datenbanken und Datenbank-User werden ab 20.12.2009 mit mit [[hsadmin]] verwaltet. &lt;br /&gt;
&lt;br /&gt;
== Server ==&lt;br /&gt;
&lt;br /&gt;
Wir haben pro Host einen einzelnen MySQL Datenbankserver. Der Zugriff erfolgt über den Hostnamen &amp;lt;code&amp;gt;localhost&amp;lt;/code&amp;gt; und den Port 3306 (default). Außerdem kann der Server über den Socket &amp;lt;code&amp;gt;/var/run/mysqld/mysqld.sock&amp;lt;/code&amp;gt; erreicht werden.&lt;br /&gt;
&lt;br /&gt;
Die Anzahl der in Hostsharing Dynamic-Web-Paketen verwendbaren MySQL-Datenbanken ist an sich nicht begrenzt. Der damit verbrauchte Speicherplatz geht in aber die Quota des Paketes mit ein, so dass hierüber eine indirekte Begrenzung vorliegt. Alle Datenbanken eines Paketes müssen mit dem Paketnamen und einem Underscore beginnen, also z.B. &amp;lt;code&amp;gt;xyz00_datenbank&amp;lt;/code&amp;gt;.&lt;br /&gt;
== MySQL-User ==&lt;br /&gt;
=== Paketadmin ===&lt;br /&gt;
&lt;br /&gt;
Der Paketadmin hat mit seinem Account sehr weitgehende administrative Rechte und sollte dementsprechend mit Umsicht genutzt werden. Er kann mit seinem Account im Administrationswerkzeug [[hsadmin]] unter anderem:&lt;br /&gt;
&lt;br /&gt;
* Datenbanken anlegen und löschen&lt;br /&gt;
* Datenbank-Benutzer anlegen und löschen&lt;br /&gt;
&lt;br /&gt;
Bevor man in seinem Paket MySQL benutzen kann, muss man als ersten Schritt einen Datenbank-Administrator einrichten. Das ist zwingend notwendig. Es kann ein MySQL-User mit dem Kürzel des Paketadmins (&amp;lt;code&amp;gt;xyz00&amp;lt;/code&amp;gt;) sein. Es können allerdings auch beliebing viele Datenbank-Administratoren nach dem Namensschema &amp;lt;code&amp;gt;xyz00_...&amp;lt;/code&amp;gt; angelegt werden. Wir richten den User mit [[Datenbanken]] ein, weil das am einfachsten ist.&lt;br /&gt;
&lt;br /&gt;
Der Benutzername des Paketadmins für MySQL entspricht dem Benutzernamen des Paketadmins für den Zugang zum Server. Das ist eine von uns gewählte Konvention, damit Du Dir den Namen für den MySQL-Zugang leichter merken kannst. Grundsätzlich stehen die Benutzernamen für MySQL in keiner Beziehung zu den Benutzernamen für die Server.&lt;br /&gt;
&lt;br /&gt;
=== Weitere Benutzer anlegen ===&lt;br /&gt;
&lt;br /&gt;
Du kannst Dir weitere Benutzer für MySQL anlegen. Wir empfehlen Dir das ausdrücklich, weil es eine gute Idee ist, den mächtigen Zugang des Paketadmins nur für administrative Zwecke zu benutzen. Schließlich will man nicht immer den mächtigen Account des Paketadmins in seinen Skripten verwenden. Für einzelne Aufgaben kannst Du verschiedene Benutzer anlegen, denen Du natürlich auch verschiedene Rechte geben kannst, z.B. nur Rechte an bestimmten Datenbanken oder zur Ausführung bestimmter Kommandos.&lt;br /&gt;
&lt;br /&gt;
Wir legen noch einen User an:&lt;br /&gt;
&lt;br /&gt;
siehe [[Datenbanken]]&lt;br /&gt;
&lt;br /&gt;
=== Der MySQL-Monitor ===&lt;br /&gt;
&lt;br /&gt;
Mit den neu angelegten User-Accounts können wir nun in den MySQL-Monitor wechseln, in dem die MySQL-Befehle eingegeben und verarbeitet werden. Der Monitor wird mit dem Befehl &amp;lt;code&amp;gt;mysql&amp;lt;/code&amp;gt; aufgerufen. Es ist hier übrigens egal, ob wir als Paketadmin oder als Domainadmin eingeloggt sind, denn MySQL-User und UNIX-Accounts haben keinen Zusammenhang. Wir können mit jedem UNIX-Account, also auch als normaler Domainadmin auf jeden Datenbank-Account zugreifen - auch auf den Paketadmin-Account.&lt;br /&gt;
&lt;br /&gt;
Da wir uns mit Benutzernamen und Passwort anmelden müssen, verwenden wir die Optionen -u (und danach den Benutzernamen) und -p. Das Passwort geben wir nicht in dieser Kommandozeile an, denn sonst ist es für andere User sichtbar. Wenn wir nach -p nichts angeben, werden wir von mysql danach gefragt und geben es dann an.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
xyz00@hopi$ mysql -u xyz00 -p&lt;br /&gt;
Enter password: password&lt;br /&gt;
Welcome to the MySQL monitor. Commands end with ; or \g.&lt;br /&gt;
Your MySQL connection id is 1257230 to server version: 3.23.49-log&lt;br /&gt;
Type &#039;help;&#039; or &#039;\h&#039; for help. Type &#039;\c&#039; to clear the buffer.&lt;br /&gt;
mysql&amp;gt;&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nun können wir MySQL-Befehle eingeben. Zu beachten ist, dass man nach einem Kommando mit einem ; abschließen muss. Es gibt einige Ausnahmen, wo man das nicht braucht, z.B. beim Befehl QUIT, mit dem man den Monitor wieder verlässt.&lt;br /&gt;
=== Datenbank anlegen === &lt;br /&gt;
&lt;br /&gt;
geht nun auch mit [[hsadmin]] siehe [[Datenbanken]].&lt;br /&gt;
&lt;br /&gt;
Datenbanknamen in MySQL beginnen bei Hostsharing immer mit dem Namen des Pakets, gefolgt von einem Unterstrich; danach folgt der frei wählbare eigentliche Name.&lt;br /&gt;
&lt;br /&gt;
Beispiele gültiger Datenbanken für ein Paket &amp;lt;code&amp;gt;xyz00&amp;lt;/code&amp;gt;:&lt;br /&gt;
* &amp;lt;code&amp;gt;xyz00_otto&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;xyz00_anna&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;xyz00_db_fuer_hans&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Rechte vergeben ===&lt;br /&gt;
&lt;br /&gt;
Allen Benutzern, außer dem Paketadmin, müssen wir noch Rechte geben, sonst können sie gar nichts machen. Das erledigt man mit dem Befehl &amp;lt;code&amp;gt;GRANT&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
mysql&amp;gt;GRANT SELECT, INSERT, DELETE, UPDATE ON xyz00_meinedatenbank.* TO xyz00_otto;&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Hinter der Datenbank verwenden wir .*, um alle Tabellen der Datenbank zu inkludieren. Man kann auch *.* für alle Tabellen in allen Datenbanken verwenden.&lt;br /&gt;
&lt;br /&gt;
Mit &amp;lt;code&amp;gt;GRANT ALL&amp;lt;/code&amp;gt; kann man einem User auch alle Kommandorechte zuweisen.&lt;br /&gt;
&lt;br /&gt;
ACHTUNG: &amp;lt;code&amp;gt;GRANT&amp;lt;/code&amp;gt; ALL zur Zeit nicht möglich. Man kann aber alle Rechte explizit vergeben:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, REFERENCES, INDEX,&lt;br /&gt;
ALTER ON ... TO ...;&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
Alle Aufgaben können wir jetzt in Zukunft vom User &amp;lt;code&amp;gt;xyz00_otto&amp;lt;/code&amp;gt; erledigen lassen.&lt;br /&gt;
&lt;br /&gt;
== Verschiedenes ==&lt;br /&gt;
&lt;br /&gt;
* Web-Frontend: [http://www.phpmyadmin.net phpMyAdmin] ist unter https://phpmyadmin.hostsharing.net/current erreichbar.&lt;br /&gt;
* Online-Dokumentation: Die Online-Doku zu MySQL gibt es unter http://dev.mysql.com/doc/. Auf dieser Site gibt es auch mehrere Fassungen der kompletten Doku zum Downloaden.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
[[Kategorie:HSDoku]]&lt;br /&gt;
[[Kategorie:Datenbanken]]&lt;br /&gt;
[[Kategorie:Glossar]]&lt;/div&gt;</summary>
		<author><name>Peh00-phor</name></author>
	</entry>
	<entry>
		<id>https://wiki.hostsharing.net/index.php?title=MySQL&amp;diff=2084</id>
		<title>MySQL</title>
		<link rel="alternate" type="text/html" href="https://wiki.hostsharing.net/index.php?title=MySQL&amp;diff=2084"/>
		<updated>2009-12-22T14:41:09Z</updated>

		<summary type="html">&lt;p&gt;Peh00-phor: /* Passwortänderung */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Baustelle}}&lt;br /&gt;
&lt;br /&gt;
Datenbanken und Datenbank-User werden ab 20.12.2009 mit mit [[hsadmin]] verwaltet. &lt;br /&gt;
&lt;br /&gt;
== Server ==&lt;br /&gt;
&lt;br /&gt;
Wir haben pro Host einen einzelnen MySQL Datenbankserver. Der Zugriff erfolgt über den Hostnamen &amp;lt;code&amp;gt;localhost&amp;lt;/code&amp;gt; und den Port 3306 (default). Außerdem kann der Server über den Socket &amp;lt;code&amp;gt;/var/run/mysqld/mysqld.sock&amp;lt;/code&amp;gt; erreicht werden.&lt;br /&gt;
&lt;br /&gt;
Die Anzahl der in Hostsharing Dynamic-Web-Paketen verwendbaren MySQL-Datenbanken ist an sich nicht begrenzt. Der damit verbrauchte Speicherplatz geht in aber die Quota des Paketes mit ein, so dass hierüber eine indirekte Begrenzung vorliegt. Alle Datenbanken eines Paketes müssen mit dem Paketnamen und einem Underscore beginnen, also z.B. &amp;lt;code&amp;gt;xyz00_datenbank&amp;lt;/code&amp;gt;.&lt;br /&gt;
== MySQL-User ==&lt;br /&gt;
=== Paketadmin ===&lt;br /&gt;
&lt;br /&gt;
Der Paketadmin hat mit seinem Account sehr weitgehende administrative Rechte und sollte dementsprechend mit Umsicht genutzt werden. Er kann mit seinem Account im Administrationswerkzeug [[hsadmin]] unter anderem:&lt;br /&gt;
&lt;br /&gt;
* Datenbanken anlegen und löschen&lt;br /&gt;
* Datenbank-Benutzer anlegen und löschen&lt;br /&gt;
&lt;br /&gt;
Bevor man in seinem Paket MySQL benutzen kann, muss man als ersten Schritt einen Datenbank-Administrator einrichten. Das ist zwingend notwendig. Es kann ein MySQL-User mit dem Kürzel des Paketadmins (&amp;lt;code&amp;gt;xyz00&amp;lt;/code&amp;gt;) sein. Es können allerdings auch beliebing viele Datenbank-Administratoren nach dem Namensschema &amp;lt;code&amp;gt;xyz00_...&amp;lt;/code&amp;gt; angelegt werden. Wir richten den User mit [[Datenbanken]] ein, weil das am einfachsten ist.&lt;br /&gt;
&lt;br /&gt;
Der Benutzername des Paketadmins für MySQL entspricht dem Benutzernamen des Paketadmins für den Zugang zum Server. Das ist eine von uns gewählte Konvention, damit Du Dir den Namen für den MySQL-Zugang leichter merken kannst. Grundsätzlich stehen die Benutzernamen für MySQL in keiner Beziehung zu den Benutzernamen für die Server.&lt;br /&gt;
&lt;br /&gt;
=== Weitere Benutzer anlegen ===&lt;br /&gt;
&lt;br /&gt;
Du kannst Dir weitere Benutzer für MySQL anlegen. Wir empfehlen Dir das ausdrücklich, weil es eine gute Idee ist, den mächtigen Zugang des Paketadmins nur für administrative Zwecke zu benutzen. Schließlich will man nicht immer den mächtigen Account des Paketadmins in seinen Skripten verwenden. Für einzelne Aufgaben kannst Du verschiedene Benutzer anlegen, denen Du natürlich auch verschiedene Rechte geben kannst, z.B. nur Rechte an bestimmten Datenbanken oder zur Ausführung bestimmter Kommandos.&lt;br /&gt;
&lt;br /&gt;
Wir legen noch einen User an:&lt;br /&gt;
&lt;br /&gt;
siehe [[Datenbanken]]&lt;br /&gt;
&lt;br /&gt;
=== Der MySQL-Monitor ===&lt;br /&gt;
&lt;br /&gt;
Mit den neu angelegten User-Accounts können wir nun in den MySQL-Monitor wechseln, in dem die MySQL-Befehle eingegeben und verarbeitet werden. Der Monitor wird mit dem Befehl &amp;lt;code&amp;gt;mysql&amp;lt;/code&amp;gt; aufgerufen. Es ist hier übrigens egal, ob wir als Paketadmin oder als Domainadmin eingeloggt sind, denn MySQL-User und UNIX-Accounts haben keinen Zusammenhang. Wir können mit jedem UNIX-Account, also auch als normaler Domainadmin auf jeden Datenbank-Account zugreifen - auch auf den Paketadmin-Account.&lt;br /&gt;
&lt;br /&gt;
Da wir uns mit Benutzernamen und Passwort anmelden müssen, verwenden wir die Optionen -u (und danach den Benutzernamen) und -p. Das Passwort geben wir nicht in dieser Kommandozeile an, denn sonst ist es für andere User sichtbar. Wenn wir nach -p nichts angeben, werden wir von mysql danach gefragt und geben es dann an.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
xyz00@hopi$ mysql -u xyz00 -p&lt;br /&gt;
Enter password: password&lt;br /&gt;
Welcome to the MySQL monitor. Commands end with ; or \g.&lt;br /&gt;
Your MySQL connection id is 1257230 to server version: 3.23.49-log&lt;br /&gt;
Type &#039;help;&#039; or &#039;\h&#039; for help. Type &#039;\c&#039; to clear the buffer.&lt;br /&gt;
mysql&amp;gt;&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nun können wir MySQL-Befehle eingeben. Zu beachten ist, dass man nach einem Kommando mit einem ; abschließen muss. Es gibt einige Ausnahmen, wo man das nicht braucht, z.B. beim Befehl QUIT, mit dem man den Monitor wieder verlässt.&lt;br /&gt;
=== Datenbank anlegen === &lt;br /&gt;
&lt;br /&gt;
geht nun auch mit [[hsadmin]] siehe [[Datenbanken]] oder auch weiter mit:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
mysql&amp;gt;CREATE DATABASE xyz00_meinedatenbank;&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Datenbanknamen in MySQL beginnen bei Hostsharing immer mit dem Namen des Pakets, gefolgt von einem Unterstrich; danach folgt der frei wählbare eigentliche Name.&lt;br /&gt;
&lt;br /&gt;
Beispiele gültiger Datenbanken für ein Paket &amp;lt;code&amp;gt;xyz00&amp;lt;/code&amp;gt;:&lt;br /&gt;
* &amp;lt;code&amp;gt;xyz00_otto&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;xyz00_anna&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;xyz00_db_fuer_hans&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Rechte vergeben ===&lt;br /&gt;
&lt;br /&gt;
Allen Benutzern, außer dem Paketadmin, müssen wir noch Rechte geben, sonst können sie gar nichts machen. Das erledigt man mit dem Befehl &amp;lt;code&amp;gt;GRANT&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
mysql&amp;gt;GRANT SELECT, INSERT, DELETE, UPDATE ON xyz00_meinedatenbank.* TO xyz00_otto;&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Hinter der Datenbank verwenden wir .*, um alle Tabellen der Datenbank zu inkludieren. Man kann auch *.* für alle Tabellen in allen Datenbanken verwenden.&lt;br /&gt;
&lt;br /&gt;
Mit &amp;lt;code&amp;gt;GRANT ALL&amp;lt;/code&amp;gt; kann man einem User auch alle Kommandorechte zuweisen.&lt;br /&gt;
&lt;br /&gt;
ACHTUNG: &amp;lt;code&amp;gt;GRANT&amp;lt;/code&amp;gt; ALL zur Zeit nicht möglich. Man kann aber alle Rechte explizit vergeben:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, REFERENCES, INDEX,&lt;br /&gt;
ALTER ON ... TO ...;&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
Alle Aufgaben können wir jetzt in Zukunft vom User &amp;lt;code&amp;gt;xyz00_otto&amp;lt;/code&amp;gt; erledigen lassen.&lt;br /&gt;
&lt;br /&gt;
== Verschiedenes ==&lt;br /&gt;
&lt;br /&gt;
* Web-Frontend: [http://www.phpmyadmin.net phpMyAdmin] ist unter https://phpmyadmin.hostsharing.net/current erreichbar.&lt;br /&gt;
* Online-Dokumentation: Die Online-Doku zu MySQL gibt es unter http://dev.mysql.com/doc/. Auf dieser Site gibt es auch mehrere Fassungen der kompletten Doku zum Downloaden.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
[[Kategorie:HSDoku]]&lt;br /&gt;
[[Kategorie:Datenbanken]]&lt;br /&gt;
[[Kategorie:Glossar]]&lt;/div&gt;</summary>
		<author><name>Peh00-phor</name></author>
	</entry>
	<entry>
		<id>https://wiki.hostsharing.net/index.php?title=MySQL&amp;diff=2083</id>
		<title>MySQL</title>
		<link rel="alternate" type="text/html" href="https://wiki.hostsharing.net/index.php?title=MySQL&amp;diff=2083"/>
		<updated>2009-12-22T14:39:58Z</updated>

		<summary type="html">&lt;p&gt;Peh00-phor: /* Weitere Benutzer anlegen */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Baustelle}}&lt;br /&gt;
&lt;br /&gt;
Datenbanken und Datenbank-User werden ab 20.12.2009 mit mit [[hsadmin]] verwaltet. &lt;br /&gt;
&lt;br /&gt;
== Server ==&lt;br /&gt;
&lt;br /&gt;
Wir haben pro Host einen einzelnen MySQL Datenbankserver. Der Zugriff erfolgt über den Hostnamen &amp;lt;code&amp;gt;localhost&amp;lt;/code&amp;gt; und den Port 3306 (default). Außerdem kann der Server über den Socket &amp;lt;code&amp;gt;/var/run/mysqld/mysqld.sock&amp;lt;/code&amp;gt; erreicht werden.&lt;br /&gt;
&lt;br /&gt;
Die Anzahl der in Hostsharing Dynamic-Web-Paketen verwendbaren MySQL-Datenbanken ist an sich nicht begrenzt. Der damit verbrauchte Speicherplatz geht in aber die Quota des Paketes mit ein, so dass hierüber eine indirekte Begrenzung vorliegt. Alle Datenbanken eines Paketes müssen mit dem Paketnamen und einem Underscore beginnen, also z.B. &amp;lt;code&amp;gt;xyz00_datenbank&amp;lt;/code&amp;gt;.&lt;br /&gt;
== MySQL-User ==&lt;br /&gt;
=== Paketadmin ===&lt;br /&gt;
&lt;br /&gt;
Der Paketadmin hat mit seinem Account sehr weitgehende administrative Rechte und sollte dementsprechend mit Umsicht genutzt werden. Er kann mit seinem Account im Administrationswerkzeug [[hsadmin]] unter anderem:&lt;br /&gt;
&lt;br /&gt;
* Datenbanken anlegen und löschen&lt;br /&gt;
* Datenbank-Benutzer anlegen und löschen&lt;br /&gt;
&lt;br /&gt;
Bevor man in seinem Paket MySQL benutzen kann, muss man als ersten Schritt einen Datenbank-Administrator einrichten. Das ist zwingend notwendig. Es kann ein MySQL-User mit dem Kürzel des Paketadmins (&amp;lt;code&amp;gt;xyz00&amp;lt;/code&amp;gt;) sein. Es können allerdings auch beliebing viele Datenbank-Administratoren nach dem Namensschema &amp;lt;code&amp;gt;xyz00_...&amp;lt;/code&amp;gt; angelegt werden. Wir richten den User mit [[Datenbanken]] ein, weil das am einfachsten ist.&lt;br /&gt;
&lt;br /&gt;
Der Benutzername des Paketadmins für MySQL entspricht dem Benutzernamen des Paketadmins für den Zugang zum Server. Das ist eine von uns gewählte Konvention, damit Du Dir den Namen für den MySQL-Zugang leichter merken kannst. Grundsätzlich stehen die Benutzernamen für MySQL in keiner Beziehung zu den Benutzernamen für die Server.&lt;br /&gt;
&lt;br /&gt;
=== Weitere Benutzer anlegen ===&lt;br /&gt;
&lt;br /&gt;
Du kannst Dir weitere Benutzer für MySQL anlegen. Wir empfehlen Dir das ausdrücklich, weil es eine gute Idee ist, den mächtigen Zugang des Paketadmins nur für administrative Zwecke zu benutzen. Schließlich will man nicht immer den mächtigen Account des Paketadmins in seinen Skripten verwenden. Für einzelne Aufgaben kannst Du verschiedene Benutzer anlegen, denen Du natürlich auch verschiedene Rechte geben kannst, z.B. nur Rechte an bestimmten Datenbanken oder zur Ausführung bestimmter Kommandos.&lt;br /&gt;
&lt;br /&gt;
Wir legen noch einen User an:&lt;br /&gt;
&lt;br /&gt;
siehe [[Datenbanken]]&lt;br /&gt;
&lt;br /&gt;
=== Der MySQL-Monitor ===&lt;br /&gt;
&lt;br /&gt;
Mit den neu angelegten User-Accounts können wir nun in den MySQL-Monitor wechseln, in dem die MySQL-Befehle eingegeben und verarbeitet werden. Der Monitor wird mit dem Befehl &amp;lt;code&amp;gt;mysql&amp;lt;/code&amp;gt; aufgerufen. Es ist hier übrigens egal, ob wir als Paketadmin oder als Domainadmin eingeloggt sind, denn MySQL-User und UNIX-Accounts haben keinen Zusammenhang. Wir können mit jedem UNIX-Account, also auch als normaler Domainadmin auf jeden Datenbank-Account zugreifen - auch auf den Paketadmin-Account.&lt;br /&gt;
&lt;br /&gt;
Da wir uns mit Benutzernamen und Passwort anmelden müssen, verwenden wir die Optionen -u (und danach den Benutzernamen) und -p. Das Passwort geben wir nicht in dieser Kommandozeile an, denn sonst ist es für andere User sichtbar. Wenn wir nach -p nichts angeben, werden wir von mysql danach gefragt und geben es dann an.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
xyz00@hopi$ mysql -u xyz00 -p&lt;br /&gt;
Enter password: password&lt;br /&gt;
Welcome to the MySQL monitor. Commands end with ; or \g.&lt;br /&gt;
Your MySQL connection id is 1257230 to server version: 3.23.49-log&lt;br /&gt;
Type &#039;help;&#039; or &#039;\h&#039; for help. Type &#039;\c&#039; to clear the buffer.&lt;br /&gt;
mysql&amp;gt;&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nun können wir MySQL-Befehle eingeben. Zu beachten ist, dass man nach einem Kommando mit einem ; abschließen muss. Es gibt einige Ausnahmen, wo man das nicht braucht, z.B. beim Befehl QUIT, mit dem man den Monitor wieder verlässt.&lt;br /&gt;
=== Passwortänderung ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
mysql&amp;gt;SET PASSWORD FOR xyz00_otto = PASSWORD(&#039;ottosneuespasswort&#039;);&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Datenbank anlegen === &lt;br /&gt;
&lt;br /&gt;
geht nun auch mit [[hsadmin]] siehe [[Datenbanken]] oder auch weiter mit:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
mysql&amp;gt;CREATE DATABASE xyz00_meinedatenbank;&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Datenbanknamen in MySQL beginnen bei Hostsharing immer mit dem Namen des Pakets, gefolgt von einem Unterstrich; danach folgt der frei wählbare eigentliche Name.&lt;br /&gt;
&lt;br /&gt;
Beispiele gültiger Datenbanken für ein Paket &amp;lt;code&amp;gt;xyz00&amp;lt;/code&amp;gt;:&lt;br /&gt;
* &amp;lt;code&amp;gt;xyz00_otto&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;xyz00_anna&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;xyz00_db_fuer_hans&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Rechte vergeben ===&lt;br /&gt;
&lt;br /&gt;
Allen Benutzern, außer dem Paketadmin, müssen wir noch Rechte geben, sonst können sie gar nichts machen. Das erledigt man mit dem Befehl &amp;lt;code&amp;gt;GRANT&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
mysql&amp;gt;GRANT SELECT, INSERT, DELETE, UPDATE ON xyz00_meinedatenbank.* TO xyz00_otto;&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Hinter der Datenbank verwenden wir .*, um alle Tabellen der Datenbank zu inkludieren. Man kann auch *.* für alle Tabellen in allen Datenbanken verwenden.&lt;br /&gt;
&lt;br /&gt;
Mit &amp;lt;code&amp;gt;GRANT ALL&amp;lt;/code&amp;gt; kann man einem User auch alle Kommandorechte zuweisen.&lt;br /&gt;
&lt;br /&gt;
ACHTUNG: &amp;lt;code&amp;gt;GRANT&amp;lt;/code&amp;gt; ALL zur Zeit nicht möglich. Man kann aber alle Rechte explizit vergeben:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, REFERENCES, INDEX,&lt;br /&gt;
ALTER ON ... TO ...;&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
Alle Aufgaben können wir jetzt in Zukunft vom User &amp;lt;code&amp;gt;xyz00_otto&amp;lt;/code&amp;gt; erledigen lassen.&lt;br /&gt;
&lt;br /&gt;
== Verschiedenes ==&lt;br /&gt;
&lt;br /&gt;
* Web-Frontend: [http://www.phpmyadmin.net phpMyAdmin] ist unter https://phpmyadmin.hostsharing.net/current erreichbar.&lt;br /&gt;
* Online-Dokumentation: Die Online-Doku zu MySQL gibt es unter http://dev.mysql.com/doc/. Auf dieser Site gibt es auch mehrere Fassungen der kompletten Doku zum Downloaden.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
[[Kategorie:HSDoku]]&lt;br /&gt;
[[Kategorie:Datenbanken]]&lt;br /&gt;
[[Kategorie:Glossar]]&lt;/div&gt;</summary>
		<author><name>Peh00-phor</name></author>
	</entry>
	<entry>
		<id>https://wiki.hostsharing.net/index.php?title=MySQL&amp;diff=2082</id>
		<title>MySQL</title>
		<link rel="alternate" type="text/html" href="https://wiki.hostsharing.net/index.php?title=MySQL&amp;diff=2082"/>
		<updated>2009-12-22T14:37:58Z</updated>

		<summary type="html">&lt;p&gt;Peh00-phor: /* Paketadmin */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Baustelle}}&lt;br /&gt;
&lt;br /&gt;
Datenbanken und Datenbank-User werden ab 20.12.2009 mit mit [[hsadmin]] verwaltet. &lt;br /&gt;
&lt;br /&gt;
== Server ==&lt;br /&gt;
&lt;br /&gt;
Wir haben pro Host einen einzelnen MySQL Datenbankserver. Der Zugriff erfolgt über den Hostnamen &amp;lt;code&amp;gt;localhost&amp;lt;/code&amp;gt; und den Port 3306 (default). Außerdem kann der Server über den Socket &amp;lt;code&amp;gt;/var/run/mysqld/mysqld.sock&amp;lt;/code&amp;gt; erreicht werden.&lt;br /&gt;
&lt;br /&gt;
Die Anzahl der in Hostsharing Dynamic-Web-Paketen verwendbaren MySQL-Datenbanken ist an sich nicht begrenzt. Der damit verbrauchte Speicherplatz geht in aber die Quota des Paketes mit ein, so dass hierüber eine indirekte Begrenzung vorliegt. Alle Datenbanken eines Paketes müssen mit dem Paketnamen und einem Underscore beginnen, also z.B. &amp;lt;code&amp;gt;xyz00_datenbank&amp;lt;/code&amp;gt;.&lt;br /&gt;
== MySQL-User ==&lt;br /&gt;
=== Paketadmin ===&lt;br /&gt;
&lt;br /&gt;
Der Paketadmin hat mit seinem Account sehr weitgehende administrative Rechte und sollte dementsprechend mit Umsicht genutzt werden. Er kann mit seinem Account im Administrationswerkzeug [[hsadmin]] unter anderem:&lt;br /&gt;
&lt;br /&gt;
* Datenbanken anlegen und löschen&lt;br /&gt;
* Datenbank-Benutzer anlegen und löschen&lt;br /&gt;
&lt;br /&gt;
Bevor man in seinem Paket MySQL benutzen kann, muss man als ersten Schritt einen Datenbank-Administrator einrichten. Das ist zwingend notwendig. Es kann ein MySQL-User mit dem Kürzel des Paketadmins (&amp;lt;code&amp;gt;xyz00&amp;lt;/code&amp;gt;) sein. Es können allerdings auch beliebing viele Datenbank-Administratoren nach dem Namensschema &amp;lt;code&amp;gt;xyz00_...&amp;lt;/code&amp;gt; angelegt werden. Wir richten den User mit [[Datenbanken]] ein, weil das am einfachsten ist.&lt;br /&gt;
&lt;br /&gt;
Der Benutzername des Paketadmins für MySQL entspricht dem Benutzernamen des Paketadmins für den Zugang zum Server. Das ist eine von uns gewählte Konvention, damit Du Dir den Namen für den MySQL-Zugang leichter merken kannst. Grundsätzlich stehen die Benutzernamen für MySQL in keiner Beziehung zu den Benutzernamen für die Server.&lt;br /&gt;
&lt;br /&gt;
=== Weitere Benutzer anlegen ===&lt;br /&gt;
&lt;br /&gt;
Du kannst Dir weitere Benutzer für MySQL anlegen. Wir empfehlen Dir das ausdrücklich, weil es eine gute Idee ist, den mächtigen Zugang des Paketadmins nur für administrative Zwecke zu benutzen. Schließlich will man nicht immer den mächtigen Account des Paketadmins in seinen Skripten verwenden. Für einzelne Aufgaben kannst Du verschiedene Benutzer anlegen, denen Du natürlich auch verschiedene Rechte geben kannst, z.B. nur Rechte an bestimmten Datenbanken oder zur Ausführung bestimmter Kommandos.&lt;br /&gt;
&lt;br /&gt;
Wir legen noch einen User an:&lt;br /&gt;
&lt;br /&gt;
siehe [[Datenbanken]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Der MySQL-Monitor ===&lt;br /&gt;
&lt;br /&gt;
Mit den neu angelegten User-Accounts können wir nun in den MySQL-Monitor wechseln, in dem die MySQL-Befehle eingegeben und verarbeitet werden. Der Monitor wird mit dem Befehl &amp;lt;code&amp;gt;mysql&amp;lt;/code&amp;gt; aufgerufen. Es ist hier übrigens egal, ob wir als Paketadmin oder als Domainadmin eingeloggt sind, denn MySQL-User und UNIX-Accounts haben keinen Zusammenhang. Wir können mit jedem UNIX-Account, also auch als normaler Domainadmin auf jeden Datenbank-Account zugreifen - auch auf den Paketadmin-Account.&lt;br /&gt;
&lt;br /&gt;
Da wir uns mit Benutzernamen und Passwort anmelden müssen, verwenden wir die Optionen -u (und danach den Benutzernamen) und -p. Das Passwort geben wir nicht in dieser Kommandozeile an, denn sonst ist es für andere User sichtbar. Wenn wir nach -p nichts angeben, werden wir von mysql danach gefragt und geben es dann an.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
xyz00@hopi$ mysql -u xyz00 -p&lt;br /&gt;
Enter password: password&lt;br /&gt;
Welcome to the MySQL monitor. Commands end with ; or \g.&lt;br /&gt;
Your MySQL connection id is 1257230 to server version: 3.23.49-log&lt;br /&gt;
Type &#039;help;&#039; or &#039;\h&#039; for help. Type &#039;\c&#039; to clear the buffer.&lt;br /&gt;
mysql&amp;gt;&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nun können wir MySQL-Befehle eingeben. Zu beachten ist, dass man nach einem Kommando mit einem ; abschließen muss. Es gibt einige Ausnahmen, wo man das nicht braucht, z.B. beim Befehl QUIT, mit dem man den Monitor wieder verlässt.&lt;br /&gt;
=== Passwortänderung ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
mysql&amp;gt;SET PASSWORD FOR xyz00_otto = PASSWORD(&#039;ottosneuespasswort&#039;);&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Datenbank anlegen === &lt;br /&gt;
&lt;br /&gt;
geht nun auch mit [[hsadmin]] siehe [[Datenbanken]] oder auch weiter mit:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
mysql&amp;gt;CREATE DATABASE xyz00_meinedatenbank;&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Datenbanknamen in MySQL beginnen bei Hostsharing immer mit dem Namen des Pakets, gefolgt von einem Unterstrich; danach folgt der frei wählbare eigentliche Name.&lt;br /&gt;
&lt;br /&gt;
Beispiele gültiger Datenbanken für ein Paket &amp;lt;code&amp;gt;xyz00&amp;lt;/code&amp;gt;:&lt;br /&gt;
* &amp;lt;code&amp;gt;xyz00_otto&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;xyz00_anna&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;xyz00_db_fuer_hans&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Rechte vergeben ===&lt;br /&gt;
&lt;br /&gt;
Allen Benutzern, außer dem Paketadmin, müssen wir noch Rechte geben, sonst können sie gar nichts machen. Das erledigt man mit dem Befehl &amp;lt;code&amp;gt;GRANT&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
mysql&amp;gt;GRANT SELECT, INSERT, DELETE, UPDATE ON xyz00_meinedatenbank.* TO xyz00_otto;&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Hinter der Datenbank verwenden wir .*, um alle Tabellen der Datenbank zu inkludieren. Man kann auch *.* für alle Tabellen in allen Datenbanken verwenden.&lt;br /&gt;
&lt;br /&gt;
Mit &amp;lt;code&amp;gt;GRANT ALL&amp;lt;/code&amp;gt; kann man einem User auch alle Kommandorechte zuweisen.&lt;br /&gt;
&lt;br /&gt;
ACHTUNG: &amp;lt;code&amp;gt;GRANT&amp;lt;/code&amp;gt; ALL zur Zeit nicht möglich. Man kann aber alle Rechte explizit vergeben:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, REFERENCES, INDEX,&lt;br /&gt;
ALTER ON ... TO ...;&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
Alle Aufgaben können wir jetzt in Zukunft vom User &amp;lt;code&amp;gt;xyz00_otto&amp;lt;/code&amp;gt; erledigen lassen.&lt;br /&gt;
&lt;br /&gt;
== Verschiedenes ==&lt;br /&gt;
&lt;br /&gt;
* Web-Frontend: [http://www.phpmyadmin.net phpMyAdmin] ist unter https://phpmyadmin.hostsharing.net/current erreichbar.&lt;br /&gt;
* Online-Dokumentation: Die Online-Doku zu MySQL gibt es unter http://dev.mysql.com/doc/. Auf dieser Site gibt es auch mehrere Fassungen der kompletten Doku zum Downloaden.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
[[Kategorie:HSDoku]]&lt;br /&gt;
[[Kategorie:Datenbanken]]&lt;br /&gt;
[[Kategorie:Glossar]]&lt;/div&gt;</summary>
		<author><name>Peh00-phor</name></author>
	</entry>
	<entry>
		<id>https://wiki.hostsharing.net/index.php?title=Datenbanken&amp;diff=2072</id>
		<title>Datenbanken</title>
		<link rel="alternate" type="text/html" href="https://wiki.hostsharing.net/index.php?title=Datenbanken&amp;diff=2072"/>
		<updated>2009-12-18T15:04:19Z</updated>

		<summary type="html">&lt;p&gt;Peh00-phor: Kurzbeschreibung mit HSAdmin&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{HSDoku-Links}}&lt;br /&gt;
Hostsharing betreibt Datenbanksever in [http://www.mysql.com - MySQL] und [http://www.postgresql.org PostgreSQL].&lt;br /&gt;
&lt;br /&gt;
Unser server-übergreifendes Datenbank-Administrations-Tool: [[dbadmin]]&lt;br /&gt;
&lt;br /&gt;
Wir haben ein Command-Line-Tool namens [[dbadmin]], mit dem viele Administrationsaufgaben einheitlich und unabhängig von der jeweiligen Datenbank erledigt werden können, die mit normalen Nutzerrechten anders nicht zugänglich sind.&lt;br /&gt;
&lt;br /&gt;
== MySQL ==&lt;br /&gt;
&lt;br /&gt;
* Server: Es gibt einen eigenen MySQL-Server auf jedem Host.&lt;br /&gt;
* Nutzung bei Hostsharing: siehe separater Artikel [[MySQL]] und [[MySQL-Datenbank anlegen Schritt für Schritt]]&lt;br /&gt;
* Web-Frontend: [http://www.phpmyadmin.net phpMyAdmin] ist unter https://phpmyadmin.hostsharing.net/current/ erreichbar.&lt;br /&gt;
* Online-Dokumentation: Die Online-Doku zu MySQL gibt es unter http://dev.mysql.com/doc/. Auf dieser Site gibt es auch mehrere Fassungen der kompletten Doku zum Downloaden.&lt;br /&gt;
&lt;br /&gt;
== PostgreSQL ==&lt;br /&gt;
* Server: Es gibt einen eigenen PostgreSQL-Server auf jedem Host.&lt;br /&gt;
* Nutzung bei Hostsharing: siehe separater Artikel [[PostgreSQL]]&lt;br /&gt;
* Web-Frontend: [http://www.phppgadmin.net phpPgAdmin] ist unter https://phppgadmin.hostsharing.net/current erreichbar.&lt;br /&gt;
* Online-Dokumentation: Die Online-Doku gibt es unter http://www.postgresql.org/docs/manuals/. Eine Liste von Büchern (einige davon zum Download) unter http://www.postgresql.org/docs/books/.&lt;br /&gt;
&lt;br /&gt;
== Verwaltung von Datenbanken ==&lt;br /&gt;
&lt;br /&gt;
Datenbanken können mit [[hsadmin]] auf der Kommandozeile oder im Browser angelegt werden.&lt;br /&gt;
&lt;br /&gt;
In jedem Fall ist die Reihenfolge:&lt;br /&gt;
# einen Datenbankbenutzer als DB-Administrator anlegen&lt;br /&gt;
# die Datenbank anlegen&lt;br /&gt;
&lt;br /&gt;
Dabei kann nach Belieben ein Administrator für alle Datenbanken eines Pakets oder ein eigener Daminisrtator-Account pro Datenbank angelegt werden.&lt;br /&gt;
&lt;br /&gt;
=== Datenbank-Administrator anlegen ===&lt;br /&gt;
&lt;br /&gt;
  hsadmin -c mysqluser.add --set:name=xyz00_dbuser --set:password=geheim&lt;br /&gt;
&lt;br /&gt;
bzw.&lt;br /&gt;
&lt;br /&gt;
  hsadmin -c postgresqluser.add --set:name=xyz00_dbuser --set:password=geheim&lt;br /&gt;
&lt;br /&gt;
=== Datenbank anlegen ===&lt;br /&gt;
&lt;br /&gt;
  hsadmin -c mysqldb.add --set:name=xyz00_mydatabase --set:owner=xyz00_dbuser [ --encoding=latin1 ]&lt;br /&gt;
&lt;br /&gt;
bzw.&lt;br /&gt;
&lt;br /&gt;
  hsadmin -c postgresqldb.add --set:name=xyz00_mydatabase --set:owner=xyz00_dbuser [ --encoding=LATIN1 ]&lt;br /&gt;
&lt;br /&gt;
Das Encoding kann weggelassen werden, der Default ist dann &amp;quot;UTF-8&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=== Datenbanken auflisten ===&lt;br /&gt;
&lt;br /&gt;
  hsadmin -c mysqldb.search&lt;br /&gt;
&lt;br /&gt;
bzw.&lt;br /&gt;
&lt;br /&gt;
  hsadmin -c postgresqldb.search&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
[[Kategorie:HSDoku]]&lt;br /&gt;
[[Kategorie:Datenbanken]]&lt;br /&gt;
[[Kategorie:Glossar]]&lt;/div&gt;</summary>
		<author><name>Peh00-phor</name></author>
	</entry>
	<entry>
		<id>https://wiki.hostsharing.net/index.php?title=PostgreSQL&amp;diff=2071</id>
		<title>PostgreSQL</title>
		<link rel="alternate" type="text/html" href="https://wiki.hostsharing.net/index.php?title=PostgreSQL&amp;diff=2071"/>
		<updated>2009-12-18T14:49:55Z</updated>

		<summary type="html">&lt;p&gt;Peh00-phor: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Baustelle}}&lt;br /&gt;
&lt;br /&gt;
dbadmin wird am 19. Dez. 2009 ausser Betrieb genommen.&lt;br /&gt;
&lt;br /&gt;
Datenbanken und Datenbank-User werden ab diesem Zeitpunkt mit [[hsadmin]] verwaltet. &lt;br /&gt;
&lt;br /&gt;
== Server == &lt;br /&gt;
Wir haben pro Host einen einzelnen PostgreSQL-Datenbankserver. Der Zugriff erfolgt über den Hostnamen localhost und den Port 5432. PostgreSQL unterstützt auch eine Verbindung über einen Socket. Dies wird bei uns für administrative Arbeiten genutzt, da hierüber per Konfiguration eine Verbindung ohne Passwortabfrage zugelassen wird. Dementsprechend steht diese Möglichkeit nicht für normale User zur Verfügung.&lt;br /&gt;
&lt;br /&gt;
Auf dem Server werden per Default keine Accounts oder Datenbanken für ein Paket angelegt. Der Paketadmin muss dies mit dem Tool DBAdmin vornehmen, da das CREATEDB- und CREATEUSER-Recht nicht an normale Useraccounts vergeben wird.&lt;br /&gt;
&lt;br /&gt;
Dabei ist zu beachten, dass sowohl Benutzer- als auch Datenbanknamen mit dem Paketkürzel anfangen müssen, also z.B. &amp;lt;code&amp;gt;xyz00_datenbank&amp;lt;/code&amp;gt; und &amp;lt;code&amp;gt;xyz00_datenbankuser&amp;lt;/code&amp;gt;. Andere Namen sind nicht möglich.&lt;br /&gt;
&lt;br /&gt;
== PostgreSQL-User ==&lt;br /&gt;
=== Paketadmin ===&lt;br /&gt;
&lt;br /&gt;
Der Paketadmin hat mit seinem Account sehr weitgehende administrative Rechte und sollte dementsprechend mit Umsicht genutzt werden. Er kann mit seinem Account unter anderem:&lt;br /&gt;
&lt;br /&gt;
* Datenbanken anlegen und löschen&lt;br /&gt;
* Benutzer anlegen und löschen&lt;br /&gt;
* Rechte an Benutzer vergeben&lt;br /&gt;
&lt;br /&gt;
Bevor man in seinem Paket PostgreSQL benutzen kann, muss man als ersten Schritt einen Zugang für den Paketadmin einrichten. Das ist zwingend notwendig. Der PostgreSQL-User mit dem Kürzel des Paketadmins (&amp;lt;code&amp;gt;xyz00&amp;lt;/code&amp;gt;) besitzt automatisch alle Rechte an allen Datenbanken des Paketes, er ist also sehr mächtig. Wir müssen den User mit [[dbadmin]] einrichten.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
xyz00@hopi$ dbadmin -a -i pgsql -u xyz00&lt;br /&gt;
Password: password&lt;br /&gt;
User &#039;xyz00&#039; created.&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Der Benutzername des Paketadmins für PostgreSQL entspricht dem Benutzernamen des Paketadmins für den Zugang zum Server. Das ist eine von uns gewählte Konvention, damit Du Dir den Namen für den PostgreSQL-Zugang leichter merken kannst. Grundsätzlich stehen die Benutzernamen für PostgreSQL in keiner Beziehung zu den Benutzernamen für die Server.&lt;br /&gt;
&lt;br /&gt;
=== Weitere Benutzer anlegen ===&lt;br /&gt;
&lt;br /&gt;
Du kannst Dir weitere Benutzer für PostgreSQL anlegen. Wir empfehlen Dir das ausdrücklich, weil es eine gute Idee ist, den mächtigen Zugang des Paketadmins nur für administrative Zwecke zu benutzen. Schließlich will man nicht immer den mächtigen Account des Paketadmins in seinen Skripten verwenden. Für einzelne Aufgaben kannst Du verschiedene Benutzer anlegen, denen Du natürlich auch verschiedene Rechte geben kannst, z.B. nur Rechte an bestimmten Datenbanken oder zur Ausführung bestimmter Kommandos.&lt;br /&gt;
&lt;br /&gt;
Wir legen noch einen User an:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
xyz00@hopi$ dbadmin -a -i pgsql -u xyz00_otto&lt;br /&gt;
Password: password&lt;br /&gt;
User &#039;xyz00_otto&#039; created.&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
mehr Information zum Anlegen von Nutzern im Artikel [[dbadmin]]&lt;br /&gt;
&lt;br /&gt;
=== Datenbank anlegen ===&lt;br /&gt;
&lt;br /&gt;
Eine neue Datenbank muss in PostgreSQL mit dem Tool [[dbadmin]] angelegt werden.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
xyz00@hopi:~$ dbadmin -c -i pgsql -n xyz00_datenbank&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Der PostgreSQL-Monitor ==&lt;br /&gt;
&lt;br /&gt;
Für die interaktive Verbindung zu einer Datenbank wird bei PostgreSQL das Programm &amp;lt;code&amp;gt;psql&amp;lt;/code&amp;gt; verwendet. Nachdem ein User und eine Datenbank angelegt wurden, kann eine erste Verbindung zu PostgreSQL aufgebaut werden:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
xyz00@hopi$ psql --host localhost --username xyz00 --dbname xyz00_datenbank&lt;br /&gt;
Password: passwort&lt;br /&gt;
Welcome to psql, the PostgreSQL interactive terminal.&lt;br /&gt;
&lt;br /&gt;
Type: \copyright for distribution terms&lt;br /&gt;
\h for help with SQL commands&lt;br /&gt;
\? for help on internal slash commands&lt;br /&gt;
\g or terminate with semicolon to execute query&lt;br /&gt;
\q to quit&lt;br /&gt;
&lt;br /&gt;
SSL connection (cipher: DES-CBC3-SHA, bits: 168)&lt;br /&gt;
&lt;br /&gt;
xyz00_datenbank=&amp;gt;&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nun können wir PostgreSQL-Befehle eingeben. Zu beachten ist, dass die Zeilen mit &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;&#039;;&#039;&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; abgeschlossen werden müssen.&lt;br /&gt;
&lt;br /&gt;
Von &amp;lt;code&amp;gt;psql&amp;lt;/code&amp;gt; und einigen anderen Tools werden eine Reihe von Umgebungsvariablen ausgewertet, so dass für die Anmeldung bei der Datenbank nicht immer alle Verbindungsdaten eingetippt werden müssen. Dazu gehören &amp;lt;code&amp;gt;PGDATABASE&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;PGHOST&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;PGPORT&amp;lt;/code&amp;gt; und &amp;lt;code&amp;gt;PGUSER&amp;lt;/code&amp;gt;. Man kann diese Variablen z.B. in seinem Shell-Profile setzen und damit die Anmeldung vereinfachen. Bei &amp;lt;code&amp;gt;/bin/bash&amp;lt;/code&amp;gt; als Shell sieht das so aus:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
PGHOST=localhost&lt;br /&gt;
PGUSER=xyz00&lt;br /&gt;
PGDATABASE=xyz00_datenbank&lt;br /&gt;
export PGHOST PGUSER PGDATABASE&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Benutzer- und Datenbankname sollten natürlich an das eigene Paket angepasst werden. Anschließend reicht der einfache Aufruf von &amp;lt;code&amp;gt;psql&amp;lt;/code&amp;gt;, um eine Verbindung zu dieser Datenbank mit dem angegebenen Benutzernamen aufzubauen.&lt;br /&gt;
&lt;br /&gt;
=== Ändern des Passworts ===&lt;br /&gt;
&lt;br /&gt;
Nach dem Anmelden in &amp;lt;code&amp;gt;psql&amp;lt;/code&amp;gt; als der jeweilige Benutzer kann das Passwort folgendermaßen geändert werden:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
xyz00_test=&amp;gt; ALTER USER xyz00 WITH PASSWORD &#039;neuespasswort&#039;;&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Backups ===&lt;br /&gt;
&lt;br /&gt;
Für Backup und Restore werden die beiden Programme &amp;lt;code&amp;gt;pg_dump&amp;lt;/code&amp;gt; und &amp;lt;code&amp;gt;pg_restore&amp;lt;/code&amp;gt; verwendet. Damit kann auch der Paketadmin eigene Sicherungen anlegen und zurückspielen oder auch eine Datenbank von seiner Entwicklungsumgebung einspielen.&lt;br /&gt;
&lt;br /&gt;
Von den PostgreSQL-Datenbanken wird einmal pro Nacht eine Sicherung mit pg_dump angefertigt, die im Backup-Verzeichnis des Paketes abgelegt wird. Die Sicherung erfolgt mit dem folgenden Kommando:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
xyz00@hopi:~$ pg_dump --blobs --format=c xyz00_datenbank&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Der Dump wird dann mit &amp;lt;code&amp;gt;gzip&amp;lt;/code&amp;gt; komprimiert und unter dem Namen der jeweiligen Datenbank unter &amp;lt;code&amp;gt;[[~/.bak]]&amp;lt;/code&amp;gt; angelegt.&lt;br /&gt;
&lt;br /&gt;
=== Vacuum einer Datenbank ===&lt;br /&gt;
&lt;br /&gt;
Das Aufräumen einer PostgreSQL-Datenbank hat zwei Ziele:&lt;br /&gt;
&lt;br /&gt;
* Ermittlung von Tabellenstatistiken (Größe, Anzahl Datensätze, Werteverteilung), damit der SQL-Optimizer einen möglichst guten Ausführungsplan berechnen kann.&lt;br /&gt;
* Freigeben von nicht mehr genutzen Blöcken, die durch Löschen und Ändern von Datensätzen entstanden sind. &lt;br /&gt;
&lt;br /&gt;
Zur Durchführung dieser Aktionen kann das SQL-Kommando &amp;lt;code&amp;gt;vacuum&amp;lt;/code&amp;gt; oder das Unix-Kommando &amp;lt;code&amp;gt;vacuumdb&amp;lt;/code&amp;gt; benutzt werden.&lt;br /&gt;
&lt;br /&gt;
Bei uns läuft einmal pro Nacht ein &amp;lt;code&amp;gt;VACUUM ANALYZE&amp;lt;/code&amp;gt; zur Aktualisierung der Statistiken.&lt;br /&gt;
&lt;br /&gt;
Es wird empfohlen, dass nach dem Ändern oder Löschen von größeren Datenmengen ein &amp;lt;code&amp;gt;VACUUM FULL&amp;lt;/code&amp;gt; auf der Datenbank ausgeführt wird. Damit wird der benötigte Platz reduziert und im Allgemeinen auch die Zugriffsperformance verbessert. Da dieses Kommando für die Laufzeit eine exklusive Sperre auf den Tabellen hält, kann dies leider nicht regelmäßig und automatisiert laufen, sondern muss vom Anwender selbst ausgeführt werden.&lt;br /&gt;
Links&lt;br /&gt;
&lt;br /&gt;
== Verschiedenes ==&lt;br /&gt;
&lt;br /&gt;
* Web-Frontend: [http://www.phppgadmin.net phpPgAdmin] ist unter https://phppgadmin.hostsharing.net/current erreichbar.&lt;br /&gt;
* Online-Dokumentation: Die Online-Doku gibt es unter http://www.postgresql.org/docs/manuals/. Eine Liste von Büchern (einige davon zum Download) unter http://www.postgresql.org/docs/books/.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
[[Kategorie:HSDoku]]&lt;br /&gt;
[[Kategorie:Datenbanken]]&lt;br /&gt;
[[Kategorie:Glossar]]&lt;/div&gt;</summary>
		<author><name>Peh00-phor</name></author>
	</entry>
	<entry>
		<id>https://wiki.hostsharing.net/index.php?title=MySQL&amp;diff=2069</id>
		<title>MySQL</title>
		<link rel="alternate" type="text/html" href="https://wiki.hostsharing.net/index.php?title=MySQL&amp;diff=2069"/>
		<updated>2009-12-18T14:48:52Z</updated>

		<summary type="html">&lt;p&gt;Peh00-phor: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Baustelle}}&lt;br /&gt;
&lt;br /&gt;
dbadmin wird am 19. Dez. 2009 ausser Betrieb genommen.&lt;br /&gt;
&lt;br /&gt;
Datenbanken und Datenbank-User werden ab diesem Zeitpunkt mit [[hsadmin]] verwaltet. &lt;br /&gt;
&lt;br /&gt;
== Server ==&lt;br /&gt;
&lt;br /&gt;
Wir haben pro Host einen einzelnen MySQL Datenbankserver. Der Zugriff erfolgt über den Hostnamen &amp;lt;code&amp;gt;localhost&amp;lt;/code&amp;gt; und den Port 3306 (default). Außerdem kann der Server über den Socket &amp;lt;code&amp;gt;/var/run/mysqld/mysqld.sock&amp;lt;/code&amp;gt; erreicht werden.&lt;br /&gt;
&lt;br /&gt;
Die Anzahl der in Hostsharing Dynamic-Web-Paketen verwendbaren MySQL-Datenbanken ist an sich nicht begrenzt. Der damit verbrauchte Speicherplatz geht in aber die Quota des Paketes mit ein, so dass hierüber eine indirekte Begrenzung vorliegt. Alle Datenbanken eines Paketes müssen mit dem Paketnamen und einem Underscore beginnen, also z.B. &amp;lt;code&amp;gt;xyz00_datenbank&amp;lt;/code&amp;gt;.&lt;br /&gt;
== MySQL-User ==&lt;br /&gt;
=== Paketadmin ===&lt;br /&gt;
&lt;br /&gt;
Der Paketadmin hat mit seinem Account sehr weitgehende administrative Rechte und sollte dementsprechend mit Umsicht genutzt werden. Er kann mit seinem Account unter anderem:&lt;br /&gt;
&lt;br /&gt;
* Datenbanken anlegen und löschen&lt;br /&gt;
* Benutzer anlegen und löschen&lt;br /&gt;
* Rechte an Benutzer vergeben&lt;br /&gt;
&lt;br /&gt;
Bevor man in seinem Paket MySQL benutzen kann, muss man als ersten Schritt einen Zugang für den Paketadmin einrichten. Das ist zwingend notwendig. Der MySQL-User mit dem Kürzel des Paketadmins (&amp;lt;code&amp;gt;xyz00&amp;lt;/code&amp;gt;) besitzt automatisch alle Rechte an allen Datenbanken des Paketes, er ist also sehr mächtig. Wir richten den User mit [[dbadmin]] ein, weil das am einfachsten ist.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
xyz00@hopi$ dbadmin -a -i mysql -u xyz00&lt;br /&gt;
Password: password&lt;br /&gt;
User &#039;xyz00&#039; created.&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Der Benutzername des Paketadmins für MySQL entspricht dem Benutzernamen des Paketadmins für den Zugang zum Server. Das ist eine von uns gewählte Konvention, damit Du Dir den Namen für den MySQL-Zugang leichter merken kannst. Grundsätzlich stehen die Benutzernamen für MySQL in keiner Beziehung zu den Benutzernamen für die Server.&lt;br /&gt;
&lt;br /&gt;
=== Weitere Benutzer anlegen ===&lt;br /&gt;
&lt;br /&gt;
Du kannst Dir weitere Benutzer für MySQL anlegen. Wir empfehlen Dir das ausdrücklich, weil es eine gute Idee ist, den mächtigen Zugang des Paketadmins nur für administrative Zwecke zu benutzen. Schließlich will man nicht immer den mächtigen Account des Paketadmins in seinen Skripten verwenden. Für einzelne Aufgaben kannst Du verschiedene Benutzer anlegen, denen Du natürlich auch verschiedene Rechte geben kannst, z.B. nur Rechte an bestimmten Datenbanken oder zur Ausführung bestimmter Kommandos.&lt;br /&gt;
&lt;br /&gt;
Wir legen noch einen User an:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
xyz00@hopi$ dbadmin -a -i mysql -u xyz00_otto&lt;br /&gt;
Password: password&lt;br /&gt;
User &#039;xyz00_otto&#039; created.&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
mehr zum Anlegen neuer User mit [[dbadmin]]&lt;br /&gt;
&lt;br /&gt;
=== Der MySQL-Monitor ===&lt;br /&gt;
&lt;br /&gt;
Mit den neu angelegten User-Accounts können wir nun in den MySQL-Monitor wechseln, in dem die MySQL-Befehle eingegeben und verarbeitet werden. Der Monitor wird mit dem Befehl &amp;lt;code&amp;gt;mysql&amp;lt;/code&amp;gt; aufgerufen. Es ist hier übrigens egal, ob wir als Paketadmin oder als Domainadmin eingeloggt sind, denn MySQL-User und UNIX-Accounts haben keinen Zusammenhang. Wir können mit jedem UNIX-Account, also auch als normaler Domainadmin auf jeden Datenbank-Account zugreifen - auch auf den Paketadmin-Account.&lt;br /&gt;
&lt;br /&gt;
Da wir uns mit Benutzernamen und Passwort anmelden müssen, verwenden wir die Optionen -u (und danach den Benutzernamen) und -p. Das Passwort geben wir nicht in dieser Kommandozeile an, denn sonst ist es für andere User sichtbar. Wenn wir nach -p nichts angeben, werden wir von mysql danach gefragt und geben es dann an.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
xyz00@hopi$ mysql -u xyz00 -p&lt;br /&gt;
Enter password: password&lt;br /&gt;
Welcome to the MySQL monitor. Commands end with ; or \g.&lt;br /&gt;
Your MySQL connection id is 1257230 to server version: 3.23.49-log&lt;br /&gt;
Type &#039;help;&#039; or &#039;\h&#039; for help. Type &#039;\c&#039; to clear the buffer.&lt;br /&gt;
mysql&amp;gt;&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nun können wir MySQL-Befehle eingeben. Zu beachten ist, dass man nach einem Kommando mit einem ; abschließen muss. Es gibt einige Ausnahmen, wo man das nicht braucht, z.B. beim Befehl QUIT, mit dem man den Monitor wieder verlässt.&lt;br /&gt;
=== Passwortänderung ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
mysql&amp;gt;SET PASSWORD FOR xyz00_otto = PASSWORD(&#039;ottosneuespasswort&#039;);&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Datenbank anlegen === &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
mysql&amp;gt;CREATE DATABASE xyz00_meinedatenbank;&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Datenbanknamen in MySQL beginnen bei Hostsharing immer mit dem Namen des Pakets, gefolgt von einem Unterstrich; danach folgt der frei wählbare eigentliche Name.&lt;br /&gt;
&lt;br /&gt;
Beispiele gültiger Datenbanken für ein Paket &amp;lt;code&amp;gt;xyz00&amp;lt;/code&amp;gt;:&lt;br /&gt;
* &amp;lt;code&amp;gt;xyz00_otto&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;xyz00_anna&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;xyz00_db_fuer_hans&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Rechte vergeben ===&lt;br /&gt;
&lt;br /&gt;
Allen Benutzern, außer dem Paketadmin, müssen wir noch Rechte geben, sonst können sie gar nichts machen. Das erledigt man mit dem Befehl &amp;lt;code&amp;gt;GRANT&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
mysql&amp;gt;GRANT SELECT, INSERT, DELETE, UPDATE ON xyz00_meinedatenbank.* TO xyz00_otto;&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Hinter der Datenbank verwenden wir .*, um alle Tabellen der Datenbank zu inkludieren. Man kann auch *.* für alle Tabellen in allen Datenbanken verwenden.&lt;br /&gt;
&lt;br /&gt;
Mit &amp;lt;code&amp;gt;GRANT ALL&amp;lt;/code&amp;gt; kann man einem User auch alle Kommandorechte zuweisen.&lt;br /&gt;
&lt;br /&gt;
ACHTUNG: &amp;lt;code&amp;gt;GRANT&amp;lt;/code&amp;gt; ALL zur Zeit nicht möglich. Man kann aber alle Rechte explizit vergeben:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, REFERENCES, INDEX,&lt;br /&gt;
ALTER ON ... TO ...;&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
Alle Aufgaben können wir jetzt in Zukunft vom User &amp;lt;code&amp;gt;xyz00_otto&amp;lt;/code&amp;gt; erledigen lassen.&lt;br /&gt;
&lt;br /&gt;
== Verschiedenes ==&lt;br /&gt;
&lt;br /&gt;
* Web-Frontend: [http://www.phpmyadmin.net phpMyAdmin] ist unter https://phpmyadmin.hostsharing.net/current erreichbar.&lt;br /&gt;
* Online-Dokumentation: Die Online-Doku zu MySQL gibt es unter http://dev.mysql.com/doc/. Auf dieser Site gibt es auch mehrere Fassungen der kompletten Doku zum Downloaden.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
[[Kategorie:HSDoku]]&lt;br /&gt;
[[Kategorie:Datenbanken]]&lt;br /&gt;
[[Kategorie:Glossar]]&lt;/div&gt;</summary>
		<author><name>Peh00-phor</name></author>
	</entry>
	<entry>
		<id>https://wiki.hostsharing.net/index.php?title=Datenbanken&amp;diff=2068</id>
		<title>Datenbanken</title>
		<link rel="alternate" type="text/html" href="https://wiki.hostsharing.net/index.php?title=Datenbanken&amp;diff=2068"/>
		<updated>2009-12-18T14:47:42Z</updated>

		<summary type="html">&lt;p&gt;Peh00-phor: /* MySQL */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{HSDoku-Links}}&lt;br /&gt;
Hostsharing betreibt Datenbanksever in [http://www.mysql.com - MySQL] und [http://www.postgresql.org PostgreSQL].&lt;br /&gt;
&lt;br /&gt;
Unser server-übergreifendes Datenbank-Administrations-Tool: [[dbadmin]]&lt;br /&gt;
&lt;br /&gt;
Wir haben ein Command-Line-Tool namens [[dbadmin]], mit dem viele Administrationsaufgaben einheitlich und unabhängig von der jeweiligen Datenbank erledigt werden können, die mit normalen Nutzerrechten anders nicht zugänglich sind.&lt;br /&gt;
&lt;br /&gt;
== MySQL ==&lt;br /&gt;
&lt;br /&gt;
* Server: Es gibt einen eigenen MySQL-Server auf jedem Host.&lt;br /&gt;
* Nutzung bei Hostsharing: siehe separater Artikel [[MySQL]] und [[MySQL-Datenbank anlegen Schritt für Schritt]]&lt;br /&gt;
* Web-Frontend: [http://www.phpmyadmin.net phpMyAdmin] ist unter https://phpmyadmin.hostsharing.net/current/ erreichbar.&lt;br /&gt;
* Online-Dokumentation: Die Online-Doku zu MySQL gibt es unter http://dev.mysql.com/doc/. Auf dieser Site gibt es auch mehrere Fassungen der kompletten Doku zum Downloaden.&lt;br /&gt;
&lt;br /&gt;
== PostgreSQL ==&lt;br /&gt;
* Server: Es gibt einen eigenen PostgreSQL-Server auf jedem Host.&lt;br /&gt;
* Nutzung bei Hostsharing: siehe separater Artikel [[PostgreSQL]]&lt;br /&gt;
* Web-Frontend: [http://www.phppgadmin.net phpPgAdmin] ist unter https://phppgadmin.hostsharing.net/current erreichbar.&lt;br /&gt;
* Online-Dokumentation: Die Online-Doku gibt es unter http://www.postgresql.org/docs/manuals/. Eine Liste von Büchern (einige davon zum Download) unter http://www.postgresql.org/docs/books/.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
[[Kategorie:HSDoku]]&lt;br /&gt;
[[Kategorie:Datenbanken]]&lt;br /&gt;
[[Kategorie:Glossar]]&lt;/div&gt;</summary>
		<author><name>Peh00-phor</name></author>
	</entry>
</feed>