我的LAMP實現過程——apache+php

來源:互聯網
上載者:User

把MAP等對應於linux的壓縮包檔案copy到usr/自己建的down目錄(也可以在其他目錄下,最好相關檔案都放在同一地方便於安裝和查詢),安裝前的準備工作是下載全linux下的php啟動並執行相關源碼安裝壓縮包,我的/usr/down下的列表:
libxml2-2.6.11.tar.gz
ZendOptimizer-3.2.6-linux-glibc21-i386.tar.gz
phpMyAdmin-2.10.0.2-all-languages.tar.gz
httpd-2.2.4.tar.gz
php-5.2.1.tar.gz
mysql-5.0.37.tar.gz
ZLIB:zlib-1.2.1.tar.gz 下載:http://www.zlib.net/zlib-1.2.3.tar.gz
FreeType:freetype-2.1.9.tar.gz 網站: http://sourceforge.net/projects/freetype/
下載:http://umn.dl.sourceforge.net/sourceforge/freetype/freetype-2.1.9.tar.gz
PNG:libpng-1.2.5.tar.gz http://prdownloads.sourceforge.net/png-mng/libpng-1.2.5.tar.gz
JPEG:jpegsrc.v6b.tar.gz 網站:http://freshmeat.net/projects/libjpeg/
下載 http://freshmeat.net/redir/libjpeg/5665/url_tgz/jpegsrc.v6b.tar.gz
GD:gd-2.0.28.tar.gz 下載:http://www.boutell.com/gd/http/gd-2.0.28.tar.gz 已支援gif

在usr/下建立了down源檔案目錄及建立/server/apache的apache安裝目錄

安裝Apache

1. 執行 cd /usr/down

2. 執行 tar -zxvf httpd-2.2.4.tar.gz

3. 執行 cd httpd-2.2.4 

4. 執行 ./configure --prefix=/server/apache --enable-so 

5. 執行 make 

6. 執行 make install 

7. 執行 /server/apache/bin/apachectl start 

8. 在瀏覽器開啟 http://localhost/ 或者 http://127.0.0.1
如果出現“It works”則說明apache已經安裝好了

安裝PHP

A、安裝支援庫
php編程肯定會用到字串處理,圖形處理等一系列問題,必須先安裝好所需要的支援庫,才能節省以後編程的麻煩,我就是都裝完了才意識到圖片顯示不了,立馬回過頭安裝GD庫等一系列支援庫,麻煩啊!
建立初始目錄:

mkdir /usr/local/modules

#jpeg目錄
mkdir /usr/local/modules/jpeg6
mkdir /usr/local/modules/jpeg6/bin
mkdir /usr/local/modules/jpeg6/lib
mkdir /usr/local/modules/jpeg6/include
mkdir /usr/local/modules/jpeg6/man
mkdir /usr/local/modules/jpeg6/man/man1 

A1、安裝libxml
#tar -zxvf libxml2-2.6.11.tar.gz 

系統自動列出各解壓項.
小提示:解壓完成後可以執行 clear 命令清屏 

#cd libxml2-2.6.11

執行 ./configure

執行 make 有些源碼編譯時間要相當相當的時間.大家一定要耐心

執行 make install

A2、安裝zlib

tar xzvf zlib-1.2.1.tar.gz
cd zlib-1.2.1
#不要用--prefix自訂安裝目錄,影響gd的安裝
./configure

make

make install

A3、安裝freetype

tar xzvf freetype-2.1.5.tar.gz
cd freetype-2.1.5
./configure --prefix=/usr/local/modules/freetype

make

make install

A4、安裝libpng

tar xzvf libpng-1.2.5.tar.gz
#不要用--prefix自訂安裝目錄,影響gd的安裝
cd libpng-1.2.5
cp scripts/makefile.std makefile

make test

make install

A5、安裝jpeg

tar xzvf jpegsrc.v6b.tar.gz
./configure --prefix=/usr/local/modules/jpeg6 --enable-shared --enable-static

make

make install

A6、安裝GD

tar xzvf gd-2.0.28.tar.gz
./configure --prefix=/usr/local/modules/gd --with-jpeg=/usr/local/modules/jpeg6 --with-png --with-zlib --with-freetype=/usr/local/modules/freetype

make

make install

B、安裝PHP

tar xzvf php-5.2.1.tar.gz

cd  php-5.2.1

./configure --prefix=/server/php  --with-gd=/usr/local/modules/gd --with-jpeg-dir=/usr/local/modules/jpeg6 --with-zlib --with-png --with-freetype-dir=/usr/local/modules/freetype --enable-magic-quotes --with-mysql=/server/mysql --with-apxs2=/server/apache/bin/apxs --enable-track-vars --enable-force-cgi-redirect --enable-ftp --with-config-file-path=/usr/local/lib

註:
--prefix=/server/php 指定把php-5.2.1安裝到/server/php目錄中;
--with-mysql=/server/mysql 指定mysql資料服務器安裝的位置;
--with-apxs2=/server/apache/bin/apxs 這是加入apache中為DSO模組的位置;
-enable-track-vars 為啟動cookie的get/post等追蹤功能
--with-config-file-path=/usr/local/lib指定php的配製檔案存放的目錄是/usr/local/lib目錄,後面的cp命令會把php.ini複製到這個目錄中來。

# make 

# make install 

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

配置Apache關聯php

執行 vi /server/apache/conf/httpd.conf
用vi編輯器開啟apache的設定檔.

進入的是vi的命令列方式. 

輸入 /LoadModule
然後點擊 斷行符號
其中/LoadModule 是向下尋找 LoadModule.?LoadModule是向上尋找 

我們可以看到 LoadModule php5_module modules/libphp5.so
這是我們安裝時設定好的.但也務必檢查一下.我的是正確的了 

輸入 /AddType

找到 AddType application/x-gzip .tgz

點擊 i 進入 插入編輯方式
右下角會出現插入字樣.

將游標移到AddType application/x-gzip .tgz後面.斷行符號後加入一行
AddType application/x-httpd-php .php (注意.php前有空格)

點擊 Esc 鍵.回到vi命令列方式.
並輸入 /DirectoryIndex

點擊 i 鍵進入 插入編輯方式.並且在 DirectoryIndex index.html
後面加一空格再加index.php

找到 Options Indexes FollowSymLinks (這個選項是決定使用者是否能通過瀏覽器瀏覽你的檔案夾目錄及檔案的,再編碼工作完成上線前一定要#注釋掉,去處安全隱患)

*************************
參考:
Options FollowSymLinks ExecCGI MultiViews Indexes Includes
#             Option:定義在目錄內所能執行的操作。
#             None:表示只能瀏覽,
#             FollowSymLinks:允許頁面串連到別處,
#             ExecCGI:允許執行CGI,
#             MultiViews:允許看動畫或是聽音樂之類的操作,
#             Indexes:允許伺服器返回目錄的格式化列表,
#             Includes:允許使用SSI。這些設定可以複選。
#             All:則可以做任何事,但不包括MultiViews。
*************************

點擊 Esc 鍵.回到vi命令列方式.
輸入 :wq  然後點擊斷行符號
其中 :wq 是存檔退出的命令,:q!是不存檔退出

可以選擇安裝時也可以選擇寫php程式時候根據需要修改php.ini檔案
尋找safe_mode=Off,更改為safe_mode=On
(1)尋找max_execution_time = 30,更改為max_execution_time = 600   
(2)尋找max_input_time = 60,更改為max_input_time = 600
(3)尋找memory_limit = 8M ,更改為memory_limit = 20M
(4)尋找display_errors = On,更改為display_errors = Off
(5)尋找register_globals = Off,更改為register_globals = On
(6)尋找post_max_size = 8M,更改為post_max_size = 20M
(7)尋找upload_max_filesize = 2M,更改為upload_max_filesize = 20M
(8)尋找session.auto_start = 0,更改為session.auto_start = 1
:wq 是存檔退出,重啟apache,讓修改生效。

補充:
有的伺服器php版本太低,好像必須靜態編譯iconv庫,否則不能使用iconv(),所以可以在php編譯時間候添加--with-iconv選項,前提請確認php解壓檔案夾ext中有iconv庫檔案夾,也可以單獨安裝libiconv庫,方法如下:
下載:ftp://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.8.tar.gz
安裝:
#cp libiconv-1.8.tar.gz /usr/local/src
#tar zxvf lib*
#./configure --prefix=/usr/local/libiconv
#make
#make install
編譯php
#./configure --prefix=/usr/local/php4.3.2 --with-iconv=/usr/local/libiconv/

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.