フォト
2024年9月
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30          
無料ブログはココログ

ReadyNAS duo v2

2015年2月 5日 (木)

ReadyNAS上に電子書籍閲覧サーバーを試しに作ってみました

ReadyNAS上に保存している電子書籍をPCやタブレットで気軽に閲覧したいと思い
試しに構築(PHP+MySQLで作成)してみました。

書籍は自炊したものやもらったり以前ダウンロードしたしたものなどです。
(現時点では、ダウンロードは違法ですので注意)

形式はzip・rar形式でjpg,pngファイルをアーカイブ圧縮したファイルです。
意外と使えそうです。

フォルダーに突っ込んだファイルをスキャンしてデーターベース上に
書籍情報を構築しています。

01

検索してプレビューで確認後、閲覧できます。

02

PDF対応もしたいけど、PDFから任意のページだけ切り出す
方法が分からないです。ちょっと調べて本格的に作成しようと思います。

ReadyNAS、ほとんどサーバーマシンとして稼働してます。

2015年1月10日 (土)

ReadyNASでMySQLが起動しなくなった その原因と対処メモ

ReadyNAS duo v2 に標準搭載のMySQLが何故か起動しなくなってしまいました。

原因を調べてると、
アドオン機能の「ReadyNAS Photos II」を無効にすると
MySQLのデーモン(mysqld)が起動しないことが判明しました。

有効にしたらMySQLが起動出来ました。
う〜ん、予想外の仕様です。

01_2

ReadyNAS duo v2の場合、mysqldの起動は
  /opt/photos2/bin/rnp2sd.sh
というアドオン起動用のシェルプログラムから起動されています。
/etc/init.d/mysql は使われていません。

どうも、MYSQLが標準でインストールされているのは「ReadyNAS Photos II」 の
ためだけみたいです。しかもアドオンの有効の場合のみ起動します。
/opt/photos2/bin/rnp2sd.sh がアドオン用のスタートアップを行っており、
その中でmysql を直接起動しています。

取りあえずは解決ですが、ちょっと突っ込んで調べてみました。

ReadyNAS duo v2 のOSは一応debianベースのLinuxですが、
OS起動時のサービスの起動シーケンスがカスタマイズされています。

まずは/etc/inittabの内容の確認を見ると、
 02_3

デフォルトのランレベルは2となっています。
  03_3

  ランレベルが2の場合 、"/etc/init.d/rc 2" を実行するようです。

次に /etc/init.d/rc の内容を確認と /etc/rc2.d/にあるスクリプトを順次実行します。
/etc/rc2.d/には S01readynas_startup のみがあります。

この S01readynas_startup の中を見ると この中で必要な初期化やサーバーの起動の
全てを行っているようです。

以後、カスタマイズを行う場合やサービスを追加する場合は、
S01readynas_startup  をいじれば良さそうです。

2015年1月 4日 (日)

ReadyNASのファームウェアの更新

利用してるReadyNAS duo v2のファームウェアの更新を行いました。
暫く更新していなかったので、バージョン 5.3.7から5.3.11への更新です。

アップデート後ちょっと問題が発生したため、その対処方法を記録として残しておきます。

   06

主な改善点

Fixed ADS domain logins over AFP immediately after joining the domain.
Fixed "ShellShock"-related security vulnerabilities
Updated CIFS service to address various issues.
Updated AFP service to address various issues.
Updated Frontview to fix security issues.
Updated Vault service to address various issues.
Updated SMB client to address backup issues.
Updated DLNA service to address folder renamed to NULL issue.
Fixed upgrade resets time zone issue.
Fixed reboot need rebuild DLNA list issue when use USB drive as source.
Changed Time Machine Bonjour advertisements to improve compatibility with Apple OS X 10.9
Fixed Time Machine capacity limitation issue
Changed SMB allocation roundup size to improve disk usage reporting with Microsoft Windows 8.1
Updated SMB service to address security vulnerability
Supports Internet Explorer 11

アップデートは、ReadyNASの管理画面にて[アップデート]ボタンを押すだけで行えます。

アップデート後の問題点
標準機能については問題がないのですが、以前インストールした
phpmyadminやWordpressが動かなくなってしまいました。PHPが動いていないようです。

「もしかして、追加インストールしたパッケージは初期化されるん?」
と焦って、phpをコマンドラインで動かすと問題なく動きました。

念のためインストールされているパッケージを確認してみると

# dpkg -l
パッケージ等の初期化は行われていないようです。

apache関連のモジュールが初期化されて感じです。
apacheに組み込まれているモジュールの確認してみると、
#apache2ctl -M -f /etc/frontview/apache/httpd.conf

モジュールが足りない気がする。
/etc/frontview/apache/下のファイルやディレクトリを見ると追加した
wordpressやphpmyadmmin等のconfファイルはちゃんとありました。

原因不明ですが、取りあえず/etc/frontview/apache/httpd.conf に
phpのモジュールをロードするために次の2行を最終行に追加しました。

   01

次の2行を追加
Include /etc/apache2/mods-available/php5.load
Include /etc/apache2/mods-available/php5.conf

apacheの再起動
# killall apache-ssl
# apache-ssl -f /etc/frontview/apache/httpd.conf

この後、動作確認するとphp関連のアプリケーションは問題なく動作しました。
MySQL周りも問題ないみたいです。

02

03

04

更新したファームウェア内のファイルを見た感じでは、/etc/frontview/apache/下の
変更はないみたいで、本来ならこんなトラブルが発生しないはずです。
まあ、今回はこれで良しとします。

2013年11月 1日 (金)

ReadyNAS duo v2 で稼働する掲示板の作成中 その2

先日の曜日が文字化けが解決しました。
問題個所は次のストアドファンクションです。

create function sf_2ch_timestamp(ts timestamp) returns varchar(24) charset utf8
begin
 declare w_str varchar(8) charset utf8;
 case date_format(ts, '%w')
    when '0' then set w_str=_utf8'(日)' ;
    when '1' then set w_str=_utf8'(月)' ;
    when '2' then set w_str=_utf8'(火)' ;
    when '3' then set w_str=_utf8'(水)' ;
    when '4' then set w_str=_utf8'(木)' ;
    when '5' then set w_str=_utf8'(金)' ;
    when '6' then set w_str=_utf8'(土)' ;
 end case;
 return concat(date_format(ts,'%Y/%m/%d'), w_str,' ', date_format(ts,'%T'));
end

赤い部分を追記しました。
このストアドファンクション、MySQLで初めて作ったストアドファンクションです。

code upさんの MySQLで文字化けしないFUNCTION作り を参考にしました。
CentOSではmy.cngにcharactersetとしてUTF8を定義していたので問題なかったのですが、
NASの場合、定義をいじると本来の管理機能が動かなくなる可能性もあり出来ません。
データベース、テーブルの定義時、及び接続時にcharactersetを指定しました。
ストアードプロシージャ、ストアドファンクションも意識して作成したいといけないようです。

今回、変数宣言時にキャラクタセット指定方法と、イントロデューサを初めて知りました。

2013年10月31日 (木)

ReadyNAS duo v2 で稼働する掲示板の作成中

以前CentOS用に作成した掲示板システムを、ReadyNAS duo v2上で稼働するように移植しています。
作成したMySQLのストアードファンクションの内部の漢字が文字化けする以外は、
稼働します(曜日が文字化けします)。

Ready NAS は apache、MySQL、PHPが動くのでかなりのことが出来ます。

データは文章検索し易いようにMySQLに格納しています。
カスタマイズも定義ファイルを修正してある程度できます。

1万円以下のNASでここまで動くものすごいですね。

2013年8月25日 (日)

ReadyNAS duo v2 にWordPressをインストールしました

自宅でNASとしてReadyNAS duo v2 を稼働させています。
以前、ディスクレスで6980円で安売りしていたので購入しました。

この製品のCPUがARM 系でOSとしてLinux のDebianを採用してます。
普通のLinux系のサーバーとして活用できます。
ソフトウェアの追加もapt-getでできちゃいます。
apache、MySQLは最初からインストールされています。
独自のホームページの作成と公開もできます。

既に追加でopenssh、php、phpadmin、C言語開発環境などインストールしました。
本日は更にブログシステムであるWordPressをインストールしました。
結論としては、ちょっと動作が重い感はありますが、正常の動作しました。
インストール手順のメモ
 概要 
   ・/var/www/wordpressにインストールする
   ・データベース:wordpress id:wordpress pw: 秘密
   ・apache用のHP公開定義ファイル
    /etc/frontview/apache/addons/wordpress.conf
    NAS用にカスタマイズされており、通常とは異なるディレクトリとなっている

 1.WordPressのインストール
    # cd /var/www
    # wget http://ja.wordpress.org/latest-ja.zip
    # unzip latest-ja.zip
    # rm  latest-ja.zip
    # cd wordpress
    # cp wp-config-sample.php wp-config.php

  2.WordPressの設定
    # vi wp-config.php
    次の項目を修正した
    define('DB_NAME', 'wordpress');
   define('DB_USER', 'wordpress');
   define('DB_PASSWORD', 'パスワード');

    更に、認証用ユニークキーの貼り付け
   wp-config.phpのコメント説明に従い、https://api.wordpress.org/secret-key/1.1/salt/
    にアクセスした結果を貼り付ける。

    
 
  3.MySQLにデータベースを作成する
    # mysql -u root
       mysql >create database wordpress;
       mysql >grant all privileges on wordpress.* to wordpress@localhost identified by 'xxxxx'
       mysql >exit

  4.Apacheの設定
    # cd /etc/frontview/apache/addons
    # vi wordpress.conf   
   
    Alias /wordpress /var/www/wordpress
    <Location /wordpress>
    Order deny,allow
    Deny from all
    Allow from 127.0.0.1
    Allow from 192.168.0
    </Location>

   これで一旦 rebootする。
   なせか /etc/init.d/apache2 restart ではエラーとなる。
   NASではapacheの起動は別の方法のようだ。解析不足のためリブートにて対応した。
   
  (2015/01/04 追記) 次のコマンドで停止と再起動が可能と判明しました。
     # killall apache-ssl
     # apache-ssl -f /etc/frontview/apache/httpd.conf 
   
5.WordPressの動作確認
   ブラウザにて http:/192.168.0.220/wordpress (アドレスはNASのもの)
   ユーザー名とパスワードを設定する。

とりあえず、日常メモを記録できるブログが立ち上がりました。

   

  実用は問題なさそうです。

追記 2013/08/26
WordPressの画像のアップロードでエラーは発生しました。
ディレクトリのアクセス権限がなかったようです。
下記の処理を行って対応しました。

  # cd /var/www
  # chown -R admin.admin wordpress