LoginSignup
4
2

More than 3 years have passed since last update.

Cloud9でLaravel5.8+PHP7.3の環境構築をして、gitHubにssh接続まで!

Last updated at Posted at 2019-08-09

はじめに

Laravel5.2+php5.6の環境を作ったときは、特に詰まりもせず環境構築ができたが
Laravel5.8+php7.3の環境構築をしたら、いくつか詰まったところがあるので、備忘録として残しておく。

詰まったポイントとしては
- php7.3を入れたのに適用されない
(pho5.6のときはDefaultで入ってたから入れる必要がなかった)
- Laravel5.2ではインストール後すぐに起動できたのに、Laravel5.8ではうまく起動しない

などなど
他にも色々詰まったので、手順を書いていく。

※投稿者はLaravelを始めたばかりで、Laravelでアプリを作成したことすらありません。
記事を書いたことすらありません。初投稿です。
助言がありましたら、コメントをお願いいたします。

参考記事

AWS Cloud9 で PHP7.1、7.2 へ変更する
No application encryption key has been specified.となったときの対応方法
GitHubでssh接続する手順~公開鍵・秘密鍵の生成から~

参考にさせていただきました。ありがとうございます。

目次

前提条件
Cloud9のワークスペースを作成
PHPとLaravelのインストール
gitHubにssh接続

前提条件

以下の条件を満たしておいてください。
・AWSのアカウントが存在すること

Cloud9のワークスペースを作成

特段詰まるところではないので、簡潔に記載する

  1. AWSにログイン
  2. 真ん中の検索ボックスに「Cloud9」と入力すると下に「Cloud9」が出てくるので押下
  3. 「Create environment」を押下
  4. 「Name」にアプリ名を記入。必須   「Description」はアプリの説明。任意
  5. Configure settingsの項目を入力していく。全てDefaultだが以下の通り。   「Environment」→「Create a new instance for environment (EC2)」   「Instance type」→「t2.micro (1 GiB RAM + 1 vCPU)」   「Platform」→「Amazon Linux」   全て選択したら「Next Step」を押下
  6. 内容を確認し、「Create environment」を押下 インジケータ(くるくるするやつ)が表示されます。 3分ほど待てば、まっさらなCloud9の環境が構築されます。

PHPとLaravelのインストール

phpのインストール&適用

yumをアップデートする

$ sudo yum -y update

PHP 7.3をインストール

$ sudo yum -y install php73 php73-mbstring php73-pdo

この段階でphpのバージョンを確かめると

$ php --version
PHP 5.6.40 (cli) (built: Mar  8 2019 18:17:39) 

このように5.6のままなので、以下2つのコマンドを打つ

php5.6のリンクの削除

sudo unlink /usr/bin/php

php7.3のリンクの張り直し

sudo ln -s /etc/alternatives/php7 /usr/bin/php

そうすると

php --version
PHP 7.3.6 (cli) (built: Jun 12 2019 20:51:34) ( NTS ) 

php7.3になってたら完了
※参考記事だと7.2だったけど、なんとなく新しいの入れたかったから7.3にしてみた

Laravelのインストール

composerのインストール

curl -sS https://getcomposer.org/installer | php

composerのリネーム

sudo mv composer.phar /usr/local/bin/composer

composerが入ったか、リネームできたかの確認

composer

コマンド打った次の行あたりに「COMPOSER!」と表示されたらOK

Laravelインストーラのダウンロード

composer global require laravel/installer

Laravelインストール

composer create-project laravel/laravel --prefer-dist アプリ名 5.8

※アプリ名には作りたいアプリ名を入れてね

インストールすると

Script @php artisan package:discover --ansi handling the post-autoload-dump event returned with error code 1

というエラーが出る。
artisan関連のエラーらしいが、普通に使えているため一旦スルー。

とりあえずLaravelのインストール完了!

Laravel5.2ではインストール後に

cd アプリ名
php artisan start --port8080

と打てばLaravelが立ち上がるが、Laravel5.8では。。。

ec2-user:~/environment $ cd test #アプリ名をテストにしたよ
ec2-user:~/environment/test $ php artisan serve --port=8080

In database.php line 58:                                                
  Undefined class constant 'MYSQL_ATTR_SSL_CA'                                           

あれ。。よくわからないエラーが出た。
色々調べたらMySqlの証明書を設定する?箇所でエラーになっているらしい。
設定する証明書がある人は設定しよう。(設定の仕方は調べてください)

特に設定が不要な方は以下のファイルを開く
アプリ名/config/database.php
※testというアプリなら「test/config/database.php」を開く
 databaseフォルダも存在するため、間違えないように注意!

以下の行をコメントアウトする
57行~59行

// 'options' => array_filter([
//     PDO::MYSQL_ATTR_SSL_CA => env('MYSQL_ATTR_SSL_CA'),
// ]),

保存したあと、以下のコマンドを打つ

$ php artisan serve --port=8080
Laravel development server started: <http://127.0.0.1:8080>

緑色の字で結果が返ってくる。「serverが立ち上がったよ!」とのことなので成功!

Laravelが立ち上がっているとWeb画面に「Laravel」と大きく表示されるので見に行く。

上の方にある「preview」→「Preview Running Application」を押下

しかし。。。

RuntimeException
No application encryption key has been specified.
.
.
.
/home/ec2-user/environment/test/vendor/laravel/framework/src/Illuminate/Encryption/EncryptionServiceProvider.php

なにこれよくわかんない
とりあえずエラー内容をコピーして、サーバを閉じる
※コマンドプロンプトの画面で、「Ctrl + C」を入力すると閉じる

色々調べたら「encryption keyが未設定だから」とのこと。(よくわかんない)
以下のコマンドで「encryption key」の設定する

$php artisan key:generate

もう一度Laravelを起動する

$php artisan serve --port=8080

上の方にある「preview」→「Preview Running Application」を押下

「Laravel」と表示されていることを確認

gitHubにssh接続

Cloud9にはDefaultでGitが入っている。念の為確認

$ git --version
git version 2.14.5

cloud9にgitHubのユーザ名を登録する

$ git config  user.name "gitHubのメールアドレス"

これをしないとgitHubの草が生えないみたい。

sshキーの作成

以下のコマンドを打って、秘密鍵の作成、公開鍵の作成する

$ cd ~/.ssh
$ ssh-keygen -t rsa

Enter file in which to save the key (/Users/(username)/.ssh/id_rsa): #空のままEnter
Enter passphrase (empty for no passphrase): #空のままEnter
Enter same passphrase again: #空のままEnter

コピーする

cat id_rsa.pub

表示された内容をコピーする

sshキーの登録

※gitHubの作業となります。
1. gitHubにログインする
2. 右上の自分のアイコンを押下→「settings」を押下
3. 「SSH and GPG keys」を押下
4. 「New SSH key」を押下
5. Title・・・わかりやすい名前をつける(cloud9用だからcloud9とかで良い気がする
  key・・・sshキーの作成でコピーしたのを貼り付ける
6. 「Add SSH key」を押下
7.
これでSSH接続が可能となりました!

最後に

環境構築でつまずくことはよくあるが、cloud9+Laravelは比較的楽な方だった気がする。(ちゃんとできてるかは知らない)
日本にphpユーザが多いからか、日本語の情報がたくさんあって助かった(実際に多いか知らない)
いくつかよくわからないところがあったため、ちゃんと調べて理解を深める必要はありそう。
環境構築が完了したので、Webアプリを作れたらいいなぁと思う。

4
2
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
4
2