1
0

More than 5 years have passed since last update.

Mastodon (Dev) を Windows7 + Vagrant + VBox でMastodonの開発環境を作成した

Last updated at Posted at 2018-10-13

Windows7でMastodonの開発環境を作成した

@abcangさんの『Mastodonの開発環境の構築まとめ』( https://qiita.com/abcang/items/8075ecd20be66a5659ec ) を参考にしましたが、自分の環境だと止まることがいくつかありました。そのため、おもに実行手順になりますが、まとめておきます。

概要

事前準備していたもの(説明が省略気味)

  • VirtualBoxのインストール
  • Mastodonソース類の用意

今回実行したこと

  • PowerShellのアップグレード
  • Vagrantのインストール
    • Vagrantプラグインのインストール
  • hostsの権限設定
  • 共有フォルダ設定

    • Vagrantfileの編集
    • シンボリックリンク許可設定
  • 起動!

環境(ソフトウェアバージョン)

  • Windows7 SP1 64bit
  • Oracle VM VirtualBox 5.2.18
  • Vagrant 2.1.5
  • Mastodon v2.5.1

構成手順

VirtualBox インストール

VirtualBoxのサイト( https://www.virtualbox.org/ ) からダウンロード、インストールを行っておきます。

Mastodonソース類の準備

公式リポジトリはこちら。 ( https://github.com/tootsuite/mastodon )
Gitクライアントをいれて、 git checkout [開発対象ブランチ]をしておくといいかもしれません。

例としては、Git Bashを使い、

Git bash
$ git clone https://github.com/tootsuite/mastodon.git dev
$ cd dev

などとしておくといいと思います。自分用にforkしてある場合はそちらをclone先にしておくといいと思います。

PowerShellのアップグレード

@nobb_heroさんの『Vagrant up から進まない!?』( https://qiita.com/nobb_hero/items/3422b37ba2e9e3299680 )を参考にしました。

WMF 5.1 のインストールと構成 | Microsoft Docs( https://docs.microsoft.com/ja-jp/powershell/wmf/5.1/install-configure )より、Windows7 SP1 x64(32bit版の場合はx86)をダウンロードし、解凍します。

PowerShellを管理者権限で実行し、(64bitの場合、間違って(x86)を選択しないようにし)

PowerShell
> cd 解凍したディレクトリ
> .\Install-WMF5.1.ps1

とします。必要に応じて再起動します。

Vagrantのインストール

VagrantのDownloadサイト( https://www.vagrantup.com/downloads.html )より、Windows版をダウンロードし、msiを実行します。

Vagrant Pluginのインストール(任意)

必須のプラグインはないみたいですが、私の場合は、
hostsファイルの変更をするvagrant-hostsupdaterと、
VBoxGuestAdditionsのバージョン合わせをしてくれるvagrant-をいれました。

vagrant-winnfsdもいれましたが、やたらと止まってしまうので今回は抜いておきました。

cmd
> vagrant plugin install vagrant-hostsupdater vagrant-vbguest

hostsの権限設定

最終的に関係なかったかもしれませんが、Vagrantを利用するユーザでhostsファイルを変更できるようにしておきます。vagrant-hostsupdaterを利用しない場合は不要だと思います。

  • C:\Windows\System32\drivers\etcにあるhostsファイルを右クリック、プロパティを開きます。
  • セキュリティタブのグループ名またはユーザ名の実行ユーザを選択し、編集から、フル コントロールを許可にします。

共有フォルダ設定

『Windowsホストのvagrantでmastodonを動かす』( https://argrath.ub32.org/annex/2017/04/24-01.html )にもある通り、シンボリックリンクが作成できないと動かないみたいなので、作成できるようにします。(記事だと別の方法で回避していたみたいですが、バージョンが違ってこわいので、シンボリックリンク貼れるようにする設定をします)
VirtualBoxの共有フォルダ設定で、VM内にMastodonのソース類を渡していますが、
ホストであるWindowsのファイルシステム上でシンボリックリンクを作成できるようにするには、
いくつか設定が必要になります。
また、mountのオプションも変更しないとエラーが出たので、その設定も行っておきます。(原因はわかっていない)

@tanakachangさんの『Windows 7環境でのVirtualBox(vagrant)の共有フォルダーのトラブル2つ』( https://qiita.com/tanakachang/items/11dab5309b64b4f64119 )を参考にしました。

Vagrantfile編集

  • mountオプションの変更
  • シンボリックリンクを貼れるように

します。適当に略してあるので、該当部分を探して変更してください。

Vagrantfile
(略)
  config.vm.provider :virtualbox do |vb|
    vb.name = "mastodon"
    vb.customize ["modifyvm", :id, "--memory", "2048"]

(中略)
    vb.customize ["modifyvm", :id, "--nictype2", "virtio"]

    # シンボリックリンク設定を追記
    vb.customize ["setextradata", :id, "VBoxInternal2/SharedFoldersEnableSymlinksCreate/vagrant", "1"]

  end

(中略)

  if config.vm.networks.any? { |type, options| type == :private_network }
     # 元の設定はコメントアウトして残してあります。
#    config.vm.synced_folder ".", "/vagrant", type: "nfs", mount_options: ['rw', 'vers=3', 'tcp']
    config.vm.synced_folder ".", "/vagrant", type: "nfs", mount_options: ['dmode=777', 'fmode=777']
  else
    config.vm.synced_folder ".", "/vagrant"
  end

設定は以上です。

起動

vagrant upで起動し、Mastodon自体はvagrant ssh -c "cd /vagrant && foreman start"で起動できます。

cmd
> vagrant up
> vagrant ssh -c "cd /vagrant && foreman start"
1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0