« 2015年10月 | トップページ | 2017年6月 »

2016年9月21日 (水)

Sierra各種検証結果

OS X がバージョンアップするたびに個人的に調べている事項についての記事のまとめ。および、動作を確認したソフトウェアや周辺機器についても述べている。

続きを読む "Sierra各種検証結果" »

SierraでユーザディレクトリCGI

以前「YosemiteでユーザディレクトリCGI」で述べたように、OS X Yosemite 以降では apache の仕様が若干変更になっており、Mavericks までのやり方ではユーザーディレクトリ /Users/ユーザー名/Sites を http で公開することができなくなっている(注:「ユーザー名」の部分には実際には自分のユーザーアカウント名が入る。以下同様)。

かいつまんで言うと以下の通り。

  1. /private/etc/apache2/extra/httpd-userdir.conf において、「#Include /private/etc/apache2/users/*.conf」の「#」を消す。
  2. /private/etc/apache2/httpd.conf において「#LoadModule userdir_module libexec/apache2/mod_userdir.so」の「#」を消す。
  3. 同じく /private/etc/apache2/httpd.conf において、終わりのほうにある「#Include /private/etc/apache2/extra/httpd-userdir.conf」の「#」を消す。

その上で、sudo apachectl restart コマンドで設定を apache に反映させれば /Users/ユーザー名/Sites 以下の公開が可能になる。


問題は、ユーザーディレクトリで CGI を有効にする場合である。Sierra においては Yotemite 〜 El Capitan 時代とはまた少しやり方が変更になっており、一言で言えば、少し簡単になった(.htaccess が不要になった)。

まず、/private/etc/apache2/httpd.conf において、「#LoadModule cgi_module libexec/apache2/mod_cgi.so」の「#」を消す。

次に、/private/etc/apache2/users/ユーザー名.conf を以下のように記述する。

<Directory /Users/ユーザー名/Sites>
	AddHandler cgi-script .cgi
	AllowOverride All
	Require all granted
	Options ExecCGI
</Directory>

次に SSI を有効にする方法も述べておく。SSI については El Capitan 時代より一行多く書き足す必要がある。

まず、/private/etc/apache2/httpd.conf において、「#LoadModule include_module libexec/apache2/mod_include.so」の「#」を消す。

次に、/private/etc/apache2/users/ユーザー名.conf を以下のように記述する(注:SSI だけでなく、CGI も同時に有効にすることを前提として記述している)。

<Directory /Users/ユーザー名/Sites>
        AddType text/html .shtml
        AddHandler cgi-script .cgi
        AddOutputFilter INCLUDES .shtml
        AllowOverride All
        Require all granted
        Options ExecCGI Includes
</Directory>

(「 AddOutputFilter INCLUDES .shtml」が Sierra で追加された行)

macOS SierraのSpotlightによる日本語テキストの内容検索[更新]

プレーンテキストファイルの場合

※プレーンテキストについては El Capitan から全く変化はない。

プレーンテキストファイル(拡張子.txt、.pl、.php、.c など)は、Leopard 以降の macOS 上で作成したものであればどのような文字コードであってもヒットする(文字コードを指定するメタデータがつくから)。

それ以外の OS(Tiger以前、Windows、Linux)上で作成したものは(メタデータがつかないため)Shift JIS か UTF-8 のみヒットし、EUC-JP や JIS (ISO-2022-JP) ではヒットしない。

macOS 上であってもコマンドラインプログラム(vi、nano など)で作成したものは(メタデータがつかないため) Shift JIS か UTF-8 のみヒットする。

HTML ファイルの場合

※拡張子が .html のテキストファイルについては Sierra ではかなり変化がある。

UTF-8 もしくは Shift JIS で書かれた .html ファイルは必ずヒットする(正しい HTML 構造をとっていようといまいと、<META> タグで文字コードを指定していようといまいとヒットする)。また、<META> タグ内で robots を noindex と指定していてもヒットする。

EUC-JP もしくは JIS (ISO-2022-JP) で書かれた .html ファイルは全くヒットしない(macOS 上で作成したことにより文字コードを指定するメタデータが付いていたとしても、ヒットしない。<META> タグで文字コードを指定していてもヒットしない)。

メモ.appインポートAppleScript Sierra対応版

以前、macOS 標準装備の メモ.app にテキストファイルをインポートする Apple Script を作った(「メモ.appインポートAppleScriptを作ってみた」)が、Sierra には対応していないようなので、対応版を作成した。

(※Sierra のメモ.app にはインポート機能が備わっている(メニューバーの「ファイル」→「"メモ"に読み込む」)ため、このスクリプトを使う意味はあまりないかもしれないが、インポートするフォルダーを指定することができる、一つのテキストファイルを分割してインポートできるなどのメリットがあることはある)

使用は自己責任でお願いします。

なお、使用方法は記事の最後に掲載している。

(インポートではなく、エクスポート(書き出し)するためのスクリプトも以前作成したことがある。「メモ.appエクスポートAppleScriptを作った」を参照)

※注記:
macOS Sierra 10.12.0 の時点では下の画像の通り Apple Script の選択ダイアログボックスにバグがある

今後、10.12.1 以降で修正されるかもしれない。その場合はこの注記は無視していただきたい。

続きを読む "メモ.appインポートAppleScript Sierra対応版" »

« 2015年10月 | トップページ | 2017年6月 »