Cloud9にWordpressをインストールしてみる(作業時間5分:自動構築スクリプト付)
Cloud9にWordpressをインストールしてみます。
作業フローとしては、
1. 新規environmentの作成
2.シェルスクリプトの作成
3.シェルスクリプトの実行
4.アプリケーションの起動
となります。
1.新規environmentの作成
ダッシュボードより「Create environment」を実行します。
environmentの名称を入力します。
environmentの動作するサーバを設定します。
EC2を使用する場合は、コスト削減のため30分以上触らない状態で停止するように設定します。
environmentの作成を完了します。
2.シェルスクリプトの作成
新規ファイルを作成して次のコードを貼り付けます。
パスワードやデータベースの名称等を構築する環境に応じて書き換えます。
#!/bin/sh
CPATH=`pwd`
ROOT_PASSWORD=rootのパスワードに書換
DB_NAME=作成するデータベースの名称に書換(ハイフン、バックスラッシュは使わないでください)
WP_USER=作成するデータベースの管理ユーザ名に書換
WP_USER_PASSWORD=作成するデータベースの管理ユーザのパスワードに書換
TABLE_PREFIX=作成されるデーブル名の共通する頭文字に書換(例: wp0001_)
echo "WordPressをダウンロードしています"
wget https://ja.wordpress.org/latest-ja.zip
unzip latest-ja.zip
rm -rf latest-ja.zip
echo "Mysqlの初期設定を開始します"
sudo service mysqld start
mysql -u root --password= -e "
UPDATE mysql.user SET Password=PASSWORD('${ROOT_PASSWORD}') WHERE User='root';
DELETE FROM mysql.user WHERE User='';
DELETE FROM mysql.user WHERE User='root' AND Host NOT IN ('localhost', '127.0.0.1', '::1');
DROP DATABASE test;
DELETE FROM mysql.db WHERE Db='test' OR Db='test\\_%';
FLUSH PRIVILEGES;"
echo "Wordpress用のデータベース設定を開始します"
mysql -u root --password=${ROOT_PASSWORD} -e "
CREATE USER '${WP_USER}'@'localhost' IDENTIFIED BY '${WP_USER_PASSWORD}';
CREATE DATABASE ${DB_NAME};
GRANT ALL PRIVILEGES ON ${DB_NAME}.* TO '${WP_USER}'@'localhost';
FLUSH PRIVILEGES;"
echo "wp-config.phpの設定を開始します"
rm ${CPATH}/wordpress/wp-config.php
cat << EOF > ${CPATH}/wordpress/wp-config.php
<?php
/** WordPress のためのデータベース名 */
define('DB_NAME', '${DB_NAME}');
/** MySQL データベースのユーザー名 */
define('DB_USER', '${WP_USER}');
/** MySQL データベースのパスワード */
define('DB_PASSWORD', '${WP_USER_PASSWORD}');
/** MySQL のホスト名 */
define('DB_HOST', 'localhost');
/** データベースのテーブルを作成する際のデータベースの文字セット */
define('DB_CHARSET', 'utf8');
/** データベースの照合順序 (ほとんどの場合変更する必要はありません) */
define('DB_COLLATE', '');
$(eval curl https://api.wordpress.org/secret-key/1.1/salt/)
/**#@-*/
/**
* WordPress データベーステーブルの接頭辞
*
* それぞれにユニーク (一意) な接頭辞を与えることで一つのデータベースに複数の WordPress を
* インストールすることができます。半角英数字と下線のみを使用してください。
*/
\$table_prefix = '${TABLE_PREFIX}';
define('WP_DEBUG', false);
/* 編集が必要なのはここまでです ! WordPress でブログをお楽しみください。 */
/** Absolute path to the WordPress directory. */
if ( !defined('ABSPATH') )
define('ABSPATH', dirname(__FILE__) . '/');
/** Sets up WordPress vars and included files. */
require_once(ABSPATH . 'wp-settings.php');
EOF
echo "後始末を開始します"
chmod 400 ${CPATH}/wordpress/wp-config.php
mv wordpress/* ./
rm -rf wordpress
echo "環境構築が完了しました"
シェルスクリプトでは
1.Wordpressの最新版のダウンロードと解凍
2.MySQLの初期設定
3.Wordpress用のデータベース設定
4.wp-config.phpの作成
が行われます。
名前を付けて保存します。(例:wordpress_install.sh)
3.シェルスクリプトの実行
シェルスクリプトのパーミッションを変更し実行します。
chmod 700 wordpress_install.sh
./wordpress_install.sh
4.アプリケーションの起動
アプリケーションの起動を行い動作確認を行いましょう。
プレビューで確認を行います。
「データベース接続エラー」となる場合は、設定したパスワードやデータベース名称に問題ある可能性があります。
一旦evnironmentを削除して最初から構築してみてください。
作成したいブログの内容に応じて記入していきます。
5.まとめ
Cloud9でのWordpressのインストールですが思ったより手間取りました。
シェルスクリプトを作ることで大分省力化できたと思います。
本番はモノづくりなので環境構築は楽したいですね。
この記事が気に入ったらサポートをしてみませんか?