Ubuntu Linux Apach虚拟主机的安装配置
目标
1.创建基于IP的虚拟主机用于一个项目的整体测试
2.创建基于用户的虚拟主机用于用户测试自己的代码开始
创建虚拟主机的目录结构sudo/home/wwwcd/home/wwwsudo mkdir 192.168.0.251 192.168.0.252cd 192.168.0.251sudo mkdir cgi-bin htdocs logs dbcd . ./192.168.0.252sudo mkdir cgi-bin htdocs logs dbt re e/h om e/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的虚拟主机为了直观起见在/h om e/www下分别创建了目录192.168.0.251和192.168.0.252
2.cgi-bin子目录用于存放CGI脚本
3.d b子目录用于存放SQ Lite数据库
4.htdocs子目录用于存放站点文档
5.logs子目录用于存放站点日志
创建虚拟主机的管理帐号并设置目录权限sudo useradd-g www-data -d/home/www/192.168.0.251 wuser1sudo useradd-g www-data -d/home/www/192.168.0.252 wuser2sudo passwd wuser1sudo passwd wuser2sudo chown-R wuser1.www-data/home/www/192.168.0.251
1.
将192.168.0.251虚拟主机的管理者赋予wuser1 将192.168.0.252虚拟主机的管理者赋予wuser2允许他们使用ssh登录
2.wuse r1和wuse r2的主组均设置为www-data这样设置的方便之处在于若站内有Apache进程可写的内容只需添加组可写权限即可
配置虚拟网络接口和主机名解析
使用如下命令sudo vim/etc/network/interfaces
添加如下的配置auto eth0:1iface eth0:1 inet staticaddress 192.168.0.251netmask 255.255.255.0network 192.168.0.0broadcast 192.168.0.255gateway 192.168.0.1auto eth0:2iface eth0:2 inet static
address 192.168.0.252netmask 255.255.255.0network 192.168.0.0broadcast 192.168.0.255gateway 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-availab le/ 目录下创建新的文件192.168.0.251添加如下的配置
/etc/apache2/sites-available/192.168.0.251
DocumentRoot"/home/www/192.168.0.251/htdocs/"
Options Indexes Fol lowSymLinks MultiViews
Al lowOverride Al l
Order al low,deny
al lowfrom al l
ScriptA l ias/cgi-b in/ /hom e/www/192.168.0.251/cgi-b in/
Al lowOverride None
Options+ExecCGI -M ultiViews+Sym LinksIfOwnerMatch
Order al low,deny
Al low from al l
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 Fol lowSymLinks MultiViews
Al lowOverride Al l
Order al low,denyal lowfrom al l
ScriptA l ias/cgi-b in/ /hom e/www/192.168.0.252/cgi-b in/
Al lowOverride None
Options+ExecCGI -M ultiViews+Sym LinksIfOwnerMatchOrder al low,deny
Al low from al l
ErrorLog/home/www/192.168.0.252/logs/error. log
CustomLog/home/www/192.168.0.252/access. log combined
S3.重新启动Apachesudo a2enmod rewritesudo a2enmod php5sudo a2enmod perlsudo a2enmod mod_pythonsudo a2ensite 192.168.0.251sudo a2ensite 192.168.0.252sudo/etc/init.d/apache2 restart
配置站点内容的上传
FTP服务器
S 1:使用如下命令安装proftpdsudo apt-get instal l proftpd proftpd-doc
S2.使用默认配置即可实现本地用户的上传和下载Sa m ba服务器
S1.使用如下命令sudo vi/etc/samba/smb.conf
添加如下的配置行
/etc/samba/smb.conf
[homes]comment=Home Directoriesbrowseable=nowritable=yescreate mask=0644directory mask=0755
S2.配置Sam ba用户通过如下命令添加Sam ba用户sudo smbpasswd-a wuser1sudo smbpasswd-a wuser2
S3.启动Sam ba服务器sudo/etc/init.d/samba restart
创建基于用户的虚拟主机
*
可能开发者在Windows客户机没有创建开发环境
*
为了使每个开发者可以测试自己的代码可以创建基于用户的虚拟主机
创建用户帐号sudo useradd-g www-data -m user1sudo useradd-g www-data -m user2sudo passwd user1sudo passwd user2
1.
用户需要在宿主目录下创建public_html子目录将Web文档放入其中可以通过URL http://IPorHostname/~username访问自己的站点
2.
若进行CGI开发还需要在宿主目录下创建cgi-bin子目录
配置Apache
使用如下命令启用us e rd ir模块即可sudo a2enmod userdir
若进行CGI开发需要修改/etc/apache2/mods-available/userd ir.conf
UserDir public_html
UserDir disabled root
Al lowOverride FileInfo AuthConfig Limit
Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec
ScriptA l ias M atch~([a-z]+)/cgi-b in/(.*) /hom e/$1/cgi-b in/$2
# 添加此行 意思是匹配~user_name/cgi-bin/cg i_name 自动映射到/home/user_name/cgi-bin/cgi-name脚本
关于默认的虚拟主机
Ubuntu 中文件/etc/apache2/sites-available/default配置的是默认的虚拟主机。default虚拟主机的根文档目录默认设置为/var/www为了便于备份最好将所有的Web内容都存放在/home/www目录下为此可以将默认的虚拟主机的根文档目录默认设置为/h om e/www下的某个子目录下。
创建虚拟主机的目录结构cd/home/wwwsudo mkdir 192.168.0.222cd 192.168.0.222sudo mkdir cgi-bin htdocs
创建虚拟主机的管理帐号并设置目录权限sudo useradd-g www-data -d/home/www/192.168.0.222 wdefaultsudo passwd wdefault
很久没有分享PhotonVPS的消息,最近看到商家VPS主机套餐有一些更新所以分享下。这是一家成立于2008年的国外VPS服务商,Psychz机房旗下的站点,主要提供VPS和独立服务器等,数据中心包括美国洛杉矶、达拉斯、芝加哥、阿什本等。目前,商家针对Cloud VPS提供8折优惠码,优惠后最低2G内存套餐每月4美元起。下面列出几款主机配置信息。CPU:1core内存:2GB硬盘:30GB NVm...
CloudServer是一家新的VPS主机商,成立了差不多9个月吧,提供基于KVM架构的VPS主机,支持Linux或者Windows操作系统,数据中心在美国纽约、洛杉矶和芝加哥机房,都是ColoCrossing的机器。目前商家在LEB提供了几款特价套餐,最低月付4美元(或者$23.88/年),购买更高级别套餐还能三个月费用使用6个月,等于前半年五折了。下面列出几款特别套餐配置信息。CPU:1cor...
RAKsmart机房将于7月1日~7月31日推出“年中大促”活动,多重惊喜供您选择;爆款I3-2120仅30美金秒杀、V4新品上市,活动期间5折抢购、爆款产品持续热卖、洛杉矶+硅谷+香港+日本站群恢复销售、G口不限流量产品超低价热卖。美国VPS、日本VPS及香港VPS享全场7折优惠;爆款VPS $ 1.99/月限量秒杀,10台/天,售完即止, VPS 7折优惠码:VPS-TP-disRAKsmar...