対象サーバについて
製品名 | 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の公式サイトのインストールガイドの通りにパーミッションを変更します。
- この段階で config.php のパーミッションを 666に変更しておくと、後のインストール手順を減らす事ができます。この手順をスキップした方は手動で config.php を編集するだけですのでどちらでも構いません。
www:/var/www/example# chmod 666 config.php- 画像など添付ファイルを使用される予定のある方は、mediaディレクトリを作成してこのディレクトリのパーミッションを書き込み可能に変更してください。
書き込み可能にしておかないとアップロードが正常に行えません。通常は 777 かと思います。www:/var/www/example# chmod 777 extra media nucleus skins※インストール時は他のディレクトリも777にしておきます。)
- ファイル編集に 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.inioutput_buffering = Offoutput_buffering = Onmax_execution_time = 30max_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