GNU/Linux >> Linux の 問題 >  >> Debian

Lighttpdでmod_mysql_vhostを使用して単純な仮想ホストを作成する(Debian Squeeze)

このガイドでは、mod_mysql_vhostを使用して、DebianSqueezeのlighttpdWebサーバー上に単純な仮想ホストを作成する方法について説明します。 mod_mysql_vhostを使用すると、lighttpdはMySQLデータベースからvhost構成を読み取ることができます。現在、ドメインとドキュメントルートをMySQLデータベースに保存できるため、非常に単純な仮想ホストになります。 vhostにさらにディレクティブが必要な場合は、lighttpd.confのグローバルセクションでディレクティブを設定する必要があります。つまり、すべてのvhostで有効になります。したがって、vhostがドメインとドキュメントルートのみが異なる場合は、mod_mysql_vhostが理想的です。

これがあなたのために働くという保証はありません!

1MySQL5.0のインストール

まず、次のようにMySQL5をインストールします。

apt-get install mysql-server mysql-client

MySQLルートユーザーのパスワードを入力するように求められます。このパスワードは[メール保護]ユーザーと[メール保護]ユーザーに有効であるため、後でMySQLルートパスワードを手動で指定する必要はありません。

MySQLの「root」ユーザーの新しいパスワード:<-yourrootsqlpassword
MySQLの「root」ユーザーのパスワードを繰り返します:<-yourrootsqlpassword

2Lighttpdとmod_mysql_vhostのインストール

次のようにlighttpd(まだインストールされていない場合)とmod_mysql_vhostをインストールできます。

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

mod_mysql_vhostを有効にするには、/ etc / lighttpd / lighttpd.confを開き、server.modulesスタンザで「mod_mysql_vhost」を追加/有効にします。

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

その後、lighttpdを再起動します:

/etc/init.d/lighttpd restart

3mod_mysql_vhostの構成

次に、MySQLにログインします...

mysql -u root -p

...そしてデータベースlighttpdを作成します:

CREATE DATABASE lighttpd;

次に、lighttpdデータベースのSELECT権限を持つデータベースユーザー(lighttpdとも呼ばれます)を作成します。

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

(シークレットを任意のパスワードに置き換えてください。)

次に、lighttpdデータベースにドメインテーブルを作成し、MySQLを終了します:

USE lighttpd;
CREATE TABLE domains (
domain varchar(64) not null primary key,
docroot varchar(128) not null
);
quit;

ここで、/ etc / lighttpd / lighttpd.confを開き、ファイルの最後に次のmod_mysql_vhost構成を追加します。

vi /etc/lighttpd/lighttpd.conf
[...]
mysql-vhost.db             = "lighttpd"
mysql-vhost.user           = "lighttpd"
mysql-vhost.pass           = "secret"
mysql-vhost.sql            = "SELECT docroot FROM domains WHERE domain='?';"
mysql-vhost.hostname       = "localhost"
mysql-vhost.port           = 3306

(シークレットをlighttpd MySQLユーザーに以前に設定したパスワードに置き換えます。)

lighttpdを再起動します:

/etc/init.d/lighttpd restart

次に、仮想ホストを構成します...

4仮想ホストの構成

次に、2つの仮想ホストを構成します。1つはwww.example.com用(ドキュメントルート/var/www/www.example.com/webを使用)、もう1つはwww.example.org用(ドキュメントルート/ var / wwwを使用)です。 /www.example.org/web)。

まず、両方のWebサイトのドキュメントルートを作成します(まだ存在しない場合):

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

次に、MySQLにログインします...

mysql -u root -p
USE lighttpd;

...そして次のようにvhostsを作成します:

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

これで、MySQLシェルを離れることができます:

quit;

これで、vhostが構成されて機能し、lighttpdを再起動する必要がなくなりました。

vhostが期待どおりに機能しているかどうかを確認するために、各ドキュメントルートにindex.htmlファイルを作成します。1つは文字列「www.example.com」、もう1つは文字列「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

ブラウザでhttp://www.example.comとhttp://www.example.orgを呼び出します。 http://www.example.comにはwww.example.comが表示され、http://www.example.orgにはwww.example.orgが表示されます。

  • mod_mysql_vhost:http://redmine.lighttpd.net/projects/1/wiki/Docs:ModMySQLVhost
  • lighttpd:http://www.lighttpd.net/
  • Debian:http://www.debian.org/

Debian
  1. Lighttpdでmod_mysql_vhostを使用して単純な仮想ホストを作成する(Ubuntu 12.04)

  2. Lighttpdでmod_mysql_vhostを使用して単純な仮想ホストを作成する(Ubuntu 12.10)

  3. Lighttpd(Debian Etch)でmod_mysql_vhostを使用して単純な仮想ホストを作成する

  1. DebianSqueezeでGlusterFS3.0.xを使用してNFSのようなスタンドアロンストレージサーバーを作成する

  2. DebianSqueezeでmylvmbackupを使用してMySQLデータベースをバックアップする方法

  3. Debian 8でMySQLを使用してマスターマスターレプリケーションを設定する(Jessie)

  1. Debian9でApache仮想ホストを設定する方法

  2. Debian10でApache仮想ホストを設定する方法

  3. Debian 8(Jessie)にLighttpdを使用してWebDAVをインストールする方法