Linux服务器部署系列之一Apache篇上.docx
- 文档编号:1624849
- 上传时间:2023-05-01
- 格式:DOCX
- 页数:17
- 大小:385.74KB
Linux服务器部署系列之一Apache篇上.docx
《Linux服务器部署系列之一Apache篇上.docx》由会员分享,可在线阅读,更多相关《Linux服务器部署系列之一Apache篇上.docx(17页珍藏版)》请在冰点文库上搜索。
Linux服务器部署系列之一Apache篇上
Apache是Linux服务里面用得最多的之一,今天我们就从它开始来一次Linux服务部署之旅。
本文分以下章节介绍:
1.安装Apache
2.配置Apache
3.配置虚拟主机
4.管理日志文件
5.配置PHP运行环境
一、安装Apache
下载地址:
http:
//httpd.apache.org/
1.安装Apache
#tarzxvfhttpd-2.2.11.tar.gz
#cdhttpd-2.2.11
#./configure--prefix=/usr/local/apache--enable-so
//编译时加上加载模块参数--enable-so
#make
#makeinstall
2.配置系统启动时自动启动Apache服务。
#vi/etc/rc.d/rc.local
//在rc.local上加入一行/usr/local/apache/bin/apachectl–kstart。
二、配置Apache
1.修改httpd.conf文件
#vi/usr/local/apache/conf/httpd.conf
1)设置根目录的路径
根目录是指Apache存放配置文件和日志文件的目录,配置参数为ServerRoot,默认位于“/usr/local/apache”。
命令如下:
2)设置监听IP地址及端口号
默认侦听本机所有IP地址的TCP80端口,命令如下:
Listen80
用户也可以按自己的需求,使用多个Listen语句在多个地址和端口上侦听客户端请求。
比如:
Listen192.168.99.9:
80
Linsten172.16.0.20:
8080
3)设置系统管理员E-mail
使用ServerAdmin参数设置管理员E-mail,比如管理员的Email地址为root@:
4)设置服务器主机的名称
参数ServerName用来设置服务器的主机名称,如果没有域名则填入服务器的IP地址,比如服务器的IP地址为192.168.99.9:
5)设置主目录的路径
用户可以使用参数DocumentRoot配置服务器主目录默认路径,比如,主目录路径为:
6)设置默认文件
Apache的默认文件名为index.html,可以使用DirectoryIndex参数来配置,比如,将index.php设置为默认文件名:
7)测试:
打开浏览器,输入地址:
http:
//192.168.99.9,可以打开站点了:
2.配置目录权限
使用
比如:
OptionsIndexesMultiViews
AllowOverrideNone
Orderallow,deny
Allowfromall
说明:
1)定义目录特性选项Options
可选参数:
Indexes:
该特性表明目录允许“目录浏览”;
MultiViews:
该特性表明目录允许内容协商的多重试图;
All:
包含了除MultiViews外的所有特性;
ExecCGI:
该特性表明允许在该目录下执行CGI脚本;
FollowSymLinks:
该特性表明允许在该目录下使用符号连接。
2).htaccess文件
可以通过.htaccess文件(访问控制文件)设置目录的权限。
AccessFileName.htaccess
配置参数AllowOverride指定目录的.htaccess文件中指令的类型,包括All、None与Options、FileInfo、AuthConfig、Limit的任意组合。
一般将AllowOverride设置为“None”,禁止使用.htaccess文件,当AllowOverride参数为All时,.htaccess文件可以覆盖任何以前的配置。
3)设置访问控制
使用Order选项来定义访问权限。
比如以下语句表明允许所有客户机的访问:
Orderallow,deny
Allowfromall
以下语句表明只允许网段192.168.99.0/24的客户机访问,但IP地址为192.168.99.254这个客户机除外:
Orderallow,deny
Allowfrom192.168.99.0/24
Denyfrom192.168.99.254
用户可以根据需要,按上述方法配置自己的目录权限。
3.创建虚拟目录
使用Alias选项创建虚拟目录,比如,建立“/icons/”这个虚拟目录,其对应的物理路径为“/var/www/icons/”:
Alias/icons/“/var/www/icons/”
4.用户认证
比如,有一个名为myweb的虚拟目录,其对应的物理路径是“/usr/local/myweb”,现对其启用用户认证功能,只允许用户Tonyguo和Wayne访问。
1)建立虚拟目录并设置用户认证:
2)建立口令文件并为用户设置口令
-c选项表示无论口令文件是否已经存在,都会重新写入文件并删除原内容。
所以第二个用户wayne不需要使用-c选项。
3)测试
在浏览器中输入:
http:
//192.168.99.9/myweb,可以看到如下对话框:
输入用户名和密码后就可以访问网站了:
三、配置虚拟主机
1.配置基于IP的虚拟主机
1)IP地址相同,但端口号不同的虚拟主机配置
比如使用192.168.99.9的两个不同端口80和8080发布两个不同站点,虚拟主机分别对应的目录为/usr/local/apache/htdocs/web1和/usr/local/apache/htdocs/web2:
Listen80
Listen8080
80> ServerSignatureemail DocumentRoot/usr/local/apache/htdocs/web1 DirectoryIndexindex.htmlindex.htm LogLevelwarm HostNameLookupsoff 8080> ServerSignatureemail DocumentRoot/usr/local/apache/htdocs/web2 DirectoryIndexindex.htmlindex.htm LogLevelwarm HostNameLookupsoff 2)配置基于域名的虚拟主机 比如服务器有两个IP地址192.168.99.9和192.168.99.10,使用这两个IP创建两台虚拟主机,虚拟主机分别对应的目录为/usr/local/apache/htdocs/web1和/usr/local/apache/htdocs/web2。 设置方法如下: ServerName192.168.99.9: 80 DocumentRoot/usr/local/apache/htdocs/web1 DirectoryIndexindex.htmlindex.htm ServerName192.168.99.10: 80 DocumentRoot/usr/local/apache/htdocs/web2 DirectoryIndexindex.htmlindex.htm 2.配置基于域名的虚拟主机 比如有两个域名和需要使用同一台服务器192.168.99.9,那么可以这样配置: NameVirtualHost192.168.99.9 ServerName: 80 ServerAdminadmin@ DocumentRoot/usr/local/apache/htdocs/web1 DirectoryIndexindex.htmlindex.htm ErrorLoglogs/web1/error_log Customloglogs/web1/access_logcombined ServerName: 80 ServerAdminadmin@ DocumentRoot/usr/local/apache/htdocs/web2 DirectoryIndexindex.htmlindex.htm ErrorLoglogs/web1/error_log Customloglogs/web1/access_logcombined linux服务器部署系列之一—Apache篇(上) 四、管理日志文件 Apache日志分为访问日志和错误日志两种: 1)访问日志 用于记录客户端的访问信息,文件名默认为access_log,可以通过参数CustomLog设置日志文件存放的位置和文件名: CustomLoglogs/access_logcombined 2)错误日志 用于记录Apache在启动和运行时产生的错误,默认为error_log,可以通过参数ErrorLog进行设置: ErrorLoglogs/error_log 1.日志滚动 1)Rotatelogs #vi/usr/local/apache/bin/httpd.conf 将CustomLoglogs/access_logcombined 改为CustomLog“|/usr/sbin/rotatelogslogs/access_log172800”combined 其中,172800单位为秒,即两天。 滚动后的日志文件命名为/usr/local/apache/httpd/logs/access_logxxxxxxxxxx。 10个x表示的是开始记录日志时的时间距1970年1月1日的秒数。 日志每滚一次产生一个新文件,后缀值为前一个日志文件的后缀值加上172800。 2)Logrotate 系统提供了一个日志滚动工具Logrotate,与Crond配合可实现Apache日志滚动。 #vi/etc/logrotate.conf//查看logrotate.conf文件 在logrotate.conf文件中包含了/etc/logrotate.d目录,在该目录下,可查看httpd文件,内容如下: #vi/etc/logrotate.d/httpd Missingok表示如果日志文件丢失则重新生成新的日志文件。 Notifempty表示如果日志文件中没有数据,则不滚动。 Sharedscripts表示调用日志滚动函数。 Postrotate表示日志滚动后,将重启Apache。 在/etc/cron.daily/文件夹下查看logrotate文件,内容如下: 由此看出,Logrotate工具由Crond每天运行一次从而实现日志滚动。 2.Webalizer日志统计分析工具 下载地址: 1)安装Webalizer 2)配置webalizer工具 (1)#vi/etc/webalizer.conf 修改以下行: LogFile/usr/local/apache/logs/access_log 用来指示配置文件的路径信息,webalizer会将该日志文件作为输入进行统计分析; OutputDir/usr/local/apache/htdocs/usage 用来指示生成的统计报表的保存目录。 (2)#vi/etc/httpd/conf.d/webalizer.conf #cp/etc/httpd/conf.d/webalizer.conf/etc/httpd/conf/webalizer.conf (3)#crontab–e 添加以下行: 230***./usr/bin/webalizer-c/etc/webalizer.conf //按wq保存退出,该行表示每天23点进行当天的数据流量统计。 (4)#/usr/local/apachectl–kstop//重启apache #/usr/local/apachectl–kstart (5)#/usr/local/bin/webalizer-c/etc/webalizer.conf 3)测试 输入地址http: //127.0.0.1/usage测试,如下: 五、配置PHP运行环境 为了让PHP支持GD库,我们需要先安装zlib,libpng,freetype,jpeg,GD等组件。 1.安装zlib 下载地址: #tarzlib-1.2.3.tar.gz #cdzlib-1.2.3 # ./configure--prefix=/usr/local/zlib # make #makeinstall 2.安装libpng 下载地址: http: //www.libpng.org/pub/png/libpng.html # tarzxvflibpng-1.2.18.tar.tar # cdlibpng-1.2.18 # cdscripts/ # mvmakefile.linux../makefile # cd.. # make # makeinstall 注意,这里的makefile不是用./configure生成,而是直接从scripts/里拷一个 3.安装freetype 下载地址: # tarzxvffreetype-2.3.9.tar.gz # cdfreetype-2.3.9 # ./configure--prefix=/usr/local/freetype # make # makeinstall 4.安装Jpeg 下载地址: http: //www.ijg.org/files/jpegsrc.v6b.tar.gz # tarzxvfjpegsrc.v6b.tar.gz # cdjpeg-6b/ # mkdir/usr/local/libjpeg # mkdir/usr/local/libjpeg/include #mkdir/usr/local/libjpeg/bin #mkdir/usr/local/libjpeg/lib #mkdir/usr/local/libjpeg/man #mkdir/usr/local/libjpeg/man/man1 #./configure--prefix=/usr/local/libjpeg--enable-shared--enable-static # make #makeinstall 注意,这里configure一定要带--enable-shared参数,不然,不会生成共享库 5.安装GD 下载地址: http: //www.libgd.org/Downloads # tarzxvfgd-2.0.35.tar.gz # cdgd-2.0.35 # ./configure--prefix=/usr/local/libgd--with-png--with-freetype=/usr/local/freetype--with-jpeg=/usr/local/libjpeg #make # makeinstall 6.编辑/etc/ld.so.conf,添加以下几行到此文件中。 /usr/local/zlib/lib /usr/local/freetype/lib /usr/local/libjpeg/lib /usr/local/libgd/lib 执行ldconfig命令, #ldconfig 使用动态装入器装载找到共享库 7.安装libxml 下载地址: ftp: //xmlsoft.org/libxml2/libxml2-2.6.32.tar.gz #tarzxvflibxml2-2.6.32.tar.gz #cdlibxml2-2.6.32 #./configure #make #makeinstall 8.安装PHP PHP下载地址: #tarzxvf php-5.2.9.tar.gz #cdphp-5.2.9 #./configure--prefix=/usr/local/php--with-apxs2=/usr/local/apache/bin/apxs--with-mysql=/usr/local/mysql--with-gd=/usr/local/libgd--enable-gd-native-ttf--with-ttf--enable-gd-jis-conv--with-freetype-dir=/usr/local/freetype--with-jpeg-dir=/usr/local/libjpeg--with-png-dir=/usr--with-zlib-dir=/usr/local/zlib--enable-xml--enable-mbstring--enable-sockets #make #makeinstall #cpphp.ini-recommended/usr/local/php/lib/php.ini #ln–s/usr/local/php/bin/*/usr/local/bin/ 9.配置Apache #vi/usr/local/apache/conf/httpd.conf 查找AddTypeapplication/x-compress.Z AddTypeapplication/x-gzip.gz.tgz 在其下加入AddTypeapplication/x-tar.tgz AddTypeapplication/x-httpd-php.php AddTypeimage/x-icon.ico 修改DirectoryIndex行,添加index.php 修改为DirectoryIndexindex.phpindex.html 10.测试 #vi/usr/local/apache/htdocs/test.php 添加以下行: php Phpinfo(); ? > #/usr/local/apache/bin/apachectl–kstop #/usr/local/apache/bin/apachectl–kstart 在浏览器中输入: http: //192.168.99.9/test.php进行测试。 OK,至此Apache的相关部署就已经讲完了。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Linux 服务器 部署 系列 之一 Apache