当前位置:web 服务器 > Apache >>

Ubuntu Linux Apache虚拟主机的安装配置

目标

1.创建基于 IP 的虚拟主机用于一个项目的整体测试

2.创建基于用户的虚拟主机用于用户测试自己的代码

 

开始

 

创建虚拟主机的目录结构

 

sudo /home/www

cd /home/www

sudo mkdir 192.168.0.251 192.168.0.252

cd 192.168.0.251

sudo mkdir cgi-bin htdocs logs db

cd ../192.168.0.252

sudo mkdir cgi-bin htdocs logs db

tree /home/www

/home/www

|-- 192.168.0.251

| |-- cgi-bin

| |-- db

| |-- htdocs

| `-- logs

`-- 192.168.0.252

|-- cgi-bin

|-- db

|-- htdocs

`-- logs

 

1.

要在 192.168.0.251 和 192.168.0.252 上 创建两个基于 IP 的虚拟主机,为了直观起见,在 /home/www 下分别创建了目录 192.168.0.251 和 192.168.0.252

2.

cgi-bin 子目录用于存放 CGI 脚本

3.

db 子目录用于存放 SQLite 数据库

4.

htdocs 子目录用于存放站点文档

5.

logs 子目录用于存放站点日志

 

创建虚拟主机的管理帐号并设置目录权限

 

sudo useradd -g www-data -d /home/www/192.168.0.251 wuser1

sudo useradd -g www-data -d /home/www/192.168.0.252 wuser2

sudo passwd wuser1

sudo passwd wuser2

sudo chown -R wuser1.www-data /home/www/192.168.0.251

sudo chown -R wuser2.www-data /home/www/192.168.0.252

 

1.

将 192.168.0.251 虚拟主机的管理者赋予 wuser1; 将 192.168.0.252 虚拟主机的管理者赋予 wuser2;允许他们使用 ssh 登录

2.

wuser1 和 wuser2 的主组均设置为 www-data,这样设置的方便之处在于:若站内有 Apache 进程可写的内容,只需添加 组可写 权限即可

 

配置虚拟网络接口和主机名解析

 

使用如下命令:

 

sudo vim /etc/network/inte易做图ces

 

添加如下的配置

 

auto eth0:1

iface eth0:1 inet static

address 192.168.0.251

netmask 255.255.255.0

network 192.168.0.0

broadcast 192.168.0.255

gateway 192.168.0.1

auto eth0:2

iface eth0:2 inet static

address 192.168.0.252

netmask 255.255.255.0

network 192.168.0.0

broadcast 192.168.0.255

gateway 192.168.0.1

 

然后使用如下命令重新启动网络服务

 

sudo /etc/init.d/networking restart

 

然后在 /etc/hosts 文件中添加如下的行

 

192.168.0.251 web1.example.com web1

192.168.0.252 web2.example.com web2

 

配置 Apache

 

S1. 在 /etc/apache2/sites-available/ 目录下创建新的文件 192.168.0.251,添加如下的配置

 

/etc/apache2/sites-available/192.168.0.251

 

DocumentRoot "/home/www/192.168.0.251/htdocs/"

 

Options Indexes FollowSymLinks MultiViews

AllowOverride All

Order allow,deny

allow from all

 

 

ScriptAlias /cgi-bin/ /home/www/192.168.0.251/cgi-bin/

 

AllowOverride None

Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch

Order allow,deny

Allow from all

 

ErrorLog /home/www/192.168.0.251/logs/error.log

CustomLog /home/www/192.168.0.251/access.log combined

 

 

S2. 在 /etc/apache2/sites-available/ 目录下创建新的文件 192.168.0.252,添加如下的配置

 

/etc/apache2/sites-available/192.168.0.252

 

DocumentRoot "/home/www/192.168.0.252/htdocs/"

 

Options Indexes FollowSymLinks MultiViews

AllowOverride All

Order allow,deny

allow from all

 

ScriptAlias /cgi-bin/ /home/www/192.168.0.252/cgi-bin/

 

AllowOverride None

Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch

Order allow,deny

Allow from all

 

ErrorLog /home/www/192.168.0.252/logs/error.log

CustomLog /home/www/192.168.0.252/access.log combined

 

S3. 重新启动 Apache

 

sudo a2enmod rewrite

sudo a2enmod php5

sudo a2enmod perl

sudo a2enmod mod_python

sudo a2ensite 192.168.0.251

sudo a2ensite 192.168.0.252

sudo /etc/init.d/apache2 restart

 

配置站点内容的上传

FTP 服务器

 <

Apache
IIS
Nginx
Tomcat
如果你遇到web 服务器难题:
访问www.zzzyk.com 试试
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,