完全編譯安裝LAMP

標題是用來吸引你進來看的,其實也不是完全的對linux、apache、mysql和PHP編譯安裝。

首先linux使用的是redhat的,當然內核想自己編譯一個也可以,然後mysql採用的是官方給的編譯好的二進制包,個Windows下的綠色軟件差不多,只需要一些簡單的設置就能使用Apache和PHP是去官方網站下載的最新的源碼包。

  • 準備編譯環境

在yum中安裝 Development Libraries Development Tools X Software Development這三個包組

  • 編譯安裝apache

從官方網站下載最新的apache 解壓縮,然後進入解壓出來的目錄 進行編譯

  1. #./configure //檢查與編譯環境
  2. #./configure --help //查看有的編譯參數
  3. 常用的選項 --prefix=/PATH/TO/INSTALL //設定默認安裝路徑
  4. --sysconfdir=/ETC/PATH //設定配置文件的安裝路徑
  5. --includedir=DIR //頭文件的安裝路徑
  6. --docdir=DIR //指定網頁文件的路徑
  7. --enable-* //表示支持/啓用某些功能
  8. --disable-* //表示關閉某些功能
  9. --with-* //表示包含子代碼包一起編譯或者指定依賴的軟件包的位置
  10. #./configure --prefix=/usr/local/apache2 --sysconfdir=/etc/httpd --enable-so --enable-ssl--enable-track-vars --enable-rewrite --with-zlib --enable-mods-shared=most
  11. #make //編譯
  12. #make install //編譯完成之後執行安裝

apache的編譯安裝就初步的完成了,接下來做一些收尾的工作

    • 使安裝目錄下的bin目錄被系統識別
      • 打開/etc/profile文件添加一行PATH=$PATH:/usr/local/apache2
      • . /etc/profile 命令重新是系統加載
    • 使安裝目錄下的include目錄被系統識別
      • 在/usr/include目錄下爲安裝目錄下的include目錄創建軟連接,是安裝的頭文件目錄能被系統識別
    • 使安裝目錄下的man目錄能被系統識別
      • 在/etc/man.config文件中添加一行 MANPATH /usr/local/apache2/man
    • 使安裝目錄下的lib目錄能被系統識別
      • 在/etc/ld.so.conf.d/目錄下創建一個.conf結尾的文件,在文件中添加一行/usr/local/apache2/lib
      • #ldconfig 命令重新加載

主配置文件/etc/httpd/httpd.conf
主配置文件中常用的選項

全局服務配置
ServerRoot(服務的根目錄)
PidFile(判斷此進程是否處在正常狀態)
Timeout(httpTCP三次握手的超時時間)
keepalive(保持|保活連接)
maxkeepaliverequests(保持連接最多傳輸文件數目)
keepaliveTime(保活連接的超時時間)
Listen(監聽的IP和端口,可以有多個)
LoadModule(加載apache的路徑)
Include(配置文件模塊)
User (以哪個用戶的身份運行)
Group(以哪個組的身份運行)

主服務配置 只提供一個web服務器 (和虛擬主機不同時使用)註釋掉DoucumentRoot就關閉
ServerAdmin(服務器管理員的郵箱)
DoucumentRoot(定義存放網頁文件的目錄)
ServerName(服務器主機名/IP)
DoucumentRoot(定義存放網頁的位置) 受Selinu控制,需要改目錄的標籤
DirectoryIndex(定義主頁的名字按從前到後的次序)
ErrorLog(錯誤日誌的存放位置)
LogLevel(記錄日誌的級別)
LogFormat(定義日誌格式,被訪問日誌用到)
CustomLog 位置 級別 (訪問日誌的存放位置) 日誌屬主屬組都是root用戶 日誌是apache非常重要的工具
Alias(別名路徑別名,將不在當前網頁文件目錄下映射在網頁存放路徑下)
Alias 別名 "要映射的目錄"
ScroptAlias (動態腳本目錄的別名)
ScroptAlias 別名 "存放的目錄"
AddDefaultCharset(默認字符集)
AddType(添加apache所支持的文件編碼)

虛擬主機配置
將主配置文件中的DoucumentRoot 行註釋掉,然後將 Include /etc/httpd/extra/httpd-vhosts.conf 這一行開啓
在 /etc/httpd/extra/httpd-vhosts.conf 文件中配置 虛擬主機
虛擬主機分爲基於IP的虛擬主機、基於端口的虛擬主機和基於主機頭的虛擬主機
NameVirtualHost *:80 基於主機頭的虛擬主機需要啓動這個選項
<VirtualHost 套接字>
ServerName (主機的名稱)
DoucumentRoot "目錄" (網頁文件存放路徑)
ErrorLog 指定網站單獨的錯誤日誌
CustomLog 指定網站單獨的訪問日誌
...單獨爲一個虛擬主機設置的其他選項
</VirtualHost>
使用IP訪問基於端口或主機頭的虛擬主機默認返回第一個虛擬主機

使用 /usr/local/apache2/bin/apachectl [start|restart|stop]開始|重啓|停止apache服務
如果想使用service來控制服務的話可以自己寫一個一個控制腳本放在 /etc/init.d目錄下或者修改紅帽rpm包安裝是放在/etc/init.d 目錄下的httpd腳本然後使用chkconfig –add 將腳本天驕到系統中

  • 到此apache的編譯安裝基本完成,已經可以正常使用apache提供的服務了微笑

  • 安裝MySQL

mysql使用的是官方給的編譯好的二進制包,不需要編制只要簡單的配置下就可以使用了
因爲是官方編譯好的所以使用的時候會必須放在/usr/loca/mysql 目錄下,我們可以將下載的壓縮包解壓出來,然後在/usr/local/下創建一個軟連接文件mysql,將mysql指向解壓出來的目錄

然後就開始安裝mysql

  1. #groupadd mysql //創建mysql組
  2. #useradd -r -g mysql mysql //創建mysql用戶並指定其爲mysql組
  3. #cd /usr/local/mysql //切換到mysql
  4. #chown -R mysql:mysql . //改變mysql目錄和目錄下的所有文件和目錄的屬組屬主爲mysql
  5. #scripts/mysql_install_db --user=mysql --datadir=path //配置安裝mysql
  6. --datadir=path //指定數據文件的位置
  7. --user=mysql //指定以那個用戶的身份啓動
  8. #chown -R root . /爲了系統安全安裝完成後將文件的屬主改爲root
  9. #chown -R mysql:mysql /path/data/file //將數據存放的目錄及下面的文件屬組屬主改爲mysql

安裝完成後在 /usr/local/mysql/support-files 目錄下複製合適的主配置文件到 /etc目錄下重命名爲 my.cnf (mysql的主配置文件以 .cnf 結尾)
在主配置文件的[mysqld] 下面 添加一行 datadir = /path/data/file 用來指定數據文件的存放位置

然後同樣的方法讓使bin,include,man,lib四個目錄被系統識別

mysql還提供了一個可以讓service 調用的腳本 /usr/local/mysql/support-files/mysql.server 只需要將這個腳本複製到 /etc/init.d 目錄下重命名爲mysqld
然後chkconfig –add mysqld 就可以使用service 和 chkconfig 啓動停用mysql的服務端了

  • MySQL的安裝結束,可以正常的使用mysql服務了 微笑

  • 編譯安裝PHP

從官方網站下載最新的PHP 解壓縮,然後進入解壓出來的目錄 進行編譯

  1. #./configure //檢查與編譯環境
  2. #./configure --help //查看有的編譯參數
  3. 常用的選項 --prefix=/PATH/TO/INSTALL //設定默認安裝路徑
  4. --with-apxs2= //表示將PHP編譯安裝稱apache的模塊,指定apache的apxs文件的位置
  5. --with-mysql= //編譯的時候自動編譯訪問mysql的驅動,指定mysql的安裝位置
  6. --with-mysqli= //指定mysql接口話的訪問的配置文件的位置
  7. --with-libxml-dir
  8. --with-png-dir
  9. --with-jpeg-dir
  10. --with-zlib-dir
  11. --with-pear
  12. --with-gd //讓PHP實現基於網頁的繪圖功能
  13. --enable-mbstring
  14. #./configure --prefix=/usr/local/php5 --prefix=/usr/local/php5 --enable-mbstring --with-apxs2=/usr/local/apache/bin/apxs --with-mysql=/usr/local/mysql --with-pear --with-pdo-mysql=/usr/local/mysql --with-png-dir --with-gd --with-zlib --with-png-dir
  15. #make //編譯
  16. #make install //編譯完成之後執行安裝
  17. #cp php.ini-production /usr/local/php/lib/php.ini //複製配置文件帶/etc 目錄下

編輯apache配置文件httpd.conf,以apache支持php
# vi /etc/httpd/httpd.conf
1、添加如下二行
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps
2、定位至DirectoryIndex index.html
修改爲:
DirectoryIndex index.php index.html
重啓httpd,apache就能識別php文件了

  • PHP的安裝結束,可以打開php網頁了 微笑

然後一個LAMP服務器就搭建完成了!^_^

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章