読者です 読者をやめる 読者になる 読者になる

よちよち歩きのITエンジニアのメモ

Web技術など学んだ内容をメモしておくブログです。どんなにちっちゃくてもいいから、 一歩、ほんの小さな一歩でも夢や目標に近づくように頑張ります

Amazon LinuxにLAMP環境を構築してみた

以下記事を参考にAmazon LinuxにLAMP環境を構築してみました
AWSのEC2に基本的なLAMP環境を作ってみる(2) - Qiita

LAMP環境とは

L → Linux
A → Apache
M → MySQL
P → PHP
で構成された動作環境のこと

構築手順

ec2-userからrootにする

$ sudo su

Linuxの日付設定、言語設定

$ vim /etc/sysconfig/i18n
    LANG=ja_JP.UTF-8
$ cp /usr/share/zoneinfo/Asia/Tokyo /etc/localtime

PHPのインストール(PHP5.5)

$ yum install -y php55
$ vim /etc/php.ini
    date.timezone = 'Asia/Tokyo' とする

MySQLのインストール

$ yum install -y mysql-server
$ service mysqld start
$ mysql -uroot
    mysql> set password for root@localhost=password('rootユーザーのパスワード');
    mysql> exit
$ /usr/bin/mysql_secure_installation
    Enter current password for root (enter for none): (rootユーザのパスワード)
    Change the root password? [Y/n] n
    Remove anonymous users? [Y/n] Y
    Disallow root login remotely? [Y/n] Y
    Remove test database and access to it? [Y/n] Y
    Reload privilege tables now? [Y/n] Y

phpMyAdminのインストール

$ yum --enablerepo=epel install -y phpMyAdmin

EPELとは、エンタープライズ Linux 用の拡張パッケージでFedora プロジェクトの貢献者たちが Fedora のパッケージを自分たちが使っているRed Hat Enterprise Linux (RHEL) やその 互換ディストリビューション上で使用したいという要望から作成された拡張パッケージです。

RHELクローンとしてサーバー用途に用いられることが多いCentOSは簡素で堅牢なパッケージを提供する傾向にあります。 CentOSの公式リポジトリは保守的でパッケージ数も多くないため、EPELやRemi, RPMforgeを追加し必要なパッケージを追加する といった使い方をされるようです。

EPELとは - bnoteより引用

アクセス権限の設定
$ vim /etc/httpd/conf.d/phpMyAdmin.conf
Alias /phpMyAdmin /usr/share/phpMyAdmin
Alias /phpmyadmin /usr/share/phpMyAdmin

<Directory /usr/share/phpMyAdmin/>
   AddDefaultCharset UTF-8

   <IfModule mod_authz_core.c>
     # Apache 2.4
     <RequireAny>
       # Require ip 127.0.0.1 <==(ここを修正!)
       Require all granted
       Require ip ::1
     </RequireAny>
   </IfModule>
   <IfModule !mod_authz_core.c>
     # Apache 2.2
     Order Deny,Allow
     Deny from All
     Allow from 127.0.0.1
     Allow from ::1
   </IfModule>
</Directory>

MySQL, apacheの自動起動設定を有効にする

$ chkconfig mysqld on
$ chkconfig httpd on

再起動する

$ service mysqld restart
$ service httpd restart