使用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標記語言的結合度非常好,即使是非專業的程式設計師也能夠輕鬆讀懂乃至修改網頁程式碼。
方便易用:
安全和穩定:得益於開源的優勢,大量的程式設計師在關注並持續改進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網站,就演示完畢了@!!!!
希望對你有所幫助!!!@@再見!!!!