免責事項:私はCentOSを初めて使用するので、簡単なことを見落とした場合はご容赦ください。
これが私の問題です:
最近、サーバーをCentOS 6.5 x64に再フォーマットしましたが、postfixを機能させるのに問題がありました。
私はこのガイドに従っています: http://www.krizna.com/centos/setup-mail-server-in-centos-6/ postfixMTAをインストールします。
すべての手順を実行しましたが、サーバーを起動しようとすると(service postfix start)、次のエラーが発生します。
接尾辞の開始:[失敗]
メールログとメッセージログを調べましたが、起動しない理由に関するエラーはありません。調べる必要のある別のログはありますか?
コマンドを実行すると
postconf -n
次のエラーが発生します。
postconf:共有ライブラリのロード中にエラーが発生しました:libmysqlclient.so.16:共有オブジェクトファイルを開くことができません:そのようなファイルまたはディレクトリはありません
MySQLの最新バージョンをソースからコンパイルし、Apacheで動作していますが、libmysqlclient.so.16を見つけることができず、libmysqlclient.so.18しか見つけられませんでした。私のバージョンのMySQLがpostfixバージョンには新しすぎる可能性がありますか?
Postfixバージョン2.6.6(yumと共にインストール)MySQLバージョン5.6.19(ソースからインストール)
さらに奇妙なことに、同じOS(同じディスクからインストールされた)を実行している別のサーバーがあり、postfixが正常に起動します。 (CentOSに付属の接尾辞を使用して、他のサーバーには何もインストールされていません)。これは私のOSのインストール方法に問題があるのでしょうか?
この問題は私を夢中にさせています、どんな助けでも大いに感謝されます。
注:これはすべてルートとしてのものです、いたずらな私! :-)
linux/Centosなどの経験が少ないため、yumインストーラーを使用し、MySQLサーバーをコンパイルし、yumを使用して他のパッケージをインストールする必要があります。これを二度と行わないでください。すでに持っているリポジトリを確認してください。少なくとも、IUSとREMIには最新のmysqlパッケージとすべての依存関係があることがわかっています。実行します:yum install mysql mysql-server
問題が発生した理由は、postfix(および他のいくつかのパッケージ)がlibmysqlclient.so.16
ライブラリに対してコンパイルされるためです。 MySQLの新しいバージョンに更新する場合でも、依存関係を満たすためにこのライブラリを提供する必要があります。
IUSプロジェクト には、これを解決するmysqlclient16
という名前のパッケージがあります。さらに、MySQL 5.5、5.6、および5.7のパッケージが用意されており、すぐにインストールできます(それぞれ、mysql55
、mysql56u
、およびmysql57u
)。ソースからのコンパイルは、特にソースのインストールを最新かつ安全に保つための継続的なメンテナンスコストを考慮する場合、ほとんどの人が時間のあるものではありません。
Mysql-community-libs-compatパッケージをインストールすることで、この問題を解決しました。あなたがする必要があるのは:
yum provides "/usr/lib64/libmysqlclient.so.16"
そして、次のようなものを実行する必要があります:
yum install mysql-community-libs-compat.x86_64
そして今、接尾辞を再起動します