サーバ

MySQL5.6 アップデート

|ω・)そろり。

先日、サーバーにインストールしているMySQL5.6をアップデートしました。

RPMでインストールしていたので、確実なアップデート方法がなかなか分からず尻込みしていたのですが、ようやく着手できました。

手順をざっくりまとめてみましたので、興味のある方は参考までにどうぞ。

サーバ

suexec上書き注意報

suexec上書き注意報

|ω・)そろり。

冒頭から500のイラストですが、エラーではありません。(爆

今日起こったこと。
備忘録も兼ねて書いておきます。

何やらCentOS6のアップデートが来ていたのでインストールして再起動。
確認のためホームページにアクセス。

500エラー。
( ・ω・)? なんで?

エラーログ確認して見ると、、、

suexec policy violation: see suexec log for more details

「suexecの設定がおかしいからsuexecのログ見てね。」

一方、suexecのログは、、、

command not in docroot (/home/[ユーザー名]/bin/php-cgi)

「docrootでコマンド使えね~ぞこの野郎。(かなり意訳)」

そういえばアップデートにhttpdが入っていたなぁ。

どうやらsuexecが上書きされて設定がリセットされてしまったようです。(´・ω・)

仕方がないのでApacheホームページから該当バージョンのhttpdをダウンロードしてビルドし直し、 suexecを所定場所にコピーしたらちゃんと動くようになりました。

めでたしめでたし。

サーバ

Linuxでのソースビルドインストールのディレクトリは?

|ω・)そろり。

VPSをCentOS6で動かしているのですが、どうしてもパッケージが古いのですよ。
そこでLAMP環境を構築するにあたって以下のようにしました。

  • Apache2.2 > yumインストール
  • MySQL5.6 > RPMインストール
  • PHP5.6 > ソースビルドインストール

で、PHP5.6をソースビルドインストールする際にどのディレクトリをインストール先に指定すればよいか?というお話です。

configure のデフォルト設定

大抵 configure のデフォルト設定では

PREFIX=/usr/local

となっていると思います。

そのままでも問題無いのですが、少し困ったことが起こります。

  • アンインストールはどうするんだ。
    (関連ファイルがbin等の多くのディレクトリにバラけるので削除が面倒)
  • 関連ファイル名が同じなのでバージョン違いをインストールできない。
    (例:PHP5.x系と7.x系を共存させる)

どこに指定するか?

自分がLinuxを覚え始めた頃は

PREFIX=/usr/local/php5

という形にしていました。(例:PHP5.x)
が、この指定は行儀が悪いそうです。(´・ω・`)

Linuxには"/opt"というディレクトリがあり、用途として手動でアプリケーションをインストールする際に使用するディレクトリになっているとのことです。
(参考:Linuxの基本の基本。Linuxの基本的なディレクトリ構成 / OXY NOTES)
(参考:各ディレクトリの役割を知ろう(ルートディレクトリ編) / @IT)

そうするとPREFIX設定は下記のようになります。

PREFIX=/opt/php5

アプリケーションのアンインストール

アプリケーションをアンインストールしたい場合は該当ディレクトリごと削除すればいいだけです。
※PATH指定やシンボリックリンクが存在する場合は注意しましょう。

バージョン違いの共存

バージョンごとにディレクトリを指定してやれば、違うバージョンのアプリケーションを共存させることができます。

サーバ

Solution?

|ω・)そろり。

VineLinuxでLet'sEncryptのスクリプトが動かなくなった話ですが、最近になってちょっとぐぐってみたら解決法と思しき内容を見つけました。

どうやらスクリプト自体を改造して対応させるようです。
詳しくは下記サイトをご参照くださいまし。

□VineLinux用のcertbot-autoのパッチ(と作業)

今はCentOSを使って更新していますが、気が向いたら試しに動作確認だけでもやってみようと思います。
ついでにまとめの方もなんとかしないと・・・。

サーバ

我鯖移転也

|ω・)そろり。

VPS借りてサーバ移転しました。

ひとまず環境は下記の通りにセッティング。

  • CentOS 6
  • Apache + PHP5.6 + FastCGI + MySQL5.6
  • ネームベースSSL(SNI)

ネームベースSSL(SNI)の設定がすんなりとうまくいってホッとしました。

まだ細かい作業はあるのですが、十中八九OKです。

それでは、ぼちぼち運営していきたいと思います。

PHP7.1はよ。(公式によると現在RC3とのこと)

スポンサードリンク