VPSサーバーのMySQLをMariaDBに変更~互換性があるので簡単だった

VPSサーバーのOSをアップグレードすることにしました。当サイトはDebian GNU/Linuxを使っています。今までApache+MySQLで動かしてきましたが、Debian 10がリリースされたこともあり、これを機会にMySQLをやめてMariaDBに変更します。

MariaDBはMySQLと互換性が高く保たれているそうなので、一応バックアップは取るものの、トラブルが無ければすんなりと行けるハズです。

Apacheは継続して使うつもりなので(Nginxにはしない)、懸念するところはMySQLのデータをMariaDBに上手く移行させられるか?というところです。

続きを読む

はてなブログをWordPressに引っ越してSSL(HTTPS)対応~Let’s Encryptの備忘録

Let’s Encryptの設定備忘録

4年ほど前に知り合いから相談を受けて、はてなブログの操作を確認する為に無料版で公開し始めたところ、意外と書くテーマがあってコツコツ続けられたのでそこそこ記事がたまって来ました。

当初は操作性や機能を確認する目的だったのですが、独自ドメイン(サブドメイン)をDNSで割り当ててみたくなり、有料版(はてなブログPro)をすぐに使い始めたのですが、はてなの対応がイマイチ良くないこともあり、時代の流れ上当然であるSSL(HTTPS)にも対応してくれないし(今日現在まだ有料版のPROは対応していません。

しかも逆撫でする様に無料版はSSL対応済みだという現状・・)。これはダメだなと、はてなブログを捨ててWordPress環境に移すことにしました。少なくとももはやお金を払って使用する価値は私にはありません。契約期間が終わったらさいならです。

幸い、当サイトと同様に自前のWebサーバーはSSL対応の下地は出来ているし、IPv6対応も済ませているので、メインとなる面倒な作業はWordPressの動作環境を整えることと、既存コンテンツ(記事&画像)を移すことが課題でした。

当初思っていたよりも容易に移行出来たので一日で引っ越し出来ました。WordPressマルチサイトモードの検証という寄り道が無ければ半日で終わったかも知れません。複数のサイトをまとめるためにWordPressマルチサイトモードに期待していたのですが、パーマリンク動作が怪しいので今回はパスする事にしました。マルチサイトを必要とするユーザー数は圧倒的に少ないのでバグがまだ残っている可能性が高いと思います。

さて二年ほど前に当サイトをSSL対応させた時の記録は端折っていてちょっと不安でしたが、結局Let’s Encrypt公式ポータルを参照しただけでSSL証明書の組み込みが出来ました。しかし物忘れも激しくなって来ましたし、先々きちんと思い出せるか自信が有りません。それに次回の作業はもっと時間短縮させたいので自分の為に要点だけ残しておきます。

自分なりに敢えて不要な部分は残さずわかりやすくしているつもりなので、この記し方が誰かに役立てば何よりだと思います。(だいた私のノートは子供の頃からこんな感じです。詳しい解説は教科書や参考書を読めば良いですからね。Let’s Encryptなら公式サイトに書いてある事が一番信用出来ます。)

前回の作業記録

当サイトをSSL(HTTPS)対応~Let’s Encryptで証明書代金はかからず/

続きを読む

EC-CUBEからカラーミーへ引っ越し~商品ページをRewriteEngineで転送

EC-CUBEを使用しているクライアントより、カラーミーへの移転相談がありました。これを機会に全ページSSL対応させたいとのことです。ECサイトにとってはSSL化は急務なのかも知れません。

まずはそれぞれのECサイト用エンジンの違いについて把握しておく必要があります。

  • EC-CUBEの商品ページURL

http://example.com/products/detail.php?product_id=100

  • カラーミーのURL

?pid=100000001

調べた限りでは、カラーミーへの商品登録時には商品IDは自動採番されるらしく、任意の番号を付与することが出来無さそうです。面倒ですが商品個別のリダイレクトを定義して、適切なページに転送させる必要がありそうです。

確実な方法としてApache modrewriteを使って301リダイレクトを行う検証をしてみました。既にこのEC-CUBEのサイトは運用年数も長くそれなりのSEO評価を得ているので、適切にリダイレクトしてやればその評価を継承できます。

幸い.htaccessによるmod_rewriteエンジンが使用出来ることは確認済みです。

EC-CUBE側のサイトで、productsディレクトリに.htaccessファイルを配置していくつかの転送指示を記してみました。今回はQUERY_STRINGを使いました。

EC-CUBE側の商品アドレスにアクセスすると、カラーミー側の新商品ページに転送されることが確認出来たので手応えとしては良さそうです。
[crayon-5d60e4f2a6667781104646/]
上の例ではEC-CUBE側でproduct_idが134、140、199の3商品のみを転送する例ですが、商品数が50以上あるので、それぞれについての転送を記述しなくてはならず、それだけこの.htaccessのサイズ肥大が気がかりではあります。

続きを読む

Microsoft Expression Web 4~ホームページビルダーより柔軟性がありきちんとしたHP更新用無料アプリケーション

過去にはMacromedia Dreamweaverを使ってホームページの作成を始め、その後HTMLやXHTMLとCSSを独学で学んでそこそこWebのスキルを身に付けたものです。

最近ではテキストエディタとFirefoxとFireBugが一番Webサイトのテスト検証をやりやすい環境だと思っていますが、私はWeb屋ではないのであらゆるタグやスタイル記述を覚えている訳では無く、HTMLエディタを使うのがベターだなと考えました。

更に私以外の人がページを編集することも配慮しなくてはなりません。まず候補に挙がるのはテンプレート機能が使えるDreamweaverですが、多機能なので操作が複雑なのと結構な費用がかかる事です。ちょっとした編集を目的とした用途にはこの費用は高く感じます。

そこで、Microsoftが無償化したExpression Web 4を使ってみる事にしました。評判によるとあまり余計なソースを生成しないという比較的硬派なHTMLエディタだと聞いていましたが、実際にインストールして使ってみるとかなりいい感じです。特にVisualStudioで養ったIntelliSense機能によるタグ補完機能がいい感じ。HTMLは当然、CSSもIntelliSenseでどんどん補完してくれます。

2/4 ウェブ作成ソフト Microsoft Expression Web が無料化 [ホームページ作成] All About

ダウンロードは上記記事を参考にすると良いでしょう。デフォルトだと英語版がダウンロードされるので、「+Details」からJapaneseを選択して日本語版をダウンロードするだけですけど。ついでにDesignとEncoderもゲットしておくと便利かも知れません。

最近だと、HTML5+CSS3を扱うことも増えたので、HTML5スキーマを利用できるようにして置くと便利です。アドインがあるので簡単にHTML5対応のHTMLエディタ(IntelliSense機能)が実現出来ます。Expression Webはほとんど余計なことをしないので嬉しいことです。

後は、書式設定からダイナミックWebテンプレートを実行して、Dreamweaverでいうところのテンプレートを定義していけば、Expression Webでもテンプレート機能が使えるので、触ってほしくない部分や一元管理したい部分をテンプレートにしておけば合理的な管理が出来ます。

この辺り個人的にはWordPressを使ってCMS的にコンテンツ部分だけを更新してもらう方法がベターだと思っているのですが、動作環境によってはDBが使えないことも十分想定出来るしページ数が少ない場合等はむしろ静的ページとして管理した方がメリットが多い場合もあると思います。

本来有償で販売されていたアプリケーションがこうやって無償で使用出来るのはありがたいことです。Microsoft製のソフトウェアには当たり外れがあるのですが(笑)、個人的にはExpression Webは当たりじゃないかなと思っています。ありがたく使わせていただき有効活用しましょう。

EC-CUBE 2.4系で規格が正しく登録出来なくなった件

知人からEC-CUBEのショッピングサイトで、規格(色-サイズなど)が中途半端にしか登録出来なくなったという相談あり。このサイトのことは良く知っているので状況をヒアリングしたところ、規格の組み合わせが非常に多いものを登録しようとしたら、途中までしか登録出来ないとのこと。

具体的には、ワッペンとなるアルファベットを二つ選べる商品にしているので、選択項目肢としてプルダウンメニューが二つ表示されるページの仕様。AからZまでで26個。これを縦軸と横軸に考えると26✕26=676個の組み合わせとなる。EC-CUBE 2.11からはツリー状にDB構成が改良されたらしいが、2.4系はマトリックス状にもれなく生成されるので規格の組み合わせが多い場合のトラブルは目にすることが多かったと記憶。

調べたところ、EC-CUBEのシステムパラメータでは制限かけている箇所が無いので、PHPの環境で制限がかかっているものと推測。PHPの情報を調べてみた。すると「max_input_vars」という項目がこのトラブルの原因として合致しそう。簡単に調べてみたところPHP5.3.9以降から実装されたらしい。

続きを読む