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を一度アンインストールして、最新版をインストール
(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
ディスカッション
コメント一覧
まだ、コメントがありません