成人AV在线无码|婷婷五月激情色,|伊人加勒比二三四区|国产一区激情都市|亚洲AV无码电影|日av韩av无码|天堂在线亚洲Av|无码一区二区影院|成人无码毛片AV|超碰在线看中文字幕

Linux平臺下Web環(huán)境配置

Linux 平臺下Web 環(huán)境搭建【前言】此文檔是Linux 平臺下Web 環(huán)境搭建的參考手冊,基于Red Hat Enterprise Linux 5(32位) 環(huán)境,因此在64位環(huán)境下編譯時若遇到

Linux 平臺下Web 環(huán)境搭建

【前言】

此文檔是Linux 平臺下Web 環(huán)境搭建的參考手冊,基于Red Hat Enterprise Linux 5(32位) 環(huán)境,因此在64位環(huán)境下編譯時若遇到錯誤,請先參照附錄一。各模塊的說明如下: Apache 網(wǎng)站運行的平臺。

PHP 服務(wù)器腳本

GD2 支持驗證碼的顯示

OpenSSL 提供加密通道,即https 方式訪問。

編譯前請先熟悉Linux 下的基本操作,文件編輯操作可以參照附錄三。由于Linux 下的Apache 與PHP 的配置文件與Windows 下的配置文件有很大差異,所以不要將Windows 下的配置文件直接拷貝到Linux 下。

一、準備工作

以下所有操作都以vcen 用戶登錄為示例,但命令的執(zhí)行是以root 帳戶身份,因此在打開終端后先切換用戶方式。

分別創(chuàng)建以下目錄,daemon 為編譯apache 后自動創(chuàng)建的用戶。 mkdir /home/vcen/download mkdir /home/vcen/download/apache2_2 mkdir /home/vcen/download/php5

mkdir /var/ins-g mkdir /var/sessionpath chown daemon:daemon /var/ins-g chmod o rw /var/ins-g

chown daemon:daemon /var/sessionpath

二、編譯GD2包

2.1、下載相關(guān)編譯包

在Linux 平臺下可以直接在終端中輸入以下命令進行下載。

cd /home/vcen/download

,

2.2、編譯GD2包與GD2包所需的環(huán)境

一定要先編譯過前面的四個包之后再去編譯GD2包,不然的話會編譯失敗。所有的編譯最好要普通用戶下進行,只有當make install時才切換至root 用戶。總之,只有當非用root 用戶不可時才切換至root 用戶,不要輕易的用root 用戶來操作系統(tǒng)。

2.2.1、編譯zlib 包 tar zxvf zlib-1.2.3.tar.gz

cd zlib-1.2.3

./configure make make install clean

64位下編譯方法:

tar -zxvf zlib-1.2.3.tar.gz

cd zlib-1.2.3

./configure

vi Makefile

找到 CFLAGS=-O3 -DUSE_MMAP

在后面加入-fPIC ,即變成CFLAGS=-O3 -DUSE_MMAP -fPIC

接下面步驟

make

make install

如果編譯的時候出現(xiàn)

/usr/bin/ld: /usr/local/lib/libz.a(crc32.o): relocation R_X86_64_32 against `a local symbol' can not be used when making a shared object; recompile with -fPIC

/usr/local/lib/libz.a: could not read symbols: Bad value

錯誤,解決辦法參見附錄一

2.2.2、編譯libpng 包 tar zxvf libpng-1.2.34.tar.gz

cd libpng-1.2.34

./configure

make

make install clean

,

2.2.3、編譯freetype 包 tar zxvf freetype-2.3.5.tar.gz cd freetype-2.3.5

./configure make

make install clean

2.2.4、編譯jpeg 包

tar zxvf jpegsrc.v6b.tar.gz cd jpeg-6b ./configure make

make install-lib

64位下編譯: ./configure CFLAGS="-O3 -fPIC" make

make install-lib

如果在編譯的時候出現(xiàn)

/usr/bin/ld: /usr/local/lib/libjpeg.a(jcapimin.o): relocation R_X86_64_32 against `a local symbol' can not be used when making a shared object; recompile with -fPIC

錯誤,解決辦法參見附一

2.2.5、編譯GD2包

如果以上軟件包都編譯成功了,就可以開始編譯GD2包了 tar zxvf gd-2.0.35.tar.gz cd gd-2.0.35 ./configure --with-png --with-freetype --with-jpeg make

make install

如果編譯失敗的話,先make clean一下,再make 。一般就可以編譯過去了。

編譯的時候,最后結(jié)果那里可以看到

** Configuration summary for gd 2.0.35:

Support for PNG library: yes

Support for JPEG library: yes

Support for Freetype 2.x library: yes

,

Support for Fontconfig library: no

Support for Xpm library: no

Support for pthreads: yes

可以看到png 、 jpeg 、 freetype 都已經(jīng)編譯上了

三、編譯Apache2.2

3.1、編譯OpenSSL

3.1.1、下載OpenSSL

下載地址:http://openssl.org/source/openssl-0.9.8h.tar.gz cd /home//vcen/download

wget http://openssl.org/source/openssl-0.9.8h.tar.gz

3.1.2、編譯OpenSSL tar zxvf openssl-0.9.8h.tar.gz

cd openssl-0.9.8h ./config

make make test

make install

3.1.3、創(chuàng)建證書

對于OpenSSL 的編譯目標目錄,在默認情況下為:/usr/local/ssl。 cd /usr/local/ssl/bin

生成server.key ,并要求輸入key 的密碼。1024表示長度: ./openssl genrsa -des3 -out server.key 1024

在出現(xiàn): Enter pass phrase for server.key:

Verifying - Enter pass phrase for server.key:

輸入兩次口令,類似于密碼。記清楚,一會要用的。

生成server.csr ,這時需要你輸入在上一步時生成的密碼 ./openssl req -new -key server.key -out server.csr

再次輸入密碼后,填寫以下內(nèi)容: For some fields there will be a default value,

If you enter '.', the field will be left blank.

{輸入“. ”, 表示為空}

,

-----

Country Name (2 letter code) [AU]:(國家) State or Province Name (full name) [Some-State]:(洲/?。?/p>

Locality Name (eg, city) []:(城/鎮(zhèn))

Organization Name (eg, company) [Internet Widgits Pty Ltd]:(組織名)

Organizational Unit Name (eg, section) []:(單位名)

Common Name (eg, YOUR name) []:(httpd-ssl.conf 中的ServerName 普通名稱) (注意:當提示輸入 Common Name (eg, YOUR name) []: ,請輸入你需要SSL 支持的域名, 如localhost,blog.yening.cn ,否則瀏覽器提示證書錯誤.)

Email Address []:(郵箱)

Please enter the following 'extra' attributes

to be sent with your certificate request

A challenge password []:(csr 密碼)

An optional company name []:(公司)

生成server.crt ,再次輸入server.key 口令

./openssl x509 -req -days 730 -in server.csr -signkey server.key -out server.crt 至此,證書文件便完成了,默認在/usr/local/ssl/bin下會有server.csr,server.key,server.crt 三個文件。

3.2、編譯Apache2.2

3.2.1、下載Apache2.2

最新版本2.2.11,放到/home/vcen/download/apache2_2目錄下,download 目錄為自己創(chuàng)建的目錄。

下載地址:http://dev.xiaonei.com/apache-mirror/httpd/httpd-2.2.11.tar.gz

cd /home/vcen/download/apache2_2

wget http://dev.xiaonei.com/apache-mirror/httpd/httpd-2.2.11.tar.gz

3.2.2、編譯Apache2.2

cd /home/vcen/download/apache2_2

tar zxvf httpd-2.2.11.tar.gz

cd httpd-2.2.11

./configure --prefix=/usr/local/apache2 --enable-so --enable-auth-digest --enable-rewrite --enable-setenvif --enable-mime --enable-ssl --with-ssl=/usr/local/ssl --enable-headers

make

make install clean

,

四、編譯PHP5

4.1、下載PHP5

最新版本php5.2.8,放到/home/vcen/download/php5目錄下。

下載地址:http://cn2.php.net/distributions/php-5.2.8.tar.gz

cd /home/vcen/download/php5

4.2、編譯PHP5

cd /home/vcen/download/php5 tar zxvf php-5.2.8.tar.gz

cd php-5.2.8

./configure --prefix=/usr/local/php --with-apxs2=/usr/local/apache2/bin/apxs --with-jpeg --with-freetype --enable-trace-vars --with-zlib --with-gd --enable-sockets make

make install clean

五、配置Apache(/usr/local/apache2/conf/httpd.conf)

5.1、端口偵聽

Listen 80 監(jiān)聽端口,即URL 訪問時的端口。

5.2、設(shè)置網(wǎng)站目錄

DocumentRoot “/var/ins-g” 頁面所存放的目錄,一定要使用/。

修改中的內(nèi)容如下:

Options FollowSymLinks

AllowOverride None

Order allow,deny

Allow from all

中的路徑與網(wǎng)站目錄相同。并修改此標簽中的以下項目: Deny from allow為Allow from all,

Order deny,allow為Order all,deny,

,

Options Indexes FllowSymLinks為Options None。

注:一定要設(shè)置下的訪問權(quán)限,這個代表的是根目錄的訪問權(quán)限。如果不設(shè)置,則網(wǎng)站無法訪問。但也要設(shè)置的訪問權(quán)限。

5.3、關(guān)閉訪問日志寫。

找到以下幾行,在前面添加#

LogFormat "h l u t "r" >s b "{Referer}i" "{User-Agent}i"" combined

LogFormat "h l u t "r" >s b" common

LogFormat "h l u t "r" >s b "{Referer}i" "{User-Agent}i" I O" combinedio

CustomLog "logs/access_log" common

5.4、設(shè)置默認訪問頁

在DirectoryIndex 后面添加要默認訪問的頁面,如:login.php index.php ,多文件用空格隔開。

5.5、支持PHP 解析

找到AddType application/x-gzip .gz .tgz在下面添加如下兩行:

AddType application/x-httpd-php .php

AddType application/x-httpd-php .html

5.6、配置SSL

5.6.1、配置SSL 基本信息

對于SSL 的支持,在httpd.conf 中無須多配,只需要將httpd-conf 中的

Include conf/extra/httpd-ssl.conf

這一行的注釋去掉。

然后將OpenSSL 生成的證書文件: server.crt, server.key 拷貝到/usr/local/apache2/conf下。

此時如果啟動apache server,會要求你輸入SSL 的密碼,并且每次Apache 啟動的時候,都會要求你輸入SSL 的密碼.

如果想每次啟動時不需要輸入SSL 密碼,則必須創(chuàng)建SSL 密碼自動應(yīng)答文件。 創(chuàng)建SSL 密碼自動應(yīng)答文件

創(chuàng)建 /usr/local/apache2/conf/sendsslpwd ,內(nèi)容如下:

#!/bin/bash

SSLpasswd=”你的證書文件密碼“

echo $SSLpasswd

,

修改文件屬性:chmod 755 /usr/local/apache2/conf/sendsslpwd

5.6.2、配置httpd-ssl.conf 文件 cd /usr/local/apache2/conf/extra

vi httpd-ssl.conf

找到 SSLPassPhraseDialog builtin 這一行,將其注釋掉

加入 SSLPassPhraseDialog exec:/usr/local/apache2/conf/sendsslpwd 這樣,每次啟動將不會提示輸入SSL 密碼了

另外,請修改節(jié)的以下信息(包含443端口,要改成httpd.conf 中所偵聽的端口):

按照apache 配置文件中的配置修改如下信息:

DocumentRoot "/usr/local/apache2/htdocs"

ServerName www.example.com:443

ServerAdmin you@example.com

六、配置PHP(/etc/php.ini)

6.1、上傳文件相關(guān)的配置

表單提交時的最大數(shù)據(jù):post_max_size=8M改成200M

上傳文件的最大值:upload_max_filesize=20M修改為200M

PHP 文件的最大執(zhí)行時間:max_execution_time=30修改為300

PHP 處理提交參數(shù)最大時間 max_input_time=60修改為600

PHP 消耗內(nèi)存限制memory_limit=128M

6.2、全局變量限制

register_globals = On 打開/關(guān)閉,應(yīng)打開(On)

6.3、關(guān)閉自動轉(zhuǎn)義

將magic_quotes_gpc=On修改為Off

6.4、PHP 默認編碼.

default_charset = "iso-8859-1"

修改為gb18030. 若不存在則添加此行.

,

6.5、session 的保存路徑

去掉;session.save_path = "/tmp"前面的分號,如:將路徑設(shè)置為/var/sessionpath

6.6、session 的最大超時時間

將session.use_cookies設(shè)置為1,打開cookie 儲存sessionid ,不過默認就是1 將session.cookie_lifetime改為86400,即24小時

將session.cache_expire改為86400,與上面的相同.

6.7、關(guān)閉頁面的錯誤輸出

只有當產(chǎn)品發(fā)布時,服務(wù)器端的配置才更新這一條。

將display_errors設(shè)置為On 。

七、啟動Apache

輸入如下指令啟動Apache :

/usr/local/apache2/bin/apachectl start

由于Apache 服務(wù)要在每次機器重機即運行。則需要配置一下啟用項:

在文件:/et/rc.d/rc.local最后添加如下語句:

/usr/local/apache2/bin/apachectl start

八、測試

在/var/ins-g目錄下新建一PHP 文件(index.php)。若正常會顯示PHP 信息。代碼如下:

phpinfo();

?>

附錄一:

錯誤提示:

/usr/bin/ld: /usr/local/lib/libjpeg.a(jcapimin.o): relocation R_X86_64_32 against `a local symbol' can not be used when making a shared object; recompile with -fPIC

進入Jpeg 目錄

,

./configure CFLAGS="-O3 -fPIC"

make

make install-lib

編譯前需指定為64位編譯模式,否則會出現(xiàn)以下錯誤:

/usr/bin/ld: /usr/local/lib/libz.a(crc32.o): relocation R_X86_64_32against `a local symbol' can not be used when making a shared object;recompile with -fPIC

/usr/local/lib/libz.a: could not read symbols: Bad value

解決辦法 : 重新安裝 zlib-1.2.3.tar.gz

tar -zxvf zlib-1.2.3.tar.gz

cd zlib-1.2.3

./configure

vi Makefile

找到 CFLAGS=-O3 -DUSE_MMAP

在后面加入-fPIC ,即變成CFLAGS=-O3 -DUSE_MMAP -fPIC

接下面步驟

make

make install

附錄二:

編譯SSL 的參考:

附錄三:

所有的包編譯、文件編輯等等操作都是在root 用戶下進行。

常用命令:

su 切換root 帳戶命令

cd 切換目錄

mkdir 新建文件夾

mv 移動文件或文件夾

cp 拷貝文件或文件夾

chown 修改文件或文件夾的所有者

chmod 修改文件或文件夾的權(quán)限

標簽: