gelöschter Benutzer

Unter Ubuntu Apache, MySQL und PHP installieren

am 06.12.2010, 22:33 Uhr eröffnete folgenden Thread
Linux    12136 mal gelesen    5 Antwort(en).

Hallo @ All,

Um den neuen Bereich etwas zu füllen und für alle die Ubuntu einmal testen möchten, ist hier eine kleine Anleitung von mir wie man unter Ubuntu Apache, MySQL und PHP installiert.


Als erstes öffnet Ihr das Terminal, das findet Ihr unter "Anwendungen" -> "Zubehör".

Dort meldet Ihr euch als Root mit folgenden Befehl an.
[infobox]sudo su[/infobox](Aus Sicherheitsgründen solltet Ihr euch nur als Root anmelden wenn es auch nötig ist.)


So nun wollen wir den Apache Server installieren, das geht so:
[infobox]apt-get install apache2[/infobox]

Als nächstes kommt der MySQL Server:
[infobox]apt-get install mysql-server[/infobox]
Bei der Installation werdet Ihr nach einen Passwort für den root User des MySQL-Servers gefragt. Den root User von MySQL bitte nicht mit den root User von Linux verwechseln.

Nach dem das Geschafft ist installieren wir die PHP Erweiterung für den Apache Server.
[infobox]apt-get install php5[/infobox]

Mann muss nicht alles einzeln eintippen, das mach ich nur um es leicht verständlich zu halten. Man kann auch alle Pakete der Reihe nach aufführen. Als Beispiel installieren wir mal ein paar PHP Erweiterungen (MySQL, cUrl, Gd2, mCyrpt), die auch ganz nützlich sind. Wenn Ihr euch jetzt fragt, schon wieder MySQL? Das ist die PHP Erweiterung damit man über PHP auf den MySQL-Server zugreifen kann.
[infobox]apt-get install php5-mysql php5-gd php5-curl php5-mcrypt[/infobox]

Das wichtigste ist nun installiert. Um es nutzen zu können müssen wir den Apache Server neu starten.
[infobox]/etc/init.d/apache2 restart[/infobox]

So im Prinzip wars das schon. Das root Verzeichnis des Webservers liegt hier:
[infobox]/var/www[/infobox]
Das Verzeichnis gehört root, das bedeutet Ihr habt vorerst keinen Zugriff darauf. Da Ihr aber noch als root angemeldet seid wechselt Ihr den Besitzer des Verzeichnisses oder gebt es einfach für alle frei.
Mit chown könnt Ihr den Besitzer und Gruppe wechseln, chmod setzt die Zugriffsrechte.
[infobox]chown ultima:ultima /var/www
chmod -c 0777 /var/www[/infobox]
chown erwartet als ersten Parameter den Benutzernamen, an den die Datei oder das Verzeichnis gehen soll, das 2. ultima ist die Gruppe, diese wird mit einen : vom Benutzernamen getrennt angegeben, die Gruppe ist allerdings optional und kann auch weggelassen werden. Anstelle der Namen können auch die Benutzer und Gruppen IDs verwendet werden. (Ubuntu legt für jeden Benutzer eine gleichnamige Gruppe an und weist sie dem Benutzer zu)

Wenn Ihr zu einem Befehl Fragen habt, könnt Ihr mit dem Parameter -h oder--help eine kurze Erklärung euch anzeigen lassen. Für mehr Informationen gibt es die Manpages.
[infobox]chmod --help
man chmod[/infobox]

Noch besser wäre es aber wenn Ihr das root Verzeichnis des Web Servers in euer home Verzeichnis legt.
Denn bei einer cleveren Partitionierung habt Ihr den Einhängepunkt für das home Verzeichnis auf eine separate Platte bzw. Partition gelegt. Denn so bleiben euch die Daten und persönlichen Einstellungen erhalten wenn Ihr die Partition mit dem Betriebssystem formatiert. Wie Ihr das Verzeichnis nennt ist euch überlassen, ich nenne es für das Beispiel einfach www.

Ihr öffnet dazu einfach die 000-default Konfigurationsdatei des Apache in einem Editor zB den gEdit wenn ihr in der Desktopumgebung seit oder den nano für die Konsole. (Der VI geht auch, die Bedienung ist aber etwas gewöhnungsbedürftig)
[infobox]gedit /etc/apache2/sites-enabled/000-default
nano /etc/apache2/sites-enabled/000-default
[/infobox]
Wichtig ist das Ihr die Datei mit root rechten öffnet sonst könnt Ihr die Änderungen nicht speichern. Dort ändert Ihr einfach die beiden Einträge:
[infobox]DocumentRoot /var/www
<Directory /var/www/>[/infobox] zu euren neuen Verzeichnis.
In meinem Fall wäre es so:
[infobox]DocumentRoot /home/ultima/www
<Directory /home/ultima/www/>[/infobox]
Um die Änderungen zu übernehmen müsst Ihr den Server neu starten. Bitte beachtet auch das unter Linux Groß- und Kleinschreibung unterschieden wird wenn Ihr das Verzeichnis eintragt.

Wenn Ihr jetzt noch weitere Module für den Apache Server aktivieren wollt, zB rewrite geht das mit folgendem Befehl.
[infobox]a2enmod rewrite[/infobox]
Um Module wieder zu deaktivieren:
[infobox]a2dismod rewrite[/infobox]
Bei dem Modul rewrite müsst Ihr allerdings auch die Konfigurationsdatei des Apache anpassen.
Öffnet einfach nochmal die 000-default und ändert die Zeilen mit AllowOverride auf All.
Hier ist ein Auszug meiner Konfigurationsdatei.
[infobox]DocumentRoot /home/ultima/www
<Directory />
Options FollowSymLinks
AllowOverride All
</Directory>
<Directory /home/ultima/www/>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all
</Directory>[/infobox]
Wenn Ihr ein Modul oder eine Konfigurationsdatei verändert, müsst Ihr den Server neu starten um die Änderungen zu Ãœbernehmen. Die Konfigurationsdatei für PHP findet Ihr hier:
[infobox]/etc/php5/apache2/php.ini[/infobox]


So ich hoffe ich hab mich verständlich ausgedrückt
Wenn Ihr noch Fragen habt, immer her damit.


Viel Spaß mit Ubuntu und viele Grüße
Thomas


seitenreport
Avatar seitenreport
Inhaber
TYPO3 Senior Developer
Content Gott (1772 Beiträge)
am 06.12.2010, 23:42 Uhr schrieb seitenreport

Hallo Thomas,

super und sehr ausführliches Tutorial - absolut nichts hinzuzufügen. Danke.

Gruß,
Matthias


SEO Analyse und Website-Check mit Seitenreport

masa8
Avatar masa8
Selbständig
Content Gott (1001 Beiträge)
am 07.12.2010, 15:23 Uhr schrieb masa8

Der Beitrag ist dach fast zu schade, um irgendwann im Forum unterzugehen.

Ich finde der gehört in die Seitenreport Fachartikel.

Gruß Matthias


Mein Blog über Wordpress, SEO, interne Verlinkung und mehr
alles-mit-links
BLACKINK Webkatalog 20-25 Backlinks "Lifetime"

prskd
cio
Beginner (16 Beiträge)
am 07.12.2010, 16:57 Uhr schrieb prskd

Das sehe ich ähnlich wie Matthias. Er gehört ein wenig abgerundet und dann als Artikel veröffentlicht.
@Thomas, klasse Tutorial. Wenn man die richtige Reihenfolge kennt, dann geht es meist sehr einfach.
Danke


SKD Frankfurt


gelöschter Benutzer
am 07.12.2010, 17:15 Uhr schrieb

Danke für die Blumen, aber für einen Fachartikel reicht es nicht.


seitenreport
Avatar seitenreport
Inhaber
TYPO3 Senior Developer
Content Gott (1772 Beiträge)
am 07.12.2010, 17:27 Uhr schrieb seitenreport

@Matthias: Ja, halte ich (vorrausgesetzt, dass Thomas damit einverstanden ist), ebenfalls für eine gute Idee (allerdings besser innerhalb der Seitenreport Knowledge Base <-- kommt bald).

Anbei noch eine kleine Erweiterung (schließt sich quasi nahtlos an das Tutorial von Thomas an):

=====================
Sicherheit
=====================
Verfügt der Rechner über einen Internetanschluss, so muss der Apache natürlich noch abgesichert werden. Ohne die Absicherung kann jeder, der die IP-Adresse des Rechners kennt, auf den Webserver zugreifen und unter Umständen Daten oder Webseiten sehen, die nicht für ihn bestimmt sind. Dies kann u.U. zum schwerwiegenden Sicherheitsleck werden.

Darum:
1. Zugriff nur per localhost
[infobox]nano /etc/apache2/ports.conf

#listen 80 ersetzen durch
listen 127.0.0.1:80
[/infobox]
Diese Zeile bewirkt, dass auf den Webserver nur vom localhost (also vom eigenen Rechner) aus zugegriffen werden kann, nicht aber von außerhalb.

2. Für das Verzeichnis /var/www reichen die Schreibrechte 0775 aus
[infobox]chmod 0775 /var/www
[/infobox]
(wenn der Rechner keine Internet-Verbindung hat und nur vertrauliche Personen Zugriff auf den PC haben, kann dieser Wert natürlich durchaus ruhig auch auf 0777 stehen)

3. fail2ban installieren
(nur notwendig, wenn Zugriff auch außerhalb von localhost)
Auch auf den MySQL Server kann von außerhalb zugegriffen werden (z.B. mit dem MySQL Administrator). Die Datenbanken sind zwar per Passwort geschützt, allerdings lassen sich diese per BruteForce Angriff knacken. Abhilfe schafft fail2ban.

[infobox]apt-get install fail2ban
[/infobox]
(und konfigurieren)

fail2ban sorgt z.B. dafür, dass ein externer "Besucher" nach mehreren unerlaubten Zugriffen (z.B. falscher Passworteingabe) automatisch für eine festlegbare Dauer gesperrt wird.

=====================
Webseiten aufrufen
=====================
Zum Aufrufen einer Webseite (die sich je nach Konfiguration in /var/www/ oder /home/username/www/ befinden muss) gibt man im Browser seiner Wahl als Adresse einfach
[infobox]localhost

oder 127.0.0.1 ein


[/infobox]

Bei Verwendung des Webservers in einem (Firmen-)Netzwerk o.ä. ggf. auch an Dinge wie mod_security denken und unnötig offene Ports schließen.

Der Ãœbergang zur Absicherung eines echten Webservers (der auch vom Netz aus erreichbar ist), wird hier fließend... (für erste Tests also am Besten wirklich NUR den localhost ran lassen.... :wink: )

nicht vergessen natürlich trotz aller Absicherung auch hier regelmäßig die Logs zu lesen. Diese befinden sich in

[infobox]cd /var/log/apache2

# Logs auflisten per
ls -l
[/infobox]

Grüße,
Matthias


SEO Analyse und Website-Check mit Seitenreport

  • 1


« zurück zu: Linux

Das Seitenreport Forum hat aktuell 5273 Themen und 36107 Beiträge.
Insgesamt sind 48345 Mitglieder registriert.