Wordpressを構築してみた
ちょっとブログを新しく作ってみたいと思い、色々と調べた結果Wordpressを使ってみようということになった。 すでにこのブログはあるんだけど、別でちょっとやってみたかったので改めて作った感じ。
構成としては、VPSを個人的に借りていたのでそこでwebサーバー(Apache)を立ててやってみた。前段にTraefikが動いているのでwebサーバーは8080ポートで動かすようにしてTraefikをプロキシサーバーとして構築。
わかったことなどを適当に
VirtualHostのポートを変える必要がある
最初Apacheでポート80でvirtual hostを設定していたけど動かなった。
ポートを8080で動かしているのでVirtual Hostも8080にして解決。 仮想ホストなのでなんでもいいんかと思ってたがそうではないみたい..
WebサーバーはHTTPリクエストを受けてレスポンスを返すもの
Webサーバーはリクエストを受けたら設定したフォルダにあるコンテンツを返すもの。 ApacheがPort 80でlistenして、そこにWebリクエストするときにアクセスするとコンテンツを返す。
Apache以外に何かを動かす必要もなくてそれだけでHTTPリクエストがあったときにレスポンスを返せる。このときに初期ページとして開くindex.htmlとかを定義したり適当に.htaccess等で返したいものとかを設定してあげるイメージ。
PHPをどうやって動かすのかに関しては、Apacheとかがphpを実行してindex.phpを動かして処理しているみたい。index.htmlではなくindex.phpを優先的に呼び出してあとはサーバー内のPHPで処理してレスポンスを返す。
本来はこのWebサーバーを動かすことでHttpリクエストを処理してコンテンツを返すものなんだなというのがしれてよかった。
当然ではあると思うけどへぇーって感じ。 なんとなくは理解していたつもりだったんだけど、今回改めてWebサーバーを構築してみてより理解が深まった気がする。
DBでは複数のデータベースを作れる
DBもDBサーバーが動いていて、それの中に情報が詰まっている。 userのデータベースとかは特殊なんやろうけど、基本的にDBは複数作れる。 Mysqlユーザーもデータベースで管理されてる情報。
データベースごとにユーザーを作ったりするのは、adminだと他のdbの情報とかも見れるから特定のデータベースに絞って範囲を狭めるためにそのDBの権限だけを持ったユーザーを作成させる。 だから権限を全て付与してても特定のdbのみみたいになってることが多いんじゃ無いかな?
WebサーバーやDBサーバーもサーバー内で入れておいて複数のものとして扱えるってのは面白いね。
Wordpressの構築
構築自体は公式が出している、WordpressをWebサーバーで指定したフォルダにおいて、DBのセットアップしたらあとはwp-configを設定するだけ。 phpのrewriteを設定しなくてもいい。httpのconfでその記述をしていたらリダイレクトが発生したので消した。Wordpress側でなんかしてるのかも。
そんな感じで結構簡単に構築できたのでよかったでーす。