この話題もついに第5回になりました。

この回数の多さが私の苦労の多さを表しているといっても過言ではないw

 

さてDocker内で起動まで成功したRailsですが、開発にしか使用しないにしても

LAN内でブラウザからアクセスくらいできなきゃなんともなりません。

#てかそうじゃなきゃ動作確認すらままならない

 

ですので、今回は最後の仕上げ。どちらかというとRailsの環境構築というよりは

QNAP NASとContainerStationの環境構築の話です。

 

結果としてうまく動かすことができた方法は

「ContainerStationのRailsコンテナのネットワーク設定をBridgeにしてIPアドレスを固定にする」

ことでした。

よくネットで見るのはNatにしてポートをNASのポートに対応させる方法なんだけど、これちっとも動作しなかった。

※てかこれで動かなかった原因分かる人に教えてほしい

↓の画像。

しかし、この後 ContainerStationのRailsにPingは通るけど、LAN内のパソコンから

http://192.168.***.***:3000

でアクセスしても反応がない。。。

 

これは調べるとRailsの起動方法が問題のようだ。

いつも通りの

rails server

ではなく

rails server -b 0.0.0.0

で起動するとうまくアクセスできた。

意味はよくわかってないけどw どうやらRailsサーバーにアクセスするアドレスをどんなものでも受け付ける、みたいな意味らしい。

 

さぁそろそろ終わりか?

と思いきや、もう少しやります。

次はRails+SQLサーバー構成にするのと、DynamicDNSで接続する方法だ!

ここまでできるとほんと自宅のNASで外部に公開できるRailsアプリが作成できる!

 

話し相手、電話相談、愚痴聞き、恋愛相談、人生相談などは
10分300円の話し相手サービス「メルシー」をどうぞ
http://hanashiaite-merci.wixsite.com/home

前回、Railsをインストールできて、これで終了だー

て思いますよね。

 

やはりそう簡単にはいかないんです。

てことでさらに続き。

 

インストールできたからとりあえず、新しいアプリを作成てことで

 

rails new hogehoge

 

として、作成したhogehogeフォルダに cd で入って

 

rails server

 

で起動。

ところがエラーで起動せず。。。

なんだか、tzinfo-data がどうとか。

調べるとGemfileを修正しなくちゃいけないんだそうな。

 

Gemfileを編集
# Windows does not include zoneinfo files, so bundle the tzinfo-data gem
gem 'tzinfo-data' ←追加
#gem 'tzinfo-data', platforms: [:mingw, :mswin, :x64_mingw, :jruby] ←コメントアウト

のあと
bundle update
rails webpacker:install

でようやく起動!!
パチパチパチ

 

ところがところが、ここからもさらにまだ問題が!

※もうどんだけ問題でるんだよ!

普通ならば、サーバーのport 3000にアクセスするとRails Yeah!みたいなページが出るんだけど

Dockerのコンテナ内に起動したRailsにブラウザからアクセスする方法がわからないのです。

 

色々な解説ページでみるのはNASのポートとコンテナ上のポートを接続するようにContainerStation

に設定すればよい、みたいに書いてあるんだけど、なぜかうまく動かない。

もうこういうのが頻発でほんとイヤだ~~~

 

これもまた不屈の闘志で克服できたんだけど、その解決方法はまた次回

 

話し相手、電話相談、愚痴聞き、恋愛相談、人生相談などは
10分300円の話し相手サービス「メルシー」をどうぞ
http://hanashiaite-merci.wixsite.com/home

 

また続き

Railsのインストールは以下のページを参考にしたのですが、

 

 

この手の作業にはつきものの、「なんで書いてある通りにいかないの??」

て事態が連発です。

 

まずは ubuntuのアプリインストールのコマンドをアップデート。

これしないといろんなソフトがインストールできない。

apt-get update

そのあとgitをインストール。gitもいろんなアプリを入れるようのコマンドぽい。

(知識レベルが低いw)

apt-get install git

 

curlをインストール(あとから必要になるっぽい。なんのアプリかよくわからないw)

apt-get install curl

 

あとからいるアプリをまとめてインストール。

makeとgccはなんとかわかる。

apt-get install make gcc libssl-dev libsqlite3-dev zlib1g-dev
 

Dockerで構築してくれたubuntuはテキストエディタもないようなので、vimもインストール

apt-get vim 

 

さてやっとRubyのインストール。

Rubyのバージョン管理できるrbenvを先にインストール。

git clone git://github.com/sstephenson/rbenv.git .rbenv
git clone https://github.com/rbenv/rbenv.git ~/.rbenv
cd ~/.rbenv && src/configure && make -C src
~/.rbenv/bin/rbenv init

 

 

mkdir -p "$(rbenv root)"/plugins
git clone https://github.com/rbenv/ruby-build.git "$(rbenv root)"/plugins/ruby-build


それぞれのコマンドの意味はあまりわからないw

 

 

 

がいろいろ調べながらいろんなコマンドを組み合わせた。

なんせ説明通りにインストールしようとしてもうまくいかず、エラーが出る。

エラーを検索して必要なものをそろえるためのコマンドをうつ。

の繰り返し。これぞLinuxの環境構築地獄って感じw

rbenvでインストールできるRubyのバージョンをみる

rbenv install -l

 

2.7.2が最新だったのでそれをインストール。

rbenv install 2.7.2

 

Railsに必要な nodejs をインストール。

 

ただし普通にインストールすると古いバージョンがインストールされるので、nodejsのバージョン管理をする

npmをインストールして、nodejsを最新版に更新する。

※nodejsが古いとあとから叱られるw

apt-get install nodejs npm
npm install -g n
n latest

 


Railsに必要なyarnをインストールの準備。

 

 

curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | apt-key add
echo "deb https://dl.yarnpkg.com/debian/ stable main" | tee /etc/apt/sources.list.d/yarn.list

 


なぜかインストールしたRubyにpathが通っていなかったので、パスを通す。

 

 

 

vim  ~/.bashrc

PATH="$PATH:/root/.rbenv/versions/2.7.2"を追加

source  ~/.bashrc

 

 

yarnのインストール。

npm install yarn -g

 

ここまで苦労してやっとRailsのインストール。

 

ふ~~~

gem install rails

 

 

話し相手、電話相談、愚痴聞き、恋愛相談、人生相談などは
10分300円の話し相手サービス「メルシー」をどうぞ
http://hanashiaite-merci.wixsite.com/home