5
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

SRAAdvent Calendar 2019

Day 23

Amazon Linux 2にPHP7.3とPostgreSQL12をインストールする

Last updated at Posted at 2019-12-20

#はじめに
Amazon Linuxのリポジトリは古いバージョンのパッケージしかないので、これから開発を始めようとする場合、新しいバージョンのパッケージをインストールする必要が出てくると思います。
PHPとPoatgreSQLを新しいバージョンのパッケージをインストールした際にやった事を忘備録としてメモします。

そのうちDokerFileも書こうと思います。

##パッケージでインストール
Amazon Linux 2にPHPをインストールをする場合はamazon-linux-extrasが利用できます。
Amazon Linux 1を使いたい場合はremiを使う事になります。
PostgreSQLのインストールにはPostgreSQL本家サイトで用意されているパッケージを利用します。

## Amazon Linux 2 の場合
amazon-linux-extras install php7.3
yum install -y  php-devel
yum install -y  php-gd
yum install -y  php-intl
yum install -y  php-json
yum install -y  php-mbstring
yum install -y  php-mcrypt
yum install -y  php-pdo
yum install -y  php-pgsql
## Amazon Linux 1 の場合
wget http://rpms.famillecollet.com/enterprise/remi-release-7.rpm
rpm -Uvh ./remi-release-7.rpm
sed -i '4a priority=1' /etc/yum.repos.d/remi-php71.repo
yum install -y --enablerepo=remi-php71 php
yum install -y --enablerepo=remi-php71 php-devel
yum install -y --enablerepo=remi-php71 php-gd
yum install -y --enablerepo=remi-php71 php-intl
yum install -y --enablerepo=remi-php71 php-mbstring
yum install -y --enablerepo=remi-php71 php-mcrypt
yum install -y --enablerepo=remi-php71 php-pdo
yum install -y --enablerepo=remi-php71 php-pear
yum install -y --enablerepo=remi-php71 php-pgsql

composerのインストール方法はどちらも同じです。

curl -sS https://getcomposer.org/installer | php
mv composer.phar /usr/local/bin/composer

PostgreSQL11以上はsystemedが必要なので、Amazon Linux 1には追加パッケージのインストールが必要です。

## Amazon Linux 2 の場合
rpm -ivh --nodeps https://download.postgresql.org/pub/repos/yum/12/redhat/rhel-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm
sed -i "s/\$releasever/7/g" "/etc/yum.repos.d/pgdg-redhat-all.repo"
yum install -y postgresql12
yum install -y postgresql12-server
yum install -y postgresql12-contrib
## Amazon Linux 1 の場合
rpm -ivh --nodeps https://download.postgresql.org/pub/repos/yum/12/redhat/rhel-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm
sed -i "s/\$releasever/7/g" "/etc/yum.repos.d/pgdg-redhat-all.repo"
yum install -y openssl-libs
yum install systemd
yum install systemd-libs
yum install systemd-sysv
yum install sysvinit-tools
yum install -y postgresql12
yum install -y postgresql12-server
yum install -y postgresql12-contrib

##インストール先の確認
何処に何がインストールされたのか、パッケージ名から探す手順。
例えばpostgresql12-serverパッケージでインストールされたファイルを確認するには、
まず、yumコマンドでインストールされたパッケージ名を確認します。

yum list [パッケージ]

yum_list.JPG
postgresql12-server.x86_64がインストールされたパッケージ名です。

次に、このパッケージでインストールされたファイル一覧を調べるにはrpmコマンドを使います。

rpm -ql [インストールパッケージ]

rpm_ql.JPG
こんな感じで、ぞろぞろ出てきます。
PosgtgreSQLの実行ファイルは**/usr/pgsql-12/bin/**の下にインストールされているようです。

##注意事項
・Amazon Linuxは仕様やリポジトリが突然変わりますので、環境を残したい場合は手順よりもAMIを取っておいた方が安全かもしれません。
・PostgreSQL12からシステムカタログのpg_attrdefからadsrcが削除されました。
https://www.postgresql.org/docs/12/release-12.html
その影響で、色々なDB管理ツールから繋がらなくなったという情報が散見されていますが、
A5:SQLでは対応版(version 2.15.0 beta 28)が出ていますし、pgAdmin4では使えますので、お試しください。

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

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?