一、安装httpd服务器Apache网站服务
1、准备工作
为了避免发送端口冲突,程序冲突等现象,卸载使用rpm方式安装的httpd
#使用命令检查是否下载了httpd
[root@server ~]# rpm -qa httpd
#如果有则使用
[root@server ~]# rpm -e httpd --nodeps
Apache的配置及运行需要apr 、 pcre等软件包的支持.因此应从系统光盘镜像中预先安装这些软件及其开发包(devel),以便提供相应的库和头文件.确保Apache 的安装顺利完成。
#先将光盘挂载到mnt目录
[root@localhost ~]# mount /dev/cdrom /mnt/
mount: /dev/sr0 写保护,将以只读方式挂载
[root@localhost ~]# rpm -ivh /mnt/Packages/apr-1.4.8-3.el7_4.1.x86_64.rpm
[root@localhost ~]# rpm -ivh /mnt/Packages/apr-devel-1.4.8-3.el7_4.1.x86_64.rpm
[root@localhost ~]# rpm -ivh /mnt/Packages/cyrus-sasl-devel-2.1.26-23.el7.x86_64.rpm
[root@localhost ~]# rpm -ivh /mnt/Packages/expat-devel-2.1.0-10.el7_3.x86_64.rpm
[root@localhost ~]# rpm -ivh /mnt/Packages/libdb-devel-5.3.21-24.el7.x86_64.rpm
[root@localhost ~]# rpm -ivh /mnt/Packages/openldap-devel-2.4.44-20.el7.x86_64.rpm
[root@localhost ~]# rpm -ivh /mnt/Packages/apr-util-devel-1.5.2-6.el7.x86_64.rpm
[root@localhost ~]# rpm -ivh /mnt/Packages/apr-util-1.5.2-6.el7.x86_64.rpm
[root@localhost ~]# rpm -ivh /mnt/Packages/pcre-devel-8.32-17.el7.x86_64.rpm
[root@localhost ~]# rpm -ivh /mnt/Packages/pcre-8.32-17.el7.x86_64.rpm
2、源码编译及安装
源码编译安装httpd 服务的过程主要包含解包、配置.编译及安装。
#进入ftp获取httpd压缩包
[root@localhost ~]# wget --ftp-user=135 --ftp-password=123.123 ftp://172.16.37.13/软件下载/y2/y2c/httpd-2.4.25.tar.gz
1)解包
将下载获得的httpd源码包解压并释放到/usr /src目录下,且切换到展开后的源码目录中。
[root@localhost ~]# tar zxf httpd-2.4.25.tar.gz -C /usr/src
2)配置
根据服务器的实际应用需要,可以灵活设置不同的定制选项.如指定安装路径.启用字符集支持等。
[root@localhost httpd-2.4.25]# ./configure --prefix=/usr/local/httpd --enable-so --enable-rewrit --enable-charset-lite --enable-cgi
3)编译及安装
完成配置以后.执行"mnake"命令进行编译.将源代码转换为可执行的程序;然后执行"make install"命令完成最后的安装过程;将编译完的httpd程序及相关目录、文件复制到预设的安装目录(由配置时的"一―prefix"选项指定)。其中"make"的过程可能会需要较长的时间。
[root@localhost httpd-2.4.25]# make
[root@localhost httpd-2.4.25]# make install
3、确认安装结果
由于指定的安装目录为/usr /local/httpd,因此 httpd服务的各种程序.模块.帮助文件等都将复制到此目录下。
[root@localhost httpd-2.4.25]# cd /usr/local/httpd/
[root@localhost httpd]# ls
bin build cgi-bin conf error htdocs icons include logs man manual modules
4、优化执行路径
通过源码编译安装的 httpd 服务.程序路径并不在默认的搜索路径中,为了使该服务在使用时更加方便,可以为相关程序添加符号链接
#为bin目录创建软链接
[root@localhost httpd-2.4.25]# ln -s /usr/local/httpd/bin/* /usr/local/bin
[root@localhost httpd-2.4.25]# ls -l /usr/local/bin/httpd /usr/local/apachectl
ls: 无法访问/usr/local/apachectl: 没有那个文件或目录
lrwxrwxrwx. 1 root root 26 12月 9 00:57 /usr/local/bin/httpd -> /usr/local/httpd/bin/httpd
[root@localhost httpd-2.4.25]#
5、添加httpd系统服务
CentOS 7系统下.将编译安装的程序添加为系统服务有两种方式:①通过chkconfig命令添加为系统服务,然后由systemctl进行管理,②在/lib/systemd/systern/目录下,手动编写以.service结尾的单元(unit)配置文件。
1)使用chkconfig添加系统服务
若希望将httpd添加为系统服务,以便通过chkconfig进行管理.需要建立可控的服务脚本。例如,可将apachectl脚本复制为/etc/init ,d/httpd,并在文件开头添加chkconfig识别配置,然后将其添加为标准的Linux系统服务。
#将apachectl脚本复制为etc/init.d/httpd
[root@localhost ~]# cp /usr/local/httpd/bin/apachectl /etc/init.d/httpd
#进入httpd配置文件
[root@localhost ~]# vim /etc/init.d/httpd
#chkconfig:35 85 31 //服务识别参数,在级别3、5启动:启动和关闭的顺序分别为85/21
#description:Startup script for the Apache HTTP Server //服务描述信息
[root@localhost ~]# chkconfig --add httpd //将http添加为系统服务
2)建立[service].service 配置文件
在/lib/systemd/system/目录下,建立一个以.service结尾的单元(unit)配置文件.用于控制由systemd控制或监控的httpd服务。配置文件主要分为三个部分.控制单元[Lhit]的定义、服务[Service]的定义以及安装部分[Install],具体内容如下
[Unit]
Description=The Apache HTTP Server
After=network.target
[Service]
Type=forking
PIDFile=/usr/local/httpd/logs/httpd.pid
ExecStart=/usr/local/bin/apachectl $OPTIONS
ExecReload=/bin/kill -HUP $MAINPID
KillMode=process
Restart=on-failure
RestartSec=42s
[Intall]
WantedBy=graphical.target`
httpd.service文件编写完成后,执行如下命令设置httpd服务开机启动
[root@localhost ~]# systemctl start httpd.service
[root@localhost ~]# systemctl is-enabled httpd.service //查看httpd服务的自启动状态
6、配置并启动http服务
1)配置http服务
编辑httpd 服务的主配置文件httpd , conf,查找配置项"ServerName",在附近添加一行内容"ServiceName www, bdqn. com",用于设置网站名称。
[root@localhost ~]# vim /usr/local/httpd/conf/httpd.conf
//更改第200行内容
#ServerName www.bdqn.com:80
修改httpd . conf 文件的配置内容以后,建议使用带"一t"选项的apachectl命令对配置内容进行语法检查〈或使用"httpd -t"命令)。如果没有语法错误.将会显示"Syntax OK"的信息,否则需要根据错误提示信息来修正配置。
[root@localhost ~]# apachectl -t
Syntax OK
2)启动httpd服务
使用脚本文件/usr/local/httpd/bin/apachectl,分别通过"start""stop""restart"选项进行控制,可用来启动.终止.重启httpd服务。或者使用systemctl命令控制/lib/systernd/system/ttpd , service配置文件.从而实现对httpd 服务进行控制。正常启动httpd 服务以后,默认将监听TCP协议的8O端口。
[root@localhost ~]# netstat -anpt | grep httpd
tcp6 0 0 :::80 :::* LISTEN 27321/httpd
[root@localhost ~]#
3)部署网页文档
对于新编译安装的httpd 服务,网站根目录位于/usr /local /httpd/htdocs 下,需要将Web站点的网页文档复制或上传到此目录下。httpd服务器默认已提供了一个名为index, html的测试网页作为访问网站时的默认首页。