Help us understand the problem. What is going on with this article?

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

More than 1 year has passed since last update.

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の無料枠で収まらなそうだけど、とりあえずはなんとかなるはず。

mekabuko
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした