linux下编译安装apache2+mysql5+php5.docx
- 文档编号:7513162
- 上传时间:2023-01-24
- 格式:DOCX
- 页数:16
- 大小:255.55KB
linux下编译安装apache2+mysql5+php5.docx
《linux下编译安装apache2+mysql5+php5.docx》由会员分享,可在线阅读,更多相关《linux下编译安装apache2+mysql5+php5.docx(16页珍藏版)》请在冰豆网上搜索。
linux下编译安装apache2+mysql5+php5
linux下编译安装apache2+mysql5+php5
0
一。
Web服务概述
目前,WEB服务已经成为计算机用户在互联网上查询和浏览信息的主要的方法。
WWW提供一种交互式图形界面的Internet服务,具有强大的连接功能和易于使用的特点。
因此使得很多用户通过简单的图形界面就可以访问各个大学、组织和企业等机构和个人最新信息和服务等。
Web服务系统采用的是客户机/服务器的工作方式。
服务器主要采用的是apache和windows的IIS;客户端常用的程序是浏览器(如IE、netscape、Mozilla等)。
这样用户就可以在地址栏输入统一资源定位符(URL)来访问Web页面。
Web最基本的是超文本传输协议和超文本标注语言。
超文本传输协议即HTTP协议,是Web服务必须遵从的协议,默认的端口是80端口。
整个通信流程如图
先查看下自己的apr和apr-util的版如果请更新下,要不呆会报错。
编译和安装apr,apr下载:
#tar-zxvfapr-1.3.0.tar.gz
#cdapr-1.3.0
#./configure--prefix=/usr/local/apr
#make
#makeinstall
#编译和安装apr-util-1.3.0.tar.gz
#cdapr-util-1.3.0
#./configure--prefix=/usr/local/apr-util--with-apr=/usr/local/apr
#make
#makeinstall
下载Apachehthttp:
//www.apache.org/
tp:
//
解压缩安装httpd
#tar-zxvfhttpd-2.2.9.tar.gz
#cdhttpd-2.2.9
#./configure--prefix=/usr/local/apache2安装路径--enable-module=so生成动态文件--enable-ssl=sharedSSL安全链接--enable-rewrite=shared写入--enable-proxy=shared代理--enable-deflate=shared--with-mpm=worker--enable-expires=shared--enable-speling=shared--enable-mods-shared=all--enable-module=most--enable-mods-shared=all--with-apr=/usr/local/apr--with-apr-util=/usr/local/apr-util 大家根据自己的情况有所取舍
#make;makeinstall
#/usr/local/apache2/conf
1.全局环境设置选项
全局环境设置用于定义apache服务器的工作目录、预派生进程数和工作端口等参数。
常用全局配置选项如下。
(1)设置响应信息中包含操作系统信息
设置服务器响应主机头(header)信息时,显示apache的版本和操作系统的名称,可以设置ServerTokens选项
ServerTokensOS
(2)设置服务器的根目录
ServerRoot"/etc/httpd"
ServerRoot选项用于指定Apache服务器守护进程httpd的运行目录,httpd在启动之后自动将进程的当前目录改变为此目录。
如果在配置文件中指定的文件或目录是相对路径,那么真实路径就位于这个ServerRoot定义的目录之下。
(3)设置ScoreBoardFile
Apache使用ScoreBoardFile来维护进程的内部数据,通常不设置这个选项,除非用户想在一台计算机上运行多个Apache服务器,这时每个Apache服务器都需要独立的配置文件httpd.conf,并使用不同的ScoreBoardFile。
ScoreBoardFilerun/httpd.scoreboard
(4)设置PID文件位置
PidFile run/httpd.pid
该选项用于指定Apache记录进程标准符的文件。
由于httpd能自动复制其身,因此系统中同时可以有多个httpd进程,但只有一个初始进程,它是其他进程的父进程。
(4)设置连接超时
Timeout选项用以设置服务器接收到一个请求时,保持连接开启的时间。
超过这个时间服务器会断开和客户端的连接。
Timeout300
(5)设置HTTP保持连接
KeepAlive的值可以为On或Off,Off表示连接不保持,即客户方发送一次请求,服务器方就响应一个文件。
On表示连接保持,避免多次请求与服务器方建立多次连接。
建议此参数值设为On
KeepAliveOff
(6)设置一次HTTP连接支持的最大请求数
当KeepAlive选项值为On时,该选项用于控制连接请求最大数。
默认100,设置为0表示不限制。
MaxKeepAliveRequests100
(7)设置请求之间的间隔时间
KeppAliveTimeout用于设置当保持连接时,两次请求之间时间间隔,单位为秒。
KeepAliveTimeout15
(8)设置服务器进程数
Apache2.0为了提高性能,增加了MPM(Multi-ProcessingModules多道处理模块)。
MPM负责绑定本机网络接口,接受请求并调度子进程来处理请求。
Apache2.0支持3种方式的MPM,分别是预派生(Prefork)MPM、工作者(Worker)MPM和独立子进程(Perchild)MPM。
对于不同的操作系统,所应用MPM方式也是不同的,对于Linux系统下安装的Apache服务器,默认加载了Prefork MPM,如下所示为默认http.conf文件一段MPM配置内容。
#preforkMPM//设置preforkMPM运行方式的参数
StartServers8//设置服务器启动时运行进程数(8个httpd子进程)
MinSpareServers5//设置apache生成空闲子进程数的最小值
MaxSpareServers20//设置apache生成空闲子进程数的最大值
//限制同时连接的数目,因为同时连入过多的数目会降低系统的性能。
MaxClients150
//控制每个子进程在终止处理请求之前能够提出的连接请求数量,0表示没有限制。
MaxRequestsPerChild1000
#workerMPM//设置workerMPM运行方式的参数
StartServers2
MaxClients150
MinSpareThreads25
MaxSpareThreads75
ThreadsPerChild25//每个子进程可以生成多少个线程,以处理客户对Web站点的请求。
(MaxThreadsPerChild:
限制每个子进程允许的线程数)
MaxRequestsPerChild0
(9)设置地址绑定
Linsten选项的作用是将Apache服务器绑定到指定的IP地址和端口上。
在Linux系统下,一个主机可以有多个网络接口和IP地址,此时可以使用Linsten选项绑定Apache到指定的IP地址上,也可以同时监听所有的IP地址。
Listen80//监听所有接口的80号端口
Listen192.168.1.38:
80//只监听192.168.1.38的80号端口
(10)配置DSO,加载模块
Apache支持DSO功能,在编译apache的时候,动态编译的模块在服务器运行过程中并不被调入内存。
如果需要使用某个模块时,可以使用LoadModule选项指定模块名称和路径,实现动态加载。
LoadModuleaccess_modulemodules/mod_access.so
LoadModuleauth_modulemodules/mod_auth.so
LoadModuleauth_anon_modulemodules/mod_auth_anon.so
……………….
……………………..
(11)加载子配置文件
httpd.conf是apache的主配置文件,为了提高可读可用Include选项包含其他的子配置文件。
Includeconf.d/*.conf//包含存放在/etc/httpd/conf.d下所有.conf结尾的文件
(12)配置状态信息
Apache服务器可以通过特殊的HTTP请求,来报告自身的运行状态。
默认情况下只能生成基本的状态信息,如要生成完整的状态信息,需要使用ExtendedStatus,并设置参数值为On。
ExtendedStatusOn
以上介绍的是常用全局配置选项,用户可根据自已的需要修改默认httpd.conf中全局选项,以实现自已的目标。
2.主服务器配置
默认httpd.conf文件的第二部分用来设置主服务器,这部分的设置将应用于所有的Web站点,同时这部分的设置也是虚拟主机的默认设置。
下面具体介绍默认httpd.conf中包含的主服务器配置选项。
(1)设置apache的运行用户和组
用户在运行Apache的时候最好不要以root用户的身份来运行,配置选项User和Group分别用于指定运行apache的用户和用户组,默认配置如下。
Userapache
Groupapache
(2)设置管理员的E-Mail地址
ServerAdminroot@localhost
ServerAdmin选项的作用是设置在服务器出现问题时,把错误信息发送到指定的邮箱中去。
这个E-Mail地址也会出现在服务器自动产生的Web页面上,当出现了HTTP错误的时候提示Web使用者用此E-Mail地址和管理员联系
(3)设置服务器名
默认情况下Aapache服务器会通过DNS来自动获取自身主机的名称。
但有时候域名解析会出现问题,如域名反向解析不正确,则需要用ServerName来设置服务器名。
通常一个Web服务器可以具多个名字,客户浏览器可以使用所有这些名字或IP地址来访问这台服务器,但在没有定义虚拟主机的情况下,服务器总是以自已在ServerName中定义的DNS名字回应浏览器。
服务器名一定要设置正确,否则apache服务器无法正常启动。
ServerNamenew.host.name:
80
(4)设置正式名称
UseCanonicalName选项的作用是设置服务器正式名称,该选项的值可以为Off或On。
UseCanonicalName为Off时使用客户端提供的的主机名和端口,为On时使用ServerName选项中指定的主机名和端口。
UseCanonicalNameOff
(5)设置站点主目录
DocumentRoot"/var/www/html"
DocumentRoot选项定义服务器对外发布的文件所存放的路径,默认路径是/var/www/html,客户端请求的URL就被映射为该路径中。
当然,被发布的目录属性必须允许访问用户读取和执行,否则客户端无法浏览器目录内容。
如果需要客户端利用http协议向发布目录中上传内容,目录属性必须允许用户写入。
设置用户目录
如在Linux系统上运行apache服务器,在系统上的所有用户都可以创建自已的主页,保存到自已的指定目录中,此项功能称之为“个人主页”。
在客户端可以用形如http:
//servername/~username的地址访问用户的主页,其中useraname代表服务器中的用户名称。
默认httpd.conf文件禁止用户个人主页功能,如果需要启用个人主页功能可设置UserDir选项。
UserDirdisable//禁止个人主页功能,如果想启用的话,可以在UserDir选项后面跟目录名
(8)设置默认首页文件名
DirectoryIndexindex.htmlindex.html.var
DirectoryIndex选项用于建立文件列表,当客户端发出的连接请求是一个目录而不是一个文件时,需要使用这个列表。
例如,客户端发了连接请求http:
//servername/soft/,则服务器首先会在soft目录中依次查找在DirectoryIndex选项指定的文件index.html、index.html.var,把找到的第一个文件作为该目录中的默认文件,如果都找不到便自动生成一个该目录的文件列表,然后提交给客户端。
(9)指定目录访问控制文件名
目录访问控制文件是用来设置目录的访问权限,该文件放在被控制的目录中,默认文件名为.htaccess。
AccessFileName.htaccess
Orderallow,deny
Denyfromall
(10)配置MIME类型文件
Apache服务器利用MIME功能识别用户请求的文件类型。
MIME是通过MIME类型文件实现文件映射的,可利用TypesConfig指定类型文件的路径。
如果服务器无法从指定MIME类型文件确定用户访问的文件类型,则用默认类型来作为此文件的类型。
默认类型用DefaultType选项来定义。
TypesConfig/etc/mime.types
DefaultTypetext/plain
Apache可利用mod_mime_magic模块,根据文件的特征实现自动断文件的MIME类型,下面默认httpd.conf中的配置内容。
MIMEMagicFileconf/magic
设置服务器的响应信息
ServerSignatureOn
ServerSignature选项用于选择是否在错误的响应文档后面加入签名。
当ServerSignature为On时,Apache服务器会在自产生的页面上附加服务器的版本信息和主机名称,为Off时什么都不附加,为EMAIL时附加服务器的版本信息、主机名称以及指令ServerAdmin中设置的邮件地址。
(13)设置目录别名
Apache服务器可以用Alias选项将URL与服务器文件系统中的真实位置进行直接映射,一般的文档将在DocumentRoot中的进行查询,而使用Alias定义的路径将直接映射到相应目录下,而不再到DocumentRoot下面进行查询。
因此Alias主要用于发布共用资源。
Alias/icons/"/var/www/icons/"//设置图标文件的访问别名
OptionsIndexesMultiViews
AllowOverrideNone
Orderallow,deny
Allowfromall
Alias/manual"/var/www/manual"//设置apache手册页的访问别名
OptionsIndexesFollowSymLinksMultiViews
AllowOverrideNone
Orderallow,deny
Allowfromall
(14)设置URL重定向
Redirect选项可以将一个旧的URL映射到一个新的URL,该选项的格式为Redirect[status]URL-pathURL,下面配置示例。
Redirectpermanent /foo
(15)设置索引选项
Apache服务器可以在文件列表中为目录索引中的不同种类的文件产生不同的图标。
具体每种类型使用什么图标及如何显示,可使用IndexOptions、AddIconByEncoding、AddIconByType以及AddIcon选项来定义。
下面是一段默认httpd.conf文件中的配置内容。
//指定客户端浏览器如何显示目录中索引文件。
FancyIndexing文件前附加图标说明文件的类
//型,VersionSort对同一个软件的多个版本进行排序,NameWidth=*表示目录中文件名的
//宽度为“*”则自动根据文件名调整宽度。
IndexOptionsFancyIndexingVersionSortNameWidth=*
AddIconByEncoding(CMP,/icons/compressed.gif)x-compressx-gzip
AddIconByType(TXT,/icons/text.gif)text/*//设置不同类型文件的图标
AddIconByType(IMG,/icons/image2.gif)image/*
……..
AddIcon/icons/binary.gif.bin.exe//设置不同扩展名的文件图标
AddIcon/icons/binhex.gif.hqx
……….
DefaultIcon/icons/unknown.gif//当上面没有指定的文件类型时则用此图标显示。
(16)定义编码和语言
AddEncoding选项定义一些压缩文件的MIME类型,有些浏览器可以根据这些定义来进行解压缩操作。
AddEncodingx-compressZ
AddEncodingx-gzipgztgz
一个HTML文档可以同时具备多个语言的版本,每种语言对应的后缀可以使用AddLanguage进行定义。
这样服务器可以针对不同国家的客户,通过浏览器进行协商,发送不同的语言版本。
而LanguagePriority定不同语言的优先级,以便在浏览器没有特殊要求时,按照使用不同的语言版本回应客户端的请求。
如果没有任何语言要求,则发送默认语言版本的文档,默认语言命令DefaultLanguage定义。
DefaultLanguagenl
AddLanguagenl.nl
AddLanguageen.en
AddLanguageet.et
.....
...................
AddLanguagezh-CN.zh-cn
AddLanguagezh-TW.zh-tw
AddLanguagehr.hr
LanguagePriorityendanletfrdeelitjakonoplptpt-brltzcaessvtw
ForceLanguagePriorityPreferFallback
AddDefault选项可以设置页面默认的字符集,也可以使用AddCharset添加字符集。
AddDefaultCharsetUTF-8
AddCharsetISO-8859-1.iso8859-1.latin1
AddCharsetISO-8859-2.iso8859-2.latin2.cen
……….
……………..
AddCharsetISO-8859-3.iso8859-3.latin3
AddCharsetGB2312.gb2312.gb
(17)添加MIME类型和处理类型
AddType选项可以为特定后缀的文件指定MIME类型,这里的设置将覆盖mime.types中的设置。
AddTypeapplication/x-tar.tgz
AddHandler选项用于指定非静态的处理类型,定义文档为一个非静态的文档类型,需要进行处理,再向浏览器返回处理结果。
AddHandlercgi-script.cgi
AddHandlerimap-filemap
(18)自定义错误响应
在客户请求的网页不存在,或者没有访问权限等情况发生时,服务器将产生一个错误代码,同时将回应客户浏览器一个标识错误的网页。
ErrorDocument就用于设置当出现哪种错误时应该回应客户浏览器哪些内容,ErrorDocument的第一个参数为错误的序号,第二个参数为回应的数据,可以为简单的文本、本地网页、本地CGI程序或重定向到远程主机上的网页。
ErrorDocument500"Theservermadeabooboo."
ErrorDocument404/missing.html
ErrorDocument404"/cgi-bin/missing_handler.pl"
ErrorDocument402
........
.....................
(19)设置客户端的类型
BrowserMatch选项为特定的浏览器和客户程序,设置特殊的参数,以保证对老版本浏览器的兼容性,并支持新浏览器的新特性。
BrowserMatch"Mozilla/2"nokeepalive
BrowserMatch"MSIE4\.0b2;"nokeepalivedowngrade-1.0force-response-1.0
BrowserMatch"RealPlayer4\.0"force-response-1.0
…………
…………………..
(20)设置Web代理
Apache2.0内置web代理功能,默认httpd.conf禁止了Web代理功能,Web代理的配置选项主要如下。
ProxyRequestsOn
Orderdeny,allow
Denyfromall
Allowfrom
ProxyViaOn
CacheEnabledisk
CacheRoot"/var/cache/mod_proxy"
3.虚拟主机配置
Apache服务器可以支持基于IP地址和基于域名虚拟主机技术,可以在httpd.conf文件中利用NameVirtualHost指定虚拟主机的IP地址,这个IP地址将对应多个域名。
虚拟主机的其他选项需要通过VirtualHost容器进行定义,下面是httpd.conf中的一段关于虚拟主机的配置内容。
NameVirtualHost192.168.1.2
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- linux 编译 安装 apache2 mysql5 php5