見出し画像

Docker * apahce2 * .htaccess * mod_rewrie without Docker-compose

割引あり

目的

Dockerコンテナでapache2(httpd)サーバを建ててmod_rewriteを有効にする

シチュエーションとモチベーション

旧サイトのリニューアルで旧サイトから新サイトへのリダイレクトをmod_rewriteで実装することになった。開発時に実装を確認したい場合、旧サイトのWebサーバーに手を加えられないのでローカルで検証したい。

How

1)Webサーバ起動
docker でhttpdコンテナを起動する。気をつけたいポイントは、Webサーバへアクセスする時のポート指定。既にローカルOS内で使用しているポートは使わないように。*以下サンプルでは8080ポートを指定している。またコンテナにアクセスしやすくするためにコンテナ名を--nameオプションwebserverと名付けています。

docker pull httpd
docker run -d -p 8080:80 --name webserver httpd

2)コンテナに入る
mod_rewriteを記述した.htaccessもしくはconfファイルをWebサーバが起動しているコンテナ内に配置する。volumeつかってホストとコンテナをマウントするのがカッコいいというかもしれませんが、めんどくさがり屋なので、直接コンテナに入ってhtaccessを配置する方法をメモしておきます。

docker exec -it webserver bash

3)viのインストール
.htaccessやconfファイルを編集するためにviを入れます。

apt-get update
apt-get install vim

4)mod_rewriteの有効化
vi で httpd.confを開いて(/usr/local/apache2/conf/httpd.conf)mod_rewtiteモジュールを有効化します。デフォで無効化されているのでコメントアウトします。画像の赤枠行の先頭にある #を削除 します。

ここから先は

963字 / 2画像

この記事が気に入ったらサポートをしてみませんか?