18.3 WWW(Apache)服务器基本设置
从前面的说明中可知,要在Linux上实现网页服务器(WWW)需要Apache这个服务器软件。不过Apache仅能提供最基本的静态网站数据而已,想要实现动态网站的话,最好还是需要PHP与MySQL的支持。所以下面我们将会以LAMP(Linux+Apache+MySQL+PHP)作为安装与设置的介绍。
18.3.1 LAMP所需软件与其结构
既然我们是Linux操作系统,而且使用的是完全兼容于Red Hat Enterprise Linux的CentOS版本,那当然只要利用CentOS本身提供的Apache、PHP、MySQL即可。建议您不要自行利用Tarball安装LAMP服务器。因为自行安装不但操作麻烦,而且也不见得比系统默认的软件稳定。除非您有特殊的需求(例如您的某些Apache外挂程序需要较高的版本,或者是PHP、MySQL有特殊版本的需求),否则请使用yum来进行软件的安装即可。
那么LAMP需要什么软件呢?您必须知道的是,PHP是挂在Apache下面执行的,而我们要用网页的PHP程序控制MySQL,您的PHP就需要支持MySQL的模块才行。所以您至少需要下面几个软件:
• httpd。 • mysql。 • mysql-Server。 • php。 • php-devel(这个与PHP加速软件有关)。 • php-mysql。 |
要注意,Apache目前有几种主要版本,包括1.3.x、2.0.x以及2.2.x等,在1.3.x以前的版本通常取名为Apache,2.x以后则称为HTTPd了。请与您的distribution比较一下。至于CentOS 4.x则提供Apache 2.0.x这个版本。如果您没有安装,请直接使用yum或者是原版光盘来安装:
[root@linux ~]# yum install httpd mysql-Server php php-devel php-mysql |
先来了解一下Apache 2.0.x这个版本的相关结构,这样才能够知道如何处理我们的网页数据。
• /etc/httpd/conf/httpd.conf(主要配置文件):最主要的配置文件,不过很多其他的distribution都将这个文件拆成数个小文件,分别管理不同的参数。但是主要配置文件还是以这个文件名为主。您只要找到这个文件名就知道如何设置了。
• /etc/httpd/conf.d/*.conf(很多的额外参数文件,扩展名是.conf):这是CentOS的特色之一,如果您不想修改原始配置文件httpd.conf的话,那么可以将您自己的额外参数文件独立出来,例如您想要有自己的额外设置值,可以将它写入/etc/httpd/conf.d/vbird.conf(注意,扩展名一定是.conf才行),而启动Apache时,这个文件就会被读入到主要配置文件中。这有什么好处?好处就是当您系统升级的时候,几乎不需要更改原本的配置文件,只要将自己的额外参数文件复制到正确的地点即可,维护更方便。
• /usr/lib/httpd/modules/:Apache支持很多的模块,所有您想要使用的模块默认都放置在此目录中。
• /var/www/html/:这是CentOS默认的“首页”所在目录。当您输入“http://localhost”时所显示的数据所在。
• /var/www/error/:如果因为主机设置错误,或者是浏览器端要求的数据错误,在浏览器上出现的错误信息就以这个目录的默认信息为主。
• /var/www/icons/:这个目录提供Apache默认给予的一些小图标,可以随意使用。当输入“http://localhost/icons/”时所显示的数据所在。
• /var/www/cgi-bin/:默认给一些可执行的CGI(网页程序)程序放置的目录;当您输入“http://localhost/cgi-bin/”时所显示的数据所在。
• /var/log/httpd/:默认的Apache日志文件都放在这里,对于流量比较大的网站来说,这个目录要很小心,因为以鸟哥网站的流量来说,一个星期的日志文件数据可大到500MBytes至1GBytes左右,所以您务必要修改一下logrotate,从而压缩日志文件。
• /usr/sbin/apachectl:这是Apache的主要执行文件,这个执行文件其实是shell script,它可以主动检测系统上的一些设置值,好让您启动Apache时更简单。
• /usr/sbin/httpd:这是主要的Apache二进制执行文件。
• /usr/bin/htpasswd(Apache密码保护):当您想要登录某些网页时,需要输入账号与密码。那Apache本身就提供一个最基本的密码保护方式,该密码的产生就是通过这个指令实现的。相关的设置方式我们会在WWW进阶设置中说明。
至于MySQL方面,您需要知道的几个重要目录与文件有以下几个。
• /etc/my.cnf:这是MySQL的配置文件,包括您想要进行MySQL数据库的最佳化,或者是针对MySQL进行一些额外的参数指定,都可以在这个文件里实现。
• /var/lib/mysql/:这个目录是MySQL数据库放置的位置。当启动任何MySQL的服务时,请务必记得在备份时,将此目录完整地备份下来。
另外,在PHP方面,应该了解以下几个文件。
• /usr/lib/httpd/modules/libphp4.so:PHP提供给Apache使用的模块。这是关系我们能否在Apache网页上面设计PHP程序语言的最重要的文件。
• /etc/httpd/conf.d/php.conf:您要不要手动将该模块写入httpd.conf中呢?不需要,因为系统已经主动将PHP设置参数写入到这个文件中了。而这个文件会在Apache重新启动时被读入。
• /etc/php.ini:这是PHP的主要配置文件,包括PHP能不能允许用户上传文件?能不能允许某些低安全性的标志等,都在这个配置文件中设置。
• /etc/php.d/mysql.ini、/usr/lib/php4/mysql.so:PHP是否可以支持MySQL接口就看这两个文件了。这两个文件是由php-mysql软件提供的。
• /usr/bin/phpize、/usr/include/php/:如果您以后想要安装类似PHP加速器以让浏览速度加快的话,那么这个文件与目录就需要存在,否则加速器软件无法编译成功。这两个数据也是php-devel软件所提供的。
上面提到的是Red Hat系统(RHEL、CentOS、FC)所需的数据,如果是SuSE或其他版本的数据,请依照您的distribution管理软件的指令(rpm或dpkg)去查询一下,应该就能够知道各个重要数据放置在哪里了。这些数据很重要,您必须对放置的地点很清楚才行。
| 回书目 上一节 下一节 |
|
· 第六章 你能帮我吗?.. · Linux笔试面试题选摘测.. · 08年5月软考网管上午真.. · 性能测试从零开始 目录 · 08年5月软考网工上午真.. · 上周拒绝服务攻击(DDo.. |
· 08年5月各大网上书店及.. · 2008年5月24日软考试题.. · 软件设计师专家临考模.. · 上周网络管理员专家自.. · 网络工程师自测获奖名.. · 08年4月各大网上书店及.. |
|
||||
| · NAC安全访问控制 · 网络布线测试仪器 · Windows Server 2008专.. · Windows远程桌面应用 · 网络故障排除宝典 · 运营商封堵ADSL共享 中.. · 解析35岁技术人的价值.. · 世纪枭雄比尔盖茨的王.. |
· 主流品牌防火墙配置 · ASP.NET开发教程 · 超级计算机TOP500专题 · Vista SP1对决XP SP3 · SQL Server 2008/2005.. · 程序员如何成长? · C#技术开发指南 · 虚拟化技术还有点“虚” |
|||
|
||||
| · SOA 面向服务架构 · SQL Server 2008/2005.. · Apache技术专题 · 三层交换技术专题 · SQL Server入门到精通 · Windows远程桌面应用 · C#技术开发指南 · Apache技术专题 |
· Windows集群服务应用 · C#技术开发指南 · 国际文档格式标准开战 · 路由器设置与口令恢复 · Linux 集群技术专题 · PHP开发应用手册 · SOA 面向服务架构 · 企业数据恢复指南 |
|||
|
||||
| · SQL Server入门到精通 · SQL Server 2008/2005.. · SOA 面向服务架构 · Apache技术专题 · C#技术开发指南 · 三层交换技术专题 · Apache技术专题 · C#技术开发指南 |
· Windows远程桌面应用 · 企业数据恢复指南 · Windows集群服务应用 · 路由器设置与口令恢复 · Linux 集群技术专题 · SOA 面向服务架构 · 了解统一威胁管理(UTM).. · 反垃圾邮件技术应用 |
|||