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
racknerd怎么样?racknerd今天发布了几款美国特价独立服务器的促销,本次商家主推高配置的服务器,各个配置给的都比较高,有Intel和AMD两种,硬盘也有NVMe和SSD等多咱组合可以选择,机房目前有夏洛特、洛杉矶、犹他州可以选择,性价比很高,有需要独服的朋友可以看看。点击进入:racknerd官方网站RackNerd暑假独服促销:CPU:双E5-2680v3 (24核心,48线程)内存...
官方网站:点击访问火数云活动官网活动方案:CPU内存硬盘带宽流量架构IP机房价格购买地址4核4G50G 高效云盘20Mbps独享不限openstack1个九江287元/月立即抢购4核8G50G 高效云盘20Mbps独享不限openstack1个九江329元/月立即抢购2核2G50G 高效云盘5Mbps独享不限openstack1个大连15.9元/月立即抢购2核4G50G 高效云盘5Mbps独享不限...
近日华纳云商家正式上线了美国服务器产品,这次美国机房上线的产品包括美国云服务器、美国独立服务器、美国高防御服务器以及美国高防云服务器等产品,新产品上线华纳云推出了史上优惠力度最高的特价优惠活动,美国云服务器低至3折,1核心1G内存5Mbps带宽低至24元/月,20G ddos高防御服务器低至688元/月,年付周期再送2个月、两年送4个月、三年送6个月,终身续费同价,有需要的朋友可以关注一下。华纳云...