Zurück  

Web-Server mit Apache + PhpMyAdmin

Oben Rechts im Proxmox-Frontend auf 'Create CT' klicken um den Container zu erstellen.

bild

bild

bild

bild

bild

bild

bild

bild

bild

Netzwerk

Der Web-Server ist in allen Netzen erreichbar. Also müssen wir noch die weiteren Karten installieren.

eth1 (neu)

bild

eth0 (neu)

bild

Auto-Start

Der Web-Server muss automatisch gestartet werden. Also die entsprechende Option aktivieren.

bild

Grund-Konfiguration

etc/host.OK

Die im CT, nicht die vom Host, also die "/Pool1/subvol-229-disk-1/etc/hosts"

DL
127.0.0.1	localhost
192.168.0.229	web1.local.comasys.ch
62.2.169.229	web1.comasys.ch
192.168.99.229	web1.intern.comasys.ch web1
::1		localhost ip6-localhost ip6-loopback
ff02::1		ip6-allnodes
ff02::2		ip6-allrouters

Container Starten

Und gleich mit SSH Auf den Container:

DL
ssh root@192.168.0.229 -p55

Apache

Wir haben im CT für die Dienste bereits einen Apache installiert. Ich verzichte darauf, das hier zu wiederholen, sondern verweise auf die entprechenden Abschnitte beim CT für die Dienste.

Die Installation, der Test und die Konfiguration sind (fast) identisch:
Die ID muss beim Test und der Konfiguration von "220" jeweils auf die des Web-Servers "229",
und der Servername muss von "dienste" auf "web1" angepasst werden.

Der Webserver ist jetzt erreichbar unter http://192.168.0.229.

https: aktivieren

Mit "a2enmod ssl" wird SSL aktiviert, und mit "a2ensite default-ssl" aktivieren wir https. Der Apache muss noch mit "service apache2 restart" neu gestartet werden.

Der Webserver ist jetzt erreichbar unter https://192.168.0.229.

PhpMyAdmin

Debian hat das Paket im Sortiment, aber immer etwas veraltet...

Aus dem Debian-Repo ist der Vorteil, dass Updates automatisch eingespielt werden, der Nachteil ist die nicht ganz aktuelle Version. Auch wenn ich mich dann selber um die Updates kümmern muss, nehme ich doch lieber das 'original'.

Ich verwende nicht den Standard-Namen, somit habe ich einen zusätzlichen Schutz für den Fall dass Angriffe erfolgen.

DL
cd /var/www
wget -N https://files.phpmyadmin.net/phpMyAdmin/4.5.1/phpMyAdmin-4.5.1-all-languages.zip
cd html
unzip ../phpMyAdmin-4.5.1-all-languages.zip
mv phpMyAdmin-4.5.1-all-languages.zip SqlAdmin
mkdir SqlAdmin\config
chown www-data SqlAdmin\config

Die heruntergeladene Datei darf jetzt gelöscht werden.

/var/www/html/SqlAdmin/config/config.inc.php

Minialistisch, aber ein Anfang...

DL
<?php
/* Servers configuration */
$i = 0;
/* Server: intern [1] */
$i++;
$cfg['Servers'][$i]['verbose'] = 'intern';
$cfg['Servers'][$i]['host'] = '192.168.99.247';
$cfg['Servers'][$i]['connect_type'] = 'tcp';
$cfg['Servers'][$i]['auth_type'] = 'cookie';
$cfg['Servers'][$i]['ssl'] = true;
/* End of servers configuration */
$cfg['ForceSSL'] = true;
$cfg['DefaultLang'] = 'de';
$cfg['ServerDefault'] = 1;
?>

Konfiguration

Die Konfiguration ist jetzt erreichbar unter https://192.168.0.229/SqlAdmin/setup.

Es wird bereits unsere Konfiguration angezeigt. Trotzdem auf 'Laden' klicken.
bild

Jetzt wird der Blowfish-Schlüssel erstellt. Den habe ich absichtlich nicht in der Standard-Konfig, schliesslich soll der doch bitte für jeden Server anders sein.
bild

Die Standard-Einstellungen sind brauchbar, wer will darf sich natürlich austoben...
Wenn alles Passt, unbedingt auf 'Speichern' klicken.

Die Meldung in der Box ist wichtig!
bild

Somit muss die Datei unkopiert werden:

DL
cp /var/www/html/SqlAdmin/config/config.inc.php /var/www/html/SqlAdmin/config.inc.php

pmadb - Configuration Storage

Nicht zwingent, macht PMA aber komfortabler.

Zuerst muss das SQL-Script vom Web-Server den Weg auf den SQL-Server finden. Das geht auf dem Host recht einfach:

DL
cp /Pool1/DATA/229-WebServer/html/SqlAdmin/sql/create_tables.sql /Pool1/DATA/247-Sql

Auf der SSH-Konsole des SQL-Servers mit "mysql -p </var/lib/mysql/create_tables.sql" die Tabellen erstellen. Das SQL-Script darf jetzt wieder gelöscht werden.

/usr/var/mysql/pma-user.sql

DL
GRANT USAGE ON mysql.* TO "pma"@"192.168.99.%" IDENTIFIED BY "PassWort";
GRANT SELECT (
    Host, User, Select_priv, Insert_priv, Update_priv, Delete_priv,
    Create_priv, Drop_priv, Reload_priv, Shutdown_priv, Process_priv,
    File_priv, Grant_priv, References_priv, Index_priv, Alter_priv,
    Show_db_priv, Super_priv, Create_tmp_table_priv, Lock_tables_priv,
    Execute_priv, Repl_slave_priv, Repl_client_priv
    ) ON mysql.user TO "pma"@"192.168.99.%";
GRANT SELECT ON mysql.db TO "pma"@"192.168.99.%";
GRANT SELECT ON mysql.host TO "pma"@"192.168.99.%";
GRANT SELECT (Host, Db, User, Table_name, Table_priv, Column_priv)
    ON mysql.tables_priv TO "pma"@"192.168.99.%";
GRANT SELECT, INSERT, UPDATE, DELETE ON phpmyadmin.* TO "pma"@"192.168.99.%";

Ausführen mit "mysql -p </usr/var/mysql/pma-user.sql".

Das Passwort in der ersten Zeile durch etwas vernünftiges ersetzen!

/var/www/html/SqlAdmin/config.inc.php

Wieder auf dem Web-Server!
Die vorhandene Datei muss egänzt werden.
Passwort das selbe wie oben.

DL
...
$cfg['Servers'][$i]['ssl'] = true;

$cfg['Servers'][$i]['controluser'] = "pma";
$cfg['Servers'][$i]['controlpass'] = "PassWort";

/* End of servers configuration */
...

Login

PhpMyAdmin ist jetzt erreichbar unter https://192.168.0.229/SqlAdmin.
Bild

Zurück