准备工作
关闭防火墙和selinux
[root@localhost ~]# systemctl stop firewalld.service #临时关闭防火墙
[root@localhost ~]# setenforce 0 #临时关闭selinux
设置IP地址
[root@localhost ~]# vim /etc/sysconfig/network-scripts/ifcfg-ens33 #编辑网卡配置文件
配置文件里面更改:
BOOTPROTO=dhcp 删除
UUID=c3f5521c-0da3-423b-b4e4-d1ce3c55fe3a 删除
ONBOOT=no改为 ONBOOT=yes
添加IPADDR=192.168.1.10
重启ens33网卡
[root@localhost ~]# ifdown ens33;ifup ens33 #重启网卡
先弹出光盘在插入光盘
[root@localhost ~]# eject #弹出光盘
[root@localhost ~]# mount /dev/cdrom /media/ #光盘挂载
[root@localhost ~]# cd /media/Packages/ #切换到光盘目录
安装关联软件
[root@localhost Packages]# rpm -ivh apr-1.4.8-3.el7.x86_64.rpm
[root@localhost Packages]# rpm -ivh apr-devel-1.4.8-3.el7.x86_64.rpm
[root@localhost Packages]# rpm -ivh cyrus-sasl-devel-2.1.26-20.el7_2.x86_64.rpm
[root@localhost Packages]# rpm -ivh expat-devel-2.1.0-8.el7.x86_64.rpm
[root@localhost Packages]# rpm -ivh libdb-devel-5.3.21-19.el7.x86_64.rpm
[root@localhost Packages]# rpm -ivh openldap-devel-2.4.40-13.el7.x86_64.rpm
[root@localhost Packages]# rpm -ivh apr-util-devel-1.5.2-6.el7.x86_64.rpm
[root@localhost Packages]# rpm -ivh apr-util-1.5.2-6.el7.x86_64.rpm
[root@localhost Packages]# rpm -ivh pcre-devel-8.32-15.el7_2.1.x86_64.rpm
[root@localhost Packages]# rpm -ivh pcre-8.32-15.el7_2.1.x86_64.rpm
弹出光盘
[root@localhost Packages]# cd #切到家目录
[root@localhost ~]# eject #弹出光盘
挂载Apache源码包
[root@localhost ~]# mount /dev/cdrom /media/ #挂载到/media下
切换到源码包目录下
[root@localhost ~]# cd /media/
释放源码包,并切换到源码包目录中
[root@localhost media]# tar zxf httpd-2.4.25.tar.gz -C /usr/src/ #释放源码包
[root@localhost media]# cd /usr/src/httpd-2.4.25/ #切换到源码包目录中
[root@localhost httpd-2.4.25]# ./configure --prefix=/usr/local/httpd
--enable-so --enable-rewrite --enable-charset-lite --enable-cgi
--prefix #指定将httpd服务安装到/usr/local/httpd目录下
--enable-so #启用动态加载模块支持,是httpd具有扩展能力
--enable-rewrite #启用网页地址重写功能,用于网站优化和目录迁移维护
--enable-charset-lite #启动字符集支持,以便于使用各种字符集编码的网页
--enable-cgi #启用CGI脚本程序支持,扩展网站的应用访问能力
编译及安装
[root@localhost httpd-2.4.25]# make && make install #编译和安装
确认安装结果
[root@localhost httpd-2.4.25]# ls /usr/local/httpd/ #确认http的文件目录
bin:存放httpd服务的各种执行程序文件
cgi-bin:存放各种CGI程序文件
logs:存放httpd服务的日志文件
conf:存放httpd服务的各种配置文件
htdocs:存放网页文档
modules:存放httpd服务的各种模块文件
优化执行路径
[root@localhost ~]# ln -s /usr/local/httpd/bin/* /usr/local/bin/ #添加符号链接
添加httpd系统服务
[root@localhost ~]# cp /usr/local/httpd//bin/apachectl /etc/init.d/httpd #添加为系统服务
#!/bin/sh #更改为 #!/bin/bash
# chkconfig:35 85 21 #添加服务识别参数,在父进程级别3、5;启动和关闭的顺序分别为85、21
#description:123123123 #添加服务描述信息
将httpd添加为系统服务
[root@localhost ~]# chkconfig --add httpd #添加为系统服务
建立配置文件
[root@localhost ~]# vim /lib/systemd/system/httpd.service #建立配置文件
[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
[Install]
WantedBy=graphical.target
设置httpd服务开机自启
[root@localhost ~]# systemctl enable httpd.service #设置开机自启