cafemocha7

cafemocha

AWS EC2 LAMP(php7.1.33) 環境設定 2021/07/25



[環境/インストール]
Apache PHP MySQL AWS phpMyadmin EC2
AWS上にLAMP環境を作成する手順を書いておきます。

1.Linux仮想マシン(EC2)を起動
AWSのマネジメントコンソールからEC2を選択
※リージョンを「日本」にしておくこと

インスタンスの作成を選択
・AMAZON Lunux AMIを選択
・無料利用枠の「t2.micro」を選択(750時間無料 2021/07/11時点)
→インスタンスを作成

キーペアが生成できるのでダウンロードしておく。(.pem)
※コマンドプロンプトなどでサーバーにログイン
今後、WinSCPなどでログイン時に使用する為の重要なキー(鍵)


【ログインテストしてみる】
・コマンドプロンプト を使って ログインしてみる。
コマンドプロンプトを立ち上げて、下記を入力
・.pemは自分で配置した場所を確認
・xx.xx.xx.xxは パブリックIPアドレス

ssh -i ./.ssh/xxxxxxxxxxxxxx.pem ec2-user@xx.xx.xx.xx


予想請求額の通知を受け取る
[請求アラートの作成] 上の3つにチェックしました
無料枠アラート


2.ppkファイルの作成 WinSCP
 .pem を使って.ppkファイルを作成する
 プライベートキー形式(.pem)をPuTTY 形式(.ppk)に変換

・WinSCPを起動します
・サーバーへのログイン画面内の左下より「ツール」を選択し「PuTTYgenを実行」を選択します
WinSCPで.ppk作成
・「Conversions」→「Import Key」を選択し、AWSのプライベートキー形式(.pem)を読み込みます

・「Save Private Key」をクリックしてPuTTY 形式(.ppk)にコンバートします。必要であればパスフレーズを設定します。
	WinSCPでアクセスするときにパスワードを聞かれるためのパスフレーズ(なくてもOK)
WinSCP Save Private Key


【WinSCPでEC2に接続する】
・WinSCPを起動して「新しいサイト」を選択します
・ホスト名に「パブリック DNS アドレス」を入力します。ユーザー名に「ユーザー名」を入力します
・「設定(D)…」をクリックし「高度なサイトの設定」の画面を開きます
・「SSH」→「認証」の設定で「秘密鍵」を選択し、先ほど作成した「PuTTY 形式(.ppk)」を設定します
WinSCP秘密鍵


3.パブリックIPアドレスを設定
パブリックIPアドレスが毎回変化してしまうので固定する。

・左のメニューからElastic IPを選択
・新しいアドレスの割り当てをクリック
・出来上がったアドレスを選択し、アクション→アドレスの関連付け
・インスタンスをクリックし、先ほど設定したLinuxのIDが出るので選択して紐づけ
・インスタンスからセキュリティグループをクリッ
アクション→インバウンドルールの編集を選択
・ルールの追加→http→保存

---------------------

4,Apacheをインストール
・アップデートする
sudo yum -y update

・Apacheをインストールする
sudo yum -y install httpd
2.4.xx がインストールされる(2021/07/11時点)

・Apacheを起動する
sudo service httpd start
sudo systemctl start httpd.service

・今後自動で立ち上がるように設定する
sudo chkconfig httpd on

---------------------

5.日本時間に変更する
・管理者権限に切り替えておく
sudo su

・時間の確認(日本時間ではないはず)
date

・UTC時間を日本時間に変更する
ln -sf /usr/share/zoneinfo/Japan /etc/localtime

・日本時間の確認
date

------------------------

6.PHPをインストール7.1.33
・php71までが入っているか確認
$ sudo su
# yum list installed | grep php
# yum list | grep php


・PHPをインストールする(remiリポジトリやepel-releaseパッケージ) php71-php-mbstringなど入れる
$ sudo amazon-linux-extras install php7.1
$ sudo amazon-linux-extras
$ sudo yum install --enablerepo=epel,remi,remi-php71 php php-devel php-mbstring php-pdo php-gd php-xml php-mcrypt

・追加分
$ sudo yum install --enablerepo=epel libmcrypt
$ sudo yum install --enablerepo=epel libargon2
$ sudo yum install php-mysqlnd
$ sudo yum install php-mbstring
$ sudo yum install php-gd
$ sudo yum install php-xml
$ sudo yum install php-xmlrpc
$ sudo yum install php-opcache
$ sudo yum install php-pecl-zip
$ sudo yum install php-pear
$ sudo yum install --enablerepo=remi,remi-php71 php-pecl-mcrypt

・php.iniの編集
$ sudo vi /etc/php.ini

expose_php = Off

max_execution_time = 60

;memory_limit = 128M
memory_limit = 512M

error_reporting = E_ALL & ~E_NOTICE & ~E_DEPRECATED & ~E_STRICT


・「/etc/php-fpm.d/www.conf」にログファイル名が記載されています。
post_max_size = 20M

upload_max_filesize = 20M

date.timezone = "Asia/Tokyo"

session.gc_maxlifetime = 3600

mbstring.language = Japanese
mbstring.internal_encoding = UTF-8


・リスタート
$ sudo systemctl restart httpd.service

・php-fpmサービスの起動
$ sudo systemctl enable php-fpm.service
$ sudo systemctl restart php-fpm.service


・HTML拡張子でもPHP  /etc/httpd/conf/httpd.conf の最後の行に以下を追加します
# vi /etc/httpd/conf/httpd.conf

の中に下記2つを追加
	・AddOutputFilter INCLUDES .shtmlの下に2つ追加

	AddType application/x-httpd-php .php .html
	AddType application/x-httpd-php-source .phps


・リスタート
# sudo service httpd restart

---------------------

7.確認
・apahceのバージョン確認
$ httpd -v

・phpのバージョン確認
$ php --version

ファイルを置いて確認してみる(IPアドレスをブラウザで打ってみる)
$cat /var/www/html/index.php


---------------------

8.composerのインストール
・「ec2-user」でインストールする
・ec2-userで作業 場所 /home/ec2-user/bin

$ curl -sS https://getcomposer.org/installer | php
$ ls -ltr
$ mkdir ~/bin
$ mv composer.phar ~/bin/composer
$ which composer

・composerのバージョン確認
$ composer

---------------------

9.MySQL5.7のインストール
・コマンドプロンプトでログイン
$ ssh -i ~/.ssh/秘密鍵名.pem ユーザ名@パブリックDNS
$ sudo su

・MYSQLのインストール
・amazon-linux-extrasでmysqlのTopicを検索
$ amazon-linux-extras list
$ amazon-linux-extras info mysql

・mariadbがインストールされているか確認
$ yum list installed | grep mariadb

・mysqlがインストールされているか確認
$ yum list installed | grep mysql

・mysqlがインストールできるか確認
$ yum info mysql

・mysql8.0リポジトリの追加(このリポジトリに5.7も含まれています)
$ sudo yum localinstall https://dev.mysql.com/get/mysql80-community-release-el7-1.noarch.rpm -y

・mysql8.0リポジトリの無効化
$ sudo yum-config-manager --disable mysql80-community

・mysql5.7リポジトリの有効化
$ sudo yum-config-manager --enable mysql57-community

・mysql5.7がインストールできるか確認
$ yum info mysql-community-server

・mysqlインストール
$ sudo yum install mysql-community-server -y
$ mysqld --version

・リスタート
$ sudo systemctl restart httpd

・自動起動設定
$ sudo systemctl start mysqld.service
$ sudo systemctl enable mysqld.service
$ systemctl status mysqld.service

・rootパスワードを確認
$ cat /var/log/mysqld.log | grep password
A temporary password is generated for root@localhost: ************

・初期設定
$ mysql_secure_installation
Enter password for user root: ************
New password: xxxxxxxxxxx
Re-enter new password: xxxxxxxxxxx
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 -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> exit

・文字コードの変更([mysqld]と[client]セクションと設定を追加)
$ sudo vi /etc/my.cnf
  + [mysqld] (既に記述されている場合は省略)
  + character_set_server=utf8mb4

  + [client]
  + default-character-set=utf8mb4

・mysql再起動
$ sudo systemctl restart mysqld.service

・mysqlにログイン
$ 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




次へ
PHP7.4導入の場合


    

AWS EC2の設定

1.AWS EC2の設定をする

2.AWS EC2 LAMP(php7.1.33) 環境設定

3.AWS EC2 LAMP(php7.4) 環境設定

4.AWS EC2 PHPMYADMIN設定

5.AWS EC2 ドメイン(Route53)設定

6.AWS EC2 SSLの設定

7.AWS EC2 HTTPSの設定

8.AWS EC2 smtpメールの設定

9.AWS WORKMAILの設定

10.AWS Simple Email Service(SES)の設定

11.AWS amazon backupの設定






NEWS一覧







linuxサーバ
WEBデザインサーバコマンド
 ∟php5.3のインストール(CentOS)
 ∟mysqlのインストール(CentOS)
 ∟apacheのインストールと起動(CentOS)
 ∟apacheのログの確認(CentOS)
WEBデザインレンタルサーバ/VPS
phpプログラム
WEBデザインプログラミング
 ∟簡単なAJAXプログラム php js html
 ∟TinyMCEのインストール 設定 textarea
 ∟TinyMCEの日本語化インストール
WEBデザイン開発フリーソフト
 ∟AptanaStudio3(Windows7)
 ∟AptanaStudio3日本語化
WEBデザインPHPで画像認証をする
androidプログラム
WEBデザインプログラミング
 ∟Android 画像ファイルを描画する
WEBデザイン開発フリーソフト
 ∟AptanaStudio3(Windows7)
 ∟AptanaStudio3日本語化
 ∟Androidエミュレータのインストール
 ∟iBBDemo3 iPhone/iPad表示エミュレータ
WEBデザインAndroid端末ChromeでJavaScriptデバック
SEO対策・ツール
WEBデザインGoogleウェブマスターツールの登録
WEBデザインGoogleアナリティクスの使い方
WEBデザインGoogle検索結果ページを削除する
WEBデザインGoogleトレンド
WEBデザインGoogle AdWords[キーワードツール]
WEBデザイン関連ワードを調べる
WEBデザイン急上昇ワードを調べる
サンプルプログラム
WEBデザインcolorpicker
WEBデザインcolorbox
WEBデザインcolorbox[2]
WEBデザインnewsticker[1]
WEBデザインnewsticker[2]上にスクロール
WEBデザインnewsticker[3]左へスクロール
WEBデザインnewsticker[4]左へスクロール
WEBデザインCycle Plugin(+ Easing Plugin)
WEBデザインCoin Slider
WEBデザインスライダー[1]下にサムネイル画像
WEBデザインスライダー[2]右にサムネイル画像
WEBデザインスライダー[3]左右矢印 下にコントロールあり
WEBデザインスライダー[4]左右矢印 下にコントロールなし
WEBデザインスライダー[5]左右矢印 下にコントロールあり(stop付き)
WEBデザインスライダー[6]画像外の左右矢印
WEBデザインスライダー[7]自動切り替え
WEBデザインスライダー[8]自動切り替え
WEBデザインスライダー[9]自動切り替え
WEBデザインcss3[transition]
WEBデザインリストとグリッド切り替え表示する[javascript-cssデザイン]
WEBデザインMarquee jQuery[上にスクロール]
WEBデザインDD_belatedPNGの使い方[透過処理PNG]
WEBデザインナビボタンのロールオーバー[CSS]
WEBデザインナビボタンのロールオーバー[JS(jQuery)]
WEBデザインナビボタンのロールオーバー[JS滑らかに切り替わる]
WEBデザインPHPで画像認証をする
その他
WEBデザイン広告をブログに張る[クリック課金]
 ∟忍者AdMax
 ∟グーグルAdSense
WEBデザインレンタルサーバ・VPS情報
WEBデザインポイントサイト情報
WEBデザインアドネットワーク情報
WEBデザイン無料のアクセス解析ツール(オープンソース等)
WEBデザイン無料アクセス解析の導入
WEBデザインブログランキングサイト一覧
WEBデザインsitemap.xmlを作成する
WEBデザインSEO対策 Google AdWords(キーワードツール)
WEBデザインSEO対策 SEOTOOLS
WEBデザインSEO対策 SEOチェキ