天天看點

centOS6.3下lamp搭建(提供全套軟體包)

LAMP介紹

LAMP具有通用、跨平台、高性能、低價格的優勢,是以LAMP無論是性能、品質還是價格都是企業搭建網站的首選平台

Apache 介紹

lApache是世界使用排名第一的Web伺服器軟體,它可以運作在幾乎所有廣泛使用的計算機平台上.

lApache web伺服器軟體擁有以下特性:

        1.支援最新的HTTP/1.1通信協定

        3.支援通用網關接口

        4.支援基于IP和基于域名的虛拟主機

        5.支援多種方式的HTTP認證

        6.內建Perl處理子產品

        7.內建代理伺服器子產品

        8.支援實時監視伺服器狀态和定***務器日志

        10.支援安全Socket層(SSL)

Mysql 資料庫

lMySQL是一個小型關系型資料庫管理系統,開發者為瑞典MySQL AB公司,在2008年1月16号被Sun公司收購,而2009年,SUN又被Oracle收購.對于Mysql的前途,任何人都抱有樂觀的态度.

l目前MySQL被廣泛地應用在Internet上的中小型網站中

l由于其體積小、速度快、總體擁有成本低,尤其是開放源碼這一特點,許多中小型網站為了降低網站總體擁有成本而選擇了MySQL作為網站資料庫

lMySQL的官方網站的網址是:www.mysql.com

MySQL的特性

l1.使用C和C++編寫,并使用了多種編譯器進行測試,保證源代碼的可移植性

l2.支援AIX、FreeBSD、HP-UX、Linux、Mac OS、Novell Netware、OpenBSD、OS/2 Wrap、Solaris、Windows等多種作業系統

l3.為多種程式設計語言提供了API。這些程式設計語言包括C、C++  Python、Java、Perl、PHP、Eiffel、Ruby和Tcl等

l4.支援多線程,充分利用CPU資源

l5.優化的SQL查詢算法,有效地提高查詢速度

l6.提供用于管理、檢查、優化資料庫操作的管理工具

l7.可以處理擁有上千萬條記錄的大型資料庫

PHP介紹

lPHP:是英文超級文本預處理語言PHP HypertextPreprocessor的縮寫

lPHP 是一種 HTML 内嵌式的語言,是一種在伺服器端執行的嵌入HTML文檔的腳本語言,語言的風格有類似于C語言,被廣泛的運用

lPHP 獨特的文法混合了 C、Java、Perl 以及 PHP 自創新的文法,它可以比 CGI 或者 Perl 更快速的執行動态網頁。

lPHP具有非常強大的功能,所有的CGI的功能PHP都能實作,而且支援幾乎所有流行的資料庫以及作業系統

httpd伺服器安裝

一、rpm包

1.安裝

# yum -y installhttpd

2.相關的檔案

服務程式檔案:/usr/sbin/httpd

啟動腳本檔案:/etc/rc.d/init.d/httpd

主配置檔案:/etc/httpd/conf/httpd.conf

網頁釋出的目錄(預設):/var/www/html

p服務目錄:/etc/httpd/

p主配置檔案:/etc/httpd/conf/httpd.conf

p網頁目錄:/var/www/html/

p服務腳本:/etc/init.d/httpd

p執行程式:/usr/sbin/httpd

p通路日志:/var/log/httpd/access_log

p錯誤日志:/var/log/httpd/error_log

3.配置、啟動服務并測試

# vi/etc/httpd/conf/httpd.conf

ServerName192.168.32.128   #配置伺服器的名稱

DocumentRoot"/var/www/html"    #設定預設的網頁服務目錄

<Directory/>       #配置在Web伺服器上通路Linux的根目錄權限

   Options FollowSymLinks

   AllowOverride None

</Directory>

<Directory"/var/www/html">  #配置Web伺服器上通路/var/www/html目錄的權限

      Options Indexes FollowSymLinks

      AllowOverride None

      Order allow,deny

      Allow from all

啟動服務

# service httpdstart

測試網頁

在浏覽器中輸入:http://192.168.32.128

可以看到Apache的預設網頁

将做好的網頁及圖檔全都上傳到/var/www/html目錄下進行釋出網站。

二、最新源代碼安裝Apache

1.在官網下載下傳最新版的Apache源代碼包,解包

# tar xjfhttpd-2.4.6.tar.bz2

2.編譯前的配置

# ./configure--prefix=/usr/local/httpd --enable-so --enable-rewrite --enable-cgi

configure:error: APR not found.  Please read thedocumentation.

rewrite功能:

假設有這麼個網頁:http://www.example.com/test.php?id=5

這很容易使人看出執行了test.php這個程式,并且傳入的參數是id=5,為了避免别人看到這些資訊,采取rewite功能,使以上網頁變成類似以下的網址:

http://www.example.com/pageone_test.html

現在安裝最新版的apr

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

# make&& make install

重新配置Apache

# ./configure--prefix=/usr/local/httpd --enable-so --enable-rewrite --enable-cgi \

>--with-apr=/usr/local/apr

configure:error: APR-util not found.  Please readthe documentation.

安裝最版的apr-util

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

再次重新配置Apache

# ./configure--prefix=/usr/local/httpd --enable-so --enable-rewrite --enable-cgi--with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util

configure:error: pcre-config for libpcre not found. PCRE is required and available from http://pcre.org/

安裝最新版的pcre

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

# ./configure--prefix=/usr/local/httpd --enable-so --enable-rewrite --enable-cgi--with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util --with-pcre=/usr/local/pcre

編譯并安裝Apache

驗證安裝目錄

[root@StudyServerhttpd]# ls

bin  build cgi-bin  conf  error htdocs  icons  include logs  man  manual modules

安裝目錄

/usr/local/httpd

程式目錄

/usr/local/bin

啟動腳本

/usr/local/httpd/bin/apachectl

服務程式

/usr/local/httpd/bin/httpd

主配置檔案

/usr/local/httpd/conf/httpd.conf

網頁目錄

/usr/local/httpd/htdocs

啟動服務并測試網頁

# service httpdstop   #先停掉rpm包安裝的Apache服務

啟動之前先測試一下配置檔案的文法

# bin/apachectl-t

啟動

# bin/apachectlstart

在浏覽器位址欄裡輸入http://192.168.32.128/

l主配置檔案:/usr/local/httpd/conf/httpd.conf

l擴充配置目錄:/usr/local/httpd/conf/extra

l網站根目錄:/usr/local/httpd/htdocs

l服務腳本:/usr/local/httpd/bin/apachectl

l通路日志:/usr/local/httpd/logs/access_log

l錯誤日志:/usr/local/httpd/logs/error_log

最新版的Apache配置選項:

<Directory"/usr/local/httpd/htdocs">

      Require all granted    #等價于老版本的兩句:Orader allow,deny

equire allgranted    #等價于老版本的兩句:

Oraderallow,deny

allow from all

主配置檔案常用參數

lServerRoot:工作目錄

lServerAdmin:apache管理者郵箱

lUser:運作服務使用者

lGroup:運作服務組群

lServerName:網站域名

lDocumentRoot:網頁根目錄

lListen:apache的監聽的IP位址和端口号

lPidFile:儲存httpd程序PID号的檔案

lDirectoryIndex:首頁檔案名稱

lErrorLog:錯誤日志檔案路徑

lCustomLog:通路日志檔案路徑

lTimeout:網絡連接配接逾時,預設為300秒

lKeepAlive:是否保持連接配接,可選On或Off

lMaxKeepAliveRequests:每次連接配接最多請求檔案數

lKeepAliveTimeout:保持連接配接狀态時的逾時時間

lInclude:需要包含進來的其他配置檔案

Apache虛拟主機

l虛拟主機,就是在一台裝有Apache的Web伺服器的上運作多個Web站點,每個站點都可以通過自己的域名位址進行通路.每個站點稱為一個虛拟主機

lApache支援不同類型的虛拟主機:

基于IP的虛拟主機

基于端口的虛拟主機

基于名稱的虛拟主機

基于IP和名稱的虛拟主機

基于IP:

l建立基于IP的虛拟主機需要為每個虛拟主機提供一個唯一有效的IP位址.

l是以,建立基于IP的虛拟主機,首先要在DNS配置檔案中添加一個Address記錄.

基于名稱:

l基于名稱的虛拟主機需要唯一的IP位址,但必須為每個主機建立一個規範的名稱CNAME.

配置基于IP的虛拟主機

l配置基于IP的虛拟主機,該web伺服器至少有兩個IP位址.

l我們的實驗中設定一個實體網卡上配置兩個IP位址。

1.配置虛拟網卡

      1)若永久生效,需要設定配置檔案

             # vi/etc/sysconfig/network-scripts/ifcfg-eth0

              IPADDR=192.168.32.128

            NETMASK=255.255.255.0

            IPADDR1=192.168.32.140

            NETMASK1=255.255.255.0

      2)指令行臨時配置,立即生效

      # ifconfig eth0:1 192.168.32.140 netmask255.255.255.0 up  #直接生效

2.建立兩個目錄及建立各目錄的預設網頁檔案

# cd /usr/local/httpd/htdocs

# mkdir wdporacle

[root@StudyServerhtdocs]# vi oracle/index.html

[root@StudyServerhtdocs]# vi wdp/index.html

3.修改主配置檔案

<VirtualHost192.168.32.128>

   DocumentRoot /usr/local/httpd/htdocs/oracle

   ServerName www.oracle.com

</VirtualHost>

<VirtualHost192.168.32.140>

   DocumentRoot /usr/local/httpd/htdocs/wdp

   ServerName www.wdp.com

4.重新開機服務進行測試

# bin/apachectlrestart

在浏覽器位址欄中輸入:http://192.168.32.128/

輸出oracle.com

在浏覽器位址欄中輸入:http://192.168.32.140/

輸出wdp.com

基于不同端口的虛拟主機

1.在主配置檔案中

Listen 81

Listen 8080

兩個虛拟主機的配置項是:

<VirtualHost192.168.32.128:81>

<VirtualHost192.168.32.128:8080>

2.重新開機服務

3.測試

在浏覽器位址欄中輸入:http://192.168.32.128:81/

在浏覽器位址欄中輸入:http://192.168.32.128:8080/

Listen80  改回來

1.編輯主配置檔案

修改如下:

<VirtualHost*:80>

2.讓本地解析兩個域名

編輯C:\WINDOWS\system32\drivers\etc\hosts

192.168.32.128   www.oracle.com

192.168.32.128   www.wdp.com

3.重新開機服務

4.測試

在浏覽器位址欄中輸入:http://www.oracle.com/

在浏覽器位址欄中輸入:http://www.wdp.com/

MySQL和PHP

MySQL

l高性能、多線程、多使用者,建立在客戶/伺服器結構上關系型資料庫管理系統,始于1979年,起始名為UNIREG,1996年5月份由WIDENIUS開發出MYSQL最初版本,目前最新版本為7.2

l商業客戶可靈活的選擇多個版本,以滿足特殊的商業和技術需求:

      MySQL标準版

      MySQL企業版

      MySQL叢集版`

Mysql安裝配置步驟

l檢查基本編譯環境、安裝開發庫環境

l建立mysql專用的使用者群組賬戶

l解壓并進入mysql源碼包

l定制編譯選項

l編譯和安裝

l拷貝配置檔案

l初始化mysql資料庫

l設定mysql和var目錄權限

l第一次啟動Mysql服務

l設定mysql為系統服務并能夠自動啟動

安裝MySQL,選用最新源代碼版的mysql-5.6.13.tar.gz

解包

# tar zxfmysql-5.6.13.tar.gz

先安裝cmake

# tar zxfcmake-2.8.12.tar.gz

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

#make &&make install

添加一個使用者mysql

# useradd -r -Mmysql

安裝前的配置

在mysql下

#/usr/local/cmake/bin/cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \

>-DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci

編譯安裝

這裡會等很長時間

設定配置檔案

# cpsupport-files/my-default.cnf /etc/my.cnf

# vi /etc/my.cnf

basedir =/usr/local/mysql

datadir =/usr/local/mysql/data

port = 3306

server_id = 1000

socket =/tmp/mysql.sock

初始化資料庫

#/usr/local/mysql/scripts/mysql_install_db --user=mysql--collation-server=utf8_general_ci

修改/usr/local/mysql

# chown -Rmysql:mysql *

啟動MySQL服務

#bin/mysqld_safe --user=mysql &

登入MySQL

# bin/mysql

相關常用的SQL語句

顯示資料庫清單

mysql> showdatabases;

顯示表

mysql> showtables;

顯示表結構

mysql> descuser;

mysql> selectHost,User,Password from user;

mysql> deletefrom user where User = '';

mysql> updateuser set Password = password('123456') where User = 'root';

mysql> createdatabase if not exists mydb;

mysql> grantall privileges on mydb.* to lisidbuser@localhost identified by '1234' ;

mysql> flushprivileges;

# bin/mysql -ulisidbuser -p

PHP的安裝和使用

安裝JPEG插件

# tar zxfjpegsrc.v7.tar.gz

cd jpeg-7

# ./configure--prefix=/usr/local/jpeg7 --enable-shared --enable-static

安裝zlib

[root@StudyServerapp]# tar zxf zlib-1.2.8.tar.gz

[root@StudyServerapp]# cd zlib-1.2.8

[[email protected]]# ./configure --prefix=/usr/local/zlib

[[email protected]]# make && make install

安裝zlib開發包

# yum -y installzlib-devel

安裝libpng

tar zxflibpng-1.6.6.tar.gz

# cdlibpng-1.6.6

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

安裝字型庫引擎

# tar jxffreetype-2.4.7.tar.bz2

# cdfreetype-2.4.7

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

安裝GD庫

# tar zxflibgd-2.1.0.tar.gz

# cd libgd-2.1.0

# ./configure--prefix=/usr/local/gd2 --with-jpeg=/usr/local/jpeg7--with-png=/usr/local/libpng/ --with-freetype=/usr/local/freetype

安裝PHP

# tar jxfphp-5.5.5.tar.bz2

# cd php-5.5.5

安裝依賴軟體

# yum -y installlibXpm-devel libxml2-devel

# ./configure--prefix=/usr/local/php5 \

>--with-apxs2=/usr/local/httpd/bin/apxs \

>--with-mysql=/usr/local/mysql \

>--with-libxml-dir=/usr/bin --with-gd=/usr/local/gd2 \

> --with-jpeg-dir=/usr/local/jpeg7\

>--with-png-dir=/usr/local/libpng \

>--with-freetype-dir=/usr/local/freetype \

>--enable-mbstring \

>--with-xpm-dir=/usr/lib64

編譯安裝PHP

配置PHP5

# cpphp.ini-production /usr/local/php5/php.ini

212 short_open_tag= Off 改為

212short_open_tag = On

修改Apache的主配置檔案

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

找到這一句(這是安裝PHP時自動添加一項):

LoadModulephp5_module        modules/libphp5.so

然後添加一項

AddTypeapplication/x-httpd-php .php   #讓Apache在伺服器端解析PHP檔案

再添加一項:

DirectoryIndexindex.html index.php

寫個PHP的測試網頁

# vi test.php

<?php

       phpinfo();

?>

然後測試

http://192.168.32.128/test.php  進行測試

壓縮包

      本文轉自潘闊 51CTO部落格,原文連結:http://blog.51cto.com/pankuo/1383664,如需轉載請自行聯系原作者