vagrantで共有ファイル設定したところ、Permission Deniedになってしまった

2018年9月9日JavaScriptSELinux, vagrant

vagrantの仕組みについて調べてみた

はじめに

今回は、業務でJavaScriptを扱うことになったので、家でのjavascriptの勉強用として、vagrantでの新しい仮想マシンを作ることにしました。 現在使っているlaravelの開発とは別にして、簡易のテストやチュートリアルなどをするようにと考えています。
いつものように、cent os 7で仮想マシンを作成して、apacheをインストール、その後、/etc/httpd/conf/httpd.confの設定で、ルートドキュメント等の設定。

sudo systemctl enable httpd #httpdの自動起動
sudo sytemctl start httpd #httpdの起動
sudo yum install npm #npmのインストール
npm install vue #vueのインストール

node_modulesの中にvueというディレクトリが作成されます。node/modules/vue/dist/の中にvue.jsを読み込むためのjavaScriptファイルがあります。試しに簡単なファイルを作成してみました。

<html>
    <head>
        <script src="../node_module/vue/dist/vue.js"
    </head>
    <body>
    </body>
</html>

接続したがPermission Denied

接続してみましたが、パーミッションがないということで、chmod 777 にしてみましたが、反映されなかったので、ディレクトごと実行してみましたが、パーミッションが変わらなかったので、おかしいと思い、ホストマシンとゲストマシンのフォルダーの共有が原因ではないかと思ったので、調べてみました。

SELinuxを無効にする

laravelのプロジェクトでエラーが起こったときにも、この設定を変更していましたが、こちらでも変更をしました。
/etc/selinux/configでSELinuxを”disabled”にします。

vagrant reload

でosの再起動をすれば、ページが開きました。

しっかりと、vue.jsが読み込めているようです。これで、vue.jsを使った開発ができそうなので、実際にテストを行いながら、習得していきたいと思います。