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

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

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

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

1MySQL5.0のインストール

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

apt-get install mysql-server mysql-client

MySQLユーザーrootのパスワードを作成します(rootsqlpasswordを使用するパスワードに置き換えます):

mysqladmin -u root password yourrootsqlpassword

次に、

で確認します
netstat -tap | grep mysql

MySQLがリッスンしているアドレス。出力が次のようになっている場合:

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

これは、MySQLがlocalhost.localdomainのみをリッスンしていることを意味し、前に設定したパスワードで安全です。ただし、出力が次のようになっている場合:

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

ホスト名にもMySQLパスワードを設定する必要があります(私のホスト名はここではserver1.example.comです)。そうしないと、誰でもデータベースにアクセスしてデータを変更できるためです。

mysqladmin -h server1.example.com -u root password 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_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"
 )
[...]

その後、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://trac.lighttpd.net/trac/wiki/Docs#Optionsformod_mysql_vhost-Mysqlvirtualhostingmodule
  • 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でmod_mysql_vhostを使用して単純な仮想ホストを作成する(Debian Squeeze)

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

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

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

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

  2. munin(Debian Etch)を使用した複数のシステムの監視

  3. PHP5とMySQLをサポートするLighttpdをDebianEtchにインストールする