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 6114Ubuntu 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
投稿作者 | 作者网站 |
---|---|
微信捐赠 | 支付宝捐赠 |
---|---|