如何编译源码安装

#include <stdio.h>
main()
{printf(“Hello World!\n”);
}
gcc -o hello hello.c
在编写hello.c的时候出现问题一直找不到,后来发现是因为我安装的gcc有问题
我在安装的时候是用rpm -ivh gcc –nodeps忽略依赖关系直接安装的,但是后来发现这样安装后不能用虽然装上了,最后用rpm -e gcc 卸载,再用yum install gcc安装,这样再编译就没有问题了

下面给出错误

如何编译源码安装

如何编译源码安装

如何编译源码安装

–sysconfdir:指定配置文件安装路径
–prefix:指定默认安装路径
注意: /pp/apache24和/etc/apache24不需要手工去mkdir
yum install -y apr-devel 其中,-y是不询问

如何编译源码安装

一般第一次编译都会这样,有很多东西都要装
第二步:接下来是安装包组 “Development Tools”

如何编译源码安装

也可以查看安装文件 vim INSTALL

如何编译源码安装如何编译源码安装

第三步:make 任何人都可以做
第四步:make install 只有root才能做
之后开启httpd服务(service httpd start)Centos7里面使用(start httpd.service),前提是已经安装过httpd服务,用yum ,yum可以自己找路径,解决了包依赖问题,
service httpd status 查看httpd状态,有没有开启
netstat -ntl 查看端口状态
非常关键的一步
启动服务
/app/apache24/bin/apachectl start 注意:这条命令一定要敲两遍服务才会启动,之前因为之敲了一遍所以访问http://172.17.253.136时加载出来的是testing123文件的界面,之所以会加载到这个界面是因为系统安装时默认安装一个httpd服务名字是httpd-2.4.6-45.el7.centos.x86_64.rpm,因为这个服务没打开,所以我查的时候没有找到系统中有任何httpd服务存在,所以就用yum手动安装了了一个httpd-2.4.6-45.el7.centos.x86_64.rpm以至于后面访问http://172.17.253.136时一直显示默认安装的httpd服务里面的index.html文件,之前已经下载了源码包httpd-2.4.27.tar.bz2,并用makeinstall自动安装上了httpd服务,正确做法应该是安装之后开启这个服务/app/apache24/bin/apachectl start 并且敲两遍,并且用yum remove httpd-2.4.6-45.el7.centos.x86_64.rpm把这个手动安装的httpd卸载掉以防自动加载页面显示,总之一句话就是使用源码安装时服务没有开启成功导致我又用yum手动安装了一个httpd服务
还可以把PATH 路径改一下,让系统优先找/pp/apache24/bin/apachectl
在centos6里面方法为:export PATH=/pp/apache22/bin/:$PATH 或者写到/etc/profile.d/*.sh文件里,这样切换到任何用户都生效
说明一下:我的虚拟机app名为pp

如何编译源码安装

拓展

如果不想敲两遍可以按照下面的方法做
进入/etc/apache24下编辑htpd.conf文件做如下操作

如何编译源码安装

根据系统提示做如下更改

如何编译源码安装

设置成功

如何编译源码安装

关闭防火墙
CentOS7
systemctl is-active firewalld.service 查看当前是否开启
systemctl stop firewalld.service 关闭防火墙
systemctl is-enabled firewalld.service 查看系统启动时是否开启
systemctl disable firewalld.service 关闭系统启动时开启
CentOS6
service iptables stop

原创文章,作者:sqjl,如若转载,请注明出处:http://www.178linux.com/85046

(0)
上一篇 2017-08-19 19:33
下一篇 2017-08-19 19:54

相关推荐

  • linux 文件权限以及用户策略 讲解

     linux 文件权限以及用户策略 讲解    由于linux系统是一个多用户使用的系统,对于各个用户指定的文件或目录必须存在一套管理系统,以防止多用户对相同文件的混淆使用。于是催生出了linux系统文件的用户权限设置。其存在的意义就是每一个文件或目录对于不同的用户区分读取,写入,执行三种权限,即:r,w,x。下面将详…

    Linux干货 2016-08-05
  • 学习宣言

            学习计划:每天至少2个小时的学习,循序渐进,先通读再精读。         学习目标:成为运维的高手,走上人生巅峰。      &nb…

    Linux干货 2016-10-25
  • socket编程原理

    1、问题的引入 1) 普通的I/O操作过程: UNIX系统的I/O命令集,是从Maltics和早期系统中的命令演变出来的,其模式为打开一读/写一关闭(open-write-read-close)。在一个用户进程进行I/O操作时,它首先调用“打开”获得对指定文件或设备的使用权,并返回称为文件描述符的整型数,以描述用户在打开的文件或设备上进行I/O操作的进程。然…

    Linux干货 2015-04-10
  • 重定向及tr命令详解及其在管道中的使用简述

    一、标准输入和输出及其重定向         1.标准输入指的是来自键盘的输入,通常用0来表示;标注输出是默认输出到当前终端窗口,用1来表示;标准错误输出同样默认输出到当前终端窗口,用2来表示。除标准输出之外,我们还可以通过重定向来更改默认的输入和输出方式。   &nb…

    Linux干货 2016-08-11
  • Linux系统shell脚本

                                          &n…

    系统运维 2016-09-01
  • 优云运维安全专家实践:使用802.1X+FreeRadius+LDAP实现网络准入方案

    本文,将为大家分享运维前沿在网络准入管理方面的实践经验。 网络准入业界常用方案 为了保证网络资源的安全,拒绝非法入侵,现代IT网络总需要一定的网络准入方案,而目前业界常用的网络准入方案有: 而今天给大家介绍的802.1X+FreeRadius+LDAP网络准入方案,则避免了上述方案中的缺点,是一套低成本,控制能力强,符合行业标准的一套网络准入认证体系。 什么…

    安全运维 2016-07-10