31
Help us understand the problem. What are the problem?

More than 3 years have passed since last update.

posted at

updated at

GCP上でWordPressを無料で構築したい

WordPressでHPをやりたいがお金はない

今更ながらWordPressを使ってみたいと思い立ったが、自サーバを立てるお金も、レンタルサーバを借りるお金もない。
そこでGCPの無料枠を使ってできるという噂を聞いたのでやってみることに。

※GCPにはWordPress用のランチャがあるので、純粋にWordPressを立てるだけならそっちの方が良いのでしょう。

GCEでサーバを用意する

以下を参照しながら無料インスタンス作成。

LAMPサーバとして設定を行う

作成したGCEにssh接続して、LAMPサーバとして使えるように設定していく。
※操作が必要なところについては、echoで説明しています。

apacheのインストール

apache.sh
#Apacheをインストールします
sudo yum -y install httpd

#apacheを起動し、ついでに起動を自動化します
sudo systemctl start httpd.service
sudo systemctl enable httpd.service

mariaDBのインストール

mariaDB.sh
#MariaDBをインストールします
sudo yum -y install mariadb-server mariadb

#MariaDBにcharacterの設定を行います
sudo echo character-set-server=utf8 >> /etc/my.cnf

#Mariadbを起動し、ついでに起動を自動化します
sudo systemctl start mariadb
sudo systemctl enable mariadb

#MariaDBの初期設定を行います
echo "input:enter,y,password,y,y,y,y"
sudo mysql_secure_installation

PHPのインストール

php.sh
#PHPおよび関連ソフトをインストールします
sudo yum -y install php php-mbstring php-gd php-mysql

#Apacheを再起動します
sudo systemctl restart httpd.service

DBの準備

DBsetup.sh
#データベースを準備します
echo "Input like this..."
echo "Caution: You needs change *___*"
echo "1:Create database *db_name*;"
echo "2:grant all privileges on wpdb.* to \"*user_name*\"@\"localhost\" identified by \"*password*\";"
echo "3:flush privileges;"
echo "4:exit"

mysql -u root -p

これで最低限LAMPサーバとしての準備ができた。
この上にWordPressを構築していく。

Wordpressのインストールを行う

ダウンロードからインストールまで

wordpress.sh
#wordpress最新日本語版をダウンロード
curl -LO http://ja.wordpress.org/latest-ja.tar.gz

#ファイルを展開
tar zxf latest-ja.tar.gz

#htmlフォルダに移して、apacheで使用可能にする
sudo mv wordpress /var/www/html/wp
sudo chown -R apache:apache /var/www/html/wp

#展開元のファイルは消去
sudo rm latest-ja.tar.gz 

#config.phpをサンプルから本番に変更
sudo mv /var/www/html/wp/wp-config-sample.php /var/www/html/wp/wp-config.php

設定を行う

settingWP.sh
echo "Change like this ..."
echo "database_name_here -> wpdb"
echo "username_here -> *username*"
echo "password_here -> *password*"
sudo vi wp-config.php

#設定終了したら、編集不可に設定
sudo chmod 400 wp-config.php

SELinuxの設定

そのままだとSELinuxに引っかかってうまく動かないので設定を変更する。

settingSELinux
#SELinuxの設定をします
sudo setsebool -P httpd_can_network_connect_db 1
sudo setsebool -P httpd_tty_comm 1
sudo setsebool -P httpd_unified 1
sudo setsebool -P httpd_dbus_avahi 1
sudo semanage fcontext -a -t httpd_sys_content_t "/var/www/html/wp"
sudo semanage fcontext -a -t httpd_sys_rw_content_t "/var/www/html/wp/wp-content(./*)?"
sudo restorecon -R -v /var/www/html/wp

ドメインを取得

当然ここも無料で行きたいので、
- 無料のドメインを取得する
を参考にドメイン取得。

Aレコードに www:(GCPの外部アドレス) で登録すれば使えるようになる。

完成

とりあえずこれでWordPressが使えるようになりました。
データベース接続エラーがたまに出て、そのときには手動で再起動が必要のようですが、とりあえずは問題なく動く感じ。
あまりアクセスが多くなるとGCPの無料枠で収まらなそうだけど、とりあえずはなんとかなるはず。

Register as a new user and use Qiita more conveniently

  1. You can follow users and tags
  2. you can stock useful information
  3. You can make editorial suggestions for articles
What you can do with signing up
31
Help us understand the problem. What are the problem?