※当サイトの記事には、広告・プロモーションが含まれます。

Windows 10 Home VCCW(v3)でMovefileを作成する

VCCWのv3のOSがUbuntuということを知らず、悪戦苦闘した結果です。公式サイトにある手順でやればこんなことにはならないと思いますので、公式サイトを見ながら実践したほうが良いです。

VCCW - A WordPress development environment.

⇧  2017年5月20日 現在はトップページにはvccw v3の導入の仕方が載ってます。

 

なので、ここから先は間違ったやり方なので参考にはならないと思いますので、お時間ある方のみご照覧ください。

Vagrant+Virturlbox+VCCWの使い方(Mac/Windows) | コムテブログ

の記事の中で、VCCW開発者の方が、Windowsの場合はgit cloneしないでzipファイルをダウンロードする方法を薦めてました、なんでも改行コードの関係で残念な結果になってしまうようです。

f:id:ts0818:20170514230250p:plain

本番環境をローカル環境に持ってくるのに、 Wordmoveというものを使っていくのですが、本番環境にFTPという方法か、SSHという方法で接続する必要があるようです。

WindowsでCygwinを使ってエックスサーバーとSSH接続をする

仮想マシンにログインする

まずは、前回、git clone https://github.com/vccw-team/vccw.gitで作成された仮想マシンにログインします。(Windowsの場合は、git cloneしないでzipファイルをダウンロードする方法を使ったほうが良いです。ちなみには自分はgit cloneしてしまったので、そのまま続行してます...駄目じゃん。)

cd E:/vagrant_test/vccw

仮想マシンが起動しているか確認しましょう。起動してない場合はvagrant up。

vagrant status

ログイン!

vagrant ssh

f:id:ts0818:20170514200900j:plain

 

Movefileを作成する

インストールするVCCWによって、Movefileが自動生成されない場合があるようです。

MovefileはWordmoveを実行する際に必要になる設定ファイルのようです。 

本番同期も簡単にできるWordPressローカル環境をVCCWで構築した手順メモ – たらハコ

さっそく、作成しましょう!

wordmove init

f:id:ts0818:20170514200901j:plain

 はい~、そんなコマンド見つかりませんエラー。(後述しますが、wordmove initを実行するフォルダの場所も間違ってました)

KUSANAGIにwordmoveをインストールする | 有限工房

どうやら、wordmoveをインストールするためには先ずrubygemsというパッケージ管理ツールをインストールする必要があるようです。ありがたい情報に感謝!

yum install rubygems

f:id:ts0818:20170514201900j:plain

yum、お前もか! 

sudo apt install yum

f:id:ts0818:20170514202209j:plain

雲行き怪しいかも...、updateしろって、仮想マシン作成したばっかりなんですが...。

ubuntuでapt-get install failedなメモ - Qiita

sudo apt-get update

再度、yumのインストールを試みる。

sudo apt install yum

エラーが出てないので、今度こそrubygemsyum installや~。

f:id:ts0818:20170514202926j:plain

ホワッツ?

『You need to be root to perform this command.』 

yumができません

rootユーザー(スーパユーザー)で実行する必要があるようです。suでユーザーを切り替えようとしたのですが、パスワードがvagrantで通らない謎現象のためsudoで実行!

f:id:ts0818:20170514202927j:plain

今度は何?

『There are no enabled repos.
Run "yum repolist all" to see the repos you have.
You can enable repos with yum-config-manager --enable <repo>』 

Vagrantにリポジトリを追加する - Qiita

f:id:ts0818:20170514204931j:plain

yum installする際の参照できるリポジトリがないみたいです、そりゃ取ってこれんですね。

epel 

wget http://ftp.riken.jp/Linux/fedora/epel/RPM-GPG-KEY-EPEL-7
sudo rpm --import RPM-GPG-KEY-EPEL-7

epelリポジトリ作成

sudo touch /etc/yum/repos.d/epel.repo

 

sudo vi /etc/yum/repos.d/epel.repo
[epel]
name=EPEL RPM Repository for Red Hat Enterprise Linux
baseurl=http://ftp.riken.jp/Linux/fedora/epel/7/$basearch/
gpgcheck=1
enabled=0

 

rootユーザーには下記コマンドでなれる模様。よく分からんね~。

Ubuntuでroot権限で作業をしたい

sudo su

 

remi

http://dl.fedoraproject.org/pub/epel/7/x86_64/e/ で epel-release-7-9.noarch.rpm 上で右クリック『リンクのアドレスをコピー』

wget http://dl.fedoraproject.org/pub/epel/7/x86_64/e/epel-release-7-9.noarch.rpm

centos7 で epel リポジトリが入らない - Qiita

 

 

rpm -ivh ~/epel-release-7-9.noarch.rpm 

epelゲットならず...

rpm: RPM should not be used directly install RPM packages, use Alien instead!
rpm: However assuming you know what you are doing...
warning: epel-release-7-9.noarch.rpm: Header V3 RSA/SHA256 Signature, key ID 352c64e5: NOKEY
error: Failed dependencies:
        redhat-release >= 7 is needed by epel-release-7-9.noarch

なんかviでファイルが保存できなくなった!rootなのに、どうして?ていうかllコマンド無いって..。

ls -l

f:id:ts0818:20170514230304j:plain

 ・Linux基本コマンドを復習。llコマンドが見つからない。aliasでllコマンドを設定。 - oneshotlife_tomの日記

致し方ないので、cd /etc で移動してディレクトリ作って移動してファイル作って保存!

enabled=0 にすることで、「yum --enablerepo=epel 」「yum --enablerepo=remi 」というようにしないとコマンドが実行できないようになるようです。

例えば、epelのパッケージのインストールの場合は、

yum --enablerepo=epel install パッケージ名    

のようにコマンドを実行していく形になるようです。

CentOS7 サードパーティーリポジトリの追加 | server-memo.net

cd /etc
mkdir yum.repos.d
cd yum repos.d
touch epel.repo
touch remi.repo
[epel]
;enabled=1
enabled=0    
[remi]
enabled=0    

f:id:ts0818:20170514230305j:plain

散々、やってきたけど結局、yumをあきらめて、Ubuntuのaptでrubygemsをインストールしました、無駄な時間を浪費してしまった....。そもそも、Ubuntuでは、yumではなくaptを使っていくのが定石みたいです。(単純にyumrubygemsがインストールすることがどうしてもできなかったという、大いなる挫折!)

apt-get install rubygems

その後、wordmoveをインストール!

gem install wordmove

が、できない!

『ERROR: Error installing wordmove: photocopier requires Ruby version ~> 2.4.』

いやいや、公式でもvccw v3のRubyのバージョンは2.3ですから~、何故に2.4以上が必要?万策尽きたか~...が、エラーのメッセージに従いRubyをアップデートしてみようじゃないか!とうことで、

Ruby 2.4 Ubuntu packages - Brightbox Cloud

を参考に、Rubyを2.4にバージョンアップ。

 

sudo apt-add-repository ppa:brightbox/ruby-ng    
sudo apt-get update  

f:id:ts0818:20170520163012j:plain

[Ubuntu] apt-get まとめ - Qiita

sudo apt-get install ruby2.4 ruby2.4-dev  

f:id:ts0818:20170520163011j:plain

 

ruby -v
ruby 2.4.1p111 (2017-03-22 revision 58053) [x86_64-linux-gnu]

f:id:ts0818:20170520163010j:plain

Rubyが2.4.1p111に!今度こそ、gem install wordmove

gem install wordmove

下記のようなメッセージが出たので、なんか上手くいったと信じたい。それにしても、開発していてRubyのバージョンを上げることができない場合、どうすればいいんですかね?

Done installing documentation for colorize, thor, i18n, thread_safe, tzinfo, concurrent-ruby, activesupport, net-ssh, net-scp, net-ssh-gateway, photocopier, wordmove after 13 seconds
12 gems installed

f:id:ts0818:20170520163009j:plain

 

WordPressのドキュメントルートに移動

wordmove initでmovefileを作成するのですが、movefileを設置する場所が、wordpressが設置されている場所と同じ階層にする必要があるようです。自分の場合ですと、 ホストOSであるWindows側の場合、Vagrantfileがある場所にwordpressがインストールされているので、E:¥vagrant_test¥vccwフォルダが該当する場所になるようです。

f:id:ts0818:20170520163008j:plain

ゲストOSである仮想マシンでは、/vagrantフォルダがホストOS側のE:¥vagrant_test¥vccwフォルダと共有されているようです。なので、仮想マシン側で、/vagrantフォルダに移動し、wordmove initを実行すればmovefileがホスト側にできるはずです。

f:id:ts0818:20170520163837j:plain

cd /vagrant
wordmove init

ファイルが作成されました!

f:id:ts0818:20170520164220j:plain

ホスト側(Windows

f:id:ts0818:20170520164535j:plain

ようやくスタートラインに立てましたが、勝手にRubyのバージョンを上げてしまったりしているのでこれから先もいろいろ不具合が出てきそうです。

次回は、いよいよwordmoveを使って本番環境と同期するを、実行できればと思います。そのためには、sshできるサーバー借りて本番環境を作らねばです。

wordmoveでローカルのWordPressを速攻デプロイ - たんしおどっとねっと

 によると、ftp接続はオススメできないようです。自分の使っているxdomainの無料版だとsshできないので何か探さねばです。

今回はこのへんで。