Projekt: Neuer Server – MySQL + phpMyAdmin
Projekt: Neuer Server
Teil 2: Erste Schritte
Teil 3: nginx + php-fpm
Teil 4: MySQL + phpMyAdmin
Teil 5: Postfix + Dovecot
Teil 6: [in Planung]
Teil 7: [in Planung]
Teil 8: Der Abschluss
Unser Webserver läuft schonmal, bevor wir uns um das Anlegen weiterer vHosts kümmern wollen wir erstmal noch die restlichen Dinge installieren, die wir so benötigen. MySQL und so ein Kram eben.
Zuerst kümmern wir uns aber um unser Backup. Ich erwähnte ja schon, dass ich zwischendurch gerne mal was kaputtkonfiguriere und so
Und damit ich den Namen des Backups leichter dem Stand meines Servers zuordnen kann, tippsel ich ihn wieder einfach hier rein:
Aktuell heißt mein Backup 2012.01.06_05:04 und ist 344.40 MB groß.
Nun können wir anfangen, unseren Server mit MySQL zu infizierenMySQL zu installieren:
# apt-get install mysql-server mysql-client
Der Installer fragt uns nach einem Admin-Kennwort, welches wir definitiv anlegen sollten. Nehmt bitte nicht das selbe wie für den root-Benutzer des Servers, ja?
Eine gute Konfiguration für den Anfang ist folgende (natürlich gehe ich hier von meinem Server aus, 1 bis 2 GB RAM sollten da schon eingebaut sein. Sonst sucht euch passende Werte im Internet oder belasst es bei den Standard-Einträgen):
# nano /etc/mysql/my.cnf
key_buffer = 512M
max_heap_table_size = 128M
max_allowed_packet = 16M
thread_stack = 128K
thread_cache_size = 8
max_connections = 250
table_cache = 512
query_cache_limit = 16M
query_cache_size = 128M
log_slow_queries = /var/log/mysql/mysql-slow.log
long_query_time = 2
log-queries-not-using-indexes
Ein Restart damit die Konfiguration angenommen wird:
# /etc/init.d/mysql restart
Eine optionale, aber empfehlenswerte Vorgehensweise an dieser Stelle ist das Ausführen der mysql_secure_installation, mit der wir ein paar Sicherheitsrisiken eliminieren:
# mysql_secure_installation
Die Fragen sind selbsterklärend, bis auf ein neues root-Kennwort (ihr habt ja hoffentlich bereits bei der Installation eines eingegeben) können sämtliche Fragen mit der Standard-Auswahl beantwortet werden. Lest es euch trotzdem durch, falls ihr bspw. Remote-Zugriff auf euren MySQL-Server benötigt solltet ihr diesen Punkt überspringen.
Bei der Installation von phpMyAdmin wird nach dem verwendeten Webserver gefragt, leider sind hier nur Apache und LIGHTTPD auswählbar. Also wählen wir keinen aus und beantworten auch die zweite Frage nach der Konfiguration der Datenbank mit dbconfig-common mit ‘Nein‘.
Dann passen wir unseren vHost an, damit nginx die phpMyAdmin-Installation auch findet.
Dazu erstellen wir eine neue Include-Datei, die dann in jedem vHost eingebunden wird, der phpMyAdmin erreichen können soll:
# apt-get install phpmyadmin # nano /etc/nginx/phpmyadmin.inc
location /phpmyadmin {
root /usr/share/;
index index.php index.html index.htm;
location ~ ^/phpmyadmin/(.+\.php)$ {
try_files $uri =404;
root /usr/share/;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $request_filename;
include /etc/nginx/fastcgi_params;
}
location ~* ^/phpmyadmin/(.+\.(jpg|jpeg|gif|css|png|js|ico|html|xml|txt))$ {
root /usr/share/;
}
}
location /phpMyAdmin {
rewrite ^/* /phpmyadmin last;
}
# nano /etc/nginx/sites-available/bonsailinse.net
server {
server_name bonsailinse.net www.bonsailinse.net;
root /var/www/bonsailinse.net/www;
include defaults.inc;
include phpmyadmin.inc;
}
nginx neustarten:
# /etc/init.d/nginx restart
Unter http://bonsailinse.net/phpmyadmin sowie http://bonsailinse.net/phpMyAdmin können wir nun den Login für unser MySQL-Verwaltungstool erreichen.
