WordPressを使って社内(コミュニティ内)アクセス限定のサイトを作る方法いろいろ

WordPressはインターネット上にサイトを公開する上で便利なブログ+αツールです。この記事を見ている方は公開サイトですでにWordpressを使われていることと思いますが、改めてWordpressの利点を挙げておくと

  1. 管理画面からすべての操作ができる
  2. コンテンツの追加や編集などが簡単にできる
  3. テーマによって外観が簡単に変えられる
  4. プラグインによって必要な機能を追加できる

もう挙げだしたらキリがない位便利なツールです。これを使ってサイトを公開している企業も多く管理に慣れている方も多いと思います。

そこで1つの構築アイディアとして上がるのが、「社内の共有文書やマニュアル、連絡事項などを一元管理できないか?」ということ。Wordpressを使えば不特定多数が見られる公開サイトだけでなく、こうした閲覧を限定したサイトも簡単に構築できるようになります。専用のツールなどが多数発売されていますが、公開サイトと管理方法が同じなので戸惑うこともありません。

今回はWordpressで企業などのサイトを作っていて、同じサーバー上に公開しているサイトとは別に社内専用のマニュアルサイトを作る方法を紹介します。とはいってもできるだけ専門知識を使わずプラグインなどで設定できる方法を考えて紹介しますので参考になさってください。

スポンサーリンク



WordPressを使って社内(コミュニティ内)アクセス限定のサイトを作る方法

サーバー内に別のWordpressをインストールする

サーバー内に誰でもアクセスできるサイトとは別にWordpressをインストールします。サブドメインでもサブディレクトリでも構いません。

WordPressの手動インストール方法が分からない、サブドメイン?サブディレクトリ?という方は稼働後に問題が発生した際対処できない可能性がありますから今回の方法は見送った方がいいと思いますのでここではこの程度にしておきます。

どこからのアクセスを許可するのかを考える(アクセス制御)

WordPressには通常の機能でインターネット上に公開しても検索エンジンの結果には表示しないように設定ができます。しかしこの方法ではURLが分かってしまえば誰でもアクセスができるため社内や限られたコミュニティ向けのサイトを作るにはセキュリティ面で疑問が多々残ります。

そしてログインしたユーザー以外にはトップページすら表示する必要がありませんからそうした措置も必要になります。

いろいろな機能を追加するよりもここが一番大切な部分になります。逆にここが構築できれば限定公開することができますからあとはどう運用するかによってサイトを構築していくだけですから慎重に設定しましょう。

設定する方法は大きく2つあり、どちらか一方でも限定的に運用することはできます。

  1. 通常通り公開して、ログインユーザーのみが閲覧できるようにする
  2. 2つのプラグインを使います

    まず1つ目は

    【Force Login】はログインしていない訪問者がサイトやページへアクセスしたときに、否応なくログインページへリダイレクトされるようになるプラグインです。こういう機能は他の機能のついでに搭載されていることがほとんどなので、単独の機能として動作するのはむしろ珍しいかもしれませんが、必要な機能だけを実装できるので多機能なものよりも使いやすいと思います。

    を使います。【Force Login】はログインしていない訪問者からアクセスがあったとき、自動でログイン画面へ移動(リダイレクト)するプラグインです。これで不特定多数の人からの閲覧を防止できます。

    次にログイン画面のデザイン変更を行うためとログイン後管理者以外をフロントエンド(閲覧画面)へ移動させるために

    ログイン画面(通常のログイン画面)をWordpress標準の素っ気ないものから変更し、かつ、ログイン処理後に管理者以外は別の画面へリダイレクトできるものはないか??といろいろ試した結果見つけたのが今回紹介する【Customize WordPress Login Page】です。

    を使います。Wordpressのログイン画面は素っ気ないですしWordpressで作っていることが丸わかりになってしまいます。また、管理者以外はバックエンド(管理画面側)を見れるようにする必要もないですからこのプラグインは大変重宝します。

    これでログインユーザーにのみ閲覧できるサイトは完成です。案外簡単ですね。

  3. アクセスできるグローバルIPアドレスを限定する
  4. より確実にアクセスの制限をするには、アクセスを許可するIPアドレス以外を拒否する方法があります。インターネットに接続するにはグローバルIPアドレスというのが必要になります。アクセス元のグローバルIPアドレスを調べてそこだけ許可することで強力なアクセス制限が可能です。

    新しく作ったサイトのファイル類の中に「.htaccess」というファイルがありますので編集して設定します。追記するのは

    # AccessControl IP/HOST
    order deny,allow
    deny from all
    allow from アクセス可能なグローバルIPアドレス①
    allow from アクセス可能なグローバルIPアドレス②
    allow from アクセス可能なグローバルIPアドレス③
    allow from アクセス可能なグローバルIPアドレス④

    です。「アクセス可能なグローバルIPアドレス①」などとなっている場所にはアクセスを許可するグローバルIPアドレスを必要分だけ追加します。トラブル防止のため自身のグローバルIPアドレスをまず登録しましょう

    ただし、この方法で注意が必要なことがあります。それは

    1. 1つは固定グローバルIPアドレス契約をしている拠点が必要
    2. 動的グローバルIPアドレスが変更された場合には修正が必要

    の2つです。インターネット接続契約では自動的にグローバルIPアドレスを取得する形態と、常に同じグローバルIPアドレスを使う形態の2つの契約が存在します。前者の契約の場合には電源を入れ直したり、回線工事が入ったりすることで情報がクリアされてIPアドレスが変わってしまうことがあります。

    全部の拠点が同時にIPアドレスの変更が起こるという事態は考えにくいですが、確実にアクセスできるような拠点を1つ設けておくこと(固定IPアドレス契約のところを作ること)と、動的IPアドレスが変更になったときのファイル編集ができることなどのスキルが必要ですから、不安ならこの方法は見送った方がいいと思います。

    IPアドレス制限をすることで、許可された拠点のネットワーク以外からのアクセスができなくなりますから退職者が勝手にスマホからアクセスしたり、自宅のパソコンからアクセスしたりする行為を防止でき、万が一退職時にユーザー情報を削除し忘れた場合でもアクセス制限をかけることができます。

設定ができたら社内LANに接続されていないPCやスマホからアクセスしてみるといった感じでいろいろなところからアクセスして動作確認しましょう。1で設定した場合にはすべてのアクセスがログイン画面へリダイレクトされるか、2でアクセスできるグローバルIPを制限した場合にはきちんとアクセス拒否されるなどいろいろなケースを想定して確認しましょう。

また、アクセス制限の設定がクリアできたら、管理者以外の権限でテスト用にユーザー登録してログイン後にトップページへリダイレクトされるかの確認もしておきましょう。万が一管理者でログインしても管理画面が表示されないときは、先に導入した

ログイン画面(通常のログイン画面)をWordpress標準の素っ気ないものから変更し、かつ、ログイン処理後に管理者以外は別の画面へリダイレクトできるものはないか??といろいろ試した結果見つけたのが今回紹介する【Customize WordPress Login Page】です。

の問題だと考えられますので、FTPなどを使って一旦プラグインフォルダを削除して無効化してみてください。

アクセス制限の設定とリダイレクトの確認ができたら後は使える機能を追加していくだけですので次項に進んでください。



社内サイトで使えそうな機能いろいろ

権限の設定と考え方

アクセス制限の設定ができたらいよいよサイト作りです。基本的なことですが、Wordpressは登録してあるユーザーの権限によってできることが変わってきます。権限を大まかに説明すると

  1. 管理者・・・サイト内すべての登録・変更・削除・編集ができる
  2. 編集者・・・サイト内すべての投稿や固定ページなどの情報を追加・編集・削除できる
  3. 投稿者・・・自身の投稿を追加・編集・削除できる
  4. 寄稿者・・・投稿を送信できる(公開するかどうかの判断は上位で行う)
  5. 購読者・・・閲覧のみできる

会社内で言えば、システム管理者のみが「管理者」、部長・課長職が「編集者」、部内で記事作成を行う人などが「投稿者」または「寄稿者」、そのほかは「購読者」とすれば一応の統制はできますね。

「編集者」権限についてはサイト内すべてのユーザーの投稿が編集できてしまうこと、「投稿者」は自身の投稿の編集ができてしまうことから誤って削除や編集をしてしまうことがないよう最初は「管理者」と「寄稿者」「購読者」だけにして運用した方がいいかもしれません。「できていたことが制限される」よりも「こうしたいと思ったことができるようになる」方がデジタルに疎い方にも受け入れやすいと思うので・・・至って私的な見解です。

投稿できる環境を作る

ここで1つ問題が発生しますね。気づきました??そうです、投稿するための画面である管理画面(バックエンド)を表示できるのは管理者権限のみになってしまうということです。これを解消するためにフロントエンド(閲覧画面)から投稿できるフォームを作ります。

簡単なものからいろいろな機能があるものまでこの類のプラグインはたくさんありますが、おすすめは

「WP User Frontend」は日本語化してしまえば使い方は一目瞭然なので、一度使ってみてほしいプラグインです。もう一度書きますが、入力項目を指定できる(通常の何でも入力できる本文なしでフォームの作成ができる)のはおそらくこのプラグインだけだと思います。

です。詳しくはリンク先ページを確認ください(関連するプラグインも見てみてくださいね)。

部署の割り振りをどうするか?

会社などで使う場合には〇〇部や〇〇課というのがありますよね?各所から投稿された内容を部署ごとに分類するには「カテゴリー」を使うのが一番簡単です。〇〇部-〇〇課と階層にすることもできますから便利ですからね。

カスタム投稿タイプを使って部署ごとに記事の集まりを分ける方法もありますが管理が大変になることと、入力フォームを切り分ける(部署によって分ける)必要があること、ユーザーごとに使用できる入力フォームを限定しなければならないことなどいろいろ問題が出てきますから、まずは運用第一でカテゴリーを使いましょう。

そして慣れていない方が「カテゴリー」を入れ忘れた・・・なんてことがないように、

「Doc's Auto-tags」は予め設定しておいた単語やフレーズが記事の中にあると自動でタグやカテゴリーの登録をしてくれる便利なプラグインすです。

を使って自動で挿入するようにしたり、

「Author Category」は複数の人で投稿を行うサイトなどで、あらかじめユーザーが投稿するカテゴリーを限定しておくことができるプラグインです。

を使って登録できるカテゴリーを制限したりしましょう。どちらもどんな動作するかは実際にテストしてみてくださいね。個人的には前者を使い、投稿する人に選択してもらわなくてもいいようにした方が使い勝手がいいと思います。

トップページに各部署の新着情報を表示するには

これもまたプラグインで簡単に作れます。トップページ用の固定ページを作り、

「W4 Post List」は全くコード知識なしで、様々な条件の組み合わせ、複数条件からの抽出を行ってリスト化し、ショートコードで任意の位置に一覧を表示できるプラグインです。

というプラグインで一覧を作ってショートコードで表示していくだけです。

変更の少ない情報は固定ページで作る

社内マニュアルや規定などは固定ページで作ることでどんどん埋もれていく投稿とは別に管理することができます。マニュアルなどが改定されたら投稿で改定の連絡をしていけば問題ないでしょう。

ユーザーが何をしたかを知る

誰がいつどんなことをしたのか・・・管理者ならきっちりと知りたいところです。

「User Activity Log」プラグインはなど様々な行動履歴を取ることができるプラグインで、一覧表示すると誰がいつしたのかが分かります。残念ながら何かでエラーが起きたというログは保存されませんが、これだけの行動を見ることができれば十分だと思います。

を使えば各ユーザーの行動を把握することができます。


いかがでしたか??Wordpressには便利なプラグインがたくさんあり、それらを組み合わせることでプログラムの知識がなくてもいろいろなことができるようになります。上の例は一例ですし、そのほかにもいろいろと使えるものがありますから試してみてくださいね。

当サイトでは日々いろいろなプラグインのテストや紹介の記事を追加していますので、もっと便利な機能や便利な方法があれば追記していきますので、ブックマークなどして時折覗いていただければ幸いです。

トップへ戻る