1. 程式人生 > >linux操作之軟件安裝(二)(源碼安裝)

linux操作之軟件安裝(二)(源碼安裝)

acc 一定的 gcc 進行 操作 .net 安裝步驟 iptables meta

源碼安裝

  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操作之軟件安裝(二)(源碼安裝)