仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 1529|回复: 18
打印 上一主题 下一主题

[学习教程] PHP网页设计Apache装置设置装备摆设和虚拟主机设置装备摆设教程

[复制链接]
山那边是海 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-2-3 23:44:40 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
熟悉了PHP和MYSQL开发的要领之后,再回头看你写的那个留言本,你也许会怀疑那真的是你写的吗?当然,如果屋里还有鬼的话,也许是它写的-_-   </p> Apache 2.0

装置

绝对IIS来讲Apache创立站点加倍专业,一些大型门户网站和流量大的专业站点都是经由过程Apache宣布站点的。并且以往良多法式都是经由过程ASP言语完成的,ASP与IIS的兼容性对照好,那时IIS用户对照多。跟着PHP言语的盛行,愈来愈多的用户丢弃了ASP。比拟IIS来讲Apache与PHP的兼容性更好,履行代码的效力更高,运转起来也加倍不乱。
第一步:下载Apache 2.0装置法式,并运转.



第二步:赞同允许协定点“NEXT”按钮持续。



第三步:检查匡助信息,不必更改点“NEXT”按钮持续。



第四步:在办事器信息设置窗口填写站点的域名,办事器称号和办理员电子邮箱地址等信息。假如你没有域名也不妨坚持默许便可。点“NEXT”按钮持续装置。



第五步:选择装置类型,普通坚持默许的typical典范形式便可。



第六步:设置装置目次,默许为c:\program files\apache group。咱们可以点右侧的“Change”按钮修正此途径。



第七步:点install按钮入手下手装置。



第八步:复制必需文件到当地硬盘而且启动apache主法式。



第九步:完成apache装置任务,点“finish”按钮前往桌面。



第十步:与此同时咱们会看见在桌面右下角的义务栏处呈现一个小叶子图标,这个就是Apache启动项。



第十一步:咱们翻开IE阅读器在地址栏处输出http://127.0.0.1 ,假如可以看到显示出Apache页面的话就申明咱们已胜利完成装置任务了。



虚拟主机设置装备摆设

起首用“记事本”法式翻开“httpd.conf”设置装备摆设文件。此文件寄存在Apache办事器装置途径下的“conf”文件夹内。
1、利用 mod_vhost_alias
1.复杂的静态虚拟主机
(1)从 Host: 头中获得办事器名字 Server Name
  1. UseCanonicalName Off
复制代码
(2)这里的日记格局,可以在未来经由过程第一个参数域来分隔分歧的虚拟主机的日记
  1. LogFormat "%V %h %l %u %t \"%r\" %s %b" vcommon CustomLog logs/access_log vcommon
复制代码
(3)在前往恳求的文件名的途径中包括进办事器名字: server name
  1. VirtualDocumentRoot /www/hosts/%0/docs VirtualScriptAlias /www/hosts/%0/cgi-bin
复制代码
2.更加无效的基于 IP 地址的虚拟主机
(1)从 IP 地址反解析失掉办事器名字(server name)
  1. UseCanonicalName DNS
复制代码
(2)在日记中包括 IP 地址,便于后续分发
  1. LogFormat "%A %h %l %u %t \"%r\" %s %b" vcommon CustomLog logs/access_log vcommon
复制代码
(3)在文件途径中包括 IP 地址
  1. VirtualDocumentRootIP /www/hosts/%0/docs VirtualScriptAliasIP /www/hosts/%0/cgi-bin
复制代码
2、利用 mod_rewrite
1. 利用 mod_rewrite 完成复杂的静态虚拟主机
(1)从 Host: 头获得办事器名字
  1. UseCanonicalName Off
复制代码
(2)可朋分的日记
  1. LogFormat "%{Host}i %h %l %u %t \"%r\" %s %b" vcommon CustomLog logs/access_log vcommon <Directory /www/hosts> ExecCGI is needed here because we can"t force CGI execution in the way that ScriptAlias does Options FollowSymLinks ExecCGI </Directory>
复制代码
(3)接上去是关头局部
  1. RewriteEngine On a ServerName derived from a Host: header may be any case at all RewriteMap lowercase int:tolower
复制代码
起首处置通俗文档:
  1. 答应
    变名 /icons/ 起感化
    - 其他变名类同 RewriteCond %{REQUEST_URI} !^/icons/ 答应
    CGIs RewriteCond %{REQUEST_URI} !^/cgi-bin/ 入手下手
    “变戏法” RewriteRule ^/(.*)$ /www/hosts/${lowercase:%{SERVER_NAME}}/docs/$1
复制代码
如今处置 CGIs - 咱们需求强迫利用一个 MIME 类型
  1. LogFormat "%V %h %l %u %t \"%r\" %s %b" vcommon CustomLog logs/access_log vcommon 0
复制代码

2.利用自力的虚拟主机设置装备摆设文件 vhost.map
(1)vhost.map 文件包括了相似上面的内容:
  1. LogFormat "%V %h %l %u %t \"%r\" %s %b" vcommon CustomLog logs/access_log vcommon 1
复制代码
(2)http.conf 包括了:
  1. LogFormat "%V %h %l %u %t \"%r\" %s %b" vcommon CustomLog logs/access_log vcommon 2
复制代码
(3)界说映像文件
  1. LogFormat "%V %h %l %u %t \"%r\" %s %b" vcommon CustomLog logs/access_log vcommon 3
复制代码
(4)和下面的例子一样,处置变名
  1. LogFormat "%V %h %l %u %t \"%r\" %s %b" vcommon CustomLog logs/access_log vcommon 4
复制代码
(5)这里做基于文件的从头映照
  1. LogFormat "%V %h %l %u %t \"%r\" %s %b" vcommon CustomLog logs/access_log vcommon 5
复制代码
.htaccess文件功效

.htaccess文件的功效:"散布式设置装备摆设文件"供应了针对目次改动设置装备摆设的办法,即:在一个特定的文档目次中放置一个包括一个或多个指令的文件, 以感化于此目次及其一切子目次。作为用户,所能利用的号令遭到限制。办理员可以经由过程Apache 的AllowOverride指令来设置.子目次中的指令会掩盖更初级目次或主办事器设置装备摆设文件中的指令。

1、毛病文档的定位
(1)经常使用的客户端恳求毛病前往代码:
  1. LogFormat "%V %h %l %u %t \"%r\" %s %b" vcommon CustomLog logs/access_log vcommon 6
复制代码
(2)罕见的办事器毛病前往代码:
  1. LogFormat "%V %h %l %u %t \"%r\" %s %b" vcommon CustomLog logs/access_log vcommon 7
复制代码
(3)用户可以使用.htaccess指定本人事前制造好的毛病提示页面。普通情形下,人们可以专门设立一个目次,例如errors放置这些页面。然后再.htaccess中,到场以下的指令:
  1. LogFormat "%V %h %l %u %t \"%r\" %s %b" vcommon CustomLog logs/access_log vcommon 8
复制代码

上述第一条指令的意思是关于404,也就是没有找到所需求的文档的时分得显示页面为/errors目次下的notfound.html页面。不好看出语法格局为:
  1. LogFormat "%V %h %l %u %t \"%r\" %s %b" vcommon CustomLog logs/access_log vcommon 9
复制代码
假如所需求提醒的信息很少的话,不用专门制造页面,直接在指令中利用HTML号了,例以下面这个例子:
ErrorDocument 401 "<body bgcolor=#ffffff> 你没有权限会见该页面!

</body>" 2、文档会见的暗码回护要使用.htaccess对某个目次下的文档设定会见用户和对应的暗码,起首要做的是生成一个.htpasswd的文本文档,例如:
  1. VirtualDocumentRoot /www/hosts/%0/docs VirtualScriptAlias /www/hosts/%0/cgi-bin 0
复制代码
这里暗码经由加密,用户可以本人找些东西将暗码加密成.htaccess撑持的编码。该文档最好不要放在www目次下,建议放在www根目次文档以外,如许更加平安些。
有了受权用户文档,可以在.htaccess中到场以下指令了:
  1. VirtualDocumentRoot /www/hosts/%0/docs VirtualScriptAlias /www/hosts/%0/cgi-bin 1
复制代码
require user wsabstract (答应会见的用户,假如但愿表中一切用户都答应,可使用 require valid-user)
注:括号局部为进修时分本人添加的正文
3、回绝来自某个IP的会见
假如我不想某个当局部分会见到我的站点的内容,那可以经由过程.htaccess中到场该部分的IP而将它们回绝在外。 例如:
  1. VirtualDocumentRoot /www/hosts/%0/docs VirtualScriptAlias /www/hosts/%0/cgi-bin 2
复制代码
注: 第二行回绝某个IP,第三行回绝某个IP段,也就是219.146.95.0~219.146.95.255 想要回绝一切人?用deny from all好了。不止用IP,也能够用域名来设定。
4、回护.htaccess文档
在利用.htaccess来设置目次的暗码回护时,它包括了暗码文件的途径。从平安思索,有需要把.htaccess也回护起来,不让他人看到个中的内容。固然可以用其他体例做到这点,好比文档的权限。不外,.htaccess自己也能做到,只需到场以下的指令:
  1. VirtualDocumentRoot /www/hosts/%0/docs VirtualScriptAlias /www/hosts/%0/cgi-bin 3
复制代码
5、URL转向
咱们能够对网站停止从头计划,将文档停止了迁徙,或更改了目次。这时候候,来自搜刮引擎或其他网站链接过去的会见便可能失足。这类情形下,可以经由过程以下指令来完成旧的URL主动转向到新的地址:
  1. VirtualDocumentRoot /www/hosts/%0/docs VirtualScriptAlias /www/hosts/%0/cgi-bin 4
复制代码
普通情形下缺省的首页文件名有default、index等。不外,有些时分目次中没出缺省文件,而是某个特定的文件名,好比在pmwiki中是pmwiki.php。这类情形下,要用户记住文件名来会见很费事。在.htaccess中可以等闲的设置新的缺省文件名:
  1. VirtualDocumentRoot /www/hosts/%0/docs VirtualScriptAlias /www/hosts/%0/cgi-bin 5
复制代码
也能够列出多个,按次标明它们之间的优先级别,
例如:
  1. VirtualDocumentRoot /www/hosts/%0/docs VirtualScriptAlias /www/hosts/%0/cgi-bin 6
复制代码
rewrite重写功效

Apache模块 mod_rewrite,一个基于必定划定规矩的及时重写URL恳求的引擎此模块供应了一个基于正则表达式剖析器的重写引擎来及时重写URL恳求。它撑持每一个完全划定规矩可以具有不限数目的子划定规矩和附加前提划定规矩的天真并且壮大的URL操作机制。此URL操作可以依附于各类测试,好比办事器变量、情况变量、HTTP头、工夫标志,乃至各类格局的用于婚配URL构成局部的查找数据库。此模块可以操作URL的一切局部(包含途径信息局部),在办事器级的(httpd.conf)和目次级的(.htaccess)设置装备摆设都无效,还可以生成终究恳求字符串。此重写操作的了局可所以外部子处置,也能够是内部恳求的转向,乃至还可所以外部代办署理处置。然而,一切这些功效和天真性带来一个成绩,那就是庞杂性,因而,不要期望一天以内就可以看懂全部模块。更多的会商、细节、示例,请检查具体的URL重写文档。
(1)特别字符的援用:
  1. VirtualDocumentRoot /www/hosts/%0/docs VirtualScriptAlias /www/hosts/%0/cgi-bin 7
复制代码
(2)情况变量
此模块会跟踪两个额定的(非尺度)CGI/SSI情况变量,SCRIPT_URL和SCRIPT_URI。他们包括了以后资本的逻辑收集视图,而尺度CGI/SSI变量SCRIPT_NAME和SCRIPT_FILENAME包括的是物理体系视图。注重:这些变量坚持的是其最后被恳求时的URI/URL,即在任何重写操作之前的URI/URL。其主要性在于他们是重写操作重写URL到物理途径名的原始根据。
示例:
  1. VirtualDocumentRoot /www/hosts/%0/docs VirtualScriptAlias /www/hosts/%0/cgi-bin 8
复制代码
(3)rewrite的指令
  1. VirtualDocumentRoot /www/hosts/%0/docs VirtualScriptAlias /www/hosts/%0/cgi-bin 9
复制代码
RewriteBase指令显式地设置了目次级重写的基准URL。鄙人文中,你将看到RewriteRule可以用于目次级的设置装备摆设文件中(.htaccess)并在部分局限内起感化,即划定规矩实践处置的只是剥离了当地途径前缀的一局部。处置停止后,这个途径会被主动地附着归去。默许值是"RewriteBase physical-directory-path"。
在对一个新的URL停止交换时,此模块必需把这个URL从头注入到办事器处置中。为此,它必需晓得其对应的URL前缀或说URL基准。凡是,此前缀就是对应的文件途径。然而,大多半网站URL不是直接对应于其物理文件途径的,因此普通不克不及做如许的假定! 所以在这类情形下,就必需用RewriteBase指令来指定准确的URL前缀。
假如你的网站办事器URL不是与物理文件途径直接对应的,而又需求利用RewriteBase指令,则必需在每一个对应的.htaccess文件中指定RewriteRule 。

例如,目次级设置装备摆设文件内容以下:
  1. UseCanonicalName DNS 0
复制代码
注:上述例子中,对/xyz/oldstuff.html的恳求被准确地重写为对物理文件/abc/def/newstuff.html的恳求。
以以下出了外部处置的具体步调:
  1. UseCanonicalName DNS 1
复制代码
固然这个进程看来很繁复,然而因为目次级重写的到来机会已太晚了,它不能不把这个(重写)恳求从头注入到Apache中心中,所以Apache外部的确是如许处置的。然而:它的开支其实不象看起来的那样大,由于从头注入完整在Apache办事器外部停止,并且如许的进程在Apache外部也为其他很多操作所利用。所以,你可以充实信赖其设计和完成是准确的。
我先把我自己学习PHP的过程做一下概括:
精灵巫婆 该用户已被删除
沙发
发表于 2015-2-4 06:27:46 | 只看该作者
写的比较杂,因为我也是个新手,不当至于大家多多指正。
冷月葬花魂 该用户已被删除
板凳
发表于 2015-2-9 17:38:39 | 只看该作者
实践是检验自己会不会的真理。
谁可相欹 该用户已被删除
地板
发表于 2015-2-17 08:11:11 | 只看该作者
当留言板完成的时候,下步可以把做1个单人的blog程序,做为目标,
简单生活 该用户已被删除
5#
发表于 2015-2-18 23:09:23 | 只看该作者
对于初学者来说不推荐去拿钱买的。当然如果一个网站你经常去用,而且里面的资料也比较有用,最好还是买个会员比较好,毕竟那些也是别人的工作成果。
若天明 该用户已被删除
6#
发表于 2015-2-26 20:34:05 | 只看该作者
首推的搜索引擎当然是Google大神,其次我比较喜欢 百度知道。不过搜出来的结果往往都是 大家copy来copy去的,运气的的概率很大。
老尸 该用户已被删除
7#
发表于 2015-2-27 14:11:26 | 只看该作者
在学习的过程中不能怕麻烦,不能有懒惰的思想。学习php首先应该搭建一个lamp环境或者是wamp环境。这是学习php开发的根本。虽然网络上有很多集成的环境,安装很方便,使用起来也很稳定、
小女巫 该用户已被删除
8#
发表于 2015-3-1 10:31:33 | 只看该作者
,熟悉html,能用div+css,还有javascript,优先考虑linux。我在开始学习的时候,就想把这些知识一起学习,我天真的认为同时学习能够互相呼应,因为知识是相通的。
飘灵儿 该用户已被删除
9#
发表于 2015-3-10 13:54:43 | 只看该作者
,熟悉html,能用div+css,还有javascript,优先考虑linux。我在开始学习的时候,就想把这些知识一起学习,我天真的认为同时学习能够互相呼应,因为知识是相通的。
莫相离 该用户已被删除
10#
发表于 2015-3-22 22:12:34 | 只看该作者
个人呢觉得,配wamp 最容易漏的一步就是忘了把$PHP$目录下的libmysql.dll拷贝到windows系统目录的system32目录下,还有重启apache。
不帅 该用户已被删除
11#
发表于 2015-3-31 18:25:45 | 只看该作者
我还是推荐用firefox ,配上firebug 插件调试js能省下不受时间。谷歌的浏览器最好也不少用,因为谷歌的大侠们实在是太天才啦,把一些原来的js代码加了一些特效。
只想知道 该用户已被删除
12#
发表于 2015-4-1 09:43:58 | 只看该作者
你很难利用原理去编写自己的代码。对于php来说,系统的学习我认为还是很重要的,当你有一定理解后,你可你针对某种效果研究,我想那时你不会只是复制代码的水平了。
第二个灵魂 该用户已被删除
13#
发表于 2015-4-3 15:24:08 | 只看该作者
首先我是坚决反对新手上来就用框架的,因为对底层的东西一点都不了解,造成知识上的真空,会对以后的发展不利。我的观点上手了解下框架就好,代码还是手写。当然啦如果是位别的编程语言的高手的话,这个就另当别论啦。
柔情似水 该用户已被删除
14#
发表于 2015-4-5 11:17:42 | 只看该作者
没接触过框架的人,也不用害怕,其实框架就是一种命名规范及插件,学会一个框架其余的框架都很好上手的。
变相怪杰 该用户已被删除
15#
发表于 2015-4-12 14:42:35 | 只看该作者
这些都是最基本最常用功能,我们这些菜鸟在系统学习后,可以先对这些功能深入研究。
透明 该用户已被删除
16#
发表于 2015-5-3 02:26:52 | 只看该作者
当然这种网站的会员费就几十块钱。
活着的死人 该用户已被删除
17#
发表于 2015-6-24 16:43:06 | 只看该作者
曾经犯过一个很低级的错误,我在文件命名的时候用了一个横线\\\\\\\'-\\\\\\\' 号,结果找了好几个小时的错误,事实是命名的时候 是不能用横线 \\\\\\\'-\\\\\\\' 的,应该用的是下划线  \\\\\\\'_\\\\\\\' ;
18#
发表于 2015-6-30 22:38:53 | 只看该作者
我要在声明一下:我是个菜鸟!!我对php这门优秀的语言也是知之甚少。但是我要在这里说一下php在网站开发中最常用的几个功能:
爱飞 该用户已被删除
19#
发表于 2015-7-8 17:48:16 | 只看该作者
说点我烦的低级错误吧,曾经有次插入mysql的时间 弄了300年结果老报错,其实mysql的时间是有限制的,大概是到203X年  具体的记不清啦,囧。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-11-14 13:09

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表