webmail  Roundcube を再インストール

先回のOSアップデートで、使えなくなった。

うれしいことに、デザイナーさんたち向けに、簡単インストールのパッケージを作ってくれている。とっても感謝。

Roundcube for macOS Server

手順

  • インストーラーからインストール
  • デフォルトのサイト+「/mail」、「/webmail」でアクセスできる。
  • デフォルトのサイトの Apache のサイト .conf に設定の読み込みができているので設置したいサイトに設定
    webサーバを再起動が必要(注:再起動前に、server.appにてweb設定を変更する手順はNG)
    サイト.conf は、アップデートでわかりやすくなっている。以前は Proxy など散在。

webサイトの設定に、設定項目が追加されていた!

  • 利用者用にタイトルなど、Roundcube の設定ファイルで変更。
  • ほか何も変更することなく、ssl下でも動いた。

php のセキュリティ、Postfix 、Open Directory の認証方法、証明書の種類などいろいろの制約で設置が難しくなってきているので、オリジナルの Roundcube を、試行錯誤でインストール試みるもうまくいかなった。このインストーラーには非常に助けられた。

PostgreSQL 再チャレンジ

EC CUBE を使うにあたって MySQL から PostgreSQL 利用で、なんだかんだで、2か月もかかってしまった。もちろん誰もいない野原を進んでいるわけではない。
そもそも2009年ごろから同じようなことをやっている。ちょっとは進歩したのかな?

  1. brew doctor
    El Capitan では、これがそもそもひっかかる。
    パーミッションなどエラーをつぶしていく。
  2. brew search postgres
    homebrew/versions/postgresql93
    server.app を使いながらなのでバージョンを合わせる。
  3. postgresql のセットアップ
    initdb /usr/local/var/postgres -E utf8 –no-locale
    最初のデータベースを作る。大切な情報が出る。
    設定ファイルもできる。
  4. postgresql カスタマイズ
    ポートを空いている番号に設定。
    デフォルトだと、もともと El Capitan で使っているものと混乱する。
  5. 起動スクリプト
    ln -sfv /usr/local/opt/postgresql93/*.plist ~/Library/LaunchAgents
    生成されているスクリプトだと、システムログがメタメタ。
    mysql の起動スクリプトに習って調整。
  6. phpPgadmin 接続
    /phpPgAdmin-5.1/confconfig.inc.php
    ポートやユーザ制限を調整。
  7. phpPgadmin ロール設定
    ロール設定して、データベース作成の順番

ひとつ進めるたびに問題が出る。El Capitan , postgersql の情報の少なさで、こんな風にに設定できるはず!の思考と、参考サイトのおかげでセットアップできることができました!!!
php.ini やhttp.conf の設置は変更せず。
サーバの再起動もなし。

homebrew メンテナンス。mcrypt、ACP をインストール。

mcrypt をインストール1

brew install homebrew/php/php55-mcrypt

Agreeing to the Xcode/iOS license requires admin privileges, please re-run as root via sudo.

→APP から Xcode を起動して agree

undefined method `desc’ for Php55Mcrypt:Class

→brew update で大量のエラー

homebrew メンテ

→ brew doctor
Warning: The /usr/local is not writable.
sudo chown $(whoami):admin /usr/local

→sudo brew update
Warning: /usr/bin occurs before /usr/local/bin

→echo ‘export PATH=”/usr/local/bin:$PATH”‘ >> ~/.xxx
source ~/.xxx

mcrypt, ACP をインストール2

sudo を付けずにインストールしてしまったのでいろいろ不具合がありそう。
Error: You must `brew link libpng freetype unixodbc php55 mhash mcrypt` before homebrew/php/php55-mcrypt can be installed

→sudo brew link libpng freetype unixodbc php55 mhash mcrypt
→sudo brew reinstall homebrew/php/php55-mcrypt

* /usr/local/etc/php/5.5/conf.d/ext-mcrypt.ini was created,
* /usr/local/etc/php/5.5/conf.d/ext-apcu.ini was created,

で、ソケットを見ると、
[mcrypt]
extension=”/usr/local/opt/php55-mcrypt/mcrypt.so”

[apcu]
extension=”/usr/local/opt/php55-apcu/apcu.so”
apc.enabled=1
apc.shm_size=64M
apc.ttl=7200
apc.mmap_file_mask=/tmp/apc.XXXXXX
apc.enable_cli=1

これを php.ini に記述。APC動かず。

システムログがいっぱい

その一、

/System/Library/Caches/com.apple.coresymbolicationd/data does not exist, resetting cache

あるはずの「Caches」がない。
ディレクトリを作ったりするのがとても面倒そうなので、
ダウンロードしたインストーラーで、OS を上書きインストールして解決。

その二、

ReportCrash[2165]: Removing excessive log: file:///Library/Logs/DiagnosticReports/postgres_real_2016-01-03-203743_mtgp.crash

レポートのファイルを見ると、server.app で問題を起こしているらしい。
server.app プロファイルマネージャ 修復して解決
https://support.apple.com/ja-jp/HT202523

その三、

mds[75]: (DiskStore.Warning:127) Failed messaging flag writer
情報が少なく、見当がつかない。再起動で記録されなくなった。

とり急ぎ MySQL 5.7 にアップグレード

10工程くらいになるけれども、MySQL を 5.6から5.7にした。

手順概要

  1. 直前に、既存データをphpMyadmin からエキスポート
  2. インストールする前に、使用中のMySQLをストップ
    sudo launchctl unload /Library/LaunchDaemons/com.mysql.mysql.plist
  3. 停止の確認、アクティブモニタで確認
  4. インストール
    [Note] A temporary password is generated for root@localhost:******
  5. インストールの確認
    /usr/local/mysql -> mysql-5.7.10-osx10.9-x86_64
  6. 既存の起動スクリプトを削除
    sudo rm /Library/LaunchDaemons/com.mysql.mysql.plist
  7. MySQL 起動
    システム環境設定から
  8. root のパスワードを変更。
    /usr/local/mysql/bin/mysql -u root -p (自動でふられたパスワード)
    SET PASSWORD FOR root@localhost=PASSWORD(‘/-/-/-/-‘);
  9. phpmyadmin からデータのインポート
    今回は、php.ini の設定でアップロードできる容量を増やせたが、次回はきっと無理だから、sequel Pro でデータベースごとエキスポート、インポート。
  10. ユーザのインポート
    事前にphpmyadminのユーザからエキスポートで書き出されたコマンドを、mysql に流す。改行があってもすべて流し込める。
  11. 運用サイトをチェック

パスワードの有効期限があるそうで、これは、どこかで設定が必要。あるいは、推奨通りに、期限日までにパスワード変更などのメンテナンスを行うか?
phpmyadmin に簡単なGUIが出てくるか?

12月17日

・MySQL 接続成功。
・CoreTelephony Trace File Error もでなくなった。

tmp の権限がおかしなことになっていたようで、このディレクトリに chmod をかけることで、解決。
sudo chmod 1777 /private/tmp

参考サイト
http://kb.odin.com/jp/119334
http://askubuntu.com/questions/633857/why-i-cant-write-a-file-in-tmp-even-when-it-is-rootroot-and-has-t-flag
https://johnsonsu.com/mac-yosemite-mysql-unable-start-reason-255/

ただし、
El Capitan では、MySQL 5.7 が推奨バージョンのようなので、引き続き、MySQL のアップグレード方法を検討。

http://www.mysql.com/support/supportedplatforms/database.html

このハード、いつまでもつかな。

やっちゃった!

Workgroup Manager.app では設定できなくなっていた。

メールアカウントとして、
「ユーザ名」だけで今までは、メールの受信ができていたのに、「ユーザ名」+「ドメイン」をショートカットに追加しないと、メールの受信ができなくなっていた。

server.app のユーザ設定からできる。

ドメインを、いくつも使う場合は、当然といえば当然なんだけど。これで、info@~を複数のドメインで、個別に受信できるね。

12月12日

・SSL 証明書 更新
・MySQL 自動起動

コピーに失敗。

SSL証明書については、インストールに1回目失敗。なぜか、秘密鍵の合うものが、キーチェーンに入らなかった。
キーチェーンに同名の秘密鍵がたくさんできていたので、現在使用しているものを名前がわかるようにして、余計なものを削除。
削除するごとに、インストールを試みるも、すべてダメ。
申請用のCERを再度作成して、再チャレンジ。うまくいった。

12月11日

失敗

PPPoE 接続の設定が失われる。(権限がない)

MySQL がスタートしない。

MySQL はスタートをかけて、通常の再起動をかけないと設定が生きないところを、通常の正常起動をさせないままコピーをしたのが原因と思う。
MySQL→そもそも、 Yosemiteから起動の仕様が変わって、別途起動設定をしないとだめ。

https://dev.mysql.com/doc/refman/5.6/ja/osx-installation-launchd.html

PPPoE 接続については、いたん接続を切って、起動時に安定した状態の設定からスタートできるようにしておくことで回避できるか?

再設定すれば良いので、何とかなるけど、起動時に telephony で警告が出るのが気持ち悪いので。お試し。

いずれにしても、現状のマシンに落ち癖が出てきたため、HDDを変えるか、機体を変える必要性がある。

12月10日

  1. サーバサービスを停止
    バックアップとの誤差を少なくするために、web, mail サービス停止
  2. セキュリティアップデート実行
    最新の状態でないと他のマシンと互換性が悪いため。
  3. タイムマシンで最新のバックアップ作成
    アップデートした状態を復元できるようにするため。
  4. 起動ディスクをコピー
    なにかの時にすぐに戻せるように。
  5. アップグレード
    EL Capitan に。
  6. 機能検証

タイムマシンの動作に参った。アップデートアップグレード直後はかなりのストレスをマシンに与えた。時間もかかった。タイムマシンこそ thunderbolt くらいにしておかないとダメかな。実行環境では FireWire 800 。

20151210a
OS X El Capitan supports OS X Server version 5. Installing OS X El Capitan on this volume will disable the current server functionality until you download and install OS X Server version 5 from the Mac App Store.20151210b

アップグレード後にサーバサービスは起動するが、server APP は新する必要がある。
MySQL については、アップグレードで実行権限が引き継がれないので、手作業で起動してあげないといけない。

12月09日

朝、コピーしたSSDで起動を試すが、できない。

MAC OSX のビルド番号が違うと起動できない。
→アップデート後にバックアップから起動はできない。

https://support.apple.com/kb/PH18846?locale=ja_JP&viewlocale=ja_JP

タイムマシンで最新のバックアップが必要。

バックアップからスペアの機体で起動できるとして、
トラブルがあった場合に、ビルド番号の違いで、作業環境を再現できないということ。

OSは常に最新か、ビルド番号を気にして、バックアップと同期しておく必要がある。

タイムマシンでの復元は、時間がかかりすぎるので、納期の迫った仕事を進めている場合は、厳しい。
作業環境はスペアがあって、作業データのバックアップさえあれば良い場合もあるが、 server のような一元的なデータを扱う場合は、1時間程度で、作業環境を再構築できるようにしたい。
スペアの機体を買いに走って、・・というのは無理。

理想は、2台の Mac をつなげて、1台はターゲットディスクモードで、起動ディスクバックアップ+同期。といった環境が理想的だろう。それでも、同期のタイミングによっては、ロストするデータもある。

12月08日

早朝、ソフトのインストールとアップデートで再起動。

  • iTunes アップデート
  • RAIDO ユーティリティ インストール
  • Fan contorol アップデート
  • バックアップソフトインストール

夜、Marvericks のコピーに約1時間(thunderbolt SSD)。
20151208
サイズの合計が違うのは、OSの再インストール用のデータだろう。約20G。

新しいMac の SDXCカードにバックアップ失敗。

新しいMacでバックアップしたディスクから起動してみる。

エラー出現。以下
//////////////
以下の Kernel Extension の開発元を確認できませんが、読み込まれます。
/System/Library/Extensions/RSSCSIPeripheralDeviceType00.kext/Contents/PlugIns/RSSCSIPeripheralDeviceType00_10_4.kext
/System/Library/Extensions/RSSCSIPeripheralDeviceType00.kext/Contents/PlugIns/RSSCSIPeripheralDeviceType00_10_5.kext

アップデートされたソフトウェアについては、Kernel Extension の製造元に問い合わせてください。

///////////////////////

12月07日

電源と LAN だけ。
電源コードをつないだら起動した。
Apple Remote Desktop でコントロールできると思ったら、
コントロール側が Marvericks の ARD だったためか。

マウスがおかしい。ポインタは動かせるのに、クリックに反応しない。
キー操作だけでセットアップを進める。

  • 移動は 「tab」
  • 決定は 「スペース」
  • 選択は 「↓」「↑」

別に、1T 弱のデータを新しい2T のディスクへ移動。
はじめに初期化 0 書き込みをUSB3.0で6時間くらい。
データのコピーは一晩で終わった。
新しいHDDが用意できるまでは、コピーに3日とか5日かかると表示されて、あきらめていた。

12月04日その2

移行計画

  1. SSD に起動ディスクのバックアップを取る。
  2. SSDでアップグレード
  3. 動作確認
  4. 問題があれば、起動ディスクをもとに戻す。
  5. OKであれば、アップグレード状態で運用
  6. 新し機体にコピーして運用

どうだろうか?

メリット

・アプリや作業環境の再構築の必要がない

リスク

クリーンインストールではないので、何かしらの弊害が出る可能性あり。

 

12月04日

なんと中国から届く。
apple のページでは「配送中」とだけ表示。
出かけてしまうと、配送業者さんに迷惑と思い、状況をもう少し追いかけてみたら、こんな画面がでた。
移行作業をも考えろということかな?

20151204

12月03日

移行計画

NTT の回線1つで現在3つのプロバイダを使っている。

  • セッション数を増やして
  • プロバイダを増やして

と考えたが、もったいないのと、継続的な経費は増やしたくない。また、以前にセッションを増やして、プロバイダも増やしたときのIPアドレスが、どうも不良なIPアドレスで、思わしくなかった。今回は、経費よりはリスクを重視してボツということで。

とりあえずは、最新の機体を作業用に使いながら、慣らし運転して、現在2基のサーバを1基にまとめて、空いたサーバのIPアドレスを、新しい機体で活用する方向で。

2度手間、3度手間だけど、手をかけて出銭を減らそう。