源码包
指的是开发编写好的程序源代码,源码包一般包含多个文件,在官网下载的源码包一般都是压缩包的形式,格式为'tar,gz'。
软件的源码,也就是软件的原始数据,任何人都可以用过源代码查看软件的设计架构和实现方法,但软件源码无法在计算机中直接运行安装,需要将软件源码编译成计算机可以识别的机器语言,然后进行安装。大部分的软件源码都是通过c语言,少部分是通过c++或其他语言编写,所以,要安装源码包需要安装gcc编译器,如果涉及c++,那就需要安装gcc-c++编译器。
一般系统都自动安装gcc,可以使用 rpm -q gcc 命令查看是否安装gcc
[root@localhost ~]# rpm -q gcc
gcc-4.8.5-36.el7.x86_64
如果没安装,可以使用yun 安装gcc
yum -y install gcc
除了安装编译器,还需要使用make编译命令,使用make命令编译可以对源码包自动编译。先使用rpm -q make 查看是否安装make,如果没安装,使用yun 直接安装make编译器。
[root@localhost ~]# rpm -q make
make-3.82-24.el7.x86_64
yum安装make:
[root@localhost ~]# yum -y install make
源码包安装步骤
make与makeinsatll 可以一起使用
make && make install
源码安装apache
首先下载源码包,然后拖动到moba里,系统默认复制到/root下。
然后将源码包移动到一个目录下,进行解压,我选择移动到/usr/local/src 目录下进行解压。先进入到这个目录下面,然后进行移动。
[root@localhost src]# mv /root/httpd-2.4.54.tar.bz2 .
[root@localhost src]# mv /root/apr-1.5.2.tar.gz .
[root@localhost src]# mv /root/apr-util-1.3.12.tar.gz .
然后对源码包进行解压 ,就会自动生成对应文件目录
tar -jxvf httpd-2.4.54.tar.bz2
tar -zxvf apr-1.5.2.tar.gz
tar -zxvf apr-util-1.3.12.tar.gz
先进到apr-1.5.2目录中,然后进行./comfigure 设置安装目录和名字,我设置的位置是/usr/local/
名称和文件名字同名
[root@localhost apr-1.5.2]# ./configure --prefix=/usr/local/apr-1.5.2
然后进行make 编译和make install 安装
[root@localhost apr-1.5.2]# make && make install
完成之后会有如下显示
然后切换到apr-until-1.3.12 目录下和之前的操作一样, 用./comfigure进行设置,路径是/usr/local/ 命名为apr-until ,不过这个需要配置依赖apr-1.5.2。
[root@localhost apr-util-1.3.12]# ./configure --prefix=/usr/local/apr-until --with-apr=/usr/local/apr-1.5.2/
完成后进行make 编译和make install 安装
make && make install
完成后可以进行安装apachell了,进入到最后一个目录下,也就是 /httpd-2.4.54目录,进行./configure设置 这个需要依赖前两个包。
[root@localhost httpd-2.4.54]# ./configure --prefix=/usr/local/apache --with
apr=/usr/local/apr-1.5.2/ --with-apr-util=/usr/local/apr-until/
执行之后如果会报如下错误,那就需要安装pcre
使用yum安装pcre,再次执行上一个命令
yum -y install pcre-devel
最后进行make 编译和make install 安装,这个过程时间有点久,需要等待一两分钟。
这样就安装完成了。
完成之后需要关闭防火墙
systemctl stop firewalld.service #临时关闭防火墙,重启会无效
systemctl disable firewalld.service #永久关闭防火墙
之后启动hpptd服务
/usr/local/apache/bin/apachectl start
打开网页输入自己的IP地址
关闭防火墙如果访问不了,那就需要关闭以下两个安全系统
1.使用getenforce查看SElinux开启情况,如果是enforcing,那就需要关闭它
[root@localhost httpd-2.4.54]# getenforce
Enforcing
[root@localhost httpd-2.4.54]# setenforce 0
[root@localhost httpd-2.4.54]# getenforce
Permissive
2.iptables 使用iptables -nvL查看是否有规则限制,如果有使用iptables -F清楚掉。这是没有的结果。
可以使用curl + ip 查看,如果能显示出源码,则就可以访问。