Webserver auf V/Rootserver einrichten

Dieses Thema im Forum "Tutorials" wurde erstellt von Thomas, 24. Februar 2014.

  1. Thomas
    Offline

    Thomas

    Registriert seit:
    14. Juli 2011
    Beiträge:
    644
    Guten Abend Community,

    ich zeig euch heute, wie man einen Webserver mit FTP, PHP und MySQL auf einem Debian 7 V-/Rootserver einrichtet. Es sollte auch ohne weiteres auf Debian 6 und Ubuntu sowie einigen anderen Linux Distributionen laufen.

    Zunächst einmal aktualisieren wir die Paketlisten. Dies geschiet mit

    Code (Text):
    1. sudo apt-get update && sudo apt-get upgrade
    Danach installieren wir Apache2 mit PHP5, wofür ihr folgendes Kommando eingebt:

    Code (Text):
    1. sudo apt-get install apache2 php5
    Jetzt richten wir den FTP Server ein. Wir nehmen dafür proftpd, dies ist der bekannteste FTP-Server. Die Installation und Konfiguration ist relativ simpel:

    Als erstes installieren wir proftpd

    Code (Text):
    1. sudo apt-get proftpd
    Danach editieren wir die Konfigurationsdatei, welche sich proftpd.conf schimpft und sich in /etc/proftpd/ befindet:

    Ich nutze für das editieren von Dateien per SSH immer nano, wer es nicht auf dem Server installiert hat, kann es mit "sudo apt-get install nano" nachinstallieren

    Code (Text):
    1. sudo nano /etc/proftpd/proftpd.conf
    Dort empfiehlt es sich, IPv6 abzustellen, falls ihr keine IPv6 Adressen habt. Dazu sucht ihr die Zeile

    Code (Text):
    1. UseIPv6 on
    und ersetzen es durch
    Code (Text):
    1. UseIPv6 off
    Am Ende der Datei fügen wir folgende Zeilen ein:
    Code (Text):
    1. <Global>
    2.     RequireValidShell off
    3. </Global>
    4.  
    5. DefaultRoot ~ ftpuser
    6.  
    7. <Limit LOGIN>
    8.     DenyGroup !ftpuser
    9. </Limit>
    Diese bewirken, dass nur User, welche sich in der Gruppe ftpuser befinden, sich auf den FTP-Server einloggen können.
    Speichern tun wir die Datei mit Strg+O und Enter, nano verlassen wir mit Strg+X.

    Um die Gruppe ftpuser zu erstellen, bedarf es nur
    Code (Text):
    1. sudo addgroup ftpuser
    Als nächstes könnt ihr den User www-data (ihm gehört das Webserver Rootverzeichnis) der Gruppe hinzufügen
    Code (Text):
    1. sudo adduser www-data ftpuser
    und danach ihm ein neues Passwort zuweisen
    Code (Text):
    1. sudo passwd www-data
    Ich empfehle einen Passwortgenerator zu nutzen. :)
    Ihr könnt euch nun auf den FTP Server verbinden. Nutzt dazu zum Beispiel Filezilla. Ihr müsst dann eure ServerIP/Domain eingeben, www-data als Benutzername und das Passwort, was ihr dem Benutzer gerade zugewiesen habt. Port ist 22 (könnt ihr übrings in der Konfigurationsdatei ändern)


    Die meisten CMS benötigen eine Datenbank, es handelt sich dabei fast immer um MYSQL. Dies muss natürlich auch erstmal auf dem Server installiert werden. Dazu gebt ihr folgendes ein:

    Code (Text):
    1. sudo apt-get install mysql-server mysql-client
    Während der Installation müsst ihr ein MySQL-Rootpasswort angeben. Auch hier solltet ihr ein Generator nutzen. ;)

    Um die Datenbanken besser verwalten zu können, installiert ihr phpMyAdmin auf den Server. Auch recht simpel:
    Code (Text):
    1. sudo apt-get install phpmyadmin
    Auch hier während der Installation müsst ihr ein paar Sachen angeben. Zum einen fragt er euch, ob ihr Apache2 oder einen anderen Webserver verwendet, zum anderen könnt ihr die Datenbanken mit dbconfig-common konfigurieren lassen (empfehle ich euch), dazu müsst ihr das MySQL-Rootpasswort angeben.

    Nachdem die Installation abgeschlossen ist, noch kurz phpmyadmin dem Webserver bekannt machen (funktioniert leider nicht automatisch bisher) und den Webserver neu laden.
    Code (Text):
    1.  
    2. sudo scp /etc/phpmyadmin/apache.conf /etc/apache2/conf.d/phpmyadmin.conf
    3. sudo /etc/init.d/apache2 reload
    4.  
    Fertig, ihr habt es geschafft - ohne Scherz! ;)

    Den PHPMyAdmin findet ihr unter
    http://eure-ip-oder-domain/phpmyadmin (teilweise auch http://eure-ip-oder-domain/phpMyAdmin)

    Dort könnt ihr euch mit root/mysqlrootpasswort anmelden, und unter Rechte einen Datenbanknutzer erstellen.

    Wie man Wordpress oder Joomla installiert, zeig ich euch dann mal im Wiki.

    Ich übernehme übrings keine Haftung hierfür
     
    #1
  2. Benni1000
    Offline

    Benni1000 Ehem. Teammitglied

    Registriert seit:
    4. Mai 2012
    Beiträge:
    1.408
    Warum soll man sich einen (unsicheren) FTP Server installieren wenn man einfach SFTP zur dateiübertragnung nutzen kann?
     
    #2
    1 Person gefällt das.
  3. RaphixxYT
    Offline

    RaphixxYT Gesperrt

    Registriert seit:
    16. Dezember 2013
    Beiträge:
    54
    Ort:
    Nürnberg
    Man kann das auch folgend machen:
    1. User erstellen mit dem Home-Verzeichnis /var/www/
    2. Mit dem User per SCP/SFTP anmelden und gut ist.
     
    #3
  4. Thomas
    Offline

    Thomas

    Registriert seit:
    14. Juli 2011
    Beiträge:
    644
    1. Apache2 erstellt bei der Installation den User www-data, dieser sollte das /var/www Verzeichnis besitzen, da es sonst bei CMS wie WP zu heftigen Problemen kommen kann sodass man mit Rootrechten einschreiten muss. :)
    2. Kann man machen muss man aber nicht. Das ist jeden selbst Überlassen wie er es machen möchte
     
    #4
  5. GermanUbuntu
    Online

    GermanUbuntu

    Lieber nicht

    Lieber nicht ^^".
    ein Verzeichnis sollte nur einem Benutzer gehören!
    da z.b User "webUser" nicht auf die Dateien von "www-data" einfach so zugreifen kann.
     
    #5
  6. BlueFreakLP
    Offline

    BlueFreakLP

    Registriert seit:
    10. Januar 2012
    Beiträge:
    97
    Finde das Tutorial gut gelungen, außer wie oben schon erwähnt, das SFTP besser ist. Ist integriert in den Server ;)
     
    #6