Edited at

AWS Cloud9にSymfonyを構築する

テスト環境としてSymfonyが使える環境が欲しいと思い、Cloud9上に構築してみました。

今回構築したときの備忘録です。

同様のことは、EC2でAMIをAmazon Linuxにしても動くと思います。


PHPのインストール

Cloud9のOSは、2019年7月時点でAmazon Linux2ではなく、以前のAmazon Linuxでした。

なので、amazon-linux-extrasは使えませんでした。

$ cat /etc/system-release

Amazon Linux AMI release 2018.03

$ sudo yum -y update

$ sudo yum -y install php72 php72-mbstring php72-pdo
$ sudo unlink /usr/bin/php
$ sudo ln -s /etc/alternatives/php7 /usr/bin/php
$ php -v
PHP 7.2.19 (cli) (built: Jun 12 2019 20:55:29) ( NTS )
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies

https://qiita.com/kidatti/items/2d6a4a24f89dc71eb66e


Symfonyのインストール

$ wget https://get.symfony.com/cli/installer -O - | bash

$ export PATH="$HOME/.symfony/bin:$PATH" >> .bash_profile
$ sudo mv /home/ec2-user/.symfony/bin/symfony /usr/local/bin/symfony
$ source .bash_profile
$ symfony -v
Symfony CLI version v4.6.2 (c) 2017-2019 Symfony SAS

https://symfony.com/download


Composerのインストール

$ php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"

$ php -r "if (hash_file('sha384', 'composer-setup.php') === '48e3236262b34d30969dca3c37281b3b4bbe3221bda826ac6a9a62d6444cdb0dcd0615698a5cbe587c3f0fe57a54d8f5') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"
$ php composer-setup.php
$ php -r "unlink('composer-setup.php');"
$ sudo mv composer.phar /usr/local/bin/composer
$ composer -v
______
/ ____/___ ____ ___ ____ ____ ________ _____
/ / / __ \/ __ `__ \/ __ \/ __ \/ ___/ _ \/ ___/
/ /___/ /_/ / / / / / / /_/ / /_/ (__ ) __/ /
\____/\____/_/ /_/ /_/ .___/\____/____/\___/_/
/_/
Composer version 1.8.6 2019-06-11 15:03:05

https://getcomposer.org/download/

http://symdoc.kwalk.jp/doc/book/installation


Symfonyの起動

Cloud9では外部からアクセスできるポート番号が決まっているため、ポート番号を指定して起動する必要があります。

$ symfony new --full my_project

$ cd my_project/
$ php bin/console server:start *:8080

メニュー > Preview > Preview Running Applicationを押すと実行ページのプレビューが表示されます。


Symfonyの停止

$ php bin/console server:stop


(補足)アプリの状態をするコマンド

$ php bin/console about