mt-config.cgiの設定項目について
概要
MT(PowerCMS含む、以下同)の設定ファイルmt-config.cgi
について、必須の設定項目と必要に応じて設定しておくとよい項目について解説しています。
本記事の解説は、以下環境での動作を対象としています。
- ソフトウェア版(サーバーに設置して利用するタイプ)
- 一般的なレンタルサーバー、およびLinux環境で動作している標準的なWebサーバー
なお、新規インストールなどでファイル名がmt-config.cgi-original
となっている場合は、-original
を削除して使用します(念のためコピーしてバックアップを取っておくことをオススメします)
必須の設定項目
MTを動作させるのに必須の設定項目は以下です。
- CGIPath
- StaticWebPath
- データベース設定
- ObjectDriver
- Database
- DBUser
- DBPassword
- DBHost
- DBPort
- 標準 (3306) とは別のポートで動作している場合、必須設定
- DBSocket
- MTを動作させるウェブサーバーと同一のホストにあるが、MySQLとPerlで使用するUNIXソケットが違う場合、必須設定
- DefaultLanguage
以降の項目では、MTがインストールされているディレクトリのURLをhttps://example.jp/mt/
としています。
CGIPath
MTの各CGIスクリプトファイルが入っているディレクトリを、http(s)://
からはじまるURLで指定する。
CGIPath https://example.jp/mt/
URLの指定は末尾を/
とします。
ここで指定したURLが、管理画面内やブログ上に公開するCGIスクリプトファイル(mt-comment.cgi
やmt-search.cgi
)へのリンクを生成するために利用されます。また、MTCGIPathタグで出力(処理)されるURLにも利用されます。
ホスト名を含まない以下のような書き方もできますが、上記MTCGIPath
の出力時にウェブサイト(ブログ)のURLが補完されて出力されるため、http(s)://
からはじまるURLで指定することをオススメします。
# ホスト名を含まない書き方も可能
# MTの管理画面URLがサブドメイン(ex. https://mt.example.jp/)の場合など
CGIPath /
# ただし`MTCGIPath`タグを使用した場合、出力結果は以下のようになる
# サイト公開URLがhttps://www.example.jp/の場合、
# `MTCGIPath`タグの出力結果は、ウェブサイト(ブログ)のURLが補完されてhttps://www.example.jp/になる
StaticWebPath
MTのスタティックディレクトリ(/mt-static
)を、http(s)://
からはじまるURLまたはウェブサーバーのドキュメントルートからの相対URLで指定する。
StaticWebPath https://example.jp/mt/mt-static/
URLの指定は末尾を/
とします。
ここで指定したURLが、管理画面内で利用されます。また、MTStaticWebPathタグで出力(処理)されるURLにも利用されます。
ホスト名を含まない以下のような書き方もできますが、上記MTStaticWebPath
の出力時にウェブサイト(ブログ)のURLが補完されて出力されるため、http(s)://
からはじまるURLで指定することをオススメします(MTStaticWebPath
を利用することはあまりないと思いますが…)
# ホスト名を含まない書き方も可能
# MTの管理画面URLがサブドメイン(ex. https://mt.example.jp/)の場合など
StaticWebPath /mt-static/
# ただし`MTCGIPath`タグを使用した場合、出力結果は以下のようになる
# サイト公開URLがhttps://www.example.jp/の場合、
# `MTCGIPath`タグの出力結果は、ウェブサイト(ブログ)のURLが補完されてhttps://www.example.jp/mt-static/になる
データベース設定
ObjectDriver
DBにアクセスするためのドライバーを指定する。
ObjectDriver DBI::mysql
Database
DB名を指定する。
Database DB_name
DBUser
DBのユーザー名を指定する
DBUser DB_user
DBPassword
DBのパスワードを指定する。
DBPassword DB_password
DBHost
DBのホスト名を指定する。
DBHost DB_host
DBPort
標準 (3306) とは別のポートで動作している場合に指定する。
DBPort 6789
DBSocket
MTを動作させるウェブサーバーと同一のホストにあるが、MySQLとPerlで使用するUNIXソケットが違う場合に指定する。
DBSocket /path/to/mysql.sock
DefaultLanguage
管理画面で利用する言語の初期値を指定する。初期値はen_US
。
DefaultLanguage ja
必須の設定ではないですが、管理画面のデフォルト言語になるため設定をオススメします。初期値はen_US
なので、ja
にしておくとよいです。
サーバー環境により設定が必要な項目
以下はサーバー環境により設定が必要な項目です。
Apacheウェブサーバーがsuexecで動作している場合
Apacheウェブサーバーがsuexecで動作している場合は、以下を設定する。
- DBUmask
- HTMLUmask
- UploadUmask
- DirUmask
DBUmask 0022
HTMLUmask 0022
UploadUmask 0022
DirUmask 0022
テンポラリーファイルの保存場所を変更したい場合、またはMTがWindowsサーバー上で動作している場合
バックアップファイルなどのテンポラリーファイルの保存場所を/tmp
以外にしたい場合、またはMTがWindowsサーバー上で動作している場合は、以下を設定する。
TempDir /temp/
必要に応じて設定しておくといい項目
以下は必要に応じて設定しておくといい項目です。
AutoSaveFrequency
記事やテンプレートの自動保存を行う間隔を指定する。初期値は5
(5秒ごとに自動保存)
AutoSaveFrequency 0
0
にすると無効となり、自動保存は行われません。
CGIMaxUpload
管理画面のアップロード機能で、アップロード可能なファイルのサイズの上限をバイト単位で指定する。初期値は20480000
。
CGIMaxUpload 100000000
CMSへの攻撃を未然に防ぐため、値はあまり大きくしすぎないほうがよいです。
SearchMaxResults
検索結果(mt-search.cgi
)画面で表示される1ページごとの表示数を指定する。初期値は20
。
SearchMaxResults 50
コンテンツデータの検索結果(mt-cdsearch.cgi
)の場合は、ContentDataSearchMaxResults
を利用できる。初期値は20
。
指定がなければ、SearchMaxResults
で指定されている値(または初期値)が優先される。
ContentDataSearchMaxResults 50
DisableVersionCheck / NewsboxURL
MTの管理画面のアクセスに時間がかかる場合(イントラなどで外部へのアクセスを遮断しているなど)、有効な設定。MTのバージョンチェックやニュースの取得を無効にする。
DisableVersionCheck
はMTのみの環境変数。
DisableVersionCheck 1
NewsboxURL disable
詳細は以下の記事をご参考ください。
CGIファイル名の変更
セキュリティの観点から、可能であれば変更することをオススメします。
詳細は以下の記事をご参考ください。
Data APIを利用する場合
Movable Type Data APIを利用する場合は、以下を設定しておくことをオススメします。Data APIに関する公式リファレンスもご確認ください。
- DataAPICORSAllowOrigin
- データの取得を許可するアクセス元のサイトのオリジンを指定する
- DisableResourceField
- Data API経由で取得できるリソースを制限(設定)する
- DataAPIDisableSite
- Data APIによるアクセスを禁止したいサイトのIDを指定する(複数指定は
,
区切り)
- Data APIによるアクセスを禁止したいサイトのIDを指定する(複数指定は
公式リファレンス
MT
- https://www.movabletype.jp/documentation/configuration.html
- https://www.movabletype.jp/documentation/appendices/config-directives/
- https://www.movabletype.jp/documentation/mt8/installation/database/mysql/
Discussion