スポンサーリンク

Phoenix1.2.1のインストール(Windows7+Vagrant+CentOS7.3+Elixir1.3.4でPhoenix1.2.1)

毎度おなじみの大変な環境構築。特にMacではなくWindowsだと本当に面倒。プログラミングやるなら、Mac買った方が絶対にスムーズだと思われるが、仕事でWindowsの方が使いやすいので、Macを持っていない私にはWindowsでやるしかない。

Windows7で、Vagrant+VirtualBoxを用いて、
CentOS7.3上に、Phoenixの開発環境を構築する方法をメモしておく。

下記とほとんど同じ。Windows7でやってみた。

http://twosquirrel.mints.ne.jp/?p=14421

(環境)
Windows 7 Professional 64bit
VirtualBox 5.1.18
Vagrant 1.9.1 (1.9.3 だとエラー)
CentOS7.3
Erlang/OTP 19
Elixir 1.3.4
Phoenix 1.2.1
Nodejs 6.9.5
PostgreSQL

VisualStudioCode
TeraTerm
ホストOS(Windows7)の、D:/vm/centos73_phoenix というフォルダに、Vagrantで、
CentOS7.3(ゲストOS)+Erlang+Elixir+Phoenix+Nodejs+PostgreSQLの開発環境を構築する。

(参考)ほとんど以下のサイトの通りに行っています。

How to Install the Phoenix Framework on CentOS 7
Modified on: Mon, Jul 11, 2016 at 5:54 pm EST
https://www.vultr.com/docs/how-to-install-the-phoenix-framework-on-centos-7

(0-0)VirtualBoxと、Vagrantを一度アンインストールして、最新版をインストール

https://www.virtualbox.org/
 

https://www.vagrantup.com/
 

(0-1)VagrantでCentOS7.3のセットアップ

VisualStudioCodeの起動
Ctrl + @ でcmd.exe を表示

cd d:\vm
mkdir centos73_phoenix
cd centos73_phoenix
vagrant init bento/centos-7.3

作成されたVagrantfileを以下のように訂正

(変更前)

(変更後)

Vagrant.configure(“2") do |config|
config.vm.box = “bento/centos-7.3"
config.vm.network “forwarded_port", guest: 4000, host: 4000
config.vm.network “private_network", ip: “192.168.33.10"
end

作成されたVagrantfileを上記のように訂正してから、

vagrant up

(Vagrant 1.9.3 だと、port 4000がどうだこうだと言われてエラーが出たので、Vagrant 1.9.1 をインストールし直した。)

(0-2)TeraTermでログイン

127.0.0.1
2222
vagrant
vagrant

 

(1)Update the system

sudo yum -y install epel-release
sudo yum -y update

10分くらいかかる。

 

sudo reboot

TeraTermが閉じられるので、もう一度、TeraTermでログイン

(2)Install Erlang

cd ~
wget http://packages.erlang-solutions.com/erlang-solutions-1.0-1.noarch.rpm
sudo rpm -Uvh erlang-solutions-1.0-1.noarch.rpm
sudo yum -y install erlang

 

だいぶ長く時間がかかる。10分くらい?

 

Erlangがインストールされたことを確認。

erl

Ctrl + C を2回入力してErlang shellから脱出する。

(3)Install Elixir

今回は、Elixir 1.3.4 をインストールする。

cd /usr/bin
sudo mkdir elixir
cd /usr/bin/elixir
sudo wget https://github.com/elixir-lang/elixir/releases/download/v1.3.4/Precompiled.zip
sudo yum -y install unzip
sudo unzip Precompiled.zip

 

 

 

/usr/bin/elixir/bin/elixir -v

PATHを設定する。

sudo vi /etc/profile

↓ボタンで一番下へ行き、「o」を押す (→INSERTモードになる)

以下の文字列を挿入

export PATH="$PATH:/usr/bin/elixir/bin:/usr/bin/node-v6.9.5-linux-x64/bin"

「Esc」+ 「:」+「w」+「q」を順番に押す

Enter を押す

source /etc/profile

elixir -v

Hex package manager のインストール

cd ~
mix local.hex

途中で「Enter」を押す。

 

(4)Install Phoenix

mix archive.install https://github.com/phoenixframework/archives/raw/master/phoenix_new.ez

途中で「Enter」を押す。

(5)Install Node.js

cd ~
wget https://nodejs.org/download/release/v6.9.5/node-v6.9.5-linux-x64.tar.xz
sudo yum -y install xz
xz -d node-v6.9.5-linux-x64.tar.xz
tar -xvf node-v6.9.5-linux-x64.tar
sudo mv ~/node-v6.9.5-linux-x64 /usr/bin/
node -v

 

 

(6)Install PostgreSQL

sudo yum install -y postgresql-server
sudo postgresql-setup initdb

 

postgresql serviceの起動

sudo systemctl start postgresql.service
sudo systemctl enable postgresql.service

Postgresqlで、ユーザー: postgres のパスワードを設定

sudo -u postgres psql

postres=# と表示されたら、

\password postgres

として、任意のパスワード(今回は、postgres とする)を2回入力。

その後、

\q

でpostgresの画面を終了。

 

Setup the database user authentication method:

sudo vi /var/lib/pgsql/data/pg_hba.conf

矢印ボタンで下の方へ行き、# IPv4 local connections: といったところへ行く。

「i」を押す。

以下のように、2か所の ident を、md5 に書き換える

「Esc」+「w」+「q」で、Enter

postgresqlの再起動

sudo systemctl restart postgresql.service

(7)Intall inotify-tools

sudo yum -y install inotify-tools

(8)Create a Phoenix application

一旦、TeraTermを閉じて、Windowsのコマンドプロンプトで、ゲストOS(CentOS 7.3)を再起動する。

vagrant halt
vagrant up

 

TeraTermでログイン

127.0.0.1
2222
vagrant
vagrant

———————

今回、

Windows 7(ホストOS)の、d:/vm/centos73_phoenix/

と、

CentOS7.3(ゲストOS)の、/vatrant/

の中身が一緒になっている。

———————

cd /vagrant
mix phoenix.new sample

途中で何か聞かれたら、「Enter」を押す。

 

「* error command failed to execute, please run the following command ・・・」が出ても焦らない。我々には、「npm install –no-bin-links」がある。

http://twosquirrel.mints.ne.jp/?p=14545

cd sample

mix ecto.create

途中で何か聞かれたら、「Enter」を押す。

 

npm install –no-bin-links

node node_modules/brunch/bin/brunch build

mix phoenix.server

 

ゲストOS(Windows 7)で、http://localhost:4000

(9)終了するときは、Ctrl+C を2回押す。

TeraTermを閉じて、Windowsのコマンドプロンプトで、

vagrant halt

(10)再開するときは、

Windowsのコマンドプロンプトで、 vagrant up

TeraTermでログイン

127.0.0.1
2222
vagrant
vagrant

(参考)

How to Install the Phoenix Framework on CentOS 7
Modified on: Mon, Jul 11, 2016 at 5:54 pm EST
https://www.vultr.com/docs/how-to-install-the-phoenix-framework-on-centos-7

symlink protocol error  #12733
joenmarz opened this Issue on May 18 2016
https://github.com/npm/npm/issues/12733

http://twosquirrel.mints.ne.jp/?p=14545

Elixir,Phoenix

Posted by twosquirrel