サイトアイコン TakeNotes.JP

Google CloudのCompute EngineにWordPressを立てる

社内からインフラの基礎を知りたいということで、Linux雑談しつつGoogle CloudのCompute EngineにWordPressを構築する突発ハンズオン(ノー準備)を開催しました。そのときの作業メモです。

サーバ構築雑談編

以下の内容をザッとお話しました。

Compute Engineハンズオン編

Apache2 : ブログシステム : WordPressを参考に、一人1インスタンスを立ててSSHでつなげてもらいました。

開催(講師)側準備

  1. Cloud IAMに参加者のメールアドレス(Googleアカウント)を追加する
    • このときは雑に「編集者」で追加して終了後にIAMから削除
    • 権限を絞るのであれば、正確には「Compute 管理者」で良いはず
  2. Compute Engine APIを有効にする
  3. GCEのインスタンスを作成する
    1. 「マシンタイプ」からe2-microを選択(費用を気にしないのであれば変更不要)
    2. 「ファイアウォール」から「HTTP トラフィックを許可する」にチェック
  4. 受講者にVMインスタンスページのURLを伝える
    • ここから先は受講者側の協力が必要
  5. 「外部 IP」にHTTPでアクセスしてもらい、タイムアウトすることを確認する
    • VMインスタンスページの「外部IP」をリンクをクリックするとHTTPSなので注意
    • このハンズオンは「HTTPでつながれば終わり」のため
  6. 「SSH」の下三角ボタンから「ブラウザ ウィンドウで開く」を押してSSHで接続してもらう
    • 「ブラウザでの SSH」ウィンドウでターミナルの画面が見られればOK
    • 試しにwhoami や id とか打ってみる

WordPress構築ハンズオン編コマンド手順

ApacheとPHP、各種ライブラリのインストール

sudo apt-get -y install apache2 php php-cgi libapache2-mod-php php-common php-pear php-mbstring php-gd php-mysql php-enchant hunspell
sudo systemctl restart apache2

MariaDBのインストール

sudo apt-get -y install mariadb-server

MariaDBの初期設定

sudo mysql_secure_installation

Switch to unix_socket authentication [Y/n] n
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

データベースの作成やユーザー・パスワード、権限設定

sudo mysql
create database wordpress;
grant all privileges on wordpress.* to wordpress@'localhost' identified by 'password';
flush privileges;
exit

WordPressのインストール

WordPressの最新版をダウンロードして/var/www/html/wordpressに展開し、/var/www/html/ディレクトリ以下の所有者をwww-dataに変更

wget https://ja.wordpress.org/latest-ja.tar.gz
sudo tar zxvf latest-ja.tar.gz -C /var/www/html/
sudo chown -R www-data /var/www/html/

http:// 外部IP /wordpress にアクセスしてもらい、WordPressのセットアップ画面へ

その他

モバイルバージョンを終了