卖逼视频免费看片|狼人就干网中文字慕|成人av影院导航|人妻少妇精品无码专区二区妖婧|亚洲丝袜视频玖玖|一区二区免费中文|日本高清无码一区|国产91无码小说|国产黄片子视频91sese日韩|免费高清无码成人网站入口

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

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

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

【前言】

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

PHP 服務(wù)器腳本

GD2 支持驗(yàn)證碼的顯示

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

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

一、準(zhǔn)備工作

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

分別創(chuàng)建以下目錄,daemon 為編譯apache 后自動(dòng)創(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 平臺(tái)下可以直接在終端中輸入以下命令進(jìn)行下載。

cd /home/vcen/download

,

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

一定要先編譯過前面的四個(gè)包之后再去編譯GD2包,不然的話會(huì)編譯失敗。所有的編譯最好要普通用戶下進(jìn)行,只有當(dāng)make install時(shí)才切換至root 用戶??傊?,只有當(dāng)非用root 用戶不可時(shí)才切換至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

如果編譯的時(shí)候出現(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

錯(cuò)誤,解決辦法參見附錄一

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

如果在編譯的時(shí)候出現(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

錯(cuò)誤,解決辦法參見附一

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 。一般就可以編譯過去了。

編譯的時(shí)候,最后結(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)建證書

對(duì)于OpenSSL 的編譯目標(biāo)目錄,在默認(rèn)情況下為:/usr/local/ssl。 cd /usr/local/ssl/bin

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

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

Verifying - Enter pass phrase for server.key:

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

生成server.csr ,這時(shí)需要你輸入在上一步時(shí)生成的密碼 ./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]:(國(guó)家) 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 普通名稱) (注意:當(dāng)提示輸入 Common Name (eg, YOUR name) []: ,請(qǐng)輸入你需要SSL 支持的域名, 如localhost,blog.yening.cn ,否則瀏覽器提示證書錯(cuò)誤.)

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 至此,證書文件便完成了,默認(rèn)在/usr/local/ssl/bin下會(huì)有server.csr,server.key,server.crt 三個(gè)文件。

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 訪問時(shí)的端口。

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

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

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

Options FollowSymLinks

AllowOverride None

Order allow,deny

Allow from all

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

Order deny,allow為Order all,deny,

,

Options Indexes FllowSymLinks為Options None。

注:一定要設(shè)置下的訪問權(quán)限,這個(gè)代表的是根目錄的訪問權(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è)置默認(rèn)訪問頁(yè)

在DirectoryIndex 后面添加要默認(rèn)訪問的頁(yè)面,如: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 基本信息

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

Include conf/extra/httpd-ssl.conf

這一行的注釋去掉。

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

此時(shí)如果啟動(dòng)apache server,會(huì)要求你輸入SSL 的密碼,并且每次Apache 啟動(dòng)的時(shí)候,都會(huì)要求你輸入SSL 的密碼.

如果想每次啟動(dòng)時(shí)不需要輸入SSL 密碼,則必須創(chuàng)建SSL 密碼自動(dòng)應(yīng)答文件。 創(chuàng)建SSL 密碼自動(dòng)應(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 這樣,每次啟動(dòng)將不會(huì)提示輸入SSL 密碼了

另外,請(qǐng)修改節(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í)的最大數(shù)據(jù):post_max_size=8M改成200M

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

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

PHP 處理提交參數(shù)最大時(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)閉自動(dòng)轉(zhuǎn)義

將magic_quotes_gpc=On修改為Off

6.4、PHP 默認(rèn)編碼.

default_charset = "iso-8859-1"

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

,

6.5、session 的保存路徑

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

6.6、session 的最大超時(shí)時(shí)間

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

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

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

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

將display_errors設(shè)置為On 。

七、啟動(dòng)Apache

輸入如下指令啟動(dòng)Apache :

/usr/local/apache2/bin/apachectl start

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

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

/usr/local/apache2/bin/apachectl start

八、測(cè)試

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

phpinfo();

?>

附錄一:

錯(cuò)誤提示:

/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

進(jìn)入Jpeg 目錄

,

./configure CFLAGS="-O3 -fPIC"

make

make install-lib

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

/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 用戶下進(jìn)行。

常用命令:

su 切換root 帳戶命令

cd 切換目錄

mkdir 新建文件夾

mv 移動(dòng)文件或文件夾

cp 拷貝文件或文件夾

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

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

標(biāo)簽: