カテゴリー: 環境構築

取り敢えず、GCP側に移行出来た模様(´・ω・`)

さくらVPSからgTLDドメイン転出用のオースコードが届いたので、移行作業を続行。
【さくら→Google移行作戦 前半】ドメイン移管編

Google Domain 1400+112(税)=1512円だった。さくらVPSは税込み1852円なので340円差か。働いていたら誤差のレベルだな。というか働いていたらさくらVPSからGCPの無料運用に移行することもなかったか(ノ∀`)


移行前に最新データのバックアップを忘れる(ノ∀`)

深いことを考えずに作業した為に、元ブログ側の管理ページに入れなくなる(ノ∀`)
加えてどっちのページが表示されているのかわからなくなるw
致し方なく、データ移行処理後に追加した2エントリは手動で移し替えたw

ドメインとGCPのIPアドレスが結びついている状態で何故かhttp://mole-kingdom.com/idx.htmlのページがURL指定で表示されたのは謎(´・ω・`)?
さくらVPSのインスタンスを止めたら表示されなくなったので、あっち側のページなのは間違いないのだが。なんだろう? キャッシュ?
今はデータを移行したので表示されて当然なんだけども


language-pack-ja

従来の方法でubuntuの文字化けが直らなかったので、以下のエントリに従ってaptでインストールしたら文字化けが解消された。もしかしたらlanguage-pack-jaが入ってなかっただけなのかな?

参考:
Ubuntuのデフォルトロケールを変更する


wp-cli

何故か移行先でDuplicatorプラグインが削除出来なかった(´・ω・`)
正解に言えば停止しようとすると技術的問題がどうとかというエラーが出て、先に進めない。

プラグインフォルダから削除するだけでもいいが、dbの中にゴミが残るとかどうとかいう噂を読み、wp-cliを入れて処理した。いきなりuninstallは出来なかったので先にdeactivateしてからuninstallした。

その後、WordPressのプラグインページに行ったら、まだDuplicatorは何故か存在しつづけていたが、その状態で削除をクリックしたら、無事に一覧から消えた。色々と謎が残る(´・ω・`)

参考:
WP-CLIの使い方
wp-cli コマンド一覧


xlrd

Pythonでexcelファイルを触る為のライブラリ xlrdを使ってみた。なんというか、まあ、ふーん(・∀・)と言った感じである。

パスが上手く通らなくて困ったが、Windowsだと全部”/”でええんかΣ(゚∀゚;)

参考:
Excel読み込み (xlrd)
Windowsのパスがうまく指定\表示できない問題 in Python
パワポエンジニアの憂鬱を軽減する誤字/表記揺れ検出ツールを作った物語


Google DriveでのOCR

なんやかんやで出来るようになったが、何をどうして上手く行ったのかよくわかってない(ノ∀`)
参考にしたコードはWindows向けではなかったからか、ちょっとはまった。Spyder3のフォルダ内で作業していたのが悪かったのかもしれない。

取り敢えず、そもそもoauth2clientが入ってなかったので動かなかったみたい(ノ∀`)
pipでinstallした。

正しい対処法かわからないが、CLIENT_SECRET_FILEの値に絶対パスを追加したり、credential_pathのところを絶対パスに変えて、Anconda Promptでの実行にもパスを追加した。

全く詳しいことを覚えていないが、なんかクレデンシャルがない状態の時にOCR対象のファイル名を引数に指定せずに実行したら、クレデンシャルがとれたような……

その後で改めてファイル名も指定して実行したら、無事にOCRが動いたような……( ´・ω・)ジシンガナイ

固有表現抽出APIにはまだ投げていない(ノ∀`)
忘れなければそのうちやるw

参考:
GoogleのAIとNTTのAIを融合したら最強の業務カイゼンツールが爆誕した
ServiceAccountCredentialsのインポートエラー

もぐら王国 とりあえずGCPの無料枠にWordPressを移したが…

またドメインは変更していないので、ミラーサイト状態(ミラーブログ状態(?))。

GCPの無料枠だと使用出来るメモリ量は600MBくらいであり、それだと当然のことながらOpenCmsを動かすのは無理なので、あっちの方の内容は基本的に廃棄という感じにすることに。※ちなみに今のさくらVPSの1GBですら、しばらくするとOutOfMemoryになるw 今はOutOfMemoryで閲覧不可になることを回避するために日に数回、cronでTomcatをリブートしているw ←酷い対応策(ノ∀`)

まあ、HTML形式でページを移築させればいいわけだが、android関連の翻訳ページや古い環境構築ネタはそのまま廃棄してしまう予定。android関連の翻訳はすでに元ページが存在しないし、環境構築ネタもWin8ベースとか内容が古いから。最早ネットデブリと言っていい。

64進数ネタやらDevQuiz関連は移築しようかなと思いつつ、もう俺氏はJavaを触ることはなさそうだから必要ないんじゃなかろうかとも思ったり(ノ∀`)


数年前の俺氏なら、殊丁寧にエントリ化しているところであるが、面倒くさいから qiitaなどでヤングなジェネレーションの技術者達が詳しく書いているので適当な感じで概略をエントリ化する(・∀・)

ちなみに俺氏は

  1. 無料枠(σ・∀・)σゲッツ!!というか、そういうインスタンスを作成。
  2. ubuntu 18.04を自動インストール(?)、ssh接続出来るようにした。
  3. バケット作成
  4. 中国、オーストラリアからの接続を遮断(`・ω・´)カネガナインヤ
  5. db作成やWordPressは手動インストール。
  6. Duplicatorプラグインでデータ移行。

を行った。(ちょっと手順的に前後してる部分はあったかも)

なんて書くと全てがスムーズに行ったように思われるが、実際は何度もやり直した…(ヽ’ω`)


ググってすぐにヒットするページのURLを羅列して意味があるのかと問われると返す言葉もないが、取り敢えず、ざっと以下のページを眺めてみて、おおまかなGCPの無料枠の概念やその流れを掴むのが妥当だと思う。

GCP(Google Cloud Platform)でWordPressスタート
GCP上でWordPressを無料で構築したい
これから始めるGCP(GCE) 安全に無料枠を使い倒せ
お前らのSSH Keysの作り方は間違っている
GCPでCentOS7を構築してssh接続してみる

Git for Windowsは前にインストールしていたので、それを使ってssh鍵を作る。よくわからないが4096とかで作った。ED~形式って知らんな(´・ω・`)

ちなみに、俺氏がUbuntu18.04を入れた時はスワップが自動生成されてなく、これが後々のハマりへとつながることになった(ノ∀`)


GCPのGoogle Cloud Storage無料枠を使うには注意が必要
GCE の無料枠のサーバを立るときに、初見でハマりそうなところ
GCPの課金データ取得のススメ

IPアドレスの固定やsshポートを変更したり、バケット作成をしたんだったかな。

【 sed 】コマンド(基礎編その4)――文字列を置き換える/置換した行を出力する


どうも中国とオーストラリアからのアクセスは無料運用の妨げになるらしく、それを回避するためにはファイアーウォールルールを使って、その二国からアクセスを遮断しないといけないらしい。

[GCP]課金対象国からのアクセスを抑止する
Google Cloud Platformで中国からの通信をブロック

割当一覧
中華人民共和国 China
オーストラリア Australia

手作業でやらないといけないのか(ヽ’ω`)と思ったら…
GCP:GCE 海外からのアクセスを一括で拒否するFW管理スクリプトというエントリを発見(・∀・)

但し、これは全世界からのアクセスを遮断するスクリプトらしく、これをこのまま使うとちょっと問題が有ったw

無料枠での使用だからなのか、ファイアーウォールルールが100件を越したところでインポート出来なくなった(ノ∀`)

致し方なく、インポート済のau以外のファイアーウォールルールを削り、その後、Cloud Shell上でviでスクリプトファイルを開き、cn以外を削って再実行した。

実は中身のIPの全てが正しい値なのかはチェックしていないのであれだが、ここで大事なことはCloud Shellを使って色々と出来るよということだな(・∀・)

ファイアウォール ルールの使用
【GCP入門編・第9回】 Cloud Shell で、いつでもどこでも Google Cloud Platform (GCP) が操作可能に!

一応、auとcn以外を削ったテキストを作ったが、内容は精査していない(ノ∀`) 加えてCloud Shell上へアップロードをする方法を知らないw まあ利用する時にこれをwgetしてmvでリネームして実行すればいいか。reject_au_cn.txt


UbuntuへのWordPressのインストール等はかつてエントリ化したものを適当に見ながらやったら出来た。確かtaskselをわざわざ入れて、そこからLAMPを入れたんだっけかな?

WordPress検証用環境の作成手順(`・ω・´)

taskselから入れた時にrootパスワードを指定しなかったのか聞かれなかったのか忘れたが、何はともあれ設定した。
MySQLでパスワードを変更する「SET PASSWORD」


で、

  1. Duplicatorプラグインで普通にデータ移行を試みる → OutOfMemoryで失敗。
  2. Duplicatorプラグインで画像データなしでデータ移行を試みる → OutOfMemoryで失敗。
  3. All-in-One WP Migrationプラグインで画像データなしでデータ移行を試みる → 成功するも、エントリを幾つか移動すると反応しなくなる。(最終的にデータベース接続確立エラーになる。)

という流れに…(ヽ’ω`)

600MBじゃWordPressの運用って無理なのだろうかと悩んだが、最終的にスワップ領域を作成していないことに気づく(ノ∀`)

参考にしたエントリでは”bs=2M count=2048″となっていたけれども、そんなにはいらないかなと適当に”count=1024″にしたw
Ubuntu Server 18.04 LTS スワップファイル設定

一応これでフリーズ状態にならなくなったので、もう一度dbやら何やらを綺麗にして、Duplicatorプラグインで画像データ有りでデータ移行を試みたら上手く行った(`・ω・´)

パーマリンク形式変更による404エラー対策の作業を忘れて、一瞬焦ったが(ノ∀`)
※移行するデータ量が512MB以下ならAll-in-One WP Migrationプラグインの方が楽かもしれないが、こっちはこっちでアップロードリミットを修正しないといけなかったりで、それはそれでめどいかもしれない(´・ω・`)


取り敢えずはこれでいいか。データ転送量(?)が1GBを超えない限りは無料運用が出来そうな気配ではあるがはてさて。もしも1GBを超えるようだったら、画像はGoogleドライブに移そうかな。面倒くさそうだけども。
サーバ通信量を節約!ブログ内の画像をGoogleドライブから参照!

後はmole-kingdom.comのドメインをあっちに移せばいいのかな。これは後日するとしよう(´・ω・`)

プログラマのためのDocker教科書

セールかなんかで半額だった時に買ったのをようやく読み終えた。
一回目を通しただけなのでわかったような…わからないような…(´・ω・`)


内容は
導入編
主にインフラ絡みやDockerに関する基礎知識

基本編
Dockerのインストールとその使い方
Dockerfileからのサーバ構築
Docker Registryの使い方(Dockerイメージの貯蔵庫?)

応用編
Docker Composeの使い方(複数コンテナ管理ツール?)
Docker Machine、(マルチ(リモート?)ホスト環境用のDockerツール?)
Docker Swarmの使い方(Dockerのクラスタリングをサポートするツール)
クラウド環境でのDocker(構築例はAmazon EC2 Container Services)

と言った感じ。

導入編は”プログラマのための”と銘打ってる通り、インフラエンジニア以外向けの
インフラ絡みの内容。俺氏みたいな中途半端な知識の人間にとっては良いと思った。

基本編と応用編は一応一通りのことが書いてあっていいのだが、どうもDocker自体が
シンプルな構造なせいか、内容が薄く感じる部分がなくもない。特にDockerと
Docker Machineだったかが似たようなコマンドばかりなので、そこら辺が冗長に
感じたりする。Amazon EC2も使ってないから、最後の方は流し読みっぽくなった(ノ∀`)

個人の趣味レベルで言うと導入編と基本編+Composeくらいの内容で十分なので、
それくらいの文量にしてもうちょい安い価格にしてくれた方が買う人が居そうな気がする。

そう言えば全然関係ないけど、書籍の章売りってないのかなってちょっと思った。
漫画だと一話売りとかあるような気がするけども。


取り敢えず実際の環境で試してみようかなぁ(´・ω・`)
CoreOSがいいんじゃろうかと色々見てみたが、どうもクラスタとかを使わないのであれば
それほどのメリットはないみたいだから、入れるのやめた(ノ∀`)

WordPress検証用環境の作成手順(`・ω・´)

以下のローカル環境に他所で動いているWordPressを移す手順について記す。
かなり端折ったのに長くなった(´・ω・`)

  • Windows 10 Pro (Hyper-V 未インストール)
  • Virtual box
  • ubuntu server
  • apache2

備忘録なので作業検証時に知った関係ないことや初歩的なことも書いてある(ノ∀`)
WordPressの移行先フォルダは”wpbl”になっているが、これは元の環境に合わせて適宜変更する。
 


 
 



VirtualBoxとUbuntu Serverのインストール

  1. Virtual Boxをダウンロードして来てインストールする。
  2. Virtual Boxでubuntu用の仮想マシンを作成する。
  3. 作成した仮想マシンの「ネットワーク」の「アダプター1」タブの「割り当て」を”ブリッジアダプター”にする。
  4. networkadapter_bridgeadapter
  5. ubuntu serverのインストールisoをダウンロードして来て「ストレージ」の「CDドライブ」にセットして仮想マシンを起動する。
  6. storage_isoset
  7. ほぼデフォルトでインストールする。
     
    最後のtaskselのところで”LAMP server”を選択してインストールする。(ssh接続等の検証もしたい場合は、”OpenSSH server”もインストールする。) 入れ忘れた場合はログイン後に”sudo tasksel”でインストールする。
    tasksel_lamp
  8. mysqlのrootユーザー用のパスワードの設定する。
    mysqlpassword01
  9. 再起動後にログイン


文字化け対策

※2016/06/21追記
vimがインストール済みでない場合、viを利用するかvimをインストールする。

sudo apt-get install vim
or
sudo apt install vim

でインストールする必要があり。

  1. sudo vim ~/.bashrc
    
  2. [i]または[a]で編集モードにして適当なところに以下を追加し、[:wq]で書き込み保存。
    sudoモードで開くのを忘れてしまった場合は[:w !sudo tee %]で強制的に書き込み保存する。

    case $TERM in
    linux) LANG=C ;;
    *) LANG=ja_JP.utf8 ;;
    esac
    

    bashrcmodify

  3. exit
    
  4. 再ログイン。以降の[sudo aptitude update]等で文字化け(◇)が表示されていないことを確認する。

参考:
Ubuntu serverの文字化け対策



アップデート

※2016/05/03追記
16.04LTSではaptitudeが最初は入っていない模様。
なので先に

sudo apt-get install aptitude
or
sudo apt install aptitude

でインストールする必要があり。
apt – 16.04 : “aptitude” at the command line

sudo aptitude update
sudo aptitude upgrade

途中で以下のようなメッセージが表示されたら[y]
upgrademessage
 
関連:
apt-getとaptitudeって結局どう違うの(´・ω・`)?



MySqlの設定

  1. rootユーザーでMySqlにログイン。パスワードはインストール時に指定したモノ。
    mysql -u root -p
    
  2. データベース”mysql”を選択。
    use mysql;
    
  3. WordPress管理用ユーザーを作成。

    この例でのユーザーは”wpadmin”、パスワードは”password”。insert文でテーブルに対して直接作成することも可能。

    create user 'wpadmin'@'localhost' identified by 'password';
    
  4. WordPress用データベースを作成。
    create database wpdb;
    
  5. 管理用ユーザーに作成したデータベースの全ての権限を許可する。
    ※ubuntu16.04に入っているmysql 5.7.12では下の方じゃないと駄目かも。

    grant all on wpdb.* to wpadmin;
    or
    grant all on wpdb.* to wpadmin@localhost;
    
  6. 権限の反映。(この手順の場合は権限の反映は必要がない?)
    flush privileges;
    
  7. exit
    
  8. 管理用ユーザーで再びログインする。
  9. mysql -u wpadmin -p
    
  10. 権限のあるデータベースを確認する。
    show databases;
    

    showdatabases

  11. exit
    

※6.3.2 ユーザーアカウントの追加

“CREATE USER および GRANT の代わりとして、直接 INSERT ステートメントを発行してから、FLUSH PRIVILEGES を使用して付与テーブルを再ロードするようにサーバーに指示することで、同じアカウントを作成できます。”

“INSERT を使用してアカウントを作成する場合は、FLUSH PRIVILEGES を使用して、付与テーブルを再ロードするようにサーバーに指示する必要があります。そうしなければ、サーバーを再起動するまで変更が認識されません。CREATE USER では、FLUSH PRIVILEGES が必要ありません。 “



unzipのインストール

sudo aptitude install unzip


共有フォルダーの設定

  1. VBoxGuestAdditions.isoのセット。
    setGuestAdditionsCD

    ※以下のようなダイアログが表示された場合は<強制マウント解除>をクリック。
    vb003

  2. 仮想マシンの設定でVBoxGuestAdditions.isoがセットされていることを確認する。
    setGuestAdditionsCD02
  3. dkmsのインストール。
    sudo aptitude install dkms
    

    以下のようなメッセージが表示されたら、[y]
    dkmsmessage

  4. 再起動する。
    sudo shutdown -r now
    
  5. 起動したらログインする。
  6. CDイメージをマウントして、VBoxLinuxAdditions.runを実行し再起動する。
    sudo mount /dev/cdrom /media/cdrom
    sudo /media/cdrom/VBoxLinuxAdditions.run
    sudo shutdown -r now
    
  7. 起動したらログインする。
  8. 仮想マシンの設定で「共有フォルダー」の設定をする。この例のフォルダ名は”temp”。「フォルダーのパス」はホストOSの任意のフォルダを選択。
    sffoldersetting
  9. 共有用フォルダ(/usr/sf)を作り、起動スクリプトを開く。
    sudo mkdir /usr/sf
    sudo vim /etc/rc.local
    
  10. 以下の一文を追加して書き込み保存する。
    mount -t vboxsf temp /usr/sf
    

    rclocalmodify

  11. 再起動する。
    sudo shutdown -r now
    
  12. 起動したらログインする。
  13. ホストOS側で共有フォルダに何らかのファイルをコピーをして、自動マウント及び共有が上手く行っているか確認する。
    ls /usr/sf
    
    lsusrsf
    ※2016/05/04追記
    現時点ではubuntu server 16.04で同じ手順を行ってもrc.localが実行されないのか
    自動マウントされない。

    この手順はVirtualBoxでの共有フォルダの自動マウントなので常用しない場合は必要ない。
    代わりに以下のように手作業でマウントする。

    sudo mount -t vboxsf temp /usr/sf
    
    ※2016/05/04追記
    どうもこれは15.04から起動プロセスがupstartからsystemdに変わったことによるもの?
    アップグレードの場合はupstartのままで、新規インストールの場合はsystemdらしい。
    その絡みからかなんかでrc.localが実行されていないくさい。

    ※2016/10/23追記
    これだとなんか上手くいかないかも(´・ω・`)
    前は上手く行った気がするんだけれども…

    もしも16.04等で自動マウントしたい場合は/etc/fstabを使うと良いらしい。
    VirtualBoxの共有フォルダの自動マウント化

    sudo vim /etc/fstab
    

    で/etc/fstabを開き、

    temp    /usr/sf    vboxsf    defaults    0    0
    

    を追加して保存。

    起動時にvboxsfを利用可能にする為に

    sudo vim /etc/modules-load.d/modules.conf
    

    でmodules.confを開き、

    vboxsf
    

    と追加し、保存。

    後は項番11~13を実行して、自動マウント出来ているかを確認する。

※以前はフォルダ共有をする際に「hwinfo」をインストールしていたが、しなくても大丈夫な模様。正確に言うと、14.04では通常の方法では「hwinfo」を入れることが出来ないようだったので、飛ばしたが問題がなさそう。hardware – hwinfo replaced with … what?



WordPressの取得

  1. 公式サイトからWordPressをダウンロードする。(バージョンはサイトで確認)
    sudo wget "http://ja.wordpress.org/wordpress-4.4.2-ja.zip"
    
  2. ダウンロードしたWordPressを「/var/www/」以下の任意のディレクトリ(この例では「/var/www/wpbl/」)に解凍。
    sudo unzip wordpress-4.4.2-ja.zip -d /var/www/wpbl/
    
  3. 「wordpress」ディレクトリ内の全てのファイル及びディレクトリを「/var/www/wpbl/」に移動して、、
    「wordpress」ディレクトリを削除する。

    sudo mv -f /var/www/wpbl/wordpress/* /var/www/wpbl/.
    sudo rm -Rf /var/www/wpbl/wordpress/
    
  4. 「/var/www/wpbl/」の所有者をrootからapache2の実行ユーザー・グループのwww-dataに変更する。
    sudo chown -R www-data /var/www/wpbl/
    

※WordPressの圧縮ファイルをホストOS側でダウンロード・解凍して、共有フォルダ経由でコピーすることも可能。また、この例ではzip形式でダウンロードして来ているのでunzipをインストールする必要があったが、.tar.gz形式でダウンロードして来る場合はその限りではない。



DocumentRootの変更
デフォルトではDocumentRootが「/var/www/html」になっているので「/var/www/」に変更する。

  1. sudo vim /etc/apache2/sites-available/000-default.conf
    
  2. DocumentRootを「/var/www」に変更して保存する。
    DocumentRootvarwww
  3. apacheを再起動する。
    sudo service apache2 restart
    


※尚、apacheを再起動した際に出るAH00558というメッセージを消すには、以下のようにする。
AH00558

  1. fqdn.confを作成する。
    sudo vim /etc/apache2/conf-available/fqdn.conf
    
  2. 以下の内容を書き込み、保存する。
    ServerName $HOSTNAME
    
  3. 作成した設定ファイルを有効にする。
    sudo a2enconf fqdn
    
  4. apacheをリロードする。
    sudo service apache2 reload
    

結局のところ、FQDNの解決に失敗していることに起因するエラーなので、解決方法は他にも色々とある模様。
参考:
ubuntuにおけるapache2のAH00558エラーを解決する。



WordPressのインストール

  1. ゲストOSのipを調べる。
    ifconfig
    

    ifconfiglocaladdress

  2. ホストOSのブラウザで”http://ゲストOSのip/wpbl/index.php”にアクセスする。
  3. 「ようこそ」画面が表示されたら、<さあ、始めましょう!>をクリックする。
    wpinstall01
  4. 「データベース接続情報入力」画面が表示されたら、”データベース名”、”ユーザー名”、”パスワード”を入力し、<送信>をクリックする。
    wpinstall02
  5. 「部分完了」画面が表示されたら、<インストール実行>をクリックする。
    wpinstall03
  6. 「必要情報入力」画面が表示されたら、”サイトのタイトル”、”ユーザー名”、”パスワード”、”メールアドレス”を入力する。これはデータ移行後には使わなくなるので適当で良い。
     
    脆弱なパスワードを設定した場合は「パスワード確認」にチェックを入れる。
    <WordPressをインストール>をクリックする。
    wpinstall04
  7. 「成功しました!」画面が表示されたら、<ログイン>をクリックする。
    wpinstall05
  8. 「ログイン」画面が表示されたら、”ユーザー名”と”パスワード”を入力して<ログイン>をクリックする。
    wpinstall06
  9. インストールしたWordPressにログイン出来ることを確認する。
    wpinstall07


Duplicatorのインストールとデータのエクスポート

  1. 移行元のWordPressでDuplicatorプラグインを検索、インストールして有効化する。
    duplicatorinstall01

    duplicatorinstall02

    duplicatorinstall03

  2. Duplicatorを起動する。
    duplicatorinstall04
  3. 右上の<Create New>をクリックする。
    duplicatorinstall05
  4. 右下の<Next>をクリックする。(ここでエクスポートしないファイルの指定、ログイン名等の指定が出来る模様)
    duplicatorinstall06

    ※2016/05/05追記
    移行元のubuntu serverが16.04の場合(正確にはphpが7.0以降の場合)、以下のようなエラーが
    出る場合があります。この場合、不足しているパッケージを手作業でインストールする必要があります。
    ziparchiveenabled

    sudo aptitude install php7.0-zip
    sudo aptitude install php7.0-bz2
    sudo shutdown -r now (apache2の再起動だけでいい?)
    

    再起動後に再びブラウザからwordpressにログインし、項番2の手順から続きを行います。

    参考:
    (Solved) Duplicator Error (WordPress / PHP7.0)

  5. スキャン結果にWarn(警告)がある場合は”A warning status was detected,are you sure you want to continue?”にチェックを入れ、<Build>をクリックする。
    duplicatorinstall07
  6. <installer>及び<Archive>をクリックし、installer.phpとデータをダウンロードする。
    duplicatorinstall08

参考:
引っ越しも楽々? WordPressで構築したサイトを丸ごとコピーできるプラグイン「Duplicator」

尚、「All-in-One WP Migration」でもデータ移行は可能。
但し、無償版だと512MBを越すとエラーが出た(ような気がしたが、改めてやってみたら
630MBオーバーでもバックアップファイルが作成された模様)

また、移行先でも同じプラグインを追加して、そこからデータのインポートを行うので微妙に手間がかかる気がする。
エクスポートファイルはバックアップとして残るので、バックアップ目的ならば良いとは思う。

ただ、このバックアップファイルの存在を忘れて「Duplicator」でエクスポートしたり、
WordPressをまるごとバックアップしようとするとデータがとんでもない大きさに膨れ上がるので注意。

参考:
WordPressのお引越しに All-in-One WP Migration がめっちゃ便利すぎる件



データのインポート

  1. ホストOSの共有フォルダにinstaller.phpとデータを移動する。
    duplicatordataimport01
  2. ゲストOSで共有フォルダ内にファイルが見えることを確認する。
    cd /usr/sf
    ls 
    または
    ls /usr/sf
    

    duplicatordataimport02

  3. データとinstaller.phpを/var/www/wpblに移動する。
    sudo mv xxxxxxxxx.zip /var/www/wpbl
    sudo mv installer.php /var/www/wpbl
    

    duplicatordataimport03

  4. ホストOSのブラウザで”http://ゲストOSのIPアドレス/wpbl/installer.php”に移動する。
  5. “データベース名”、”データベース管理者ユーザー名”、”パスワード”を入力し、<Test Connection>をクリックする。
    duplicatordataimport04
  6. 「Server Connected」と「Database Found」が”Success”なら、「I have read all warnings & notices」にチェックを入れ、<Run Deployment>をクリックする。
    duplicatordataimport05
  7. 以下のエラー画面が表示されたら、wp-config.phpを削除する。(よくよく考えてみると前項の段階でwp-config.phpを削除しておけばいいのかもしれない)
    duplicatordataimport07

    sudo rm /var/www/wpbl/wp-config.php
    
  8. <Try Again>をクリックする。
    duplicatordataimport08
  9. (処理が実行される。)
    duplicatordataimport09
  10. 「File & Database」画面が表示されたら、をクリックする。 (ここで新しい管理者アカウントの情報を追加出来たりする)
    duplicatordataimport10
  11. 「Test」画面が表示されたら、各項目をチェックする。
     
    パーマリンク形式を変更している場合、index.phpからエントリへのリンクを辿っても404エラーになるはず。以降の手順で変更する必要がある。
    duplicatordataimport11


パーマリンク形式変更による404エラー対策

  1. rewrite.loadファイルの内容を確認する
    cat /etc/apache2/mods-available/rewrite.load
    

    と実行し、以下の内容が表示されることを確認する。

    LoadModule rewrite_module /usr/lib/apache2/modules/mod_rewrite.so
    
  2. rewrite.loadを有効化する。
    sudo a2enmod rewrite
    

    a2enmodはrewrite.loadのような特定のモジュールを有効化するスクリプトが書かれているファイルを、「/etc/apache2/mods-enabled」内にシンボリックリンクを作ることによって有効化する。a2dismodはその逆。

  3. apacheの設定ファイルを開く。
    sudo vim /etc/apache2/apache2.conf
    
  4. 任意の場所に以下の内容を追記して書き込み保存する。
    <Directory /var/www/wpbl>
         AllowOverride All
    </Directory>
    
  5. apacheを再起動する。
    sudo service apache2 restart
    
  6. ホスト側のブラウザで各エントリをクリックし、404エラーにならないことを確認する。

参考:
mod_rewriteの設定(パーマリンク形式を変更した場合にエラー表示された場合)
Ubuntu版Apache2でmod_rewriteを有効にする