こんにちは、WPホームページ研究所の運営サポートチーム(@WP_LABO)です。
よくデータベースを使ったシステム開発のご相談をいただきます。プログラムは活用方法で作り方も違います。流れを覚えておけば依頼時もスムーズなのでぜひこの機会にお目通しくださいませ。
目次
ブラウザでアクセスできない場所にプログラムを置いて実行する方法
今回はシステム開発の全体的な流れをご紹介いたします。
数あるシステムの種類
当サイトで主に取り扱っている「ワードプレス」。WordPressはCMSですよね。
CMSはコンテンツを管理するための仕組みなので「運営者が必要」です。というより運営者がいなければ記事を更新したりコンテンツを追加作成できないためワードプレスの特徴を活かすことができません。
ただ、管理者が必要ない単体で動作するプログラムも存在しています。
管理者が不要なシステムとは
わかりやすく言えば下記のシステムは管理者がいなくても自動運用可能です。
1. 価格を比較するための監視システム
2. ネットショッピングの競合モニタリング
3. 参入予定市場の分析や調査ツール
4. 株式市場データや相場データの収集
5. 不動産関連のデータ取得や整理システム
少し言い方を変えるとシステムは大きく2つの種類に分別できます。
A. 管理者によって運用が必要なシステム
B. 管理者がいなくても自走するシステム
先述したワードプレスは管理者が必要なので「A」ですよね。上記の「1〜5」であれば外部情報を取得してチェックする仕組みになるため基本的に管理者は必要ありません。ほぼ放置しているだけで動きます。
どのように作るのか?
サーバー上にはブラウザでアクセスできない領域が用意されています。
わかりやすく言えば「public_html」よりも上の階層ですね。細かく言えばサーバーによっても多少変わってきますが一般的にはブラウザでドメインにアクセスするためには下記のパスとなります。
・/home/123/public_html/example.com/
・/home/123/example.com/public_html/
上記の通り「public_html」が前後する場合はあっても基本的に「public_html配下」はブラウザからアクセスできます。アクセスできない場所にプログラムを設置することで裏側での自走を可能とするわけですね。
プログラムの実行処理
どんなシステムも「何かしからのきっかけをトリガー」にして動きます。
たとえばワードプレスでは不特定多数のユーザーや管理者による操作で動く仕組みですよね。具体的にはページを開くリクエストがあったらPHPがデータベースを読み込んで必要なデータを表示させています。
ただ、上記の通り「ブラウザからアクセスできない場所に配置するプログラム」は少し特殊。動かす場合はサーバー上に設置したプログラムを自走させるためのきっかけ(cron)を定期実行することになります。
カンタンに言えば「cron」を使って非公開の場所に設置したプログラムをキックするという仕組みですね。
/usr/bin/php7.3 /home/xs77777/SAMPLE/file.php
つまりブラウザからアクセスできない位置にプログラムファイルを作成してcronが定期実行されるように設定。必要な処理を走らせたりデータを取得して保存するなどロジック次第で何でも作ることができます。
データベースへの登録処理を確認
実際にプログラムの動作をチェックする場合はデータベースの中身を見るツールが必要です。レンタルサーバーのMySQLを使えばコントロールパネルからデータにアクセスできますよね。SQLiteなら下記のツールがあればプログラムとデータベースが正しく連携しているかどうかを詳しく調べられるので開発時はとても便利です。
処理のパフォーマンスも簡易的に測れるため状況に応じてデータベースに値を保存すると良いかもしれません。
テストは以前に書いた別記事「SQLiteの処理を測定する方法」を応用すれば上記の通り秒数を測定できます。
アクセスできない場所へ設置する
システムデータをブラウザで開けない場所に置いておくと不特定多数のユーザーが訪れることもありません。
あえて「public_html」配下に設置するとしても「cronで実行された場合のみ処理する条件分岐を指定」すれば仮にブラウザ経由でアクセスがあっても設置したプログラムが動く心配は不要です。
・一般に公開されている領域へ置く(cronで条件を指定する:ユーザーのアクセスでは実行をしない)
・誰もアクセスできない領域へ置く(cronで通常に実行する:ユーザーはそもそもアクセスできない)
どちらでプログラムを組んでも構いませんが、ブラウザ経由でアクセスできる意味がなければ裏側の非公開領域に設置するのがおすすめです。正確に動くかの念入りな動作確認は必須となりますが安心ですよね。
まとめ
本日は「非公開の場所にプログラムを置いて実行する方法」を解説いたしました。
もし裏側で何かしらの処理を自動化するシステムを動かしたい場合はブラウザ経由でアクセスできる領域に設置するか、または誰も閲覧できない安全な場所に配置するかを考えてみることをおすすめいたします。
システム開発のご参考になれば幸いです。
最新式の無料プラグインを事前公開
WordPressは公式サイトに登録済みのプラグインだけで全機能を補足しきれません。当サイトでは使いやすさを追求した魅惑的なプラグインを無料でダウンロードいただけます。運営ホームページのマーケティング力をさらに高めるチャンスです。まずは無料でDLしてお試しくださいませ。
→ 改良されたプラグインを確認する