如何编译源码安装

#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)
sqjlsqjl
上一篇 2017-08-19 19:33
下一篇 2017-08-19 19:54

相关推荐

  • sed大法好

    sed sed概念 (1)基本概念:sed是流编辑器(stream editor),A stream editor is used to perform basic text transformations on an input stream (a file or input from a pipeline).作用就是对输入的流(文件或者从一个管道输入的流…

    Linux干货 2016-12-02
  • 计算机运维基础知识 Linux版

    计算机系统由硬件系统和软件系统组成 第一代计算机   电子管时代 第二代计算机   晶体管时代 第三代计算机   集成电路时代 第四代计算机   大规模集成电路时代 1964年,世界第一代计算机ENICA。用来计算弹道轨迹。 冯诺依曼  计算机之父 运算器,控制器,存储器,输入设备,输出设备。 巨型计算机,大…

    Linux干货 2016-08-04
  • mysql备份之mysqldump

    mysql备份之mysqldump 注意:备份文件和二进制日志文件不能与mysql放在同一磁盘下 节点1 1、节点1上修改mysql配置文件,开起二进制日志保存 这里我将二进制日志放在/data/mysql/目录下,/data/是我创建的另外一个lvm磁盘,本来想直接放在/data/下,发现无法启动mysql,所以建议还是放在/data/mysql中 [ro…

    Linux干货 2016-07-19
  • Linux系统启动过程中grub故障与修复(一)

    GRUB 是引导装入器 — 它负责装入内核并引导 Linux 系统。GRUB 可以引导多种操作系统,如Linux、 DOS、 Windows 。 GRUB共分为三个阶段:stage1主要负责BIOS和GRUB之间的交接,载入存放于各个分区中的开机文件;stage1.5是连接stage1和stage2之间的通道,起着过渡的作用,负责识别stage2所在/bo…

    2017-09-03
  • 到处都是Unix的胎记

    一说起Unix编程,不必多说,最著名的系统调用就是fork,pipe,exec,kill或是socket了(fork(2),execve(2), pipe(2), socketpair(2), select(2), kill(2), sigaction(2))这些系统调用都像是Unix编程的胎记或签名一样,表…

    Linux干货 2015-04-03
  • Linux的哲学思想

    Linux的哲学思想 linux有个哲学的思想是一切皆文件 其中linux硬件设备也是通过文件来表示的 物理终端 物理终端指的是显示器等硬件终端设备,文件存在于 /dev/console 这个路径下 虚拟终端 虚拟终端指的是在linux命令行连接的终端,文件存在于 /dev/tty# [1,6] 这个路径下 串行终端 指的是使用计算机串行端口连接的终端设备,…

    Linux干货 2018-02-23