1. 程式人生 > >使用Apache模組編譯安裝搭建LAMP平臺以及部署DedeCMS網站配置詳解

使用Apache模組編譯安裝搭建LAMP平臺以及部署DedeCMS網站配置詳解

一、LAMP平臺概述

簡介:

LAMP架構是目前成熟的企業網站應用模式之一,指的是協同工作的一整套系統和相關軟體,能夠提供動態web站點服務及其應用開發環境。LAMP是一個縮寫詞,具體包括Linux作業系統、Apache網站伺服器、MySQL資料庫伺服器、PHP(或Perl、Python)網頁程式語言。

1.LAMP平臺的構成元件

在LAMP平臺的四個構成元件中,每一個元件都承擔著一部分關鍵應用。經過十幾年的發展,各元件間的相容性得到了不斷的完善,協作能力和穩定性也不斷增強,可以構建出非常優秀的web應用系統。各元件的作用主要如下。

Linux作業系統:作為LAMP架構的基礎,提供用於支撐web站點的作業系統,能夠與其他三個元件提供更好的穩定性,相容性(AMP元件也支援Windows、Unix作業系統)。

Apache網站伺服器:作為LAMP架構的前端,是一款功能強大,穩定性好的web伺服器程式,該伺服器直接面向用戶提供網站訪問,傳送網頁、圖片等檔案內容。

MySQL資料庫伺服器:作為LAMP架構的後端,是一款流行的開源關係型資料庫系統。在企業網站、業務系統等應用中、各種賬戶資訊、產品資訊、客戶資料、業務資料等都可以儲存到MySQL資料庫,其他程式可以通過SQL語句來查詢,更改這資訊。

PHP/Perl/Python網頁程式語言:作為三種開發動態網頁的程式語言、負責解釋動態網頁檔案,並提供web應用程式的開發和執行環境。其中,PHP是一種被廣泛應用的開放原始碼程的多用途指令碼語言,它可以嵌入到HTML中,尤其適合於web應用開發。

2.LAMP平臺 的應用優勢

構成LAMP平臺的四個元件,每一個元件都經歷了數十年之久的企業應用的考驗,各自都是同類軟體中的佼佼者,從而成為典型的“黃金搭檔”,其主要優勢體現在以下幾個方面。

成本低廉:構成元件都是開放原始碼的軟體,可以自由獲得和免費使用,在技術上和許可證方面沒有太嚴格的限制,大大降低了企業的實施成本。

可定製:擁有大量的額外元件和可擴充套件功能的模組,能夠滿足大部分企業應用的定製需求,甚至可以自行開發,新增新的功能。

易於開發:基於LAMP平臺的動態網站中,頁面程式碼簡潔,與HTML標記語言的結合度非常好,即使是非專業的程式設計師也能夠輕鬆讀懂乃至修改網頁程式碼。

方便易用:

PHP、Perl等屬於解釋性語言,開發的各種web程式不需要編譯,方便進行移植使用。整套的網站專案程式,通常只要複製到網站目錄中,就可以直接訪問。

安全和穩定:得益於開源的優勢,大量的程式設計師在關注並持續改進LAMP平臺的各個元件,發現的問題能夠很快得到解決。LAMP架構已經經歷了數十年的長期驗證、在安全性和穩定性方面表現的非常優秀。

在構建LAMP平臺時,各元件的安裝順序依次為Linux、Apache、MySQL、PHP。其中Apache和MySQL的安裝並沒有嚴格的順序;而PHP的安裝一般放到最後,負責溝通web伺服器和資料庫系統以協同工作。

二、安裝配置LAMP平臺


安裝Apache網站服務

本人宣告:如果想看Apache詳細的安裝過程請點選如下連結地址即可檢視

1.準備工作

為了避免發生埠衝突、程式衝突等現象,建議解除安裝使用rpm方式安裝的httpd。

[[email protected] ~]# rpm  -e httpd --nodeps
2.原始碼編譯及安裝

(1.)解包 

[[email protected] ~]# tar zxf httpd-2.2.17.tar.gz  -C /usr/src/
[[email protected] ~]# cd /usr/src/httpd-2.2.17/
(2.)配置
[[email protected] httpd-2.2.17]# ./configure --prefix=/usr/local/httpd --enable-so --enable-rewrite --enable-charset-lite --enable-cgi

上述配置命令中,各選項的含義如下:

--prefix:指定將httpd服務程式安裝到哪個目錄下,如/usr/local/httpd。

--enable-so:啟用動態載入模組支援,使httpd具備進一步擴充套件功能的能力。

--enable-rewrite:啟用網頁地址重寫功能,用於網站優化及目錄遷移維護。

--enable-charset-lite:啟動字符集支援,以便支援使用各種字符集編碼的網頁。

--enable-cgi:啟用CGI指令碼程式支援,便於支援擴充套件網站的應用訪問能力。

[[email protected] httpd-2.2.17]# make && make install

3.確認安裝結果


在安裝後的/usr/local/httpd目錄下,主要子目錄的用途如下。

/usr/local/httpd/bin:存放httpd服務的各種執行程式檔案,包括主程式httpd、服務控制工具Apachectl等。

/usr/local/httpd/conf:存放httpd服務的各種配置檔案、包括主配置檔案httpd.conf、增強配置子目錄extra等。

/usr/local/httpd/htdocs:存放網頁文件,包括預設首頁檔案index.html等。

/usr/local/httpd/logs:存放httpd服務的日誌檔案。

/usr/local/httpd/modules:存放httpd服務各種模組檔案。

/usr/local/httpd/cgi-bib:存放各種CGI程式檔案。

4.優化執行路徑

[[email protected] ~]# ln -s /usr/local/httpd/bin/* /usr/local/bin/
[[email protected] ~]# ls -l /usr/local/bin/httpd /usr/local/bin/apachectl

5.新增httpd系統服務

[[email protected] ~]# cp /usr/local/httpd/bin/apachectl  /etc/init.d/httpd
[[email protected] ~]# vim /etc/init.d/httpd
[[email protected] ~]# chkconfig  --add httpd
[[email protected] ~]# chkconfig  --list httpd

6.配置並啟動httpd服務

 (1.)配置httpd服務

[[email protected] ~]# vim /usr/local/httpd/conf/httpd.conf 

檢查配置檔案內容是否有錯誤!

[[email protected] ~]# /usr/local/bin/apachectl  -t
Syntax OK
[[email protected] ~]# 
(2.)啟動httpd服務

(3.)測試訪問httpd服務


注意:關閉防火牆或者放行80埠

[[email protected] ~]# firewall-cmd --permanent --add-port=80/tcp
success
[[email protected] ~]# firewall-cmd --reload 
success
[[email protected] ~]# 

安裝MySQL資料庫服務


本人宣告:如果想看MySQL詳細安裝過程,可以點選如下連結地址即可檢視。

1.準備工作

(1.)為了避免發生埠衝突、程式衝突等現象,建議先查詢MySQL軟體的安裝情況。確認沒有使用以rpm方式安裝的mysql-server、mysql軟體包,否則建議將其解除安裝。

[[email protected] ~]# rpm -q mysql-server mysql
package mysql-server is not installed
package mysql is not installed
[[email protected] ~]# 
(2.)MySQL5.5需要cmake編譯安裝,所以先安裝cmake包。
[[email protected] ~]# tar zxf  cmake-2.8.12.tar.gz 
[[email protected] ~]# cd cmake-2.8.12/
[[email protected] cmake-2.8.12]# ./configure 
[[email protected] cmake-2.8.12]# make && make install

2.原始碼編譯及安裝

(1.)建立執行使用者

為了加強資料庫服務的許可權控制,建議使用專門的執行使用者,如mysql。此使用者不需要直接登入到系統,可以不建立宿主資料夾。

[[email protected] ~]# groupadd mysql 
[[email protected] ~]# useradd -M -s /sbin/nologin mysql -g mysql
(2.)解包
[[email protected] ~]# tar zxf mysql-5.5.38.tar.gz -C /usr/src/
[[email protected] ~]# cd /usr/src/mysql-5.5.38/

(3.)配置
[[email protected] mysql-5.5.38]# cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
> -DSYSCONFDIR=/etc \
> -DDEFAULT_CHARSET=utf8 \
> -DDEFAULT_COLLATION=utf8-general_ci \
> -DWITH_EXTRA_CHARSETS=all

上述配置命令中,各選項的含義如下。

-DCMAKE_INSTALL_PREFIX:指定將mysql資料庫程式安裝到某目錄下,如目錄/usr/local/mysql。

-DSYSCONFDIR:指定初始化引數檔案目錄。

-DDEFAULT_CHARSET:指定預設使用的字符集編碼,如utf8。

-DDEFAULT_COLLATION:指定預設使用的字符集校對規則,utf8_general_ci是適用於UTF-8字符集的通用規則。

-DWITH_EXTRA_CHARSETS:指定額外支援的其他字符集編碼。

(4.)編譯並安裝

[[email protected] mysql-5.5.38]# make && make install

3.安裝後的其他調整

(1.)對資料庫目錄進行許可權設定

[[email protected] ~]# chown  -R mysql:mysql /usr/local/mysql/
(2.)建立配置檔案
[[email protected] mysql-5.5.38]# rm -rf  /etc/my.cnf                    
[[email protected] mysql-5.5.38]# cp support-files/my-medium.cnf /etc/my.cnf
(3.)初始化資料庫
[[email protected] mysql-5.5.38]# /usr/local/mysql/scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data/

(4.)設定環境變數

[[email protected] mysql-5.5.38]# echo "PATH=$PATH:/usr/local/mysql/bin" >> /etc/profile
[[email protected] mysql-5.5.38]# . /etc/profile
4.新增系統服務
[[email protected] mysql-5.5.38]# cp support-files/mysql.server /etc/rc.d/init.d/mysqld
[[email protected] mysql-5.5.38]# chmod  +x /etc/rc.d/init.d/mysqld 
[[email protected] mysql-5.5.38]# chkconfig --add mysqld
(1.)檢視資料庫是否啟動

(2.)給資料庫設定密碼

[[email protected] ~]# mysqladmin -u root  -p password '123456' 
Enter password: 


安裝PHP服務


本人宣告:如果想看基於fcgi模式安裝的lamp平臺請點選下面的連結地址即可檢視

1.準備工作

為了避免發生程式衝突等現象,建議先將rpm方式安裝的PHP及相關依賴包(如果已存在)解除安裝。

例如:根據實際安裝情況可解除安裝php、php-cli、php-ldap、php-common、php-mysql等。另外需要安裝zlib-devel和libxml2-devel包。

[[email protected] ~]# rpm -e php php-cli php-ldap php-common php-mysql
[[email protected] ~]# cd /media/Packages/
[[email protected] Packages]# rpm -ivh zlib-devel-1.2.7-15.el7.x86_64.rpm 
Preparing...                          ################################# [100%]
Updating / installing...
   1:zlib-devel-1.2.7-15.el7          ################################# [100%]
[[email protected] Packages]# rpm -ivh libxml2-devel-2.9.1-5.el7_1.2.x86_64.rpm 
error: Failed dependencies:
        xz-devel is needed by libxml2-devel-2.9.1-5.el7_1.2.x86_64
[[email protected] Packages]# rpm -ivh libxml2-devel-2.9.1-5.el7_1.2.x86_64.rpm  --nodeps
Preparing...                          ################################# [100%]
Updating / installing...
   1:libxml2-devel-2.9.1-5.el7_1.2    ################################# [100%]
[[email protected] Packages]# 
2.安裝資料加密擴充套件工具庫
[[email protected] ~]# tar zxf libmcrypt-2.5.8.tar.gz  -C /usr/src/
[[email protected] ~]# cd /usr/src/libmcrypt-2.5.8/
[[email protected] libmcrypt-2.5.8]# ./configure 
[[email protected] libmcrypt-2.5.8]# make && make install
[[email protected] libmcrypt-2.5.8]# ln -s /usr/local/lib/libmcrypt.* /usr/lib/

(2.)安裝mhash
[[email protected] ~]# tar zxf mhash-0.9.9.9.tar.gz -C /usr/src/
[[email protected] ~]# cd /usr/src/mhash-0.9.9.9/
[[email protected] mhash-0.9.9.9]# ./configure 
[[email protected] mhash-0.9.9.9]# make && make install
[[email protected] mhash-0.9.9.9]# ln -s /usr/local/lib/libmhash.* /usr/lib/
(3.)安裝mcrypt
[[email protected] ~]# tar zxf mcrypt-2.6.8.tar.gz  -C /usr/src/
[[email protected] ~]# cd /usr/src/mcrypt-2.6.8/
[[email protected] mcrypt-2.6.8]# ./configure 

 如上圖mcrypt配置的時候出錯,解決如下圖所示。

[[email protected] mcrypt-2.6.8]# export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH
再次進行mcrypt配置./configure

3.編譯安裝PHP

(1.)解包

[[email protected] ~]# tar zxf php-5.3.28.tar.gz  -C /usr/src/
[[email protected] ~]# cd /usr/src/php-5.3.28/
(2.)配置
[[email protected] php-5.3.28]# ./configure --prefix=/usr/local/php5 \
> --with-mcrypt --with-apxs2=/usr/local/httpd/bin/apxs \
> --with-mysql=/usr/local/mysql --with-config-file-path=/usr/local/php5 \
> --enable-mbstring

上述配置命令中,各選項含義如下。

--prefix:指定將PHP程式安裝到哪個目錄下,如/usr/local/php5

--with-mcrypt:載入資料加密等擴充套件工具支援。

--with-apxs2:設定Apache HTTP Server提供的apxs模組支援程式的檔案位置。

--with-mysql:設定MySQL資料庫服務程式的安裝位置。

--with-config-file-path:設定PHP的配置檔案php.ini將要存放的位置。

--enable-mbstring:啟用多位元組字串功能,以便支援中文等程式碼。

(3.)編譯及安裝

[[email protected] php-5.3.28]# make && make install

設定LAMP元件環境

設定LAMP元件環境,主要包括對PHP的配置檔案php.ini、Apache的配置檔案httpd.conf的調整。前者用來確定PHP的執行引數,後者用來載入libphp5.so模組,以便支援PHP網頁。

1.php.ini配置調整

(1.)php.ini的建立及基本設定


選擇其中一個樣例檔案,並複製到PHP的配置檔案目錄/usr/local/php5下,並改名為php.ini。

在php.ini配置檔案中,以分號開頭的內容表示註釋資訊。

[[email protected] ~]# cp /usr/src/php-5.3.28/php.ini-development /usr/local/php5/php.ini

修改php.ini檔案中的配置內容

[[email protected] ~]# vim /usr/local/php5/php.ini 

(2.)新增ZendGuardLoader優化模組

[[email protected] ~]# tar zxf ZendGuardLoader-php-5.3-linux-glibc23-x86_64.tar.gz -C /usr/src/
[[email protected] ~]# cd /usr/src/ZendGuardLoader-php-5.3-linux-glibc23-x86_64/php-5.3.x/
[[email protected] php-5.3.x]# cp ZendGuardLoader.so /usr/local/php5/lib/php/
然後修改php.ini配置檔案,新增載入及啟用ZendGuardLoader.so模組的配置語句。
[[email protected] php-5.3.x]# vim /usr/local/php5/php.ini

2.httpd.conf配置調整

要使httpd非完全支援PHP頁面解析功能,需要通過LoadModule配置項載入PHP程式的模組檔案,並通過AddType配置項新增對".php"型別網頁檔案的支援。除此以外,還應修改DirectoryIndex配置行,新增index.php配置項,以識別常見的PHP首頁檔案。


[[email protected] ~]# vim /usr/local/httpd/conf/httpd.conf

重啟httpd服務

[[email protected] ~]# /usr/local/httpd/bin/apachectl  restart

測試LAMP協同工作


1.測試PHP網頁能否正確顯示

[[email protected] ~]# vim /usr/local/httpd/htdocs/test1.php
<?php
phpinfo();
?>
通過瀏覽器訪問測試PHP環境。

2.測試PHP網頁能否訪問MySQL資料庫

[[email protected] ~]# vim /usr/local/httpd/htdocs/test2.php  
<?php
$link=mysql_connect('locahost','root','123456');
fi($link) echo  "恭喜你,資料庫連線成功啦!!!";
mysql_close();
?>
通過瀏覽器訪問測試資料庫環境。


通過以上配置測試說明,LAMP平臺環境搭建成功!!!

三、部署安裝DedeCMS網站系統平臺

1.解包並複製到網站目錄

[[email protected] ~]# tar zxf DedeCMS-V5.7-GBK-SP1.tar.gz 
[[email protected] ~]# cd DedeCMS-V5.7-GBK-SP1/
[[email protected] DedeCMS-V5.7-GBK-SP1]# ls
docs  uploads
[[email protected] DedeCMS-V5.7-GBK-SP1]# mv uploads/ /usr/local/httpd/htdocs/
2、訪問並開始安裝DedeCMS網站





3.設定網站具有寫入許可權



4.在MySQL建立DedeCMS資料庫,並授權使用者為dede。


5.繼續安裝DedeCMS網站



訪問DedeCMS前臺:


訪問DedeCMS後臺:



6.為了安全起見建議將dede改名,並且要設定合理的許可權!!!

注意:如下圖所示,標記黃色部分的是dede後臺頁面的安全提示資訊。


四、DedeCMS網站內容釋出及維護

1.網站欄目管理

常用操作最常用的一個就是網站欄目管理,首先要做的工作就是進行頂級欄目的新增。頂級欄目概括了整個網站的全部,在頂級欄目中可以建立分欄目,在分欄目中可以新增文章等內容。

如下圖所示:


(1.)首先單擊網站欄目管理,然後在單擊增加頂級欄目,則會出現新增頂級欄目介面。



(2.)這時在列表中多出了個欄目節點,單擊此欄目節點後的“增加子類”。




(3.)單擊此欄目會出現此欄目的文章列表。因為是一個新建的欄目,所以下面沒有任何的文章,單擊新增文件,則會出現新增文件介面。



(4.)儲存之後出現以下介面,然後點選生成選單下的一鍵更新網站,點選更新所有單選按鈕之後,單擊開始更新按鈕。






(5.)訪問前臺頁面,驗證效果



五、更換DedeCMS模板介面

如何更換模板呢?推薦三個下載的地方

1.官方論壇

2.DedeCMS模板堂

3.模板無憂

關於怎麼更換模板呢?這裡就不一一詳解了,如果想換模板風格的話只需進到網站根目錄。把template模板目錄替換掉即可!!!

關於使用Apache模組編譯安裝搭建lamp平臺以及到後面又部署了一個DedeCMS網站,就演示完畢了@!!!!

希望對你有所幫助!!!@@再見!!!!再見再見再見