0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

AWSで開発用のユーザーをつくってCloud9でlaravelを立上げる(Permissionの備忘録)

Last updated at Posted at 2019-01-26

#背景
Cloud9でlaravel開発環境の構築で開発用のuserをつくった方がいいと思ったので作成。

#手順
参考:EC2にSSH接続用のユーザーを作

ユーザー作成

$ sudo su -

# useradd test-usr
# passwd test-usr

sudoが実行できるように変更

# sudo visudo

#追記する
test-usr    ALL=(ALL)       ALL

test-usrで入り直す

# exit

$ sudo su - test-usr

sshキーの作成

$ cd /home/dev-usr

$ mkdir .ssh

$ cd .ssh
$ ssh-keygen -t rsa
#今回はパスフレーズなしで作成した

Amazon Linuxに合わせて名称変更とPermission設定

$ mv id_rsa.pub authorized_keys

$ chmod 600 authorized_keys
$ cd ..
$ chmod 700 .ssh

ローカル環境に鍵を保存する。catコマンドでコピペして作成。
ローカルではaws-test-usr.pemで保存。

$ cat id_rsa

#コピペ
-----BEGIN RSA PRIVATE KEY-----
・
・・・
-----END RSA PRIVATE KEY-----

sshd_configに追記

$ exit
$ sudo su -

# vi /etc/ssh/sshd_config

#なければ追記する
/etc/ssh/sshd_configAuthorizedKeysFile      .ssh/authorized_keys

ローカルからログインしてみる

$ ssh -i "aws-test-usr.pem" test-usr@xx.xx.xx.xx

ログインできない

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@         WARNING: UNPROTECTED PRIVATE KEY FILE!          @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
Permissions 0644 for 'aws-test-usr.pem' are too open.
It is required that your private key files are NOT accessible by others.
This private key will be ignored.
Load key "aws-test-usr.pem": bad permissions
dev-usr@xx.xx.xx.xx: Permission denied (publickey,gssapi-keyex,gssapi-with-mic).

Permissionが0664ではエラーが出るためPermission変更

$ chmod 600 aws-test-usr.pem

ログイン

$ ssh -i "aws-test-usr.pem" test-usr@xx.xx.xx.xx

Last login: Fri Jan 25 20:45:51 2019

       __|  __|_  )
       _|  (     /   Amazon Linux 2 AMI
      ___|\___|___|

https://aws.amazon.com/amazon-linux-2/

できました。

#Permissionについておさらい(備忘録)

$ll

-rw------- 1 dev-usr dev-usr  434  1月 25 20:47 authorized_keys

###分解する。
①- ②rw- ③r-- ④r-- ⑤test-usr ⑥test-usr ・・・・⑦authorized_keys

###1、3、3、3で分かれるイメージ。
①はファイルのタイプ
②の「rw-」は⑤の「test-usr」という所有者のPermission
③の「---」は⑥「test-usr」というグループのPermission
④の「---」とその他(どのグループにも属さない)のユーザのPermission
⑦ディレクトリ名

###Permissionの種類
'- Permissionなし
r 読み
w 書き
x 実行

###番号にすると
0---、1--x、2-w-、3-wx、4r--、5r-x、6rw-、7rwx

$ chmod 600 authorized_keys

#authorized_keysの、所有者にのみ、読み書き権限を付与

参考

#新しくつくったuserでCloud9接続

※新しくつくったuserのauthorized_keysに公開鍵をコピー
Create a new environment 2019-01-26 10-38-56.png
Create a new environment 2019-01-26 10-40-53.png

接続できた。
test - AWS Cloud9 2019-01-26 10-42-07.png

#laravelプロジェクト作成

$ ~/composer.phar create-project --prefer-dist laravel/laravel test-laravel

###Permissionのエラー

Installing laravel/laravel (v5.7.19)


  [ErrorException]
  mkdir(): Permission denied

Permissionの設定変更で解決

$ cd /var/www/environment
$ sudo chmod 775 environment

###メモリ不足でエラー

The following exception is caused by a lack of memory or swap, or not having swap configured
Check https://getcomposer.org/doc/articles/troubleshooting.md#proc-open-fork-failed-errors for details

下記を参照してスワップファイルを作成して解決
Cloud9でlaravel開発環境の構築

###cloud9を開いた時の**.c9のインストール**でエラー
参考

sudoをパスワードなしで使えるようにして解決

$ sudo visudo

#追記
test-usr ALL=NOPASSWD: ALL

###ブラウザでlaravelページを開いた時にエラー

The stream or file "/var/www/test-laravel/storage/logs/laravel-2019-01-26.log" could not be opened: failed to open stream: Permission denied

またParmissionでエラー
下記の対応で解決

#apacheに権限付与して見た
$ sudo usermod -a -G www apache
$ sudo usermod -a -G dev-usr apache

#再起動
$ sudo systemctl restart httpd

#問題のログファイルを削除
$ sudo rm laravel-2019-01-26.log

###起動しました
Laravel 2019-01-26 13-12-17.png

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?