前回の記事では、実運用するわけではないのでrootでやればいいと思っていましたが、次に実運用するときにはちゃんとユーザー作ってやらなければいけないので、その方法を学ぶべく、新たにユーザーをつくっておくことにしました。
前回の記事
チュートリアル 2-VS CodeからSSHでサーバー上のファイルを編集
今回はその方法です。
一般ユーザーの作成
![nakachon — root@150-95-154-147:~ — ssh root@150.95.154.147 — 80×24 2019-10-21 23-59-29.jpg Nakachon root 150 95 154 147 ~ ssh root 150 95 154 147 80×24 2019 10 21 23 59 29](https://zero-lara.com/wp-content/uploads/2019/10/ec8807283c725d82515ed5742dc1ad68.jpg)
まずはターミナルからSSHでConoHaサーバーにログインします。
$ useradd nakachon
新しくユーザー nakachonを追加
$ passwd nakachon
nakachonのパスワードを設定。
$ usermod -G wheel nakachon
nakachonをwheelグループへ追加
$ groups nakachon
nakachonがwheelグループに所属しているか確認。
![usr — ssh root@150.95.154.147 — 80×24 2019-10-22 00-18-59.jpg Usr ssh root 150 95 154 147 80×24 2019 10 22 00 18 59](https://zero-lara.com/wp-content/uploads/2019/10/f35556e1fc074d55abe03c975b52bd1c.jpg)
確認できました。
VS codeからのSSH接続も一般ユーザーに変更
前回、VS codeからRemote FSという拡張機能を使ってSSH接続して編集する設定は、rootからになっていたので、一般ユーザーであるnakachonに変更します。
![2019-10-22 00-33-59.jpg 2019 10 22 00 33 59](https://zero-lara.com/wp-content/uploads/2019/10/2019-10-22-00-33-59.jpg)
これで、ユーザーが変わりました。
接続します。
![2019-10-22 10-43-54.jpg 2019 10 22 10 43 54](https://zero-lara.com/wp-content/uploads/2019/10/2019-10-22-10-43-54.jpg)
前回、test.txtというファイルをhtmlフォルダに作成していたのですが、ユーザーを変えたことで書き込み権限がないというエラーが表示されました。
試しに、/html/laravel/appの下にファイルをつくろうとしたのですが、こちらも同じように権限が無いというエラーが発生しました。
![www — ssh root@150.95.154.147 — 80×24 2019-10-22 10-58-22.jpg Www ssh root 150 95 154 147 80×24 2019 10 22 10 58 22](https://zero-lara.com/wp-content/uploads/2019/10/368afe72f7ae030ac9317a8d21461921.jpg)
ターミナルからssh接続して確認したところ、htmlフォルダはユーザーもグループもrootになっていました。
![html — ssh root@150.95.154.147 — 80×24 2019-10-22 13-16-48.jpg Html ssh root 150 95 154 147 80×24 2019 10 22 13 16 48](https://zero-lara.com/wp-content/uploads/2019/10/54eb49c1c6f2667c87714aa44dcea52a.jpg)
また、html/laravelのフォルダはユーザーとグループはapacheです。
ここで、laravelフォルダの権限についてFacebookのlaravel jpグループで質問したところ、対応方法を教えてもらいました。感謝です!
ディレクトリを2775(sgid)にしてuserをapache グループに入れる
Facebookのlaravel.jpグループで教えていただいた方法です。下記のURLも添えられていました。
ターミナルからrootでssh接続し、この方法でやってみます。
![html — ssh root@150.95.154.147 — 115×24 2019-10-22 13-37-36.jpg Html ssh root 150 95 154 147 115×24 2019 10 22 13 37 36](https://zero-lara.com/wp-content/uploads/2019/10/1dddd52c4e0e7a0528b5e498cd5d915d.jpg)
上記のとおり、リンク先のサイトに書かれているとおりにやってみました。
途中、find /var/wwwのところはちょっと時間がかかるのでご注意を。
再度VS codeから接続
![2019-10-22 13-41-08.jpg 2019 10 22 13 41 08](https://zero-lara.com/wp-content/uploads/2019/10/2019-10-22-13-41-08.jpg)
ユーザーをnakachonとして接続し、/var/wwwにtest.txtというファイルを作成したところ問題なくできました。
これで、VS codeを使ってSSH越しにConoHaサーバーのファイルを編集することができそうです。
まとめ
Linuxサーバーでアプリケーションを構築する場合、ユーザーの権限とグループを間違えるとかなりハマるので、学習したことはひとつひとつブログに残しながら、次に同じような開発をするときのメモにしたいものです。
あと、ConoHaのLaravelイメージをインストールすると、MariaDBも同時に用意されていたので、次回はMariaDB(MySQL)との接続をやってみます。