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
Friendhosting发布了今年黑色星期五促销活动,针对全场VDS主机提供45折优惠码,虚拟主机4折,老用户续费可获9折加送1个月使用时长,优惠后VDS最低仅€14.53/年起,商家支持PayPal、信用卡、支付宝等付款方式。这是一家成立于2009年的老牌保加利亚主机商,提供的产品包括虚拟主机、VPS/VDS和独立服务器租用等,数据中心可选美国、保加利亚、乌克兰、荷兰、拉脱维亚、捷克、瑞士和波...
Mineserver(ASN142586|UK CompanyNumber 1351696),已经成立一年半。主营香港日本机房的VPS、物理服务器业务。Telegram群组: @mineserver1 | Discord群组: https://discord.gg/MTB8ww9GEA7折循环优惠:JP30(JPCN2宣布产品可以使用)8折循环优惠:CMI20(仅1024M以上套餐可以使用)9折循...
Hostadvice主机目录对我们的服务进行了测试,然后给PQ.hosting颁发了十大WordPress托管奖。为此,宣布PQ.Hosting将在一周内进行折扣优惠,购买和续订虚拟服务器使用优惠码:Hostadvice ,全部优惠10%。PQ.hosting,国外商家,成天于2019年,正规公司,是全球互联网注册商协会 RIPE 的成员。主要是因为提供1Gbps带宽、不限流量的基于KVM虚拟的V...