Web管理関連記事 - 連続表示

新規書き込み

※該当の記事タイトル一覧はリンク一覧から参照できます。

SuiteXの年一括払い料金への変更とサーバー変更

名前: 小川 邦久 リンク: http://kunisan.jp/ 日付: 2010年3月18日
SuiteXの年一括払い料金への変更とサーバー変更ホスティングサーバー「WebARENA SuiteX」の料金が月額1,980円~(クレジットカード年一括払いの場合)と設定されて久しいのですが、元からSuiteXユーザーだった人は月額3,360円(クレジットカード月払い)のまま変更できない状態が続いていました。

その後、WebARENA運営のNTTPCコミュニケーションズからこの件に関して連絡が来ることはありませんでしたが、先日ふとSuiteXのホームページをチェックしたところ、既存のSuiteXユーザーの契約変更について記述がありました。

しかし、年一括払い割引を受けるには、契約変更だけでなく、サーバーも変更する必要があるとのことでした。つまり、データや設定も移行する覚悟がないと、年間-16,560円の割引を受けられないということです。

KUNISAN.JPサイト全体で数万ファイルもあり、データの移行の手間を考えると、少しだけ躊躇してしまいました。あと、なぜ支払い変更にサーバー変更が必要なのか、腑に落ちない点もありました。しかし、背に腹は代えられないので、すぐに契約変更の申し込みをしました。申し込みは今月10日だったのですが、それから8日後におおよその移行作業が終了しました。

今後の参考用として記録を残しておきます。契約変更&サーバー移行を考えている他の方にも参考になれば幸いです。

2010/3/10
・SuiteX月払い→年払い契約変更申し込み

2010/3/12
・年払い新SuiteX開通の連絡

2010/3/13-2010/3/14
・新SuiteX管理画面より、メールユーザー登録、迷惑メールフィルタ設定、アクセス制御設定、データベース設定などを行う
・FTPクライアントに新設定追加
・メールクライアントに新設定追加、旧設定をドメイン指定からIPアドレス指定に変更
・掲示板、画像などのデータファイルを旧サーバーからダウンロード
・旧サーバーで使われなくなったフォルダやファイルの整理
・ファイルを新サーバーにアップロード(一部フォルダを除外指定してミラーリングアップロード)
・データベースを旧サーバーからエクスポートして、新サーバーにインポート
・データベース連携サイトの接続パラメーター変更
・データベース連携サイトのページ生成作業(リンクを踏むことでページが生成される、またはページ生成プログラム使用)
・FTP用コマンドプロンプトバッチファイルの転送先設定(IPアドレス)変更
・六道山表屋敷(チャット)と画像編集君に注意書き
・ショップサイトのレコード追加処理を一時停止
・新サーバーのドメイン名設定変更依頼

2010/3/16
・新サーバーのドメイン名設定変更完了通知
・Twitter APIのホワイトリスト申請
・旧サーバーの子ドメイン(www付き)設定解除、新サーバーに新規設定
・ショップサイトのレコード追加処理再開

2010/3/18
・全アクセスが新サーバーへ接続していることを確認

今後
・メールクライアントの旧設定削除
・FTPクライアントの旧設定削除
・六道山表屋敷と画像編集君の注意書き削除

動作確認やトラブル対応なども含めて、2週間程度の併用期間があれば、サーバー切替はスムーズに行くと思います。基本的に同じ仕様のサーバー間での移行だったので、プログラムが動かないなどの大きなトラブルはありませんでした。

旧サーバーでは同居ユーザーも含めて全体的に負荷が高かったのか、時折「Server Error」が出ることがありましたが、新サーバーでは今のところ出ていません。今後も安定して稼働してくれると嬉しいのですが、どうなるのかはしばらく様子を見ないと分かりませんね。



Web管理関連記事(リンク一覧): SPF、DKIM、DMARCの設定とネームサーバー(DNS)設定のトラブル / さくらレンタルサーバーのアクセス履歴をPHPで表示 / PHPで画像のアップロード(さくらレンタルサーバーのPHPでImageMagick) / KUNISAN.JPサイトのメンテナンス(2018) / Webサーバー引っ越し(さくらインターネット スタンダード)とHTTPS(常時SSL)化 / ...(記事連続表示)

ホームページ担当者が知らないと困るWebサイトリニューアルの常識
ホームページ担当者が知らないと困るWebサイトリニューアルの常識 をAmazon.co.jpでチェック
コメント:SuiteXの年一括払い料金への変更とサーバー変更
名前: ゆあ 日付: 2010年4月1日
移行作業お疲れ様でした。
しかし、ユーザーへの事前連絡くらいして欲しいですよね・・・ずっと気がつかなければ高額なサーバー料金を払い続けたのかと思うと。
コメント:SuiteXの年一括払い料金への変更とサーバー変更
名前: 小川 邦久 リンク: http://kunisan.jp/ 日付: 2010年4月1日
全くその通りです。
まあ、早めに気づいたので、個人的には良かったかと…。

『PHP+MySQLホームページアクセス解析ツール』の公開

名前: 小川 邦久 リンク: http://kunisan.jp/ 日付: 2010年3月10日
『PHP+MySQLホームページアクセス解析ツール』の公開先月上旬から約1ヶ月間作り込んでいたホームページアクセス解析ツールですが、本日ようやく公開までこぎつけました。下記ページでPHPプログラムのダウンロードができる他、設置方法、操作方法、設定方法などの説明もあります。

PHP+MySQLホームページアクセス解析ツール
http://kunisan.jp/access_analysis/

今のところ、XAMPPとWebARENA SuiteXで動作確認していますが、恐らくPHP+MySQLが使える環境であれば、「全く動かない」ということは無いと思っています。

おまけとして、メインプログラムの一部と開発メモも公開しています。このあたりが私の中での「目一杯のPHPスキル」と思っていただいて結構です。



Web管理関連記事(リンク一覧): SPF、DKIM、DMARCの設定とネームサーバー(DNS)設定のトラブル / さくらレンタルサーバーのアクセス履歴をPHPで表示 / PHPで画像のアップロード(さくらレンタルサーバーのPHPでImageMagick) / KUNISAN.JPサイトのメンテナンス(2018) / Webサーバー引っ越し(さくらインターネット スタンダード)とHTTPS(常時SSL)化 / ...(記事連続表示)

MySQL全機能バイブル ~現場で役立つAtoZ~
MySQL全機能バイブル ~現場で役立つAtoZ~ をAmazon.co.jpでチェック

PHP+MySQLアクセス解析プログラムのその後

名前: 小川 邦久 リンク: http://kunisan.jp/ 日付: 2010年3月5日
PHP+MySQLアクセス解析プログラムのその後設置から3週間ほど経過したアクセス解析プログラムですが、ようやくここに来て、MySQLの動作が落ち着くようになりました。

当初はテーブル1つで全サイトのアクセスデータを取っていましたが、さすがにこれではサイズが大きすぎて、Webサーバーとして稼働しているネットブックが高負荷になってしまいました。

そのため、サイト毎にテーブルを分割する方式を取りました。しかしこれでも一日数万アクセスのあるブログパーツの影響で、改良から10日ほどでCPU使用率が100%に達する現象が頻繁に出るようになりました(平均で30%強)。その後、ブログパーツをアクセス解析の対象から外してみたところ、CPU使用率が平均10%に見たない数字になりました。

ここまでで大分落ち着いてはきたのですが、やはりデータが貯まってくると、「問い合わせ」の際の負荷が大きくなる現象は解消できていません。特にページアクセスの度に行われるデータ追加処理にも、事前に「問い合わせ」の処理が不可欠なので、時間が経ってデータが貯まれば貯まるほどCPUが高負荷になるという状況がそのまま続いていました。

そのため、サイト毎に分割したテーブルを、さらに「アクティブデータ」と、「アーカイブデータ」に分割しました。「アクティブデータ」はページアクセス時などデータの読み書きに頻繁に使用されるデータ、「アーカイブデータ」は分析・参照用などサイト管理者(つまり私)のみが使うデータです。

「アクティブデータ」は24時間に1回、自動的に1週間以上前に追加されたデータを「アーカイブデータ」に移動する処理を行っています。これにより、データの読み書きに使うテーブルの大きさを制限できるため、ネットブックの負荷がある一定のレベルを超えることがなくなりました。

なお、データを分析する際には、MySQLの「UNION ALL」コマンドで「アクティブデータ」「アーカイブデータ」を縦に連結してまとめるようにしています。

表には出てこないアクセス解析プログラムを、ここまで詳細に語るのも何なのですが、近い将来プログラムをセットで公開する予定です。使う人がいるかどうかはわかりませんが、PHP+MySQLが使える環境であれば、どこでも動くような形に改良しておこうと思います。



Web管理関連記事(リンク一覧): SPF、DKIM、DMARCの設定とネームサーバー(DNS)設定のトラブル / さくらレンタルサーバーのアクセス履歴をPHPで表示 / PHPで画像のアップロード(さくらレンタルサーバーのPHPでImageMagick) / KUNISAN.JPサイトのメンテナンス(2018) / Webサーバー引っ越し(さくらインターネット スタンダード)とHTTPS(常時SSL)化 / ...(記事連続表示)

MySQL全機能バイブル ~現場で役立つAtoZ~
MySQL全機能バイブル ~現場で役立つAtoZ~ をAmazon.co.jpでチェック

ネットブック(Windows7 Starter)とMySQLの負荷

名前: 小川 邦久 リンク: http://kunisan.jp/ 日付: 2010年2月28日
ネットブック(Windows7 Starter)とMySQLの負荷ネットブック(FRONTIER FRNU305)を自宅サーバー化して、PHP+MySQLのアクセス解析プログラムを乗せたのが約10日前。当初はデータ量が少ないことから動きが軽く、ネットブックのファンも静かだったのですが、最近になって管理画面が時折フリーズしたり、ファンがうなるようにもなってきました。

タスクマネージャーでリソースの観察をしてみると、メモリの方はそれなりに余裕があるものの、CPUの使用率が100%に達することがあり、これがフリーズやファンがうなる原因になっていたようです。

アクセス解析プログラム中、頻繁に行われる処理の中で、「2時間以内にIPアドレスとユーザーエージェントの両方が同じデータが記録されているか確認を取る」というものがあり、これが1日4万回もあることから、大きな負荷がかかっているものと思われます。そのうち、「IPデカ(ブログパーツ)」だけで1日2万回に達しており、混み合う時には1秒に数回の処理があります。IPデカのアクセスデータ数は既に27万件に達していて、このテーブルから1秒に何回もクエリーでデータを抽出するのは、大変な負荷になるということは容易に想像できます。

Windows付属のパフォーマンスモニターで、さらに詳しく動向を見てみると、1~2時間に1度、3~5分の長さでCPU使用率が100%に達して、この間に動きが非常に重くなってしまうことがわかりました。

「どうにかならないかな…」と思い、MySQLの本を流し読みしていたところ、MySQLのデフォルトの状態では「クエリーキャッシュ」の設定がされていないことがわかりました。早速phpMyAdminから、下記のコマンドを入力してクエリーキャッシュをセットしました。

SET GLOBAL query_cache_size = 1048576;

キャッシュサイズは約1MBです。当初はこれで「軽くなったかも」と思いましたが、やはり1~2時間に1度、CPU使用率が100%になってしまう現象は変わりませんでした。キャッシュ容量をチェックしても「全て食い尽くす」ようなことは無かったので、クエリーキャッシュの設定だけではCPU使用率が高くなる現象は防げないようです。

今のところ、動きが重くなるタイミングがあるとは言え、全く動きが取れなくなるような状況ではありませんが、今後事態がさらに悪くなるようであれば、プログパーツをアクセス解析の対象から外そうと思います。ブログパーツ以外のテーブルのサイズはいずれもブログパーツのものより大幅に小さいものばかりで、これだけでも負荷が半分以下に減少することが見込まれます。

それにしても、ブログパーツはサーバーのリソースを食うし(本サーバーの方も最近たまにエラーが出ます)お金にはならないし、運営していてあまりいいことがありません…。「IPデカ」のように人気が出るのもいいことなのですが、今後アクセスがありすぎて他のサービスにまで影響してしまうようなことがあると、ブログパーツの公開を中止せざるをえないかも知れません。苦渋の選択になりますね…。



Web管理関連記事(リンク一覧): SPF、DKIM、DMARCの設定とネームサーバー(DNS)設定のトラブル / さくらレンタルサーバーのアクセス履歴をPHPで表示 / PHPで画像のアップロード(さくらレンタルサーバーのPHPでImageMagick) / KUNISAN.JPサイトのメンテナンス(2018) / Webサーバー引っ越し(さくらインターネット スタンダード)とHTTPS(常時SSL)化 / ...(記事連続表示)

MySQL全機能バイブル ~現場で役立つAtoZ~
MySQL全機能バイブル ~現場で役立つAtoZ~ をAmazon.co.jpでチェック
コメント:ネットブック(Windows7 Starter)とMySQLの負荷
名前: 小川 邦久 リンク: http://kunisan.jp/ 日付: 2010年3月1日
コメント:ネットブック(Windows7 Starter)とMySQLの負荷その後、負荷の原因と思われる処理の「2時間以内に…」というのを「同日内に…」という条件に変更してみました。クエリーキャッシュはWHERE条件が一文字でも変わると有効にならないので、時間と共にパラメーターが変化する「2時間以内(今から2時間前のタイムスタンプを指定し、それ以降)に…」よりは、その日のうちはパラメーターが変化しない「同日内に…」の方が、システムの負荷が小さくなると考えたからです。

結果はほとんど変わらず、やはりCPU使用率が100%に達する現象は発生してしまいました。残念…。

最後の手段として、ブログパーツをアクセス解析から外してみました。当初はCPU使用率の平均値が30%強(普段は20%台後半で、たまに100%に達してしまうため)だったのですが、ブログパーツを対象から外したところ、「7%」と大きく減少しました。12時間稼働させて100%に達することは一度もありませんでした。やはりブログパーツのリソース食いはかなりのものです…。

QRコード作成君

名前: 小川 邦久 リンク: http://kunisan.jp/ 日付: 2010年2月25日
QRコード作成君QRコードが簡単&無料で作成できるツールサイト「QRコード作成君」を公開しました。

QRコード作成君
http://kunisan.jp/qrcode/

入力欄にホームページURLやEメールアドレスを入れて「作成」ボタンを押すだけの簡単操作です。

技術的には「Google Chart API」というサービスを使っているだけで、特別なことは何もしていません。PHPで作ってみましたが、PerlでもJavaScriptでも簡単に作れるサービスです。



Web管理関連記事(リンク一覧): SPF、DKIM、DMARCの設定とネームサーバー(DNS)設定のトラブル / さくらレンタルサーバーのアクセス履歴をPHPで表示 / PHPで画像のアップロード(さくらレンタルサーバーのPHPでImageMagick) / KUNISAN.JPサイトのメンテナンス(2018) / Webサーバー引っ越し(さくらインターネット スタンダード)とHTTPS(常時SSL)化 / ...(記事連続表示)

エーワン マルチプリンタラベルA4判QRコード用70面 31555
エーワン マルチプリンタラベルA4判QRコード用70面 31555をAmazon.co.jpでチェック

脱Perlへ

名前: 小川 邦久 リンク: http://kunisan.jp/ 日付: 2010年2月19日
Perlを使い始めたのが1999年3月。その年の間にPerlでアクセスカウンター、掲示板、チャットを制作し、それから数年後にはImageMagickを応用した「画像編集君」や、パズルゲーム「タイルdeパズル」を作ったりもしました。

それから時が流れて2007年10月からPHPを使い始めるようになりました。当初の目的は某Web広告がPerlでの記述に対応しておらず、PHPを使わざるを得ないということからでした。仕方なくPHPを学習した、というのが正直なところです。

しかし、その後PHPのプログラミングの容易さに魅力を感じるようになりました。Perlでは数行記述する必要のあるファイル関連の処理やメール送信処理など、PHPではたったの一行でできてしまいます。

結局ブログパーツのような小さいプログラムから、ショッピング系サイトやMySQLと連携したものまで、新しいプログラムはPerlは一切使わず、全てPHPで作成するようになってしまいました。先日完成したアクセス解析プログラムもPHPでできています。

現状では細かいメンテでPerlを使うことがありますが、その際にPHPとの記述の違いに若干戸惑うこともあります。また、Perlで中規模以上の改良を行う気力が起きてこなくなってしまいました。「Perlで改良する位なら、PHPでゼロから作り直した方が楽」ということも多々あります(先日のアクセス解析プログラムもそうです)。

現在、「直さなければいけないな」と思っているのが、本ブログ掲示板です。書き込みデータはサーバー上にテキストファイルとして保存してあるのですが、ある条件での抽出や並び替えの機能を付けたりするなど、Perlで機能を追加していくのは容易ではありません。

近いうちに書き込みデータをMySQLに移して、このホームページ全体をPHP化しようと思っています。現状ではブログのカテゴリー追加や左メニューの編集など、全てコードを手打ち入力していますが、これをある程度自動化したいと思っています。今現在、このホームページはメインとなるPerlのプログラム数本に、後付けした別の小さなPerlのプログラムとPHPプログラム数本で構成されています。これもPHPのプログラムだけで構成するシンプルな形にしようと思っています。

この先Webの世界がどうなるかわかりませんし、私自身もどのようになっていくかわかりませんが、今までに築き上げたコンテンツだけは大事に扱っていきたいと思います。あと、本ページのPHP化は、今後の自分のためにもなるのかな…、と。まあ、あまりお金に繋がるような話ではないと思いますが。



Web管理関連記事(リンク一覧): SPF、DKIM、DMARCの設定とネームサーバー(DNS)設定のトラブル / さくらレンタルサーバーのアクセス履歴をPHPで表示 / PHPで画像のアップロード(さくらレンタルサーバーのPHPでImageMagick) / KUNISAN.JPサイトのメンテナンス(2018) / Webサーバー引っ越し(さくらインターネット スタンダード)とHTTPS(常時SSL)化 / ...(記事連続表示)

PHP 逆引きレシピ (PROGRAMMER’S RECiPE)
PHP 逆引きレシピ (PROGRAMMER’S RECiPE) をAmazon.co.jpでチェック

新・KUNISAN.JPサイト管理ページの完成

名前: 小川 邦久 リンク: http://kunisan.jp/ 日付: 2010年2月16日
新・KUNISAN.JPサイト管理ページの完成先週の金曜日にアクセス解析用のMySQLデータ追加プログラムを公開しましたが、その後蓄積されたデータを分析・表示するプログラムを作り始めました。土曜日の朝から食事、風呂、トイレ、睡眠以外はずっとプログラムを組み続け、ようやく昨晩遅くにほぼ完成しました。トータルで50時間位はかかったと思います。

管理用のページなので残念ながらアドレスの公開はできませんが、ざっと内容を紹介するとこんな感じです。

■トップページ
・各ページの最近一週間のアクセス数(UV、PV)表示
・各ページの開設時からのアクセス数(UV、PV)表示
・ドメイン全体のアクセス数合計(UV、PV)表示
・データ詳細画面へのリンク
・掲示板、ブログの「コメントあり」アラーム
・掲示板、ブログのブロック解除、編集画面へのリンク

■詳細画面の機能
・アクセス履歴一覧表示(UV、PV、アクセス日時、アクセス元サイトなど)
・各項目(フィールド)の昇順、降順切替
・日付でのフィルタリング
・キーワードでのフィルタリング
・グラフ表示(日別、時間別、アクセス元IPランキング、アクセス元ドメインランキング、閲覧ページランキングなど)
・IPアドレスのWhois検索

 

今までのアクセス解析プログラムは、サーバーのCGI処理での負荷限界があったため、1サイトあたりのデータが最大2500件を超えると、日付に関わらず古いデータから自動的に削除するようにしていました。しかし、今回製作したものは200GB超のスペースにMySQL+PHPという組み合わせで、基本的に古いデータもそのまま保持し続けます。現在のアクセス数でデータが蓄積されていくとして、軽く数十年の単位は持つ計算になるので、恐らくサーバーとして使用しているネットブックの方が先に寿命が来てしまうのではないかと思います(万が一に備えて、1日1回自動でデータのバックアップを取っています)。

当初、データベースにはテーブルを1つだけ置いて、各サイトにID(サイト名)を振り分けてデータを蓄積していきました。サイト別になっているPVやUVのカウントには、一度データベースから該当サイトのPVとUVの最大値を読み込んで、PHP上で1つ数字を加えて、アクセス履歴と共にレコードに追加するという形を取っていました。しかし、「数十万件のデータをサイト名でフィルタリング&グループ化して1つ取り出す」というのを、平均2秒に1回のペースでこなさなければならず、アクセスが少しでも集中すると、フリーズしたような状態になってしまい、正常にカウントされなくなる現象が出ることが分かりました。MySQLのバッファ設定をいじったりもしましたが、全く改善しません。ネットブックを調べてみると、CPU使用率が時折100%の状態になってしまうようです。Atom N280(1.66GHz)搭載程度のスペックでは、少々無理のある処理でした。

そのため、テーブルをサイト毎に分割して管理するよう変更し、さらにPVについてはフィールドの自動カウント機能(Auto Increment)を使うようにして、クエリー処理の負荷を減らすようにしてみました。するとCPU使用率が平均10%前後と大幅に下がり、比較的負荷の高い状態でも50%程度で収まるようになりました。

分析ツールはひとまず完成しましたが、後はこのデータを活用した「ニーズのあるサイト」を作れるようになれば、と思うところです。



Web管理関連記事(リンク一覧): SPF、DKIM、DMARCの設定とネームサーバー(DNS)設定のトラブル / さくらレンタルサーバーのアクセス履歴をPHPで表示 / PHPで画像のアップロード(さくらレンタルサーバーのPHPでImageMagick) / KUNISAN.JPサイトのメンテナンス(2018) / Webサーバー引っ越し(さくらインターネット スタンダード)とHTTPS(常時SSL)化 / ...(記事連続表示)

MySQL全機能バイブル ~現場で役立つAtoZ~
MySQL全機能バイブル ~現場で役立つAtoZ~ をAmazon.co.jpでチェック

新ホームページ「町の噂DB」公開

名前: 小川 邦久 リンク: http://kunisan.jp/ 日付: 2010年2月10日
新ホームページ「町の噂DB」公開前作の「駅近君」の公開からまだ1週間も経っていませんが、また新しいホームページを立ち上げました。

町の噂DB
http://kunisan.jp/machi/

内容は日本全国区市町村の地図、最新のつぶやき(うわさ話、旅情報、商品の宣伝など)、基本情報が同時に得られるというものです。技術的には「駅近君」と同様、PHP+MySQLの組み合わせでデータの照合などを行いつつ、Google Maps APIで地図を表示し、Twitter APIでつぶやきを取得し、Wikipedia APIで区市町村の基本情報を得る、ということをやっています。

「駅近君」と違うのは、情報引き出しのベースになるのが「駅名」ではなく、「区市町村」になっているところと、バリューコマースの広告がないことです。逆に言えば、それ以外のところで大きな違いはなく、プログラム面でも多くの部分をそのまま流用できました。



Web管理関連記事(リンク一覧): SPF、DKIM、DMARCの設定とネームサーバー(DNS)設定のトラブル / さくらレンタルサーバーのアクセス履歴をPHPで表示 / PHPで画像のアップロード(さくらレンタルサーバーのPHPでImageMagick) / KUNISAN.JPサイトのメンテナンス(2018) / Webサーバー引っ越し(さくらインターネット スタンダード)とHTTPS(常時SSL)化 / ...(記事連続表示)

全国市町村要覧 [平成21年版]市町村の「現在」を知るための必携データブック!
全国市町村要覧 [平成21年版]市町村の「現在」を知るための必携データブック! をAmazon.co.jpでチェック
コメント:新ホームページ「町の噂DB」公開
名前: 小川 邦久 リンク: http://kunisan.jp/ 日付: 2011年7月25日
都合により「町の噂DB」は閉鎖しました。

XAMPPをネットブック(Windows 7 Starter)に入れてWEBサーバーに

名前: 小川 邦久 リンク: http://kunisan.jp/ 日付: 2010年2月9日
XAMPPをネットブック(Windows 7 Starter)に入れてWEBサーバーに昨日XAMPPのインストールとHTTPのインターネット公開の手順を説明したばかりですが、その日のうちにMySQL(データベース)とFileZilla(FTPサーバー)とMercury(メールサーバー)の全てについて動作確認が取れてしまいました。それを踏まえた上で、わが家で放置状態だったネットブック(FRONTIER FRNU305/Windows 7 Starter)にXAMPPをインストールして、WEBサーバーとして活用することにもしました。せっかくなので、そのあたりの要点についてまとめておきたいと思います。私が将来思い返す時にも便利だと思いますので…。

環境
OS: Windows 7 Starter(FRONTIER FRNU305)
ルーター: WZR-HP-G300NH(BUFFALO製)
XAMPP Windows版: バージョン1.7.3

※下記設定はあくまで一例ですので、セキュリティに関しては自己責任でお願いします。
※以下の手順を参考にして何らか被害を被ったとしても、当方は何の責任も負いませんので予めご了承ください。

■ MySQL(データベース)
普段使っているWebARENA SuiteXについても、MySQLの管理画面はphpMyAdminなので、個人的には馴染みはあります。ただ、SuiteXの方はUTF-8エンコードを基本としているのに対し、XAMPPは特にPHPとの連携でSJISエンコードを意識しないとうまく動きません(php.ini等、設定ファイルをいじれば話は別です)。
まずはphpMyAdminでデータベースを作成して、テーブル作成・指定の上、「インポート」メニューからCSVファイル等のデータをインポートできます。「インポートするファイル」をローカルのCSVファイルを選択し、(ExcelでCSVファイルを作成した場合には)「ファイルの文字セット」をSJIS、「インポートするファイルの形式」をCSVとして、オプション欄の「フィールド区切り位置」を「,」と変更することでデータを取り込めます。
なお、SuiteXで使っているPHPプログラムをそのままXAMPPで動かしたところ、「????」とクエスチョンマークが多数出てくる文字化けが発生してしまいました。phpMyAdmin側で色々と設定を変えてみたのですがうまくいかず、Googleで調べた結果、PHPプログラムのクエリー実行の前に「mysql_query('SET CHARACTER SET SJIS');」の一文を入れることで問題解決しました。

■ FileZilla(FTPサーバー)
初期設定の注意点をまとめておきます。
・Windowsファイアウォール、ルーター共に、21番ポート(FTP接続用)、60000-60100番ポート(FTPデータ転送用/任意のプライベートポート番号)を開けておきます。
・FileZillaの"Server Options(画面上の左から3番目の歯車付アイコン)"をクリックし、"Passive mode settings"を選択、"Use custom port range:"の下の空欄2箇所(半分画面の外にはみ出している)に60000、600100(任意のプライベートポート番号)と入れます。また、"Admin Interface settings"の下にある、"Change admin password"にチェックを入れて、下の空欄に管理者用のパスワードを入れて設定しておきます。
・"Users(画面上の左から4番目の顔とパソコンのアイコン)"をクリックし、General→Usersから不要なユーザー名を全て削除(Remove)。Addボタンを押してユーザーを追加し、パスワードも併せて設定します。続いて"Shared folders"からAddボタンを押して、htdocsフォルダを選択します。フォルダが表示されているボックスの右にある、"Files"欄、"Directories"欄の各項目にチェックを入れて、必要な操作権限を設定しておきます。

■ ダイナミックDNSサービス
メールサーバーの設定をする上で、IPアドレスの数字だけでは面倒なので、事前にWEBサーバー名(サーバーネーム)を決めておいた方が便利です。ただし、プロバイダの固定IPを利用するのはコストがかかってしまうので、可変グローバルIPに対してサーバー名をリアルタイムに付けてくれる「ダイナミックDNSサービス」を利用します。
私はこちらのサイトからサーバー名を取得しました(サーバー名の一例: "XXXX.ddo.jp")。無料で利用できます(有料サービスもあります)。

Dynamic DO!.jp
http://ddo.jp/

基本的にはグローバルIPが変わる度に、IPアドレスの更新作業が必要なのですが、それを自動でやってくれるフリーソフトがあります。ダウンロードサイトはこちらです。

DiCE
http://www.hi-ho.ne.jp/yoshihiro_e/dice/


■ Mercury(メールサーバー)
XAMPPの中で、一番設定が難しかったのがMercury(メールサーバー)でした。初期設定の注意点をまとめておきます。
・Windowsファイアウォール、ルーター共に、25番ポート(SMTP接続用)を開けておきます。
・Configuration→Protocol modulesから、必要なモジュールを選択します。まず、"MercuryS SMTP server"、"MercuryP POP3 server"の2つにチェックを入れます。プロバイダが25番ポートブロックを実行している場合には、"MercuryC SMTP relaying client"を選択、実行していない場合には"MercuryE SMTP end-to-end delivery client"を選択します。一旦管理画面を閉じて、再び管理画面を開くと、必要なプロトコル管理ウィンドウのみが出てきます。我が家のプロバイダーは25番ポートブロックを実行しているので、ここでは"MercuryC SMTP relaying client"の方を説明します。
・Configuration→Users→Addから、Usernameにユーザー名(アカウント名)、Mail passwordにパスワードを入れます。
・Configuration→MercuryS SMTP server→Connectiong control→Add restrictionと開き、メール送信を許可する送信元IPアドレスを設定します。基本的には自身の127.0.0.1とローカルネットワークの192.168.XXX.0-192.168.XXX.255の2つを設定して、それぞれ"Allow connections"を選択、"Connections from this address range may relay …"と"Connetions from this address range are exempt from …"の2つにチェックを入れます。これによりローカルからのメール送信のみ対応し、外部からの不正なメール送信を防げます。
・Configuration→MercuryC SMTP clientを開きます。Smart host nameにプロバイダーのSMTPサーバー名を入れて、"Credentials for SMTP Authentication …"と書かれているところに、ユーザーアカウント、パスワードを入れます。メール送信にPOP3認証が必要な場合には、"Authenticate via …"にチェックを入れて、"Connect to POP3 host"に、POP3サーバー名を入れます。
・Configuration→Mercury core module→Local domains→Add new domainから、サーバー名を登録します。Local host or serverにはlocalhostと入れて、Internet nameにはダイナミックDNSサービスで取得したサーバー名(例: "XXXXX.ddo.jp")などを入力します。

基本的にはこれで完了なのですが、プロバイダのSMTPサーバーの中に、自社ドメイン以外のアドレスを利用した場合にエラーを返すものがあります。ただし、送信メール中継専用のSMTPサーバーを持っているところもあるので、詳しくはプロバイダのホームページなどで詳細をチェックした方がいいでしょう。参考までに一例を上げておきます。

BIGLOBE中継サーバ利用申込
http://support.biglobe.ne.jp/faq/settei/op25b/relay.html


■ ホスト名設定
ルーターにDNS中継機能やホスト設定がある場合を除き、XAMPPをインストールしたパソコンや同じネットワーク内のパソコンから、サーバー名を使ってWEBサーバーにアクセスできません(ブラウザのアドレス欄にサーバー名を入れると、ルーターの管理画面が表示されたりします)。これを回避する策として、Windowsのホスト設定ファイルを編集する方法があります。"C:\Windows\System32\drivers\etc"フォルダ内の"hosts"をメモ帳などで開いて、設定を追加することができます。

設定例 → 192.168.XXX.100 XXXXX.ddo.jp

パソコンを再起動すると、サーバー名を使ってWEBサーバーにアクセスすることができるようになります。


以上で一通りの設定が完了しました。このままの設定では、外部からメールの送受信ができないなど、使い方によっては問題が生じてしまいますが、何しろXAMPPでは隅から隅まで細かい設定ができるので工夫のし甲斐があります。

あと、私のホームページでは何点かImage-Magick(Perl-Magick)を使用しているものがあるのですが、何をどうやっても"use Image::Magick;"のモジュール宣言でエラー(=Premature end of script headers)が出てしまい解決できません。インストールはppm.batを使って正常に完了していて、フォルダ(C:\xampp\perl\site\lib)にもそれらしきファイルとフォルダが一式入っています。Googleで調べたところ、同じようなトラブルを持った人が多く、しかも解決している例が見つかりませんでした。日本語だけでなく、英語でも同じような状況です。私自身よく理解できていませんが、Image-Magickが最新バージョンのPerlに対応していないから(?)ということが書かれていたり、中には「Image-Magickを使うのをやめて、GD等別のモジュールを使う」というのがありました。ただ、これはプログラム変更の手間がかかるのであまりやりたくはありませんね…。まあ、私のホームページの中で大きな問題になるのは「画像編集君」だけで、別にこれを自宅サーバーの方に移行する予定もないので、当面はこのまま問題を放置しておくしかなさそうです。

自宅サーバーを立ち上げたまではいいのですが、これをどう使うか具体的なアイデアについては模索中です。ただ、基本的にはフリーソフトと有り合わせの機器だけで自宅サーバーが構築できたので、「もとを取らないと…」という切迫感のようなものがないのは幸いです。

参考書籍: XAMPPではじめる全部無料のかんたん+最新自宅サーバーfor Windows

XAMPPインストール&HTTPインターネット公開の手順(前の日の記事)



Web管理関連記事(リンク一覧): SPF、DKIM、DMARCの設定とネームサーバー(DNS)設定のトラブル / さくらレンタルサーバーのアクセス履歴をPHPで表示 / PHPで画像のアップロード(さくらレンタルサーバーのPHPでImageMagick) / KUNISAN.JPサイトのメンテナンス(2018) / Webサーバー引っ越し(さくらインターネット スタンダード)とHTTPS(常時SSL)化 / ...(記事連続表示)

関連カテゴリー: Web管理関連記事, WindowsPC関連記事

XAMPPではじめる全部無料のかんたん+最新自宅サーバーfor Windows
XAMPPではじめる全部無料のかんたん+最新自宅サーバーfor Windows をAmazon.co.jpでチェック

自作PC(Windows7)にXAMPPをインストールして自宅サーバー化

名前: 小川 邦久 リンク: http://kunisan.jp/ 日付: 2010年2月8日
自作PC(Windows7)にXAMPPをインストールして自宅サーバー化先日、仮想マシン(VirtualBox)上にUbuntu(Linux)を入れましたが、これはもともとLinux上にWEB(ウェブ)サーバーを構築する上での勉強の足がかりとして考えていました。しかし、あるホームページにWindows上でWEBサーバーを構築できる「XAMPP」というソフトが紹介されていて、「モノは試し」ということで早速ダウンロード&インストールしてみました。

何年も前の話になりますが、自宅でWEBサーバーを立ち上げようと色々なホームページを当たったりしたことがあったのですが、まともに動かすには何種類もソフトをインストールしなければいけない上に、設定も面倒そうで、そのままあきらめた経緯があります。ところがXAMPPはインストールして管理ソフトを立ち上げ、「START」ボタンを押すだけでWEBサーバーが出来上がってしまいます。ネットワーク絡みなど、細かい設定は無くはないのですが、私が最初に自宅サーバーを立ち上げようとしていた頃を考えると、作業や設定が本当に簡単になりました。

せっかくなので、XAMPPのインストールから、ホームページをインターネット上に公開するまでの手順を紹介しておきます。ちなみにうちのパソコンの環境は以下の通りです。

OS: Windows 7 Home Premium(64bit版)
ルーター: WZR-HP-G300NH(BUFFALO製)
XAMPP Windows版: バージョン1.7.3

※あくまで一例ですので、セキュリティに関しては自己責任でお願いします。
※以下の手順を参考にして何らか被害を被ったとしても、当方は何の責任も負いませんので予めご了承ください。

1.インストールファイル(自己解凍型RARアーカイブ)をAPACHE FRIENDSのホームページからダウンロードします。
http://www.apachefriends.org/jp/xampp-windows.html

2.ダウンロードしたファイルを開きインストールを開始します。
Destination folder(インストール先フォルダ)は、デフォルトの"C:\"のまま「Install」ボタンをクリックします。

3.コマンドプロンプトが立ち上がり、いくつか質問されますが、全てそのまま「Enter」キーを押して進めます。

4.コマンドプロンプト画面の最後はメニューです。1を選択してXAMPPコントロールパネルを開きます。

5.Apache(HTTPサーバー)、MySql(データベース)、FileZilla(FTPサーバー)、Mercury(メールサーバー)の右にある「Start」ボタンをそれぞれクリックして起動します。起動すると緑色で「Running」と表示されます。

6.起動途中、セキュリティの確認メッセージが出ることがあります。ここでは「アクセスを許可する」ボタンをクリックします。

7.ブラウザーを起動して、アドレス欄に「http://localhost/」と入力します。XAMPPの管理ページが表示されるので、「日本語」と書かれているリンクをクリックします。ここからサービス状況の把握や、パスワード設定などのセキュリティ管理を行うことができます。インターネット上に公開する前に、必ず画面左の「セキュリティ」からセキュリティ状況の確認とパスワード設定を行うようにしてください。

8.Windows左下のスタートボタンから、コンピューター→ローカルディスク(C:)→xampp→htdocsと開きます。ここにWEB用ファイル(HTML、PHP、CGIなど)を入れることで、ブラウザーからの閲覧が可能になります。例えば、ここに「test.html」というファイルを入れた場合には、ブラウザーのアドレス欄に「http://localhost/test.html」と入れると、ページを閲覧することができます。なお、このフォルダとcgi-binフォルダにデフォルトで入っているファイルは、セキュリティ面から削除した方が無難です。

9.続いて、同じネットワーク内の別パソコンからホームページが閲覧できるように設定します。まず、XAMPPをインストールしたパソコンのIPアドレスを確認します。わからない場合には、コマンドプロンプトを立ち上げて(Windows左下のスタートから、空欄に「cmd」と入れて検索)、「ipconfig」と打ち込んでIPアドレス(例:192.168.XXX.XXX)を確認します。

10.Winodwsのコントロールパネルを開き、Windowsファイアウォール→詳細設定→受信の規則→新しい規則と開きます。ウィザードが開いたら、規則の種類は「ポート」を選択、プロトコルは「TCP」を選択、特定のローカルポートは「80」と入力、操作は「接続を許可する」を選択、プロファイルは特に指定せず、適当な名前を付けて設定を完了します。

→ネットワーク内の別のパソコンのブラウザーのアドレス欄に、「http://(上記で確認したIPアドレス)/」と入力して、XAMPPの管理ページが表示されていれば成功です。

11.最後にインターネット側からのホームページが閲覧できるようにルーターを設定します。まず、ルーターのインターネット側IPアドレスを確認します。確認方法は色々とありますが、例えば下記サイトで確認が可能です。
http://www.cman.jp/network/support/go_access.cgi

12.ルーターの管理画面からポート変換メニューを開きます。(WZR-HP-G300NHの場合)Internet側IPアドレスを「エアステーションのInternet側IPアドレス」として、プロトコルはTCP/UDPを選択、任意のTCP/UDPポートを「80」と指定します。LAN側ポートは空白のままでも「80」と自動的に設定されます。

→自宅ネットワーク外のパソコンや携帯端末(3G回線のスマートフォンなど)のブラウザから、「http://(上記で確認したインターネット側IPアドレス)/」にアクセスして、XAMPPの管理画面が出たら完全に開通です。

私はKUNISAN.JP用ホスティングサーバーとして、WebARENAのSuiteXを利用していますが、XAMPPを使用してみた感想は…、

・通常のHTMLは問題なく開ける。
・CGI(Perl)は最初の一行目を「#!/usr/local/bin/perl」から「#!C:\xampp\perl\bin\perl.exe」とすれば普通に動く。
・PHPの日本語処理(特にフォームを使用した処理)は、SuiteXは基本UTF-8、XAMPPは基本SJISなのでプログラムの調整が必要。(php.iniでも調整可能)

あと、上記の説明では触れませんでしたが、パソコンのネットワーク設定が自動(DHCP)になっていると、パソコン立ち上げの度にIPアドレスが変わる可能性があります。加えて、通常のブロバイダ契約では、ルーターの再起動時にインターネット側のIPアドレスも変わってしまいます。パソコンを固定IPに設定して、さらにプロバイダと固定IP契約を結ぶと、どちらのIPアドレスも変わらなくなり、管理が楽になりますが、プロバイダの固定IPは通常毎月数千円のコストがかかってしまいます(もしくはダイナミックDNSサービスを利用する手もあります)。

ここではHTTPサーバーの利用を中心に手順を説明しましたが、データベース、FTPサーバー、メールサーバーについても、また機会があれば取り上げたいと思います。

参考書籍: XAMPPではじめる全部無料のかんたん+最新自宅サーバーfor Windows

XAMPPでMySQL(データベース)とFileZilla(FTPサーバー)とMercury(メールサーバー)の設定(次の日の記事)



Web管理関連記事(リンク一覧): SPF、DKIM、DMARCの設定とネームサーバー(DNS)設定のトラブル / さくらレンタルサーバーのアクセス履歴をPHPで表示 / PHPで画像のアップロード(さくらレンタルサーバーのPHPでImageMagick) / KUNISAN.JPサイトのメンテナンス(2018) / Webサーバー引っ越し(さくらインターネット スタンダード)とHTTPS(常時SSL)化 / ...(記事連続表示)

関連カテゴリー: Web管理関連記事, WindowsPC関連記事

XAMPPではじめる全部無料のかんたん+最新自宅サーバーfor Windows
XAMPPではじめる全部無料のかんたん+最新自宅サーバーfor Windows をAmazon.co.jpでチェック
コメント:自作PC(Windows7)にXAMPPをインストールして自宅サーバー化
名前: オーロラ 日付: 2010年10月11日
分かり易い説明、大変参考になりました。
ありがとう。


※該当の記事タイトル一覧はリンク一覧から参照できます。