社内向けFAQシステムって、クラウドでも様々なサービスが出ています。昔流行ったナレッジマネジメントシステムというジャンルの1つではありますが、正直言って活用できてる会社って、殆ど無いのではないかと(理由は巨大掲示板と違って回答するメンツが社内の100名とかその程度に限られる為、全然母数足らないのが理由。面倒という人も多い)

まずは、いきなり外部のクラウドサービス契約して散財するのではなく、社内オンプレの鯖にでも構築して、自社で活用する余地があるのか確かめてから、やるべきでしょう。

難易度:

概要

今回使用するシステムと要件

  • phpMyFAQ – 海外OSSのPHPとMySQL等のシンプル構成で動作します

システム要件としては、

  1. php Version 7.1以上
  2. MySQL, SQLite、PostgreSQL、SQL Server等に対応
  3. Apache 2.4以上、nginx 1.0以上、IIS 7.0以上、lighthttpd 1.4以上に対応
  4. 主要ブラウザに対応(IE11も含む)
  5. 主要なOSに対応

また、iOS用にはアプリも用意されているようです。

同類のFAQシステム

  • Vanilla ForumPHP製の掲示板システム。TwitterやFacebook認証も利用でき、日本語対応。但し、UIは日本語化ロケールを入れても日本語化されません。残念。php-intl拡張が必要。
  • DiscourseRuby製のStackOverFlowのようなQAシステム。日本語対応。但し、Dockerが必要。
  • Question2Answer – 非常に古いQAシステムでPHP製。かつてはメジャーであったことも。
  • Scoold – StackOverFlowクローンQAシステム。Java製。ただ殆ど国内に知見がないのが・・・
  • shapado – Ruby製のStackOverFlow風のQAシステム。MongoDBを利用している

他にもFAQではないものの、dokuwikiといったWikiシステムなど色々とあります。

インストール準備

今回はMySQLapache2を利用します。ここでは、仮想環境のUbuntu 18.04上にphpMyFAQをインストールしてみたいと思います。自分が使ってるそれぞれのバージョンは以下の通り

  • apache2 – version 2.4.29
  • MySQL – version 5.7.25

apache2のインストール

/var/www/html以下がドキュメントルートになります。また、apacheの設定ファイルは、/etc/apache2/apache2.confとなりsite-available以下がDocumentrootの設定ファイルの場所になります。

php 7.2のインストール

MySQLのインストール

  1. 上記インストールコマンド完了したら、mysql_secure_installationコマンドでセットアップを開始するのですが、今回エラーが出ました。「Can’t connect to local MySQL server through socket ‘/tmp/mysql.sock’
  2. sudo touch /tmp/mysql.sockでソケットファイルをつくってあげる
  3. また、作成したソケットの権限を、sudo chown ユーザ名 /tmp/mysql.sockで変更
  4. mysql_secure_installationコマンドで、セットアップ開始。rootのパスワード設定他、基本的にはYで回答しておけばオッケー。

phpMyFAQのインストール

  1. phpMyFAQのサイトより最新版2.9.13をダウンロードする。
  2. zipファイルをアーカイバで解凍すると、phpmyfaqというフォルダが入っていて、これをapache2のドキュメントルートにでも配置すると良いでしょう。
  3. phpmyfaqフォルダ内にattachmentsという名のフォルダを作る
  4. 同じくdataという名のフォルダを作る
  5. 同じくimagesという名のフォルダを作る
  6. 以下のコマンドで各フォルダへのアクセス権限を設定する

MySQLにデータベースを作成しておく

できれば、このfaqsystemというDatabase専用の管理者アカウントを作っておくと便利です。

phpMyFAQのセットアップ

事前準備が完了していれば、apache2再起動後にhttp://localhost/phpmyfaqにアクセスすると、セットアップ画面が出てきます。

  1. ServerはMySQLが検出されているはず
  2. Host/Socketはlocalhostを指定
  3. Userはdatabaseにアクセスする管理者のユーザアカウント
  4. Passwordはdatabaseにアクセスする管理者のパスワード
  5. databaseは今回つくったもの(faqsystem
  6. Default LanguageはJapaneseを指定
  7. Permission LevelはBasicでOK
  8. Your Nameはログインする初期ユーザの名前
  9. メールアドレスは8.の人のアドレス
  10. Your Login Nameは8.の人のログインID
  11. Your Passwordは8.の人のログインパスワード
  12. retype passwordは11.と同じパスワードを入力
  13. 最後にclick to install phpMyFAQのボタンをクリックする
  14. Please delete the file ./setup/index.php manually.と出るので、setupフォルダ内のindex.phpを手動削除
  15. Please delete the file ./setup/update.php manually.と出るので、setupフォルダ内のupdate.phpを手動削除

図:セットアップ画面

図:インストール完了画面

管理画面

インストールが完了したら、同じくhttp://localhost/phpmyfaqにアクセスしてみる。設定した初期ユーザのIDとPASSWORDでログインしてみよう。右上にLoginがあるので、クリックする。なぜかまだこの段階では、英語のUIのまま。

  1. 設定したユーザIDとパスワードでログイン
  2. 右上にユーザ名が出て、再度クリックするとadmnistrationが出るのでクリック
  3. 入ると管理画面が出る。まだ英語表記なので、左サイドパネルのconfigurationをクリック
  4. 右上の言語がEnglishになってるので、Japaneseに変更するとようやくUIが日本語化される。
  5. また本番でつかう場合には、リンク確認の基準URLをきちんと本番サーバのIPアドレスに変更しておきましょう。localhostだとサーバ上からじゃないと接続できません。
  6. 左サイドパネルのユーザにて利用者をどんどん登録してゆきましょう。
  7. 左サイドパネルのコンテンツ⇒カテゴリにて、初期カテゴリを作っておきましょう(メインカテゴリーの追加)

図:ユーザ追加画面

関連リンク

共有してみる: