ブラウザでアクセスできない場所にプログラムを置いて実行する方法

  • このエントリーをはてなブックマークに追加
  • Pocket
  • LINEで送る

こんにちは、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からのアクセスだけを実行処理するPHP設定

カンタンに言えば「cron」を使って非公開の場所に設置したプログラムをキックするという仕組みですね。

/usr/bin/php7.3 /home/xs77777/SAMPLE/file.php

つまりブラウザからアクセスできない位置にプログラムファイルを作成してcronが定期実行されるように設定。必要な処理を走らせたりデータを取得して保存するなどロジック次第で何でも作ることができます。

データベースへの登録処理を確認

実際にプログラムの動作をチェックする場合はデータベースの中身を見るツールが必要です。レンタルサーバーのMySQLを使えばコントロールパネルからデータにアクセスできますよね。SQLiteなら下記のツールがあればプログラムとデータベースが正しく連携しているかどうかを詳しく調べられるので開発時はとても便利です。

PHP7.4でも動作するSQLiteデータベース用管理ツール「phpLiteAdmin」とは?

処理のパフォーマンスも簡易的に測れるため状況に応じてデータベースに値を保存すると良いかもしれません。

💻SEOに強いWordPressテーマ

⇒ 大人気のワードプレステーマ「賢威」  2万を超えるお客様がご使用中!

テストは以前に書いた別記事「SQLiteの処理を測定する方法」を応用すれば上記の通り秒数を測定できます。

アクセスできない場所へ設置する

システムデータをブラウザで開けない場所に置いておくと不特定多数のユーザーが訪れることもありません。

あえて「public_html」配下に設置するとしても「cronで実行された場合のみ処理する条件分岐を指定」すれば仮にブラウザ経由でアクセスがあっても設置したプログラムが動く心配は不要です。

・一般に公開されている領域へ置く(cronで条件を指定する:ユーザーのアクセスでは実行をしない)
・誰もアクセスできない領域へ置く(cronで通常に実行する:ユーザーはそもそもアクセスできない)

どちらでプログラムを組んでも構いませんが、ブラウザ経由でアクセスできる意味がなければ裏側の非公開領域に設置するのがおすすめです。正確に動くかの念入りな動作確認は必須となりますが安心ですよね。

まとめ

本日は「非公開の場所にプログラムを置いて実行する方法」を解説いたしました。

もし裏側で何かしらの処理を自動化するシステムを動かしたい場合はブラウザ経由でアクセスできる領域に設置するか、または誰も閲覧できない安全な場所に配置するかを考えてみることをおすすめいたします。

システム開発のご参考になれば幸いです。

最新式の無料プラグインを事前公開

WordPressは公式サイトに登録済みのプラグインだけで全機能を補足しきれません。当サイトでは使いやすさを追求した魅惑的なプラグインを無料でダウンロードいただけます。運営ホームページのマーケティング力をさらに高めるチャンスです。まずは無料でDLしてお試しくださいませ。
改良されたプラグインを確認する

ワードプレス専門家に丸投げする

WPホームページ研究所はワードプレスを中心としたブログ作成・ホームページ制作・オウンドメディア構築・プラグイン設定・調整など幅広いカスタマイズに対応しております。 記事の掲載情報だけでなくお好みの機能をいただければ専属スタッフが心を込めて真摯に対応させていただきます。お気軽にお問い合わせください。

お問い合わせの種類をお選びください(もっとも近い項目)

法人の場合は法人名とご担当者のお名前をご入力ください

返信時のご連絡に利用するメールアドレスをご入力ください

運営中のウェブサイトURLがあればご入力ください

お困りの内容があれば詳しい内容をお聞かせください