コミュ障だから明日が僕らをよんだって返事もろくにしなかった

何かを創る人に憧れたからブログをはじめたんだと思うよ

ぐぬぬ……、れいるずわかんね

Rails わかんね

Railsわかんねとか言うタイトルつけてるけど多分本番環境の構築わかんねとかそういう話しな気がする。まあ、Railsって本番環境に乗せるまでがRailsだから(?)。本番リリースできない人間はRailsのこと何もわかってない人類のクズだから、敗北者だから……。つらぽよー……。


つい先日(何ヶ月か前)、ここがRails実験場にいけるんじゃないかにゃって検討していたんですが僕にはだめでした。なので今日はその壮絶な挫折模様でも記事にしていこうかと思ったのでした。
www.xrea.com

まずは何はともあれSSHログインします。そんなわけで[サイト設定 > SSH接続IP許可]を設定します。そうしたら中に入れます。

$ ssh [id]@[server名]

んで……。

$ cd /
-rbash: cd: restricted

rbashで色々と使えるコマンドに制限かけられていた……。「chsh」でデフォルトシェルをかえることでなんとか突破できるっぽい。

参考:RBASH
Man page of RBASH


ということで突破してgemを使ってrailsを落とすところでまた問題発生です……。

$ gem install rails
ERROR:  While executing gem ... (Gem::FilePermissionError)
    You don't have write permissions

gem使う権限とかがあかんそうです。ということ環境変数をこねくり回して管理者権限の領域を書き換えます。「PATH」、「GEM_HOME」、「RUBYLIB」の環境変数をいじってやればいけた。


それで無事Rails落とせたんですけど、dispatch.cgiがうんぬんとか言われて動いてない……。そういやRailsってApacheで動かせないやん。Rails 2.2系なら「dispatch.cgi」が同梱されているので動かせるらしいけどRails >=5時代にそこまでバージョン下げるのはちょっと……。うーん困った。ので、なんとかApacheで動かす方法を探すとpassenger使うとapache連携できるって書いてあったから試してみる。普段本番リリースまでしないからこういうので詰まるんですね。

$ gem install passenger
$ passenger-install-apache2-module --no-ri --no-rdoc
*** EXCEPTION: parent directory is world writable, FileUtils#remove_entry_secure does not work; abort: "/tmp/*****" (parent directory mode 40777) (ArgumentError)

また権限周りで……。gemは落とせたが、sudoが使えずパーミッション変更できずで撃沈。無料版でできることはここまでなのかな……。とりあえずヘルプ要請みたいな感じで残しておく。

「HelloWorld」まで表示できればこっちのものなんだけどやっぱ僕にはRailsはまだ早かった……。どうしたらいいんだタスケテ……。

[ rails デプロイ -Heroku] [検索]

僕にはわからん……。いや、まだPumaとかあるのか……?もう疲れた、またやる気がわいたら別の方法試す。


おわり


おまけ

僕的には「いかがでしたか?分かりませんでした」で終わらせるのもしゃくなので以前作った某ちゃんねる風掲示板アプリの供養でもしようと思います。

以前作ったごみ
inujini.hatenablog.com

現在こんな感じになってます。

f:id:andron:20190524213220p:plainf:id:andron:20190524213229p:plainf:id:andron:20190524213237p:plain
まずは公開してから後悔しようってことで、ユーザー側の機能だけカスタマイズした。

やったこと
・投稿URL「/posts/[:ID]」で存在しないIDが入力されたとき、ホームにリダイレクトするようにしました。
・削除や編集機能を除去しました。

やってないこと
・前回やりたいっていったこと全般

そのうちやりたいこと
・管理画面つくって管理者がレスを削除できるようにする(New)
Rails動かせる無料鯖を探す(New)


ちなみになんですけど、コードはどこにも載せてませんが下みたいに次回実装時にやりたいこととかいう邪悪なコメントアウトいれてるからコードがまじでゴミなのはここだけの秘密ナ!

<% if true == false %>
  <!-- ~のときにする処理 -->
<% end %>