Notice: Function _load_textdomain_just_in_time was called incorrectly. Translation loading for the wpdiscuz domain was triggered too early. This is usually an indicator for some code in the plugin or theme running too early. Translations should be loaded at the init action or later. Please see Debugging in WordPress for more information. (This message was added in version 6.7.0.) in /www/wwwroot/imcn.me/wp-includes/functions.php on line 6114
Ubuntu Linux Apach虚拟主机的安装配置 | 我是菜鸟

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

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

目标

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/interfaces

添加如下的配置

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 服务器

S1: 使用如下命令安装 proftpd

sudo apt-get install proftpd proftpd-doc

S2. 使用默认配置即可实现本地用户的上传和下载

Samba 服务器

S1. 使用如下命令

sudo vi /etc/samba/smb.conf

添加如下的配置行:

/etc/samba/smb.conf

[homes]

comment = Home Directories

browseable = no

writable = yes

create mask = 0644

directory mask = 0755

S2. 配置 Samba 用户 通过如下命令添加 Samba 用户

sudo smbpasswd -a wuser1

sudo smbpasswd -a wuser2

S3. 启动 Samba 服务器

sudo /etc/init.d/samba restart

创建基于用户的虚拟主机

*

可能开发者在 Windows 客户机没有创建开发环境

*

为了使每个开发者可以测试自己的代码,可以创建基于用户的虚拟主机

创建用户帐号

sudo useradd -g www-data -m user1

sudo useradd -g www-data -m user2

sudo passwd user1

sudo passwd user2

1.

用户需要在宿主目录下创建 public_html 子目录,将 Web 文档放入其中,可以通过 URL [url]http://IPorHostname/~username[/url] 访问自己的站点

2.

若进行 CGI 开发,还需要在宿主目录下创建 cgi-bin 子目录

配置 Apache

使用如下命令启用 userdir 模块即可

sudo a2enmod userdir

若进行 CGI 开发,需要修改 /etc/apache2/mods-available/userdir.conf

UserDir public_html

UserDir disabled root

AllowOverride FileInfo AuthConfig Limit

Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec

ScriptAliasMatch ~([a-z]+)/cgi-bin/(.*) /home/$1/cgi-bin/$2

# 添加此行,意思是匹配~user_name/cgi-bin/cgi_name自动映射到/home/user_name/cgi-bin/cgi-name脚本

关于默认的虚拟主机

Ubuntu 中文件 /etc/apache2/sites-available/default 配置的是默认的虚拟主机。default 虚拟主机的根文档目录默认设置为 /var/www,为了便于备份,最好将所有的 Web 内容都存放在 /home/www 目录下,为此可以将默认的虚拟主机的根文档目录默认设置为 /home/www 下的某个子目录下。

创建虚拟主机的目录结构

cd /home/www

sudo mkdir 192.168.0.222

cd 192.168.0.222

sudo mkdir cgi-bin htdocs

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

sudo useradd -g www-data -d /home/www/192.168.0.222 wdefault

sudo passwd wdefault

sudo chown -R wdefault.www-data /home/www/192.168.0.222

配置 Apache

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

/etc/apache2/sites-available/192.168.0.222

DocumentRoot “/home/www/192.168.0.222/htdocs/”

Options Indexes FollowSymLinks MultiViews

AllowOverride All

Order allow,deny

allow from all

ScriptAlias /cgi-bin/ /home/www/192.168.0.222/cgi-bin/

AllowOverride None

Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch

Order allow,deny

Allow from all

ErrorLog /var/log/apache2/error.log

CustomLog /var/log/apache2/access.log combined

Alias /doc/ “/usr/share/doc/”

Options Indexes MultiViews FollowSymLinks

AllowOverride None

Order deny,allow

Deny from all

Allow from 192.168.0.0/255.255.255.0

S2. 重新启动 Apache

sudo a2dissite default

sudo a2ensite 192.168.0.222

sudo /etc/init.d/apache2 restart

文章来自:51cto

投稿作者 作者网站
0 0 投票数
文章评分
订阅评论
提醒
guest

0 评论
最旧
最新 最多投票
内联反馈
查看所有评论

为您推荐


请支持IMCN发展!

谁在捐赠

微信捐赠 支付宝捐赠
微信捐赠 支付宝捐赠
ta的个人站点

发表文章4159篇

关注我的头条 不要放弃,百折不挠,坚强、自信。


微信公众号二维码

归档

0
希望看到您的想法,请您发表评论x