Controlpanels / Hostingsoftware
- ISPConfig
- Parallels PLESK
- ASP-Seiten funktionieren nicht
- Fehlermeldung nach Update auf 8.2.0 - Error: HTTPD SERVICE not defined
- FTP-Kennwort des Haupt-FTP-Accounts ausgeben
- mehrere parallele Verbindungen zum Courier-IMAP Server erlauben
- Installation von Plesk auf CentOS 4.4 Server
- Logrotation für Plesk-Logfiles konfigurieren
- Mails gehen zurück an Absender - mailbox is full
- open basedir-Restriction für vhost deaktivieren
- Plesk 9 sperrt automatisch Domains und Kunden, die die gesetzten Limits überschreiten
- Plesk-Admin-Kennwort verloren
- Upgrade schlägt fehl - Plesk 8.3.0 auf Linux
- Webmin
ISPConfig
Adminoberfläche von ISPConfig auf https gesicherte Verbindung umstellen
Veraltet: Inzwischen kann direkt bei der Installation von ISPConfig die https-Verschlüsselung aktiviert werden.
Diese Anleitung wurde mit ISPConfig 3.0.1.3 auf einem CentOS 5.3 getestet.
Standardmäßig läuft die Adminoberfläche von ISPConfig unverschlüsselt auf Port 8080. Da darüber aber etwa auch neue Benutzer angelegt, Mailboxen und Datenbanken konfiguriert werden, empfiehlt es sich schon das auf eine SSL-gesicherte Verbindung umzustellen.
Dazu muss nur die Konfigurationsdatei für den ISPConfig-Vhost angepasst werden, das dafür nötige SSL-Zertifikat habe ich inkl. Key unter /etc/pki/tls/certs -/key abgelegt.
Hier die Ergänzungen für die Konfigurationsdatei:
- /etc/httpd/conf/sites-available/ispconfig.vhost
-
<IfModule mod_ssl.c> SSLEngine on SSLCertificateFile /etc/pki/tls/certs/meinserver.de.crt SSLCertificateKeyFile /etc/pki/tls/private/meinserver.de.key </IfModule>
Die gesamte Datei sieht jetzt folgendermaßen aus:
- /etc/httpd/conf/sites-available/ispconfig.vhost
-
###################################################### # This virtual host contains the configuration # for the ISPConfig controlpanel ###################################################### Listen 8080 NameVirtualHost *:8080 <VirtualHost _default_:8080> ServerAdmin webmaster@localhost <IfModule mod_fcgid.c> DocumentRoot /var/www/ispconfig/ SuexecUserGroup ispconfig ispconfig <Directory /var/www/ispconfig/> Options Indexes FollowSymLinks MultiViews +ExecCGI AllowOverride AuthConfig Indexes Limit Options FileInfo AddHandler fcgid-script .php FCGIWrapper /var/www/php-fcgi-scripts/ispconfig/.php-fcgi-starter .php Order allow,deny Allow from all </Directory> </IfModule> <IfModule mod_php5.c> DocumentRoot /usr/local/ispconfig/interface/web/ AddType application/x-httpd-php .php <Directory /usr/local/ispconfig/interface/web> Options FollowSymLinks AllowOverride None Order allow,deny Allow from all php_value magic_quotes_gpc 0 </Directory> </IfModule> <IfModule mod_ssl.c> SSLEngine on SSLCertificateFile /etc/pki/tls/certs/meinserver.de.crt SSLCertificateKeyFile /etc/pki/tls/private/meinserver.de.key </IfModule> # ErrorLog /var/log/apache2/error.log # CustomLog /var/log/apache2/access.log combined ServerSignature Off </VirtualHost> <Directory /var/www/php-cgi-scripts> AllowOverride None Order Deny,Allow Deny from all </Directory> <Directory /var/www/php-fcgi-scripts> AllowOverride None Order Deny,Allow Deny from all </Directory>
Wenn man verhindern will, dass die Verbindung auf keinen Fall unverschlüsselt erfolgt, entfernt man die beiden folgenden Zeilen aus der Konfiguration:
<IfModule mod_ssl.c> ... </IfModule>
Apache würde damit beim Starten mit einem Fehler abbrechen wenn mod_ssl nicht installiert ist.
Parallels PLESK
ASP-Seiten funktionieren nicht
wenn auf einem frisch installierten Plesk-Webserver das ASP nicht funktioniert und nur folgenden Fehler ausgibt:
Internal Server Error The server encountered an internal error or misconfiguration and was unable to complete your request. Please contact the server administrator to inform of the time the error occurred and of anything you might have done that may have caused the error. More information about this error may be available in the server error log. Web Server at xxx.de
beziehungsweise folgender Fehler im error_log:
[Mon Mar 05 16:45:04 2007] [error] [client 212.34.160.151] Can't locate object method "register_cleanup" via package "Apache2::RequestRec" at /usr/lib/perl5/site_perl/5.8.8/Apache/ASP.pm line 520.\n at /usr/lib/perl5/site_perl/5.8.8/Apache/ASP.pm line 520\n\tApache::ASP::RegisterCleanup('Apache::ASP=HASH(0x552b30f460)', 'CODE(0x552b30f500)') called at /usr/lib/perl5/site_perl/5.8.8/Apache/ASP.pm line 383\n\tApache::ASP::new('Apache::ASP', 'Apache2::RequestRec=SCALAR(0x552ae23470)', '/var/www/vhosts/fms-tuning.de/httpdocs/test/bla/register_clea...') called at /usr/lib/perl5/site_perl/5.8.8/Apache/ASP.pm line 185\n\tApache::ASP::handler('Apache2::RequestRec=SCALAR(0x552ae23470)') called at -e line 0\n\teval {...} called at -e line 0\n
oder auch
[Mon Mar 05 16:29:10 2007] [error] [client 212.34.160.151] Can't locate object method "get" via package "APR::Table" at /usr/lib/perl5/site_perl/5.8.8/Apache/ASP.pm line 2016.\n at /usr/lib/perl5/site_perl/5.8.8/Apache/ASP.pm line 2016\n\tApache::ASP::get_dir_config('APR::Table=HASH(0x552ae23470)', 'Global') called at /usr/lib/perl5/site_perl/5.8.8/Apache/ASP.pm line 275\n\tApache::ASP::new('Apache::ASP', 'Apache2::RequestRec=SCALAR(0x552ae23440)', '/var/www/vhosts/fms-tuning.de/httpdocs/test/apacheasp/index.asp') called at /usr/lib/perl5/site_perl/5.8.8/Apache/ASP.pm line 183\n\tApache::ASP::handler('Apache2::RequestRec=SCALAR(0x552ae23440)') called at -e line 0\n\teval {...} called at -e line 0\n
dann fehlt eigentlich nur der folgende Eintrag in httpd.conf
PerlModule Apache2::compat
das Modul mod_perl und das Perl-Modul Apache::ASP muss installiert sein!
Fehlermeldung nach Update auf 8.2.0 - Error: HTTPD SERVICE not defined
Folgender Fehler taucht nach dem Update des Plesk auf 8.2.0 beim Zugriff auf die Plesk-Administration auf:
AutoInstallerManager::CheckUpdates() failed: autoinstaller failed: autoinstaller: Error: HTTPD_SERVICE not defined
Folgender Fehler kommen beim Start der psa-Applikation:
root@bla bin]# service psa start Starting MySQL [ OK ] spamd: Error: HTTPD_SERVICE not defined Starting psa-spamassassin service: [FAILED] Processing config directory: /usr/local/psa/admin/conf/httpsd.*.include /usr/local/psa/admin/bin/httpsdctl start: httpd started Starting Plesk: [ OK ] packagemng: Error: HTTPD_SERVICE not defined packagemng: Error: HTTPD_SERVICE not defined [root@bla bin]#
Folgende Zeilen in '/etc/psa/psa.conf' ergänzen, um das Problem zu beseitigen:
HTTPD_SERVICE httpd LIB_SSL_PATH /lib/libssl.so.6 LIB_CRYPTO_PATH /lib/libcrypto.so.6 CLIENT_PHP_BIN /usr/local/psa/bin/php-cli
danach die Anwendung mit 'service psa restart' neu starten.
FTP-Kennwort des Haupt-FTP-Accounts ausgeben
Mit diesem Script geht das ganz einfach. Aufruf etwa so: ./getftppw.sh <loginname>
#!/bin/bash NAME=$1 if [ "x"$NAME = "x" ] then echo "Syntax: $0 login" echo else echo "select sys_users.login, accounts.password from sys_users left join accounts on accounts.id = sys_users.account_id where sys_users.login LIKE '%$NAME%';" \ | mysql -p`cat /etc/psa/.psa.shadow` -u admin psa -B fi
mehrere parallele Verbindungen zum Courier-IMAP Server erlauben
Standardmäßig schränken linuxbasierte Server mit Plesk und dem Courier-IMAP gleichzeitige eingehende Verbindungen extrem ein, um zu verhindern, dass ein einzelner User zu viele Verbindungen aufmachen kann. Dies macht allerdings Probleme wenn etwa ein Kunde mit vielen Postfächern alle gleichzeitig abfragt oder etwa eine größere Firma hinter einer NAT-Firewall auf die Mailboxen zugreift.
Die Standardlimits betragen 4 Verbindungen pro IP-Adresse und 40 Verbindungen insgesamt. Schon ein aktueller Thunderbird kommt über diese Limits, da er aus Performancegründen schon bis zu 5 gleichzeitige Verbindungen öffnet.
Um diese Limits zu erhöhen müssen zwei Parameter in Courier-IMAP Konfigurationsdatei angepasst werden.
MAXDAEMONS legt die maximale Anzahl gleichzeitiger Verbindungen fest und MAXPERIP bestimmt die maximale Anzahl von Verbindungen pro IP-Adresse.
Für normale Ansprüche sollte es reichen MAXDAEMONS auf 80 und MAXPERIP auf 40 einzustellen. Für einen Shared-Webserver mit vielen großen Kunden drauf darf es auch ein bisschen mehr sein. Wenn etwa 50 gleichzeitige Zugriffe auf Mailboxen erwartet werden kann man etwa so rechnen: MAXDAEMONS = 50 x 5 und MAXPERIP ~ 50. Lieber ein wenig mehr zugeben ;)
Ggf. muss nach der Änderung der Courier-IMAP neu gestartet werden:
/etc/init.d/courier-imap restart
Installation von Plesk auf CentOS 4.4 Server
Dieser Text beschreibt die Installation von Plesk 8.1 auf einem CentOS 4.4 Server
Zuerst: - Grundinstallation CentOS 4.4
die Repos centosextras und centosplus müssen deaktiviert sein, sonst werden MySQL 5 und PHP 5 installiert mit denen Plesk die Installation verweigert.
benötigte Pakete (und deren Abhängigkeiten automatisch via yum mitinstallieren):
-
httpd
-
php
-
mod_ssl
-
mysql-server
-
mysqlclient10
-
php-mysql
-
php-domxml
-
php-mbstring
-
php-imap
-
php-pear
den PSA-Autoinstaller von der swsoft.com Homepage besorgen und mit
chmod a+x psa_installer_v3.1.0_build061201.02_os_CentOS_4.3_x86_64 ./psa_installer_v3.1.0_build061201.02_os_CentOS_4.3_x86_64
ausführbar machen und starten (hier am Beispiel einer 64bit Linuxinstallation).
Mit Enter weiter bis zur Paketauswahl, dort entsprechend der gekauften Lizenz die Pakete selektieren. Mit Enter weiter.
So, jetzt zeigt sichs, ob alle benötigten Pakete wirklich installiert wurden. Falls nein und falls Plesk diese nicht automatisch installieren kann, bricht der Installer ab und man darf sich auf Fehlersuche begeben. Falls aber alles installiert ist, beginnt der Plesk-Installer jetzt damit die Pakete herunterzuladen und zu installieren.
Wenn der Installer fertig ist sollte der Server einmal rebootet werden.
Danach kann man sich unter der ServerIP, bzw. DNS-Name, + Port 8443 einloggen, z.B.: http://123.123.123.123:8443
Logrotation für Plesk-Logfiles konfigurieren
Der Plesk bringt einen eigenen logrotate mit, der wie der Standard logrotate konfiguriert werden kann.
Die Konfigurationsdateien liegen in /usr/local/psa/etc/logrotate.conf (globale Logdateien wie FTP-Log, maillog) und /usr/local/psa/etc/logrotate.d (Logfiles der einzelnen Vhosts/Domains).
Mails gehen zurück an Absender - mailbox is full
Problem: Mails an Empfänger auf dem Plesk-Server werden mit folgendem Fehler abgelehnt:
From: MAILER-DAEMON@plesk.XXX.de To: XX@XXX.de Subject: failure notice Date: 26 Feb 2008 16:32:55 +0100 Hi. This is the qmail-send program at plesk.XXX.de. I'm afraid I wasn't able to deliver your message to the following addresses. This is a permanent error; I've given up. Sorry it didn't work out. <pleskuser@pleskdomain.de>: Recipient's mailbox is full, message returned to sender. (#5.2.2) --- Below this line is a copy of the message. Return-Path: <XX@XXX.de> Received: (qmail 5336 invoked from network); 26 Feb 2008 16:32:55 +0100 Received: from ServerX.XXX.de (212.34.160.151) by plesk.XXX.de with SMTP; 26 Feb 2008 16:32:51 +0100 Subject: Test test
und folgendes findet man hierzu im Logfile:
Feb 26 16:32:55 plesk-neu qmail: 1204039975.926872 new msg 17105111 Feb 26 16:32:55 plesk-neu qmail: 1204039975.926917 info msg 17105111: bytes 189 from <XX@XXX.de> qp 5336 uid 2020 Feb 26 16:32:55 plesk-neu qmail: 1204039975.931822 starting delivery 1810: msg 17105111 to local 596-pleskuser@pleskdomain.de Feb 26 16:32:55 plesk-neu qmail: 1204039975.931859 status: local 3/10 remote 5/20 Feb 26 16:32:55 plesk-neu qmail-local-handlers[5337]: Handlers Filter before-local for qmail started ... Feb 26 16:32:55 plesk-neu qmail-local-handlers[5337]: from=XX@XXX.de Feb 26 16:32:55 plesk-neu qmail-local-handlers[5337]: to=pleskuser@pleskdomain.de Feb 26 16:32:55 plesk-neu qmail-local-handlers[5337]: cannot reinject message to 'pleskuser@pleskdomain.de' Feb 26 16:32:55 plesk-neu qmail: 1204039975.939904 delivery 1810: failure: Recipient's_mailbox_is_full,_message_returned_to_sender._(#5.2.2)/ Feb 26 16:32:55 plesk-neu qmail: 1204039975.939939 status: local 2/10 remote 5/20 Feb 26 16:32:55 plesk-neu qmail-queue[5341]: mail: all addreses are uncheckable - need to skip scanning (by deny mode) Feb 26 16:32:55 plesk-neu qmail-queue[5341]: scan: the message(drweb.tmp.SK3apR) sent by to XX@XXX.de should be passed without checks, because contains uncheckable addresses
Das Problem trat nach dem letzten Update des Pleskservers auf. Die Version war bereits 8.3.0. Es wurden dann anstehende Updates für den Autoinstaller, Plesk-Core und den Watchdog installiert. Ein Reboot des Plesk-Servers bringt keine Änderung.
Um das Problem zu lösen muss folgendes Tool ausgeführt werden:
/usr/local/psa/admin/sbin/mchk --with-spam
Laut dem sehr mageren Hilfetext stellt das Tool die Einstellungen aller Mailboxen wieder her (was auch immer das heißt, es hat funktioniert).
open basedir-Restriction für vhost deaktivieren
Um die open_basedir-Restriction für einen einzelnen vhost zu deaktivieren:
einloggen als root:
vi /var/www/vhosts/<domain.com>/conf/vhost.conf
folgenden Inhalt eintragen:
<Directory /var/www/vhosts/<domain.com>/httpdocs> php_admin_value open_basedir none </Directory>
danach den vhost neu laden:<br /> PLESK 5/6:
/usr/local/psa/admin/bin/my_apci_rst
PLESK 7/8
/usr/local/psa/admin/sbin/websrvmng -u --vhost-name=domain.com
Plesk 9 sperrt automatisch Domains und Kunden, die die gesetzten Limits überschreiten
Mit der Einführung von Plesk Version 9 wurde das Limit-Management überarbeitet. Es gibt nun einen Schalter, der in den Kunden- und Domaintemplates gesetzt werden kann, der die Überbenutzung erlaubt oder verbietet. Wenn man die Überbenutzung verbietet wird der Kunde und die Domain sofort komplett gesperrt, wenn das Limit überschritten wird. Dies ist natürlich in den allermeisten Fällen großer Mist, da einem die Kunden aufs Dach steigen.
Um die Überbenutzung bei neu angelegten Kunden und Domains automatisch zu erlauben muss das entsprechende Kunden- oder Domaintemplate angepasst werden. Dort könnte man dann auch den Kunden benachrichtigen lassen, wenn er seine Limits überschreitet.
Allen Kunden und Domains, die es bereits vor der Migration auf Plesk 9 gab, ist es standardmäßig verboten ihre Limits zu überschreiten. Um dies nun in einem Rutsch zu erlauben hilft folgender SQL-Code, der auf der Datenbank „psa“ des Servers ausgeführt werden muss:
UPDATE cl_param SET val = 'false' WHERE param = 'OveruseBlock'; UPDATE dom_param SET val = 'false' WHERE param = 'OveruseBlock';
Jetzt sollte der Admin aber darauf achten, dass man bei eventueller Überbenutzung zumindest per Mail informiert wird. Die Kunden dürfen jetzt fast alles, auch z.B. neue Datenbanken oder zusätzliche Domains anlegen, obwohl dies gar nicht im Hostingpaket beinhaltet ist.
Plesk-Admin-Kennwort verloren
Das Admin-Kennwort für die Plesk-Weboberfläche steht im Klartext in folgender Datei:
/etc/psa/.psa.shadow
Upgrade schlägt fehl - Plesk 8.3.0 auf Linux
Folgende Meldung beim Versuch den Plesk upzugraden: Upgrade fails with the „Failed to check whether a new license key is available“ error.
Ursache ist ein veralteter Autoinstaller. Dieser muss zuerst manuell geupdatet werden.
Lösung:
-
Download des aktuellen Autoinstallers, auf das richtige OS und Architektur achten: http://www.swsoft.com/en/download/plesk83/
Beispiel für Centos5-i386:
wget http://download1.swsoft.com/Plesk/Plesk8.3/CentOS5/swsoft_installer_v3.3.0_build080116.12_os_CentOS_5_i386 cp swsoft_installer_v3.3.0_build080116.12_os_CentOS_5_i386 /usr/local/psa/bin/autoinstaller cp swsoft_installer_v3.3.0_build080116.12_os_CentOS_5_i386 /usr/local/psa/admin/sbin/autoinstaller chmod 755 /usr/local/psa/admin/sbin/autoinstaller /usr/local/psa/bin/autoinstaller chown root:root /usr/local/psa/admin/sbin/autoinstaller /usr/local/psa/bin/autoinstaller
Sollte der Autoinstaller noch als Prozess laufen, muss er zuerst gekillt werden, sonst läßt sich die Datei nicht überschreiben!
Webmin
Webmin - Kennwort vergessen
mit folgendem Befehl läßt sich das Kennwort für einen bestimmten User neu setzen:
/usr/libexec/webmin/changepass.pl /etc/webmin <user> <neueskennwort>