広告

この広告は30日以上更新がないブログに表示されております。
新規記事の投稿を行うことで、非表示にすることが可能です。
posted by fanblog

レンタルサーバーの試用期間で確認すること10選【初心者向け】

レンタルサーバーの試用期間で確認すること10選

インターネットで情報を公開しようとVPS、専用サーバー、レンタルサーバー、ワードプレス専用サーバー、自宅サーバーどれにしようか悩んだりしますよね。

当ページを読むと、
試用期間で確認すべきことがわかります。
レンタルサーバーに絞って試用期間で確認すること10選をまとめています。

目次



初めてサーバーをレンタルする際は、検索して見つかった評判やおすすめなどを参考にしたりします。
こういった情報はなるべく、新しい日付の情報を参考にした方が良いです。

例えば、レンタルサーバーの場合だと、契約する時期が新しければ、新スペックのサーバーになったりします。

古い日付の情報の場合、その時点ではあっている情報でしたが、今では全然違うってこともよくあります。
  • なるべく新しい更新日の情報を参照する


レンタルサーバーの試用期間中の料金に関して
  • 初期費用や月額料金は発生しません。無料です。


本契約した場合の扱いに関して
  • 本契約を結ぶと試用期間中に試したサーバーが割り当てられます。


  • 試用期間中にサポートへ連絡しても特に料金等は発生しないので、
    疑問に思ったことは問い合わせした方がいいです。


    【試用期間でサーバーを試す心構え】
    「評判通り良いサーバーだったら契約する」という気持ちが必要です。



    レンタルサーバーを試す前に準備すること


    rental-server-zyunbi.png

    試用期間は、自分にあっているサーバーなのか?を確認する選定期間です。
    可能であれば、複数のレンタルサーバーで、同時に確認するのが望ましいです。

    • 試用期間があって、必要不可欠な機能があるサーバーをピックアップします。

      例えば、php7が使える、sshが使える、wordpressの自動インストールがあるなどです。


    • レンタルサーバーに試用期間申し込みする際に必要となるログイン名を決める

      いくつか候補を決めておきます。すでに存在する名前は使えません。


      後から変更することはできません。
      独自ドメインを利用する予定であれば、適当でいいと思います。


      多くのレンタルサーバーは、このログイン名がデフォルトで使えるドメイン名になります。
      さくらインターネット:○○○.sakura.ne.jp、エックスサーバー:○○○.xsrv.jp、LOLIPOP:○○○.xxxx 
      ○○○に相当する部分がログイン名です。
      ロリポップは、xxxxxに該当する部分が選べます。




    よく比較されるレンタルサーバー3選【契約済】


    さくらインターネットのスタンダードプラン、エックスサーバーのX10プラン、LOLIPOP!のスタンダードプランは、いろいろなサイトで比較されるのを目にします。

    プランやスペックの比較は以下の通りです。いずれのレンタルサーバーも試用期間があります。表示している価格は税込みです。
    3つを比較して、優れているポイントを太文字(赤)で強調しています。

    レンタルサーバーさくらエックスサーバーLOLIPOP!
    プランスタンダードX10スタンダード
    年間契約時の月額515円1,080円515円
    無料お試し期間14日間10日間10日間
    初期費用1,029円3,240円1,620円
    ディスク容量100GB200GB120GB
    転送量上限目安/日80GB70GB100GB
    共有SSL対応無料独自SSL対応
    独自ドメイン数20無制限100
    MySQLデータベース数205030
    WordPress簡単インストール対応対応対応
    データベースの容量制限全体で500MB1つあたり500MB
    MySQLバージョン5.5.x5.7.x / 5.5.x5.6.x
    php7対応対応対応

    プランの月額は、12ヶ月契約で一括払いした金額を月額相当に計算しています。

    エックスサーバーは、初期費用が3,240円から半額1,620円になる初期費用半額キャンペーン実施中です。
    2017年4月28日までの期間限定です。

    エックスサーバーの試用期間申し込みはこちらから↓








    レンタルサーバーの試用期間で確認すること10選【初心者向け】を読む>>>

サーバーに設置できる無料ヒートマップシステムはあります

訪問者がどこを読んでいるのか可視化できるヒートマップ、サイトの構成見直しや記事のブラシュアップに大変役立つツールです。

ヒートマップはGoogle Analysticsと同じようにJavascriptをHTML内に埋め込むことで使えるようになります。



ヒートマップは、マウスクリック、タップ、マウスの移動、ページスクロールしている、しないでみているエリアなどの情報を元に可視化しています。


ヒートマップは統計情報だよね


一番信頼できるのはマウスクリック、タップの情報です。
訪問者がマウスをクリックした、タップした場所のイベントは正確です。推測が一切ありません。

マウスカーソルが置かれている位置、ページのスクロール、スクロールが止まっている状態、これら情報を元にサーモグラフィーのようなヒートマップが作られています。
(日々進歩していると思われます。)


ページを見ている最中に、友達と会話が弾んでそのまま放置でも、Javascriptから得られる情報は「見ている」ことになります。

8割の人は、あまり見ていないかもしれません。2割の人はある程度真剣に見ているかもしれません。



真剣に見てくれている2割のための改善を考えるとPV500以上必要じゃないでしょうか。
10アクセスで2つサンプル、100アクセスで20サンプル、500アクセスで100サンプル、1000アクセスで200サンプルになります。

情報の精度は、サンプルの数によって上がります。



ヒートマップの仕組みはサーバーへの負担が大きそう


Javascriptでマウスイベント、スクロールイベントを検出した結果を送信、サーバー側で蓄積した結果を解析するという流れでサーモグラフィーのようなヒートマップが出来上がります。



マウスの移動は環境によってまちまちですが、頻度が多いイベントです。
1PVに対しての送信頻度が多い傾向になります。

PVが多いメディアでは、このイベントをさばけるようなサーバーが必要になってきます。
ある程度まとめて送るような施策も必要だと思います。

自前でサーバーを用意したくないなら無料のヒートマップツールを試してみよう!


ある程度まで無料で使えるオススメのヒートマップツールです。
  1. ptengine
    メールアドレス+サイトURLの無料登録で使えます。
    無料で使えるのは、登録したサイトの1ページのみです。

    ヒートマップを使いたいページ数分、メールアドレスが必要になります。
    有料版は、14,800円〜、ページの上限は無くなります。PVの上限値があります。

    Wordpress用のプラグインが公開されています。
    https://wordpress.org/plugins/ptengine-real-time-web-analytics-and-heatmap/

    長めのページを解析したい方にオススメ!



  2. User Heat
    メールアドレス、氏名、サイトURLの登録が必要です。
    月間30万PVまで登録したサイト全ページ解析可能です。


    PV以外にも、有料プランへのお誘いがあります。
    解析できる長さ・幅に制限があります。写真、画像が多めで長いページや文字数2000文字以上ページだと途中で解析結果が切れています。

    このように制限はあります、でも全ページ対象にできるって結構すごいです。
    はじめに試すならUserHeatがオススメです。


 
 
 

自前でサーバーを用意してヒートマップシステムを構築する


まず、普通のレンタルサーバーでは構築は難しいです。
パブリックに公開している自前のサーバー、VPS、専用サーバー、クラウドサーバーなどの環境が必要になります。

こちらのページにアクセスして、要件をつかんでください。
The definitive heatmap
ソース一式置いてあります。

高速反応可能なmod_imapを使い実現する手法です。

registerclicks.js 解析対象のページに設置するjavascriptです。自分のサーバ向けに修正する必要があります。


Rubyで管理系処理を実現しています。


ログを解析して、最終的に画像(final.png)化します。

表示はOverlayで実現



関連リンク:
https://sourceforge.net/projects/clickmaps/

下部にあるコメントも見逃せません、「俺はメッセンジャー使ってやってるよ」とか想像を掻き立てられます。

PerlやPHPでやる手法も部分的に公開されています。


1つ目のボトルネックは、apacheの反応速度、cgiやphpやモジュール系がいいです。
検討すべき項目:CPU性能、コア数、バックボーンの転送速度など

アクセスを受けた後、最終的に情報を格納する必要があります。

2つ目のボトルネックは、ディスクの書き込み速度、マルチアクセスに対するディスクアクセス制御、ディスクコストがキーになります。
検討すべき項目:スループット、SSD


難しいソースではないので、読んで理解することができると思います。
自分で改善ポイントやレンタルサーバーでできるアイデアも湧いてきますね!


mod_imapを入れるにはルート権限でいじれる環境、例えばVPSが必要になってきます。
VPSサーバーでも月額が安いものが登場しています。
性能は、当たりハズレがあったりします。

だから無料期間があるVPSを選びたいですね!

評価する期間は長い方がいいので、無料期間が長い順に3つご紹介します。
事務手数料無料! 無料期間1ヶ月! 月額467円〜

【SPEC】Memory:1GB〜、HDD:50GB〜

初期費用がなく、月額も一番安いです。これで満足できる性能だったらトータル費用が一番安く仕上がります。



無料期間2週間! 月額685円〜

【SPEC】Memory:0.5GB〜、SSD:20GB〜 初期費用:1,080円
【UPGRADE】メモリ1GB、2コア、SSD30GBは、月額972円です。

無料期間が2週間付いているメリットがあります。スペック的にはCoNoHaと競合しています。


こちらは初期費用が無料でSSD付きです、トータル的に見るとお得です。
初期費用無料!月額630円〜

【SPEC】Memory:0.5GB〜、SSD:20GB〜
【UPGRADE】Memory1GB、2コア、SSD50GBは月額900円です。



自分で設置できるヒートマップのまとめ


無料で使えるHeatmapツールは優秀です。有料プランは高いです。

高度ではありませんが、ヒートマップを実現する根幹部分のソースコードは公開されています。
やろうと思えば設置して全部コントロールできます。

PVが多いと色々問題が出てくるかと思います。
アクセスをさばけるサーバーの必要性が出てきた時、有料プランの方がお得ってことになるかもしれません。

PV数が多くなるとコストがかかります。
1サイトならHeatmapツールの無料版をアップグレードする方がお得かもしれません。

複数サイトならコスト見合いですね。












「.コム」の登録情報をmacでwhoisを使って調べる方法

普段はmacを使っています。お名前.COMなどでドメインを取得した後、
ちゃんとwhois代行ができているか確認するようにしています。

実は、先日まで.コムがすごい安くて買ってみました。

新規登録時にwhois情報の代理をチェックしておくと、以降ずっと無料です。




取得した後に、whois代理になっているかを確認したところエラーになってしまいました。
macのターミナル
$ whois xn--eckwd4c7c5976acvb2w6i.xn--tckwe
whois: xn--tckwe.whois-servers.net: nodename nor servname provided, or not known

日本語ドメイン.コム => xn--eckwd4c7c5976acvb2w6i.xn--tckwe
このドメインは例です。取得したドメインではありません!

日本語ドメイン.comとかだと、punycode変換したxn--eckwd4c7c5976acvb2w6i.comで問題なく調べられます。
punycode変換ツールは、日本語JPドメイン名のPunycode変換・逆変換を使っています。

「.コム」の登録情報をmacでwhoisを使って調べる方法


「.コム」は、punycodeの.xn--tckweを利用するのが正解です。

whoisコマンドには、-h引数でホスト名が指定できます。
-h引数で「.コム」のwhoisサーバーを指定することで検索できるようになります。


$ whois -h whois.nic.xn--tckwe  xn--eckwd4c7c5976acvb2w6i.xn--tckwe


トップレベルドメインは、こちらで検索できます。
IANA.ORG Root Zone Database
見つけた「.コム」のwhoisサーバー情報です。

「.コム」と同じように、「.みんな」、「.グーグル」などもmacでwhois検索できるようになります。



「.コム」の登録情報をmacでwhoisを使って調べる方法以外にも、直接レンタルサーバーにsshログインすることで確認できたりします。

sshログインできるレンタルサーバーのうち、3つ(エックスサーバー、さくらインターネット、ロリポップ)の挙動を確認してみました。


エックスサーバーはそのまま検索できる!


エックスサーバーにsshログインして「.コム」のwhois検索ができるか確認してみました。
エックスサーバーは引数指定しなくても対応済みです。
$ whois xn--eckwd4c7c5976acvb2w6i.xn--tckwe
[Querying whois.internic.net]
[whois.internic.net]

Whois Server Version 2.0




さくらインターネット(スタンダード)は、引数で指定が必要です。


% whois xn--eckwd4c7c5976acvb2w6i.xn--tckwe
whois: xn--tckwe.whois-servers.net: hostname nor servname provided, or not known



ロリポップ(スタンダード)は、whoisコマンドがありません。


$ whois xn--eckwd4c7c5976acvb2w6i.xn--tckwe
-bash: whois: command not found





「.コム」の登録情報をmacでwhoisを使って調べる方法のまとめ


今回ご紹介した、
「.コム」、「.みんな」、「.グーグル」などのwhois登録情報を確認できる方法は、
新たにトップレベルの日本語ドメインが追加されても応用できる方法です。

少しの手間、IANA DBで対応するwhoisサーバーを探すして、whois -h で指定するだけです。


今回使ったmacは、2016/9時点で最新のmacOS Sierra 10.12を使っています。
pingやnslookupの名前解決は可能です。でもwhoisで検索できませんでした。
ping xxx.xn--tckwe
dig(nslookup) xxx.xn--tckwe
whois xxx.xn--tckwe
macでもデフォルトで対応してくれると嬉しいですね!


新たにレンタルサーバーを契約しようかご検討中なら、エックスサーバーがおすすめですよ




posted by scripts at 11:44 | Comment(0) | TrackBack(0) | shell

お名前COMからエックスサーバーへ引っ越しする際のハマりやすい5つのポイント

お名前COMっていうとドメインですよね、この記事はお名前COMの共用サーバーからエックスサーバーに引っ越する際のポイントをまとめています。


お名前COMの共用サーバーからエックスサーバーに引っ越し作業を実施しました。

数多いサイトを引っ越ししました。
この中でワードプレスのマルチサイトがあったのですが、とってもハマったので備忘録を兼ねて残しています。

ドメインの管理できる数は無制限とかですが、データベースの数は有限です。
エックスサーバー(X10)の場合、50個がデータベースの上限です。

なので・・・

データベースを利用するワードプレスで、ドメインとデータベースは以下のように
ドメインに対して1データベースを割り当てるようにしています。
example1.com => データベース1
example.com =>データベース2
sub1.example.com =>データベース2
sub2.example.com =>データベース2
example2.com =>データベース3

お名前COM、さくらサーバー、ロリポップ、エックスサーバーなどには、ワードプレスを簡単にインストールできるツールが備わっています。

データベースとドメインが1対1の場合、簡単インストール系がとても簡単です。
データベースとドメインが1対Nの場合、簡単インストール系は使えなかったりします。


エックスサーバーは、手動インストールする必要がありました。




1つのデータベースで複数のワードプレスサイトを管理する仕組み



ワードプレスのwp-config.phpに「 WordPress データベーステーブルの接頭辞」設定があります。
通常デフォルトは、下記のようにwp_になっています。
$table_prefix = 'wp_';


1つのデータベースで複数のワードプレスサイトを運営する場合、このwp_を別々の名前で指定することで対応可能です。

example.com => $table_prefix='wp_';
sub1.example.com => $table_prefix='wp1_';
sub2.example.com => $table_prefix='wp2_';

$table_prefixは、以下のようにテーブル名として利用されます。
  • wp_commentmeta
  • wp_comments
  • wp_links
  • wp_options
  • wp_postmeta
  • wp_posts
  • wp_termmeta
  • wp_terms
  • wp_term_relationships
  • wp_term_taxonomy
  • wp_usermeta
  • wp_users


wp_の部分を変えることで、1つのデータベースで複数のサイトが管理できるようになっています。

ワードプレスって便利ですよね!

お名前COMからエックスサーバーへ引っ越しする際のハマりやすい3つのポイント


ワードプレスとデータベースが1対1のサイトを引っ越す際は、
ワードプレスのエクスポート機能、インポート機能を使いました。


手順は、ざっくりと以下の通りです。
  1. コンテンツやメディアを1つにまとめたxmlファイルをエクスポート
  2. ワードプレスの設定や導入しているプラグインをメモっておく
  3. ==引っ越し開始 ==
  4. エックスサーバーのサーバーパネル>ドメイン設定から引っ越しするサイトを追加する
  5. お名前COMのドメインNaviでdnsを他社でns1.xserver.jp・・・ns5.xserver.jpに変更する
  6. エックスサーバーのサーバーパネル>自動インストールからワードプレスをインストールする
  7. サイトにアクセスできたら、2でメモったテーマ、プラグイン、設定などをインストール・設定する
  8. 1でダウンロードしたXMLファイルをワードプレスのインポート機能で取り込む



ワードプレスとデータベースが1対Nのサイトを引っ越す際、とってもハマりました。


基本的な流れとしては、お名前COM側 MySQLのエクスポート、ワードプレスサイトのフォルダをtarでまとめて転送する、あとはエックスサーバー側に適用するといった流れです。


データベース(MySQL)の引っ越しは、特にハマるポイントはなかったです。

手順としては、お名前COMにadminerをインストールしてデータベースをエクスポート、
エックスサーバー側でデータベースを作って、ユーザーを追加設定し、
phpmyadminを使ってインポートしています。


ポイント1 まさかのサブドメインの文字数制限


お名前COMでは特に意識したことがなかったんですが、
エックスサーバーのサブドメインには文字数制限があります。
制限は、30文字です。

サブドメインは30文字までに心がけましょう!

サポートにお願いしてなんとかなったりしないかなぁと思って問い合わせてみたんですが、
例外なしで、30文字まででしたorz。

ちなみにオーバーしたサイトはそのままでは引っ越しできません。つまりサブドメイン名の変更になります。・・・


ポイント2 403 Forbidden、さらに真っ白なトップページ


わかるととっても簡単でしたが、難問でした・・
お名前COMでtar cvf サイト.tar.gz ./サイトでまとめたファイルを
エックスサーバーで展開しました。

パーミッションが変なんです!

どこで変になったのか、ちょっと不明なんです(※1)が、
ファイル、ディレクトリともにgroup/othersの読み込みパーミッションがなくなっていました。
なので、以下コマンドでサッっと設定しなおしたらアクセスできるようになりました。

ディレクトリのパーミッションを一括設定
find . -type d -exec chmod 755 {} +


ファイルのパーミッションを一括設定
find . -type f -exec chmod 644 {} +


どちらのコマンドもとっても便利ですよ^^。これの意味を調べてわかればきっと立派なLinuxerですね

(※1)卵が先か、鶏が先かの問題になりますが、同じドメインで引っ越しする場合、エックスサーバー側で事前準備がしにくかったりします。
ドメインを設定しないとフォルダが作られないとかありますからね

そこで、あらかじめフォルダを作って、事前準備万端で引っ越し作業をしました。
エックスサーバーのサーバーパネルからドメインを追加した後に準備したwordpressのフォルダをmvしたりする作業をしています。

準備していたタイミングでは特にパーミッションの問題はなかったはずですが、アクセスできるようになったタミングではパーミッションがおかしかったです。


ポイント3 お名前COMのウェブ設定>かんたんブログインストールしたワードプレスの引っ越し


かんたんプログラムインストールしたワードプレスサイトは、
サイト/wp/などwpフォルダがひつようだったり、
4.2.2-ja-jetpackなどが適用されていますよね。


wpフォルダのまま以降したい方は、このポイントは当てはまりません。

ここではwpフォルダからの脱却、jetpack未使用のサイトに引っ越しする方に最適です。

データベースの引っ越しができている状態の場合、コンテンツやワードプレスの設定はデータベースに含まれています。

これ以外に最低限必要なのは、ワードプレスの本体、適用していたテーマ、アップロードした画像ファイルなどです。


ポイント3としては、wpフォルダからの脱却に伴い、データベースを編集が必要です。
wpフォルダがない状態で、wpフォルダにアクセスするため表示されないサイトになります。

エックスサーバーのphpmyadminで、
wp_optionsテーブルのsiteurl、home項目にwpがある場合、
wpをなくすように設定してください。



ポイント4 エックスサーバーに簡単引っ越し!サブドメインの設定手順


名前COMのサブドメインは、~/sub1.example.comのような構成で作られます。
エックスサーバーのサブドメインは、~/example.com/public_html/sub1/のような構成になります。

比較ではあまり語られない部分で、結構ちがったりしますね・・

サブドメインの設定手順は以下の通りです。
  1. サーバーパネルからサブドメインを追加する
  2. sshでエックスサーバーのsub1フォルダにアクセスします。
    % cd ~/example.com/public_html/sub1


  3. ワードプレスの最新版をダウンロード&展開
    % curl -O https://ja.wordpress.org/latest-ja.tar.gz


    wordpress latest-ja.tar.gzをwordpressディレクトリを除いて展開する方法
    これとっても便利です。忘れないように覚えておくと使いどころ満載です。
    % tar --strip-components 1 -xvf latest-ja.tar.gz


    --strip-components 1で、latest-ja.tar.gzにふくまれているwordpress/の部分を除去して展開してくれます。

  4. ワードプレスの設定
    % cp wp-config-sample.php wp-config.php
    % vi wp-config.php


    データベースの設定、テーブルプレフィックスを適切に設定してくださいね。

    あなたの環境に従って最低限修正・見直しが必要な項目は以下5つです。
    DB_NAME、DB_USER、DB_PASSWORD、DB_HOST、$table_prefix = 'wp_';

    % vi .htaccess 

    最低限ワードプレスのデフォルト設定をしておきましょう!
    .htaccessに以下のような記載がなかったら追加してくださいね。
    # BEGIN WordPress

    RewriteEngine On
    RewriteBase /
    RewriteRule ^index\.php$ - [L]
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule . /index.php [L]


    # END WordPress



    ポイント5 tarでシンボリックリンクも含めちゃう お名前COMのウェブ設定>かんたんブログインストールしたワードプレスの引っ越し


    お名前COMはSunOS系なので、標準コマンドがgnuでなかったりします。
    そのため、tarコマンドなどはgzファイルに対応していないです。

    それでも、シンボリックリンクを展開した状態でまとめるオプションhは有効です。
    % tar cvfh files/xx.tar ./example.com


    とhを指定することでシンボリックリンクを展開してtarファイルにすることができます。

    tar.gzにするためには、以下コマンドを打ち込みます。
    % gzip files/xx.tar 


    これでfilesフォルダにxx.tar.gzが作成されます。

    このファイルの中には幾つか不要なファイル、お名前COM特有の設定情報が含まれます。
    エックスサーバーで展開後、さくっと削除してください。

    不要ファイル・フォルダは以下です。
    kantan-cgi(ディレクトリごと削除)
    .php




    まとめ


    同じドメインのまま、お名前COMからエックスサーバーに引っ越しした際、はまった5つのポイントをできるだけわかりやすいよう説明しました。

    エックスサーバーでドメインを追加して、お名前comのドメインナビで他社を指定した際、すぐに反映されるパターンと、3時間くらい反映までに時間がかかるパターンがありました。

    引っ越しする際は、普段アクセスが少ない時間帯に引っ越しするのが良さそうです。

    お名前COMの共用サーバーでドメイン削除してないよね?!って疑問に思っている方もいるかもしれません。
    この状態でもエックスサーバーには引っ越しできています。
    あとあと問題があるかもしれませんが、削除してしまうと、実体ファイルも削除されてしまうので、過去の設定が見えなくなったりします。
    利便性をとってこのような手順にしています。


    技術的なポイントとしては、tarの--strip-componentsが結構使えるとおもっています。



    お名前COMのドメインとフォルダの関係は結構好きです。
    ドメイン、サブドメインがlsで一覧できるのがとってもよかったです。

    ロリポップのフォルダ構成はちょっと苦手です。
    初期ドメインの下に配置される感じです。

    エックスサーバーは、ドメイン毎にフォルダが設定されるのでドメイン視点ではシンプルです。

    自由度が高いのは、さくらサーバーです。自分で任意のフォルダ指定できちゃうので、ほんと奔放ですよ^^






    これからレンタルするなら、このサーバーひとつで満足できるはずです。
    性能・速度・サポートに満足しているからおすすめできます!






Wordpress Post/Page/Category/TagのURL一覧は結局自作しました

ワードプレスのサイトを引っ越しする、思い立ったのはいいんですが、面倒ですよね・・

特にマルチサイトとか立てたちゃっているサイトだと本当、面倒です。


引っ越し自体はたくさん参考になるサイトが見つかるので、ぜひググってください。

ワードプレス自体の引っ越しに関してはいろいろ情報はあります。
でも、
しっかり移行できたのか、
ちゃんとアクセスできるのか、
本当に正しく引っ越しできたのか?
といった移行の正しさを確認する方法が少なかったです。


ワードプレス => 別サーバーのワードプレスだから問題ないでしょ?

って思っていいんですかね・・・

石橋を叩いて渡る性格だと、なんか不安です・・・


がっちりテストケースを組んでやるほど余力もないので、チョー簡単に確認する手段を検討しました。

その方法とは、URLが移行前と、移行後が一致するかです。


同じワードプレス、MySQLを使って、引っ越ししているわけなので、基本記事が表示されるはずです。
データベースごとごっそり移行した場合、あまり神経質になる必要はないかと思います。



ワードプレスの基本機能にある、エクスポート、インポートを使う場合には、ワードプレス自体の設定も絡んでくるので確認したい項目ですね!



ワードプレスのプラグインでいいのがあったらと探したんですが、網羅されているURL一覧プラグインは見つかりませんでした。

もし、知っている方いたら、こっそりコメントいただけると嬉しかったりします^^
(コメントは承認制にしているので、すぐには反映されませんm(_ _)m )


プラグインを探して確認してみて、希望に合うものが見つからなかったので疲れたました。
そこで、探す時間がもったいなかったので、サクッと手抜きphpを作ることにしました。









Wordpress Post/Page/Category/TagのURL一覧のソースを公開・・・

ロリポップ htaccessでwww統一設定はしちゃダメ!ワードプレス4.5

ドメイン名をwwwありか、wwwなしで統一したいことがありますよね

今回はロリポップ(スタンダード)を使ってハマったお話です。
ちなみに、これはロリポップに限った話ではなく、ワードプレス全般の話です。

最初に正解を書いておきます。

ワードプレス wwwありなしの統一設定の正解はこれ!


ワードプレスを使ったサイトでは、.htaccessではなく、
wp-adminで設定>一般 WordPress アドレス (URL)にwwwを指定する

サイトアドレス (URL)も合わせて修正してください。

こんな簡単なことなんです、でも忘れたりしていると30分ぐらいハマります・・・

よくありがちな間違い


価格が安かったお名前COMで独自ドメインを取得して、
ロリポップで利用する設定をしました。

ここでは、例として、example.comというドメイン名にしています。


今回はワードプレスを使ったサイトにしようと「簡単インストール」で
さくさく!っと最新ワードプレス4.5.3をインストールしました。

インストール時に指定したドメインは、wwwなしの、example.comです。

「wwwあり」、www.example.comに統一するために、sshでログインして、.htaccessファイルを編集します。
BEGIN WordPressの前に以下のような感じで、
wwwが付いてなかったら、wwwをつけてリダイレクトするっていう設定を行います。
==========.htaccess ======

Options +FollowSymLinks
RewriteEngine on
RewriteCond %{HTTP_HOST} ^(example\.com)(:80)? [NC]
RewriteRule ^(.*)$ http://www.example.com/$1 [R=301,L]



# BEGIN WordPress

RewriteEngine On
RewriteBase /
・・・
==========.htaccess ======


で、これでアクセスすると
chrome
www.example.com ページは機能していません
www.example.com でリダイレクトが繰り返し行われました。

アクセスできない状況に陥ります。


でも、これってネットでhtacess www統一などのキーワードで探すと見つかる一般的な設定です



よくありがちなhtaccessの間違い www統一設定をデバッグする


RewriteLog フルパス
RewriteLogLevel 99
などで、mod_rewriteの挙動をログファイルに出力することができます。
この設定は、htaccessに指定します。

でも、一般的なレンタルサーバー、ここではロリポップでは指定できない項目になります。
(サーバー側のエラーになります)


「リダイレクトが繰り返し行われました。」とかのエラーが発生している場合は、
少なくともhtaccessに指定した内容を理解できていることになります。

このエラーは、クライアント側(自分のPC側)で判断された内容です。


ログファイルが使えない場合、有効なデバッグ方法の一つとして直接httpアクセスしてみる方法があります。
そのコマンドは、curlです。
-vオプションを指定すると詳細な挙動を確認できます。


% curl -v example.com
↓↓↓↓↓↓ リクエスト
* Rebuilt URL to: example.com/
* Trying 157.7.999.999...
* Connected to example.com(157.7.999.999) port 80 (#0)
> GET / HTTP/1.1
> Host: example.com
> User-Agent: curl/7.43.0
> Accept: */*
↑↑↑↑↑↑ リクエスト

↓↓↓↓↓↓ レスポンス
>
< HTTP/1.1 301 Moved Permanently
< Date: Thu, 21 Jul 2016 08:02:23 GMT
< Server: Apache
< Location: http://www.example.com/
< Content-Length: 240
< Content-Type: text/html; charset=iso-8859-1
<
↑↑↑↑↑↑ レスポンス

↓↓↓↓↓↓ レスポンスボディ
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
<title>301 Moved Permanently</title>
</head><body>
<h1>Moved Permanently</h1>
<p>The document has moved <a href="http://www.example.com/">here</a>.</p>
</body></html>
↑↑↑↑↑↑ レスポンスボディ

簡単に説明すると、リクエスト、レスポンス、レスポンスボディの3つの情報がわかります。
example.comにアクセス(リクエスト)、
その結果HTTP/1.1 301 Moved Permanently、301 リダイレクトで、移動先(location)はwww.example.comになります。
locationで移動してくれないブラウザのために、hereリンクのHTMLを出力してくれていることがわかります。

ここまでの動作は、予定通り、正しい流れですよね。


次に、リダイレクト先のwww.example.comで確認してみます。
% curl -v www.example.com
* Rebuilt URL to: www.example.com/
* Trying 157.7.999.999...
* Connected to www.example.com (157.7.999.999) port 80 (#0)
> GET / HTTP/1.1
> Host: www.example.com
> User-Agent: curl/7.43.0
> Accept: */*
>
< HTTP/1.1 301 Moved Permanently
< Date: Thu, 21 Jul 2016 08:03:22 GMT
< Server: Apache
< X-Powered-By: PHP/5.6.21
< Location: http://example.com/
< Content-Length: 0
< Content-Type: text/html; charset=UTF-8
<
* Connection #0 to host www.example.com left intact

www.example.comにアクセスすると、example.comに移動しましたっていう結果になります。

「リダイレクトが繰り返し行われました。」本当に起きています。
example.com => www.example.com =>example.com =>・・・・
という感じで繰り返されていることがわかりました。


まとめ


正解は、htaccessに指定してはいけなかったです。

ワードプレスサイトでは、
wp-adminで設定>一般 WordPress アドレス (URL)にwwwを指定する
が正解です。htaccessで指定する必要はありません。


今回使っているサーバーは、ロリポップスタンダードです。
月額500円でsshログインもできちゃうサーバーなので、bash使える方は簡単に設定できます。

月額500円より安いライトプランでもワードプレスが使えます。
MySQLが1つしか使えなくても、ワードプレスは1つのMySQLに複数インストールできちゃいます。
マルチドメイン50個まで対応しているので、最大50個のサイトも作れますよ。

ライトプランはsshが使えません、またphpが高速に動くモジュール版も使えません。
もうちょい速いの!って思ったらスタンダードが鉄板だと思います。












エックスサーバーのsqlite3でどハマりした件

データベースっていいですよね!
MySQLとか、SQLiteとか、レンタルサーバーで使いたい放題です。

そんな感じなので、サーバー移転とか、とっても安易に考えていました・・・


今回、お名前共用サーバーからエックスサーバーへ乗り換えようと思い立った理由は、
お名前共用サーバーの月額1000円、エックスサーバーの月額1000円、金額が同じだからです。

お名前共有サーバーを使っていて、すごい困った事っていうのは特にありませんでした。
ちょっと困ったなってことはいくつかあって
  1. お名前共有サーバーから外部へ接続(FTP/HTTP)する経路がブロックされていることがある
  2. 上の影響か、wordpressのアップデートを実行すると、とても遅く感じる
  3. PageSpeed Insightsでサーバーの応答速度の指摘事項を消す事ができなかった
  4. mod_deflate/mod_expiresが使えない

振り返ると結構あるもんですね

ま、いいんです、お名前COMで賢威も安く買えたので、満足しています。







今回エックスサーバーに変えたのは、php7が使える事、mod_pagespeedが使えたりすること、
あと、お友達に聞くと、みんな揃ってエックスサーバーがいいってオススメされたこともでかいです。


と、かる〜い気持ちで、X10を契約しました。
(お名前 共用サーバーは、しばらくお別れする予定です)


お名前共用サーバ vs エックスサーバー X10を軽く比較


ほぼデフォルトの.htaccessでエックスサーバーX10は、
「PageSpeed Insights サーバーの応答速度は合格」です。
これだけでも、結構満足度高いです。

ちなみに、お名前共用サーバーではあがいてあがいて、不合格のままでした。



gccも使えたので、コンパイルし放題かもしれません。


ただ、libcは2.5。gccは4.1.2と結構古めです。
今時のバイナリを持ってきても、libcが古いので動かない可能性大です。
コンパイルしましょうね!(make/configureはちゃんと動きました)



前置きが長くなってしまいました、ようやく本題に入ります。
現時点では解決できていません。

エックスサーバーのsqlite3でどハマりした件


エックスサーバーは、php7への取り組みがとても早かったので、スペック最新なんだね!
という印象でした。

だから、あまり細かいところまで確認しないで契約してしまったのがいけないんですけど・・

お名前.comの共用サーバーでは、pdo_sqliteのバージョンは、3.7系でした。

エックスサーバーでは、pdo_sqliteのバージョンは、3.3系でした。

そう、とっても古いバージョンなんです。

全文検索を前提に組んでしまったシステムがあり、VIRTUAL テーブルとFTSを使っています。
実はこれがネックになっていて、3.3系では弾かれエラーになりました。(ー ー;)

sqlite3.3.6では対応していないんです・・・

問い合わせしてみたら、1時間あまりで即応答もらえました。
(エックスサーバーのサポートいいね!)

sqlite3.3.6以外は使えないとの回答でした。ガッテム・・・


システムを組んでいるひとは、必要なモジュールのバージョンをしっかり確認しましょう
と、少し失敗してしまった私が言います(笑)


じゃ、どうするか・・・
エックスサーバーのX10は
50個のMySQLサーバーデータベースで、1つあたり500MBまでの容量が使えます。

1データベース500MBの制限はちょっと厳しい感じですが、データベースを複数個使ったシステムに変更しようと計画中です。

あまり手を加えたくないんですけどね・・・

もう一つの方法は、こちらの記事「sqlite3, pdo_sqlite モジュールの全文検索(FTS)対応コンパイル手順」に書いてある方法です。
FTSが有効なpdo_sqliteを自分で用意して、php.iniに適用する方法です。
この方法は、エックスサーバーのサポート外、自己責任となります。
ただ、既存ソースコードに手を加えなくていいっていうところが魅力です。

エックスサーバー SQLite3 は 3.8系だった


pdo_sqlite(PDO)SQLite Library:3.3.6
sqlite3(Native)SQLite3 module version:0.7-dev
SQLite Library:3.8.10.2

PDOとSQLite3のバージョンは一緒だと思っていたんですが、違いました!

ちなみにPHPは、php-7.0.7を使っています。

3.8系はFTS、全文検索がサポートされているので期待大です。

ただ・・・

PDOとSQLite3は別物です。似ているけど使い方が違います


この違い、差分を吸収できるクラスを知っているって方はコメントから教えていただけると幸いです。
PDOで使っていたソースを
new SQLite3差分クラス()的な呼び出しをすると
後はPDOとSQLite3の差分を吸収してくれて、ソースを修正する必要ないって感じが望みなんです。

  1. トランザクション PDO::beginTransaction() vs $sqlite3->exec("BEGIN ;");
  2. フェッチ PDOStatement::fetch() vs SQLite3Result::fetchArray()

    SQLite3はカーソルっていう概念がないんです><


  3. Exec PDOは行数を返します、SQLite3は成功、失敗だけです

まだまだ違いはたくさんあります。

そのまま修正するとソースコード修正箇所もうなぎのぼり!


と、ちょっと断念気味です。

エックスサーバーのsqlite3でどハマりした件 修正方法のまとめ


ここまでの修正方法をまとめると3つの方法がありました。
  1. 1)sqlite3をやめて、MySQL+FULLTEXTを活用する

    PDOを使っているので、ソースコードの修正は部分的です。でもqueryの方法が違うので、それなりの規模感を感じています。

  2. 2)pdo_sqlite3を自前で用意する

    エックスサーバーと同じようなLinuxのバージョン、gccなどを揃えて、pdo_sqlite3を作る必要があります。
    ソースコードの修正は一切不要です。
    コンパイル環境を用意したりするのが面倒ですね

  3. 3)PDO=>new SQLite3()に変更する

    エックスサーバーのpdo_sqliteのバージョンは古かったですが、SQLite3のバージョンは3.8系で新しかったです。
    PDOとSQLite3クラスは考え方が違うので、ソースコードの修正は広範囲になりそうです。



いずれにしても、いばらの道の予感がビリビリ来ています(笑)

コンパイル済みのpdo_sqlite3(FTS有効)があればベストなんですけどね・・





最後に


ここで書いているのは独自のPHPでシステムを組んでいる場合の話で、
ワードプレスを使い倒す分には、エックサーバーという選択は正しいと感じています。

速くて、PHPのバージョンも豊富だからオススメできます。

詳しくはこちらから↓↓↓↓↓



X10じゃ何もないかと思っていたんですが、ドメイン1つもらえました。
サーバ使っている限りはずっと更新料がかからないやつでした。
地味に嬉しいです(笑)






エックスサーバーのsqlite3でどハマりした件 修正方法のまとめの追記(7/14)


最終的に移行できたので、その顛末をご報告しておきます。
  1. 1)sqlite3をやめて、MySQL+FULLTEXTを活用する

    最後の手段として残しておきました。結局この方法は選びませんでした。


  2. 2)pdo_sqlite3を自前で用意する

    この方法は断念しました。以下に理由を説明します。

    まず、エックスサーバーはLinux x86_64です。だから適当なRPMからpdo_sqlite3を抜き出せばいけるんじゃ?
    RedHat EL 6 for x86_64のpdo_sqliteをダウンロードし、抽出、そしてエックスサーバーに適用してみました。
    =>エラーでロードできませんでした。PHP Warning: PHP Startup: Unable to load dynamic library
    pdo_sqlite.so: undefined symbol: __zend_calloc in Unknown on line 0

    別途環境を用意するのは面倒だったので、エックスサーバーにはgccがあるじゃないか!

    phpをコンパイルし、エックスサーバーでphpizeコマンドを作りました。
    phpizeコマンドでpdo_sqliteをコンパイルし、適用してみました。
    =>うまくいきません>< 
    調べてみるとphp.iniでフルパスextensionを指定しても、
    所定のフォルダ以外に置かれたものは適用できない旨の情報をみつけました。
    つまり、root(管理者)じゃなきゃ、無理って思い、この時点で諦めました。



  3. 3)PDO=>new SQLite3()に変更する

    結局この方法を採用しました。
    PDO(sqlite3)からnew SQLite3への変更箇所をまとめる以下6点でした。
    ごにょごにょやりながらメモっていたので抜けがあるかもしれません。ご了承ください。

    • 1.接続文字列のsqlite:=>””に変更する
    • 2.fetch(PDO::FETCH_ASSOC)=>fetchArray(SQLITE3_ASSOC)に変更する
    • 3.プリペアを使っていない closeCursor() =>finalize()
    • 4.プリペアを使っている closeCursor() =>close()
    • 5.beginTransaction() =>exec("BEGIN;")
    • 6.prepare execute(array) の流れ=>prepare bindParam(bindValue) execute(void)

      bindParamで文字列の結合を行った値を渡していたらうまく動かずかなり悩みました。
      渡した値は参照渡しが基本で、bindParamで設定した値が確定するタミングはexecute、ということで
      エラーになっていました。http://webmaster.chielog.com/php/133.htmlが参考になりました。
      bindParam(1,"xx".$xx."xx")を変数を使って、bindParam(1, $value1)とかに変更したら問題解決です。






今回のロジックではCRUD系が少なかったので楽でした。

CRUD系のロジックをPDOからnew SQLite3に変更するのはとても面倒な作業になりますね><

VPSとかだとルートにもなれるので簡単だったんですが、共用サーバーなので仕方ありませんね


ついでに、PHP5.5系からPHP7.0系に変更しましたが、こちらはすんなりと移行できました(^O^)/






sqlite3 全文検索の謎を追求

ご存知の方も多いと思います。sqlite3には全文検索(フルテキスト検索)が備わっています。

とは言っても、テーブルを生成する際に呪文を唱えておく必要があるので、今あるテーブルをそのまま全文検索の対象にするのはできません。
CREATE VIRTUAL TABLE tbl USING fts3(content TEXT);

元テーブルをselectして、新しいVIRTUAL FT3/FT4テーブルを作ってインサートするだけでコピーできるので、悲観することはないです。INSERTはとっても速いですしね!

フルテキストにはバージョンがあったりします


先ほどの呪文を唱える際、USING fts3と記載しています。

fts3がバージョンを意味しています。

FTS1,2は非推奨、現在使ってはいけないレベルの代物です。
FTS3とFTS4が現在使えるバージョンで、SQLiteのマニュアルではFTS4を推奨しています。

FTS3とFTS4の違いは、マニュアルによると「FTS3 and FTS4 are nearly identical.」、ほぼ一緒らしいです。
FTS4は、 SQLite version 3.7.4 から利用可能になっています。
フルテキストクエリのパフォーマンスが向上し、追加オプションにも対応しているので、FTS4を利用するようにしておいた方が安心です。
FTS4の唯一のデメリットは、追加情報によってディスク容量が増える可能性があるところです。

この辺りは、事前の評価で許容範囲かどうかの確認ポイントですね!

そして、最新はFTS5です。

SQLite 3.9.0から使えるようになっています。コンパイル時の指定はOFFになっています。
手順を踏んでコンパイルする必要があります。

ここではせっかくなので、FTS3,FTS4,FTS5の3パターンで謎を究明してみます。


全文検索の謎


sqlite3の全文検索を使い始めてみると一致する単語なのに見つからないってことがよくあります。
くせがあるというんでしょうか、よっぽどLIKE '%単語%'の方が確実です。

でも、全文検索(フルテキスト検索)は、チョー高速です。使ってみるとわかると思います。
速度に関してはストレスフリーです。

なので、全文検索のくせをつかもうと調査しました。

SQLite3の全文検索は、sqlite3.dllやsqlite3.lib(so)などをコンパイルする際に指定する”コンパイルオプション”で挙動が変わります。

ですので、ご自身の環境を知っておくことも重要です。



調査に使ったテーブル
CREATE VIRTUAL TABLE tbl USING fts3(content1,content2,content3)


後日加筆します。








posted by scripts at 17:20 | Comment(0) | TrackBack(0) | 効率化

24時間連続稼働パソコンの悩みはコレで解決!?

自宅のウィンドウズ10、Core i7、メモリ16GB、SSD搭載のPCは、とっても高性能です。だから24時間連続稼働させてMT4などのFX自動売買ソフト、GRC、コンパスなどの検索順位チェックツール、フォローマティックXY等々のソフトを動かすこともできちゃいますね。

当然出勤して、自宅にいない時にも、パソコンが稼いでくれる環境です。

ただ、とっても心配なことがあり、不安もあります。


普通のパソコンで24時間連続稼働するリスク


自宅のパソコンはかなり高性能、ハイスペックです。HTTPDのサービスも提供できちゃいます。
でも、産業用PCではなく、普通のパソコンです。
そして、自宅だからこそ、不安になることがあります。

一番の不安は、住宅火災=>パソコンからの発火することです


パソコン発火事件


数世代前の自作したパソコンの話です、CPUが発火しました。


その時は、在宅でリビングでくつろいでいました。


「何かくさい」




異臭の原因を探したらPCでした。



すぐに電源ケーブルを引っこ抜いて、火災には至りませんでした。(自宅にいるタイミングで、本当に良かったとしみじみ思います)



当時はマザーボードにCPU FANを監視するようなものもなく、CPUクーラーのファンが止まって熱でやられた感じだったと記憶しています。






今時のマザーボードは、FANの動作を監視できます、ただ、事実として

パソコンは「勝手に燃える可能性を秘めている」ことを体感
しました


PCの発火対策は?


定期的に掃除する、燃え移る可能性のあるホコリを除去するのが目的です。
初夏からだんだん暑くなってくるのでエアコンも欠かせません。

今の所これだけです。不安はぬぐえません。


ところで自宅のパソコンの中掃除したことあります?


蓋を開けて、びっくりするほどホコリが溜まっています。


吸気ファンから吸い込んだホコリがケース下、マザーボードなどに付着しています。



割とさっぱりした性格なので、いつも掃除機で掃除しちゃってます。



ノートPCも定期的に掃除するとFANが生き返ります。
ただ、保証対象外になることが多いです、蓋を開けるとファン付近にたっぷりホコリが溜まっていたりします。

吸気ファン、排気ファン、CPUクーラーのファン、いずれも可動部があり、消耗品です。
チップセット、メモリは意外と発熱しますね。
Windows7,7Pro,8.1,8.1Pro,10,10Proなどは、クライアントOSという位置付けです。
1日8時間の利用用途を想定しています。
=>1週間に1回は再起動しておくと気持ち的に安心です。


自宅サーバは意外とコストが掛かっています


厳密な計算は気が滅入るのでしていませんが、
電気代が一番コスト高です。

パソコンを24時間動かして、月1000円程度の電気代、
クーラー24時間動かして、月1万程度の電気代、

年間を通すと電気代だけで52,000円ほど、月の平均で4,333円のコストです。
1月 1,000円
2月 1,000円
3月 1,000円
4月 1,000円
5月 1,000円
6月 1,000円
7月 11,000円
8月 11,000円
9月 11,000円
10月 11,000円
11月 1,000円
12月 1,000円


これ以外にSSD、HDD、ファンなどの消耗品代が不定期に発生します。



まとめ


ここまで、普通のパソコンで24時間連続稼働は、住宅火災を引き起こす不安がつきまとうということと、電気代だけで4000円/月程度かかっていることを書きました。

この不安を解消するには、発熱物質を自宅に置かないことです。(と最近気づきました)

ウィンドウズで24時間連続稼働するならVPS


Windowsがプリンストールされたレンタルサーバーを契約できます。
つまり自宅サーバーの代わりにウィンドウズのソフトを24時間連続稼働させることができます。
それがVPSです。



1秒でわかるVPS!


仮想プライベートサーバーの略がVPS、利用イメージはVirtualPCという感じです。


VPSで向かない用途


専用のボードだったり、外部機器が必要な場合、VPSでは使えません。
自宅サーバーの用途、例えば地デジ録画サーバーとかの場合は、地デジを見るために別途チューナー(USB/専用ボード)が必要なので向きません。





参考までに、一番安いVPSは月額490円でした。気になるスペックなどは良かったら以下からご確認ください。








wordpress wp-login.phpのガード方法

wordpressは、とっても簡単に設置できて、プラグインも豊富だから見栄え豊かで、キレイなサイトが誰でも作れてしまう強い味方です。

こんな高機能なプログラムが無料で使えるのでとっても幸せです。


PHPが動けば、無料レンタルサーバー、有料レンタルサーバーどちらでもワードプレスは使えます。
ただ、MySQL(データベース)がない場合、sqliteというファイル型のデータベースを使うように設定変更する必要があるので、できればMySQLが使えるレンタルサーバーを選ぶのが得策です。

誰でも使えるように高機能なので、ワードプレスで記事を書いたり、テーマ、アップデート、設定を変えたりするには、「ログイン」する仕組みです。

ワードプレスを使うデメリットのひとつとして、
ログインするためのパス、管理画面のパスなどがバレていることです。
これは、みんなが使っているので、管理側のURLなどの推測が知れ渡っています。

例えば、ドメイン名/wp-login.phpというのはワードプレスを使ったサイトでは共通です。


推測可能なユーザー名、例えば古いワードプレスのデフォルトだったadminとか、簡単パスワードを設定してしまうと乗っ取られてしまう可能性が高まります。

ユーザー名、パスワードともに自由に設定できる仕組みが備わっています。
できる限りパスワードは難しくしておきましょう。
また、ユーザー名はデフォルトではそのまま記事投稿者として表示されます。

ユーザー一覧からニックネームの修正ができるので、ログインするユーザー名等は異なる名称にしておきましょう!





wordpress wp-login.phpのガード方法


「ドメイン名/wp-login.phpというのはワードプレスを使ったサイトでは共通」だから、規則が決まっています、だから攻撃されやすいです。

「All In One WP Security & Firewall」、「Login LockDown」など、ワードプレスのセキュリティを向上する定番プラグインで対処することもできます。


ただ、ワードプレス本体、テーマ、も同じですが、プラグインも常に最新を保つようにしましょう。
大抵のアップデートには、不具合のFix、セキュリティホールの対応などが含まれます。

プラグインは、結局新たな機能を持ったプログラムをサイトで動かすことになります。
そのため、総合的なスピードが落ちたりするリスクもあります。

googleの2段階認証でログインで保護する


「Google Authenticator」、2年前が最終更新日のプラグインを使う方法です。
信頼のあるGoogleの2段階認証を無料で使える方法なので、プラグイン自体は古くても問題ありません。

SEOで有名な鈴木さんが解説してくれる「Google AuthenticatorプラグインでWordPressブログを2段階認証に設定する方法」が信頼できます。
https://www.suzukikenichi.com/blog/how-to-set-2-step-verification-for-wordpress/



wp-login.phpをパスワードで保護する


プラグインに頼らないで、アタックされる入り口のwp-loginをパスワードで保護しちゃいましょう。
設定は、2つ必要です。

1)保護するユーザ名、パスワードを作る


パスワードファイルは、webアクセスされない場所に作りましょう。

ロリポップの場合、web/フォルダがhttpアクセスの対象なので、webフォルダにログインしている状態なら一つ上のフォルダに作る、というような感じです。
htpasswd -c ../htpass user1
New password:
Re-type new password:
Adding password for user user1


上で作ったファイルを見る場合は、catというコマンドが使えます。
cat ../htpass
user1:$apr1$tJdfeg1t$r5j.mWqaJQIvKu7LAwgR7.

ユーザーを削除したい場合、-Dオプションを指定します。
htpasswd -D ../htpass user1

2)wp-login.phpを.htaccessで保護


wordpressをインストールしたフォルダにある.htaccessに以下を追加します。

# END WordPress
<Files wp-login.php>
AuthType basic
AuthName "(A)"
AuthUserFile (B)
Require valid-user
</Files>




(A)はブラウザによっては、メッセージとして表示されます。


(B)は1)で作成したパスワードファイルをフルパスで指定します

wordpress wp-login
wp-login.phpまたは/wp-adminにアクセスするとダイアログが表示されます。Chromeは、AuthNameは表示されません。

 wordpress wp-login
wp-login.phpまたは/wp-adminにアクセスするとダイアログが表示されます。Safariは、AuthNameが表示されます。privateで設定しました。
(ちなみに日本語(UTF-8)で設定しましたが、見事文字化けしました)



この方法のメリット


一般的な保護の方法を見ると、/wp-admin/を保護する方式が多いですが、ここのフォルダには一般ユーザーもアクセスしないといけないファイル(admin-ajax.php)が存在します。
この方法であれば、直接wp-login.phpのみを保護するので、簡単で済みます。

この方法のデメリット


  • /wp-admin/フォルダ下に、独自のテキストファイルとかある場合、ガードできません


wp-login.phpをパスワードで保護する 固定IPでガード


先ほどのガード方法は、htpasswdを使ったガードでした。
もし、あなたが固定IPを所有しているなら、固定IPでガードした方が簡単で安全です。


# END WordPress
<Files wp-login.php>
order deny,allow
deny from all
allow from IPアドレス(999.999.999.999)
</Files>


プロバイダ、モバイル回線、いづれも通常は、固定IPではなく、プライベートIPと呼ばれるものです。
この方法は、動的に変化しない静的なIPでやる方が安全です。

プライベートIPの場合、場所によってIPが変わったり、日付によってIPアドレスが変わったりします。
そのため、突然ログインできなくなる不確定要素を背負うことになります。
(プライベートIPでも日々.htaccessファイルを見直すことで運用は可能です)


プロバイダーによっては、固定IPオプションがあります。
固定IPが安い=>http://asahi-net.jp/service/option/fixedip/

また、MyIPというサービスを使うと固定IPアドレスが提供されないプロバイダやネットワーク環境からでも、グローバル固定IPアドレス(静的IPアドレス)が利用できます。



モバイルルーターや使わなくなったドコモ回線が使えるスマホをお持ちなら固定IPのSIMがあります。






あとがき


wordpressは、PHPという言語で書かれたプログラムです。
プログラムって、不具合を全部なくすって本当に難しいことなんです。

wordpressもこのソフトウェアの呪縛から逃れられないので、定期的にアップデートを確認して、最新版が出ていたらアップデートする運用を心がけたいですね!

是非とも運用する前に、
WordPress公式のドキュメント WordPress の安全性を高める一読されることをオススメします。
http://wpdocs.osdn.jp/WordPress_%E3%81%AE%E5%AE%89%E5%85%A8%E6%80%A7%E3%82%92%E9%AB%98%E3%82%81%E3%82%8B
最新記事
最新コメント
タグクラウド
カテゴリアーカイブ
×

この広告は30日以上新しい記事の更新がないブログに表示されております。