Lighttpd에서 mod_mysql_vhost를 사용하여 간단한 가상 호스트 만들기(Ubuntu 12.04)

Lighttpd에서 mod_mysql_vhost를 사용하여 간단한 가상 호스트 만들기(Ubuntu 12.04)

2022-10-19 last update

5 minutes reading mysql ubuntu web server lighttpd
이 가이드는 mod_mysql_vhost를 사용하여 Ubuntu 12.04의 lighttpd 웹 서버에 간단한 가상 호스트를 만드는 방법을 설명합니다. mod_mysql_vhost를 사용하면 lighttpd는 MySQL 데이터베이스에서 가상 호스트 구성을 읽을 수 있습니다. 현재 매우 간단한 가상 호스트를 생성하는 MySQL 데이터베이스에 도메인과 문서 루트를 저장할 수 있습니다. 가상 호스트에 대한 지시문이 더 필요하면 lighttpd.conf의 전역 섹션에서 구성해야 합니다. 즉, 모든 가상 호스트에 대해 유효합니다. 따라서 mod_mysql_vhost는 가상 호스트가 도메인과 문서 루트에서만 다른 경우에 이상적입니다.

나는 이것이 당신에게 효과가 있다는 어떤 보장도 하지 않습니다!

1 서문


이 튜토리얼의 모든 단계를 루트 권한으로 실행해야 하기 때문에 이 튜토리얼의 모든 명령 앞에 sudo 문자열을 추가하거나 다음을 입력하여 지금 루트가 될 수 있습니다.
sudo su

2 MySQL 5.0 설치


먼저 다음과 같이 MySQL 5를 설치합니다.
apt-get install mysql-server mysql-client
MySQL 루트 사용자의 비밀번호를 제공하라는 메시지가 표시됩니다. 이 비밀번호는 [email protected][email protected] 사용자에게 유효하므로 나중에 MySQL 루트 비밀번호를 수동으로 지정할 필요가 없습니다. :
MySQL "루트"사용자의 새 비밀번호: <-- yourrootsqlpassword MySQL "루트"사용자의 비밀번호 반복: <-- yourrootsqlpassword

3 Lighttpd 및 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

4 mod_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

(secret를 이전에 lighttpd MySQL 사용자에 대해 설정한 비밀번호로 바꾸십시오.)
lighttpd를 다시 시작하십시오.
/etc/init.d/lighttpd restart
이제 가상 호스트를 구성할 시간입니다...

5 가상 호스트 구성


이제 www.example.com(문서 루트/var/www/www.example.com/web 포함)과 www.example.org(문서 루트/var/www 포함)에 대해 두 개의 가상 호스트를 구성하겠습니다./www.example.org/web).
먼저 두 웹 사이트의 문서 루트를 만듭니다(아직 없는 경우).
mkdir -p /var/www/www.example.com/web
mkdir -p /var/www/www.example.org/web
그런 다음 MySQL에 로그인합니다.
mysql -u root -p
USE lighttpd;
... 다음과 같이 가상 호스트를 만듭니다.
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;
이제 가상 호스트가 구성되고 작동하며 lighttpd를 다시 시작할 필요가 없습니다.
가상 호스트가 예상대로 작동하는지 확인하기 위해 각 문서 루트에 index.html 파일을 만듭니다. 하나에는 "www.example.com"문자열이 있고 다른 하나에는 "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를 표시해야 합니다.

6 링크


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