■推奨環境
WWWサーバ: Apache(2.0.xx) を特にお薦めします
データベース: MySQL 5.0.xx
PHP: PHP 5.1.6 以降
■インストール環境
Apache 2.2.26
MySQL 5.5.34
PHP 5.3.28
■ダウンロード
今回は下記URLからWindows版を作業用パソコンにダウンロード後、解凍したファイルを使用しました。
http://www.netcommons.org/
■アップロード
今回はWinSCPでアップロード
(注意)FFFTPでアップロードする場合はバイナリモードを使うこと。
作業用パソコンで解凍した「html」フォルダ内全てをWebサーバにアップロードします。
今回はインスタンス停止時にもデータ消滅しないAmazon EBSに作成した「/ebs/nc」ディレクトリにアップロードしドキュメントルートにシンボリックリンクを作成しました。
(注意)Amazon EC2のディレクトリはインスタンス停止によりデータが消滅するのでAmazon EBSにデータを作成する必要があります。
アメリカのリージョンなので18MBのみ関わらず2時間くらいの時間を要しました。
# ln -s /ebs/nc /var/www/html/nc
シンボリックリング作成後オーナーを「apache」に変更します。
# chown -R apache.apache ./nc
# ls -l
total 20
drwx—— 2 root root 16384 Jan 13 01:23 lost+found
drwxr-xr-x 3 apache apache 4096 Jan 13 12:51 nc
■インストール画面の文字化け対応
「/etc/httpd/conf/httpd.conf」ファイルの下記部分を変更します。
AddDefaultCharset UTF-8
↓
AddDefaultCharset off
「/etc/php.ini」ファイルの下記部分を変更します。
;mbstring.encoding_translation = Off
↓
mbstring.encoding_translation = Off
mbstring.internal_encoding = EUC-JP
↓
mbstring.internal_encoding = UTF-8
;mbstring.func_overload = 0
↓
mbstring.func_overload = 0
;mbstring.http_input = auto
↓
mbstring.http_input = pass
;mbstring.http_output = SJIS
↓
mbstring.http_output = pass
■netcommons用MySQLユーザーを作成します。
今回は「netcommons」ユーザーを作りました。
mysql> grant all privileges on *.* to netcommons@localhost identified by ‘任意のパスワード’ with grant option;
mysql> grant all privileges on *.* to netcommons@127.0.0.1 identified by ‘任意のパスワード’ with grant option;
Query OK, 0 rows affected (0.00 sec)
mysql> select host,user from mysql.user;
+——————+————+
| host | user |
+——————+————+
| 127.0.0.1 | netcommons |
| 127.0.0.1 | root |
| ::1 | root |
| ip-172-31-36-121 | |
| ip-172-31-36-121 | root |
| localhost | |
| localhost | netcommons |
| localhost | root |
+——————+————+
8 rows in set (0.00 sec)
■MySQLデータをAmazon EBS環境に移動
MySQLのデータをインスタンスが停止しても消えないAmazon EBSのディレクトリに移動する設定を行います。
まず新しいディレクトリ「/ebs」に権限付きでコピーします。
# cp -prf /var/lib/mysql /ebs
念のため、古いディレクトリをリネームしバックアップしておきます。
# mv /var/lib/mysql /var/lib/mysql20140114
データディレクトリの場所を設定ファイルで変更
# vi /etc/my.cnf
datadir=/var/lib/mysql
↓
datadir=/ebs/mysql
MySQLの再起動
# /etc/init.d/mysqld restart
Stopping mysq ld: [ OK ]
Starting mysqld: [ OK ]
変更の確認
mysql> show variables like ‘datadir’;
+—————+————-+
| Variable_name | Value |
+—————+————-+
| datadir | /ebs/mysql/ |
+—————+————-+
1 row in set (0.00 sec)
■netcommonsインストール
webapp/config/install.inc.php
の権限を「777」に変更
# chmod 777 install.inc.php
ブラウザから「http://keygoal.net/nc/htdocs/」でインストール画面が表示されます。
netcommonsのインストール手順画面は「netcommonsのインストール」を参照して下さい。
(注意)
netcommondsインストール時に[次へ]ボタンが押せない時は「/etc/php.ini」の「date.timezone = Asia/Tokyo」設定を確認して下さい。
この設定がないと「Google Chrome 33」と「Internet Explorer 8」では[次へ]ボタンが押せませんでした。
なぜか「FireFox 5」では[次へ]ボタンが押せます。
「/etc/php.ini」を設定変更した場合はapacheをリブートしましょう。
# /etc/init.d/httpd restart
httpd を停止中: [ OK ]
httpd を起動中: [ OK ]
■初期画面表示
http://keygoal.net/nc/
画像表示されない場合「.htaccess」の有効性確認を再度確認します。
「/ebs/nc/htdocs/.htaccess」が存在すると画像表示するはずです。
★htaccess有効性確認方法
NetCommonsは「.htaccess」が有効である必要があるので有効性を確認します。
1、ドキュメントルート「/var/www/html/nc」に下記内容で「testdir」ディレクトリに「.htaccess」ファイルを作成します。
order deny,allow
deny from all
3、ドキュメントルート「/var/www/html/nc」に下記内容で「nctest.txt」テキストファイルを作成します。
Access OK!
4、ブラウザからアクセスし表示を確認します。
今回は「http://www.keygoal.net/nc/nctest.txt」
「Not Found」か「Internal Server Error」と表示されれば「.htaccess」は有効です。
「Access OK!」と表示されれば「.htaccess」は無効です。
■二つ目のnetcommonsを簡単にインストールするには
ここでは「keygoal.net/nc」を「keygoal.net/ncpet」にコピー(サイト内は初期化)し新規サイトを作成する手順です。
新しいデータベース「ncdbpet」を作成します。
SQL> create database ncdbpet;
phpMyAdminで作成する場合は照合順序を「utf8_general_ci」に指定し文字化けを回避します。
netcommonsのディレクトリをコピーします。
# cp -prf /ebs/nc /ebs/ncpet
コピーしたディレクトリのシンボリックリンクを作成します。
# ln -s /ebs/ncpet /var/www/html/ncpet
インストール設定ファイルのパーミッションを変更します。
# cd /ebs/ncpet/webapp/config
# pwd
/ebs/ncpet/webapp/config
# chmod 777 install.inc.php
インストール画面からnetcommonsをインストールします。
http://www.keygoal.net/ncpet/htdocs