Cloud9でLaravel5.8+PHP7.3の環境構築をして、gitHubにssh接続まで!
はじめに
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のワークスペースを作成
特段詰まるところではないので、簡潔に記載する
- AWSにログイン
- 真ん中の検索ボックスに「Cloud9」と入力すると下に「Cloud9」が出てくるので押下
- 「Create environment」を押下
- 「Name」にアプリ名を記入。必須 「Description」はアプリの説明。任意
- 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」を押下
- 内容を確認し、「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アプリを作れたらいいなぁと思う。
Author And Source
この問題について(Cloud9でLaravel5.8+PHP7.3の環境構築をして、gitHubにssh接続まで!), 我々は、より多くの情報をここで見つけました https://qiita.com/everl/items/3822556b6c5b45e2609b著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .