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