• 日本語
    • English (英語)
Avinton JapanAvinton JapanAvinton JapanAvinton Japan
  • サービス
    • Avinton Data Platform
    • エッジAIカメラ
      • 自動車ナンバープレート自動認識システム
    • プライベートクラウド
    • AIサービス開発
    • AIカメラ/画像解析無料体験版
    • 見てわかる観光庁オープンデータ
  • 最新情報
    • ニュースリリース&イベント情報
    • 技術ブログ&インタビュー
  • アカデミー
    • Avintonアカデミー
    • Academy on Campus
    • Academy with Platform
  • 採用情報
    • Avintonジャパン 採用ページ
    • 求人一覧
    • よくある質問
    • 新卒採用
  • 企業情報
    • 会社概要
    • 代表からご挨拶
    • SDGsへの貢献
  • お問い合わせ

AWSのEC2インスタンスでWordPressブログを公開してみよう

  • ルーティング
  • データベースの命名規則
  • 三目並べ – 2.〇×を交互にゲーム盤に入るようにしよう
  • 三目並べ – 3.勝敗がつくようにしよう
  • クリーンコード(Clean Code)
  • 三目並べ – 4.「スタート」「リセット」ボタンをつけよう
  • 三目並べ – 5.先攻後攻を決めて、コンピュータ対戦にしよう(前編)
  • インフラストラクチャー(サーバー、コンポーネント、RAID)
  • 機械学習入門者向け Support Vector Machine (SVM) に触れてみる
  • YOLOv8を用いた物体検出
  • 正規表現とパイプ
  • 機械学習エンジニアに必要なスキル
  • 軽量版Kubernetesディストリビューション – k0s クラスターの構築
  • ファイル操作コマンド
  • グループとユーザー
  • 困った時に使うコマンド
  • 一般グループのユーザーとグループ
  • プライバシーポリシー
  • 三目並べ – 6.先攻後攻を決めて、コンピュータ対戦にしよう(後編)
  • フロントエンド開発のための環境構築
  • ファイル検索コマンド
  • 質問
  • 仮想化環境のディスク容量を拡張する
  • ユーザー権限とアクセス権
  • データ分析基礎 – Part1
  • 三目並べ – 0.導入
  • テキスト処理
  • データベースへのデータロード
  • 機械学習概要1
  • 機械学習入門者向け Naive Bayes(単純ベイズ)アルゴリズムに触れてみる
  • ファイル管理
  • SSHを使用してホストOSからゲストOSに接続する
  • 機械学習入門者向け ChainerRLでブロック崩しの学習
  • 機械学習入門者向け ランダムフォレストによる Kaggle Titanic生存者予測
  • 機械学習概要2
  • データ分析基礎 – Part 2
  • 機械学習入門者向け 分類と回帰の違いをプログラムを書いて学ぼう
  • フロントエンドのWeb開発について
  • ダイナミックルーティング
  • 三目並べ – 1.ゲーム盤を作ろう
  • 【Python入門】Python Numpy チュートリアル
  • Amazon EC2 インスタンスの初期設定をしよう
  • AmazonEC2とVPCでネットワークとサーバーを構築しよう
  • Apache NiFi Exercise
  • Apache NiFi データパイプライン基礎
  • Apache NiFiの環境設定
  • Apache Spark 基礎
  • Apache SparkとApache Zeppelinの概要と環境構築
  • Apache Superset maptoolの使い方
  • Apache Superset 基礎
  • Apache Superset 概要と環境構築
  • Apache Zeppelin 基本機能
  • APIのデモンストレーション
  • Avinton Academy コンテンツガイド
  • AWS CLIをインストールしてコマンド操作しよう
  • AWS CLIを使ってEC2のファイルをS3へアップロードしよう
  • AWS Route 53を使って独自ドメインのWebページを表示させてみよう
  • AWSアカウントの作成と必ずやるべきセキュリティ対策
  • AWSのEC2インスタンスでWordPressブログを公開してみよう
  • AWS入門者向け 初心者が最初に理解すべきEC2とVPCの基本的な用語解説
  • CCNA
  • Certbotを使ってSSL証明書を発行し、HTTP通信を暗号化しよう
  • CISCO 1800ルータセットアップ
  • CSV import & export – Node.js, mySQL – 1
  • CSV import & export – Node.js, mySQL – 2
  • Docker Compose(Nginx + Flask + MySQL)演習
  • Docker Engineのubuntu上へのinstall
  • Docker 概要とセットアップ
  • Docker, Kubernetesの学び方について
  • Dockerコンテナイメージの最適化/ベストプラクティス
  • DockerとApacheを使ってWebサーバーを構築しよう
  • EC2からS3へ自動でぽいぽいアップロードするスクリプトの作成
  • ESP32-CAMのサンプルアプリケーションを実行する
  • 01 – Sparkfun Inventor’s Kit の準備
  • 02 – Sparkfun Inventor’s KitでLチカ
  • 03 ポテンショメータでLEDの点滅間隔をアナログ入力する
  • 04 フォトレジスタで明るさに反応するシステムをつくる
  • 05 LCDに文字列を表示する
  • 06 – BME280とLCDを組み合わせて温度計をつくる
  • ESP32とArduino IDE/PlatfromIOでHello Worldアプリケーションの実行
  • ESP32と超音波センサー HC-SR04 で物体の距離を計測する
  • ESXi – Switchの追加とVLAN
  • ESXi – VyOS
  • ESXi – 小規模ネットワーク 構築
  • Gitとは
  • VS CodeでGitHub Copilotを設定する
  • VSCode リモート開発環境
  • GNS3のセットアップ
  • Kubernetesクラスター上へのOpenVINOモデルサーバーを使用したサンプルアプリケーションのデプロイ
  • Linuxとは
  • NAT
  • NodeJSでWebアプリケーション開発 – React編
  • NodeJSでWebアプリケーション開発 – React編
  • NodeJSでWebアプリケーション開発 – React編
  • NodeJSでWebアプリケーション開発 – Socket.IO編
  • NVIDIA Cumulus VX + GNS3でBGPネットワークのシミュレーション
  • OpenCVのテストプログラム
  • PacketTracerのセットアップ
  • Pandasによる構造化データ分析
  • PCからルータ、スイッチへのSSH接続設定
  • PostGIS exercise
  • PostgreSQL – Python – Apache – Bootstrap
  • MySQLとMySQL Workbench のセットアップ
  • PostgreSQL Setup
  • PostgreSQL – インデックスを利用したパフォーマンス改善方法
  • PostgreSQL – パーティショニングを利用したパフォーマンス改善方法
  • PostgreSQLによるデータ分析
  • postgreSQLへのshp fileのimport
  • Python2.7とOpenCVのインストール
  • Python3.8 と OpenCV のインストール (Ubuntu20.04LTS)
  • Pythonでデータベースを操作する
  • Pythonで画像を分類するプログラムを作成する
  • Pythonによるマルチスレッドプログラミング実践
  • Raspberry Pi 4B のセットアップ
  • Raspberry PiとBME280を使用して温度と湿度、気圧を読み取る
  • REDIS
  • Redux基礎 – 主要な概念と用語
  • Ruby on Rails を MySQLでセットアップ
  • Ruby on Railsによる簡単なウェブアプリケーション
  • SampleアプリケーションのKubernetes上へのデプロイ
  • Scala 基礎
  • scikit-learnとは
  • Spark SQL エクササイズ
  • SparkMLによるKaggle Titanic生存者予測
  • KNIME, AutoMLライブラリによる住宅価格予測
  • SparkMLによる住宅価格予測
  • SQL 便利な関数
  • Ubuntuの基本設定
  • uhubctlでUSBデバイスのオンオフをコントロール
  • Terraform入門 2 – Terraformのstate管理
  • Terraform入門 1 – TerraformでAWS上にEC2インスタンスを作成する
  • Virtualisation and Container (仮想化とコンテナ) – Ansible, Docker and Kubernetes
  • viエディタ
  • VLAN
  • VMware ESXi サーバー構築
  • Webアプリ開発に欠かせないGoogle Chrome DevToolsの基本
  • Windows Server 2012 R2 Hyper-V
  • Object Detection with YOLOv8
Home Avintonアカデミー AWSのEC2インスタンスでWordPressブログを公開してみよう

awsとwordpressで無限の可能性が広がっているんだよ〜的なアイキャッチ画像

前回の内容では、EC2とDocker、Apacheを利用してWebサーバーを構築しました。

DockerとApacheを使ってWebサーバーを構築する

今回はそのWebサーバーにWordPressを設置し、ブログを公開してみましょう。

WordPressはオープンソースのCMS(Contents Management System)ソフトウェアです。

オリジナルのブログ・Webサイトを公開するツールとして人気があり、このAvintonのWebサイトもWordPressで作られています。

WordPressを利用するにはMySQLとPHPが必要なため、合わせてインストールし、設定を進めていきましょう。

前回から引き続きDockerコンテナの中で作業を進めたいので、インスタンスへSSHし、コンテナにログインしてください。

ssh -i "~/.ssh/HOGEHOGE" -p xxxxx USER@FQDN
sudo su -
docker exec -it CONTAINER_ID /bin/bash

~

docker execコマンドでコンテナへログインした時の画像

PHPとモジュールのインストール

最新版のPHPを導入するための準備

早速PHPをインストールしたいのですが、そのままのyumリポジトリでは古いバージョンのPHPしかありません。

最新のPHPをインストールするために、Webtatic Yum(https://webtatic.com/) リポジトリを導入しましょう。

rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm

これでphp7系のパッケージをインストールできるようになりました。

yum-list-phpコマンドの出力結果

PHPと必要なモジュールの導入

それではPHPをインストールしましょう。

WordPressではPHP本体に加え、いくつかモジュールを必要としますので、まとめてインストールします。

yum -y install php72w php72w-mysql php72w-gd php72w-mbstring php72w-opcache php72w-xml
  • phpXXX…PHP本体
  • phpXXX-mysql…MySQLと連携するためのモジュール
  • phpXXX-gd…画像を変換するためのモジュール
  • phpXXX-mbstring…マルチバイト文字(日本語)を利用するためのモジュール
  • phpXXX-opcache…PHPの処理を高速化するモジュール
  • phpXXX-xml…WordPressのバックアップデータ(xmlデータ)を取り扱う時に必要なモジュール
    ※ XXX はパッケージのバージョンです。

インストール後、Apacheを再起動します。

systemctl restart httpd

PHPが実際に動作するか調べるには、次のようにphpの情報を表示するページを作成し、Web上で確認すると良いでしょう。

touch /var/www/html/info.php

echo “<?php phpinfo(); ?>” > /var/www/html/info.php

echoコマンドでphpinfoファイルを作成している様子

ブラウザからURLにアクセスすると、次のようなページが開きます。
(URLは http://YOUR_INSTANCE_IP/info.php になります。)

phpinfoの表示結果をブラウザから確認した画像

動作確認後、ファイルは不要となるので rm コマンド で削除しましょう。

rm /var/www/html/info.php

MySQLのインストール

MySQL公式のリポジトリを追加し、

rpm -Uvh https://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm

インストールします。

yum -y install mysql-server

インストール後、サービスを起動します。

systemctl start mysqld

MySQLの初期パスワードを変更

MySQLがインストールされると、デフォルトでrootユーザーのパスワードが生成されます。

そのままにしておくのはあまりよくないため、rootのパスワードを変更しましょう。

生成されたパスワードを次のコマンドで表示し、コピーします。

grep 'temporary password' /var/log/mysqld.log

MySQLのコンソールへ接続します。パスワードを聞かれるので、上記コマンドで表示したパスワードを入力します。

mysql -u root -p

rootユーザーのパスワードを変更します。

ALTER USER 'root'@'localhost' IDENTIFIED BY 'ENTER_NEW_PASSWORD';

control + D または exit を押下してコンソールから一度ログアウトし、変更したパスワードでMySQLのコンソールへログインできるか試してください。

WordPressのインストール

WordPressのインストールは次の手順で進めます。

1.WordPress用のDBの作成

2.公開フォルダの権限設定

3.WordPressの設定ファイルとDBの紐付け

データベースのセットアップ

WordPress用のDBをセットアップします。

公式サイトから wget コマンドで最新の圧縮ファイルをダウンロードし、公開フォルダに設置します。

cd ~
yum -y install wget
wget http://wordpress.org/latest.tar.gz
tar -xzvf latest.tar.gz
cp -R wordpress/ /var/www/html/wordpress

~

MySQLコンソールを呼び出し

mysql -u root -p

WordPress用のデータベースとユーザーを作成します。

mysql&gt; CREATE DATABASE wpdb;
mysql&gt; GRANT ALL ON wpdb.* TO hoge@localhost IDENTIFIED BY 'hogehogepassword';
mysql&gt; FLUSH PRIVILEGES;

WordPressのデータベースを作成した様子

DBとユーザーを作成後、一度ログアウトし、作成したユーザーでMySQLコンソールを呼び出せることを確認します。

mysql -u hoge -p

MySQLコンソールが開いたら、作成したDBが存在していることを確認します。

mysql&gt; show databases:

show-detabasesコマンドの出力結果

Apache公開フォルダの権限設定

WordPressの機能の中には、Apacheのドキュメントルートへのアクセスを必要とするものがあります。

機能をフルに使いたい場合は、ドキュメントルートのパーミッションを次のように修正します。

chown -R apache:apache /var/www
chmod 2775 /var/www
find /var/www -type d -exec sudo chmod 2775 {} \;

Apacheの公開フォルダの権限を設定している様子

WordPressの設定ファイルとDBの紐付け

これでブログを公開する準備が整いました。

ブラウザでURLを叩き、WordPressの最後の設定を済ませましょう。

http://[Your Public IP]/wordpress

画面の指示通りに進むと、次のような入力画面が表示されます。ここでは前項で作成したデータベースとユーザー名、パスワードをそれぞれ指定してください。

WordPressの初期設定画面

  • Database Name … 前項で作成したDB名
  • Username … 前項で作成したユーザー名
  • Password … 前項で作成したパスワード
  • Database Host … そのままでOK
  • Table Prefix … そのままでOK

全ての設定が終わるとブログにアクセスできます!やったね!

WordPressのハローワールド的な画像

演習

1.WordPressでポエムを投稿してください。
2.好きなテーマに変更し、見た目を好きなようにいじってみてください。
3.Docker HubにあるWordPressとMySQLのコンテナ、そして docker compose を利用し、WordPressの環境を構築してみてください。

この記事ではWordPressを導入するために、必要なパッケージを一つずつインストールしていきました。しかしこのような方法は手間がかかって大変です。

実は、DockerにはWordPressとMySQLのコンテナがアップロードされており、それらのコンテナと docker compose を利用することで瞬時にWordPressの環境を用意することができます。

まとめ

WordPressでブログを公開できるようになりました。これであなたのポエムをどしどし投稿してください!

次回はこれまで構築してきたWebサーバーをメンテナンスするため、AWS CLIの使い方をまとめます。
>>AWS CLIをインストールしてコマンド操作しよう

あなたも、Avintonでこのような最先端技術を習得し活用してみませんか?

社員の成長を導きながら、AIやビッグデータなどの最先端技術をプロジェクトに活用していくことが私たちのビジョンです。Avintonの充実した技術研修でスキルアップを図り、あなたのキャリア目標を一緒に達成しませんか?

採用情報

採用情報

採用情報

Categories

  • 相互学習
  • 採用
  • 社員インタビュー
  • 学習&資格取得
  • 技術解説
  • イベント告知
  • 学内説明会&講義
  • 産学連携
  • 就職活動
  • イベントレポート
  • その他
  • 技術ブログ&インタビュー
  • mainpage
  • New Graduates Interviews
  • 中途エンジニア
  • カテゴリーなし
  • ニュースリリース&イベント

Avinton SDGs

SDGsへの貢献

Search

タグ

AIカメラ AI時代の経営 AvintonAcademy on Campus AWS Big Data ccna Digital Transformation Docker DQN Edge AI FINOLAB Git James Cauchi LPIC-2 PM&PMO Raspberry Pi SSD イベントレポート エリクソン キャリア クラウトネイティブ コンテナ技術 ディープラーニング データベース データ分析 データ生成 ファンダフルリレーマラソン モブワーク リスキリング リードエンジニア 中瀬幸子 交流会 企業説明会 医療 大学&専門学校 就職活動 帰社日 強化学習、機械学習 技術ブログ 掲載告知 未経験 田中 研之輔 社員紹介 第一級陸上特殊無線技士 観光データ
© 2023 Avinton | All Rights Reserved | プライバシーポリシー
  • サービス
    • Avinton Data Platform
    • エッジAIカメラ
      • 自動車ナンバープレート自動認識システム
    • プライベートクラウド
    • AIサービス開発
    • AIカメラ/画像解析無料体験版
    • 見てわかる観光庁オープンデータ
  • 最新情報
    • ニュースリリース&イベント情報
    • 技術ブログ&インタビュー
  • アカデミー
    • Avintonアカデミー
    • Academy on Campus
    • Academy with Platform
  • 採用情報
    • Avintonジャパン 採用ページ
    • 求人一覧
    • よくある質問
    • 新卒採用
  • 企業情報
    • 会社概要
    • 代表からご挨拶
    • SDGsへの貢献
  • お問い合わせ
  • 日本語
    • English (英語)
Avinton Japan