Quantcast
Channel: PHP7.4タグが付けられた新着記事 - Qiita
Viewing all articles
Browse latest Browse all 113

AWS+CentOS+LAMP+WordPress構築

$
0
0

はじめに

私自身、AWSとかLAMP環境とか全く分からない状況から始めた。
EC2にはAmazon Linux2があるが、中身を理解するなら、個人的な意見になるがCentOSで始めたほうが良いと思う。

このページでは、WordPressが使える環境を構築する。OSはCentOS7を使用(Amazonマーケットプレイスにあるやつ)。SSH接続はMacのターミナルから実施。

無料で実施できるので金が無い人でも安心。
(クレカ登録必要なのと、AWSの仕様上使いすぎると金取られるので、サーバーを24時間5台ぐらいつけっぱなしだけは辞めておいたほうが良い。)

セットアップは全体的に以下のサイトを参考。

ネコでもわかる!さくらのVPS講座

AWSのアカウントを作成する

以下のページからAWSのアカウントを作成しコンソールにログインする。

https://portal.aws.amazon.com/billing/signup#/start

仮想マシンを起動する

  1. AMI(Amazonマシンイメージ)を選択

  2. インスタンスタイプを選択

  3. キーペアを作成

    名前は自由。作成するとpemファイルがダウンロードされるので保管する。

鍵の権限設定

これを実行しないと、SSH接続のタイミングでエラーが発生する。pemファイルはSSHKeyフォルダを作成し配置。

chmodコマンド

chmod 600 /SSHkey/CentOS7Key.pem

SSH接続

ブラウザからも接続できるが、ターミナルから実行した方が楽。

MacのターミナルでEC2にSSHでログインする

  ssh -i /SSHkey/CentOS7Key.pem centos@ec2-18-218-155-69.us-east-2.compute.amazonaws.com

ユーザーはrootではなくcentosでログインする必要がある。

CentOS環境整備

  • OSバージョン確認
cat /etc/redhat-release

CentOS Linux release 7.7.1908 (Core)

  • OSアップデート
sudo yum update
  • パスワード設定
sudo passwd centos

これでパスワードを設定していなくても、パスワードを設定できる。

Apache httpdセットアップ

Apache2もあるが、今回はhttpdを使用する。

  • httpdインストール
sudo yum install httpd
  • httpd起動

起動時、centosユーザのパスワードが求められる。

  systemctl start httpd
  • ファイアウォールの設定

http通信を許可するためにポート解放する必要がある。
また、設定前に「firewalld」をインストールする必要がある。
設定後は「firewalld」を再起動する。

sudo yum install firewalld
  sudo firewall-cmd --add-service=http --zone=public --permanent
  systemctl restart firewalld
  • AmazonEC2のセキュリティグループの設定

本来ならこれだけで接続できるが、AmazonEC2の場合はセキュリティグループの設定もしなければならない。以下のリンクの「セキュリティーグループの設定」を参照。

AWS EC2でWebサーバーを構築してみる

  • ブラウザから接続

AmazonEC2のインスタンスの説明にある、パブリックDNSかIPv4パブリックIPをコピペしてhttp接続をする。

以下、パブリックDNSの例。

http://ec2-18-218-155-69.us-east-2.compute.amazonaws.com/

  • サーバー起動時設定

サーバー起動タイミングでhttpdが起動する設定。

  systemctl enable httpd

設定されたかの確認は以下のコマンド。以下のコマンドを実行するとviエディタで開かれる。閉じるときは「:q」。

  systemctl list-unit-files -t service

PHPセットアップ

インストールするときのバージョンに注意する。
以下のやり方を参考。

CentOS7でphp7.4をインストールしようとして躓いた話

  • Remiリポジトリの情報

以下が公式リンク。

http://rpms.remirepo.net/

CentOS7を使用する場合は「remi-release-7.rpm」でいいと思われる。

  • epel-release インストール
sudo yum install epel-release
  • Remiリポジトリインストール
sudo rpm -ivh http://ftp.riken.jp/Linux/remi/enterprise/remi-release-7.rpm
  • php確認
  yum list php*
  • httpd+php7.4+mariadb インストール
sudo yum install httpd mariadb-server php74
  • phpファイル作成

/var/www/html/の下にindex.phpを作成。

<html>
    <body>
      <?php echo "Hello World! php" ?>
    </body>
  </html>

ファイル作成コマンドは以下の通り。

sudo touch index.php

ファイル編集コマンドは以下の通り。

sudo vi index.php

ファイルアップ後再起動は以下の通り。

  systemctl restart httpd

現在の状態だとphpが見えないので、以下を実施する。

  • /etc/yum.repos.d/remi-safe.repo修正(無効にする)
  enabled=1

  enable=0
  • /etc/yum.repos.d/remi-php74.repo修正(有効にする)
  enabled=0

  enabled=1
  • /etc/yum.repos.d/CentOS-Base.repo修正(php除外)

baseとupdatesに以下を追加。(おそらく16行目付近と24行目付近)

  exclude=php*
  • 以前のphpをアンインストール

suでrootユーザに変更してから実行する。

for i in`rpm -qa |grep php`;do yum -y remove $i;done
  • phpを再度インストール
  yum install php
  • サーバー再起動
  systemctl restart httpd.service
  • ページ確認

以下のURLのように/index.phpを後ろにつける。

http://ec2-18-218-155-69.us-east-2.compute.amazonaws.com/index.php

MariaDBセットアップ

既に上のPHP手順でインストールはしている。
一応確認。

  • MariaDBのインストール
  yum install mariadb-server
  • MariaDBの有効化とスタート
  systemctl enable mariadb
  systemctl start mariadb
  • 初期設定
  mysql_secure_installation

具体的な手順は以下参照。

ネコでもわかる!さくらのVPS講座 ~第四回「phpとMariaDBをインストールしよう」

  • ログイン
  mysql -u root -p

PHPMyAdminのセットアップ

DBを操作しやすくするツールである。

  • phpMyAdminのインストール
  yum-config-manager --enable remi
  yum install phpMyAdmin
  • /etc/httpd/conf.d/phpMyAdmin.conf修正




のRequire local
をRequire all grantedに修正

  • phpMyAdminの確認

以下のURLのように後ろに/phpmyadmin/をつける

http://ec2-18-218-155-69.us-east-2.compute.amazonaws.com/phpmyadmin/

WordPressのセットアップ

  • wordpress用のDB作成

以下のリンクを実施。

ネコでもわかる!さくらのVPS講座 ~第八回「WordPressサイトを公開しよう」

  • wordPress取得
  yum install wget
  cd /var/www/html
  wget https://ja.wordpress.org/wordpress-5.4.2-ja.tar.gz
  rm index.php5
  tar xvzf wordpress-5.4.2-ja.tar.gz
  • wordPressセットアップ
rm wordpress-5.4.2-ja.tar.gz
  mv wordpress/*.rmdir wordpress
  chown-R apache:apache *
  systemctl restart httpd
  • 動作確認

いつも通りURLにアクセス。

おわりに

これで画面にWordPressの設定画面が見えます。よって構築は終わりです。お疲れ様でした。
結構細かく書いて、GUI操作だけリンクに書くようにしてるので、この手順を完全に真似すれば構築できると思います。もし分からない、もっといいやり方ある等意見ありましたらコメントお願いします。


Viewing all articles
Browse latest Browse all 113

Trending Articles