linux操作之软件安装(二)(源码安装)
源码安装
linux上的软件大部分都是c语言开发的 , 那么安装需要gcc编译程序才可以进行源码安装.
yum install -y gcc #先安装gcc
安装源码需要三个步骤
1) ./configure
在这一步可以定制功能 , 加上相应的选项即可 , 具有什么选项可以通过 ./configure --help 命令来查看 . 在这一步会自
动检测你的linux系统与相关的套件是否有编译该源码包时需要的库 , 因为一但缺少某个库就不能完成编译 . 只有检测通过
后才会生成一个Makefile文件.
2) make
安装步骤 , 生成相关的软件存放目录和配置文件的过程.
3) make install
安装步骤 , 生成相关的软件存放目录和配置文件的过程.
上面介绍的3步并不是所有的源码包软件都是一样的 , 之前也遇到过 , 安
装步骤并不是这样, 也就是说源码包的安装并非具有一定的标准安装步骤 . 这就需要你拿到源码包解压后 , 然后进入到目录找相关的帮助文档 , 通常会以INSTALL 或者 README 文件名.所以 , 你一定要去看一下 . 下面会编译安装一个源码包来帮你更深刻的去理解如何安装源码包.
实际操作步骤
cd ~
wget -c http://mirrors.tuna.tsinghua.edu.cn/apache/httpd/httpd-2.4.25.tar.gz
#下载源码包
curl -o
http://mirrors.tuna.tsinghua.edu.cn/apache/httpd/httpd-2.4.25.tar.gz
#下载源码包
tar -zxvf httpd-2.4.25.tar.gz #解压源码包
cd httpd-2.4.25
./configure --help | less #查看配置帮助
./configure --prefix=/usr/local/apache2 #指定安装目录 , 通常/usr/lcoal/是常用的安装目录 , 新版本的Apache这一步不通过 , 注意后面的解释
echo $? 验证上一步是否成功 ,并不是必须要做的.
ls -l Makefile $查看生成的Makefile 文件
make #编译
yum install -y make #如果你的linux 系统上面没有make 这个插件就进行安装.
echo $?
ls /usr/local/apache2/ #查看安装后的文件;
cat config.log #如果出错了 , 先看命令行提示的报错信息 , 然后再看这个文件;
关于apr not found 的问题解决 , Apache Portable Runtime
##下载并安装apr这个软件 , httpd需要依赖他来运行.
wget -c http://archive.apache.org/dist/apr/apr-1.5.2.tar.gz
tar -zxvf apr-1.5.2.tar.gz
cd apr-1.5.2
./configure
make && make install
##下载并安装apr-util这个软件;
wget -c http://archive.apache.org/dist/apr/apr-util-1.5.2.tar.gz
tar -zxvf apr-util-1.5.2.tar.gz
cd apr-util-1.5.2
./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr
make && make install
##下载并安装pcre
wget -c https://sourceforge.net/projects/pcre/files/pcre/8.39/pcre-8.39.zip
unzip pcre-8.39.zip
cd pcre-8.39
./configure --prefix=/usr/local/pcre
make && make install
再去编译httpd
cd apache2
./configure --prefix=/usr/local/apache2 --with-apr=/usr/lcoal/apr/ --with-apr-util=/usr/local/apr-util/ --with-pcre=/usr/local/pcre
apache 的使用
cp /usr/local/httpd/bin/apachectl /sbin/
apachectl start #启动Apache
##设置Apache开机自启动
vi /etc/rc.d/rc.local
#增加一行 /sbin/apachectl start
#或者将httpd服务添加到ntsysv服务管理工具
apachectl stop #关闭Apache以免不必要的麻烦
cp /usr/local/httpd/bin/apachectl /etc/rc.d/init.d/httpd
vi /etc/rc.d/init.d/httpd
修改为
#!/bin/sh
#
#chkconfig: 345 85 15 //#不能省略,注意空格
#description: httpd for 52lamp 20101016 21:54 //任意字符串
#
......
第二行中345的含义:
# 0 - operation completed successfully
# 1 -
# 2 - usage error
# 3 - httpd could not be started
# 4 - httpd could not be stopped
# 5 - httpd could not be started during a restart
修改有关权限
#cd /etc/rc.d/init.d/
#chmod a+x httpd
#chkconfig --add httpd
#ntsysv
httpd已经在列表中,按F1可以看到刚才编写的服务描述httpd for 52lamp 20101016 21:54。
#apachectl start
#ps -e |grep httpd
23247 ? 00:00:00 httpd
23248 ? 00:00:00 httpd
23249 ? 00:00:00 httpd
23251 ? 00:00:00 httpd
23252 ? 00:00:00 httpd
在浏览器中输入127.0.0.1,看起来一切正常;但是局域网内其他电脑不能访问!
#service iptables stop
如果不想关闭防火墙,放开80端口即可。
#vi /etc/sysconfig/iptables
增加一行-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
#service iptables restart //重启防火墙
现在一切OK
cp /usr/local/apache2/bin/apachectl /sbin/
apachectl start $启动apachectl
##设置apache开机启动
vi /etc/rc.d/rc.local
#增加一行 /sbin/apachectl start
#或者将httpd服务添加到ntsysv服务器管理工具
apachectl stop #关闭Apache以免不必要的麻烦
cp /usr/local/httpd/bin/apachectl /etc/rc.d/init.d/httpd
vi /etc/rc.d/init.d/httpd
修改为
#!/bin/sh
#
#chkconfig: 345 85 15 //#不能省略,注意空格
#description: httpd for 52lamp 20101016 21:54 //任意字符串
#
......
第二行中345的含义:
# 0 - operation completed successfully
# 1 -
# 2 - usage error
# 3 - httpd could not be started
# 4 - httpd could not be stopped
# 5 - httpd could not be started during a restart
修改有关权限
#cd /etc/rc.d/init.d/
#chmod a+x httpd
#chkconfig --add httpd
#ntsysv
httpd已经在列表中,按F1可以看到刚才编写的服务描述httpd for 52lamp 20101016 21:54。
#apachectl start
#ps -e |grep httpd
23247 ? 00:00:00 httpd
23248 ? 00:00:00 httpd
23249 ? 00:00:00 httpd
23251 ? 00:00:00 httpd
23252 ? 00:00:00 httpd
在浏览器中输入127.0.0.1,看起来一切正常;但是局域网内其他电脑不能访问!
#service iptables stop
如果不想关闭防火墙,放开80端口即可。
#vi /etc/sysconfig/iptables
增加一行-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
#service iptables restart //重启防火墙
现在一切OK
linux操作之软件安装(二)(源码安装)的更多相关文章
- Linux软件安装管理---源码安装
在Linux平台下,软件包的类型可以划分为两类:源码包.二进制包. 源码包: 即程序软件的源代码(一般也叫Tarball,即将软件的源码以tar打包后再压缩的资源包). 二进制包: 如 Red Hat ...
- linux下的wireshark最新版安装(源码安装)以及一些常见问题
源码安装教程 http://www.cnblogs.com/littleTing/p/3765589.html 1.下载wireshark: 网址:http://www.wireshark.org/d ...
- Linux应用和系统库的2种安装方式---源码安装tarball和二进制rpm包
一.应用程序和系统库从哪里来? 两种机制,源码安装和二进制安装. 二.源码安装 tarball 1.核心思想是:利用开源代码,自己编译生成应用程序或者库,要求系统上必须已安装TMG(tar, make ...
- Linux下rabitMq的部署(源码安装)
简版yum安装:https://www.jianshu.com/p/46c22834aad5 一.环境安装 1,安装预环境 通过yum安装以下组件,运行命令: [root@rabbitmqserver ...
- Linux 中mysql安装(源码安装方式)
本文是介绍以源码安装的方式编译和安装Mysql 5.6(可以指定安装路径),也可以不采用源码安装方式,直接用安装包的方式. 源码安装方式慎用,容易报错. 1.卸载旧版本 rpm -qa | grep ...
- Zabbix的安装(源码安装)
zabbix3.0完全安装 安装zabbix首先需要安装ltmp(lnmp),这里的t是指tengine(taobao的nginx版本),安装教程见 http://www.ltmp.cc 安装的时候P ...
- LAMP动静分离安装(源码安装)
环境: 版本 IP地址 源码包版本 Centos7.5_mysql 192.168.111.3 mysql-5.7.24.tar.gz,cmake-3.13.1.tar.gz,boost_1_59_0 ...
- Nginx安装之源码安装
nginx部署 1. 安装依赖 yum install gcc gccc++ pcre pcre-devel zlib zlib-devel openssl openssl-devel-y 2. 下载 ...
- 如何在 Linux 上安装 Nginx (源码安装)
如何在 Linux( CentOS ) 上安装 Nginx 1.下载 nginx 链接 : https://pan.baidu.com/s/1sll0Hrf 密码 : xnem 2.安装 gcc ( ...
随机推荐
- java断言 assert
关于assert的用法网上教程很多,这里就不说了,只演示一下运行时开启断言的方法. public class A{ public static void main(String[] args){ Cl ...
- 【NLP汉语自然语言处理与实践】分词_笔记
一.两种分词标准: 1. 粗粒度. 将词作为最小基本单位.比如:浙江大学. 主要用于自然语言处理的各种应用. 2. 细粒度. 不仅对词汇继续切分,也对词汇内部的语素进行切分.比如:浙江/大学. 主要用 ...
- sql server——子查询
简述: 在查询语句中包含着有另外一条查询语句,被包含的查询语句称为子查询,包含着子查询的查询就称为父查询. 总之,子查询就是在查询语句里嵌套一条或者多条查询语句. 常用子查询分类: 一.独立子查询 特 ...
- MVC的验证(模型注解和非侵入式脚本的结合使用)
@HtmlHrlper方式创建的标签,会自动生成一些属性,其中一些属性就是关于验证 如图示例: 模型注解 通过模型注解后,MVC的验证,包括前台客户端,后台服务器的验证,MVC统统都做了包含,即使用户 ...
- .net通过代码发送邮件
关键代码: 需要引用命名空间: using System.Net.Mail;using System.Net; MailMessage mailObj = new MailMessage(); mai ...
- 【Leetcode】【Easy】Count and Say
The count-and-say sequence is the sequence of integers beginning as follows:1, 11, 21, 1211, 111221, ...
- linux系统参数
vm.swappiness = 清理掉cache给新的程序用当然可以, 但也带来了新的问题, 也就是如果这些(原来cache里的)数据还要使用, 又得重新cache. 产生了新的IO, 新的wait. ...
- 一个几百行代码实现的http服务器tinyhttpd
/* J. David's webserver */ /* This is a simple webserver. * Created November 1999 by J. David Blacks ...
- 51nod 1837 砝码称重【数学,规律】
题目链接:51nod 1837 砝码称重 小 Q 有 n 个砝码,它们的质量分别为 1 克. 2 克.……. n 克. 他给 i 克的砝码标上了编号 i (i = 1, 2, ..., n),但是编号 ...
- CF Gym101933K King's Colors
题目分析 题目要求在树上涂上恰好\(K\)种颜色的方案数. 设\(f(k)\)表示恰好涂上\(k\)种颜色的方案数(答案即为\(f(K)\)). 设\(g(k)\)表示至多涂上\(k\)种颜色的方案数 ...