Movable Type 9をインストールしてみた
Movable Type 9のデベロッパープレビューが公開されていたので、インストールしてみました。
Movable Type 9 デベロッパープレビュー を公開しました
ここではMT8との管理画面の違いを紹介します。
1.ダッシュボード
サイドバーがデフォルトで非表示になりました。
システム管理画面へのリンクがみつからなかったのですが、ヘッダー右上の歯車アイコンに移動したようです。

検索アイコンをクリックすると、検索フォームが表示されます。
サイトアイコンをクリックすると、各サイトへのリンクが表示されます。
なお、このヘッダー部分はスクロールしても固定されているので、各メニュー共通になります。
2.サイト
サイト別管理画面でサイドバーが表示されます。
サイドバー上部にあった検索はヘッダーに移動し、「再構築」はそのまま、「サイトの表示」は「サイトを見る」に表記が変わり、「新規作成」が追加されました。
「新規作成」をクリックすると、コンテンツデータ・記事・ウェブページのサブメニューが表示されます。

赤枠のアイコンをクリックすると、サイドバーを折りたためます。

折りたたんだ状態です。

折りたたんだ状態でもサイドバー(矢印アイコン以外の部分)にマウスをポイントすると、一時的に表示されます。
サイドバー株のユーザー名や「ユーザー情報」「ドキュメント」「サインアウト」はヘッダー右端に移動しました。

ダッシュボードに戻るには、左上のMTのアイコンか、パンくずリストの家のアイコンをクリックします。

以上です。
ansibleでハッシュの配列をチェックする方法
ansibleでハッシュの配列をチェックする方法を紹介します。
1.はじめに
下記の3ファイルのmd5sum値を予め用意したコンフィグに設定し、サーバ上の各ファイルのmd5sumと等しいか、チェックする必要が生じました。
ということで、ansibleでハッシュの配列をチェックする方法を紹介します。
2.やりたいこと
複数のファイルをチェックできるように、ファイル名とファイルのmd5sum値をハッシュの配列にしたいです。
ファイルのパスも動的に取得したいので、同じくハッシュの配列に含めます。
また、コンフィグはrolesディレクトリの中ではなく、分かりやすい任意の場所に配置したいです。
3.コンフィグのサンプル
前項の要望にしたがい、コンフィグは下記のようにしました。
/var/tmp/config.yml
files:
- name: kdump
path: /etc/sysconfig
md5sum: e417c7b5754df7287f41b478f2200793
- name: CentOS-Base.repo
path: /etc/yum.repos.d
md5sum: 447b4d2df1a36e64348bbd8b6c5b0fae
- name: sysctl.conf
path: /etc
md5sum: 4bae3962eeef7d1e7c7ef39314db9fb0
"files"というハッシュキーの中に配列を作り、さらにそれぞれの配列に、
- ファイル名
- ファイルパス
- md5sum値
を設定しました。
これをansibleで読み込ませるにはどうすればいいかを次項で説明します。
4.コンフィグファイルの読み込み
コンフィグファイルを読み込むには、Playbook本体(test.yml)に"vars_files"を用います。
test.yml
- hosts: test
roles:
- role: test
vars_files:
- "/var/tmp/config.yml"
これで、実行するロール内のタスクで前述のコンフィグを読み込むことができます。
5.ハッシュの配列をチェック
ハッシュの配列をチェックするには、ロール内のタスク(roles/test/tasks/main.yml)を下記のようにします。
roles/test/tasks/main.yml
- name: ファイルのmd5sum実行
command: "md5sum {{ item.path }}/{{ iteパッケージのインストール
# rpm -Uvh https://repo.mysql.com/mysql80-community-release-el9-1.noarch.rpm
# dnf install mysql-community-server --nogpgcheckdnf install mysql-community-server --nogpgcheck
# dnf install mysql-community-devel --nogpgcheck
2.gccとmakeのインストール(Perlのビルド用)
# dnf install make gcc
3.httpd関連のインストール
# dnf install httpd httpd-tools httpd-devel
4.firewalldの停止
# systemctl status firewalld
# systemctl stop firewalld
# systemctl disable firewalld
5.httpdの常駐化
# systemctl is-enabled httpd
# systemctl enable httpd
6.mysqlのパスワード変更(赤字が初期パスワード、青字が変更後のパスワード)
# systemctl start mysqld
# grep 'temporary password' /var/log/mysqld.log
2024-11-26T12:52:05.760486Z 6 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: ei#(n;i9uf$k
mysql> ALTER USER 'root'@'localhost' identified BY 'rJOIaea%#%(JO';
Query OK, 0 rows affected (0.03 sec)
7.Perl5.38.2のビルドとインストール
インターネットからダウンロードしたPerlのアーカイブ(tar.gz)を任意のフォルダにアップロードして、コマンドを実行します。
デフォルトのPerlとは異なるディレクトリにインストールします。
# tar zxvf perl-5.38.2.tar.gz
# cd perl-5.38.2/
# ./Configure -des -Dprefix=/usr/local/perl-5.38.2./Configure -des -Dprefix=/usr/local/perl-5.38.2
# make
# make install
8.Perlのパス張り替え
Perl5.32.1から5.38.2に張り替えます。
# perl -v
This is perl 5, version 32, subversion 1 (v5.32.1) built for x86_64-linux-thread-multi
:
# cd /usr/bincd /usr/bin
# mv perl perl--
# ln -s /usr/local/perl-5.38.2/bin/perl /usr/bin/perl
# perl -v
This is perl 5, version 38, subversion 2 (v5.38.2) built for x86_64-linux
:
9.cpanmでPerlモジュールのインストール
MovableTypeの動作に必要なモジュールをインストールします。
# perl -MCPAN -e 'install App::cpanminus'perl -MCPAN -e 'install App::cpanminus'
:
Would you like to configure as much as possible automatically? [yes] yes
:
# /usr/local/perl-5.38.2/bin/cpanm HTML::Entities/usr/local/perl-5.38.2/bin/cpanm HTML::Entities
# /usr/local/perl-5.38.2/bin/cpanm DBI/usr/local/perl-5.38.2/bin/cpanm DBI
# /usr/local/perl-5.38.2/bin/cpanm DBD::mysql/usr/local/perl-5.38.2/bin/cpanm DBD::mysql
10.postfixのインストール
# dnf -y install postfixdnf -y install postfix
11.SeLinuxの無効化
エディタで/etc/selinux/configを開き、
SELINUX=enforcing
を
SELINUX=disabled
に変更します。
# vi /etc/selinux/config
12.メールサーバの設定
/etc/postfix/main.cfと/etc/postfix/master.cfを編集します。
詳細は「さくらのVPSに送信メールサーバを設定する方法」を参照してください。
12.httpd起動
starman起動前に通常のCGIでMovableTypeの管理画面にアクセスします。
# systemctl start httpd
13.PSGI環境構築のためのパッケージとモジュールのインストール
# dnf install perl-ExtUtils-MakeMaker
# /usr/local/perl-5.38.2/bin/cpanm/usr/local/perl-5.38.2/bin/cpanm --sudo CGI::Compile--sudo CGI::Compile
# /usr/local/perl-5.38.2/bin/cpanm --sudo CGI::CompilePlack
# /usr/local/perl-5.38.2/bin/cpanm --sudo Plack
# /usr/local/perl-5.38.2/bin/cpanm --sudo XMLRPC::Transport::HTTP::Plack
その他、
CGI::Parse::PSGI
CGI::PSGI
も必要ですが、インストールされていたので省略。
インストールされていることの確認は、モジュールのバージョン表示コマンドを実施。
# perl -MCGI::PSGI -e 'print $CGI::PSGI::VERSION . "\n";'
# perl -MCGI::Parse::PSGI -e 'print $CGI::Parse::PSGI::VERSION . "\n";'
14.httpd.conf修正
# vi /etc/httpd/conf/httpd.conf
PSGI動作のために下記のLoadModuleディレクティブを追加
LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_http_module modules/mod_proxy_http.so
ServerNameディレクティブにVMのIPアドレスを設定。
ServerName 192.168.56.100
一番最後に下記の内容を追加(上記のmod_proxyを設定しておかないと機能しません)。
<IfModule mod_proxy.c>
ProxyPass /cgi-bin/mt/ http://localhost:5000/cgi-bin/mt/
ProxyPassReverse /cgi-bin/mt/ http://localhost:5000/cgi-bin/mt/
</IfModule>
修正後、httpdを再起動します。
# systemctl restart httpd
起動後、/etc/httpd/logs/error_logにエラーが出ていないことを確認。
私はServerNameが設定されていなかったのと、LoadModuleが設定されていないところで躓きました(error_logに表示されているのをみつけて解決)。
15.mt.pid用ディレクトリ作成
ここではMTインストールディレクトリ(/var/www/cgi-bin/mt)配下に作成します。
# mkdir -p /var/www/cgi-bin/mt/pids
16.mt-config.cgiに環境変数追加
下記の1行を追加します。
PIDFilePath /var/www/cgi-bin/mt/pids
17.starman起動
# cd /var/www/cgi-bin/mt
# starman -l 0.0.0.0:5000 --pid /var/www/cgi-bin/mt/pids/mt.pid ./mt.psgi
18.ブラウザからMT管理画面にアクセス
今回の例では、ポート番号5000番を指定して、
http://192.168.56.100:5000/cgi-bin/mt/mt.cgi
にアクセスします。
これでMT管理画面が表示されればOKです。
