GNU/Linux >> LINUX-Kenntnisse >  >> Debian

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

Diese Anleitung erklärt, wie Sie mod_mysql_vhost verwenden können, um einfache virtuelle Hosts auf einem lighttpd-Webserver auf Debian Etch zu erstellen. 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 Installation von MySQL 5.0

Zuerst installieren wir MySQL 5.0 wie folgt:

apt-get install mysql-server mysql-client

Erstellen Sie ein Passwort für den MySQL-Benutzer root (ersetzen Sie Ihrrootsqlpassword durch das Passwort, das Sie verwenden möchten):

mysqladmin -u Root-Passwort Ihrrootsql-Passwort

Prüfen Sie dann mit

netstat -tap | grep mysql

auf welchen Adressen MySQL lauscht. Wenn die Ausgabe so aussieht:

tcp        0      0 localhost.localdo:mysql *:*                     LISTEN     2713/mysqld

was bedeutet, dass MySQL nur auf localhost.localdomain lauscht, dann sind Sie mit dem zuvor festgelegten Passwort sicher. Aber wenn die Ausgabe so aussieht:

tcp        0      0 *:mysql *:*                     LISTEN     2713/mysqld

Sie sollten auch ein MySQL-Passwort für Ihren Hostnamen festlegen (mein Hostname ist hier server1.example.com), da sonst jeder auf Ihre Datenbank zugreifen und Daten ändern kann:

mysqladmin -h server1.example.com -u root-Passwort Ihrrootsql-Passwort

2 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_accesslog", "mod_mysql_vhost",# "mod_rewrite", # "mod_redirect",# "mod_status",# "mod_evhost",# "mod_compress",# "mod_usertrack",# "mod_rrdtool",# "mod_webdav",# "mod_expire",# "mod_flv_streaming",# "mod_evasive" ) [...]

Danach starten wir lighttpd neu:

/etc/init.d/lightpd Neustart

3 Konfigurieren von mod_mysql_vhost

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 ="docroot FROM domains WÄ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...

4 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://trac.lighttpd.net/trac/wiki/Docs#Optionsformod_mysql_vhost-Mysqlvirtualhostingmodule
  • Lighttpd:http://www.lighttpd.net
  • Debian:http://www.debian.org

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

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

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

  4. Einrichten der Master-Master-Replikation mit MySQL unter Debian 8 (Jessie)

  5. So installieren Sie WebDAV mit Lighttpd unter Debian 8 (Jessie)

Installation von Lighttpd mit PHP5 (PHP-FPM) und MySQL-Unterstützung auf Debian Wheezy

Lighttpd mit PHP5 (PHP-FPM) und MySQL auf Debian 8 (Jessie) installieren

So installieren Sie Nginx mit PHP + MySQL (LEMP) unter Debian 9

Richten Sie Apache Virtual Hosts auf Debian 9 / Ubuntu 16.04 / LinuxMint 18 ein

Installieren Sie Zabbix auf Debian 11 Bullseye mit MySQL/MariaDB &Apache

So installieren Sie Drupal 5.6 auf Debian Etch mit ISPConfig