Linux安裝配置php

--------------------------------------首先安裝apche-----------------------------------------

  1. 服務器版本:


BT5 R2


  1. 安裝軟件:
    1. apr-1.3.5.tar.gz

      (APR(Apache portable Run-time libraries,Apache可移植運行庫)的目的如其名稱一樣,主要爲上層的應用程序提供一個可以跨越多操作系統平臺使用的底層支持接口庫。)

      下載地址:http://apr.apache.org/download.cgi


    2. apr-util-1.3.7.tar.gz

      下載地址:http://apr.apache.org/download.cgi


    3. httpd-2.2.11.tar.gz

      (apr和apache的版本要對應,如果Apache爲2.0.x,對應的APR版本應爲0.9.x;Apache爲2.2.x,對應的APR版本應爲1.2以上版本)

      下載地址:http://httpd.apache.org/download.cgi


    4. neon-0.28.2.tar.gz

      下載地址:http://www.webdav.org/neon/neon-0.28.2.tar.gz


    5. subversion-1.5.0.tar.gz

      下載地址:

      http://subversion.tigris.org/servlets/ProjectDocumentList?folderID=9755&expandFolder=9755&folderID=260


    6. subversion-deps-1.5.0.tar.gz

      (因爲手頭下載的有1.4.4版本的和1.5.0版本的,就用高版本的來測試了)

      下載地址:

      http://subversion.tigris.org/servlets/ProjectDocumentList?folderID=9755&expandFolder=9755&folderID=260

  1. 安裝


  1. 安裝apr-1.3.5.tar.gz 和apr-util-1.3.7.tar.gz
    1. 安裝apr-1.3.5.tar.gz

      # tar zxvf apr-1.3.5.tar.gz

      # cd apr-1.3.5

      # ./configure

      #make

      #make install


安裝如圖:

6597809737983446834.jpg


883831426971505473.jpg


1889541518758679418.jpg


6597560148843932453.jpg


  1. 安裝apr-util-1.3.7.tar.gz

    # tar zxvf apr-util-1.3.7.tar.gz

    # cd apr-util-1.3.7

    # . /configure --with-apr=/usr/local/apr

    # make

    # make install


安裝如圖:

3912502176378150245.jpg


1891230368618942466.jpg


1969480412144506124.jpg


1985243010840303448.jpg




  1. 安裝httpd-2.2.11.tar.gz

    # tar zxvf httpd-2.2.11.tar.gz

    # ./configure --prefix=/usr/local/apache2 --enable-dav --enable-modules=so --enable-maintainer-mode --enable-rewrite --with-apr=/usr/local/apr/bin/apr-1-config --with-apr-util=/usr/local/apr/bin/apu-1-config

    # make

    # make install


    啓動Apache服務:

    # /usr/local/apache2/bin/apachectl start


    用瀏覽器查看http://localhost/,得到It works!

    說明apache已經配置成功了。


    測試完成後關閉服務,因爲還要安裝SVN,否則會報錯

    # /usr/local/apache2/bin/apachectl stop


安裝如圖:


1943303239310414229.jpg


1963287962656872012.jpg


1948088313914494993.jpg


3169126762885321586.jpg


1986650385723855921.jpg


1966665662377399441.jpg



  1. 安裝neon-0.28.2.tar.gz

    此步至關重要!

    #tar zxvf neon-0.28.2.tar.gz

    #cd neon-0.28.2

    #./configure --prefix=/usr/local/neon


    此時需修改Makefile文件:

    配置neo-0.28.2/src/Makefile,將CFLAGS = -g -O2 改成 CFLAGS = -fPIC -g -O2


    #make

    #make install


    安裝此步neon至關重要,否則會提示如下錯誤:


    could not read symbols: Bad value
    collect2: ld returned 1 exit status
    make: *** [subversion/libsvn_ra_dav/libsvn_ra_dav-1.la] Error 1


安裝如圖:

1663517112460022379.jpg


6597593134192764995.jpg


6597568944936954409.jpg


1661828262599764819.jpg


3396558544067517709.jpg



1891230368618942499.jpg



  1. 安裝Subversion

    # tar zxvf subversion-1.5.0.tar.gz

    # tar zxvf subversion-deps-1.5.0.tar.gz

    # cd subversion-1.5.0

    # rm -rf apr

    # rm -rf apr-util


    # cd zlib

    #./configure --prefix=/usr/local/zlib

    #make

    #make install


    #cd ..

    #./configure --with-apxs=/usr/local/apache2/bin/apxs --prefix=/usr/local/subversion --with-apr=/usr/local/apr/bin/apr-1-config --with-apr-util=/usr/local/apr/bin/apu-1-config –with-neon=/usr/local/neon --with-ssl --with-zlib=/usr/local/zlib --enable-maintainer-mode

    #make

    #make install


    注:

    1. 由於subversion-deps包裏的APR是0.9.x的,因此編譯svn時要刪除從deps裏解壓出來的apr, apr-util,改而使用apache 2.2裏提供的;
    2. ./configure的時候必須加上–with-neon=/usr/local/neon,否則會提示錯誤(安裝neon的時候強調過);
    3. 查看Apache的配置文件:/usr/local/apache2/conf/httpd.conf

      看到下面兩個模塊說明安裝成功

      LoadModule dav_svn_module modules/mod_dav_svn.so

      LoadModule authz_svn_module modules/mod_authz_svn.so


安裝如圖:


6597543656169517733.jpg


6598293523099460347.jpg


4785637554134586965.jpg


3342515348539071135.jpg


1912622466848953360.jpg


6598263836285494048.jpg


  1. 配置

1.建立倉庫

#mkdir -p/home/svnroot/repository
#cd /usr/local/subversion/bin
#./svnadmin create /home/svnroot/repository/test ' 這裏假設我們的項目是test
#./svn import/boot file:///home/svnroot/repository/test -m "boot"

'這裏假設我們以前的項目文件在/boot目錄下,現在導入到test庫裏
#chmod -R apache:apache /home/svnroot/repository

'這裏把倉庫目錄權限給apache用戶及apache用戶組,主要是因爲我們要通過http來訪問svn


2.
配置http服務器

首先測試一下服務器是否可以正常訪問,命令如下:

#cd /usr/local/apache2/bin
#./apachectl start

然後在瀏覽器裏輸入http://運行apache的ip地址
出現It Works,表示成功。


更改apache2的配置文件"/usr/local/apache2/conf/httpd.conf",在文件末尾添加如下內容:

LoadModule dav_svn_module modules/mod_dav_svn.so
LoadModule authz_svn_module modules/mod_authz_svn.so

'上面兩行其實安裝軟件時,已經自動添加,如果沒有的話,手工添加就行


<Location /svn>
DAV svn
SVNParentPath /home/svnroot/repository/
AuthzSVNAccessFile /home/svnroot/repository/authz.conf '配置svn權限的文件
AuthType Basic
AuthName "SubVersion"
AuthUserFile /home/svnroot/repository/valid-user '用戶配置文件
Require valid-user
</Location>


我們使用"#/usr/local/apache2/bin/apachectl restart"重啓apache服務器,通過瀏覽器訪問"http://ip/svn/test",如果提示輸入用戶名、密碼的話,配置成功。

接着,我們生成valid-user文件,這個文件其實就是創建可以訪問http的用戶,使用的是htpasswd命令,方法如下:

#cd /usr/local/apache2/bin
#./htpasswd -c /home/svnroot/repository/valid-user hrwang
'會提示輸入密碼,這個密碼以後就是訪問http時的用戶口令。
'如果要繼續添加用戶,去掉-c 選項,使用:
#./htpasswd /home/svnroot/repository/valid-user yli


現在配置訪問svn的用戶權限,這裏就涉及到上面提到的authz.conf文件了,方法如下:


# vi /home/svnroot/repository/authz.conf '建立authz.conf文件,添加如下三行
[test:/]//這表示,倉庫test的根目錄下的訪問權限
hrwang = rw //test倉庫hrwang用戶具有讀和寫權限
yli = r //test倉庫yli用戶具有讀權限



'附加的一些說明

[test2:/]//test2倉庫根目錄下的訪問權限
hrwang = r //hrwang用戶在test2倉庫根目錄下只有讀權限
bao =//bao用戶在 test2倉庫根目錄下無任何權限
[/]//這個表示在所有倉庫的根目錄下
*= r //這個表示對所有的用戶都具有讀權限
#[groups]//這個表示羣組設置
#svn1-developers = hrwang, bao //這個表示某羣組裏的成員
#svn2-developers = hrwang
#[svn1:/]
#@svn1-developers = rw //如果在前面加上@符號,則表示這是個羣組權限設置


例如我們把權限配置成這樣:

[groups]

valid-user=hrwang,yli

invalid-user=bao

[test:/]

@valid-user=rw

@invalid-user=

這樣的話,用戶hrwang和yli可以讀寫,而bao不可以讀寫。


Ok
,配置完成,重啓apache服務器,在瀏覽器裏輸入http://ip/svn/test在出現的輸入框裏輸入用戶名hrwang和密碼,看看出現了什麼,是/boot目錄下的文件,:)

四、注意
因爲我們對svn的操作都是通過http,而http默認是以用戶deamon,用戶組deamon來運行的(這個可以從httpd.conf配置文件中的"User" "Group"兩個選項看出)。我把這兩項更改爲apache,讓其以apache用戶及apache用戶組來運行httpd服務。這就是爲什麼上面我把倉庫的目錄權限設置爲apacheapache的原因。


---------------------------------------安裝 PHP-----------------------------------------------

1.獲取安裝文件: http://www.php.net/downloads.php php-5.3.8.tar.gz

獲取安裝php需要的支持文件:http://download.csdn.net/download/netlong339/1351852 libxml2-2.6.32.tar.gz

2.安裝libxml2

1 tar zxvf libxml2-2.6.32.tar.gz 
2 cd libxml2-2.6.32
3 ./configure --prefix=/usr/local/libxml2
4 make
5 make install

如果安裝成功以後,在/usr/local/libxml2/目錄下將生成bin、include、lib、man和share五個目錄。在後面安裝PHP5源代碼包的配置時,會通過在configure命令的選項中加上"--with-libxml-dir=/usr/ local/libxml2"選項,用於指定安裝libxml2庫文件的位置

3.安裝php5

複製代碼
#tar zvxf php-5.3.8.tar.gz 
#cd php-5.3.8
#./configure \
--prefix=/usr/local/php \
--with-mysql=/usr/local/mysql \
--with-apxs=/usr/local/apache2/bin/apxs \
--with-libxml-dir=/usr/ local/libxml2
#make
#make install
複製代碼

4.重新配置apache2讓他支持php

  • 配置 httpd.conf 讓apache支持PHP:

  # vi /usr/local/apache/conf/httpd.conf

  找到 AddType application/x-gzip .gz .tgz 在其下添加如下內容

  AddType application/x-httpd-php .php (.前面有空格)

  AddType application/x-httpd-php-source .phps (.前面有空格)

  • 然後CPOPY PHP的配置文件

  cp php-5.3.8/php.ini.dist /usr/local/php/lib/php.ini

(如果沒有php.ini.dist 則把php.ini-development php.ini-production中的任何一個重命名爲php.ini.dist即可。)

  修改php.ini文件 register_globals = On

  • 重啓apache

  service apache restart

5.測試php是否成功安裝

寫一個php測試頁info.php,放到apache2/htdocs中。

<?php

phpinfo();

?>;

在瀏覽器中輸入:服務器地址/info.php

如果能正常顯示出php的信息,則說明Apche+Mysql+PHP安裝成功!


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章