AI智能
改变未来

部署LAMP平台(1):搭建httpd:Apache服务器


1.搭建httpd:Apache服务器

(1)将软件包上传到/usr/src目录下

[root@localhost src]# lsdebug  httpd-2.4.38.tar.gz  kernels[root@localhost src]# pwd/usr/src

(2)将该归档包解压到当前目录

[root@localhost src]# tar -zxf httpd-2.4.38.tar.gz[root@localhost src]# lsdebug  httpd-2.4.38  httpd-2.4.38.tar.gz  kernels

(3)进入该目录并配置,但提示缺失依赖包

[root@localhost httpd-2.4.38]# ./configure  --prefix=/usr/local/httpd --enable-so --enable-rewrite --enable-charset-lite --enable-cgi         //配置configure: error: APR not found.  Please read the documentation.  //提示

·–prefix=指定安装目录
·–enable-so=启用动态模块支持,以便进一步扩展功能
·–enable-rewrite=启用网页地址重写功能,用于网站优化及目录迁移维护
·–enable-charset-lite=启用字符集支持,以便支持各种字符集编码的网页
·–enable-cgi=启用CGI脚本程序支持,以便扩展网站的应用访问能力

(4)将光盘挂载上,进入源仓库目录,安装所需依赖包

#mount/dev/sr0 /media/cdrom#cd /media/cdrom/Packages[root@localhost Packages]# rpm -ivh apr-1.4.8-3.el7_4.1.x86_64.rpm-24.el7.x86_64.rpmrpm -ivh openldap-devel-2.4.44-13.el7.x86_64.rpmrpm -ivh apr-util-devel-1.5.2-6.el7.x86_64.rpmrpm -ivh apr-util-1.5.2-6.el7.x86_64.rpmrpm -ivh pcre-devel-8.32-17.el7.x86_64.rpmrpm -ivh pcre-8.32-17.el7.x86_64.rpmrpm -ivh zlib-devel-1.2.7-17.el7.x86_64.rpm准备中...        ################################ [100%]软件包 apr-1.4.8-3.el7_4.1.x86_64 已经安装[root@localhost Packages]# rpm -ivh apr-devel-1.4.8-3.el7_4.1.x86_64.rpm准备中...        ################################# [100%]正在升级/安装...1:apr-devel-1.4.8-3.el7_4.1        ################################# [100%][root@localhost Packages]# rpm -ivh cyrus-sasl-2.1.26-23.el7.x86_64.rpm准备中...       ################################# [100%]软件包 cyrus-sasl-2.1.26-23.el7.x86_64 已经安装[root@localhost Packages]# rpm -ivh cyrus-sasl-devel-2.1.26-23.el7.x86_64.rpm准备中...       ################################# [100%]正在升级/安装...1:cyrus-sasl-devel-2.1.26-23.el7   ################################# [100%][root@localhost Packages]# rpm -ivh expat-devel-2.1.0-10.el7_3.x86_64.rpm准备中...       ################################# [100%]正在升级/安装...1:expat-devel-2.1.0-10.el7_3   ################################# [100%][root@localhost Packages]# rpm -ivh libdb-devel-5.3.21-24.el7.x86_64.rpm准备中...      ################################# [100%]正在升级/安装...1:libdb-devel-5.3.21-24.el7     ################################# [100%][root@localhost Packages]# rpm -ivh openldap-devel-2.4.44-13.el7.x86_64.rpm准备中...     ################################# [100%]正在升级/安装...1:openldap-devel-2.4.44-13.el7  ################################# [100%][root@localhost Packages]# rpm -ivh apr-util-devel-1.5.2-6.el7.x86_64.rpm准备中...     ################################# [100%]正在升级/安装...1:apr-util-devel-1.5.2-6.el7     ################################# [100%][root@localhost Packages]# rpm -ivh apr-util-1.5.2-6.el7.x86_64.rpm准备中...    ################################# [100%]软件包 apr-util-1.5.2-6.el7.x86_64 已经安装[root@localhost Packages]# rpm -ivh pcre-devel-8.32-17.el7.x86_64.rpm准备中...    ################################# [100%]正在升级/安装...1:pcre-devel-8.32-17.el7     ################################# [100%][root@localhost Packages]# rpm -ivh pcre-8.32-17.el7.x86_64.rpm准备中...       ################################# [100%]软件包 pcre-8.32-17.el7.x86_64 已经安装[root@localhost Packages]# rpm -ivh zlib-devel-1.2.7-17.el7.x86_64.rpm准备中...       ################################# [100%]正在升级/安装...1:zlib-devel-1.2.7-17.el7     ################################# [100%

·rpm -ivh apr-1.4.8-3.el7_4.1.x86_64.rpm
·rpm -ivh apr-devel-1.4.8-3.el7_4.1.x86_64.rpm
·rpm -ivh cyrus-sasl-2.1.26-23.el7.x86_64.rpm
·rpm -ivh cyrus-sasl-devel-2.1.26-23.el7.x86_64.rpm
·rpm -ivh expat-devel-2.1.0-10.el7_3.x86_64.rpm
·rpm -ivh libdb-devel-5.3.21-24.el7.x86_64.rpm
·rpm -ivh openldap-devel-2.4.44-13.el7.x86_64.rpm
·rpm -ivh apr-util-devel-1.5.2-6.el7.x86_64.rpm
·rpm -ivh apr-util-1.5.2-6.el7.x86_64.rpm
·rpm -ivh pcre-devel-8.32-17.el7.x86_64.rpm
·rpm -ivh pcre-8.32-17.el7.x86_64.rpm
·rpm -ivh zlib-devel-1.2.7-17.el7.x86_64.rpm

(5)进入httpd目录,进行重新配置

[root@localhost Packages]# cd /usr/src/httpd-2.4.38[root@localhost httpd-2.4.38]# ./configure  --prefix=/usr/local/httpd 	--enable-so --enable-rewrite --enable-charset-lite --enable-cgi

(6)编译及安装

[root@localhost httpd-2.4.38]# make && make install

(7)进入指定的安装目录查看安装结果

[root@localhost httpd-2.4.38]# cd /usr/local/httpd[root@localhost httpd]# lsbin  build  cgi-bin  conf  error  htdocs  icons  include  logs  man  	manual  modules

·bin:存放httpd服务的各种执行程序文件,包括主程序httpd、服务控制工具apachectl等
·conf:存放httpd服务的各种配置文件,包括主配置文件httpd.conf、增强配置子目录extra等
·htdocs:存放网页文档,包括默认首页文件index.html等
·logs:存放httpd服务的日志文件
·modules:存放httpd服务的各种模块文件
·cgi-bin:存放各种CGI程序文件
·/usr/local/httpd/log/access_log:访问日志
·/usr/local/httpd/log/error_log:错误日志

(8)查看变量路径

[root@localhost httpd]# echo $PATH/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin

(9)优化执行路径,将其加入默认搜索路径,以后执行其命令不用再输入绝对路径(创建软链接)

[root@localhost httpd]# ln -s /usr/local/httpd/bin/* /usr/local/bin[root@localhost httpd]# ls -l /usr/local/bin/httpd /usr/local/bin/apachectllrwxrwxrwx. 1 root root 30 7月  20 15:08 /usr/local/bin/apachectl -> /usr/local/httpd/bin/apachectllrwxrwxrwx. 1 root root 26 7月  20 15:08 /usr/local/bin/httpd -> /usr/local/httpd/bin/httpd

(10)添加httpd系统服务

·CentOS 6 :

[root@localhost httpd]# vim /etc/init.d/httpd#!/bin/bash#chkconfig:35 85 21     //服务识别参数,在3、5级别中启动,启动顺序为85.关闭顺序为21#description:Startup script for the Apache HTTP Server      //服务描述信息[root@localhost httpd]# chkconfig --add-httpd           //添加为系统服务[root@localhost httpd]# chkconfig --list httpd  //可查看httpd服务自启动状态

·当系统进入3、5级别是httpd服务自动运行,可使用apachectl工具控制或使用“/etc/init.d/httpd脚本”
·CentOS 7 :

[root@localhost httpd]# vim /lib/systemd/system/httpd.service[Unit]Description=The Apache HTTP ServerAfter=network.target[Service]Type=forkingPIDFile=/usr/local/httpd/logs/httpd.pidExecStart=/usr/local/bin/apachectl $OPTIONSExecReload=/bin/kill -HUP $MAINPID        //HUP:重启KillMode=processRestart=on-failureRetartSec=42s[Install]WantedBy=graphical.target                   //图形化界面开启服务[root@localhost httpd]# systemctl daemon-reload   //刷新配置

2. Web站点部署过程

1.确定网站名字、IP地址(在/etc/hosts文件中绑定ip与域名)
2.配置并启动httpd服务
·在httpd主配置文件httpd.conf中在配置项ServerName 添加网站名称
·开启服务并查看80端口:netstat -anpt | grep httpd
3.部署网页文档 (网页文档/usr/local/httpd/htdocs 下index.html)
4.在客户机中访问Web站点
5.查看Web站点访问情况 (查看访问日志/usr/local/httpd/logs/access_log、错误日志/usr/local/httpd/logs/error_log ,可排查服务器运行故障)

3. httpd.conf 配置文件

(1)常用全局配置项: 关键字 值

ServerRoot:根目录,默认为安装目录/usr/local/httpd
Listen:监听的网络端口号,默认为80
User:运行服务的用户身份,默认daemon
Group:运行服务的组身份,默认daemon
ServerAdmin:管理员邮箱
ServerName:网站服务器的域名(主机名+域名)
DocumentRoot:网页文档的根目录(网页文档在系统中的实际存放路径)
DirectoryIndex:默认的索引页文件(首页),index.html
ErrorLog:设置错误日志文件的路径,默认为/logs/error_log
LogLevel:记录日志的级别,默认为warn
CustomLog:访问日志文件的位置,默认为/logs/access_log
PidFile:保存httpd进程PID号的文件,默认为/logs/httpd.pid
AddDefaultCharset:设置站点中的网页默认使用的字符集编码,UTF-8等
Timeout:网络连接超时,默认为300秒
KeepAlive:是否保持连接,可选On或Off
MaxKeepAliveRequests:每次连接最多请求文件数
KeepAliveTimeout:保持连接状态时的超时时间
Include:包含另一个配置文件的内容,可将一些特殊功能的配置放到一 个单独的文件中,用include配置项将其包含到httpd.conf文件中,便于独立进行配置功能的维护而不影响主配置文件

(2)区域配置项

<Directory />    			//定义”/ ” 目录区域的开始Options FollowSymLinks  	//控制选项,允许使用符号链接AllowOverride none     	//不允许隐含控制问文件中的覆盖配置Order deny,allow          //访问控制策略的应用顺序Require all denied          //拒绝任何人访问</Directory>
赞(0) 打赏
未经允许不得转载:爱站程序员基地 » 部署LAMP平台(1):搭建httpd:Apache服务器