Multi PHP mit Debian und ISPconfig3

Hallo, Du möchtest z.B. PHP5 und PHP7 auf deinem DebianServer mit ISPConfig3 via APT installieren?

Hier zeige ich Dir, wie es geht. Ich gehe mal davon aus, das Du schon als root in der Shell eingeloggt bist.
Achtung! Diese Anleitung funktioniert nur mit Debian8 und Debian9

Zuerst bringen wir Debian auf den neusten Stand mit:
apt update && apt upgrade -y

Nun müssen wir Sury.org zur source.list hinzufügen:
apt-get install apt-transport-https lsb-release ca-certificates
wget -O /etc/apt/trusted.gpg.d/php.gpg https://packages.sury.org/php/apt.gpg
echo "deb https://packages.sury.org/php/ $(lsb_release -sc) main" > /etc/apt/sources.list.d/php.list
apt update && apt upgrade -y

Nun Installieren wir die gewünschte PHP Version, beachte ab PHP7.2 ist das Paket „php-mycrpt“ nicht mehr verfügbar.

Für PHP5.6
apt -y install php5.6 php5.6-common php5.6-fpm php5.6-gd php5.6-mysql php5.6-imap php5.6-cli php5.6-cgi php-pear php5.6-mcrypt php5.6-curl php5.6-intl php5.6-pspell php5.6-recode php5.6-sqlite3 php5.6-tidy php5.6-xmlrpc php5.6-xsl php-memcache php-imagick php-gettext php5.6-zip php5.6-mbstring php5.6-soap php5.6-common php5.6-opcache php5.6-mysql

PHP7.0
apt -y install php7.0 php7.0-common php7.0-fpm php7.0-gd php7.0-mysql php7.0-imap php7.0-cli php7.0-cgi php-pear php7.0-mcrypt php7.0-curl php7.0-intl php7.0-pspell php7.0-recode php7.0-sqlite3 php7.0-tidy php7.0-xmlrpc php7.0-xsl php-memcache php-imagick php-gettext php7.0-zip php7.0-mbstring php7.0-soap php7.0-common php7.0-opcache php7.0-mysql

PHP7.1
apt -y install php7.1 php7.1-common php7.1-fpm php7.1-gd php7.1-mysql php7.1-imap php7.1-cli php7.1-cgi php-pear php7.1-mcrypt php7.1-curl php7.1-intl php7.1-pspell php7.1-recode php7.1-sqlite3 php7.1-tidy php7.1-xmlrpc php7.1-xsl php-memcache php-imagick php-gettext php7.1-zip php7.1-mbstring php7.1-soap php7.1-common php7.1-opcache php7.1-mysql

PHP7.2
apt -y install php7.2 php7.2-common php7.2-fpm php7.2-gd php7.2-mysql php7.2-imap php7.2-cli php7.2-cgi php-pear php7.2-curl php7.2-intl php7.2-pspell php7.2-recode php7.2-sqlite3 php7.2-tidy php7.2-xmlrpc php7.2-xsl php-memcache php-imagick php-gettext php7.2-zip php7.2-mbstring php7.2-soap php7.2-common php7.2-opcache php7.2-mysql

PHP7.3 Vorsicht diese Version ist noch im Beta Stadium
apt -y install php7.3 php7.3-common php7.3-fpm php7.3-gd php7.3-mysql php7.3-imap php7.3-cli php7.3-cgi php-pear php7.3-curl php7.3-intl php7.3-pspell php7.3-recode php7.3-sqlite3 php7.3-tidy php7.3-xmlrpc php7.3-xsl php-memcache php-imagick php-gettext php7.3-zip php7.3-mbstring php7.3-soap php7.3-common php7.3-opcache php7.3-mysql

Nun setzen wir wieder die Default PHP Version:
Für Debian8 PHP5.6 und für Debian9 PHP7.0
update-alternatives --config php
update-alternatives --config php-cgi

Nun Loggen wir uns als Admin ins ISPConfig3 ein und Navigieren zu System ->
Zusätzliche PHP Versionen, siehe Bilder unten.

PHP 5.6
Pfad zum PHP FastCGI Binary: php-cgi5.6
Pfad zum php.ini Verzeichnis: /etc/php/5.6/cgi/php.ini

Pfad zum PHP-FPM Init Script php5.6-fpm
Pfad zum php.ini Verzeichnis: /etc/php/5.6/fpm/php.ini
Pfad zum PHP-FPM Pool Verzeichnis: /etc/php/5.6/fpm/pool.d

PHP 7.0
Pfad zum PHP FastCGI Binary: php-cgi7.0
Pfad zum php.ini Verzeichnis: /etc/php/7.0/cgi/php.ini

Pfad zum PHP-FPM Init Script: php7.0-fpm
Pfad zum php.ini Verzeichnis: /etc/php/7.0/fpm/php.ini
Pfad zum PHP-FPM Pool Verzeichnis: /etc/php/7.0/fpm/pool.d

PHP 7.1
Pfad zum PHP FastCGI Binary: php-cgi7.1
Pfad zum php.ini Verzeichnis: /etc/php/7.1/cgi/php.ini

PPfad zum PHP-FPM Init Script: php7.1-fpm
Pfad zum php.ini Verzeichnis: /etc/php/7.1/fpm/php.ini
Pfad zum PHP-FPM Pool Verzeichnis: /etc/php/7.1/fpm/pool.d

PHP 7.2
Pfad zum PHP FastCGI Binary: php-cgi7.2
Pfad zum php.ini Verzeichnis: /etc/php/7.2/cgi/php.ini

Pfad zum PHP-FPM Init Script: php7.2-fpm
Pfad zum php.ini Verzeichnis: /etc/php/7.2/fpm/php.ini
Pfad zum PHP-FPM Pool Verzeichnis: /etc/php/7.2/fpm/pool.d

PHP 7.3
Pfad zum PHP FastCGI Binary: php-cgi7.3
Pfad zum php.ini Verzeichnis: /etc/php/7.3/cgi/php.ini

Pfad zum PHP-FPM Init Script: php7.3-fpm
Pfad zum php.ini Verzeichnis: /etc/php/7.3/fpm/php.ini
Pfad zum PHP-FPM Pool Verzeichnis: /etc/php/7.3/fpm/pool.d

ISPphp1ISPphp2ISPphp3ISPphp4

Das war es auch schon, ich wünsche euch viel Spaß beim nachmachen.

Installation vom ZNC BNC

Installation vom ZNC BNC.
Als erstes installiert ihr euch einen Editor eurer Wahl.
Ich persönlich mag Nano.
apt-get install nano

Sollte dein Debian noch auf englisch sein:
dpkg-reconfigure locales
Da könnt ihr am besten alle De_de auswählen und alle anderen Pakete abwählen.

Solltet ihr noch keinen User angelegt haben machen wir das jetzt.
adduser <Username> <– Enter
Geben Sie ein neues UNIX-Passwort ein: <hier_ein_sicheres_passwort> <– Enter
Geben Sie das neue UNIX-Passwort erneut ein: <das_passwort_wiederholen> <– Enter
Bei den nachfolgenden Fragen könnt ihr einfach Enter klicken.
Sind die Informationen korrekt? [J/n] <– J <– Enter Fertig.

Danach loggen wir uns als root aus und als User wieder ein.

Schritt 1) Server-Pakete installieren:
su <– Enter
root_passwort <– Enter
apt-get update <– Enter
apt-get upgrade <– Enter

Eine Möglichkeit wäre nun:
apt-get install znc <– Enter
Diese Version ist aber veraltet.
Also weiter mit der zweiten Möglichkeit:

apt-get install build-essential libssl-dev libperl-dev libperl-dev pkg-config libc-ares-dev python3-dev tcl8.5 tcl8.5-dev swig<– Enter
Nun holt ihr euch den neusten ZNC.
wget http://znc.in/releases/znc-1.2.tar.gz<– Enter
zum Entpacken:
tar -xzvf znc-1.2.tar.gz <– Enter
dann gehts los:
cd ~/znc-1.2 <– Enter
Wir Installieren den ZNC mit allen wichtigen Module falls ihr welche nicht braucht einfach weglassen oder wenn ihr noch was braucht zufügen.
./configure --enable-extra --enable-charset --with-openssl --enable-perl --enable-python --enable-swig --enable-tcl <– Enter
make <– Enter
make install <– Enter
exit<– EnterAb hier brauchen und dürfen wir keine root rechte mehr.
./znc --makeconf <– Enter Alle Fragen beantworten, fertig.

Ich wünsche euch viel Spaß mit eurem ZNC

Horde-Webmail Syncronisation

Wenn ihr Euch in Horde-Webmail einloggt, habt ihr ja nicht nur eure E-Mails sondern auch Kalender und Adressen. Diese lassen sich auch mit externen Programmen synchronisieren.
Wenn ihr neben euren Kalender auf das Stift Symbol = Bearbeiten klickt, findet ihr bei Abonnement die entsprechende Adresse zu eurem Kalender, das gleiche ist bei eurem Adressbuch.

Ihr seht, es gibt viele Möglichkeiten euren E-Mai-Account mit Horde-Webmail zu synchronisieren. Hier ein paar Beispiele wie es gehen kann:

  1. Smartphone / Tablet mit dem E-Mail-Klienten, wenn es EAS unterstützt: Exchange auswählen ->> Benutzername = E-Mail@Adresse ->> Passwort = E-Mail Passwort ->> Server Adresse = Eure Domain ->> Haken bei SSL ->> SSL.cert akzeptieren ->> fertig.
  2. Smartphone / Tablet mit SyncML aus dem App Store/ google Play usw. ein Funambol/SyncML-Client Installieren ->> Benutzername = E-Mail@Adresse ->> Passwort = E-Mail Passwort ->> Server Adresse = https://Eure/domain/horde/rpc.php ->> eventuell Haken bei SSL ->> SSL.cert akzeptieren ->> fertig.
  3. Outlook 2013 siehe 1). Bei den älteren Outlook Versionen wäre SyncML wie bei 2) eine Option, einfach funambol-outlook-sync-client Herunterladen und installieren.
  4. Thunderbird Kalender ->> Einstellungen ->> Addons und da Lightning Installieren. Nach Neustart vom Thunderbird bei Termine und Aufgaben den Kalender auswählen. Bei Kalender Rechtsklick mit der Maus ->> Neuer Kalender ->> Im Netzwerk ->> Format: iCalender (ICS) auswählen und den Link zu eurem Kalender eintragen ->> Benutzer Name = E-Mailadresse ->> Passwort = E-Mail Passwort.
  5.  Thunderbird Kontakte dafür müsst ihr im Thunderbird auf Remote-Adressbuch gehen dort gebt ihr den Link zu euren Horde Adressbuch ein.

 

Ich hoffe ich konnte euch helfen

Horde-Webmail löschen von E-Mails

Wenn ihr in Horde-Webmail E-Mails löscht, werden sie nur durchgestrichen bzw. als gelöscht markiert und nicht in einen Mülleimer verschoben.
Besonders mit Blick auf Outlook oder Tablet/Smartphone ist das unpraktisch. Also ändern wir das

  • In Horde-Webmail einloggen
  • Mit der Maus auf Werkzeug Symbol ->> Benutzereinstellungen ->> Webmail klicken
  • Nachrichten löschen und verschieben auswählen
  • Die ersten beiden Menüpunkte auswählen
  • Als „Papierkorb“-Ordner: -> Trash wählen

 

Ab sofort werden eure Mails in den Papierkorb verschoben.
Ach ja solltet ihr schon mal das E-Mail-Konto mit Outlook als IMAP genutzt haben, könnte es sein, dass der Trash Ordner genau wie bei Outlook „Gelöschte Elemente“ heißt. In dem Fall wird dieser ausgewählt.

Horde-Webmail auf einen Debian 9 Server mit ISPConfig 3

Hallo,
Du hast einen Debian 9 Server mit ISPconfig 3 und willst eine Groupware?
Dann wäre doch Horde-Webmail genau das Richtige.
Hier erkläre ich dir, wie du Horde-Webmail auf einen Debian 9 Server mit ISPConfig 3 installierst.
Zur Horde Installation:
Erst das System auf den neusten Stand bringen mit:

apt update && apt upgrade.

Dann Horde-Webmail installieren mit:

apt install php-horde-webmail –y

Danach Legen wir als erstes eine Datenbank an:

mysql -u root -p

Mit dem MySQl root Passwort bestätigen und dann:

CREATE DATABASE horde;
GRANT ALL ON horde.* TO horde@localhost IDENTIFIED BY 'PASSWORD';
FLUSH PRIVILEGES;
exit;

Bei PASSWORD sollte natürlich dein eigenes Passwort rein.
Dann das Installations Script aufrufen mit:

webmail-install

und die Fragen Beantworten:

What database backend should we use?
(false) [None]
(mysql) MySQL / PDO
(mysqli) MySQL (mysqli)
(oci8) Oracle
(pgsql) PostgreSQL
(sqlite) SQLite

Type your choice []:

mysqli

Username to connect to the database as* []

horde

Password to connect with

euer oben erstelltes horde Passwort

How should we connect to the database?
(unix) UNIX Sockets
(tcp) TCP/IP
Type your choice [unix]: Enter
Location of UNIX socket [] Enter
Database name to use* []

horde

Internally used charset* [utf-8] Enter
Use SSL to connect to the server?
(1) Yes
(0) No

Type your choice [0]: Enter
Certification Authority to use for SSL connections []

false

Split reads to a different server?
(false) Disabled
(true) Enabled

Type your choice [false]: Enter

Specify an existing mail user who you want to give administrator
permissions (optional):

Hier eine in ISPConfig3 vorhandene Admin Mail Adresse

Weiter geht es mit:

apt install php-horde-passwd

nun machen wir erstmal aus der backends.php eine locale php damit diese beim Update nicht überschrieben wird.

cp /usr/share/horde/passwd/config/backends.php 
/usr/share/horde/passwd/config/backends.local.php

Nun öffnen wir zum Bearbeiten die Datei und ändern einige Teile:
nano /usr/share/horde/passwd/config/backends.local.php
Suche nach:

$backends['hordesql'] = array (
'disabled' => false,

und mach daraus, wenn es nicht schon sein sollte:

$backends['hordesql'] = array (
'disabled' => true,

Weiter suchen wir nach:

$backends['sql'] = array (
'disabled' => false,
'name' => 'SQL Server',
[...]
// 'query_lookup' => 'SELECT user_pass FROM horde_users WHERE user_uid = %u',
// 'query_modify' => 'UPDATE horde_users SET user_pass = %e WHERE user_uid = %u',
),
);

Daraus machen wir dann:

$backends['sql'] = array (
'disabled' => false,
'name' => 'SQL Server',
'preferred' => '',
'policy' => array(
'minLength' => 7,
'maxLength' => 64,
'maxSpace' => 0,
'minNumeric' => 1,
),
'driver' => 'Sql',
'params' => array(
'phptype' => 'mysql',
'hostspec' => 'localhost',
'username' => 'root',
'password' => 'MySQL RootPasswort',
'encryption' => 'crypt-md5',
'database' => 'ISPCONFIG_DATABASE',
'table' => 'mail_user',
'user_col' => 'email',
'pass_col' => 'password',
'show_encryption' => false
// The following two settings allow you to specify custom queries for
// lookup and modify functions if special functions need to be
// performed. In places where a username or a password needs to be
// used, refer to this placeholder reference:
// %d -> gets substituted with the domain
// %u -> gets substituted with the user
// %U -> gets substituted with the user without a domain part
// %p -> gets substituted with the plaintext password
// %e -> gets substituted with the encrypted password
//
// 'query_lookup' => 'SELECT user_pass FROM horde_users WHERE user_uid = %u',
// 'query_modify' => 'UPDATE horde_users SET user_pass = %e WHERE user_uid = %u',
),
);

Bitte achte darauf das bei pass_col das MySql root Passwort hinkommt

Nun können wir uns unter http://deine.Domain/horde mit der Admin Mail Adresse in Horde einloggen.

  1. Im Administrations Bereich müssen nun noch die Configs von den einzelnen Modulen geschrieben/gespeichert werden.
    Dabei haben wir nun verschiedene Möglichkeiten:
  2. wir erzeugen die Configuration und speichern sie manuell und setzen: chown www-data:www-data
    wir geben den Verzeichnissen temporär Schreibrechte, wobei wir das Verzeichnis auch auf chown www-data:www-data setzen müssten, was aber nicht sehr Sicher
  3. Über das Horde Login die Config mit FTP auf dem Server speichern und verschieben.

Wenn die conf.php‘s schon da sind brauchen wir diese auch nur auf chown www-data:www-data setzen und können alles andere von Horde Login aus machen.
Ich wünsche euch viel Spaß mit eurer Horde-Webmail.
Einige Teile dieses Howto’s stammen von howtoforge.com und wurden nur für Debian 9 Angepasst