Nucleusのインストール

投稿者: | 2010年8月19日
Pocket

対象サーバについて

製品名 OpenBlockS 600
OS(kernel ver) Debian lenny(2.6.29)
CPU 600MHz(AMCC PowerPC 405EX)
メモリ 1GB(DDR2 SDRAM)
ストレージ 8GB(Compact Flash)

Nucleusファイルのダウンロード

WindowsにてNucleusの公式サイトから最新版をダウンロードして解凍後、フォルダの中身をApacheのDocument RootにUPLOADします。

本サイトの場合、Apache2の設定で定義した/var/www/example/の下にNucleusCMS_3.41Release内のファイル・フォルダを保存します。

ファイル・フォルダ所有者の修正

ユーザとグループを全てwww-dataに変更します。

www:/var/www# chown -R www-data.www-data example
www:/var/www# ls -al
合計 36
drwxr-xr-x  8 root     root     4096 2010-09-12 19:56 .
drwxr-xr-x 14 root     root     4096 2010-01-24 20:03 ..
drwxrwxrwx  6 www-data www-data 4096 2010-09-06 18:15 example
www:/var/www# ls -al example/
合計 180
drwxr-xr-x  6 www-data www-data  4096 2010-09-12 19:56 .
drwxr-xr-x  8 root     root      4096 2010-09-12 19:56 ..
-rw-r--r--  1 www-data www-data  1096 2010-09-12 19:56 action.php
-rw-r--r--  1 www-data www-data  1365 2010-09-12 19:56 atom.php
-rw-r--r--  1 www-data www-data   917 2010-09-12 19:56 benchmark.inc
-rw-r--r--  1 www-data www-data  1724 2010-09-12 19:56 config.php
-rw-r--r--  1 www-data www-data  1326 2010-09-12 19:56 createaccount.html.en
-rw-r--r--  1 www-data www-data  1347 2010-09-12 19:56 createaccount.html.ja
-rw-r--r--  1 www-data www-data  3706 2010-09-12 19:56 createaccount.php
drwxr-xr-x  5 www-data www-data  4096 2010-09-12 19:56 extra
-rw-r--r--  1 www-data www-data   888 2010-09-12 19:56 index.php
-rw-r--r--  1 www-data www-data 35468 2010-09-12 19:56 install.php
-rw-r--r--  1 www-data www-data 15208 2010-09-12 19:56 install.sql
-rw-r--r--  1 www-data www-data 30180 2010-09-12 19:56 install_lang_japanese.php
-rw-r--r--  1 www-data www-data 18004 2010-09-12 19:56 license.txt
drwxr-xr-x  2 www-data www-data  4096 2010-09-12 19:56 media
drwxr-xr-x 11 www-data www-data  4096 2010-09-12 19:56 nucleus
-rw-r--r--  1 www-data www-data  1209 2010-09-12 19:56 readme.html.en
-rw-r--r--  1 www-data www-data  1218 2010-09-12 19:56 readme.html.ja
-rw-r--r--  1 www-data www-data    36 2010-09-12 19:56 robots.txt
-rw-r--r--  1 www-data www-data   801 2010-09-12 19:56 rsd.php
drwxr-xr-x  6 www-data www-data  4096 2010-09-12 19:56 skins
-rw-r--r--  1 www-data www-data  1910 2010-09-12 19:56 xml-rss2.php

ファイル・フォルダ権限の修正

Nucleusの公式サイトのインストールガイドの通りにパーミッションを変更します。

  1. この段階で config.php のパーミッションを 666に変更しておくと、後のインストール手順を減らす事ができます。この手順をスキップした方は手動で config.php を編集するだけですのでどちらでも構いません。
    www:/var/www/example# chmod 666 config.php
  2. 画像など添付ファイルを使用される予定のある方は、mediaディレクトリを作成してこのディレクトリのパーミッションを書き込み可能に変更してください。
    書き込み可能にしておかないとアップロードが正常に行えません。通常は 777 かと思います。

    www:/var/www/example# chmod 777 extra media nucleus skins

    ※インストール時は他のディレクトリも777にしておきます。)

  3. ファイル編集に SkinFiles プラグインをお使いになる場合は、/skins/ ディレクトリ以下にあるすべてのファイルとディレクトリのパーミッションを変更する必要があるでしょう。ファイルの編集を可能にするには、ファイルのパーミッションは 666 にしておくことになるでしょう。新しいファイルやディレクトリを作成できるようにするためには、親ディレクトリのパーミッションを 777 にしておくことになるでしょう。
    www:/var/www/example# cd skins/
    www:/var/www/example/skins# chmod 777 atom default rsd rss2.0
    www:/var/www/example/skins# chmod 666 */*.xml */*.css */*.js */*/*.inc
    

nucleus用データベースの作成とdbuserに権限付与

データベースアクセス時の特権パスワード設定および一般ユーザの作成についてはMYSQL5の設定にまとめている通りとします。

www:~# mysql -u root -p
Enter password:abcdefgh
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 44
Server version: 5.0.XXX-XX+lenny3 (Debian)

Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

①Nucleus用にデータベースの作成

mysql> create database nucleusdb;
Query OK, 1 row affected (0.01 sec)

mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| nucleusdb          |
| sampledb           |
+--------------------+
4 rows in set (0.00 sec)

mysql> ALTER DATABASE nucleusdb DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;
Query OK, 1 row affected (0.00 sec)

mysql> GRANT ALL PRIVILEGES ON nucleusdb.* TO dbuser@localhost;
Query OK, 0 rows affected (0.01 sec)

mysql> SHOW GRANTS FOR dbuser@localhost;
+-------------------------------------------------------------------------------------------------------------------+
| Grants for dbuser@localhost                                                                                      |
+-------------------------------------------------------------------------------------------------------------------+
| GRANT USAGE ON *.* TO 'dbuser'@'localhost' IDENTIFIED BY PASSWORD '*8238713895712837598273895719851djskljaflksd' |
| GRANT ALL PRIVILEGES ON `nucleusdb`.* TO 'dbuser'@'localhost'                                                      |
+-------------------------------------------------------------------------------------------------------------------+
2 rows in set (0.01 sec)

→Nucleus用データベースのみの権限を持ちます(本サイトでは他のアプリケーション用データベース(IPTableLogAnalyzer用など)へのアクセスもdbuserで兼用しているため、実際は他のデータベースに対する権限も表示されますが、ここでは割愛しています。)

mysql> \q
Bye

www:~# mysql -u dbuser -p
Enter password:stuvwxyz
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 45
Server version: 5.0.51a-24+lenny3 (Debian)

Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

mysql> show databases;
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'database' at line 1
mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| nucleusdb          |
+--------------------+
2 rows in set (0.00 sec)

→余計なDBは見えない

mysql> \q
Bye

PHP5-Mysqlの修正

PHP5-MYSQLの設定で設定したファイルにnucleus用の設定を追加します。

NP_CalendarとNP_CustomThumbnailを使用されない方は設定修正不要です。

www:~# vi /etc/php5/apache2/php.ini
output_buffering = Off
output_buffering = On
max_execution_time = 30
max_execution_time = 120

上記2行のみを修正します。

output_buffering = Onは後々NucleusでNP_Calendarがインストールできなかったため、追加しました。

max_execution_time = 120は、デフォルトの30だとNP_CustomThumbnailによる画像生成の途中でtimeoutしてしまうため120秒としました。高性能なサーバを使用されている方は30秒あれば十分だと思います。

一度、Apache2とMysql5を再起動します。

www:~# /etc/init.d/apache2 restart
Restarting web server: apache2 ... waiting ..

www:~# /etc/init.d/mysql restart
Stopping MySQL database server: mysqld.
Starting MySQL database server: mysqld ..
Checking for corrupt, not cleanly closed and upgrade needing tables..

Nucleusインストール

インストール前に、Nucleusの関連ファイルに対して一部設定追加を行います。

www:~# cd /var/www/example
www:/var/www/example# vi install.sql

SET CHARACTER SET UTF8;

CREATE TABLE `nucleus_actionlog` (
  `timestamp`  datetime     NOT NULL default '0000-00-00 00:00:00',
  `message`    varchar(255) NOT NULL default ''
) TYPE=MyISAM;

...

Web画面よりインストールを実施します。

当サイトの環境の場合、http://www.example.jp/install.phpにアクセスして初期設定を実施し、インストールを行います。

上記URLにアクセスして以下の問いに答えていきます。

・基本のデータベース設定
ホスト名:  localhost
ユーザー名:  dbuser
パスワード:  stuvwxyz
データベース名:  nucleusdb
※「データベースを作成する必要がある」にはチェックなし

・高度なデータベース設定
何も設定しない

・ディレクトリとURL
初期設定のまま

・サイトの管理者

表示される名前(ログインID): XXX ←ここで決めた名前が、今後Nucleusの管理画面にログインする際のIDになります。
本名(ハンドル名):  XXX ←こちらは特に意味が無いので任意の名前とします。
パスワード:  ←ここで決めた名前が、今後Nucleusの管理画面にログインする際のPWになります。
メールアドレス: user001@example.jp ←トラックバックやコメントを受信した際のメール送信先です。後で修正可能です。

・ブログのデータ

ブログのデータブログの名前:  XXX ←ここで決めた名前がBlogのタイトルになります。
ブログの短縮名(略称): XXX ←複数のBlogを作成する際は識別に使用されると思われますが、私は1つのNucleusdbに複数Blogをインストールしたことが無いので詳細は分かりません。

install Nucleusボタンをクリックして以下のように表示されれば成功です。

「Nucleus CMSのインストール」
--------------------------------------------------------------
インストールは完了しました!
Nucleusはインストールされ、config.phpはアップデートされました。
--------------------------------------------------------------

セキュリティ対応

必須設定

www:/var/www/example# chmod 444 config.php
www:/var/www/example# mkdir ~user001/nucleus
www:/var/www/example# mv install.php install.sql ~user001/nucleus/

必須ではないですが実施しておいた方が良い設定

www:/var/www/example# mv nucleus kanri
www:/var/www/example# vi config.php

        // main nucleus directory
//        $DIR_NUCLEUS = '/var/www/example/nucleus/';
        $DIR_NUCLEUS = '/var/www/example/kanri/';

nucleusフォルダのままだと管理画面にアクセスされてしまうため(アクセス制限すれば問題無し)名前を変更します。

また、config.phpのピンク部分を変更した名前に修正します。

次に、ブラウザよりhttp://www.example.jp/kanri/にアクセスして、グローバル設定の「管理者領域のURL (最後にスラッシュ “/” を付けてください)」と「プラグインディレクトリのURL」にあるパスをnucleusからkanriに修正します(※本サイトでは分かりやすさのため、URLを紹介する際にhttp://www.example.jp/nucleusを例として使用します)。

事後確認

念のため、mysqlのnucleusdbにtableが作られていることを確認します。

www:/var/www/example# mysql -u dbuser -p
Enter password:
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 31
Server version: 5.0.51a-24+lenny4-log (Debian)

Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

mysql> use nucleusdb;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A

Database changed
mysql> show tables;
+----------------------------+
| Tables_in_nucleusdb        |
+----------------------------+
| nucleus_actionlog          |
| nucleus_activation         |
| nucleus_ban                |
| nucleus_blog               |
| nucleus_category           |
| nucleus_comment            |
| nucleus_config             |
| nucleus_item               |
| nucleus_karma              |
| nucleus_member             |
| nucleus_plugin             |
| nucleus_plugin_event       |
| nucleus_plugin_option      |
| nucleus_plugin_option_desc |
| nucleus_skin               |
| nucleus_skin_desc          |
| nucleus_team               |
| nucleus_template           |
| nucleus_template_desc      |
| nucleus_tickets            |
+----------------------------+
20 rows in set (0.00 sec)

mysql> \q
Bye
Pocket

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です