Antwort schreiben  Thema schreiben 
Seiten (2): « Erste [1] 2 Nächste > Letzte »
Verfasser Nachricht
_Kai_
be linux
**


Beiträge: 2.680
Gruppe: Programmierung
Registriert seit: Nov 2009

Status: Abwesend
Danke erhalten: 2809
Beitrag: #1
xPSP  [TUT] Webserver einrichten

Wenn es darum geht, euer Webprojekt irgendwo unter zu bekommen, stellt sich in erster Linie die Frage, um was für eine Art von Internetauftritt es sich dabei handelt. Bei einer kleineren privaten Homepage für Freunde und Bekannte reicht natürlich ein einfaches Webspaceangebot vollkommen aus. Soll es allerdings ein größerer Internetauftritt für eine ganze Community werden, zahlt es sich früher oder später auf jeden Fall aus einen eigenen Server angemietet zu haben. Für die die sich nicht zutrauen damit umzugehen zu können gibt es sogenannte "Managed Server". Sie kosten meist ein paar Euro mehr im Monat, werden aber dafür komplett vom Hoster eingerichtet und gewartet. Wer sich für diese Methode entschieden hat, kann den Rest überspringen.

Installation eines Apache2 Webservers mit PHP & MySQL:

Ich werde euch zeigen wie ihr Apache2 auf einem Linux Betriebssystem einrichtet und konfiguriert. Apache2, weil es einfach der Standardwebserver schlechthin ist. Ich weise aber darauf hin, dass es durchaus stabile Alternativen gibt.

Folgende Pakete werden benötigt:

Code:
apt-get install apache2-mpm-prefork apache2-suexec apache2-utils

Folgende ebenfalls für PHP und MySQL:

Code:
apt-get install php5 php5-common php5-dev php5-cgi php5-idn php5-mysql libapache2-mod-php5

Ein paar nützliche PHP Extensions:

Code:
php5-curl php5-gd php5-imagick php-apc


In diesem Beispiel haben wir das MPM „Prefork“ installiert. MPM steht für „Multi processing Modules“ und enthält systemspezifischen Code, sagt dem Betriebssystem, wie es mit Prozessen und Threads umzugehen hat.
Das MPM „Prefork“ verhält sich genauso wie schon die frühere Version Apache 1.3. Es läuft ein übergeordneter Prozess, der auf Vorrat genug Kindsprozesse für die eingehenden Anfragen erzeugt.

Bei Tausenden Abfragen jedoch könnte das Ganze ziemlich performancelastig werden. In diesem Fall würde sich das MPM „Worker“ anbieten, das im Gegensatz zu „Prefork“ größtenteils mit Threads arbeitet. Ein Hauptprozess hält immer genügen Kindsprozesse bereit in denen jeweils etliche Threads laufen können.

MPM Worker hat bei vielen Anfragen seine Vorzüge, trotzdem hat sich das Prefork Verfahren, aufgrund der hohen Stabilität, als Standard durchgesetzt.

Da das Erzeugen von Prozessen oder Threads natürlich immer erst mal Ressourcen verbraucht, hat Apache immer Prozesse/Threads auf Vorrat. Dazu gibt es folgende Konfigurationsmöglichkeiten, speziell Admins die mit Floodingattacken zu kämpfen haben sollten sich u.a. mit MinSpareServers und MaxSpareServers auseinandersetzen.

PHP implementieren wir über das Modul libapache2-mod-php5. Das ist im Fall MPM Prefork wohl das einfachste, ansonsten wäre es noch möglich PHP über die fcgid Schnittstelle zu implementieren.

... Platzhalter... Hier kommt noch was Big Grin

Nach der Installation sollte eine einfache HTML Seite mit dem Text "It Works!" erscheinen wenn ihr die IP Adresse eures Server über den Browser aufruft.

Commands:
Webserver starten:

Code:
/etc/init.d/apache2 start

Webserver stoppen:

Code:
/etc/init.d/apache2 stop

Webserver neu starten:

Code:
/etc/init.d/apache2 restart

Webserver Konfigurationen neu einlesen:

Code:
/etc/init.d/apache2 reload


Nach einem Neustart von Apache2 sollte dann auch PHP funktionieren, testen können wir das mit einer typischen phpinfo.php mit folgendem Inhalt:

Code:
<?php
phpinfo();
?>


Bei einem Aufruf von http://host/phpinfo.php sollten allerhand Informationen über PHP zum Vorschein kommen.

Jetzt kümmern wir uns um MySQL und PhpMyAdmin:

Code:
apt-get install mysql-server mysql-client phpmyadmin


Während der Installation wird nach einen MySQL Root Passwort gefragt. Außerdem muss der Webserver ausgewählt werden, Apache2.

Nach der Installation ist PHPMyAdmin unter http://IP/phpmyadmin zu erreichen, sollte das nicht der Fall sein muss die das Konfigurationsfile in das Apache Verzeichnis kopiert, und die Konfiguration neu eingelesen werden:

Code:
cp /etc/phpmyadmin/apache.conf /etc/apache2/mods-enabled/phpmyadmin.conf
/etc/init.d/apache2 reload


Die wichtigsten Konfigurationsfiles:

/etc/apache2/apache2.conf
Apache2 Config File, enhält allgemeine Einstellungen für den Webserver.

/etc/apache2/conf.d/
Hier sind Konfigurationen von externen Anwendungen gespeichert.

/etc/apache2/httpd.conf
Konfigurationsfile von älteren Apache Versionen. wurde aber von der Apache2.conf abgelöst, aus Kompatibilitätsgründen noch vorhanden.

/etc/apache2/ports.conf
IPs und Ports auf denen der Webserver lauscht.

/etc/apache2/sites-available/
Hier sind die einzelnen vHost Configs gespeichert, was ist das ? Dazu kommen wir gleich.

/etc/apache2/sites-enabled/
Hier liegen Symlinks zu den aktiven vhosts in /sites-available/

Wenn ihr etwas an den Konfigurationsfiles geändert habt, solltet ihr diese vor dem neu einlesen überprüfen, das geht mit dem Befehl „ apache2ctl -t“. Wenn alles in Ordnung ist, sollte das in etwa so aussehen:

Code:
user@host:~$ apache2ctl -t
Syntax OK
user@host:~$


Virtualhosts:

Virtualhosts legen fest, wie der Webserver auf bestimmte Hostnames oder IP Adressen reagiert, u.a. auf welchen Pfad verwiesen wird. So können bringen kommerzielle Webhoster oft mehrere hundert/tausend Kundenaccounts auf einem Rechner unter mit nur einer einzigen IP Adresse unter.

Ruft ein Besucher die Domain "www.domain.de" im Browser auf, so wird als erstes im DNS nach der dazu passenden IP Adresse gesucht. Zum Port 80 dieser IP Adresse wird Anschluss eine TCP Verbindung aufgebaut, damit eine HTTP Kommunikation stattfinden kann.

Der Browser vom Besucher sendet im HTTP Request einen Host-Header, dort steht der Hostname drin, über den die IP Adresse des Servers im DNS aufgelöst wurde, also der Domainname den der Besucher zuvor eingegeben hat.

Auf diese Art und Weise können auf einem Server mit nur einer einzigen IP Adresse mehrere Internetangebote zur Verfügung stehen.

Im folgendem Beispiel werden wir einen Hostnamen "domain.tld" als Virtualhost einrichten. Dazu müsst ihr eure Domain natürlich erst mal bei einem Provider eurer Wahl registrieren und einen DNS Eintrag zu eurem Server setzen. Zum Testen reicht es allerdings völlig aus, einen Eintrag in der Hosts Datei anzulegen, damit der Hostname Lokal aufgelöst wird.

Unter Windows liegt die Hosts Datei unter "..\system32\drivers\etc\hosts\system32\drivers\etc\hosts"

Unter Unix/Linux: "/etc/hosts"

Dort müsst ihr einfach eine Zeile mit eurer ServerIP und eurem Hostname, getrennt durch ein Leerzeichen, einfügen.

Beispiel:

Code:
127.0.0.1 domain.tld
127.0.0.1 www.domain.tld


Wenn ihr eure echte Domain auf den Server leiten wollt, müsst ihr bei eurem Provider einen DNS A Eintrag (Ipv4) oder DNS AAAA Eintrag (Ipv6) erstellen. Dabei ist zu beachten dass die DNS Daten Cashes zwischengespeichert werden um nicht jedes mal neu vom jeweiligen Nameserver abfragen zu müssen. Aus diesem Grund kann es oft einige Stunden dauern bis ein solcher DNS Eintrag sich vollständig abgeändert hat.

Kommen wir zum Beispiel:

Code:
<VirtualHost *>
ServerName domain.tld
ServerAlias www.domain.tld
DocumentRoot "/var/www/domain.tld/"
</VirtualHost>


Das Beispiel wird im Verzeichnis /etc/apache2/sites-available/ abgespeichert.

Verfügbare Virtualhosts lassen sich mit a2ensite und a2dissite aktivieren und deaktivieren, dabei wird ein Symlink in /etc/apache2/sites-enabled/ angelegt der auf die Datei in /etc/apache2/sites-available/ verweist.

Das gleiche gilt übrigens für Apache Module, sie lassen sich mit a2enmod aktivieren bzw. mit a2dismod deaktivieren. Dabei wird ein Symlink der entsprechenden Datei aus mods-available in mods-enabled angelegt.

Wer den Code gelesen hat wird wahrscheinlich schon verstanden haben, was die einzelnen Direktiven genau machen.

ServerName bestimmt den Hostname. ServerAlias kann dem VirtualHost einen weiteren Namen geben, wird meistens benutzt damit die Webseite sowohl mit als auch ohne „www.“ erreichbar ist. DocumentRoot ist das Verzeichnis, auf dessen Inhalte der Virtualhost zeigt.

Logdateien

Natürlich soll der Apache auch detailierte Logs über Zugriffe oder etwaige Fehler erfassen.

Code:
<VirtualHost *>
....
ErrorLog "/var/logs/domain.tld/error_log"
CustomLog "/var/logs/domain.tld/access_log" combined
....
</VirtualHost>


Die Direktive "LogFormat" bietet die Möglichkeit, das Format der Logdateien anzupassen, genaueres dazu findet sich in der Apache Doku.

Die Logdateien können mit der Zeit natürlich eine beachtliche Größe erreichen, aus diesem Grund ist es von Vorteil die Logs regelmäßig herunterzuladen oder zumindest in das gzip Format zu komprimieren.

Um die letzten paar Einträge eines Logs anzusehen bietet sich das Programm "tail" an.

Letzte 50 Einträge aus dem Errorlog anzeigen:

Code:
tail -n 50 /var/logs/domain.tld/error_log


Letzte 20 Einträge aus dem Accesslog anzeigen:

Code:
tail -n 50 /var/logs/domain.tld/access_log


Es gibt verschiedene Tools wie Webalizer oder Awstat mit deren Hilfe sich die Logs auswerten in einer grafischen Übersicht anzeigen lassen.

Es gibt noch etliche weitere Konfigurationsmöglichkeiten, da ich hier nicht jede einzelne detailiert beschreiben kann verweise ich für genaueres auf die Apache Dokumentation: http://httpd.apache.org/docs/


PSVita mit 16gb Memorystick und PlayStation+
+ Uncharted + Army Corps of Hell + Assassins Creed
+ NFS Most Wanted + COD Black Ops + Resistance
+ Everybodys Golf + Modnation Racers
Für PSN ID => PN

Dieser Beitrag wurde zuletzt bearbeitet: 12.06.2011 22:22 von _Kai_.

15.03.2011 02:19
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden Diese Nachricht in einer Antwort zitieren
Folgende User bedanken sich:
Junkstarr (Aug-30-2011), hunne_atilla (Jul-20-2011), Whynot (Jul-20-2011), gruschi (Jul-20-2011), REMO (Jul-20-2011), EuRoFiGHTeR (Apr-17-2011), pspbricker (Mar-18-2011), Norton95 (Mar-18-2011), WinterFrost (Mar-17-2011), xXPizzaNinjaXx (Mar-17-2011), -blue7 (Mar-17-2011), HeadBang (Mar-17-2011), 3m!n (Mar-17-2011), Lett1 (Mar-15-2011)
3m!n
Legende
*****


Beiträge: 1.652
Gruppe: User
Registriert seit: Aug 2010

Status: Offline
Danke erhalten: 951
Beitrag: #2
RE: [TUT] Webserver einrichten

Danke PSP-Hilfe,
Ich brauchte genau dieses TuT,
Nur komisch,dass wenn ich auf meine Seite gehe,Netzwerk zeitüberschreitung kommt.
Kennste dich mit aus ?
Hab Kloxo-CP Wink

mfg

17.03.2011 14:36
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden Diese Nachricht in einer Antwort zitieren
_Kai_
be linux
**


Beiträge: 2.680
Gruppe: Programmierung
Registriert seit: Nov 2009

Status: Abwesend
Danke erhalten: 2809
Beitrag: #3
xPSP  RE: [TUT] Webserver einrichten

EmInK123 :
Danke PSP-Hilfe,
Ich brauchte genau dieses TuT,
Nur komisch,dass wenn ich auf meine Seite gehe,Netzwerk zeitüberschreitung kommt.
Kennste dich mit aus ?
Hab Kloxo-CP Wink

mfg


Kannst dich ja mal mit genaueren Infos im ICQ melden Wink


PSVita mit 16gb Memorystick und PlayStation+
+ Uncharted + Army Corps of Hell + Assassins Creed
+ NFS Most Wanted + COD Black Ops + Resistance
+ Everybodys Golf + Modnation Racers
Für PSN ID => PN
17.03.2011 17:45
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden Diese Nachricht in einer Antwort zitieren
ShizzLa_
Banned


Beiträge: 356
Gruppe: Banned
Registriert seit: Jan 2011

Status: Offline
Danke erhalten: 55
Beitrag: #4
RE: [TUT] Webserver einrichten

Was bringt so ein Webserver?


"Du darfst nie einen Menschen, der nicht zur Familie gehört, merken lassen, was du denkst."

17.03.2011 18:40
Alle Beiträge dieses Benutzers finden Diese Nachricht in einer Antwort zitieren
Superfly
Super Mod
**


Beiträge: 6.017
Gruppe: Super Moderator
Registriert seit: Jun 2009

Status: Offline
Danke erhalten: 5976
Beitrag: #5
xPSP  RE: [TUT] Webserver einrichten

ShizzLa_ :
Was bringt so ein Webserver?


Zitat:
Wenn es darum geht, euer Webprojekt irgendwo unter zu bekommen, stellt sich in erster Linie die Frage, um was für eine Art von Internetauftritt es sich dabei handelt. Bei einer kleineren privaten Homepage für Freunde und Bekannte reicht natürlich ein einfaches Webspaceangebot vollkommen aus. Soll es allerdings ein größerer Internetauftritt für eine ganze Community werden, zahlt es sich früher oder später auf jeden Fall aus einen eigenen Server angemietet zu haben.

17.03.2011 18:57
Alle Beiträge dieses Benutzers finden Diese Nachricht in einer Antwort zitieren
Folgende User bedanken sich:
Junkstarr (Aug-30-2011), ShizzLa_ (Mar-17-2011), _Kai_ (Mar-17-2011)
_Kai_
be linux
**


Beiträge: 2.680
Gruppe: Programmierung
Registriert seit: Nov 2009

Status: Abwesend
Danke erhalten: 2809
Beitrag: #6
xPSP  RE: [TUT] Webserver einrichten

ShizzLa_ :
Was bringt so ein Webserver?


Damit kannste die 3000 und Go entbricken Haulol


PSVita mit 16gb Memorystick und PlayStation+
+ Uncharted + Army Corps of Hell + Assassins Creed
+ NFS Most Wanted + COD Black Ops + Resistance
+ Everybodys Golf + Modnation Racers
Für PSN ID => PN
17.03.2011 22:58
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden Diese Nachricht in einer Antwort zitieren
Folgende User bedanken sich:
Junkstarr (Aug-30-2011), C4 H4cKeR (Jul-22-2011), gruschi (Jul-20-2011), Mobai (Mar-19-2011), pspbricker (Mar-18-2011), Deutschland 1 (Mar-18-2011)
3m!n
Legende
*****


Beiträge: 1.652
Gruppe: User
Registriert seit: Aug 2010

Status: Offline
Danke erhalten: 951
Beitrag: #7
RE: [TUT] Webserver einrichten

Beim ersten Schritt kommt bei mir folgende Fehlermeldung:

Spoiler: (anzeigen)
Habe ein neu gekauftes Linux-VPS.
Benutze Putty :-)

Bitte um Hilfe :S

Dieser Beitrag wurde zuletzt bearbeitet: 20.07.2011 16:20 von 3m!n.

20.07.2011 16:20
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden Diese Nachricht in einer Antwort zitieren
_Kai_
be linux
**


Beiträge: 2.680
Gruppe: Programmierung
Registriert seit: Nov 2009

Status: Abwesend
Danke erhalten: 2809
Beitrag: #8
RE: [TUT] Webserver einrichten

mach mal ein einfaches "apt-get update" und probier es noch mal Wink


PSVita mit 16gb Memorystick und PlayStation+
+ Uncharted + Army Corps of Hell + Assassins Creed
+ NFS Most Wanted + COD Black Ops + Resistance
+ Everybodys Golf + Modnation Racers
Für PSN ID => PN
20.07.2011 16:28
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden Diese Nachricht in einer Antwort zitieren
PhysXPSP
Experte
****


Beiträge: 606
Gruppe: User
Registriert seit: Nov 2009

Status: Abwesend
Danke erhalten: 223
Beitrag: #9
RE: [TUT] Webserver einrichten

kannste auch ein tut machen wie man ein windows server einrichtet? mit net framework.
Auserdem kannste evtl zeigen wie man .net auf einen linux server bringt.


20.07.2011 16:43
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden Diese Nachricht in einer Antwort zitieren
_Kai_
be linux
**


Beiträge: 2.680
Gruppe: Programmierung
Registriert seit: Nov 2009

Status: Abwesend
Danke erhalten: 2809
Beitrag: #10
xPSP  RE: [TUT] Webserver einrichten

PhysXPSP :
kannste auch ein tut machen wie man ein windows server einrichtet? mit net framework.


Ich persönlich halte wenig von Windows und habe auch so gut wie keine Erfahrung damit.

Falls du Apache unter Windows installieren willst gibt es HIER einen msi Installer. Die Grundlegende Konfiguration sollte sich bis auf ein paar Kleinigkeiten nicht großartig unterscheiden.

PhysXPSP :
Auserdem kannste evtl zeigen wie man .net auf einen linux server bringt.


Mit MONO.net lassen sich unter Unix/Linux Programme ausführen, die das .net Framework als Laufzeitumgebung benötigen.

Für den Apache gibt es das Modul mod_aspdotnet. Damit habe ich mich aber auch nie beschäftigt. Ich bevorzuge PHP als serverseitige Scriptsprache Wink


PSVita mit 16gb Memorystick und PlayStation+
+ Uncharted + Army Corps of Hell + Assassins Creed
+ NFS Most Wanted + COD Black Ops + Resistance
+ Everybodys Golf + Modnation Racers
Für PSN ID => PN

Dieser Beitrag wurde zuletzt bearbeitet: 20.07.2011 17:04 von _Kai_.

20.07.2011 17:03
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden Diese Nachricht in einer Antwort zitieren
Folgende User bedanken sich:
PhysXPSP (Jul-20-2011)
3m!n
Legende
*****


Beiträge: 1.652
Gruppe: User
Registriert seit: Aug 2010

Status: Offline
Danke erhalten: 951
Beitrag: #11
RE: [TUT] Webserver einrichten

Okay,danke dank
apt-get update
und apt-get upgrade habe ich den server nun eingerichtet.
Meine Frage:
wie kann ich ftp user hinzufügen ?
Hab ISPConfig installiert Wink

20.07.2011 17:48
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden Diese Nachricht in einer Antwort zitieren
_Kai_
be linux
**


Beiträge: 2.680
Gruppe: Programmierung
Registriert seit: Nov 2009

Status: Abwesend
Danke erhalten: 2809
Beitrag: #12
xPSP  RE: [TUT] Webserver einrichten

EmInK123 :
Hab ISPConfig installiert Wink


Kenn mich mit ISPConfig nicht aus, ich benutze solche Webinterfaces nicht.

EmInK123 :
wie kann ich ftp user hinzufügen ?


Hast du denn einen FTP Server aufgesetzt ?
Ich benutze ProFTPD, Systemuser sind auch FTP User. Einfach mit "adduser" einen User anlegen und ihm die gewünschten Rechte zuteilen. Gibt natürlich auch Erweiterungen wie mod_sql, damit können die FTP User in einer MySQL Tabelle verwaltet werden.


PSVita mit 16gb Memorystick und PlayStation+
+ Uncharted + Army Corps of Hell + Assassins Creed
+ NFS Most Wanted + COD Black Ops + Resistance
+ Everybodys Golf + Modnation Racers
Für PSN ID => PN
20.07.2011 18:09
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden Diese Nachricht in einer Antwort zitieren
Whynot
Legende
*****


Beiträge: 1.778
Gruppe: User
Registriert seit: Jan 2011

Status: Offline
Danke erhalten: 600
Beitrag: #13
RE: [TUT] Webserver einrichten

Das gibt ein danke , allein weil debian basierend Smile
Jetzt noch Port Forwarding + dyndnd / free domain und tada ^^ hacker willkommen Smile

20.07.2011 19:41
Alle Beiträge dieses Benutzers finden Diese Nachricht in einer Antwort zitieren
hunne_atilla
Experte
****


Beiträge: 587
Gruppe: User
Registriert seit: Jan 2011

Status: Offline
Danke erhalten: 267
Beitrag: #14
RE: [TUT] Webserver einrichten

SUPER TUT DANKE WEITER SO! DU BIST DER BESTE PSP-HILFE!



20.07.2011 19:44
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden Diese Nachricht in einer Antwort zitieren
Whynot
Legende
*****


Beiträge: 1.778
Gruppe: User
Registriert seit: Jan 2011

Status: Offline
Danke erhalten: 600
Beitrag: #15
xPSP  RE: [TUT] Webserver einrichten

EmInK123 :
Okay,danke dank
apt-get update
und apt-get upgrade habe ich den server nun eingerichtet.
Meine Frage:
wie kann ich ftp user hinzufügen ?
Hab ISPConfig installiert Wink


SRY für doppelpost aber : apt-get upgrade ist ein befehl kein programm ^^ ok im grunde schon aber das muss man nicht nach installieren Smile
Du brauchst natürlich noch nen FTP server wie filezilla , Gadmin-proftpd ... es gibt ja einige , teilweise non-gui manche mit gui .

20.07.2011 19:45
Alle Beiträge dieses Benutzers finden Diese Nachricht in einer Antwort zitieren
Seiten (2): « Erste [1] 2 Nächste > Letzte »
Antwort schreiben  Thema schreiben 

Druckversion anzeigen
Thema einem Freund senden
Thema abonnieren | Thema zu den Favoriten hinzufügen




» zum Seitenanfang