Webpack入門
MacからLaradock PostgreSQLで接続エラー
Mac で Laradock の構築
Dockerで不要なイメージを削除
yarn インストール&プロジェクト作成
Laravel 6.x 構築(Homestead編)
Composer インストール
nvm インストール
npm install が Mac でエラー
HTMLタグでカーソルが同時処理(ミラーリング)されてしまう
DI(依存性注入)
DIコンテナのはじめ
[Ubuntu]Let's Encryptで無料の証明書を利用する
[Apache]Apache2.4のアクセス制限が変更
[Ubuntu]rootのログインとsudo権限追加
タミヤ マイコンロボット工作セットをMacに接続してみた
pgAdimn4 でブラウザで開けなくなる
Java8 を HomebrewとjEnvで構築
Android Studio環境構築 2019
ロケールの再構築
vagrant グループに Apacheを追加
Linux2 Apache2 + PHP7.3 + PostgreSQL10
Anadondaの削除
[Mac]初期設定メモ(CentOS)
[Mac]PostgreSQL起動
FormRequest を利用したバリデーション
try-catch で Exception検知
[Debian]Node.js安定板インストール
Middlewareを利用したルートグループ化
namespaceを利用したルートグループ化
名前付きルートによるリダイレクト
artisanコマンド
IE11以下でclosest() を利用する
Karma と Mochaインストール
コンポーネントを親に登録
[脱jQuery]LoadingOverlay をネイティブで実装
Targetを利用せずに新規ウィンドウを開く(rel,class)
[脱jQuery]ネイティブでDrag&Dropやtableソート
[脱jQuery]$(document).on() をネイティブでコーディング
[Git]不要ファイル履歴削除
[Git].gitignore が反映されない
[GAS]Gmail指定ラベルの不要メール削除
UFJ API(開発用)を利用してみる
RuntimeException No application encryption key has been specified
PHP7.3 で compser install できない
Laravel インストール&起動
配列結合 array_merge() と 演算子の違い
[Debian]PHPのaptパッケージが消失?
[脱jQuery]始める前に
[VSCode]th td を自動整形させない
2019/08/25
icon Linux2 Apache2 + PHP7.3 + PostgreSQL10

AWS の Linux2 は最適化された(?)パッケージが用意されている

- CentOS7 - Apache2 - PHP7.3
- PostgreSQL *コマンドは sudo でなく root で実行している(root パスワードを別途設定済み)

yum アップデート

# yum update -y

Apache2

Apache インストール

# yum -y install httpd

サービス起動

# systemctl start httpd

*CentOS6系では chkconfig httpd on

自動起動設定

# systemctl enable httpd.service Created symlink from /etc/systemd/system/multi-user.target.wants/httpd.service to /usr/lib/systemd/system/httpd.service.

自動起動設定確認

# systemctl is-enabled httpd

ec2-user 設定

/var/www/ を ec2-user が利用できるように設定する

ec2-user を apache に追加

# usermod -a -G apache ec2-user

/var/www の権限

デフォルトの DocumentRoot である /var/www の権限を ec2-user : apache に変更 ディレクトリ(775)とファイル(664) で利用できるようにする

# chown -R ec2-user:apache /var/www # chmod 2775 /var/www && find /var/www -type d -exec chmod 2775 {} ; # find /var/www -type f -exec chmod 0664 {} ;

*2775 の 2 は setgid

ec2-user で所属グループの確認

ec2-user を再ログインして確認

$ groups ec2-user adm wheel apache systemd-journal

PHP7.3

Amazon Linux2 用にパッケージが用意されており、PHP7.3 はここからインストールする。

Amazon Linux2 専用のパッケージ確認

# amazon-linux-extras list ..... # amazon-linux-extras info php7.3

インストール

# amazon-linux-extras install php7.3

mazon-linux-extras で足りないパッケージは、yum でインストールすると良い

Composer インストール

$ curl -sS https://getcomposer.org/installer | php All settings correct for using Composer Downloading... Composer (version 1.9.0) successfully installed to: /home/vagrant/composer.phar Use it: php composer.phar

/user/local/bin に移動

$ sudo mv bin/composer /usr/local/bin/composer

composer初期化

$ composer init Package name (/) [vagrant/vagrant]: Description []: Author [, n to skip]: Minimum Stability []: Package Type (e.g. library, project, metapackage, composer-plugin) []: License []: Define your dependencies. Would you like to define your dependencies (require) interactively [yes]? Search for a package: Would you like to define your dev dependencies (require-dev) interactively [yes]? Search for a package:

composer.json が作成される

composer install

$ composer install Loading composer repositories with package information Updating dependencies (including require-dev) Nothing to install or update Generating autoload files

PostgreSQL10

amazon-linux-extras

amazon-linux-extras では psql コマンドのみのインストールの模様

# amazon-linux-extras install postgresql10

yum インストール

# yum install -y postgresql-server postgresql-devel postgresql-contrib

サービス起動

# systemctl start postgresql # postgresql-setup initdb

自動起動設定

# systemctl enable postgresql.service

postgres ユーザで確認

# su - postgres bash-4.2$ psql -l could not change directory to "/home/ec2-user": Permission denied List of databases Name | Owner | Encoding | Collate | Ctype | Access privileges -----------+----------+----------+-------------+-------------+----------------------- postgres | postgres | UTF8 | en_US.UTF-8 | en_US.UTF-8 | .....

外部からのアクセス設定

パスワードで制御するかIPで制御するか、はたまたその他の方式かはセキュリティポリシーによって違うので割愛 (postgres.conf & pg_hba.conf 設定など)

AWS はセキュリティグループで PostgreSQLのポート設定しないと一切アクセスできない。

AWS セキュリティグループ

セキュリティグループ > EC2 に紐付いたグループ > インバウンド > 編集

AWS セキュリティグループ 上記の設定は 5432 に全ての IPを許可(CIDR形式)しているので、必要であれば IP制限する
(postgresパスワードや、pg_hba.conf で制限しても良い)