FAQ - Webhosting

Häufig gestellte Fragen

Zur Übersicht

Bei McDomain können Sie für die komplette Domain die PHP-Version über das Kundenmenü umstellen. Es ist aber auch möglich, nur für ein Verzeichnis eine andere PHP-Version zu nutzen.

Erstellen Sie dazu eine .htaccess-Datei in dem betreffenden Verzeichnis. Als Inhalt fürgen Sie bitte folgendes in die .htaccess-Datei ein, wenn Sie zum Beispiel PHP 7 nutzen wollen:

AddType application/x-httpd-php7 .php

Der Pfad zu ImageMagick ist: /usr/bin/convert

ImageMagick steht bei McDomain ab PHP 5 vorkompiliert zur externen Einbindung zur Verfügung. Um es zu verwenden, müssen Sie die Extension „imagick.so“ einbinden. Infos zur Einbindung vorkompilierter PHP-Module

Safe Mode ist bei uns auf „OFF“ gesetzt. Da PHP auf unseren Servern als CGI ausgeführt wird, ist sichergestellt, dass es durch die Deaktivierung des Safe Mode zu keinerlei Sicherheitslücken kommt!

Den absoluten Serverpfad Ihres Accounts finden Sie in Ihrem Kundenmenü bei „Informationen“ unter dem Punkt „Serverpfad“.

Sie können bei McDomain zahlreiche PHP-Versionen für jede Domain (nicht Subdomain) auswählen. Die Auswahl treffen Sie ganz einfach über das Kundenmenü unter:

  • „Domain“
  • betreffende Domain auswählen und „öffnen“
  • Reiter „Einstellungen“
  • Dropdown Menü „PHP-Version“

Zudem können Sie die Edition auswählen, um festzulegen, welchen Funktionsumfang / welche Module Sie für die Website zur Verfügung stellen wollen. Je umfangreicher der Umfang, desto umfangreicher ist jedoch auch die Last für den Server und somit desto langsamer kann die Auslieferung der Webseiten erfolgen, was eine Benachteiligung für Besucher und Suchmaschinen darstellen kann. Unter PHP-Edition können Sie wählen zwischen:

  • Extended
  • LIGHT
  • STANDARD
  • FASTCGI

Mittels einer sogenannten .htaccess-Datei ist es auf relativ einfache und sichere Weise möglich, einen passwortgeschützten Bereich für Ihre Website einzurichten.

Um ein Verzeichnis Ihres Webspace nur mittels eines Benutzernamens und eines Passworts zugänglich zu machen, gehen Sie bitte wie folgt vor:

1. Erstellen Sie über einen Texteditor eine Datei mit dem Namen .htaccess und fügen Sie die entsprechenden Zeilen ein. Nachfolgend sehen Sie ein Beispiel für eine solche .htaccess-Datei:

# .htaccess-Datei fuer das Verzeichnis /test

AuthType Basic
AuthName „TopSecret-Bereich“
AuthUserFile /[IHR-AUFTRAGSVERZEICHNIS]/[EIN-UNTERVERZEICHNISSE]/.htusers
AuthPGAuthoritative Off
require user Günther Monique Marco

Erklärung zu obenstehender .htaccess-Datei:

AuthType: Steht für den Typ der Authentifizierung.

AuthName: Wird in dem PopUp-Fenster angezeigt, welches sich beim Aufrufen des geschützten Bereichs öffnet.

AuthUserFile: Angabe des absoluten Pfades der Datei, welche die Daten zur Authentifizierung (Benutzernamen und Passwörter) enthält. Der absolute Pfad enthält sowohl etwaige Unterverzeichnisse Ihres Webspace (in obigem Beispiel als „Etwaige Unterverzeichnisse“ bezeichnet) als auch den absoluten Pfad Ihres Accounts auf dem Webserver (in obigem Beispiel als „Ihr Auftragsverzeichnis“ bezeichnet). Den absoluten Pfad Ihres Accounts finden Sie in Ihrem Kundenmenü unter dem Punkt „Informationen“.

require user: Hier kann festgelegt werden, welchen Benutzern aus dem AuthUserFile der Zugriff auf den geschützten Bereich gewährt werden soll.

Nach Eingabe der Daten können Sie die Datei als Textdatei mit dem Dateinamen „.htaccess“ speichern.

2. Erstellen Sie eine .htusers-Datei mit den entsprechenden Angaben, nachfolgend sehen Sie ein Beispiel hierzu:

#.htusers-Datei für Benutzernamen und Passwörter
Günther:$2y$05$MQ7RdCCRrKmBEDD/u4pks.9qAV8RCKy4YCP2pzgmc4lppfli41z
Monique:$2y$10$.vGA1O9wmRjrwAVXD98HNOgsNpDczlqm3Jq7KnEd1rVAGv3Fykk1a
Marco:$2y$12$QjSH496pcT5CEbzjD/vtVeH03tfHKFy36d4J0Ltp3lRtee9HDxY3K

Der 1. Eintrag (Günther) wurde zum Beispiel mit dem Befehl `echo password_hash("hallo", PASSWORD_DEFAULT)."\n";` generiert.

Bei den Angaben vor dem Doppelpunkt handelt es sich um die Benutzernamen, bei den Angaben nach dem Doppelpunkt handelt es sich um die Passwörter zu den einzelnen Benutzern. Zu beachten ist hierbei, dass in dieser Datei die Passwörter nur in verschlüsselter Form gespeichert sein dürfen. Eine Möglichkeit, Ihre Passwörter zu verschlüsseln, finden Sie beispielsweise auf der Seite von PHP.net oder SelfHTML.

Nun können Sie die Datei als Textdatei mit dem Dateinamen „.htusers“ speichern.

3. Laden Sie die Dateien per FTP auf Ihren Webspace.

.htaccess: Die .htaccess-Datei speichern Sie bitte in das Verzeichnis, in welchem sich die zu schützenden Daten befinden.

.htusers: Die .htusers-Datei speichern Sie bitte in das in der .htaccess-Datei im Eintrag „AuthUserFile“ angegebene Verzeichnis.

Nun ist der Zugriff auf Dateien in diesem Verzeichnis nur mittels Eingabe der entsprechenden Benutzernamen und Passwörter möglich.

PHP-Scripte sind auf unseren Servern in allen Verzeichnissen lauffähig.

Definitiv ist dies ein anstrebbares Ziel. In der Version 7 wurden viele Optimierungen integriert. PHP 7 ist nochmal deutlich schneller als PHP 5 und gleichzeitig Ressourcenschonender. Damit werden Websites noch schneller ausgeliefert, was nicht nur eine bessere User-Erfahrung bedeutet, sondern auch ein Ranking-Faktor für Suchmaschinen wie Google darstellt.

Leider kann man nicht immer genau vorhersagen, ob Ihre alten Scripte auch unter PHP 7 lauffähig sind. Generell kann man sagen, dass Scripte, die unter PHP 5.6 liefen, auch unter PHP 7 funktionieren sollten. Unter http://php.net/manual/de/migration70.php kann man einsehen, wie man eine Seite migriert, wenn es Probleme geben sollte.

Im Folgenden eine List der vorkompilierten Module. Bitte binden Sie nur die ein, die wirklich benötigt werden, um eine hohe Performance der Website zu gewährleisten.

Für PHP 5 und PHP 7 verfügbare Module

  • curl.so
  • imagick.so
  • imap.so
  • intl.so
  • PHP 5.4: ioncube_loader_lin_5.4.so
  • PHP 5.5: ioncube_loader_lin_5.5.so
  • PHP 5.6: ioncube_loader_lin_5.6.so
  • PHP 7.0: ioncube_loader_lin_7.0.so
  • PHP 7.0: ioncube_loader_lin_7.1.so
  • PHP 7.0: ioncube_loader_lin_7.2.so
  • PHP 7.0: ioncube_loader_lin_7.3.so
  • ldap.so
  • mailparse.so
  • mbstring.so
  • mcrypt.so
  • memcache.so (nur bis PHP 5.6)
  • mime_magic.so
  • mysqlind.so (ab PHP 5.4 nicht mehr notwendig, da bereits einkompiliert)
  • mysqlnd.so (ab PHP 5.4 nicht mehr notwendig, da bereits einkompiliert)
  • ncurses.so
  • oauth.so
  • pgsql.so
  • soap.so
  • sockets.so
  • suhosin.so (nur PHP 5)
  • suhosin7.so (nur PHP 7)
  • tidy.so
  • xmlrpc.so
  • zip.so (ab PHP 5.4 nicht mehr notwendig, da bereits einkompiliert)

PHP 7 ist die neuste Version der weitverbreiteten OpenSource-Skriptsprache PHP, die speziell für die Nutzung im Internet konzipiert wurde.

Informationen zur Programmiersprache erhalten Sie unter www.php.net

Über den user.ini Editor haben Sie die Möglichkeit, die Einstellungen für PHP für Ihre Webpräsenzen anzupassen. Dies geschieht über ein komfortables Interface in Ihrem Kundenmenü. Hier einige Punkte die angepasst werden können:

  • expose_php: Bestimmt, ob PHP die Tatsache, dass es auf dem Server installiert ist, über einen Header bekannt geben darf (z.B. X-Powered-By: PHP/8.1.0).
  • max_input_vars: Legt fest, wie viele Eingabe-Variablen maximal angenommen werden (dieses Limit wird auf die superglobalen $_GET, $_POST und $_COOKIE separat angewandt). Diese Direktive verhindert die Nutzung von Hashtable Kollisionen für eine Denial of Service Attacke.
  • display_errors: Mit Aktivierung dieser Checkbox werden Fehlermeldungen direkt im Browser mit ausgegeben. Wir empfehlen, diese Option nicht für öffentlich zugängliche Seiten zu aktivieren, da andernfalls die Gefahr besteht, dass u.U. sensible Daten preisgegeben werden.
  • log_errors: Durch Aktivierung dieser Checkbox werden Fehlermeldungen nicht im Browser mit ausgegeben, sondern in eine Log-Datei geschrieben. Den Pfad zu dieser Logdatei können Sie über die nachfolgende Option error_log festlegen.
  • error_log: Sofern Sie die obenstehende Option log_errors aktiviert haben, so können Sie hier die Log-Datei definieren, in welche die Fehlermeldungen geschrieben werden sollen. Wenn die Datei bereits existiert, achten Sie bitte darauf, dass Sie Schreibrechte für die Datei besitzen. Wenn die Datei gemäß Ihren nebenstehenden Angaben angelegt werden soll, so achten Sie bitte darauf, dass Sie Schreibrechte für das entsprechende Verzeichnis besitzen.
  • include_path: Hier kann eine Liste von Verzeichnissen angegeben weden, in welchen die Funktionen require, include und fopen_with_path nach Dateien suchen sollen. Die Verzeichnisse müssen hierbei durch einen einfachen Doppelpunkt voneinander getrennt werden, z.B.: /mein-verzeichnis1/unterverzeichnis/: /mein-verzeichnis2/unterverzeichnis/
  • upload_max_filesize: Hier können Sie die maximale Größe in Bytes für das Hochladen von Dateien festlegen. Bitte beachten Sie, dass hier unbedingt die Eingabe in Bytes erforderlich ist Alternativ hierzu können Sie auch eine Eingabe in der Form 8M in diesem Fall für 8 Megabyte oder 16k für 16 Kilobyte vornehmen.

Für die verschiedenen PHP-Editionen stellt McAc.net zahlreiche Module bereits standardmäßig in PHP einkompiliert zur Verfügung. Einige PHP-Module werden hingegen nicht einkompiliert bereitgestellt, können jedoch extern in PHP eingebunden werden.

Viele dieser Module stellen wir bereits vorkompiliert zur Verfügung, so dass eine einfache und schnelle Einbindung vorgenommen werden kann. Zudem nimmt McAc.net bei Aktualisierungen von PHP automatisch eine Neukompilierung der jeweiligen Module vor, ohne dass Ihrerseits ein manuelles Eingreifen erforderlich wäre!

Um vorkompilierte Module in PHP einzubinden, erstellen Sie im php.ini-Editor unter der jeweiligen Domain bitte einfach einen entsprechenden Eintrag. Hierbei sind die folgenden Angaben erforderlich:

1. Angabe des Modul-Verzeichnisses

Alle für eine bestimmte Edition von PHP zusätzlich verfügbaren Module befinden sich in einem gemeinsamen Verzeichnis. Dieses Verzeichnis muss in der php.ini-Datei angegeben werden, um beim Aufruf von PHP sicherzustellen, dass an der richtigen Stelle nach dem zu ladenden Modul gesucht wird. Nachfolgend finden Sie die Verzeichnisse für die unterschiedlichen bei McAc.net verfügbaren Editionen von PHP:

  • /usr/local/lib/php_modules/5-53STABLE
  • /usr/local/lib/php_modules/5-54STABLE
  • /usr/local/lib/php_modules/5-55STABLE
  • /usr/local/lib/php_modules/5-55LEGACY
  • /usr/local/lib/php_modules/5-55LATEST
  • /usr/local/lib/php_modules/5-56STABLE
  • /usr/local/lib/php_modules/5-56LATEST
  • /usr/local/lib/php_modules/5-56LEGACY
  • /usr/local/lib/php_modules/7-70STABLE
  • /usr/local/lib/php_modules/7-70LATEST
  • /usr/local/lib/php_modules/7-71LEGACY
  • /usr/local/lib/php_modules/7-71STABLE
  • /usr/local/lib/php_modules/7-71LATEST
  • /usr/local/lib/php_modules/7-72STABLE
  • /usr/local/lib/php_modules/7-72LATEST
  • /usr/local/lib/php_modules/7-73STABLE
  • /usr/local/lib/php_modules/7-73LATEST

Für die LIGHT- und EXTENDED-Editionen können die Verzeichnisse der jeweils übergeordneten Edition verwendet werden. Möchten Sie beispielsweise für die Edition „7-73LATEST-EXTENDED“ Module extern einbinden, so verwenden Sie bitte das Verzeichnis der Edition „7-73LATEST“.

Der Eintrag in die php.ini-Datei ist wie folgt vorzunehmen:

extension_dir=“/usr/local/lib/php_modules/7-73LATEST

Möchten Sie für eine andere PHP-Edition die Moduleinbindung vornehmen, so passen Sie die Pfadangabe im genannten Beispiel bitte einfach entsprechend an.

2. Angabe des einzubindenden Verzeichnisses

Neben der Angabe des Modul-Verzeichnisses ist es erforderlich, in der php.ini-Datei das Modul anzugeben, welches extern eingebunden werden soll. Dieser Eintrag ist wie folgt vorzunehmen:

extension=“openssl.so“

In diesem Beispiel wird das openssl-Modul eingebunden, bitte ersetzen Sie das Wort „openssl“ einfach durch den Namen des Moduls, welches Sie gerne einbinden möchten. Eine Liste der verfügbaren Module können Sie über den nachfolgenden FAQ-Beitrag in Erfahrung bringen.

Beachten Sie bitte, dass über den php.ini-Editor lediglich ein einzelnes zusätzliches PHP-Modul eingebunden werden kann. Sollen mehrere PHP-Module gleichzeitig eingebunden werden, so ist dies ausschließlich über das manuelle Anlegen einer eigenen php.ini-Datei möglich.

Selbstverständlich können Sie ein Einbinden von Modulen auch mittels Erstellen bzw. Editieren von php.ini-Dateien ohne die Verwendung des php.ini-Editors vornehmen. Nach manueller Anlage der php.ini-Datei nehmen Sie dort bitte einen Eintrag wie weiter oben beschrieben vor, um die gewünschten Module einzubinden.

ACHTUNG: Bitte beachten Sie, dass wir uns bemühen, stets auf die ordnungsgemäße Funktionalität der zusätzlich vorkompilierten Module zu achten, wir hierfür jedoch keine Gewährleistung übernehmen können.

.htaccess bietet neben dem Einrichten von geschützten Bereichen viele weitere nützliche Funktionen. Ausführlichere Informationen zum Thema .htaccess finden Sie beispielsweise auf der Seite von Selfhtml.

Der Editor steht Ihnen in allen Tarifen mit PHP zur Verfügung.

PHP 5 ist deutlich verbessert worden gegenüber der Version 4. Im Vordergrund steht vor allem objektorientierte Programmierung, die deutlich erweitert wurde. Auch XML-Funktionalitäten wurden deutlich erweitert.

Das Modul „ionCube Loader“ stellt eine Alternative zum Zend Optimizer dar und steht bei McDomain bereits vorkompiliert zur Verfügung. Es wird über die Zend-Extension geladen und daher anders eingebunden, als weiter oben für die vorkompiliert bereitgestellten PHP-Module beschrieben.

Um „ionCube Loader“ einzubinden, ersetzen Sie im PHP.INI-Editor unter „Häufig genutzte Optionen“ die Angabe bei „zend_extension“ abhängig von der verwendeten PHP-Edition durch:

  • PHP-Edition 5-54-STABLE:
    /usr/local/lib/php_modules/5-54STABLE/ioncube_loader_lin_5.4.so
  • PHP-Edition 5-55-STABLE:
    /usr/local/lib/php_modules/5-55STABLE/ioncube_loader_lin_5.5.so
  • PHP-Edition 5-55-LATEST:
    /usr/local/lib/php_modules/5-55LATEST/ioncube_loader_lin_5.5.so
  • PHP-Edition 5-56-STABLE:
    /usr/local/lib/php_modules/5-56STABLE/ioncube_loader_lin_5.6.so
  • PHP-Edition 5-56-LATEST:
    /usr/local/lib/php_modules/5-56LATEST/ioncube_loader_lin_5.6.so
  • PHP-Edition 7- LEGACY:
    /usr/local/lib/php_modules/7-70 LEGACY/ioncube_loader_lin_7.0.so
  • PHP-Edition 7-STABLE:
    /usr/local/lib/php_modules/7-70STABLE/ioncube_loader_lin_7.0.so
  • PHP-Edition 7-LATEST:
    /usr/local/lib/php_modules/7-70LATEST/ioncube_loader_lin_7.0.so
  • PHP-Edition 7-1LEGACY:
    /usr/local/lib/php_modules/7-71LEGACY/ioncube_loader_lin_7.1.so
  • PHP-Edition 7-1STABLE:
    /usr/local/lib/php_modules/7-71STABLE/ioncube_loader_lin_7.1.so
  • PHP-Edition 7-1LATEST:
    /usr/local/lib/php_modules/7-71LATEST/ioncube_loader_lin_7.1.so
  • PHP-Edition 7-2STABLE:
    /usr/local/lib/php_modules/7-72STABLE/ioncube_loader_lin_7.2.so
  • PHP-Edition 7-2LATEST:
    /usr/local/lib/php_modules/7-72LATEST/ioncube_loader_lin_7.2.so
  • PHP-Edition 7-3STABLE:
    /usr/local/lib/php_modules/7-73STABLE/ioncube_loader_lin_7.3.so
  • PHP-Edition 7-3LATEST:
    /usr/local/lib/php_modules/7-73LATEST/ioncube_loader_lin_7.3.so

Aktivieren Sie ggf. im PHP.INI-Editor unter „Häufig genutzte Optionen“ die Option „zend_optimizer.enable_loader„.

Um für eine einzelne Domain eine php.ini-Datei anzulegen, klicken Sie bitte einfach im Kundenmenü auf „Domain“ und dann bei der gewünschten Domain auf das Icon rechts. Es öffnet sich ein Dropdown-Menü. Klicken Sie dann auf den Reiter „Einstellungen“. Hier können Sie die entsprechenden Änderungen vornehmen, welche sofort aktiv werden.

Beim Anlegen oder Verändern einer php.ini-Datei stehen Ihnen eine Vielzahl von Optionen und Parametern zur Verfügung. Erklärungen hierzu finden Sie direkt im Editor neben der entsprechenden Option. Weiterführende Dokumentation ist unter de.php.net/configuration verfügbar.

Die Direktive „AllowOverride“ ist Teil der Serverkonfiguration und ist kein .htaccess-Feature. Daher kann „AllowOverride“ nicht über die .htaccess-Datei gesetzt oder von Ihnen geändert werden.

Grundsätzlich ist die von McDomain verwendete php.ini so konfiguriert, dass eine höchstmögliche Kompatibilität bei ausreichender Sicherheit gewährleistet wird. Sollten Sie feststellen, dass eines Ihrer Skripte aufgrund einer Einstellung in der php.ini nicht wie vorgesehen läuft, so können Sie dies eventuell mit anderen Einstellungen in der user.ini korrigieren.

Gleiches gilt für die Sicherheit Ihrer Skripte. Sollten Sie andere Sicherheitspräferenzen benötigen, so kann dies nun bequem Eingestellt werden.

Folgende .htaccess-Features sind bei jedem webspace-fähigen Account bei McDomain aktiviert:

  • AddHandler/AddType/ForceType (Content-/MIME-Type)
  • DirectoryIndex
  • ErrorDocument (eigene Fehlerseiten)
  • <Files>
  • <FilesMatch>
  • mod_deflate
  • mod_rewrite
  • Options +Indexes (Verzeichnisbrowsing)
  • Passwortschutz
  • Redirect (Umleitungen)

Folgende Punkte können nicht mit dem php.ini Editor angepasst werden:

  • PHP dadurch als Modul laufen lassen
  • Module einfügen, die nicht für den Einsatz als „nachladbares“ Modul geeignet sind
  • ein eigenes php-binary nutzen
  • SQLite ein- oder aus schalten.