LAMP環境構築とは?
ってことで、AWSの仮想マシンを作成したときに【OS】としては、『Amazon Linux AMI』が用意されていて、【Webサーバー】としては『Apache(httpd)』をインストールしていたので、残りのものを仮想マシンにインストールしていけばOKね。
AWSの仮想マシンに接続
まずは、AWSの仮想マシンが起動しているのを確認します。AWSの管理画面にログインしたら、『サービス』>『コンピューティング』>『EC2』を選択し、『インスタンス』を選択。
『インスタンスの状態』が『running』になっていればOK。
ConEmuを起動し、Msys2のbashを起動し、AWSの仮想マシンにssh接続。
ssh -i 【認証のための拡張子がpemのファイル(AWSからダウンロードしたファイル)までのパス】 ec2-user@【接続したい仮想マシンのパブリックIPアドレス】
で接続します。
仮想マシンの時刻を設定
スーパーユーザー(管理者権限)に切り替えます。
sudo su
dateコマンドで仮想マシンに設定されている時刻を表示。
date
UTCと表示され、ロンドン時間が基準となってしまっているようです。
ln -sf /usr/share/zoneinfo/Japan /etc/localtime date
JSTとなればOKです。
PHPのインストール
yum install -y php
インストールできました。
バージョンは、PHP 5.3.29 となっています。バージョンが古い気がしますが...。
PHPの設定ファイルを編集
まずは、PHP設定ファイルのバックアップを作成します。
cp /etc/php.ini /etc/php.bak
続いて、php.iniファイルを編集
vi /etc/php.ini
行番号をセットしていきます。Escキーを押してから、
:set number
行番号がセットされました。
520行に飛びたいので、Escキーを押してから、
:520
で、iを押して、INSERTモードになったら、『error_reporting = E_ALL & ~E_DEPRECATED』の部分を、
error_reporting = E_ALL & ~E_DEPRECATED
を
error_reporting = E_ALL & ~E_DEPRECATED & ~E_NOTICE
に変更。PHPの余分なエラーを表示しないようにできるようです。
次に、537行目へ飛びたいので、Escキーを押してから、
:537
iを押して、INSERTモードになったら、『display_errors Off』の部分を
display_errors Off
を
display_errors On
に変更。PHPのエラーがブラウザに表示されるようになります。設定ファイルの変更が終わったので、Escキーを押して、
:wq
でファイルの保存。Apache(httpd)を再起動し、設定ファイルの変更を反映させます。
service httpd restart
ドキュメントルートに、新しくphpファイルを作成し、phpが動いてるか確認。
vi /var/www/html/index.html
iを押して、INSERTモードになったら、
<php echo "Hello AWS, Hello PHP"; ?>
Escキーを押して、
:wq
で保存。ブラウザで、『http://パブリックIPアドレス/index.php』にアクセス。
phpが機能しています。
MySQLのインストール
続いて、MySQLのインストール。
yum install -y mysql-server
MySQLインストールできました。
バージョンは、MySQL 5.5.56ってことかな?
続いて、phpからMySQLに接続するために必要なmysqldをインストール。XAMPPだとデフォルトでPDO接続できたような...。
mysqld(MySQL Native Driver)
MySQL Native Driver は、MySQL Client Library (libmysqlclient) の後継です。 MySQL Native Driver は、PHP 5.3.0 以降の公式ソースにその一部として組み込まれています。
MySQL データベース用の拡張モジュールである MySQL や mysqli そして PDO MYSQL は、 すべて MySQL サーバーと通信します。 かつては、これらの拡張モジュールがサーバーと通信するときには MySQL Client Library が提供するサービスを使っていました。 これらの拡張モジュールをコンパイルするときに MySQL Client Library を組み込み、そのクライアント・サーバープロトコルを使っていたのです。
今や MySQL Native Driver がその代替として登場したので、 MySQL データベース用の拡張モジュールをコンパイルするときに MySQL Native Driver を使えば MySQL Client Library なしでもコンパイルできるようになったのです。
yum install -y php-mysqlnd
インストールできました。
MySQL接続
MySQLを起動します。
service mysqld start
起動されました。
MySQLの設定
MySQLの設定をしていきます。
mysql_secure_installation
root(MySQLのデフォルトユーザー)のパスワードを聞かれるので、空Enter。
その後、新しいパスワードを設定するか、聞かれるので、新しいパスワードを入力します。(MySQLの接続で使うので覚えておきます。)
いままでのユーザーを削除するか?的な感じだと思いますが、『y』でEnter。
あとは、『y』でEnter。
あとは、『y』でEnter。
設定完了。
MySQLの文字コード設定
/etc/my.cnfファイルを編集します。
vi /etc/my.cnf
Escキーを押し、
:set number
iを押してINSERTモードになったら、『 [mysqld_safe] 』の前に、
character-set-server = utf8
を追加します。Escキーを押して、
:wq
で保存。MySQLを再起動。
sevice mysqld restart
OKと表示されればOKです。
phpMyAdminのインストール
phpMyAdminの設定
自分のパソコンからしかアクセスできないようにするため、グローバルIPアドレスを使います。
『確認くん』というサイトにアクセスします。
phpMyAdminの設定ファイルを編集します。
vi /etc/httpd/conf.d/phpMyAdmin.conf
設定ファイルが開いたら、
viの置換機能で、グローバルIPアドレスに変更します。
:%s/127.0.0.1/グローバルアドレス/g
置換されたら、Escキーを押して、
:wq
で保存。設定を反映させるため、Webサーバーを再起動。
service httpd restart
ブラウザで、『http://パブリックIPアドレス/phpmyadmin』にアクセス。
パスワードに、phpMyAdminをインストールしたときに設定したものを入力。
アクセスできました。
一応、MySQL、Apache(httpd)をstopし、仮想マシンも停止して、今日のところは終了。
データが失われるって文言が気になるけど、『停止する』をクリック。
『インスタンスの状態』が『stopped』になってればOK。
今回はこのへんで。