携帯サーバーからPCサーバーへの移転


このページは『携帯サーバーから移転したいけれど、作品は手元にないからひとつひとつコピペして移動しなきゃいけないし、日記も置いて行きたくない』という要望を叶えるために作られたものです。

細かいところは携帯サーバーによって異なりますが、小説サイトなら大体おなじ手順で行けると思います。絵は携帯サーバーに上げたことがないのでよくわからないです。
自分はこれでナノからさくらに移りました。

あまり自由度が高くないサーバーさんだと出来ないかも知れないですが、サーバーを教えて貰えたらどうにか出来ないか考えます。


※自分のジャンルはこのページを読むと分かってしまう可能性が有りますが、一応URLには伏せを入れさせて頂いています。

【メニュー】

1.必要なものと大まかな手順
2.具体的な手順 - サイト
3.具体的な手順 - 日記

ページ作成・管理:高鹿 (リンク等はご自由にどうぞ)
連絡先:twitter

必要なものと大まかな手順

必要なもの

・PC
・サイトDLソフト(ダウンローダーと呼ばれる物)
・複数行置換ソフト(エディタについてたりもします)

ソフト類は『窓の社』や『Vector』辺りからDLすれば大丈夫だと思います(なお、DLは自己責任で)。

自分が使っていたソフトは『Website Explorer』『TExchange』です。



◆あると便利なもの

・htmlエディタ
・ファイル名一括変換ソフト(人よっては必要ない)

windows標準搭載のメモ帳でも大半は出来るけれど、htmlエディタがあるとたぶん楽。
二ヶ所、文字コードが関係するのでメモ帳以外のエディタがある方がいいです。
自分は『ez-HTML』を使っています。リンクウェアのソフト。タブで開けるので何かと便利。
それと複数行ファイル一括置換で【<開始文言>】【<終了文言>】を指定すると、間の文言が違っても一気に置換できるので、headを一気に書き換えたい時とかとても助かる。

ファイル名一括変換には『Flexible Renamer』を使用。

大まかな手順 - サイト

サイトごとDLする。

novelなどを適当に一括で連番リネームする。

リネームした奴をひとつのフォルダに入れて中身を見ながら名前を変える。

DLしたhtmlファイルのheader・footerなどを、複数行置換ソフトで一括に綺麗にする。

サイトのリンクや体裁を整える。デザインを考えるのが一番楽しい。

ローカルでサイトを確認して、崩れていなかったらPCサーバーにアップして確認。

大まかな手順 - 日記

※これは移動先が『インポートできる』ことが前提です。

日記のデザインを移動先のインポート可能な形に整える。

コピペする。

エディタで整える。

インポート可能な拡張子で保存する。

インポートする。

自分はナノ→freoだったので、ナノで使えるfreo用のインポートテンプレートだけ具体的な手順のところに置いて行きます。
相談してもらえたら別のサーバーさんでもどうにか出来ないか考えます(時間があれば)。


具体的な手順


ここからは、実際に自分が行った手順を再現したものになります。画像も交えての説明です。
使用ソフトは上記のとおり。


具体的な手順 - サイト

01 サイトをDLする

携帯サーバーだと手元に何もない、というのがザラなので、DLします。



アドレスバーに自分のサイトのURLを入れる前に【アクション>詳細設定】。


【フィルタ】タブで【blog bbs clap form】等を除外しておく。
blogは後で個別にインポート、bbsは過去ログならコピペでOK、clapとformは携帯サーバーのものをDLしても意味がないので除外。


準備が整ったので、アドレスバーにURLを入れて探索。
※開始ページからのリンクを辿ってファイル探索をするので、リンクが繋がっていない場所のファイルはDL出来ません。

探索が終わるとこんな感じになります。



これを【ツール>フォルダダウンロード】でDL。


設定ウィザードが出てくるので、自分が欲しいようにして、保存先を最後に選んで実行。
※【階層構造>保持しない】にすると、novelとかがフォルダに入っていない状態になるので以降の作業が楽かもしれない。自分は小説機能で何となくどの話なのか分かれていたのでフォルダを保持させました。

02 形を整える

そうしてDLしたnovelフォルダを見るとこうなっています。
【階層構造>保持しない】の場合は画像を二つ飛ばしてください。


そう、ナノのURL(例:/novel/1/3/)を見ると分かる通り、全部の小説が【index.html】ファイルなのです。こいつは中身を確認するのが、フォルダを開いて→ファイルを開いて→名前を変更して……とても面倒!なので、全ファイルに仮の名前を付けます。
※画像中では index.html で検索をかけていますが、.html の方が楽だと思います。
まぁ名前を変えなくても【ファイルを両方とも保持する】で一括おなじフォルダに入れることが可能なので面倒な人はそちらをどうぞ。



※検索しても出てこない場合は【インデックスファイルの再構築】を行うと良いかもしれません。


名前を一括で付け終わったら、再度検索をかけて、ひとつのフォルダにコピペ。
エディタなどで開きながら、中身を確認して自分がわかるように名前をつけていく。
自分はこんな感じで横で開けるエディタを使っています。

1:フォルダ一覧 2:ファイル一覧 3:ファイルの中身
※画面は前述した『ez-HTML』の画面。


ファイルを開くと、こんな感じでheadがごちゃごちゃしているので、これを整理。




headに入っているCSSをコピーし、別ファイル(style.cssなど)にして保存。


ここで複数行一括置換で、簡素なheader・footerに。


※広告も入っているので、必ず置換。


あとはこういう、携帯サーバー所以の『無茶なことをした場所』を整える。
アドレスもこのままだと繋がっていないので、繋げていく。

※この辺のURLのような『いろんなところで共通している部分』も置換作業である程度簡略化できるので積極的に使って行くと楽。

03 アップロードする

ちまちまとリンクを確認したり、夢小説なら名前変換機能をつけたり(これも複数行置換で基本一瞬で終わらせられる)、そうでなくてもソースコード上の改行が全くないので気になる場合は綺麗にしたり(これも置換で)、新しく拍手を設置したり、メルフォを作ったりして、デザイン的に問題ないと思ったら、サーバーにアップロードして、そこでも確認して、問題が無ければ完了です。
お疲れ様でした。

具体的な手順 - 日記

【目標】日記をSQLの形に成型する

ここでは携帯サーバーから引っ越すのが一番面倒だなぁと思う『日記の移動』を扱います。

主旨としては、『日記が公式の機能でエクスポート出来ないなら、本文を他にインポートできる形にしてしまえばいい』ということです。

以降の具体的な方法は、ナノからfreoの移行手順になります。
インポートしたい媒体で一旦何か書いてエクスポートしたら、『インポートできる形』がわかるので応用できると思います。


複数の日記(例えば/blog/2/と/blog/3/)を合わせてインポートすることも可能です。

01 初めに

とりあえずインポート先(この場合freo)は作っておきます。

02 記事をある程度のインポート形式にする

ナノの【移動させたい日記>基本設定】の表示件数を最大の100件に。


ナノの【一覧画面レイアウト】を
INSERT INTO freo_entries VALUES('#v_url#','freoユーザー名','#y1#-#m1#-#d1# #time#:#s1#','#y1#-#m1#-#d1# #time#:#s1#','yes',NULL,NULL,'publish','publish','closed','closed',NULL,'#title#',NULL,'#y1#-#m1#-#d1# #time#:#s1#',NULL,NULL,NULL,NULL,'<p>#text#<br />#ext_<!-- pagebreak --><br />##text2#</p>');
のみにします。



すると画面がこうなるので

コピーして、エディタに。
※記事が100件以上ある場合は、全てのページをコピーしてください。

03 本格的に整えていく

このままのだと日記の改行が反映されないので、改行を<br>に変換(好みで<br />に)。




ここで一旦保存して、複数行置換ソフトへ。
拡張子はtxtでもなんでも。

個々の記事が繋がってしまっているので、繋がっているところに改行を入れて置換。


もう一度エディタに戻り、ここを置換。
記事番号を自分で振るのは大変なので、記事URLを流用しよう、と言う魂胆。



※ここで置換後にある『user』はfreoで使用しているユーザーID。


だいぶ綺麗になりました。

04 保存する

出来上がったデータの先頭に
DROP TABLE IF EXISTS freo_entries;
CREATE TABLE freo_entries(id INTEGER, user_id VARCHAR NOT NULL, created DATETIME NOT NULL, modified DATETIME NOT NULL, approved VARCHAR NOT NULL, restriction VARCHAR, password VARCHAR, status VARCHAR NOT NULL, display VARCHAR NOT NULL, comment VARCHAR NOT NULL, trackback VARCHAR NOT NULL, code VARCHAR UNIQUE, title VARCHAR NOT NULL, tag VARCHAR, datetime DATETIME NOT NULL, close DATETIME, file VARCHAR, image VARCHAR, memo VARCHAR, text LONGTEXT, PRIMARY KEY(id));
をいれる。こんな感じになる。


これを文字コード【UTF-8】で保存(拡張子がSQLなら名前はなんでもいい たぶん)
迷ったら『freo_entry.sql』で。
メモ帳だとこれが出来ないかも。
一応『文字コードを変換させる』フリーソフトとかもある。



UTF-8以外で保存すると文字化けてかなしい。

05 本文とカテゴリーを紐づける

本文のSQL化は出来たので、次はカテゴリー情報をSQL化させます。

インポートしたい先に、元々使っていたカテゴリーを全て反映させる。


ナノのカテゴリー名を、先程インポート先に登録したIDの形にする。


ナノの【一覧画面レイアウト】を今度は
INSERT INTO freo_category_sets VALUES('#fld#','#v_url#');
の形に(要改行)。

そして日記を開くとこうなっているので、コピーしてエディタの新しいファイルにペースト。
※記事が100件以上ある場合は、全てのページをコピーしてください。


さっきと似た形で、記事番号周辺を整える。
※画像は省略していますが、後ろのスラッシュとかも【/');】→【');】置換。


出来上がったデータの先頭に先程と似ているけれど短いこちらを挿入。
DROP TABLE IF EXISTS freo_category_sets;
CREATE TABLE freo_category_sets(category_id VARCHAR NOT NULL, entry_id INTEGER UNSIGNED NOT NULL);

するとこうなる。


これも【UTF-8】で保存。
ファイル名に迷ったら『freo_cate.sql』で。

06 つくったファイルをアップロードする

freoの【管理画面>インポート>ファイル選択>入力する】でファイルアップ。
実行されたら、取り敢えずデータアップは成功。



※エラーが起きる場合
・ユーザーIDが存在していない(置換していない)
・カテゴリーIDが存在していない(コピペやタイプミス)
などなど

07 確認する

肝心の日記を確認して、記事とカテゴリが一致していたらOKです。お疲れ様でした!