Hatena::ブログ(Diary)

radio-keiosの日記 このページをアンテナに追加 RSSフィード

2016-12-03

[]Apacheの設定で押さえておくべき箇所

2.4系の話である。

いまだにApacheを利用する機会はなくならず、久々に利用したのでメモを残す。

以下、Directoryの設定に関するものである。

OptionsとAllowOverrideとRequireの設定は必ず理解しておく。

Options

Optionsはディレクトリに対する基本的な設定。

http://httpd.apache.org/docs/2.4/mod/core.html#options

デフォルトがALL。FollowSymLinks以外、利用する機会はほぼないと言える。

ExecCGI(今時CGIなど使わない)、

Includes(そもそもPHPなどでサイトを構築しているし、Server Side Includesを使う機会がない。)

Indexes(ファイル一覧を見せる必要はない)

AllowOverride

AllowOverrideは.htaccessに対する設定。

WordPressを利用する場合は関係してくる。

設定しなければデフォルトがALLで、これ以外を利用するケースはあまりないと思う。

つまりわざわざ書く必要はないが、以下のようにデフォルトで設定されていることから、

.htaccessを使用する場合は明示的に許可するように変更しなければならない。

<Directory />
    AllowOverride None
</Directory>
Require

Requireは認証に関する設定で、一部のユーザに対してのみ公開したいときに利用する。

AllowOverride同様に禁止されているので、設定を変更しなければアクセスができない。

<Directory />
    Require all denied
</Directory>

ローカル開発時など、特に制限する必要がなければ、Require all grantedでよい。


さて、以上を踏まえて以下に簡単な例を示す。

基本的にはVirtualHostを利用することが多いと思うが、以下のような記述を行うことになるだろう。

<VirtualHost *:80>
    DocumentRoot "/home/a/www/public"
    ServerName a.local
    ErrorLog "logs/a-error.log"
    CustomLog "logs/a-access.log" common
    <Directory "/home/a/www/public">
        Options FollowSymLinks
        AllowOverride All
        Require all granted
    </Directory>
</VirtualHost>

2015-03-10

[]コンテナの保存

以前、save&loadが使えそうだということが頭にあったので実際に試そうとしたが

よくよく考えるとsaveコマンドはイメージを保存するもの。

コンテナを保存する場合はcommitをやはり利用することになるかねえ。


そうそう、data only containerではデータ用のコンテナはrunせずにcreateする。

$ sudo docker create -v /dbdata --name dbdata training/postgres
$ sudo docker run -d --volumes-from dbdata --name db1 training/postgres

https://docs.docker.com/userguide/dockervolumes/


Docker使ってると、次から次に新しいアイデアが生まれてきてちょこちょこ変更が発生して面倒だ。

鉄板パターンを作っておかないとブレブレになってしまう。

2015-03-04

[]export/import

稼働中のコンテナをイメージとして保存したいときに以下の方法だと便利だが、

メタ情報が保存されない。(CMDが実行されなかった)

$ docker export コンテナ名|docker import - イメージ名

以下によれば、save&loadでうまくいくようだ。

https://github.com/docker/docker/issues/8334

Dockerイメージのoraclelinuxを利用するときもimportだとダメで

loadだとうまくできたのでこちらを基本使うようにした方がよさそう。