Web」カテゴリーアーカイブ

Web関連技術

手っ取り早くbase64エンコードしたい

nkf の -M オプションは、先に変換が入るためバイナリファイルのエンコードには使えない。nkfはテキストメール前提なので、JIS(ISO-2022-JP)にいったん変換してからエンコードするということらしい。
バイナリファイルを nkf -MB でエンコードして nkf -mB で戻すと全然違うファイルが出来上がる。


$ nkf -MB < 1.zip > 1.b64
$ nkf -mB < 1.b64 > 2.zip
$ md5 1.zip 2.zip
MD5 (1.zip) = 42558acff029a174684f9cf3772c9847
MD5 (2.zip) = 288077e040f5787d3767c72956ae6bf2

nkfではなく、base64コマンドを使うことできちんとエンコードできる。

$ base64 -b 72 < 1.zip > 1.b64
$ base64 -D 1.b64 > 2.zip
$ md5 1.zip 2.zip
MD5 (1.zip) = 42558acff029a174684f9cf3772c9847
MD5 (2.zip) = 42558acff029a174684f9cf3772c9847

上記はMac OS Xのシェル上で実行した結果。
Linux(GNU coreutils)のbase64コマンドは、デコードオプションが -D ではなく -d なので注意。

WordPressインストール

作ろうとしているデータベースと同名のデータベースがあれば削除しておく。ユーザも同様に。

$ mysql -u root -prootpass -e 'DROP DATABASE wp_db;'
$ mysql -u root -prootpass -e "DROP USER 'wp_user'@'localhost';"

データベースとユーザを作成する。

$ mysql -u root -prootpass -e "CREATE USER 'wp_user'@'localhost' IDENTIFIED BY 'wpadminpass';"
$ mysql -u root -prootpass -e 'CREATE DATABASE wp_db;'
$ mysql -u root -prootpass -e 'GRANT ALL PRIVILEGES ON wp_db.* TO wp_user@localhost;'

WordPressをダウンロードして展開する。

$ wget http://ja.wordpress.org/wordpress-4.8-ja.zip
$ unzip wordpress-4.8-ja.zip

設定ファイルを作成する。

$ cd wordpress
$ cp -p wp-config-sample.php wp-config.php
$ vi wp-config.php

define('DB_NAME', 'wp_db');
define('DB_USER', 'wp_user');
define('DB_PASSWORD', 'wpadminpass');
...
define('AUTH_KEY',         'ランダム文字列');
define('SECURE_AUTH_KEY',  'ランダム文字列');
define('LOGGED_IN_KEY',    'ランダム文字列');
define('NONCE_KEY',        'ランダム文字列');
define('AUTH_SALT',        'ランダム文字列');
define('SECURE_AUTH_SALT', 'ランダム文字列');
define('LOGGED_IN_SALT',   'ランダム文字列');
define('NONCE_SALT',       'ランダム文字列');

ランダム文字列は、https://api.wordpress.org/secret-key/1.1/salt/ で自動生成したものをコピー・ペーストする。

あとはWebサーバ(Apache, nginxなど)の設定を行い、ブラウザでサイトURLにアクセスして初期設定を行う。