[AWS] EC2/LAMP環境を構築する(4) – MySQL

(前回からの続き)

MySQLのインストール

Webアプリの要件がMySQL 5.7なので。

MariaDBをアンインストール

mysql8.0リポジトリの追加 (mysql5.7も含まれている)

mysql8.0リポジトリの無効化

mysql5.7リポジトリの有効化

mysql5.7がインストールできるか確認

インストール

起動

デフォルトパスワードを調べる

パスワード変更

アクセス確認

参考サイト

AWSのEC2で行うAmazon Linux2(MySQL5.7)環境構築 – Qiita
https://qiita.com/2no553/items/952dbb8df9a228195189

MySQLの初期パスワードのありか – Qiita
https://qiita.com/RyosukeSomeya/items/c695487588f5ac28d9f4

[AWS] EC2/LAMP環境を構築する(3) – Apache/PHP

(前回からの続き)

Apacheのインストール

PHPのインストール

Webアプリの要件がPHP 7.4なので。不足モジュールはWebアプリをセットアップする際に追加する。

Apacheの起動

IPアドレスでアクセスしてテストページが表示されることを確認
http://xxx.xxx.xxx.xxx/

ステータス確認

(次回へ続く)

参考サイト

Amazon Linux 2 EC2 インスタンスに Extras Library からソフトウェアをインストールする
https://aws.amazon.com/jp/premiumsupport/knowledge-center/ec2-install-extras-library-software/

Install PHP 7.4|7.3|7.2 on Amazon Linux 2 – TechViewLeo
https://techviewleo.com/install-php-7-on-amazon-linux/

[AWS] EC2/LAMP環境を構築する(2) – 初期設定

(前回からの続き)

システム更新

タイムゾーン設定

変更前確認

設定変更

変更後確認

ホスト名設定

変更前確認

設定変更

変更後確認

chrony(時刻同期)のインストール

もしNTPサービスがインストールされていたらアンインストール

chronyをインストール

設定確認

起動

自動起動をオンにする

動作確認

(次回へ続く)

参考サイト

Set the time for your Linux instance
https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/set-time.html

[AWS] EC2/LAMP環境を構築する(1) – インスタンス作成

DigitalOceanで運用していたサイトをAWSに移すことになったので、AWSのEC2でLAMP環境を作る手順を覚え書き。

EC2インスタンスの作成

EC2インスタンスの要件は以下とする。

  • リージョン: N. California
  • OS: Amazon Linux 2
  • インスタンスタイプ: t2.micro (本稼働前にスケールアップする)
  • ストレージ: Rootボリューム(8GB)のみ
  • セキュリティグループ: HTTPとHTTPSは全許可、SSHは自分のIPのみ許可
  • Elastic IPで固定IP

インスタンスが作成できたら、インスタンス作成時に指定した鍵情報を使ってsshアクセスできることを確認する。

ユーザの作成

Root権限の付与

公開鍵認証の追加

SSHデーモンの設定 – rootでのログインを禁止する。

ログイン確認 – 現在のセッションは維持したまま、新しいターミナルを開いて試す。

スーパーユーザになれることを確認

(次回へ続く)

[C#] dot-gimei – 日本人の名前や、日本の住所をランダムに返すライブラリ

PHPだとFakerを使って日本語のテストデータを自動作成することがある。C#でも同じことができないかと調べたら、似たようなものを作ってくれている人がいた。.NETのクラスライブラリになっているので、NuGetを使ってVisual C#のプロジェクトに簡単に追加できる。ありがたい。

GitHub – matarillo/dot-gimei: .NET port of gimei
https://github.com/matarillo/dot-gimei

適当な日本人の名前や住所をランダムに作れる gimei を C# に port した。 – matarilloの雑記
https://matarillo.hateblo.jp/entry/2015/05/28/194317

[WordPress] バックアップ用プラグイン

WordPressサイトを丸ごとバックアップできるプラグインを探す。

ネットの記事を読んで廻ったら以下の2つの評価が高いように感じた。どちらも多機能で良さげ。

The World’s Most Trusted WordPress Backup Plugin – UpdraftPlus
https://updraftplus.com/

BackWPup Pro – The perfect WordPress Backup Plugin!
https://backwpup.com/

2つのプラグインの大きな違いは、UpdraftPlusはバックアップ先にローカルストレージを指定できないこと。ストレージのクラッシュに備えたバックアップならば保存先をクラウドに指定するのは定石だろうが、自分が運営しているサイトの中には更新頻度が高いので数時間おきにストレージのスナップショットを保存しているものがあったりする。そういったサイトの場合は、WordPressをバージョンアップするときのフェイルセーフとしてローカルに一時バックアップを取っておきたいというニーズがある。

というわけで、ローカルストレージにバックアップするならBackWPup Pro、クラウドストレージにバックアップするならUpdraftPlus、自分の中ではそういうルールで使い分けることにする。

[PHP] エルビス演算子とNull合体演算子

新しい演算子の理解が怪しいので覚書メモ。

エルビス演算子 ?:

expr1がtrueである場合はexpr1と評価され、 それ以外の場合はexpr2と評価される。すなわち expr1 ? expr1 : expr2 の真ん中を略した書き方。

Null合体演算子 ??

expr1がNULLである場合はexpr2と評価され、それ以外の場合はexpr1と評価される。すなわち !is_null(expr1) ? expr1 : expr2 と同様。

参考サイト

似てるようで違う、PHPのエルビス演算子とNull合体演算子 – Qiita
https://qiita.com/jay-es/items/3b8734bc02070d074a3e

【PHP入門】三項演算子とは?使いこなしてコードをスッキリする | 侍エンジニアブログ
https://www.sejuku.net/blog/23070

[Unix] systemctlによるサービスの自動起動設定

CentOS 7からサービスマネージャとしてsystemdが採用された。それを受けて、これまでchkconfigで行っていたサービスの自動起動設定をsystemctlで行うことになった。以下、systemctlの使い方覚書。

自動起動をオンにする

自動起動をオフにする

自動起動の状態確認

参考サイト

CentOS7の自動起動設定 – Qiita
https://qiita.com/sayama0402/items/5691d464c422b48931c1

(CentOS7から)Systemdによるシステムとサービスの管理 – 概要と変更点
https://kazmax.zpp.jp/linux_beginner/systemd_summary.html