VCCWのv3のOSがUbuntuということを知らず、悪戦苦闘した結果です。公式サイトにある手順でやればこんなことにはならないと思いますので、公式サイトを見ながら実践したほうが良いです。
・VCCW - A WordPress development environment.
⇧ 2017年5月20日 現在はトップページにはvccw v3の導入の仕方が載ってます。
なので、ここから先は間違ったやり方なので参考にはならないと思いますので、お時間ある方のみご照覧ください。
・Vagrant+Virturlbox+VCCWの使い方(Mac/Windows) | コムテブログ
の記事の中で、VCCW開発者の方が、Windowsの場合はgit cloneしないでzipファイルをダウンロードする方法を薦めてました、なんでも改行コードの関係で残念な結果になってしまうようです。
本番環境をローカル環境に持ってくるのに、 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
Movefileを作成する
インストールするVCCWによって、Movefileが自動生成されない場合があるようです。
MovefileはWordmoveを実行する際に必要になる設定ファイルのようです。
・本番同期も簡単にできるWordPressローカル環境をVCCWで構築した手順メモ – たらハコ
さっそく、作成しましょう!
wordmove init
はい~、そんなコマンド見つかりませんエラー。(後述しますが、wordmove initを実行するフォルダの場所も間違ってました)
・KUSANAGIにwordmoveをインストールする | 有限工房
どうやら、wordmoveをインストールするためには先ずrubygemsというパッケージ管理ツールをインストールする必要があるようです。ありがたい情報に感謝!
yum install rubygems
yum、お前もか!
sudo apt install yum
雲行き怪しいかも...、updateしろって、仮想マシン作成したばっかりなんですが...。
・ubuntuでapt-get install failedなメモ - Qiita
sudo apt-get update
再度、yumのインストールを試みる。
sudo apt install yum
エラーが出てないので、今度こそrubygemsをyum installや~。
ホワッツ?
『You need to be root to perform this command.』
rootユーザー(スーパユーザー)で実行する必要があるようです。suでユーザーを切り替えようとしたのですが、パスワードがvagrantで通らない謎現象のためsudoで実行!
今度は何?
『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>』
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ユーザーには下記コマンドでなれる模様。よく分からんね~。
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
・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
散々、やってきたけど結局、yumをあきらめて、Ubuntuのaptでrubygemsをインストールしました、無駄な時間を浪費してしまった....。そもそも、Ubuntuでは、yumではなくaptを使っていくのが定石みたいです。(単純にyumでrubygemsがインストールすることがどうしてもできなかったという、大いなる挫折!)
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
sudo apt-get install ruby2.4 ruby2.4-dev
ruby -v ruby 2.4.1p111 (2017-03-22 revision 58053) [x86_64-linux-gnu]
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
WordPressのドキュメントルートに移動
wordmove initでmovefileを作成するのですが、movefileを設置する場所が、wordpressが設置されている場所と同じ階層にする必要があるようです。自分の場合ですと、 ホストOSであるWindows側の場合、Vagrantfileがある場所にwordpressがインストールされているので、E:¥vagrant_test¥vccwフォルダが該当する場所になるようです。
ゲストOSである仮想マシンでは、/vagrantフォルダがホストOS側のE:¥vagrant_test¥vccwフォルダと共有されているようです。なので、仮想マシン側で、/vagrantフォルダに移動し、wordmove initを実行すればmovefileがホスト側にできるはずです。
cd /vagrant
wordmove init
ファイルが作成されました!
ホスト側(Windows)
ようやくスタートラインに立てましたが、勝手にRubyのバージョンを上げてしまったりしているのでこれから先もいろいろ不具合が出てきそうです。
次回は、いよいよwordmoveを使って本番環境と同期するを、実行できればと思います。そのためには、sshできるサーバー借りて本番環境を作らねばです。
・wordmoveでローカルのWordPressを速攻デプロイ - たんしおどっとねっと
によると、ftp接続はオススメできないようです。自分の使っているxdomainの無料版だとsshできないので何か探さねばです。
今回はこのへんで。