|
|
(3 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt) |
Zeile 1: |
Zeile 1: |
| <div style="text-align=right; float: right; clear: none; background: none; padding-left:20px">
| | Dieses Tutorial wurde auf Gargi.org verschoben: https://www.gargi.org/index.php?title=Apache,_PHP_und_mySQL |
| __TOC__
| |
| </div><noinclude>
| |
| | |
| ==Apache installieren==
| |
| | |
| Der Apache 2 Webserver ist auf Linux schnell installiert. Führt dazu folgenden Befehl aus:
| |
| | |
| <code><pre>apt-get install apache2 php5 libapache2-mod-php5</pre></code>
| |
| Die Konfigurationsdateien finden sich zudem unter folgendem Verzeichnis:
| |
| <br><br>
| |
| '''/etc/apache2/'''
| |
| <br><br>
| |
| Bei Änderungen an den Konfigurationsdateien muß dann immer wieder der Apache 2 neu gestartet werden. Dazu gebt einfach folgenden Befehl ein:
| |
| | |
| <code><pre>/etc/init.d/apache2 restart</pre></code>
| |
| 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:
| |
| | |
| <code><pre>nano /etc/apache2/conf.d/fqdn</pre></code>
| |
| Fügt dann folgende Zeile ein:
| |
| | |
| <code><pre>ServerName localhost</pre></code>
| |
| Speichert die Änderung und startet den Apache2 neu durch:
| |
| | |
| <code><pre>/etc/init.d/apache2 restart</pre></code>
| |
| <br><br>
| |
| ==mySQL installieren==
| |
| | |
| Damit wir auch eine Datenbank zur Verfügung haben könnt Ihr diese mit
| |
| | |
| <code><pre>apt-get install php5-mysql mysql-server mysql-client</pre></code>
| |
| installieren. Setzt dann erstmal ein Passwort für mysql:
| |
| | |
| <code><pre>mysqladmin -u root password DEIN_GEHEIMES_PASSWORT</pre></code>
| |
| (dies wird auch bereits bei der Installation des mysql Pakets abgefragt.
| |
| | |
| Mit einem
| |
| | |
| <code><pre>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</pre></code>
| |
| wieder entfernen/löschen. Wenn Ihr das seht, dann ist die Tabele auch wieder entfernt:
| |
| | |
| <code><pre>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</pre></code>
| |
| Wenn Ihr einen neuen Datenbankuser anlegen wollt, dann gebt folgendes als Root ein:
| |
| | |
| <code><pre>mysql -p</pre></code>
| |
| Danach an der Konsole folgende Befehle eingeben:
| |
| | |
| <code><pre>CREATE USER 'neueruser'@'localhost' IDENTIFIED BY 'password';
| |
| GRANT ALL PRIVILEGES ON * . * TO 'neueruser'@'localhost';
| |
| FLUSH PRIVILEGES;
| |
| exit</pre></code>
| |
| Checkt nun, ob alles sauber läuft. Dazu legen wir in unser Dokumentenroot eine Datei mit folgenden Inhalt:<br>
| |
| '''phpinfo.php'''
| |
| | |
| <code><pre>
| |
| <?php
| |
| phpinfo();
| |
| ?></pre></code>
| |
| 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.
| |
| | |
| <br><br>
| |
| ==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
| |
| | |
| <code><pre>apt-get install php-pear php-apc</pre></code>
| |
| Startet den Webserver neu:
| |
| | |
| <code><pre>/etc/init.d/apache2 restart</pre></code>
| |
| | |
| <br><br>
| |
| | |
| ==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:
| |
| <code><pre>cd /root</pre></code>
| |
| Danach legen wir unser Serverzertifikat an:
| |
| <code><pre>openssl genrsa -out server.key 4096
| |
| openssl req -new -key server.key -out server.csr</pre></code>
| |
| Jetzt werdet Ihr einige Angaben abgefragt:
| |
| <br>
| |
| <br>
| |
| Country Name (Ländercode): = '''DE'''<br>
| |
| State or Province Name (Bundesland): = zB '''Bayern'''<br>
| |
| Locality Name, eg. City (Stadt): = zB '''Nuernberg'''<br>
| |
| Organization Name (Firmenname): = '''hier irgendwas eingeben wie privat, zuhause etc.'''<br>
| |
| Organizational Unit Name (Abteilung) = '''bleibt leer'''<br>
| |
| Common Name, eg. YOUR Name: = '''Euer Servername'''<br>
| |
| Email Adress: = '''eine E-Mail Adresse'''<br>
| |
| A challenge password: = '''bleibt leer'''<br>
| |
| An optional company name: = '''bleibt leer'''<br>
| |
| <br>
| |
| Jetzt generieren wir das Zertifikat. Ich mache das gleich mal für 10 Jahre, dann ist Ruhe:
| |
| <code><pre>openssl x509 -req -days 3650 -in server.csr -signkey server.key -out server.crt</pre></code>
| |
| Noch ein paar Rechte festlegen:
| |
| <code><pre>chmod 400 server.key</pre></code>
| |
| Jetzt müssen wir noch ein paar Änderungen in einigen Apache Konfigurationsdateien vornehmen:
| |
| <code><pre>nano /etc/apache2/sites-enabled/000-default</pre></code>
| |
| Am Ende der Konfigurationsdatei ergänzt folgende neue Sektion (das Alias für ein Beispiel an den installieren phpmyadmin):
| |
| <code><pre><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>
| |
| </pre></code>
| |
| '''EUER_SERVERNAME''' muss noch entsprechend eingetragen werden. Speichert die Änderung und editiert die '''ports.conf'''
| |
| <code><pre>nano /etc/apache2/ports.conf</pre></code>
| |
| und fügt ganz zum Schluss folgende Zeile ein:
| |
| <br><br>
| |
| '''NameVirtualHost *:443'''
| |
| <br><br>
| |
| Nun aktivieren wir das SSL Modul:
| |
| <code><pre>a2enmod ssl</pre></code>
| |
| Der Apache muss jetzt neu gestartet werden:
| |
| <code><pre>/etc/init.d/apache2 restart</pre></code>
| |
| 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.<br><br>
| |