unityroom.com に関して似たような質問を何度もいただくので、Q&Aサイトでも作ってみるか〜と思い立った。
ぐぐってみたら Question2Answer - Free Open Source Q&A Software for PHP っていうのが見つかった。
LAMP環境さえあればすぐ動きそうだったので試してみる。
スパムまみれになったらすぐ閉鎖するかも。
LAMPサーバー作成
- ConoHa VPSで作る
- VPS 512MB
- アプリケーション -> LAMP(PHP)イメージ
- rootパスワードとネームタグを設定
- オプションは接続可能ポートとか設定
SSH接続
- ConoHa管理画面でIPを確認
- サーバー作成時に公開鍵を選択しておくとサーバー側のSSH設定不要なので楽。
Host q2a HostName xxx.xxx.xxx.xxx User root Port 22 IdentityFile ~/.ssh/naichi-mbp-conoha.pem
ssh q2a
で接続できることを確認- 画面上にMySQLのrootパスワードが表示されている。
DB作成
サーバーで
# mysql -u root -pXXXXXXXXX
MySQLに接続できたら
> create database q2a; Query OK, 1 row affected (0.00 sec) > show databases; +--------------------+ | Database | +--------------------+ | information_schema | | mysql | | performance_schema | | q2a | | test | +--------------------+ 5 rows in set (0.00 sec) > quit Bye
question2answerダウンロード
ローカルで
- 本体ダウンロード
- Question2Answer - Free Open Source Q&A Software for PHP
- ページ中程にある
Download Question2Answer 1.8.4
からダウンロード。
- 日本語ファイルダウンロード
- GitHub - naga0ka/Q2A-Japanese
- GitHubからCode -> Download ZIP
- 言語ファイルはQuestion2AnswerのAddOnsメニューから探せる。
- テーマファイルダウンロード
- GitHub - amiyasahu/Donut: Modern and Responsive theme for Question2Answer ( Q2A ) websites
- GitHubからCode -> Download ZIP
- テーマはQuestion2AnswerのAddOnsメニューから探せる。
- すべて解凍
- 言語ファイルとテーマファイルを本体フォルダに放り込んでおく
ファイルアップロード
ローカルで
$ scp -r ~/Downloads/question2answer-1.8.4/* q2a:/var/www/html
Q2AのDB設定
サーバーで
qa-config-example.php
をqa-config.php
にリネーム
# /var/www/html/qa-config.php define('QA_MYSQL_HOSTNAME', 'localhost'); define('QA_MYSQL_USERNAME', 'root'); define('QA_MYSQL_PASSWORD', 'XXXXXXXXXXX'); define('QA_MYSQL_DATABASE', 'q2a');
ついでに /var/www/html/phpinfo.php
は不要なので消しておいた。
Q2Aの管理者ユーザーの作成
- ConoHaサーバーのIPにブラウザで接続
- DB接続できればこの画面が出る
- 管理者ユーザーを作成
- 作成完了
- 管理者画面に入り、言語とテーマを変更
- 見た目が変わった
DNS設定
- unityroom.com のサブドメイン( question.unityroom.com )で接続したい
- unityroom.com のDNSはCloudFlareを使ってるのでそこで設定する。
- AレコードにサーバーIPを登録
- ブラウザで接続してみると523エラー
firewall設定
サーバーで
# firewall-cmd --list-services dhcpv6-client http ssh # firewall-cmd --add-service=https --permanent success # firewall-cmd --reload success # firewall-cmd --list-services dhcpv6-client http https ssh
エラーは521に変わったけどまだダメ
SSL証明書の設定
- ここを参考に設定した。
- DNSはCloudFlareなのでDNS設定部分は飛ばした。
<VirtualHost *:80> ServerAdmin root@localhost DocumentRoot /var/www/html ServerName question.unityroom.com </VirtualHost>
- ドメインは question.unityroom.com
つながった
あとは何の設定がいるだろうか。
これやっとかないとマズいんじゃない?みたいなのがあれば教えて下さい。
完成
unityやunityroomに関する質問ができるサイトをリリースしました。
よろしくね