<postfix郵件服務下mysql的升級>

來源:互聯網
上載者:User

本片服務的環境的紅帽的企業版6.5 的,6.3的測試可能會略有不一樣,不過方法大致是一樣的。

 

當前系統的postfix的版本為 postfix-2.6.6-2.2.el6_1.x86_64

 

我們要向使用最新的就要去網上dow下最新的。擷取新的postfix的包 postfix-2.11.0.tar.gz

解壓 後會產生一個目錄,切換到此目錄下。  cd postfix-2.11.0

 

我們之前的文章提到過要是有.spec的檔案可以打裝成安裝包,直接安裝就很方便了 find -name '*.spec',發現沒有.spec這樣的檔案。

我們知道很多源碼包的編譯安裝都是從INSTALL這個檔案中擷取協助。

 

vim INSTALL //可以查看到安裝升級的協助,下面是檔案裡的關鍵行模板。

$ make -f Makefile.init makefiles

找到關鍵的行,產生編譯檔案,進行編譯 make -f Makefile.init makefiles 缺少庫檔案,安裝庫檔案。

 

6.3的版本mysql-devel這個包包。要是6.5的話,直接裝 yum install db*-devel -y這樣就ok了

 

然後重新編譯 make -f Makefile.init makefiles,編譯完成後會發現mysql這個外掛程式消失了,顯然這不是我們想要的結果。

可以查看到到mail服務所支援的服務和外掛程式

postconf -a

postconf -A

postconf -m

make tidy //編譯完成或失敗都會產生很多臨時檔案,會造成我們日後其他服務的障礙,清除編譯產生的臨時檔案

 

cd README_FILES/  //我們也知道很多源碼包都一樣,除了INSTALL可以擷取協助,下一個就是 README_FILES目錄,裡面寫了很多關於mail其他外掛程式的升級方案。

 

less MYSQL_README //查看mail下mysql的編譯協助

找到下面的行:他會提示說,如果你是其他linux版本使用上面這個,要是 Solaris就使用下面這個,當然下面的只是模板。

/*

In order to build Postfix with mysql map support, you will need to add - DHAS_MYSQL and -I for the directory containing the mysql headers, and the mysqlclient library (and libm) to AUXLIBS, for example:

    make -f Makefile.init makefiles \         'CCARGS=-DHAS_MYSQL -I/usr/local/mysql/include' \         'AUXLIBS=-L/usr/local/mysql/lib -lmysqlclient -lz -lm'

On Solaris, use this instead:

    make -f Makefile.init makefiles \         'CCARGS=-DHAS_MYSQL -I/usr/local/mysql/include' \         'AUXLIBS=-L/usr/local/mysql/lib -R/usr/local/mysql/lib \             -lmysqlclient -lz -lm'

*/

 

 

下面的版本是6.5的,6.3的略有不一樣,不過方法一樣

rpm -ql mysql-devel  //查看mysql的編譯/庫 路徑,為什麼需要下面的路徑,上面的編譯會調用gcc和庫檔案,很多軟體都是c寫的,它需要找到c和庫的標頭檔。.h開頭的都是c檔案。

這個是6.5 的,上面mysql編譯,把這兩個路徑粘貼過去就ok了,

/usr/include/mysql/sslopt-case.h

/usr/lib64/mysql/libmysqlclient.so

6.3

/usr/include/mysql/typelib.h
/usr/lib/mysql/libmysqlclient.so
的是下面的樣子:

 

mkae tidy  //清除上次上次編譯失敗的檔案,

make -f Makefile.init makefiles

CCARGS表示宏。用於替換makefile中的預設值 'CCARGS=-DHAS_MYSQL -I/usr/include/mysql' //-I路徑   表示在指定路徑搜尋標頭檔

-lz        表示搜尋libz.so或者libz.a,這裡用了縮寫的形式,唯寫了一個z,同理lmysqlclient就表示libmysqlclient.so/libmysqlclient.a

'AUXLIBS=-L/usr/lib64/mysql -lmysqlclient -lz -lm'

 make upgrade //編譯完要升級

  postconf -m  //這次可以看到mysql外掛程式了

下面的屬於測試,發封郵件測試下ok不?

postconf -n //可以查看到mail的一些參數

postconf -e inet_interfaces=all //所有人可以使用mail服務 postfix reload //重新載入

postfix stop postfix start netstat -antple

 

 

 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.