LoginSignup
3
6

More than 5 years have passed since last update.

Amazon Linux上にCakePHP3をインストール(Postgresql、PHP7)

Last updated at Posted at 2016-12-17
  1. EC2をインストール
  2. セキュリティグループの設定からインバウンドのタブを選び「編集」を押し、HTTPからのアクセスを許可。
  3. ec2-userでログイン
  4. システムロケールを変更

    $ sudo bash
    # vi /etc/sysconfig/i18n
    - LANG=en_US.UTF-8
    + LANG=ja_JP.UTF-8
    
  5. システムロケールの有効化

    # . /etc/sysconfig/i18n
    
  6. タイムゾーンを日本に変更

    # cp /etc/localtime /etc/localtime.orig
    # ln -sf /usr/share/zoneinfo/Asia/Tokyo /etc/localtime
    # vi /etc/sysconfig/clock
    - ZONE="Asia/Tokyo"
    - UTC=true
    + ZONE="Asia/Tokyo"
    + UTC=false
    
  7. 不要なhttpd/phpをアンインストール

    # yum erase php php-cli php-common
    # yum erase httpd httpd-tools
    
  8. PHP7とpostgresqlをインストール(ついでにmlocateも)

    # yum -y install php70 php70-intl php70-mbstring php70-pgsql php70-pdo
    # yum -y install postgresql95 postgresql95-server postgresql95-devel
    # yum -y install mlocate git
    
  9. composerのインストール

    こちらのURLのCommand-line installationの部分を実行してください:
    https://getcomposer.org/download/
    以下はサンプルです:

    # php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
    # php -r "if (hash_file('SHA384', 'composer-setup.php') ===     'aa96f26c2b67226a324c27919f1eb05f21c248b987e6195cad9690d5c1ff713d53020a02ac8c217dbf90a7eacc9d141d') { echo 'Installer verified'; } else { echo 'Installer     corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"
    # php composer-setup.php
    # php -r "unlink('composer-setup.php');"
    
  10. composer.pharを移動させます

    # mv composer.phar /usr/local/bin/composer
    
  11. ec2-userのPATHに/usr/local/binを追加

    # exit 
    $ cd
    $ vi /home/ec2-user/.bash_profile
    - PATH=$PATH:$HOME/.local/bin:$HOME/bin
    + PATH=$PATH:$HOME/.local/bin:$HOME/bin:/usr/local/bin
    
  12. cakephp3のインストールディレクトリを書き込み可能に

    $ sudo bash
    # cd /var/www
    # chmod 777 html
    # exit
    
  13. cakephp3をインストール

    $ source /home/ec2-user/.bash_profile
    $ cd /var/www/html
    $ composer self-update && composer create-project --prefer-dist cakephp/app ./app
    

    *特定のバージョン、例えば3.1系の最新をインストールしたい場合は、

    $ composer self-update && composer create-project --prefer-dist cakephp/app:3.1.* ./app
    

    とする

    途中でSet Folder Permissionsについて聞かれたらYesと回答:

    Set Folder Permissions ? (Default to Y) [Y,n]? Y
    
  14. データベースの設定を変更(default)

    変更箇所はapp.phpの223~234行

    $ vi /var/www/html/app/config/app.php
    -             'driver' => 'Cake\Database\Driver\Mysql',
    +             'driver' => 'Cake\Database\Driver\Postgres',
    -             'username' => 'my_app',
    +             'username' => 'postgres',
    -             'password' => 'secret',
    +             'password' => '',
    -             'database' => 'my_app',
    +             'database' => 'cakephp_dev',
    
  15. タイムゾーンを変更

    /var/www/html/app/config/bootstrap.php
    - date_default_timezone_set('UTC');
    + date_default_timezone_set('Asia/Tokyo');
    
  16. データベースの設定を変更(test)

    手順11と同じだが、変更箇所はapp.phpの268~274行。
    また'database' => 'cakephp_test'とする

  17. URLのリライトを可能にする

    変更箇所は/etc/httpd/conf/httpd.confの151行目

    $ sudo bash
    # vi /etc/httpd/conf/httpd.conf
    
    - AllowOverride None
    + AllowOverride All
    
  18. DocumentRootを変更する

    $ sudo bash
    # vi /etc/httpd/conf/httpd.conf
    
    - DocumentRoot "/var/www/html"
    + DocumentRoot "/var/www/html/app"
    
  19. データベースの初期化

    # su - postgres
    $ /usr/lib64/pgsql95/bin/initdb -D /var/lib/pgsql95/data/
    $ exit
    
  20. postgresqlとhttpdの起動

    # service httpd start
    # service postgresql95 start
    
  21. データベースの作成

    # /usr/bin/createdb -U postgres -p 5432 -h localhost cakephp_dev
    
  22. 動作確認

    ブラウザを開き、ec2のパブリックIPを指定する

3
6
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
3
6