欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Linux源码安装

程序员文章站 2024-03-20 14:55:22
...

源码安装

通过源码包进行源码安装,源码包能直接看到源码,安装时需要人为手工设置安装位置,一般是/usr/local/软件名/。

  • 优点:
    1、开源的,可以自行修改代码
    2、安装的时候可以自定义功能,按需选择功能
    3、编译安装,更加适合系统,
    4、卸载方便,直接删除安装目录
  • 缺点:
    1、步骤多,难度大
    2、编译时间长
    3、错误新手比较难解决

我们已经了解到的什么是源码安装,以及它的优缺点,那么接下来我们开始尝试以源码安装的方式安装httpd。

一.首先我们需要了解并作出以下准备:

1.安装相应编译工具:通过yum安装工具  wget gcc  gcc-c++  gcc-g77  expat-devel
2.分析安装平台
3.下载源码包:
     官方站点:http://mirror.bit.edu.cn/apache/apr/
4.保存位置:usr/local/src

二.编译安装程序源码包步骤

      1、./configure  软件配置和系统检查
	  	 a.指定安装路径 --prefix=/usr/local/apache
	  	 b.启用禁用功能  --enable-ssl
	  	 c.与其他软件关联 --with-apr
	  	 4.检查
	  	 定义好的功能和检测的安装环境信息写入到 makefile文件中,
	  2、 make
	  3、 make install
	  注意:如果make出错 需要执行 make clean    并且最好重新 ./configure
	  4、PREFIX/bin/*ctl   start  
	  5、cp  PREFIX/bin/*ctl  /etc/rc.d/init.d/httpd 
	  		service  httpd  start

三.做好以上的了解和准备我们便可以开始进行源码安装了。

使用官方站点的链接安装如下

  [aaa@qq.com ~]# cd /usr/local/src
  [aaa@qq.com src]# weg http://mirror.bit.edu.cn/apache/httpd/httpd- 2.4.41.tar.gz

但由于我无法打开外网网址,所以我选择将所需的源码包下载到电脑后拖入ssh工具中。Linux源码安装
但通常情况下我们还是在Linux系统中通过wget命令将源码包下载到Linux系统。

接下来就是将下载好的源码包进行解压。

 根据源码包的后缀,来选择合适的解压方法。我们将会用到以下两种。
 *.tar.gz tar -xzvf 解压
*.tar.bz2 tar -xjvf 解压

由于我提前准备 好了所有的源码包就将他们全都一次解压了。结果如下:Linux源码安装
下面我们开始软件配置系统检查,并指定安装路径

  [aaa@qq.com src]# cd httpd-2.4.41
  [aaa@qq.com httpd-2.4.41]# ./configure --prefix=/usr/local/apache
checking for chosen layout... Apache
checking for working mkdir -p... yes
checking for grep that handles long lines and -e... /bin/grep
checking for egrep... /bin/grep -E
checking build system type... x86_64-pc-linux-gnu
checking host system type... x86_64-pc-linux-gnu
checking target system type... x86_64-pc-linux-gnu
configure:
configure: Configuring Apache Portable Runtime library...
configure:
checking for APR... no
configure: error: APR not found.  Please read the documentation.
APR安装:

我们可以看到error报错提示我们缺少关联软件APR
于是我们需要安装APR软件,原本也应到官方站点进行下载,但我已经下载好了,切都解压好并存在了/usr/local/scr目录下,所以我们只需进行以下操作:

[aaa@qq.com httpd-2.4.41]# cd ..
[aaa@qq.com src]# cd apr-1.6.5
[aaa@qq.com apr-1.6.5]# ./configure -- prefix=/usr/local/apr
checking build system type... x86_64-pc-linux-gnu
checking host system type... x86_64-pc-linux-gnu
checking target system type... x86_64-pc-linux-gnu
......
config.status: executing libtool commands
rm: cannot remove `libtoolT': No such file or directory
config.status: executing default commands
config.status: include/apr.h is unchanged
config.status: include/arch/unix/apr_private.h is unchanged
[aaa@qq.com apr-1.6.5]# make && make install
......
[aaa@qq.com apr-1.6.5]# cd ..
[aaa@qq.com src]# cd httpd-2.4.41
[aaa@qq.com httpd-2.4.41]# ./configure --prefix=/usr/local/apache --with-apr=/usr/local/apr
checking for chosen layout... Apache
checking for working mkdir -p... yes
checking for grep that handles long lines and -e... /bin/grep
......
library...
configure:
checking for APR-util... no
configure: error: APR-util not found.  Please read the documentation.
APR-util的安装:

现在有给我们报错没有找到APR-util,所以我们需要进行APR-util的安装,和APR的安装如出一辙。

[aaa@qq.com httpd-2.4.41]# cd ..
[aaa@qq.com src]# cd apr-util-1.6.1
[aaa@qq.com apr-util-1.6.1]# ./configure --prefix=/usr/local/apr-util
checking build system type... x86_64-pc-linux-gnu
checking host system type... x86_64-pc-linux-gnu
checking target system type... x86_64-pc-linux-gnu
checking for a BSD-compatible install... /usr/bin/install -c
......
configure: error: APR could not be located. Please use the --with-apr option.

诶,看来也不是完全如出一辙,给我们报错提示需要with关联到APR。那我们就关联一下吧。

[aaa@qq.com apr-util-1.6.1]# ./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr
checking build system type... x86_64-pc-linux-gnu
checking host system type... x86_64-pc-linux-gnu
......
config.status: include/private/apu_config.h is unchanged
config.status: executing default commands
[aaa@qq.com apr-util-1.6.1]# make && make install
......
[aaa@qq.com apr-util-1.6.1]# cd ..
[aaa@qq.com src]# cd httpd-2.4.41
[aaa@qq.com httpd-2.4.41]# ./configure --prefix=/usr/local/apache --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util
......
checking for pcre-config... false
configure: error: pcre-config for libpcre not found. PCRE is required and available from http://pcre.org/
pcre的安装:

由于我们提前做好了准备,过程还是很顺利的,现在又出现了报错提示需要我们安装pcre,通过前两次的安装,对于流程应该没什么问题了。

[aaa@qq.com httpd-2.4.41]# cd ..
[aaa@qq.com src]# cd pcre-8.42
[aaa@qq.com pcre-8.42]# ./configure --prefix=/usr/local/pcre
......
[aaa@qq.com pcre-8.42]# make && make install
......
[aaa@qq.com pcre-8.42]# cd ..
[aaa@qq.com src]# cd httpd-2.4.41
[aaa@qq.com httpd-2.4.41]# ./configure --prefix=/usr/local/apache --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util --with-pcre=/usr/local/pcre
......
[aaa@qq.com httpd-2.4.41]# make && make install
......

当执行完后,会自动给我们创建一些目录文件Linux源码安装
于是我们切换到/usr/local/apache进行查看
在bin目录中存放着开启命令apachectl
于是我们执行 ./apachectl start启动服务。

[aaa@qq.com httpd-2.4.41]# cd /usr/local/apache
[aaa@qq.com apache]# ls
bin  build  cgi-bin  conf  error  htdocs  icons  include  logs  man  manual  modules
[aaa@qq.com apache]# cd bin
[aaa@qq.com bin]# ls
ab         apxs      dbmmanage  envvars-std  htcacheclean  htdigest  httpd      logresolve
apachectl  checkgid  envvars    fcgistarter  htdbm         htpasswd  httxt2dbm  rotatelogs
[aaa@qq.com bin]# ./apachectl start

可惜临门一脚出现报错
Linux源码安装
apache的端口被占用了,这是怎么回事呢?
原来在之前的尝试中我们启动过apache,并且没有关闭,所以现在才无法再次启动apache。
由于我们之前是系统启动的apache,所以需要通过service命令来关闭之前的启动。

  [aaa@qq.com bin]# cd /etc/httpd/conf
  [aaa@qq.com conf]# service httpd stop
  Stopping httpd:                                            [  OK  ]

OK,这样我们在回到/usr/local/apache目录中完成后续操作。
Linux源码安装
很好,这样我们就可以在网页中打开ip地址进行查看了。
如果还是无法查看只需要iptables -F一下修改防火墙的状态就可以了。
Linux源码安装

总结:

以上就是我第一次进行源码安装的全过程。虽然在过程中总会遇到各种各样的错误,但办法总比困难多,不断的尝试,不断的错误,越挫越勇,必定能取得最后的成功。虽然说不上有多困难,但确实是只有不断的试错才能更好了理解学习。

相关标签: 学习小结