Apache, PHP und mySQL: Unterschied zwischen den Versionen
Admin (Diskussion | Beiträge) Keine Bearbeitungszusammenfassung |
Admin (Diskussion | Beiträge) |
||
Zeile 99: | Zeile 99: | ||
<code><pre>chmod 400 server.key</pre></code> | <code><pre>chmod 400 server.key</pre></code> | ||
Jetzt müssen wir noch ein paar Änderungen in einigen Apache Konfigurationsdateien vornehmen: | Jetzt müssen wir noch ein paar Änderungen in einigen Apache Konfigurationsdateien vornehmen: | ||
<code><pre>nano /etc/apache2/sites-enabled/000-default</pre></code> | <code><pre>nano /etc/apache2/sites-enabled/000-default.conf</pre></code> | ||
Am Ende der Konfigurationsdatei ergänzt folgende neue Sektion (das Alias für ein Beispiel an den installieren phpmyadmin): | Am Ende der Konfigurationsdatei ergänzt folgende neue Sektion (das Alias für ein Beispiel an den installieren phpmyadmin): | ||
<code><pre><VirtualHost *:443> | <code><pre><VirtualHost *:443> |
Version vom 28. Oktober 2015, 18:29 Uhr
Apache installieren
Der Apache 2 Webserver ist auf Linux schnell installiert. Führt dazu folgenden Befehl aus:
apt-get install apache2 php5 libapache2-mod-php5
Die Konfigurationsdateien finden sich zudem unter folgendem Verzeichnis:
/etc/apache2/
Bei Änderungen an den Konfigurationsdateien muß dann immer wieder der Apache 2 neu gestartet werden. Dazu gebt einfach folgenden Befehl ein:
/etc/init.d/apache2 restart
Wenn Ihr die Meldung apache2: Could not reliably determine the server's fully qualified domain name ist das nicht weiter wild. Abstellen könnt Ihr das wie folgt:
nano /etc/apache2/conf.d/fqdn
Fügt dann folgende Zeile ein:
ServerName localhost
Speichert die Änderung und startet den Apache2 neu durch:
/etc/init.d/apache2 restart
mySQL installieren
Damit wir auch eine Datenbank zur Verfügung haben könnt Ihr diese mit
apt-get install php5-mysql mysql-server mysql-client
installieren. Setzt dann erstmal ein Passwort für mysql:
mysqladmin -u root password DEIN_GEHEIMES_PASSWORT
(dies wird auch bereits bei der Installation des mysql Pakets abgefragt.
Mit einem
mysqladmin -p create tabelle01
legt Ihr beispielsweise dann eine erste Datenbank namens tabelle01 an. Ihr könnt diese mit einem
<code><pre>mysqladmin -p drop tabelle01
wieder entfernen/löschen. Wenn Ihr das seht, dann ist die Tabele auch wieder entfernt:
Dropping the database is potentially a very bad thing to do.
Any data stored in the database will be destroyed.
Do you really want to drop the 'tabelle01' database [y/N] y
Database "tabelle01" dropped
Wenn Ihr einen neuen Datenbankuser anlegen wollt, dann gebt folgendes als Root ein:
mysql -p
Danach an der Konsole folgende Befehle eingeben:
CREATE USER 'neueruser'@'localhost' IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON * . * TO 'neueruser'@'localhost';
FLUSH PRIVILEGES;
exit
Checkt nun, ob alles sauber läuft. Dazu legen wir in unser Dokumentenroot eine Datei mit folgenden Inhalt:
phpinfo.php
<?php
phpinfo();
?>
Erstellt die Datei einfach extern in einen Editor und ladet diese in Euer Dokumentenroot des Servers. Wenn Ihr diese nun im Browser aufruft, solltet Ihr eine entsprechende Anzeige bekommen.
APC Caching installieren
Um die Websiten etwas flotter zu machen kann man noch mit einem php Caching nachelfen. Das Paket APC lässt sich easy über ein
apt-get install php-pear php-apc
Startet den Webserver neu:
/etc/init.d/apache2 restart
Ein Serverzertifikat für https anlegen
Ein Serverzertifikat werdet Ihr dann benötigen, wenn Ihr eine sichere https Verbindung zu Eurem Server anbieten wollt. Wechselt dazu in Euer Root Home:
cd /root
Danach legen wir unser Serverzertifikat an:
openssl genrsa -out server.key 4096
openssl req -new -key server.key -out server.csr
Jetzt werdet Ihr einige Angaben abgefragt:
Country Name (Ländercode): = DE
State or Province Name (Bundesland): = zB Bayern
Locality Name, eg. City (Stadt): = zB Nuernberg
Organization Name (Firmenname): = hier irgendwas eingeben wie privat, zuhause etc.
Organizational Unit Name (Abteilung) = bleibt leer
Common Name, eg. YOUR Name: = Euer Servername
Email Adress: = eine E-Mail Adresse
A challenge password: = bleibt leer
An optional company name: = bleibt leer
Jetzt generieren wir das Zertifikat. Ich mache das gleich mal für 10 Jahre, dann ist Ruhe:
openssl x509 -req -days 3650 -in server.csr -signkey server.key -out server.crt
Noch ein paar Rechte festlegen:
chmod 400 server.key
Jetzt müssen wir noch ein paar Änderungen in einigen Apache Konfigurationsdateien vornehmen:
nano /etc/apache2/sites-enabled/000-default.conf
Am Ende der Konfigurationsdatei ergänzt folgende neue Sektion (das Alias für ein Beispiel an den installieren phpmyadmin):
<VirtualHost *:443>
DocumentRoot /var/www
ServerName EUER_SERVERNAME
SSLEngine on
SSLCertificateFile /root/server.crt
SSLCertificateKeyFile /root/server.key
Alias /phpmayadmin /usr/share/phpmyadmin
<Directory /usr/share/squirrelmail>
Options Indexes
AllowOverride All
DirectoryIndex index.php
Order allow,deny
allow from all
</Directory>
</VirtualHost>
EUER_SERVERNAME muss noch entsprechend eingetragen werden. Speichert die Änderung und editiert die ports.conf
nano /etc/apache2/ports.conf
und fügt ganz zum Schluss folgende Zeile ein:
NameVirtualHost *:443
Nun aktivieren wir das SSL Modul:
a2enmod ssl
Der Apache muss jetzt neu gestartet werden:
/etc/init.d/apache2 restart
Beachtet, dass das natürlich kein gekauftes Zertifikat ist. Euer Browser wird hier eine entsprechende Warnmeldung bringen. Aber Ihr wisst damit, warum diese Meldung kommt.