Google Cloud Platform+WordPressで無料Blog設置

Google Cloud Platform+WordPressで無料Blog設置

このサイトは「Google Cloud Platform(GCP)のmaicroインスタンス」と「WordPress」を利用して無料で運営されています。今回はその構築方法の備忘録になります。

Google Cloud Platformの設定

Googleアカウントを使って、GCPのサービス利用を申請します。

GCPでVMインスタンスを作成

GCPのコンソールに入ったら、左側のメニューから「Compute Engine」-[VMインスタンス]-[インスタンスの作成]を押します(2018年10月19時点)。
ちなみにVMインスタンスとは、簡単にクラウド上にパソコンを設置するイメージです。

設定の画面が出てきましたら、以下を入力して「作成」を押します。

  • 名前 : 好きな名前
  • リージョン : us-east1
  • ゾーン : us-east1-b
  • マシンタイプ : micro(共有vCPU)
    ※ micro以外だとお金がかかります。

  • ブートイメージ : Ubuntu 16.04 LTS

  • ブートディスクの種類(サイズ) : 30G

  • HTTPトラフィックを許可する : チェックを入れる

  • HTTPSトラフィックを許可する : チェックを入れる

入力が終わったら数分内にインスタンスが作成されます。
インスタンスが作成されたら、ブラウザからSSHでアクセス可能になります。

ルートユーザーのパスワード設定

ここからは作成したインスタンにSSH接続してからのコマンドラインでの作業になります。
先ずはルートユーザーのパスワード設定します。

$ sudo su -  
root $ passwd  
※好きなパスワードを2回入力  

パッケージのアップグレード

パッケージを最新のものにしておきます。

$ sudo apt update  
$ sudo apt list --upgradable  

sysv-rc-confのインストール

sysv-rc-confとは、UNIXのサービス管理するパッケージになります。

$ sudo apt install sysv-rc-conf  

Apacheのインストール

ApacheはWebサーバーを設置するためのパッケージです。

$ sudo apt install -y apache2

関連するphpもインストールしておきます。

$ sudo apt install -y php libapache2-mod-php php-mysql  
$ sudo apt install -y php-mbstring php-mcrypt php-curl php-gd php-xml  

再起動して、Apacheが起動時に立ち上がるように設定しておきます。

$ sudo systemctl restart apache2  
$ sudo sysv-rc-conf apache2 on  

MySQLのインストール

MySQLはデータベースで、Wordpressの記事を格納することになります。

$ sudo apt install -y mysql-server

Rootのパスワードの設定を求められるので、忘れないよう。

$ sudo mysql_secure_installation  

匿名ユーザーやテストDBの削除をします。基本Yes・NoはYesで問題ないです。

データベースの作成

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

$ mysql -u root -p  
mysql > CREATE DATABASE wordpress DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;  
mysql > exit;  

データベースの名前はwordpressで、文字コードはutf8にしておきます。

WordPressの設定

WordPressのインスールディレクトリを

Apacheの設定をいじるので、/etc/apache2/apache2.confをコピーしてバックアップを取っておいてください。

** /etc/apache2/apache2.conf **にWordpressのインストール先を追記します。

<Directory /var/www/html/wordpress>  
        AllowOverride All  
</Directory>  

設定ファイルのチェックとmod_rewriteを有効化、Apacheを再起動をします。

$ sudo apache2ctl configtest  
$ sudo a2enmod rewrite  
$ sudo systemctl restart apache2  

WP-CLIのインストール

WordPressをコマンドで扱うためにWP-CLIをインストールします。

$ cd  
$ curl -O https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar  
$ chmod +x wp-cli.phar  
$ sudo mv wp-cli.phar /usr/local/bin/wp  
$ wp --info  

インストール

WP-CLIを使って、/var/www/html/wordpressにインストールを行います。自動更新などを行えるようにアクセス権限も変更しておきます。

$ sudo su -  
$ wp core download --locale=ja --path=/var/www/html/wordpress --allow-root  
$ touch /var/www/html/wordpress/.htaccess  
$ chmod 660 /var/www/html/wordpress/.htaccess  
$ cp /var/www/html/wordpress/wp-config-sample.php /var/www/html/wordpress/wp-config.php  
$ mkdir /var/www/html/wordpress/wp-content/upgrade  
$ sudo chown -R [作業ユーザ名]:www-data /var/www/html/wordpress  
$ sudo chmod g+w /var/www/html/wordpress/wp-content  
$ sudo chmod -R g+w /var/www/html/wordpress/wp-content/themes  
$ sudo chmod -R g+w /var/www/html/wordpress/wp-content/plugins  
$ sudo chmod -R g+w /var/www/html/wordpress/wp-content/upgrade  
$ sudo chmod -R g+w /var/www/html/wordpress/wp-content/languages  

wp-config.phpの設定

セキュアな文字列を生成、編集。

$ curl -s https://api.wordpress.org/secret-key/1.1/salt/

記事を格納するデータベース設定を/var/www/html/wordpressに記入

define('DB_NAME', 'wordpress');  
define('DB_USER', 'root');  
define('DB_PASSWORD', '[DB作成時のパスワード]'); 

また、プラグイン更新時のFTPログイン情報を求めれられるのを回避するために、
以下の設定を書き込む

define('FS_METHOD', 'direct');

バーチャルホストの設定

WordPressフォルダをApacheのデフォルトにするためにバーチャルホスト設定を行います。デフォルトの設定ファイルをコピーします。

sudo cp /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-available/wordpress.conf

コピーしたwordpress.confのDcoumentRootを以下に変更。

<VirtualHost *:80>  
  (略) 
    ServerName hogehoge.com #取得しているドメイン
    DocumentRoot /var/www/html/wordpress  
    (略)
</VirtualHost>

デフォルトのサイトを無効にして、Wordpressサイトを有効化。

$ sudo a2dissite 000-default
$ sudo a2ensite wordpress
$ sudo systemctl restart apache2

設置したIPにhttpでアクセスして、ブログタイトル、ユーザー名等の必要事項を入れて「WordPressをインストール」を押せば設置完了。

次回は、このWordPressのSSL化を行います。

Settingカテゴリの最新記事