Apache, PHP und mySQL: Unterschied zwischen den Versionen

Aus MySlug
Zur Navigation springen Zur Suche springen
(Der Seiteninhalt wurde durch einen anderen Text ersetzt: „Dieses Tutorial wurde auf Gargi.org verschoben: https://www.gargi.org/index.php?title=Apache,_PHP_und_mySQL“)
Markierung: Ersetzt
 
(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>

Aktuelle Version vom 30. Juni 2018, 12:28 Uhr

Dieses Tutorial wurde auf Gargi.org verschoben: https://www.gargi.org/index.php?title=Apache,_PHP_und_mySQL