GNU/Linux >> LINUX-Kenntnisse >  >> Ubuntu

Erstellen einfacher virtueller Hosts mit mod_mysql_vhost auf Lighttpd (Ubuntu 12.10)

Diese Anleitung erklärt, wie Sie mit mod_mysql_vhost einfache virtuelle Hosts auf einem lighttpd-Webserver unter Ubuntu 12.10 erstellen können. Mit mod_mysql_vhost kann lighttpd die vhost-Konfiguration aus einer MySQL-Datenbank lesen. Derzeit können Sie die Domain und den Dokumentenstamm in der MySQL-Datenbank speichern, was zu sehr einfachen virtuellen Hosts führt. Wenn Sie weitere Direktiven für Ihre vhosts benötigen, müssten Sie diese im globalen Abschnitt von lighttpd.conf konfigurieren, was bedeutet, dass sie für alle vhosts gültig wären. Daher ist mod_mysql_vhost ideal, wenn sich Ihre vhosts nur in der Domäne und dem Dokumentenstamm unterscheiden.

Ich gebe keine Garantie dafür, dass dies bei Ihnen funktioniert!

1 Vorbemerkung

Da wir alle Schritte aus diesem Tutorial mit Root-Rechten ausführen müssen, können wir entweder allen Befehlen in diesem Tutorial die Zeichenfolge sudo voranstellen oder wir werden sofort root, indem wir

eingeben
sudo su

2 Installation von MySQL 5

Zuerst installieren wir MySQL 5 wie folgt:

apt-get install mysql-server mysql-client

Sie werden aufgefordert, ein Passwort für den MySQL-Root-Benutzer anzugeben – dieses Passwort gilt sowohl für den Benutzer [email protected] als auch für [email protected], sodass wir später kein MySQL-Root-Passwort manuell angeben müssen:

Neues Passwort für den MySQL-"root"-Benutzer:<-- yourrootsqlpassword
Wiederholen Sie das Passwort für den MySQL-"root"-Benutzer:<-- yourrootsqlpassword

3 Installation von Lighttpd und mod_mysql_vhost

Sie können lighttpd (falls noch nicht installiert) und mod_mysql_vhost wie folgt installieren:

apt-get install lighttpd lighttpd-mod-mysql-vhost

Um mod_mysql_vhost zu aktivieren, öffnen wir /etc/lighttpd/lighttpd.conf und fügen/aktivieren „mod_mysql_vhost“ in der server.modules-Stanza hinzu:

vi /etc/lighttpd/lighttpd.conf
server.modules =( "mod_access", "mod_alias", "mod_compress", "mod_redirect", "mod_mysql_vhost",# "mod_rewrite",) [...]

Danach starten wir lighttpd neu:

/etc/init.d/lightpd Neustart

4 mod_mysql_vhost konfigurieren

Jetzt melden wir uns bei MySQL an...

mysql -u root -p

... und erstelle die Datenbank lighttpd:

DATENBANK ERSTELLEN lighttpd;

Als nächstes erstellen wir einen Datenbankbenutzer (den wir ebenfalls lighttpd nennen) mit SELECT-Berechtigungen für die lighttpd-Datenbank:

GRANT SELECT ON lighttpd.* TO [email protected] IDENTIFIED BY 'secret';
GRANT SELECT ON lighttpd.* TO [email protected] IDENTIFIED BY 'secret';
FLUSH PRIVILEGES;

(Ersetzen Sie secret durch ein Passwort Ihrer Wahl.)

Dann erstellen wir die Domänentabelle in der lighttpd-Datenbank und verlassen MySQL:

LIGHTTPD VERWENDEN;
CREATE TABLE domains (
domain varchar(64) not null primary key,
docroot varchar(128) not null
);
beenden;

Jetzt öffnen wir /etc/lighttpd/lighttpd.conf und fügen die folgende mod_mysql_vhost-Konfiguration am Ende der Datei hinzu:

vi /etc/lighttpd/lighttpd.conf
[...]mysql-vhost.db ="lighttpd"mysql-vhost.user ="lighttpd"mysql-vhost.pass ="geheim "mysql-vhost.sql ="Dokroot AUS Domänen AUSWÄHLEN, WHERE domain='?';"mysql-vhost.hostname ="localhost"mysql-vhost.port =3306

(Ersetzen Sie secret durch das Passwort, das Sie zuvor für den Lighttpd-MySQL-Benutzer festgelegt haben.)

lighttpd neu starten:

/etc/init.d/lightpd Neustart

Jetzt ist es an der Zeit, virtuelle Hosts zu konfigurieren...

5 Virtuelle Hosts konfigurieren

Ich werde jetzt zwei virtuelle Hosts konfigurieren, einen für www.example.com (mit dem Dokumentenstamm /var/www/www.example.com/web) und einen für www.example.org (mit dem Dokumentenstamm /var/www /www.example.org/web).

Zuerst erstellen wir die Document Roots beider Websites (falls sie noch nicht existieren):

mkdir -p /var/www/www.example.com/web
mkdir -p /var/www/www.example.org/web

Dann melden wir uns bei MySQL an...

mysql -u root -p
LIGHTTPD VERWENDEN;

... und erstellen Sie die vhosts wie folgt:

INSERT IN TO domains VALUES ('www.example.com','/var/www/www.example.com/web/');
INSERT INTO domains VALUES ('www.example.org', '/var/www/www.example.org/web/');

Wir können jetzt die MySQL-Shell verlassen:

beenden;

Das war's, die vhosts sind jetzt konfiguriert und funktionieren, und es ist kein lighttpd-Neustart erforderlich.

Um zu überprüfen, ob die vhosts wie erwartet funktionieren, erstellen wir in jedem Dokumentenstamm eine index.html-Datei, eine mit der Zeichenfolge „www.example.com“ darin, die andere mit der Zeichenfolge „www.example.org“. ..

echo "www.example.com"> /var/www/www.example.com/web/index.html
echo "www.example.org"> /var/www/www.example. org/web/index.html

und rufen Sie in einem Browser http://www.example.com und http://www.example.org auf. http://www.example.com sollte www.example.com anzeigen und http://www.example.org sollte www.example.org anzeigen.

  • mod_mysql_vhost:http://redmine.lighttpd.net/projects/1/wiki/Docs:ModMySQLVhost
  • Lighttpd:http://www.lighttpd.net/
  • Ubuntu:http://www.ubuntu.com/

Ubuntu
  1. Virtuelles Hosting mit Proftpd und MySQL (inkl. Quote) auf Ubuntu 14.04LTS

  2. Virtuelle Benutzer und Domains mit Postfix, Courier, MySQL und SquirrelMail (Ubuntu 13.10)

  3. Erstellen einfacher virtueller Hosts mit mod_mysql_vhost auf Lighttpd (Ubuntu 12.04)

  4. Erstellen einfacher virtueller Hosts mit mod_mysql_vhost auf Lighttpd (Debian Etch)

  5. Erstellen einfacher virtueller Hosts mit mod_mysql_vhost auf Lighttpd (Debian Squeeze)

Virtuelles Hosting mit vsftpd und MySQL auf Ubuntu 12.04

Virtuelle Benutzer und Domains mit Postfix, Courier, MySQL und SquirrelMail (Ubuntu 12.10)

Virtuelles Hosting mit vsftpd und MySQL auf Ubuntu 12.10

Virtuelles Hosting mit Proftpd und MySQL (inkl. Quote) auf Ubuntu 12.10

Installation von Lighttpd mit PHP (PHP-FPM-Modus) und MySQL oder MariaDB auf Ubuntu 15.04

Installation von Lighttpd mit PHP (PHP-FPM-Modus) und MySQL oder MariaDB auf Ubuntu 15.10