使用iis建立www服务器的步骤

  • 时间:
  • 浏览:638
  • 来源:成都艾邦软件开发

IISInternet Information Server的缩写它是微软公司主推的Web服务器在Windows 200/2003 ServerWindows XP中都自带了IIS组件通过IIS组件我们可以架设WEBFTPMail等服务器。因为IISFTPMail服务器不是很好用所以一般用IIS只用于WEB服务器。

Windows系统的默认状态下IIS组件是没有被安装的。在使用IIS组件之前我们有必要了解一下IIS中连接数的概念因为这涉及到你对服务器系统平台的选择。

简单地说IIS连接数是指在一定时间内用户对服务器的80端口访问的数量现在一般理解为同时在线人数一般IIS连接数就是你服务器的最大并发连接人数。在Windows XP平台的服务器上系统最大支持的连接数为10个而在Windows 2000/2003 Server平台的服务器中则可以自由设置IIS的连接数量你可以根据自己的实际情况来选择服务器平台。在这里就以Windows XP为平台向介绍如何安装和配置IIS

1安装IIS组件

第一步依次选择“开始”→“设置”→“控制面板”→“添加或删除程序”打开“添加或删除程序”对话框。

第二步在该对话框的左侧按钮面板中点击“添加/删除Windows组件”打开“Windows组件向导”对话框如图1。在对话框的“组件”列表中选择“Internet信息服务IIS”复选框。由于IIS组件中集成了SMTP服务、FTP服务等你可以在选择了该复选框后再点击“详细信息”按钮在打开的对话框中取消相应服务的安装。

图1

第三步然后依照向导的提示进行安装在安装过程中系统会提示你插入Windows XP的安装光盘此时你将其路径指向Windows XP安装程序的I386目录下即可。

2配置IIS

安装好IIS组件后我们就可以使用IIS服务了但现在你的Web服务器还没配置完成我们还需要对IIS进行配置。

第一步依次选择“开始”→“设置”→“控制面板”→“管理工具”→“Internet信息服务”打开“Internet信息服务”对话框。

第二步在该对话框左侧的列表中依次展开“Internet信息服务”→“本地计算机”→“网站”→“默认网站”在该列表下显示的是“C:Inetpubwwwroot”下的文件和文件夹也就是网站所存放的路径了这也是系统的默认设置我们可以对此进行修改如图2。

图2

第三步依次选择对话框菜单中的“操作”→“属性”打开“默认网站属性”对话框。选择“主目录”选项卡在该选项卡的“本地路径”文本框中输入网站所在的路径即可。

第四步由于默认情况下浏览站点不支持ASP程序所以需要我们进行设置。在“默认网站属性”对话框中选择“文档”选项卡接着在“启用默认文档”选项区域中点击“添加”按钮在打开的“添加默认文档”对话框输入“index.asp”这里设置的是网站的首页文件名称可根据实际情况修改然后点击“确定”按钮。

第五步IIS的配置工作到此就算完成了现在打开IE浏览器并在地址栏中输入“http://127.0.0.1”或“http://localhost”就可以浏览网页了如图3由于我们在前面已经申请了花生壳的免费域名你也可以使用你申请的域名来进行访问但前提是必须得启动花生壳服务。

图3

3MS SQL Server的安装与启动

安装和配置好IIS组件后就可以访问ACCESS的数据库了但现在许多网站系统使用的都是ASPSQL Server的程序因此SQL Server的配置也是Web服务器架设中的重要环节。

通常MS SQL Server所在的环境是Windows 2000/2003 Server由于我们的实例环境是Windows XP因此安装的是MS SQL Server的开发版如是Windows 2000/2003 Server环境则安装企业版。

第一步MS SQL Server的安装非常简单具体步骤在此不作详细介绍。只是在安装过程中需要注意的是在程序向导的“服务帐户”界面中提供了“使用本地帐户用户”和“使用域用户帐户”两种选择如果你服务器所在的环境设置了域组的话则需要输入域用户帐户、密码以及域组的名称反之则选择“全用本地帐户用户”即可。另外在“身份验证模式”界面中要选择“混合模式Windows身份验证和SQL Server身份验证”单选择框这里设置的是SQL Server的连接密码用户名默认为“sa”。

第二步安装完成后依次选择“开始”→“程序”→“Microsoft SQL Server”→“服务管理器”打开“SQL Server服务管理器”对话框如图4点击“开始/继续”按钮启动SQL Server服务器。

4

4MS SQL Server数据库的导入

接下来是SQL数据库文件的导入SQL数据库文件本身的文件格式很多如文本文件、“.sql”和“.bak”等其中“.sql”是存储过程文件“.bak”则是SQL数据的备份文件。而且SQL数据库的导入形式也多种多样包括数据库导入存储过程导入数据库单表的导入数据库备份文件的导入以及不同数据库类型文件的导入在此我们只介绍“.sql”存存储过程文件的导入。

第一步依次选择“开始”→“程序”→“Microsoft SQL Server”→“企业管理器”打开“企业管理器”对话框如图5

5

第二步在对话框左侧的列表中依次展开“控制台要目录”→“Microsoft SQL Servers”→“SQL Server组”→“Local”→“数据库”接着在对话框的窗口菜单中依次选择“操作”→“新建数据库”在打开对话框的“名称”文本框中键入你所创建的数据库名称然后点击“确定”按钮。

第三步选择新建的数据库接着依次选择窗口菜单中的“操作”→“所有任务”→“还原数据库”打开“还原数据库”对话框。在对话框中选择“从设备”单选框接着点击“选择设备”按钮打开“选择还原设备”对话框如图6然后点击“添加按钮”并选择数据库文件所在的路径。

6

第四步回到“还原数据库”对话框选择“选项”选项卡在该选项卡中选择“在现有数据库上强制还原”复选框然后点击“确定”按钮。

数据库导入后就可在新建数据库名称下的“表”分支中查看导入数据库文件的表结构及数据信息了。

5MS SQL Server数据库的备份

第一步在“企业管理器”对话框中选择要备份的数据库名称接着依次选择窗口菜单中的“所有任务”→“备份数据库”打开“SQL Server备份”对话框如图7

7

第二步在“目的”选项区域中点击“添加”按钮在打开的对话框中点击“浏览”按钮设置数据库备份文件的存放路径以及备份文件的名称然后点击“确定”按钮回到“SQL Server备份”对话框。

第三步最后点击“确定”按钮即可完成数据库文件的备份操作。

一各大公司使用的服务

主流的一般是apache nginx 公司的网站其它一些是在上述基础上进行的二次开发。
apache企业中常用的web服务用来提供http//超文本传输协议
http超文本传送协议HyperText Transfer Protocol是一种通信协议它允许将超文本标记语言文档从web服务器传送到wel浏览器。

二Apache的基本配置

1.apache服务环境的搭建
安装apache软件包:

yum install -y httpd httpd-manual  ##Apache服务器手册独立需单独安装

启动apache服务:

systemctl start httpd ; systemctl enable httpd

查看监听端口:

ss -antlp   |  grep   httpd   ##此时是无显示端口

查看配置文件

设置初始环境火墙

测试


2apache的基础信息

主配置目录 /etc/httpd/conf主配置文件/etc/httpd/conf/httpd.conf子配置目录/etc/httpd/conf.d/子配置文件/etc/httpd/conf.d/ *.conf默认发布目录/var/www/html/默认发布文件index.html默认端口80默认安全上下文http_sys_content_t程序开启默认用户apacheapache日志/etc/httpd/logs/*
 查看apache版本


apachectl 命令

apachectl命令是Apache的Web服务器前端控制工具用以启动、关闭和重新启动Web服务器进程。语法apachectl(参数)参数configtest检查设置文件中的语法是否正确fullstatus显示服务器完整的状态信息graceful重新启动Apache服务器但不会中断原有的连接help显示帮助信息restart重新启动Apache服务器start启动Apache服务器status显示服务器摘要的状态信息stop停止Apache服务器。

1 修改默认端口

 vim /etc/httpd/conf/httpd.conf  42 Listen 8080##将默认端口改为8080以后访问时要注意在URL后加8080

2 修改默认发布文件
默认发布文件就是访问apache时没有指定文件名称时默认访问的文件。这个文件可以指定多个有顺序。
当我们修改主页为test时注意观察
先修改配置文件
将index改为test并重启服务

访问

3修改默认发布目录
先建立一个发布目录

在目录下写一个主页html

修改主配置文件


重启服务访问发现没有权限

此时想到selinux所以要修改安全上下文restorecon是写入内核

查看安全上下文restorecon是写入内核不写入内核不会生效,


再次查看成功

4 虚拟主机的设定重要
什么是虚拟主机
让你的一台服务器上面有好多个“主网页存在“硬件实际上只有一台但是由网址来说则似乎有很多主机存在的样子。
首先每个主机名都必须对应到某个主网页目录中先建主网页目录


分别在对应的目录下写入首页html
修改配置文件,先是默认目录


其次时两个虚拟主机c.conf与linux.conf
c.cong如下

linux.conf如下


最后测试而且一定要在浏览器主机上做好本地解析

查看测试效果试验成功


2018.3.24 在此实验并改进

[rootpython conf.d]# lsadefault.conf  autoindex.conf  README  userdir.conf  welcome.conf
 1 NameVirtualHost *:80  2 virtualhost _default_:80  3DocumentRoot /var/www/html  4CustomLog logs/www.westos.com combined  5 /virtualhost  678 virtualhost *:80  9servername c.westos.com 10DocumentRoot /var/www/virtual/c.westos.com/ 11CustomLog logs/c.westos.com combined 12 /virtualhost 13  14  15 virtualhost *:80 16servername linux.westos.com 17DocumentRoot /var/www/virtual/linux.westos.com/ 18CustomLog logs/linux.westos.com combined 19 /virtualhost 20  21 Directory /var/www/virtual/c.westos.com/ 22Require all granted 23  24 /Directory 25  26  27 Directory /var/www/virtual/linux.westos.com/ 28Require all granted30 /Directory

5 apache的内部访问控制
1 针对与主机的访问控制
比如只允许44主机访问其他人都不允许

vim adefault.confDirectory /var/www/html/testOrder deny,allow  ##列表读取顺序后读取的会覆盖前面读取的Allow from 172.25.254.44Deny from all/Directory

如果想用某个网络或IP无法访问的话最好用火墙比较妥当若只是某些重要目录不想让人家来查阅的话那么可以用allowdeny与Order的设置数据就可以了。
2用户方式的访问控制
先设置用户及密码

修改配置文件

重启服务查看


6 apache支持的语言
1 html
2 php
先用php写好页面

安装php

它会自动生成php.conf

在主配置文件中加入目录首页文件index.php

重启服务查看,

3 cgi

[rootapacheserver html]# mkdir cgi[rootapacheserver html]# cd cgi/[rootapacheserver cgi]# ls[rootapacheserver cgi]# vim index.cgi[rootapacheserver cgi]# semanage fcontent -a -t httpd_sys_script_exec_t /var/www/html/cgi(/.*)?[rootapacheserver cgi]# restorecon -RvvF /var/www/cgi/[rootapacheserver cgi]# vim /var/www/html/cgi/index.cgi
chmod x /var/www/html/cgi/index.cgi/var/www/htnl/cgi/index.cgi ##执行脚本确保脚本运行正常vim adefault.confDirectory /var/www/html/cgiOption ExecCGIAddHandler cgi-script  .cgi/Directorysystemctl restart httpd

观察

7 https
1httpsHTTPS全称Hyper Text Transfer Protocol over Secure Socket Layer是以安全为目标的HTTP通道简单讲是HTTP的安全版。即HTTP下加入SSL层HTTPS的安全基础是SSL因此加密的详细内容就需要SSL。 它是一个URI scheme抽象标识符体系句法类同http:体系。用于安全的HTTP数据传输。https:URL表明它使用了HTTP但HTTPS存在不同于HTTP的默认端口及一个加密/身份验证层在HTTP与TCP之间。
2SSLSSL(Secure Sockets Layer 安全套接层),及其继任者传输层安全(Transport Layer SecurityTLS)是为网络通信提供安全及数据完整性的一种安全协议。TLS与SSL在传输层对网络连接进行加密。SSL (Secure Socket Layer)为Netscape所研发用以保障在Internet上数据传输之安全利用数据加密(Encryption)技术可确保数据在网络上之传输过程中不会被截取及窃听。
3)客户端通过https方式访问服务器全过程描述
1.客户机通过https访问web服务器web服务器向客户机出示自己的证书
2. 客户机验证证书的有效性包括发证时间发证机关执行者标识。
3.如果客户机验证证书通过客户机随机产生128位的key,再利用证书文件传递的public key对该随即key机进行加密。
4.加密后传送至服务器端服务器再利用自己的public key 对加密的key进行解密得到客户机的随机key值。
5.这时两端的key值相同利用该key进行加密通讯。
实验步骤
1安装加密软件

2生成证书此实验为www.westos.com

此时发现没有安装ssl模块软件

安装

生成证书一步一步来


证书生成后修改ssl配置文件将新生成的证书文化与钥匙加入


建立发布目录与发布目录文件


重启服务并在浏览器中输入https//login.westos.com

但是此时有一个问题在访问这个网站时必须将https手动加入那我们可不可以将次网站设定为https重写呢
8 设定https虚拟主机并设定网页重写
修改配置文件

其中^(/.*)$##表示客户端浏览器上输入的所有字符https://##强制客户加密访问%{HTTP_HOST} ##客户请求主机$1##标示^(/.*)$的值[redirect301]  ##临时重写 302 永久转换

此后观察自动强制加密访问

8 个人用户主页功能
虚拟主机虽然好但是用户多时会耗费root太多时间httpd的个人用户主页可以让用户在自己的家目录中管理个人网站。
1
2
3
4 重启httpd
5切换到niubiao用户

6 建立public html目录

7 往此目录中写入网页

8最重要的一点把家目录的权限改为755保证其他人可以有权限读取里面的内容》


9 修改selinux 环境


10 访问niubiao的个人网站

  1. 基于端口号的虚拟主机功能
    基于端口号的虚拟主机设定最复杂
    考虑
1httpd服务程序配置2 selinux服务对于新开设端口的监控。我们不仅要考虑目录上的selinux安全上下文的限制还须考虑selinux域对http服务程序的管控。

1 创建虚拟主机用户数据发布目录与网页

mkdir -p /var/www/virtual/6111mkdir -p /var/www/virtual/6222echo 6111  /var/www/virtual/6111/index.htmlecho 6222  /var/www/virtual/6222/index.html

2 httpd配置文件

[rootiscsi-server 6222]# vim /etc/httpd/conf/httpd.conf41 #Listen 12.34.56.78:80 42 Listen 80 43 Listen 6111 44 Listen 6222

3 虚拟主机区域配置

[rootiscsi-server conf.d]# vim adefault.confVirtualhost 172.25.254.136:6111  2Documentroot /var/www/virtual/6111  3servername linux.westos.com  4Directory /var/www/virtual/6111   5require all granted  6/Directory  7 /Virtualhost  89  10 Virtualhost 172.25.254.136:6222 11Documentroot /var/www/virtual/6222 12servername c.westos.com 13Directory /var/www/virtual/6222  14require all granted 15/Directory 16  17 /Virtualhost14require all granted 15/Directory 16  17 /Virtualhost

4 修改数据发布目录与文件的安全上下文

5 此时重启服务回报错因为selinux会拒绝使用apache 使用这两个端口我们用semanage查询过滤与http协议有关且selinux允许的端口列表

[rootiscsi-server conf.d]# semanage port -l | grep http[rootiscsi-server virtual]# semanage port -a -t http_port_t -p tcp 6111[rootiscsi-server virtual]# semanage port -a -t http_port_t -p tcp 6222

该操作会立即生效
此时浏览页面可以看到内荣这时注意虽然防火墙允许了http服务但是要更改port非443808080还要特别的在防火墙上放行!

firewall-cmd --permanent --add-port6111/tcp firewall-cmd --permanent --add-port6222/tcp firewall-cmd --reload 

这时就可以访问了