24
31

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

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

Last updated at Posted at 2018-04-30

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

24
31
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
24
31

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?