PHP
laravel
AWSCloud9

Laravel5.5をCloud9(aws)で始める手順

環境:cloud9(AWS)

初回のみ実行

①シェルファイルを作成【/environment/update.sh】

touch update.sh

②作成したシェルファイルに下記を記述 (phpのバージョンアップとcomposerのインストール)

sudo yum -y install php71 php71-cli php71-common php71-devel php71-mysqlnd php71-pdo php71-xml php71-gd php71-intl php71-mbstring php71-mcrypt php71-opcache php71-pecl-apcu php71-pecl-imagick php71-pecl-memcached php71-pecl-redis php71-pecl-xdebug
sudo alternatives --set php /usr/bin/php-7.1
sudo curl -sS https://getcomposer.org/installer | php
sudo mv composer.phar /usr/local/bin/composer

③シェルファイルを実行

$ sudo sh update.sh

Laravel5.5をcloud9で始める手順

①プロジェクトを作成

$ composer create-project laravel/laravel ./projectname "5.5.*" --prefer-dist

②プロジェクトに移動

$ cd ~/environment/projectname

③Gitイニシャライズ

$ git init
$ git add .
$ git commit -m "init Project"

④サーバの起動

$ php artisan serve --port=8080

※変更が反映されなかったら[ctrl] + [c]でサーバを停止し下記コマンドでキャッシュクリア

$ php artisan cache:clear

⑤環境変数の修正【/.env】

DB_DATABASE=dbname
DB_USERNAME=root
DB_PASSWORD=

⑥DBを作成

$ sudo service mysqld start
$ mysql -u root
mysql> CREATE DATABASE dbname;

※DB名にハイフンがある場合は `message-board` のように囲む

⑦DBコネクション確認

$ php artisan tinker
>>>DB::connection();
>>>exit

⑧デフォルトのインデックス用文字列長を設定【app/Providers/AppServiceProvider.php】

public function boot()
{
    \Schema::defaultStringLength(191);
}
$ mysql --version

Laravelはデータベース中への「絵文字」保存をサポートするため、デフォルトでutf8mb4文字セットを使っている。バージョン5.7.7より古いMySQLや、バージョン10.2.2より古いMariaDBを使用している場合、マイグレーションにより生成されるデフォルトのインデックス用文字列長を明示的に設定する必要がある。(ドキュメントの「Laravel 5.5 データベース:マイグレーション」を参照)

⑨タイムゾーンの設定【config/app.php】

'timezone' => 'Asia/Tokyo',

※必要ならlocaleとかも設定 https://www.ritolab.com/entry/48

以下、必要であれば!(ログイン・コレクティブ)

⑩認証に必要となるルート定義とビューをすべてスキャフォールディング

$ php artisan make:auth

⑪マイグレーションを実行

$ php artisan migrate

⑪laravelcollectiveのインストール【composer.json】

"require": {
    "php": ">=7.0.0",
    "fideloper/proxy": "~3.3",
    "laravel/framework": "5.5.*",
    "laravel/tinker": "~1.0",
    "laravelcollective/html": "^5.4.0" // 追加
},
$composer update

⑫laravelcollectiveを使用するにあたっての設定【config/app.php】

    'providers' => [

        // 追加
        Collective\Html\HtmlServiceProvider::class,
    ],

    'aliases' => [

        // 追加
        'Form' => Collective\Html\FormFacade::class,
        'Html' => Collective\Html\HtmlFacade::class,
    ],

初投稿です!少しずつ見やすくなるように修正いたします。