Amazon Linux2でLAMP(Linux, Apache2.4, MySQL5.7, PHP7.2)の環境構築をしていきます.
PHP7.2
インストール
yumを用いてインストールしようとすると,PHP5系をインストールしてしまうので「amazon-linux-extras」コマンドを使います.
$ amazon-linux-extras list
というコマンドを入力すると,インストールできるソフトウェアパッケージが表示されるので,PHP7.2をインストールします.
$ amazon-linux-extras php7.2
PHPに関しては一旦置いときます.
MySQL5.7
インストール
次に,MySQLの環境構築を行なっていきます.
Amazon Linux2にはデフォルトでMariaDBというMySQLの派生版のようなものがインストールされています. MySQLはインストールされておらず,MySQL公式のyumリポジトリを追加してインストールします. このリポジトリはMySQL8.0のリポジトリですが,MySQL5.7もここからインストールできます.
$ sudo yum localinstall https://dev.mysql.com/get/mysql80-community-release-el7-1.noarch.rpm #mysql8.0リポジトリの無効化 $ sudo yum-config-manager --disable mysql80-community #mysql5.7リポジトリの有効化 $ sudo yum-config-manager --enable mysql57-community $ sudo yum install mysql-community-server
バージョンの確認をしましょう.
$ mysql --version
設定
まずはrootアカウントのパスワードを確認します.
$ cat /var/log/mysqld.log | grep password
実際にmysqlを起動しましょう.
$ systemctl start mysqld $ systemctl enable mysqld $ mysql -u root -p "password"
とは言っても初期パスワードのままだと入力が面倒なのでパスワードを変更します.
$ mysql_secure_installation Enter password for user root: "old_password" New password: "new_password" Re-enter new password: "new_password" Change the password for root ? ((Press y|Y for Yes, any other key for No) : No Remove anonymous users? (Press y|Y for Yes, any other key for No) : Yes Disallow root login remotely? (Press y|Y for Yes, any other key for No) : Yes Remove test database and access to it? (Press y|Y for Yes, any other key for No) : Yes Reload privilege tables now? (Press y|Y for Yes, any other key for No) : Yes
次に文字コードを変更します.
#mysqlにログイン $ mysql -u root -p Enter password: #文字コードの確認 mysql> show global variables like 'character%'; +--------------------------+----------------------------+ | Variable_name | Value | +--------------------------+----------------------------+ | character_set_client | latin1 | | character_set_connection | latin1 | | character_set_database | latin1 | | character_set_filesystem | binary | | character_set_results | latin1 | | character_set_server | latin1 | | character_set_system | utf8 | | character_sets_dir | /usr/share/mysql/charsets/ | +--------------------------+----------------------------+ # MySQL終了 mysql> exit
このままだと文字化けしてしまうのでutf8mb4
にします
# 文字コードの変更([mysqld]と[client]セクションと設定を追加) $ sudo vi /etc/my.cnf [mysqld] (既に記述されている場合は省略) character_set_server=utf8mb4 [client] default-character-set=utf8mb4 # mysql再起動 $ sudo systemctl restart mysqld.service $ mysql -u root -p Enter password: mysql> show global variables like 'character%'; +--------------------------+----------------------------+ | Variable_name | Value | +--------------------------+----------------------------+ | character_set_client | utf8mb4 | | character_set_connection | utf8mb4 | | character_set_database | utf8mb4 | | character_set_filesystem | binary | | character_set_results | utf8mb4 | | character_set_server | utf8mb4 | | character_set_system | utf8 | | character_sets_dir | /usr/share/mysql/charsets/ | +--------------------------+----------------------------+ mysql> exit
これでMySQLの設定は終了です!
Apache2.4
インストール
Apache2.4をインストールしましょう.
$ sudo yum install httpd # 起動 $ sudo systemctl start httpd # 有効化 $ sudo systemctl enable httpd
テスト
全てのソフトウェアのインストールが完了しました! では,Apacheのルートディレクトリに以下のような内容を含んだindex.phpを作成しましょう.
<?php phpinfo() ?>
PHPのバージョン情報などが出てきたら成功です!!