« 2018年6月 | メイン | 2018年8月 »

2018年7月 アーカイブ

2018年7月12日

さくらRS常時SSL化メモ

■目的
さくらのレンタルサーバで運用のWebサイトをhttpから常時SSL化します。

■環境条件
今回は以下の環境が前提です。
Webサーバ さくらのレンタルサーバ /スタンダード
ドメイン /SSL種別 独自ドメイン /SNI (Server Name Indication)
■SSL導入
サーバコントロールパネルにLoginして[Domain/SSL設定]でドメイン一覧を表示します。
ドメインが一覧になければ[新しいドメインの追加]により一覧に追加できます。
installation1
当該ドメインの[SSL/証明書/登録]をクリックし[無料SSLの設定へ進む]で「無償SSL証明書について」のページを開きます。
installation2
[無料SSLを設定する]でSSL証明書の発行とSSLの設定が自動実行されます。
完了メールで正常終了ならhttps://でサイトにアクセスできることを確認します。

なお使用されるSSLソフトと証明書は以下になります。
SSL Mod_SSL +OpenSSL /無償
SSL 証明書 Let's Encrypt /DV /無償
* 有効期限90日ながらサーバ側で自動更新
■リダイレクト
「.htaccess」ファイルを作成しhttpでのアクセスをhttpsにリダイレクトします。
以下はSSL種別がSNIのサンプルで、DocmentRootにアップロードし権限を604にします。
*最後の行には改行が必要です。
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
■混在コンテンツ
httpsとセキュリティ上問題となる"http"が混在するページを言います。
混在コンテンツでは鍵マークではなく(i)マークがアドレスバーに表示されます。
混在コンテンツではファイル内に記述された"http"を書き換えて排除します。
対象の記述はウェブページ/テンプレート/フィード/CSS/JS/埋込みなどです。
内部参照なら絶対あるいは相対パスに、外部画像や埋込なら"https"に書換えます。

■Google Search Console
常時SSL化したらGoogle Search Consoleに新しいhttps://のプロパティを追加します。
あとはクローラがhttpsのページを検索インデクスに登録してくれるのを待ちます。
installation4
■参考情報
ITmedia「もはやHTTPの時代ではない..」 2017/10/24
さ くらのサポート情報 「レンタルサーバ無料SSL(Let's Encrypt)」
さくらのサポート情報 「.htaccessによるアクセス制御」
MDN 「混在コンテンツ」
GoogleSearchヘルプ  「HTTPS でサイトを保護する」
Qiita 「常時SSL化する為の資料」

■結果
さくらのレンタルサーバでは、SSL証明書発行を含む自動化で超簡単導入でした。
お気に入りなどhttpでのアクセスは自動的にhttpsにリダイレクトしました。
危惧された混在コンテンツは幸いにもゼロでした。

2018年7月18日

Movable Type 7 Upgrade

■目的
Webコンテンツ管理システムのMovable Type7がリリースされました。
自前のWebサイトで使用中のver6を7にアップグレードします。

■前提条件
項目
内容
OS
Linux/CentOS
app apache/mySQL/perl
ディレクトリ
app: /home/example/cgi-bin/mt
mt-static: /home/example/html/mt-static
DocumentRoot: /home/example/html
■準備
(1)事前にDBのバックアップを実行しておきます。
(2)個人無償版を申込み、返信のemailに従ってファイルをダウンロード/解凍します。
installation1
■アップグレード
(1)/cgi-binに仮のmt-newディレクトリを作成して解凍したファイルをアップロードします。
(2)既存のディレクトリからアップグレードに必要なファイルをmt-newにコピーします。
    コピーするファイルは以下です。
 ・mt-config.cgi
 ・plugins /追加したプラグイン
 ・mt-static/plugins /追加したプラグイン
 ・mt-static/support
 ・themes /追加したテーマ
(3)アプリケーション入替え
2つのディレクトリをアップロードした新バージョンに入れ替えます。
なお旧ディレクトリはバックアップ用に名称を変更して残します。
/home/example/cgi-bin/mt
/home/example/html/mt-static
(4)アップグレード実行
ブラウザから//cgi-bin/mt/mt.cgiにアクセスして[ログイン] [アップグレード開始] します。
DBのアップグレードが終わるのを待って完了です。
installation3
■注意事項
マニュアルの手順だと[アップグレード開始]で「internal error」になります。
ファイルパーミッションの変更で解消です。
・/cgi-bin/mt/*.cgi    755
・/html    777
・/html/mt-static/support    777
■スクリーンショット
Movable Type7のダッシュボードのサンプルです。
installation4
■参考情報
Movable Type 7  「個人無償版ダウンロード」
Movable Type 7 マニュアル 「MySQL のバックアップ」
Movable Type 7 マニュアル 「旧バージョンから Movable Type 7 へアップグレードする」

■結果
Movable Type 6から7にアップグレードを終了しました。
途中のinternal errorはファイルパーミッションの変更で解消しました。

2018年7月20日

Surface Go/Amazon US

■目的
Surface Goは軽量2in1/手書きメモの条件を満たすデバイスの一つです。
国内モデルではなくOfficeなしUSモデルの購入検討のメモです。

■Surface Go
Surface GoはWin10/PCのパフォーマンスにモバイルとタッチスクリーンをプラス。
価格的には、個人的に使用実績のないOfficeなしのUSモデルが検討対象です。
SignatureタイプカバーおよびSurface Pen は別売りです。
Surface Goのページはこちら
surface go

■価格
RAM/SSDが2倍容量の上位モデルにおける国内/USモデルの比較です。
国内モデルはOfficeがバンドルされる分高価格です。
USモデルはAmazon USのinternational shippingを利用できます。

USモデル
国内モデル
Office
なし
あり
購入先
Amazon US
Microsoft /japan
価格
$601 /¥71,240
(輸送費 +諸費用含む)
8/2発売
¥89,424
8/28発売
■仕様
項目
個人向け
備考
Software
Windows Home /Sモード
Office Home & Business 2016
Sモードは解除可
Office は国内モデルのみ
CPU
Intel Pentium Gold 4415Y

RAM 4GB または 8GB
Graphics
Intel HD Graphics 615

Display
10" Pixel Sense
解像度1800 x1200 (217 PPI)
10 ポイント マルチタッチ
Corning Gorilla Glass 3

Sensor
環境光センサー
加速度計
ジャイロスコープ
磁力計

Storage
eMMC /64GB または SSD /128GB

Wireless
Wi-Fi: IEEE 802.11 a/b/g/n /ac 互換
Bluetooth 4.1

Interface
1 x USB-C
3.5 mm ヘッドフォン ジャック
1x Surface Connect ポート
Surface タイプ カバー ポート
microSDXC カード リーダー
Surface Dial* 画面外対話式操作に対応

Camera /Video /Audio
Windows Hello 顔認証カメラ (フロント)
5.0 MP フロント カメラ
 (1080p Skype HD ビデオに対応)
8.0 MP のオートフォーカス付きリア カメラ
 (1080p HD ビデオに対応)
シングル マイク
Dolby Audio Premium 対応の 2W ステレオスピーカー

Battery ビデオ再生 /最長 9 時間
Weight
522 g
タイプ カバーを除く
Size
245 x175 x8.30 mm

■結果
Officeなし/AmazonUS/USモデルなら国内より18kyenほど安く入手できます。
Amazon USでの購入手続きはAmazon Japanとほぼ同じです。
タイプカバーとSurface Penは別売りです。

2018年7月29日

サイト&MovableTypeの移設

■目的
自前Webサイト&Movable Typeを移設します。
同時に独自ドメインを取得し全https化を実施します。

■前提条件
移設先はさくらのレンタルサーバーです。

移設元
移設先
Server
自前;DBを含む
さくらレンタルサーバ;DBを含む
CMS
Movable Type 7
移設元に同じ
URL
http:// example.jp/
(ddns)
https;// www.example.info
(独自ドメイン)
■独自ドメイン
さくらインターネットのサイトで独自ドメインを取得します。
移設先のサーバーコントロールパネルでレンタルしたサーバーにドメインを追加します。
[ドメイン/SSL設定][新しいドメインの追加][ドメイン名を指定][送信する]
■SSL設定
移設先のサーバーコントロールパネルで無料SSLを設定します。
これで移設先サーバーにはhttp、https両方でアクセスが可能になります。
実施例は関連情報を参照;「 さくらRS常時SSL化メモ

■mySQL移設
(1)移設先DB作成
移設先のサーバーコントロールパネルでmySQLのDBを作成します。
[データベースの設定][データベースの新規作成]
db
creation
DB名 user_xxxx (任意)
DBユーザ名 user (デフォルト)
DBパスワード
xxxxxxxx (任意)
DB文字コード
UTF-8(utf8mb4)
(2)移設元DBバックアップ
事前に移設元DBをダンプしDBファイルとして生成します。
実施例は関連情報を参照;「 MovableTypeのバックアップ

(3)DBの編集
移設元DBファイルを編集し、ドメインとhttps化の変更を反映させます。
具体的にはテキストエディタでファイルを開き以下の内容の置換えを行います。
公開パスやサイトパスなどの変更は後でMovableTypeの再設定で対応します。
なお今回利用のエディタは文字コードUTF-8を扱えるnotepad++です。
・http://example.jp -> https://www.example.info
example.jp -> www.example.info
(4)インポート
編集済の移設元DBファイルからデータを移設先DBにインポートします。
[データベースの設定][管理ツールログイン] でphpMyAdmin画面にします。
[データベース/データベース名選択][インポート]でインポート画面を開きます。
[ファイルを選択=ファイル名][文字コード=utf-8][実行]でインポートを実行します。
db import
■Movable Typeの移設
(1)ディレクトリ
FTPで移設元のMovable Typeのディレクトリをダウンロードします。
ダウンロードしたディレクトリは移設先にアップロードします。
今回利用したFTPアプリはFilezillaで、転送モードはパッシブ、文字コードは自動検出です。

移設元
移設先
mt
/home/user/cgi-bin /mt
/home/user/www /mt
mt-static
/home/user/html /mt-static
/home/user/www /mt/mt-static
(2)初期化
移設先のcgiファイルのパーミッション設定と構成ファイルの初期化を行います。
・mt内の全.cgiファイルのパーミッションを755に設定
・mt/mt-config.cgiファイルの削除
(3)初期設定
Webブラウザで//www.example.info/mt/mt.cgiにアクセスして初期設定を行います。
設定では、移設先での通知メール発信のためのSMTPサーバ情報を準備の必要があります。
初期設定を終了したらMovableTypeにサインインします。
サインインのID/パスワードはDBにより移設元の値が引き継がれます。
*サインイン後に変更が可能です。
mt
initialization
言語 日本語
チェック システムチェック
設定 データベース
通知メール
処理
データベースアップグレード
■MovableTypeの再設定
MovableTypeへサインインしたら設定情報を見直し、必要があれば修正します。
今回は利用している3つのサイトのサイトパスなどの情報を修正しました。
公開パス=https://example.info/
サイトパス=/home/user/www
サイトパス=/home/user/www/blog
■混在コンテント
https化しても、画像を"http"でアクセスしたりすると保護されません。
サーバ内のファイルへのアクセスなら絶対あるいは相対アドレスの記述に変更します。
また外部ファイルへのアクセスならhttpsに変更が必要です。
今回特にMovableType/PermaLinkなどが生成のURLは絶対アドレスに置換えました。
<MTFor replace="https://www.example.info/","/">
  :
</MTFor>
■移設先リダイレクト
移設先にはhttpでもアクセス可なので「.htaccess」ファイルでhttpsにリダイレクトします。
以下はSSL種別がSNIのサンプルで、DocmentRootにアップロードし権限を604にします。
*最後の行には改行が必要です。
SetEnvIf REDIRECT_HTTPS (.*) HTTPS=$1
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{ENV:HTTPS} !on
RewriteRule .* https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
</IfModule>

■移設元リダイレクト
移設元のhttpd.conf ファイルを編集しアクセス要求を転送先に301リダイレクトします。
permanentの指定で検索インデックス情報は移設先に引き継がれます。
なお編集結果を反映のためにhttpdサービスの再起動が必須です。
Redirect permanent / https://www.example.info/    ..追加
■関連情報
cbreeze 「さくらRS常時SSL化メモ」
cbreeze 「MovableTypeのバックアップ」
MovableType6マニュアル「さくらレンタルサーバに MovableTypeを設置する」
Qiita 「MovableTypeのサーバ移行手順」

■結果
無事自前サイト&MovableTypeをさくらのレンタルサーバーへ移設しました。
独自ドメイン取得と全https化とも完了し現時点保護されないページは見つかっていません。
移設事項の変更はDBの編集で対応し1200件超の記事を含めて所要時間は数分でした。
ただし全事項反映のためには移設先でMovableTypeの設定事項見直し&再設定が必須です。
移設元へのアクセスは、全て自動で移設先サーバーへの転送としました。

About 2018年7月

2018年7月にブログ「cbreeze」に投稿されたすべてのエントリーです。過去のものから新しいものへ順番に並んでいます。

前のアーカイブは2018年6月です。

次のアーカイブは2018年8月です。

他にも多くのエントリーがあります。メインページアーカイブページも見てください。