Hallo, wir mieten bald ein Server von Strato oder 1und1. Ich werde Debian installieren. Damit ich mich vorbereiten kann, brauche ich eine Anleitung bzw. Checklist.
Ich stelle mir die ganze so vor:
Debian Installation
Linux Packages Update & Upgrade
Reboot & Check
Hard Disk mount, RAID setup
Webmin, Virtualmin, Usermin installation & update
Webmin Config
Nameserver, Zusatz IP setup
Reboot
Virtualmin Config + Template Customization
Shared IP Einrichtung
Virtual Server setup
Registrar Domain NS / DNS A Record Update
Website test
Server test
Mail, Postfix, Sendmail test
PHP+Mysql test - php.ini, mysql.ini config
Apf Firewall Setup + Port Config
PHP Safe mode, auto setup
Backup Config & test
Remote FTP/SFTP Backup
DNS Check
Server/Site speed check
Port Scan
Antivirus Check / ClamAV
Reboot
Hier sind wertvolle Tipps für
Hier sind wertvolle Tipps für eine sichere PHP Konfiguration:
http://www.cyberciti.biz/tips/php-security-best-practices-tutorial.html
Empfehlungen wurden für ein Redhat Dedicated Server geschrieben aber meiste davon gelten auch für Ubuntu und andere Linux Distributionen.
Mod Security ist ganz wichtig
Mod Security ist ganz wichtig:
apt-get install libapache2-mod-security2
Mod Security ist ganz wichtig
Mod Security ist ganz wichtig:
apt-get install libapache2-mod-security2
Um eine Festplatte zu
Um eine Festplatte zu überprüfen.
sudo apt-get install smartmontools
Gelegentlich sollte die Festplatte auf mögliche defekte überprüfen:
sudo smartctl -H /dev/sda
Wenn man 500 Internal Server
Wenn man 500 Internal Server Error bekommt, oft ist "Options + FollowSynonymLinks" der Grund.
Manche Webseiten haben mehrere .htaccess Dateien, die aktualisiert werden müssen. zB
/home/example/public_html/.htaccess
/home/example/public_html/sites/default/files/.htaccess
Eine funktionierende .htaccess:
# Follow symbolic links in this directory.
## Options +FollowSymLinks
Options +SymLinksIfOwnerMatch
Neue virtuelle IP zwei mal
Neue virtuelle IP zwei mal eintragen:
Webmin >> Netzwerk
Virtualmin >> IP
Webmin >> Network
Webmin >> Network Configuration >> Interfaces >> eth0 >> Add Virtual Interface
Virtualmin >> Addresses and Networking >> Shared IP Addresses >> Shared IPv4 addresses for any servers
Mit der befehl kann ich kein
Mit der befehl kann ich kein Modsecurity installieren.
ssh# apt-get install libapache2-mod-security2
Reading package lists... Done
Building dependency tree
Reading state information... Done
E: Unable to locate package libapache2-mod-security2
Wenn Konflikte zwischen
Wenn Konflikte zwischen phpMyAdmin und Auto_Prepend geben sollte, muss man den Ordner in Open_Basedir hinzufügen
pico -w ./apache2/conf.d/phpmyadmin.conf
Wenn man diese Fehlermeldung
Wenn man diese Fehlermeldung bekommt: ERROR 1040 (HY000): Too many connections
Man sollte /etc/mysql/my.ini aktualisieren. Folgende zeile irgendwo nach mysqld hinzufügen:
max_connections = 400
Defaulst ist es 150, bei 151 bekommt man Error.
Wenn man seine eigene Skripte
Wenn man seine eigene Skripte installieren will, sollte man Conf datei für apache erstellen und anpassen
zB: /etc/apache/conf.d/meineextras.conf
Alias /pmadmin /home/meinadmin/phpmyadmin
<Directory /home/meinadmin/phpmyadmin>
Options FollowSymLinks
DirectoryIndex index.php
<IfModule mod_php5.c>
AddType application/x-httpd-php .php
php_flag magic_quotes_gpc Off
php_flag track_vars On
php_flag register_globals Off
php_admin_flag allow_url_fopen Off
php_value include_path .
php_admin_value upload_tmp_dir /var/lib/phpmyadmin/tmp
php_admin_value open_basedir /usr/share/phpmyadmin/:/etc/phpmyadmin/:/var/lib/phpmyadmin/
</IfModule>
</Directory>
Fehlermeldung von Virtualmin
Fehlermeldung von Virtualmin-Wizard:
MySQL has been enabled, but cannot be used by Virtualmin. Use the MySQL Database module to fix the problem.
Lösung ist: auf Mysql-Link klicken und die Standardpassword von Mysql-Server eingeben. Den Kennwort findet man unter /root/.my.cnf
Dann eine Kennwortsänderung sehr empfehlenswert.
Aus irgendeinem Grund
Aus irgendeinem Grund funktioniert es nicht, wenn man ein Mysql-User über Webmin-Webinterface anlegt. Man bekommt keine Fehlermeldung aber danach Login mit Phpmyadmin ist nicht möglich, obwohl man den Benutzer unter Benutzertabelle sieht. Eine Kennwortänderung hat auch nicht geholfen. Meine Lösung ist ein Benutzer mit Mysql-Query zu anlegen.
Ein beispiel-Query wäre:
GRANT ALL PRIVILEGES ON meineEineDatenbank.* TO 'meineBenutzerName'@'MeinHost' IDENTIFIED BY 'meinKennwort' WITH GRANT OPTION;
Ein Super-benutzer, der Zuigriff auf ellen DBs hat würde so aussehen:
GRANT ALL PRIVILEGES ON *.* TO 'ichbinsuper'@'localhost' IDENTIFIED BY 'meinKennwort' WITH GRANT OPTION;
phpMyAdmin kann Konflikte mit
phpMyAdmin kann Konflikte mit Auto_Prepend.Php haben. Um diesen Konflikt zu lösen, muss man in \etc\phpmyadmin\apache.conf den Pfad zu Open_Basedir hizufügen, wo sich *_Prepend Dateien befinden.
Worauf muss man achten wenn
Worauf muss man achten wenn man Website mit Webmin ohne Virtualmin einrichten möchte?
Ich musste schon am Anfang PHP-Path ändern. Curl und Sendmail musste ich manuell installieren.
Welche Module muss man noch installieren und anpassen?
Neuen Kommentar schreiben