zoukankan      html  css  js  c++  java
  • 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

          

        

        

  • 相关阅读:
    DeepEarth更新到Silverlight 4了
    Silverlight & Blend动画设计系列八:拖放(DragDrop)操作与拖放行为(DragBehavior)
    VS2010之vb.net:细节决定成败
    iVIEW: An Intelligent Video over InternEt and Wireless Access System
    Tianya Doc
    治疗咳嗽
    一个 研究 可视化的个人博客
    Windows自启动方式完全总结
    JAVA连接DB2
    JSP 与 Discuz整合
  • 原文地址:https://www.cnblogs.com/whrTC/p/9979864.html
Copyright © 2011-2022 走看看