calibre を使って epub を mobi へ変換

calibre を使って epub を mobi へ変換

今年の初めぐらいに、日経Linux の記事を参考に
calibre をインストールしたので
これを使って epub から mobi へ変換

ちなみに kindle のフォーマットは mobi

calibre のインストールに関しては
Ubutu へ calibre インストールとkindle 配信

で書いたのでこちらを参考に

今回は、この calibre を使って
epub から mobi へと変換

元々は変換の方法を忘れていて
epub mobi 変換で検索し
EPUB→mobi変換はcalibreに限る (または「kindlegen使えねー」

をみて
calibre をインストールしていたのを思い出したのがきっかけ

操作そのものはGUIだけど
実際に使うときに忘れそうなのでメモがわりに投稿

まず calibre を立ち上げたときの画面

calibre

画面左上の
本を追加
とあるので、ここをクリックして探すか
もしくは
本の一覧がある場所にドラッグ&ドロップすれば
calibre のライブラリに追加される

calibre2

そして本の追加ができたら
本を変換をクリック

calibre3

クリックすると変換のための設定画面が表示されるので
mobi 形式にするのなら
画面右上の出力フォーマットが
MOBI
になっていることを確認

calibre4

あとはタイトルや著者なども設定することができます

設定が終わったら
OK
をクリックすれば変換が行われます

作成した電子書籍は
calibre 立ち上げのときに設定したライブラリに保存される

今回は以前に作成した
caliberlib ディレクトリに保存されていく
なお、このディレクトリへの保存方法は
著者ごとに保存されていく

このため
calibre ライブラリ >著者名 > 電子書籍ファイル
という構造になる

pripreプラグインで電子書籍作成その2

pripreプラグインで電子書籍作成その2

pripre プラグインをつかって本の作成の実験

今後、画像などの挿入は調べるので
まずは書籍を作成する

まずはダッシュボードで
本にしていないカテゴリーから
本にしたい記事のカテゴリを選択し、
本にするをクリック

kindle5

次に、本にしたカテゴリで
本にしたいカテゴリを選ぶ

もし1つだけならこれがセットされている
今回は kindle test のカテゴリにしてみた

本のタイトルは
カテゴリ名になる

綴じかたは
めくる方向

追加CSSは
本のため二対かするCSS

ほかにもあるけど
とりあえず
EPUB をダウンロード
をクリックすると
epub の本がダウンロードできる

kindle6

wordpress の投稿画面のプレビューでは
画像がでなかったけど
epub になったら無事に表示されていた

とりあえず内容はOK

kindle7

次に目次の作成

これは新規投稿で新しく目次をつくる

目次生成というボタンをクリックすると
題名に対しての目次を作成してくれる

kindle8

これは別のタブでHTMLコードがでるので
これを目次ページの記事ぺコピペする

kindle9

これで
もう一回
EPUBをダウンロードすると
今度は目次が生成されている

kindle10

ただし、ページが0のまま

とりあえず画像をいれるという問題点は解決

Pripre プラグインで電子書籍作成

Pripre プラグインで電子書籍作成

使い方については
http://zamasoft.net/pripre/
を参考に

今回は、せっかくできた wordpress を使って
お試しに本を作成

以前、cariber で本を作ったときには
サイトそのものを対象にした

今回の pripre プラグインの場合
wordpress の記事のカテゴリごとにわけて本を作成することになる

まずは wordpress にログインし
投稿 > 新規投稿

新規カテゴリを追加を選択し
本の題名となるカテゴリを作成

とりあえず kindle test
としておく

あとはどんどん内容を追加していく
テストなので
あまり深く悩まず、文章と画像をいれて作っていく

画像をいれようとしてアップロードしようとしたらエラー

sudo mkdir -p /var/www/html/wordpress/wp-content/uploads
sudo chown -R :www-data /var/www/html/wordpress/wp-content/uploads

これでOKだと思ったらエラー

次に
http://webaccess.blog13.fc2.com/blog-entry-45.html
を参考に
権限を変更してみた

まず wp-content ディレクトリの権限が755 のため
アップロードができない
さらに、uploads ディレクトリに書き込み権限がないと書き込みができない

sudo chmod 757 /var/www/html/wordpress/wp-content
sudo chmod 777 /var/www/html/wordpress/wp-content/uploads/

これで無事に画像のアップロードが可能に

とりあえず画像入りの記事を2つ作成

なお pripre プラグインを有効化しておくと
画面右下に
本にしたときのプレビューが表示される

しかし、ここで問題発生

わかりやすさ重視のため画像をいれたいけど
ファイル名になってしまう

この問題点を解決しないと書籍化は難しい

とりあえず文字だけならできそう

ubuntu 14.04LTS wordpress インストール

ubuntu 14.04LTS wordpress インストール

centos へインストールした wordpress で
pripre プラグインが正常に動かないため
ubuntu で挑戦

まずは

 sudo apt-get update

でリポジトリ更新

次に vim と ssh のインストール

sudo apt-get install vim
sudo apt-get install ssh

次に apache2 php5 のインストール

sudo apt-get install apache2
sudo /etc/init.d/apache2 start

sudo apt-get install php5

続いてDBに MySQL インストール

sudo apt-get install mysql-server

途中で
mysql root のパスワード設定画面になるので
任意のパスワードを設定

続いて php5-mysql のインストール

sudo apt-get install php5-mysql

[shell]
ll /var/www/
[/shell]
で権限をみると root なので変更しておく

sudo chgrp -R snowpool /var/www

このままだと書き込みができないため
権限を追加する

sudo chmod g+w /var/www/
sudo chmod g+w /var/www/html/

あとレンタルサーバとかみたいに
/home/アカウント名
にドキュメントルートがくるようにリンクを作成

ln -s /var/www ~/www

次に apache2 を編集してCGIと
.htaccess の利用を可能にする

sudo vim  /etc/apache2/apache2.conf


154行めの
Options FollowSymLinks

Options Indexes FollowSymLinks MultiViews
に変更

155行めの
AllowOverride None

AllowOverride All
へ変更

これで

sudo /etc/initd/apache2 restart

で apache2 再起動

さらに
便利なパッケージも追加

sudo apt-get install libapache2-mod-php5 php5-mysql php-pear php5-gd

次にリダイレクト機能の有効化

sudo a2enmod rewrite

apache2 はこれでOKなので
続いて mysql の設定

mysql 文字化け解消のため

vim /etc/mysql/my.cnf

でファイルを編集
31行めの下へ

skip-character-set-client-handshake
character-set-server = utf8

を追記

114行めの mysqldump の下へ

default-character-set = utf8

を追記

さらに120行めあたりの
mysql の下へ

default-character-set = utf8

を追記

編集完了後に

sudo service mysql restart

で mysql の再起動して設定を反映

次に wordpress ファイルの取得

 wget https://ja.wordpress.org/wordpress-4.0-ja.zip
unzip wordpress-4.0-ja.zip
mv wordpress /var/www/html/

で解凍して移動させる

次に wordpress のためのDB作成

mysql -u root -p

でログイン

CREATE DATABASE wordpressdb;

でDB作成

CREATE USER wordpressuser@localhost IDENTIFIED BY 'wppass';

でユーザとパスワード設定

GRANT ALL PRIVILEGES ON wordpressdb.* TO wordpressuser@localhost;

で権限を与える

FLUSH PRIVILEGES;

で設定反映

apt-get install php5-gd libssh2-php

でパッケージ追加

このままwordpress をインストールしようとしても
書き込みができずインストールできないので
権限を変更する

chown -R www-data.www-data /var/www/html/wordpress
sudo chown -R www-data.www-data /var/www/html/wordpress

あとは
http://サーバーのIPアドレス/wordpress
へアクセスすればインストールできる

インストール完了後
プラグインの追加で pripre をインストール

今回は centos のときとは異なりプラグインが
無事に稼働している

最近、CAD の扱いや raspberry Pi なども
滞っているため、機会をみながら
kindle 本の作成を検討

なお今回
Ubuntu への wordpress インストールに関しては
How to install WordPress 4 on Ubuntu 14.04 LAMP

を参考に

apache2 や mysql 関連については
Ubuntu14.04LTSにWordPressをインストール

Ubuntu/Debian Apacheのインストールと設定

を参考にさせていただきました

NFCとAndroid SDKバージョン

NFCとAndroid SDKバージョン

NFCは、API level 9から使えるけど
NFC関連のAPIがあまりないため
実際には、API level 10からを使うことになる

また、NFCで利用できるインテントアクションは
以下の3つになる

ACTION_NDEF_DISCOVERED
優先度は高い
タイプがNDEFフォーマットのとき発行される
MIMEタイプや
URIスキームを指定することで
細かくフィルタリングできる

ACTION_TECH_DISCOVERED
優先度は普通
これは、タグの種類に起因して発行される
起因されるタグの種類は、
事前にxmlファイルで指定する

ACTION_TAG_DISCOVERED
優先度は低い
これは、タグがあれば発行される
ただし、
ACTION_NDEF_DISCOVERED
ACTION_TECH_DISCOVERED
に引っかからないときのみ有効

あと、NFCの利用の可否は
2つのアプローチから確認可能

デバイスがNFCをサポートしてるか判定するなら

NfcAdapter.getDefaultAdapter(this);

このように
NfcAdapterの
getDefaultAdapter()を使って
インスタンスを取得できれば
NFCがサポートされている

この結果が nullなら、サポートしてないことになる

2つめの方法として
デバイスのNFC機能がonになっているか判定
mNfcAdapter.isEnabled()
[/java]

このように
NfcAdapterの
isEnabled()の結果が true なら
NFC機能が使える
もし、false なら、NFC機能は使えない

あと、NFCは受け取る優先度の指定ができる

複数のNFCアプリをインストールした状態で
NFCタグを読みとると
識別のフィルターまで同じだと
該当する複数のNFCアプリが起動してしまう

イメージとしては、Suicaと一緒に
ほかの
電子マネーをかざしたようなかんじになる

これを防ぐには
NFCの読みとる優先度を指定する

起動中のActivityでNFCを優先的に読み取りたいのなら
NfcAdapterの
enabledForegroundDispatch()
を使う

このときに変えた優先度を元に戻すなら
disableForegroundDispatch()
を使う

ちなみに、一度上げた優先度は
元に戻すまで優先的にNFCを読み取ろうとするため
不必要になったら元に戻す処理を忘れずに

wordpress インストール

wordpress インストール

wget https://ja.wordpress.org/wordpress-3.5.2-ja.zip

でファイルを取得したので
その続きから

参考サイトは

WordPressのインストール(CentOS)


ブログサイト構築(WordPress)

なお、展開先のディレクトリ指定をするには
-d オプションを使用する

参考サイトは

unzip ZIP 形式のアーカイブを伸長・展開する (解凍)

unzip  wordpress-3.5.2-ja.zip -d /var/www/


/var/www/
の下へ展開する

次に権限の変更

chown -R apache:apache /var/www/wordpress/

次に apache 設定ファイルの編集

vim /etc/httpd/conf/httpd.conf 

でファイル編集

292行めの
DocumentRoot “/var/www/html”

DocumentRoot “/var/www/wordpress”

に変更

これでアクセスするときのディレクトリを変更

次に .htaccess を使えるように設定を変える

338行めの
AllowOverride None

AllowOverride All
に変更

これで保存して apache再起動

/etc/init.d/httpd restart

これで、ブラウザを開いて
サーバーのIPアドレスにアクセスすると
wordpress の設定ファイルをつくる画面になる

wordpress

そのまま続けていくと
DB作成する画面になるので

wordpress2

ユーザ名
パスワードを
mysql で設定したものに変更する

wordpress3

wordpress用DB作成したときに

wordpress ユーザとパスワードの設定

grant all privileges on wordpress.* to wordpress@localhost identified by 'password';

としたので
ユーザ名は wordpress
パスワードは password
となる

wordpress4

そのまま続けると
タイトルとユーザ名、パスワードの設定になる

これは任意のものでOK

今回は kindle 本の作成に使いたいので
タイトルを kindle test
ユーザ名 snowpool
パスワードは任意のもの
メールアドレスは自分のもの

としてみました

wordpress5

これでインストールすると
仮パスワードが表示されるので、これを使ってログインします

wordpress6

MySqL 設定

MySqL 設定

PHPの設定については
http://webkaru.net/linux/apache-mysql-php-install/
を参考に実行

続いて WordPress に必要な DBの
MySQL を設定する

まずは起動

/etc/init.d/mysqld start

mysql の生存確認は

mysqladmin -u root ping

で確認できる

結果が
mysqld is alive
となっていればOK

あと自動起動するようにしたいので

chkconfig mysqld on

あとは wordpress で使う DBを作成する

mysql と wordpress のDB作成については
http://webkaru.net/linux/mysql-wordpress/

http://centossrv.com/wordpress.shtml
を参考に実行

まず

mysql -u root

で mysql へログイン

次に wordpress 用のDBを作成

create database wordpress;

でDBを作成

構文は
create database DB名

次に
wordpress ユーザとパスワードの設定

grant all privileges on wordpress.* to wordpress@localhost identified by 'password';

構文は

grant all privileges on ユーザ名.* to DB名 identified by 'パスワード';

あとは wordpress のインストールだけど
今回は wordpress 運用というより
投稿内容を電子書籍変換する実験のためなので
バージョンをあえてあまり新しくないものにする

これはwordpress のバージョンが新しいと
プラグインが対応できなくなる可能性があるため

まぁもし使えないのなら
フリーソフトで変換するという方法もあるので
とりあえずは楽できそうなプラグインから始めてみます

一応プラグインのページで対応している
wordpress のバージョンを確認
https://wordpress.org/plugins/pripre/

3.5.2 の wordpress ぐらいなら動きそうなので
とりあえずこれを使うことに

ファイルを取得するので

wget https://ja.wordpress.org/wordpress-3.5.2-ja.zip

でファイルを取得

クライアントマシンで圧縮ファイルをダウンロードし
それをFTPSとか scp でも転送してもいいけど
面倒なので
wget コマンドで取得する

とりあえずファイル取得できたので続きは次回

PHP 設定

PHP 設定

設定ファイル php.iniを編集

vim /etc/php.ini 

でファイルを開いて

date.timezone ="Asia/Tokyo"

でtimezone 設定

場所は 946 行め

設定の反映のため

/etc/init.d/httpd restart

で apache を再起動

PHPの動作確認のため

vim /var/www/html/info.php

でファイルを作成

内容は

<?php
phpinfo();
?>

で保存し

サーバーのIPアドレス/info.php
へブラウザへアクセスすると
PHP の設定がかかれた画面が表示される

phpinfo

仮想 マシンに wordpress 構築

仮想 マシンに wordpress 構築

VMWarePlayer へ CentOS のマシンをつくったので
次に必要なパッケージをインストール

必要になるのは
apache
php
mysql
となるので、これらのインストールと設定

その前にネットワーク設定をしないとつながらない

vim  vi /etc/sysconfig/network-scripts/ifcfg-eth0

でファイルを開く

ONBOOT=no
となっていると
ネットワーク自動起動が有効化されないので
yes に変更

あと
BOOTPROTO=dhcp
だと自動取得だけど変動するので
これがいやなら
dhcp を static にする
static にするのならIPアドレスなどの設定が必要

とりあえず実験なので簡単に行うため
dhcp を選択

これで
[shelll]
/etc/rc.d/init.d/network restart
[/shell]
を実行すると

ifconfig 

でIPアドレスなどをみることができる

今回なら

eth0      Link encap:Ethernet  HWaddr 00:0C:29:13:9E:BA  
          inet addr:172.16.72.128  Bcast:172.16.72.255  Mask:255.255.255.0
          inet6 addr: fe80::20c:29ff:fe13:9eba/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:63 errors:0 dropped:0 overruns:0 frame:0
          TX packets:118 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:9945 (9.7 KiB)  TX bytes:11587 (11.3 KiB)

lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:4 errors:0 dropped:0 overruns:0 frame:0
          TX packets:4 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:396 (396.0 b)  TX bytes:396 (396.0 b)

となっている

あとはIPがわかれば
Ubuntu から端末でリモート操作できるので
ssh でログインする

ssh root@サーバーのIP

これでリモート操作できるので

yum install httpd mysql-server php php-mysql wget

で必要なものをインストール

インストール完了後
設定を行う

このままだと webサーバにアクセスできないので
iptables を編集し
ファイアウォールに穴をあける

vim /etc/sysconfig/iptables

でファイルを開き

A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT

を追記
場所は 22 版ポートの設定をしている
10行めの下

設定を変更したら再起動して有効化

/etc/init.d/iptables restart

次に apache 起動と自動起動の有効化

/etc/init.d/httpd start
chkconfig httpd on

これでブラウザから
サーバーのIPアドレスへアクセスすれば
apache の画面が表示される

apache

wordpress の投稿を電子書籍へ

wordpress の投稿を電子書籍へ

Kindleセルフパブリッシング入門 電子書籍でベストセラー作家になろう
をみて電子書籍をつくってみようと思ったけど
そういえば、wordpress のプラグインでもできたと
思ったので検索

ちなみに書籍に載っていた方法は
Sigil を使ったやり方


http://www.nishi2002.com/2958.html


wordpress の記事を電子書籍にすることが可能なようなので挑戦

とはいってもレンタルサーバー借りて実践するのも
敷居が高そうなので
ここは仮想マシンで wordress を構築し
実際にプラグインをいれるという方向で実践

時間がかかりそうなので
まずは すでにダウンロードしてある CentOS イメージから
VMWare Player で仮想マシンを作成する

ちなみにホストマシンは
Ubuntu 12.04 LTS 64bit

仮想マシンの構成は
CentOS 6.4 64bit にして

ネットワークは NAT にして
メモリだけ 2048MB に増やす

インストールに関しては
http://centos.server-manual.com/centos6_install.html
を参考に実行

とりあえず最小構成にして
ベースと開発ツールのみインストール

インターネットの速度が遅いため
とりあえずインストールだけして続きは次回