您好,登錄后才能下訂單哦!
本文主要描述基于php模塊方式編譯安裝LAMP平臺過程.
軟件安裝次序:
1. 編譯安裝httpd-2.4.16
2. 二進制程序安裝mysql-5.5.44
3. 編譯安裝php-5.4.26
++++++++++++++++++
編譯安裝httpdhttpd-2.4.16
1-1. yum安裝依賴組包:
# yum groupinstall -y "Development Tools"
# yum groupinstall -y "Server Platform Development"
1-2. yum安裝依賴包:
# yum -y install pcre-devel
# yum install openssl-devel
2. 編譯安裝apr-1.5.2, apr作用類似于httpd的虛擬機
# tar xf apr-1.5.2.tar.bz2
# cd apr-1.5.2
# ./configure --prefix=/usr/local/apr
# make && make install
3. 編譯安裝apr-util-1.5.4, apr-util需要依賴apr模塊
# tar xf apr-util-1.5.4.tar.bz2
# cd apr-util-1.5.4
# ./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr
#make && make install
4. 編譯安裝httpd-2.4.16
# tar xf httpd-2.4.16.tar.bz2
# cd httpd-2.4.16
# ./configure --prefix=/usr/local/apache --sysconfdir=/etc/httpd24 --enable-so --enable-ssl --enable-cgi --enable-rewrite --with-zlib --with-pcre --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util --enable-modules=most --enable-mpms-shared=all --with-mpm=event
# make && make install
##### configure配置字段解釋: --prefix=/usr/local/apache 指定默認路徑 --sysconfdir=/etc/httpd24 配置文件路徑 --enable-so 支持dso動態加載模塊 --enable--ssl 支持ssl協議 --enable-cgi 支持cgi接口 --enable-rewrite 支持url重寫 --with-zlib 支持gzip對數據進行壓縮 --with-pcre 支持pcre正則模塊 --with-apr=/usr/local/apr 指定apr位置 --with-apr-util=/usr/local/apr-util 指定apr-utl位置 --enable-modeles=most 啟用常用模塊 --enable-mpms-shared=all 安裝所有mpm模塊 --with-mpm=event 默認使用event模塊 #####
5. httpd-2.4.16安裝完成后, 對httpd進行相關配置
5-1. 設置httpd的PID文件路徑
編輯配置文件/etc/httpd24/httpd.conf
添加內容為: PidFile "/var/run/httpd.pid"
用于設置httpd的pid文件路徑為/var/run/httpd.pid
5-2. 為httpd添加服務器腳本, 復制rpm包安裝生成的SysV服務腳本文件/etc/rc.d/init.d/httpd, 修改以下字段內容(修改內容應該與本次編譯時的參數相匹配)
##### apachectl=/usr/local/apache/bin/apachectl httpd=${HTTPD-/usr/local/apache/bin/httpd} prog=httpd pidfile=${PIDFILE-/var/run/httpd.pid} lockfile=${LOCKFILE-/var/lock/subsys/httpd} RETVAL=0 STOP_TIMEOUT=${STOP_TIMEOUT-10} #####
而后為此腳本賦予執行權限:
# chmod +x /etc/rc.d/init.d/httpd
將服務器腳本加入服務列表:
# chkconfig --add httpd
加入服務列表后查看該服務的運行級別顯示所有級別下都不運行, 因為在配置文件中就沒有要求該服務隨機啟動
# chkconfig --list httpd
httpd 0:off 1:off 2:off 3:off 4:off 5:off 6:off
到此為止httpd-2.4.16就已經編譯安裝完成, 并已經成功運行.
5-3. 啟動httpd程序, 驗證是否可用
編輯httpd網頁文件
# vim /usr/local/apache/htdocs/index.html
添加如下內容: <h2>working...</h2>
通過瀏覽器訪問本地主機IP地址, 查看能夠顯示指定內容working..., 檢查httpd是否正常運行
++++++++++++++++++
二進制程序安裝mysql-5.5.44
1. 文件系統前提條件: 在單獨的磁盤分區上創建目錄用于存放mysql的數據庫文件
1-1. 在磁盤/dev/sda上創建10G大小的新分區/dev/sda5, 設置其類型為8e(LVM)
# fdisk /dev/sda, 在交換式命令行中執行相應操作
# partx -a /dev/sda
1-2. 創建大小為5G的LV: lvdata
# pvcreate /dev/sda5
Physical volume "/dev/sda5" successfully created
# pvs
PV VG Fmt Attr PSize PFree
/dev/sda5 lvm2 --- 10.00g 10.00g
# vgcreate vgdata /dev/sda5
Volume group "vgdata" successfully created
# vgs
VG #PV #LV #SN Attr VSize VFree
vgdata 1 0 0 wz--n- 10.00g 10.00g
# lvcreate -L 5G -n lvdata vgdata
Logical volume "lvdata" created
# lvs
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
lvdata vgdata -wi-a----- 5.00g
1-3. 將磁盤分區/dev/mapper/vgdata-lvdata的文件系統格式化為ext4, 并掛載至/data目錄中
[root@Node161 ~]# mke2fs -t ext4 /dev/mapper/vgdata-lvdata
mke2fs 1.41.12 (17-May-2010)
# mkdir /data
# mount /dev/mapper/vgdata-lvdata /data
1-4. 在/data目錄下創建mysql_data目錄, 用于存放數據庫文件系統,
# mkdir /data/mysql_data
1-5. 編輯文件系統掛載配置文件/etc/fstab, 填入以下內容, 將/dev/mapper/vgdata-lvdata文件系統默認掛載至/data目錄
# vim /etc/fstab
/dev/mapper/vgdata-lvdata /data ext4 defaults,noatime 0 0
2. 為mysql創建系統用戶
創建系統組mysql
# groupadd -r mysql
創建系統用戶mysql, 并設置其屬組為mysql, 默認shell為/sbin/nologin, 默認目錄為/data/mysql_data
# useradd -g mysql -r -s /sbin/nologin -M -d /data/mysql_data/ mysql
設置目錄/data/mysql_data的屬主屬組為mysql:mysql
# chown -R mysql:mysql /data/mysql_data
3. 二進制安裝程序包mysql-5.5.44
mysql的自帶安裝教程為: 安裝程序主目錄下的INSTALL-BINARY文件
3-1. 將mysql-5.5.44安裝程序加壓后放置在/usr/local目錄下
# tar xf mysql-5.5.44-linux2.6-x86_64.tar.gz -C /usr/local/
# cd /usr/local/
3-2. 創建mysql-5.5.44-linux2.6-x86_64安裝程序目錄的軟連接文件mysql, 該步驟目的是便于保留版本信息
# ln -sv mysql-5.5.44-linux2.6-x86_64 mysql
3-3. 修改安裝程序目錄下所有文件的屬主屬組為mysql:mysql
# chown -R mysql:mysql mysql/*
3-4. 執行安裝程序自帶的安裝文件/usr/local/mysql/scripts/mysql_install_db, 并指用戶為mysql, 數據目錄為/data/mysql_data, 安裝指導文件位置為/usr/local/mysql/INSTALL-BINARY
# /usr/local/mysql/scripts/mysql_install_db --user=mysql --datadir=/data/mysql_data
4. 修改mysql的相關配置文件
將安裝程序自帶的配置文件保存為/etc/my.cnf文件, 并修改配置文件中的指定字段
安裝程序的support-files/目錄下會根據設備內存大小自帶多種程序的配置文件my-*.cnf, 可以先查看配置文件中的描述情況, 選擇適合自己主機的配置文件保存為指定的目標文件
# cp /usr/local/mysql/support-files/my-huge.cnf /etc/my.cnf
修改創建的配置文件中的以下字段:
thread_concurrency = # 設置本機CPU個數, #應該為當前主機CPU個數x2
datadir = /data/mysql_data 添加字段指定mysql數據文件的默認存放位置
5. 添加mysql的SysV服務腳本
5-1. 復制安裝程序自帶的服務腳本文件保存為/etc/rc.d/init.d/mysqld
服務腳本文件保存名稱為mysqld表示為mysql服務器, 而防止與mysql客戶端混淆
# cp /usr/local/mysql/support-files/mysql.server /etc/rc.d/init.d/mysqld
5-2. 對服務腳本文件添加執行權限, 并添加至開機啟動列表
# chmod +x /etc/rc.d/init.d/mysqld
# chkconfig --add mysqld
# chkconfig mysqld on
# chkconfig --list mysqld
mysqld 0:off 1:off 2:on 3:on 4:on 5:on 6:off
6. 對二進制安裝的mysql-5.5.44程序執行以下操作
6-1. 將程序搜索路徑加入PATH環境變量, 在全局環境變量中使用mysql命令時使用安裝程序mysql-5.5.44自帶的mysql客戶端程序
# vim /etc/profile.d/mysql.sh
添加如下字段:
export PATH=${PATH}:/usr/local/mysql/bin
6-2. 導出mysql-5.5.44帶有的頭文件
# ln -sv /usr/local/mysql/include /usr/include/mysql
6-3. 導出mysql-5.5.44的庫文件到系統的庫查找路徑
# echo '/usr/local/mysql/lib' > /etc/ld.so.conf.d/mysql.conf
6-4. 在man手冊中添加mysql-5.5.44幫助文件搜索路徑
# echo 'MANPATH /usr/local/mysql/man' >> /etc/man.config
此時mysql-5.5.44已經安裝完成
++++++++++++++++++
編譯安裝php-5.4.26
1. 安裝相關依賴包
1-1. yum安裝 Desktop Platform Development, bzip2-devel, libxml2-devel, php-mysql-devel
# yum -y groupinstall "Desktop Platform Development"
# yum install bzip2-devel libxml2-devel php-mysql
1-2. rpm包安裝 libmcrypt-devel, 及其依賴的關系包libmcrypt, libmcrypt 用于php支持讀取多字節數據
# rpm -ivh libmcrypt-2.5.8-9.el6.x86_64.rpm libmcrypt-devel-2.5.8-9.el6.x86_64.rpm
2. 編譯安裝php-5.4.26
# tar xf php-5.4.26.tar.gz
# cd php-5.4.26
# ./configure --prefix=/usr/local/php --with-mysql=/usr/local/mysql --with-openssl --with-mysqli=/usr/local/mysql/bin/mysql_config --enable-mbstring --with-freetype-dir --with-jpeg-dir --with-png-dir --with-zlib --with-libxml-dir=/usr --enable-xml --enable-sockets --with-apxs2=/usr/local/apache/bin/apxs --with-mcrypt --with-config-file-path=/etc --with-config-file-scan-dir=/etc/php.d --with-bz2 --enable-maintainer-zts
# make && make install
#####
configure配置字段說明 --prefix=/usr/local/php 指定安裝目錄 --with-openssl 啟用openssl --enable-mbstring 啟用多字節,支持字符串 --with-freetype-dir 啟用對freetype字體庫的支持 --with-jpeg-dir 啟用對jpeg圖片的支持 --with-png-dir 啟用對png圖片的支持 --with-zlib 啟用對壓縮庫的支持 --with-libxml-dir=/usr 啟用libxml2庫的支持 --enable-xml 啟用xml --enable-sockets 啟用對套接字的支持 --enable-fpm 啟用fpm模塊 --with-mcrypt 啟用對加密的支持 --with-config-file-path=/etc 指定編譯安裝時配置文件安裝的路徑 --with-config-file-scan-dir=/etc/php.d 指定php.ini文件的安裝路徑 --with-bz2 啟用b2壓縮 --enable-maintainer-zts 啟用對worker和event的支持
php和mysql部署在不同設備時的安裝選項
--with-mysql=mysqlnd 指定使用mysql
--with-pdo-mysql=mysqlnd 啟用pdo模塊
--with-mysqli=mysqlnd 啟用mysqli,優化支持
php和mysql部署在同一設備時的安裝選項--本次安裝使用該分支選項
--with-mysql=/usr/local/mysql 指定使用本地mysql
--with-mysqli=/usr/local/mysql/bin/mysql_config 指定本地mysql的配置文件
#####
3. 修改php的相關配置文件
3-1. 復制php源碼包目錄下的php.ini-production文件作為當前程序的配置文件
# cp php-5.4.26/php.ini-production /etc/php.ini
3-2. 修改httpd的配置文件, 將php作為httpd模塊進行調用
# vim /etc/httpd/httpd.conf
添加如下二行, 添加httpd對php的支持
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps
修改 DirectoryIndex index.html 字段
DirectoryIndex index.php index.html 添加默認識別php文件
此時php已經安裝完成, 并且已經建立完成php與httpd的模塊方式連接關系
+++++++++++++++++++
測試LAMP平臺的連通性
LAMP架構已經搭建完成, 現在需要創建一個測試頁面來測試該架構是否正常運行
1. 在數據庫文件系統中修改用戶密碼, 測試LAMP的連通性
mysql> use mysql;
mysql> show tables;
mysql> desc user;
mysql> select User,Host,Password from user;
mysql> set password for 'root'@'localhost' = password('mysqladmin');
# 修改root@localhost的密碼為mysqladmin, 正常登陸
mysql> flush privileges;
2. 在httpd的默認目錄下創建php格式的測試文件index.php
# vim /usr/local/apache/htdocs/index.php, 添加如下內容:
<?php $link = mysql_connect('localhost','root','mysqladmin'); # 指定登錄mysql的用戶名為root@localhost, 密碼為mysqladmin if ($link) echo "php --> mysql"; # 輸出顯示: "php --> mysql", 則表示php和mysql連接成功 else echo "php -|- mysql"; # 輸出顯示"php -|- mysql", 則表示php和mysql無法正常連接 mysql_close(); phpinfo(); # 顯示php的信息測試頁表示httpd和php連接成功, 不顯示則表示二者沒有正常連接 ?>
通過訪問httpd的默認頁面查看其運行狀態
+++++++++++++++++++
至此, php基于模塊形式編譯安裝的LAMP平臺已經搭建完成.
本人水平有限, 如有理解不當的地方, 請大家給予指正, 非常感謝!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。