CSVDataImExporterプラグイン(CLI版)

December 3,2025 12:03 AM
Category:[インポート・エクスポート]
Tag:[CSVDataImExporter, MovableType]
Permalink

CSVDataImExporterプラグイン(CLI版)をリリースしました。

1.概要

ブラウザでのエクスポート・インポートのほぼすべての操作をCLIで制御することが可能です。

また、先日リリースした、記事・コンテンツデータのアセットフィールドに紐づいているアセット(画像・オーディオ・ビデオ・ファイル)をCSVファイルとペアでダウンロードすることも可能です。

2.エクスポート機能

export_csvというツールを提供します。

このツールを/tools配下にアップロードすることで、CLIでのエクスポートが可能になります。

3.インポート機能

import_csvというツールを提供します。

このツールを/tools配下にアップロードすることで、CLIでのインポートが可能になります。

4.その他

オプション等の詳細についてはお問い合わせください。

5.開発の背景

ブラウザ経由で大量のデータをインポートあるいはエクスポートすると、サーバ環境要因等で処理が最後まで正常に処理されない可能性があり、今回のCLIによるソリューション開発に至りました。

たとえば、cronでインポートツールを登録しておけば、大量のCSVデータを深夜にインポートすることも可能です。

6.プラグインについて

CSVDataImExporterプラグインの詳細は下記のページよりご覧いただけます。

CSVDataImExporterプラグイン

確認用サイトもご用意しておりますので、試用をご希望される方はお問い合わせのページよりお申し込みください。

Comments [0] | Trackbacks [0]
0] | Trackbacks [0]

AWS EC2にMovable Type(AMI版)をインストールする方法

September 8,2025 11:55 PM
Category:[AWS]
Tag:[AMI, AWS, MovableTypeついて

CSVDataImExporterプラグインの詳細は下記のページよりご覧いただけます。

CSVDataImExporterプラグイン

確認用サイトもご用意しておりますので、試用をご希望される方はお問い合わせのページよりお申し込みください。

Comments [0] | Trackbacks [0]

MT-9.0.2で追加された機能(更新履歴表示)

August 13,2025 12:03 AM
Category:[9.0]
Tag:[]
Permalink

MT-9.0.2で追加された機能の紹介です。

更新履歴表示が変更されました(今後のバージョンアップで変更されるかもしれません)。

1.これまでの動作

「更新履歴を表示」をクリック。

「下書き」のリンクをクリック。

ステータスフィールドの表示が選択したリビジョンに切り替わります。

2.MT9(9.0.2)での動作

「更新履歴を表示」をクリック。

「下書き」のリンクをクリック。

「最新」と「表示中」の2つのリビジョンが表示されます。

「最新」は文字通り、最新リビジョンのステータスとそのタイムスタンプです。

「表示中」は管理画面に表示されたリビジョンのステータスとそのタイムスタンプです。

更新履歴から最新以外のリビジョンを選択するとこの画面になるようです。

3.管理画面テンプレートの変更

開発者向け情報ですが、これまでステータスフィールドの表示は

MT_PATH/tmpl/admin2023/cms/include/status_widget.tmpl

で行われてましたが、今回の機能追加で、

MT_PATH/tmpl/admin2025/cms/include/status_label.tmpl

に変更されました(status_widget.tmplからインクルード)。

Comments [0] | Trackbacks [0]

AWSのec2インスタンスにphpMyAdminをインストールする

June 10,2025 11:55 PM
Category:[AWS]
Tag:[AWS, phpMyAdmin]
Permalink

AWSのec2インスタンスにphpMyAdminをインストールする手順を紹介します。

1.phpMyAdminのダウンロード

Amazon Linuxの標準リポジトリにphpMyAdminパッケージが含まれていないため、Amazon Linux 2023(amzn2023)では「dnf install phpMyAdmin」は使えません。

よって下記の手順でphpmyadminのアーカイブをダウンロードおよび展開します。

$ cd /var/www/html
$ sudo curl -L https://www.phpmyadmin.net/downloads/phpMyAdmin-latest-all-languages.tar.gz -o phpmyadmin.tar.gz
$ sudo tar xzf phpmyadmin.tar.gz
$ sudo mv phpMyAdmin-*-all-languages phpmyadmin
$ sudo rm phpmyadmin.tar.gz

2.config.inc.phpの修正

、 phpMyAdminのconfig.inc.phpに以下を追加します。
$cfg['blowfish_secret'] = '';
 ↓
$cfg['blowfish_secret'] = 'ランダム文字列(32文字以上がおすすめ)';

ランダムな文字列は、

$ openssl rand -base64 32

で作れます。

3.httpd.confの修正

この段階で試しにブラウザからアクセスしましたが、

Not Found
The requested URL was not found on this server.

というエラーになったため、下記を実施(chownは不要かもしれません)。

$ sudo chown -R apache:apache /var/www/html/phpmyadmin
$ sudo vi /etc/httpd/conf/httpd.conf

■変更前

<IfModule dir_module>
    DirectoryIndex index.html
</IfModule>

■変更後

<IfModule dir_module>
    DirectoryIndex index.php index.html
</IfModule>
 
Alias /phpmyadmin /var/www/html/phpmyadmin
 
<Directory /var/www/html/phpmyadmin>
    Options Indexes FollowSymLinks
    AllowOverride All
    Require all granted
</Directory>

このあとhttpdを再起動します。

$ sudo systemctl restart httpd

4.php.iniの修正

ここまでの設定で404は出なくなりましたが、

phpMyAdmin - Error
Error during session start; please check your PHP and/or webserver log file and configure your PHP installation properly. Also ensure that cookies are enabled in your browser.
 
session_start(): open(SESSION_FILE, O_RDWR) failed: No such file or directory (2)
 
session_start(): Failed to read session data: files (path: )

というエラーが表示されるようになりました。調べると、

session.save_path

に値が設定されていないのが原因のようで、下記のコマンド、

$ php -i | grep session.save_path
session.save_path => no value => no value

で「no value」となるのが問題のようです。

session.save_pathはphp_info()でも確認できます。

これについては、

$ sudo vi /etc/php.ini

で、ファイルを開いて、下記のSessionグループを追加。

[Session]
session.save_path = "/tmp"

これで再度httpdを再起動します。

$ sudo systemctl restart httpd

これで修正が反映されない場合は、ec2インスタンスを再起動してみてください。

私の場合、ec23インスタンス再起動で設定が反映され、いつものphpMyAdminログイン画面が表示されました。

Comments [0] | Trackbacks [0]

WindowsでRGB画像をCMYK画像に変換する方法

May 21,2025 12:03 AM
Category:[Windows]
Tag:[KRITA, Windows]
Permalink

WindowsでRGB画像をCMYK画像に変換する方法を紹介します。

1.はじめに

GIMPを使って画像を加工していたのですが、加工した画像がRGBカラーでした。

GIMPではRGBからCMYKに変換することができないようです。

ということで、WindowsでRGB画像をCMYK画像に変換する方法を紹介します。

2.RGB画像をCMYK画像に変換する

RGB画像をCMYK画像に変換するには「KRITA(クリータ、クリタ)」という、オープンソースソフトウェアのペイントソフトを使用します。

インストール手順は省略します。

使用しているKRITAのバージョンは5.2.9です。

KRITAを起動し、CMYKに変換したい画像を「ファイル」→「開く」で開きます。

開くと下部に「RGB~」と表示されていると思います。

「画像」→「プロパティ」を選択。

「画像の色空間」タブをクリック。

「色モデル」を「RGB~」から「CMYK~」に変更して「OK」をクリック。

下部の表示が「CMYK~」に変わっていることを確認。

あとは「ファイル」→「保存」で上書きするか「名前をつけて保存」で別名で保存すれば完了です。

Comments [0] | Trackbacks [0]

AWSでIAMユーザーを作成する方法

May 18,2025 12:03 AM
Category:[AWS]
Tag:[AWS]
Permalink

AWSでIAMユーザーを作成する方法を紹介します。

1.はじめに

AWSに久しぶりにアクセスしてみると、ログイン画面が「アカウントID」と「IAMユーザー」に変わっていました。

ログイン画面

IAMユーザーというものをそもそも作っていなかったので、本記事で作成方法を紹介します。

なお、アカウントIDは後述するルートユーザーでログイン後、右上のユーザー名をクリックすれば「アカウントID」が表示されます。

2.AWSでIAMユーザーを作成する

AWSマネジメントコンソールにアクセス。

「持っていませんか?」のリンクをクリックすればルートユーザーでログインできる画面に切り替わるので、ルートユーザーでログインします(詳細は省略)。

ログイン画面

ログイン後、左上の「IAM」を選択

コンソール

「ユーザー」をクリック。

「ユーザーの作成」をクリック。

任意のユーザー名を設定して、「ユーザータイプ 」から「IAM ユーザーを作成します」を選択。パスワードの作成方法は任意。

すべて設定後「次へ」をクリック。

今回は1ユーザーで、ユーザーグループを作成しないので、「ポリシーを直接アタッチする」を選択。

作成するユーザーにすべての権限を与えたいので、「AdministratorAccess」のみをチェック。その下の「許可の境界を設定」はスキップします。

すべて設定後「次へ」をクリック。

設定した内容の確認画面が表示されるので、問題なければ「ユーザーの作成」をクリック。

「ユーザーが正常に作成されました」が表示されれば完了です。コンソールサインインURLやパスワードも表示されます。

なお、これまでルートユーザーで作成したものは、別ユーザーなので一切表示されないようです。

Comments [0] | Trackbacks [0]
0] | Trackbacks [0]

ansibleでハッシュの配列をチェックする方法

March 7,2025 12:03 AM
Category:[ansible]
Tag:[ansible]
Permalink

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"というハッシュキーの中に配列を作り、さらにそれぞれの配列に、

を設定しました。

これを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 }}/{{ item.name }}"
  loop: "{{ files }}"
  register: file_md5_result
  changed_when: false
 
- name: ファイルのmd5sum結果取得
  set_fact:
    md5sum_result: "{{ item.stdout.split(' ')[0] }}"
  loop: "{{ file_md5_result.results }}"
  register: file_md5
 
- name: コンフィグのmd5sumと比較
  fail:
    msg: "### {{ item.name }}のmd5sumが一致しません ###"
  failed_when: item.md5sum != file_md5.results[index].ansible_facts.md5sum_result
  loop: "{{ files }}"
  loop_control:
    index_var: index

タスクの解説です。まず、loopにコンフィグのハッシュキー"files"を指定し、コンフィグからファイルの情報を収集し、md5sumを実行します。

実行結果はfile_md5_result(配列)に保持します。changed_whenは、md5sum実行でchanged=1となるのを抑止しています。

- name: ファイルのmd5sum実行
  command: "md5sum {{ item.path }}/{{ item.name }}"
  loop: "{{ files }}"
  register: file_md5_result
  changed_when: false

次に実行結果file_md5_resultをloop変数に指定し、splitを使ってmd5sum値のみを収集し、set_factを使って変数"md5sum_result"に設定します。

- name: ファイルのmd5sum結果取得
  set_fact:
    md5sum_result: "{{ item.stdout.split(' ')[0] }}"
  loop: "{{ file_md5_result.results }}"
  register: file_md5

最後に、もう一度loopにコンフィグのハッシュ"files"を指定し、

- name: コンフィグのmd5sumと比較
  fail:
    msg: "### {{ item.name }}のmd5sumが一致しません ###"
  failed_when: item.md5sum != file_md5.results[index].ansible_facts.md5sum_result
  loop: "{{ files }}"
  loop_control:
    index_var: index

failed_whenは、指定した条件がTrueのとき、タスクを失敗させる条件を定義します。

ここでは、コンフィグのmd5sum値と配列変数に保持したmd5sum値が等しくない場合にタスクを失敗させます。

タスクを失敗させた場合にfailが発動し、msgに指定した文字列を出力します。

「index_var: index」は、ループのインデックス(0から始まる番号)を"index"という変数として利用できるようにしています。

これを使うことで、配列変数"file_md5.results"をインデックスを使って順に参照できます。

Comments [0] | Trackbacks [0]

bashスクリプトでCSVファイルを読み込む方法

February 14,2025 11:55 PM
Category:[bash]
Tag:[bash]
Permalink

bashスクリプトでCSVファイルを読み込む方法を紹介します。

1.問題点

bashスクリプトで大量CSVのデータを読み込む必要が生じましたが、読み込む方法がわかりません。

ということで、bashスクリプトでCSVファイルを読み込む方法を紹介します。

2.bashスクリプトでCSVファイルを読み込む

ここではCSVファイルに「名前」「ユーザー名」「パスワード」を3件設定したファイル(sample.csv)を読み込むものとします。

山田,yamada,GU2LTgyM
鈴木,suzuki,Njg4ZWYz
佐藤,sato,b291bf53

bashスクリプト(test.sh)でCSVファイルを読み込むには次のようにします。

#!/bin/bash
 
# 引数でCSVファイル名を取得
input_file="$1"
 
# CSVファイルを行ごとに読み込み
while IFS=',' read -r NAME USER PASS; do
 
    echo "名前: $NAME"
    echo "ユーザー名: $USER"
    echo "パスワード: $PASS"
 
    # ここに必要な処理を追加
 
done < "$input_file"

これでCSVファイルの内容が1行ずつ読み込まれ、変数$NAME,$USER,$PASSにそれぞれ格納されます。

あとは、必要な処理をその中に追加すればOKです。

実行結果

$ ./test.sh sample.csv
名前: 山田
ユーザー名: yamada
パスワード: GU2LTgyM
名前: 鈴木
ユーザー名: suzuki
パスワード: Njg4ZWYz
名前: 佐藤
ユーザー名: sato
パスワード: b291bf53

引数が設定されていない場合のチェックを行うには、赤字の処理を追加します。

#!/bin/bash
 
# 引数でCSVファイル名を取得
input_file="$1"
 
# 引数が指定されていない場合のエラーメッセージ
if [[ -z "$input_file" ]]; then
    echo "使用法: $0 <CSVファイル名>"
    exit 1
fi
 
# CSVファイルを行ごとに読み込み
while IFS=',' read -r NAME USER PASS; do
 
    echo "名前: $NAME"
    echo "ユーザー名: $USER"
    echo "パスワード: $PASS"
 
    # ここに必要な処理を追加
 
done < "$input_file"

さらに、CSVファイルにコメント行や空行が含まれる場合は赤字の処理を追加します。

#!/bin/bash
 
# 引数でCSVファイル名を取得
input_file="$1"
 
# 引数が指定されていない場合のエラーメッセージ
if [[ -z "$input_file" ]]; then
    echo "使用法: $0 <CSVファイル名>"
    exit 1
fi
 
# CSVファイルを行ごとに読み込み
while IFS=',' read -r NAME USER PASS; do
 
    # 空行やコメント行はスキップ
    if [[ -z "$NAME" || "$NAME" =~ ^# ]]; then
        continue
    fi
 
    echo "名前: $NAME"
    echo "ユーザー名: $USER"
    echo "パスワード: $PASS"
 
    # ここに必要な処理を追加
 
done < "$input_file"
Comments [0] | Trackbacks [0]

TeraTermで「サーバはこのマシンに転送を試みました」のメッセージを抑止する方法

February 3,2025 11:55 PM
Category:[Linux]
Tag:[Linux, TeraTerm]
Permalink

TeraTermで「サーバはこのマシンに転送を試みました」のメッセージを抑止する方法を紹介します。

1.問題点

TeraTermでサーバにログインすると下記のダイアログが表示されることがあります。

サーバはこのマシンに転送を試みました.
localhost 上のXサーバへの接続を要求しました (ディスプレイ 0:0).
接続は拒否されました (おそらくサービス停止中です)(code 10061).
転送接続を終了します.

このダイアログを消すとログインまで辿り着きますが、そもそもこのダイアログを表示させない方法がわかりません。

ということで、TeraTermで「サーバはこのマシンに転送を試みました」のメッセージを抑止する方法を紹介します。

2.「サーバはこのマシンに転送を試みました」のメッセージを抑止する

メッセージを抑止するには、「設定」→「SSH転送を選択」

「リモートのXアプリケーションをローカルのXサーバに表示する」のチェックを外します。

これでSSHログイン時にダイアログが表示されなくなると思います。

Comments [0] | Trackbacks [0]
 1  |  2  |  3  |  4  |  5  | All pages