標籤:php linux 伺服器 server 二進位
實驗環境:
1.VMware
2.兩台linux子機
3.橋接,本機當客戶機
實驗目的:
1.編譯HTTPD和編譯PHP、編譯MYSQL,熟悉編譯過程和原理
2.HTTPD和PHP在同一台伺服器上,PHP作為HTTPD的模組來與MYSQL建立串連
實驗拓撲:
650) this.width=650;" title="[4@]~5`1`C8E{1Q(M%5P$W3.jpg " alt="wKioL1P2DRbypisiAABre0erW90597.jpg" src="http://s3.51cto.com/wyfs02/M02/47/11/wKioL1P2DRbypisiAABre0erW90597.jpg" />
二進位格式安裝mysql
1.安裝包組和依賴所用到的包
#yum install pcre-devel#yum groupinstall ‘development tools’#yum groupinstall ‘desktop platform development’#yum groupinstall ‘server platform development’
2.編譯安裝apr和編譯安裝apr-util
#tar xf apr-1.5.0.tar.bz2#cd apr-1.5.0#./configure --prefix=/usr/local/apr //安裝路徑#make && make install #tar xf apr-util-1.5.3.tar.bz2#cd apr-util-1.5.3#./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr#make && make install
3. 建立使用者以安全方式運行進程
#useradd mysql -r -s /sbin/nologin mysql
4.配置mysql,二進位格式的mysql包是解壓出來只要配置一下就可以用的
#mkdir /mydata/data //建立資料目錄#chown mysql:mysql /mydata/data#cd /usr/local#tar xf mariadb-5.5.36-linux-x86_64.tar.gz#ln –sv mariadb-5.5.36-linux-x86_64.tar.gz mysql#cd mysql#chown –R root:mysql ./*#mkdir /etc/mysql#cp support-files/my-large.cnf /etc/mysql/my.cnf#vim my.cnf
在下面添加一行資料目錄的路徑
650) this.width=650;" title="8F69%V`)1OQ%43LDAGNJ[6D.jpg " alt="wKiom1P2EiujOo1tAAHHSiZSuAE435.jpg" src="http://s3.51cto.com/wyfs02/M01/47/0F/wKiom1P2EiujOo1tAAHHSiZSuAE435.jpg" />
#cd /usr/local/mysql/#scripts/mysql_install_db --user=mysql --datadir=/mydata/data//初始化mysql
5.提供服務開機檔案
#cd /usr/local/mysql#cp support-files/mysql.server /etc/rc.d/init.d/mysqld#chmod +x /etc/rc.d/init.d/mysqld#chkconfig --add mysqld#service mysqld start
650) this.width=650;" title="ECUQ(`]5TL}XFZF}E}JO_KD.jpg " alt="wKioL1P2FRKAg1f4AAA-sR3at5g524.jpg" src="http://s3.51cto.com/wyfs02/M00/47/11/wKioL1P2FRKAg1f4AAA-sR3at5g524.jpg" />
6.加入環境變數,否則服務啟用mysql命令
#vim /etc/profile.d/mysql.sh
650) this.width=650;" title="{0AKUIZ%8PZB]6QCRZ9}K7N.jpg" alt="wKiom1P2FIXh6KCPAABESlGTuD4673.jpg" src="http://s3.51cto.com/wyfs02/M01/47/0F/wKiom1P2FIXh6KCPAABESlGTuD4673.jpg" />
這樣就能用mysql命令進入資料庫了
7.匯出man手冊
#vim /etc/man.config
650) this.width=650;" title="UZS7H%VBU2OCJEY)GF[~O2E.jpg" alt="wKioL1P2FtOAPfLHAAC8w0xf6PU276.jpg" src="http://s3.51cto.com/wyfs02/M02/47/11/wKioL1P2FtOAPfLHAAC8w0xf6PU276.jpg" />
到這裡,mysql就配置完成了,重新啟動,mysql就監聽在3306連接埠了
編譯安裝php
1.安裝包組和依賴所用到的包
#yum install pcre-devel#yum groupinstall ‘development tools’#yum groupinstall ‘desktop platform development’#yum groupinstall ‘server platform development’
2.編譯安裝apr和編譯安裝apr-util
#tar xf apr-1.5.0.tar.bz2#cd apr-1.5.0#./configure --prefix=/usr/local/apr#make && make install #tar xf apr-util-1.5.3.tar.bz2#cd apr-util-1.5.3#./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr#make && make install
3.安裝php
#./configure --prefix=/usr/local/php --with-mysql=mysqlnd --with-pdo-mysql=mysqlnd --with-mysqli=mysqlnd --with-openssl--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/httpd/bin/apxs --with-mcrypt=/usr/local/libmcrypt --with-config-file-path=/etc --with-config-file-scan-dir=/etc/php.d --with-bz2 -enable-maintainer-zts
代碼詳解:
--prefix=/usr/local/php:設定安裝路徑--with-mysql=mysqlnd --with-pdo-mysql=mysqlnd --with-mysqli=mysqlnd:因為php跟mysql不在同一台伺服器上,所以這裡要這樣做--with-openssl:編譯支援openssl支援--enable-mbstring:支援多位元組字串,如果想支援中文,這個是必須啟用的--with-freetype-dir:字型處理工具,要實現字型的功能,要把這個裝上--with-jpeg-dir:能夠直接產生jpeg圖片--with-png-dir:png圖片--with-zlib:支援壓縮庫--with-libxml-dir=/usr:指定xml的庫檔案路徑--enable-xml:啟用xml功能--enable-sockets:允許php基於sockets方式進行通訊--with-apxs2=/usr/local/apache/bin/apxs:編譯共用的 Apache 2.0 模組--with-mcrypt:支援加密庫--with-config-file-path=/etc:php的設定檔存放位置--with-config-file-scan-dir=/etc/php.d:所有以.ini結尾的檔案存放位置--with-bz2:支援bz2壓縮--enable-maintainer-zts:表示使用zts格式的php
提示請重新安裝bzip2,這裡需要安裝bzip2和bzip2-devel這兩個包,用yum安裝吧
650) this.width=650;" title="@6O0]M%LT(60O5$0ZBNJ9SW.jpg" alt="wKiom1P2F-XBj-_-AAFi7cqheeg522.jpg" src="http://s3.51cto.com/wyfs02/M02/47/0F/wKiom1P2F-XBj-_-AAFi7cqheeg522.jpg" />
沒有找到libmcrypt這個包,這裡我的光碟片上沒有這個包,那就下載編譯好了。
650) this.width=650;" title="S@{L(FOXD0@)85VIPUP{B{9.jpg" alt="wKioL1P2GU-gg-4GAAExCSzs8h8445.jpg" src="http://s3.51cto.com/wyfs02/M01/47/11/wKioL1P2GU-gg-4GAAExCSzs8h8445.jpg" />
4.編譯安裝libmcrypt
#tar xf libmcrypt-2.5.7.tar.gz#cd libmcrypt-2.5.7#./configure --prefix=/usr/local/libmcrypt#make && make install
這樣libmcrypt的次錯誤就消失了,這又出現了一個錯誤,是我粗心,打錯字母了,應該是“file”,還有bzip2應該改成bz2。
650) this.width=650;" title="RK@M]$DR5UZ`ST6[Y)SQ)`4.jpg " alt="wKiom1P2GKHQw4IZAAD10M__DVw975.jpg" src="http://s3.51cto.com/wyfs02/M01/47/0F/wKiom1P2GKHQw4IZAAD10M__DVw975.jpg" />
這下終於沒有錯誤了,就可以安裝了
650) this.width=650;" title="I07YSID6TST5L)}6{E@V]UE.jpg" alt="wKioL1P2Gg3TDd0jAAIC35GQgbU887.jpg" src="http://s3.51cto.com/wyfs02/M00/47/11/wKioL1P2Gg3TDd0jAAIC35GQgbU887.jpg" />
#make && make install
5.安裝好之後編輯httpd的設定檔
#Vim /etc/httpd/httpd.conf
在裡面添加兩行,意思是讓apache支援php
650) this.width=650;" title="APSY{1_49(JP%85)IL2H8{W.jpg" alt="wKioL1P2Gnaxf5ZFAABf5foq7fU337.jpg" src="http://s3.51cto.com/wyfs02/M02/47/11/wKioL1P2Gnaxf5ZFAABf5foq7fU337.jpg" />
6.提供php的主設定檔
#cd php-5.4.26#cp php.ini-production /etc/php.ini
重啟httpd服務
650) this.width=650;" title="M[~W_6(X`HKLIU}EX%O3G6Y.jpg " alt="wKiom1P2GcCR0rrrAAB7R9sOCmI612.jpg" src="http://s3.51cto.com/wyfs02/M02/47/0F/wKiom1P2GcCR0rrrAAB7R9sOCmI612.jpg" />
7.提供php的測試頁面,測試
#vim /usr/local/httpd/htdocs/index.php
650) this.width=650;" title="F9WN~`S_GC[O~BLJKQIS8@S.jpg " alt="wKioL1P2G3vBVQ8HAAA7iSxSNU8581.jpg" src="http://s3.51cto.com/wyfs02/M02/47/11/wKioL1P2G3vBVQ8HAAA7iSxSNU8581.jpg" />
650) this.width=650;" title="YWVJH2[SVAK~(ZQ9DE0ZIUX.jpg" alt="wKiom1P2GifhxeP9AAGOsF7R5v8972.jpg" src="http://s3.51cto.com/wyfs02/M00/47/0F/wKiom1P2GifhxeP9AAGOsF7R5v8972.jpg" />
8.測試php與mysql的串連
#yum install php-mysql //這個包必須裝上,因為php是依賴於php-mysql這個 //包跟mysql通訊的#vim /usr/local/httpd/htdocs/index.php
650) this.width=650;" title="_{EY$)FNBIX2@K$]F{6B[~L.jpg" alt="wKiom1P2GtORNm5mAACbYwJl-fk107.jpg" src="http://s3.51cto.com/wyfs02/M01/47/10/wKiom1P2GtORNm5mAACbYwJl-fk107.jpg" />
650) this.width=650;" title="TTVV2P)`DL6)H9EH$KD`DAY.jpg " alt="wKioL1P2HAfRYgUcAACdw3_pvW0243.jpg" src="http://s3.51cto.com/wyfs02/M00/47/11/wKioL1P2HAfRYgUcAACdw3_pvW0243.jpg" />
到此為止,php作為httpd的模組與mysql串連就成功了,httpd的編譯在我部落格的前一篇有,這裡不再編譯。
本文出自 “魚兒” 部落格,請務必保留此出處http://kyfish.blog.51cto.com/1570421/1543343