Installation Debian 7.x (Wheezy) in VirtualBox

In diesem Beitrag beschreibe die Erstellung einer Virtuellen Maschine mit Hilfe der Software VirtualBox und die Installation und Einrichtung eines Debian Webservers in dieser virtuellen Maschine.

Die Einrichtungsschritte beziehen sich auf Debian 7.9 (Wheezy). Bei anderen Debian-Versionen können die einzelnen Einrichtungsschritte etwas abweichen

Download ISO-Datei

Die Datei debian-7.9.0-amd64-netinst.iso wurde von https://www.debian.org/releases/oldstable/debian-installer/ herunter geladen. Es wurde

  • Netzinstallations-CD-Images (netinst), typischerweise 150–280 MB und
  • amd64

gewählt.

Erstinstallation 14.09.2015

VM wurde bereits erzeugt, mit Festplatte. Jetzt wird ISO Datei hinzugefügt.

Jetzt starten, System bootet von ISO-Image

  • Advanced Options
  • Expert install
  • Choose language - German
  • Tastatur Deutsch

Zusätzliche Komponenten:

  • network-console

Netzwerk-Hardware erkennen:

  • keine

Netzwerk einrichten:

  • automatisch einrichten -ja
  • Rechnername debian79
  • Domainname debian79dom

Benutzer und Passwörter einrichten:

  • Shadow-Passwörter - ja
  • root das Anmelden erlauben - ja
  • root-passwort - dietlind
  • normales Konto erstellen - nein

Festplatte erkennen und partitionieren

Grundsystem installieren

Zu installierender Kernel

  • linux-image-amd64

In die initrd aufzunehmende Treiber

  • generisch: alle verfügbaren Treiber

Paketmanager konfigurieren

  • Netzwerkspiegel verwenden - ja
  • Protokoll für Downloads - http
  • Land - Deutschland
  • Spiegelserver - ftp.de.debian.org
  • http-Proxy - leer
  • Non-free-Software - nein
  • contrib-Software - nein
  • Zu verwendende Dienste - Sicherheitsaktualisierungen und Release-Updates

Software auswählen und installieren

  • virtualbox-ose-guest-x11 - nein
  • An der Paketverwendungserfassung teilnehmen - nein
  • setuid man installieren - nein
  • Welche Software soll installiert werden
    • Web server
    • SSH server
    • Standard-Systemwerkzeuge

GRUB-Bootloader installieren

  • GRUB in Master Boot Record installieren - ja

Installation abschließen

  • Systemzeit auf UTC gesetzt - ja
  • jetzt ISO-Datei entfernt
  • Neustart

Erste Tests

  • Login mit Root - ok
  • apt-get ist vorhanden
  • apt-get update ausgeführt

MC installieren

  • mit apt-get install mc
  • Maus funktioniert noch nicht
  • apt-get install gpm - jetzt funktioniert die Maus

Apache

  • Test mit service apache2 status - ok
  • aber unklar, mit welcher IP das System erreicht werden kann

Herunterfahren mit shutdown -h now

Einstellungen für Netzwerk geändert auf Netzwerkbrücke und Neustart.

Jetzt ist die Standardwebsite über http://192.168.178.67/ erreichbar. Ein Aufruf über die oben vergebenen Namen/Domainnamen funktioniert aber nicht. FTP/SSH

Auch ein FTP-Zugang mit SFTP ist für root möglich (aber kein normales FTP)

SSH Zugang funktioniert auch.

Weitere Installationen

FTP einrichten

siehe dazu https://www.thomas-krenn.com/de/wiki/FTP-Server_unter_Debian_einrichten

apt-get install proftpd-basic
  • Servermodus

Benutzer hinzugefügt

adduser ftpuser --shell /bin/false --home /var/www

mit Passwort dietlind

Zugriff mit anderer Adresse einrichten

Unter Windows in der Datei hosts ergänzt

192.168.178.67     root.debian79

Jetzt ist die Website auch unter root.debian79 erreichbar

PHP installieren

siehe http://php.net/manual/de/install.unix.debian.php

apt-get install php5-common libapache2-mod-php5 php5-cli

Jetzt läuft phpinfo.

Jetzt noch

apt-get install php5-mysql php5-curl

Test mit moziloCMS, Installation klappt nicht, also Dateirechte für alles auf 777 gesetzt, jetzt funktioniert Installation aber noch kein mod_rewrite, also

a2enmod rewrite

Trotzdem kann man in moziloCMS mod_rewrite nicht installieren.

Außerdem php5-gd installiert

Für phpSQLiteCMS php5-sqlite installiert. Jetzt kann phpSQLiteCMS gestartet werden, aber offensichtlich funktioniert mod_rewrite nicht. Dazu muss noch in der Konfigurationsdatei /etc/apache2/sites-available/default immer für

AllowOverride None

gesetzt werden

AllowOverride all

Jetzt funktioniert auch phpSQLiteCMS, es mussten aber auch noch die Datei und Verzeichnisrechte gesetzt werden. In moziloCMS funktioniert mod_rewrite immer noch nicht.

Bei einem erneuten Installationsversuch funktioniert moziloCMS.

phpMyAdmin installieren

siehe https://www.digitalocean.com/community/tutorials/how-to-install-and-secure-phpmyadmin-on-debian-7

apt-get install phpmyadmin
  • apache2
  • phpmyadmin mit dbconfig-common - ja
  • Passwort des administrativen Datenbank-Benutzers: dietlind
  • MySQL-Anwendungspasswort für phpmyadmin: dietlind

Es gab hier Probleme, vermutlich mit dem Passwort. Problem war das Mysql-Server noch nicht installiert war, also

apt-get install mysql-server

mit root/dietlind

Jetzt funktioniert auch phpMyAdmin

Wordpress installieren

Unter phpmyadmin

  • Datenbanknutzer:wordpress
  • Datenbank:wordpress
  • Passwort:dietlind
  • alle Rechte

Dateirechte auf höchste Stufe. In Wordpress

Alternative Basis-Installationen

Versuch, eine weitere PHP-Version zu installieren, nach https://dominicpratt.de/verschiedene-php-versionen-mit-apache-nutzen/

apt-get install apache2-suexec libapache2-mod-fastcgi
apt-get install php5-fpm

Git

Am 12.01.2016 wurde Git installiert

Froxlor Versuch am 12.01.2016 / 13.01.2016

Informationsquelle ist

https://blog.secretisland.de/froxlor-installation-debian/

Ausgeführt:

apt-get install apt-show-versions htop bmon lsof iotop cron-apt mc linux-image-amd64 linux-headers-amd64 locate mutt mytop

Ausgeführt:

echo 'deb http://debian.froxlor.org stable main' > /etc/apt/sources.list.d/froxlor.list

Ausgeführt:

apt-key adv --keyserver pool.sks-keyservers.net --recv-key FD88018B6F2D5390D051343FF6B4A8704F9E9BBC

Ausgeführt:

apt-get update

Ausgeführt:

apt-get upgrade

Ausgeführt:

apt-get install froxlor

Bei den Fragen:

  • Create directories for web-based administration? NO, bezieht sich wohl auf

    Konfiguriere courier-base

    Courier benutzt verschiedene Konfigurationsdateien in /etc/courier. Einige dieser Dateien können durch ein Unterverzeichnis ersetzt werden, dessen Inhalt dann als eine vereinigte Konfigurationsdatei betrachtet wird.
    Die von dem courier-webadmin-Paket zur Verfügung gestellte WWW-Administration ist angewiesen auf Konfigurationsverzeichnisse statt Konfigurationsdateien. Wenn Sie zustimmen, werden alle vom Administrationstool benötigten Verzeichnisse erzeugt, außer es existiert bereits eine gleichnamige Konfigurationsdatei. Verzeichnisse für WWW-Administration anlegen? Nein

  • Run proftpd: standalone, Frage wurde bei der Installation nicht gestellt

  • Postfix: Internet Site, Frage wurde bei der Installation nicht gestellt

Froxlor lässt sich mit http://192.168.178.67/froxlor/ nicht aufrufen, auch nach einem Neustart des Servers nicht-

Experiment mit Bashblog

bashblog wird im Verzeichnis für org installiert. Für die Dateien bb.sh und Markdown.pl werden die Attribute auf 755 gesetzt.

Ins Verzeichnis wechseln

cd /var/www/org/

Editor einstellen

export EDITOR=/usr/bin/pico

Jetzt ist der Test ok. Es wurde gleich in einem ersten Beitrag der deutsche Zeichensatz getestet, auch der funktioniert ohne weitere Anpassungen.

Markdown funktioniert allerdings noch nicht. Dazu habe ich in der Datei .config die Zeile

markdown_bin="./Markdown.pl"

eingefügt. Jetzt funktioniert alles bestens.

Zwischenstand 16.10.2015 / 12.01.2016

In den Apache-Sites steht:

Action php-cgi /cgi-bin-php/php-cgi-5.6

und

Action php-cgi /cgi-bin-php/php-cgi-5.5

und

Action php-cgi /cgi-bin-php/php-cgi-7.0

In der Wordpress-Datei fehlt eine Zeile.

Maßnahmen am 03.05.2016

Sicherungspunkt 5 erstellt

apt-get volles Programm incl. clean

Test des Subdomains

  • 192.168.178.67 - am 3.5.2016 ok, bashblog, PHP Version 5.6.20
  • http://root.debian79/ mit PHP Version 5.6.13, ok, am 12.01.2015 auf 5.6.17 - unter /var/www/org/am 3.5.2016 ok, bashblog, PHP Version 5.6.20
  • http://mozilocms.debian79 mit PHP Version 5.5.29, ok, am 12.01.2015 auf 5.5.31 - unter /var/www/mozilocms/ok am 3.5.2016 mozilomcs Installation, PHP Version 5.5.34
  • http://wordpress.debian79/ mit Fehler Internal Server Error; auch am am 3.5.2016 /var/www/wordpress/ PHP mit Internal Server Error, sftp://192.168.178.67:22/etc/apache2/sites-available/wordpress wurde modifiziert mit Angaben aus sftp://192.168.178.67:22/etc/apache2/sites-available/phpsqlitecms; jetzt ok PHP Version 7.0.5;
  • http://phpsqlitecms.debian79/ mit PHP Version 7.0.0RC2, ok, am 12.01.2015 auf 7.0.2, unter /var/www/phpsqlitecms/ am 3.5.2016 PHP Version 7.0.5
  • http://192.168.178.67/phpmyadmin/ am 3.5.2016 klappt nicht, Datei sftp://192.168.178.67:22/etc/phpmyadmin/apache.conf wurde modifiziert mit Angaben aus sftp://192.168.178.67:22/etc/apache2/sites-available/phpsqlitecms

Neuer Nutzer

adduser dummy 

mit dietlind, dann noch

adduser dummy ftpuser

jetzt ok, hat aber Verzeichnis /home/dummy, also jetzt noch

usermod -d /var/www dummy

um anderes Verzeichnis zuzuweisen.

Jetzt alle neueren Dateien wie

  • group
  • group-
  • gshadow
  • gshadow-
  • passwd
  • passwd-
  • shadow

gesichert. Dann Server herunter fahren, zurücksetzen und neu starten. Neuer Nutzer dummy funktioniert jetzt nicht.

Jetzt die obigen Dateien zurückspielen. Jetzt funktioniert dummy

Maßnahmen am 25.05.2016

Sicherungspunkte

  • Sicherungspunkt 1 vom 14.09.2015, keine Bemerkung
  • Sicherungspunkt 4 vom 12.01.2016, Basis Sicherungspunkt 1, umfangreiches Upgrade am 12.01.2015
  • Sicherungspunkt 6 vom 03.05.2016, Basis Sicherungspunkt 4, nach apt-get -upgrade
  • Sicherungspunkt 8 vom 03.05.2016, Basis Sicherungspunkt 6, keine Bemerkung
  • aktueller Zustand, Basis Sicherungspunkt 6

aktueller Zustand

apt-get volles Programm incl. clean

Test des Subdomains

Wordpress

  • Plugin update ok
  • Twenty Thirteen gelöscht
  • Update auf 4.5.2 ok

Froxlor

  • Versuch mit /etc/froxlor/apache.conf klappt nicht, daher mit Subdomain
  • Datei /etc/apache2/sites-available/froxlor angelegt und mit a2ensite froxlor aktiviert
  • unter Windows 7 in Datei hosts Zeile 192.168.178.67 froxlor.debian79 hinzugefügt
  • jetzt kann man http://froxlor.debian79 aufrufen, Installation startet

Froxlor Installation

  • PHP bcmath-extension... not installed Traffic-calculation related functions will not work correctly!
  • All requirements are satisfied

Die Einzelheiten

Database connection

  • MySQL-Hostname:127.0.0.1
  • Database name:froxlor
  • Username for the unprivileged MySQL-account:froxlor
  • Password for the unprivileged MySQL-account:dietlind
  • Username for the MySQL-root-account:root
  • Password for the MySQL-root-account:dietlind

Administrator Account

Server settings

  • Server name (FQDN, no ip-address):froxlor.debian79
  • Server IP:192.168.178.67
  • Webserver Apache 2: Apache 2 ja
  • Webserver Apache 2.4:Apache 2.4
  • Webserver LigHTTPd:LigHTTPd
  • Webserver NGINX:NGINX
  • HTTP username:www-data
  • HTTP groupname:www-data

Endet mit Froxlor was installed successfully. Man kann sich nun bei Froxlor anmelden. Es wurde nicht geprüft, ob Eingaben möglich sind.

Sicherungspunkte

Sicherungspunkt 9 erstellt

System Upgrade Versuch am 25.05.2016 - 19:35

siehe dazu auch http://www.linuxveda.com/2015/04/28/upgrade-from-debian-7-to-debian-8/

In Datei /etc/apt/sources.list alle alle whezzy mit jessie ersetzt

Jetzt die folgenden Schritte

  • service apache2 stop
  • dpkg --get-selections "*">liste
  • apt-get update
  • erst apt-get -s upgrade dann apt-get upgrade
  • erst apt-get -s dist-upgrade dann apt-get dist-upgrade
  • apt-get purge $(dpkg -l | awk '/^rc/ { print $2 }')
  • apt-get autoremove
  • apt-get clean

Danach Neustart:ok und Putty:ok

Sicherungspunkt 10 erstellt

Systemtests

  • Verbindung mit Speedkommander root nicht möglich, geht aber mit FileZilla
  • sämtliche Subdomains werden nicht erkannt
  • PHP (z.B. info.php) wird nicht ausgeführt, Fehlermeldung The requested URL /cgi-bin-php/php-cgi-5.5/index.php was not found on this server.

Daher diese Anpassungen

  • für Benutzer dummy Verzeichnis geändert mit usermod -d / dummy
  • Datei 000-default.conf geändert, jetzt bei info.php leere Seite
  • Datei mozilocms kopiert zu mozilocms.conf und mit a2ensite aktiviert, jetzt Fehlermeldung wie oben; dann mozilocms.conf angepasst (wie oben), jetzt PHP als Text
  • apt-get install libapache2-mod-php5 durchgeführt
  • Dateien froxlor.conf, phpsqlitecms.conf und wordpress.conf erstellt (jeweils aus ohne .conf) und mit a2ensite aktiviert

Nun noch einmal Test:

Versuch, die Installation von moziloCMS fortzusetzen (27.05.2016)

Der Versuch scheitert zunächst, es ist auch nicht möglich, die Installation komplett zu löschen. Daher werden die Dateirechte untersucht:

  • bashblog-in-org 755 root root
  • froxlor 755 www-data www-data
  • html 755 root root
  • mozilocms 755 root ftpuser
  • org 755 ftpuser ftpuser
  • org-org 755 root root
  • phpsqlitecms 755 ftpuser ftpuser
  • webalizer 755 root root
  • wordpress 755 ftpuser ftpuser

Die Unterverzeichnisse in mozilocms kann ftpuser nicht löschen.

Wenn ftpuser ein neues Verzeichnis anlegt, dann hat es 755 ftpuser ftpuser. ftpuser kann es auch wieder löschen.

Jetzt

chown ftpuser:ftpuser /var/www/mozilocms/

Jetzt kann User ftpuser alles löschen. Danach mit ftpuser wieder neu hochgeladen (Version 49). Die Verzeichnisse haben 755. mozilo lässt sich nicht installieren.

Jetzt für alle Verzeichnisse 777 gesetzt. Geht nicht. Jetzt für alle Verzeichnisse und Dateien 777 gesetzt.

Test mit froxlor (27.05.2016)

  • Nutzer:froxlor01
  • Create standard subdomain?:yes
  • Store default index-file to customers docroot?:yes
  • Password:Dietlind61
  • Send password:nein
  • Email:awardfan@bpgs.de

Und

  • Webspace (MiB) *:100
  • Traffic (GiB) *:100
  • Subdomains *:10
  • Email-addresses *:1
  • Email-accounts *:1
  • Email-forwarders *:1
  • E-mail IMAP *:nein
  • E-mail POP3 *:nein
  • FTP-accounts:1
  • Support-tickets:∞
  • MySQL-databases *:1
  • PHP enabled?:yes
  • Perl enabled?:nein

    Jetzt wurde eine Standardsubdomain http://froxlor01.froxlor.debian79 angelegt. Die habe ich auch in hosts eingetragen. Verzeichnis ist /var/customers/webs/froxlor01/. Dieses Verzeichnis existiert aber gar nicht. Es ist auch nicht möglich, sich per FTP einzuloggen. Es hilft auch nicht, einen weiteren FTP-Account anzulegen.

Froxlor Problem (31.05.2016)

Cronjobs werden nicht ausgeführt, daher die unter

Debian Jessie (8.x) » Sonstige (System) » Cronjob for froxlor

gegebene Anleitung ausgeführt, also

/usr/bin/nano /etc/cron.d/froxlor

dort

#
# Set PATH, otherwise restart-scripts won't find start-stop-daemon
#
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
#
# Regular cron jobs for the froxlor package
#
# Please check that all following paths are correct
#
*/5 * * * * root    /usr/bin/nice -n 5 /usr/bin/php -q /var/www/froxlor/scripts/froxlor_master_cronjob.php

dann

chmod 0640 "/etc/cron.d/froxlor"
chown root:0 "/etc/cron.d/froxlor"
/etc/init.d/cron reload

Wichtig auch

  • Nameserver-Einstellungen: ja

und auch in der Domainverwaltung

Nameserver-Einstellungen>>Nameserver: Ja

Danach ggf. Apache neu laden

service apache2 reload

Jetzt kann aber auf http://froxlor01.froxlor.debian79/ nicht mehr zugegriffen werden:

Forbidden

You don't have permission to access / on this server.

Aufrufe wie

landen alle im gleichen, nicht korrekten Verzeichnis. http://root.debian79/phpmyadmin/ funktioniert aber noch.

Zugriff auf Froxlor geht jetzt über http://froxlor.debian79/froxlor/; klappt sowohl mit bpgs und froxlor01

Neu angelegt wurden:

  • /etc/php-fpm.d/froxlor01.froxlor.debian79.conf
  • /etc/bind/froxlor_bind.conf
  • /etc/bind/domains/froxlor01.froxlor.debian79.zone
  • /etc/apache2/sites-enabled/10_froxlor_ipandport_192.168.178.67.80.conf
  • /etc/apache2/sites-enabled/29_froxlor_normal_vhost_froxlor01.froxlor.debian79.conf
  • /etc/apache2/sites-enabled/40_froxlor_diroption_cbaa9783b90fdd6d51bd3cf466341982.conf