Apache設定

Ubuntuのインストール記事からApacheの箇所だけ抜出し。

最初

ホームディレクトリにwwwを作成する。
/home/okamura/www

インストールは以下
sudo apt-get install apache2

起動
sudo /etc/init.d/apache2 start

apache2.confファイルについて

/etc/apache2/apache2.conf
が設定。

この中に、
sites-enabled/*.conf
と記載され、設定を別から読み込んでいる。

sites-enabled
の中に
000-default.conf
がありリンクで、
site-available/000-default.conf
が読み込まれている。
(昔のバージョンによってはdefaultというファイルの場合もある)

apache2.conf -> sites-enabled/000-default.conf -> /site-available/000-default.conf
の感じ。

apache2.confファイルの設定

正しく処理の流れとして、
sites-available/000-default.conf
がテンプレートなので、それをコピーして編集する。

今回は
001-default.conf
とする。(だいたいコピーしたファイルの名前はドメイン名.confとする)

000-default.conf
が有効(シンボリックができている)になっているので以下で無効化。
sudo a2dissite 000-default.conf

有効になっていないコピーしたファイルを有効化。
sudo a2ensite 001-default.conf

が正しい処理の流れ。

apache2.confの中身について

apache2.conf
には以下のように書かれている。

<Directory />
Options FollowSymLinks
AllowOverride None
Require all denied
</Directory>

<Directory /usr/share>
AllowOverride None
Require all granted
</Directory>

<Directory /var/www/>
Options Indexes FollowSymLinks
AllowOverride None
Require all granted
</Directory>

site-available/000-default.conf
の中には、
<VirtualHost *:80>
***
DocumentRoot /var/www/html
***
</VirtualHost>
が書かれていて、これが初期設定。

ドキュメントルートを変える方法として、
DocumentRoot /home/okamura/www
とし、さらに以下も追加する。
<VirtualHost *:80>
***
<Directory “/home/okamura/www”>
Options Indexes FollowSymLinks
AllowOverride None
Require all granted
</Directory>
***
</VirtualHost>

ただ、バーチャルホストの設定はなくてもOKなので、
apache2.conf
の中の、
IncludeOptional sites-enabled/*.conf
をコメントアウトして、
apache2.conf
の中に直接以下を追記してもOK。
(もともとある<Directory></Directory>をコメントアウトしてもOK)
DocumentRoot /home/okamura/www
<Directory /home/okamura/www>
Require all granted
</Directory>

と追記するだけでもOK。

アクセスの振り分け(VirtualHost)

/etc/apache2/ports.conf

Listen 3000
と追記。

コピーして作った
001-default.conf

NameVirtualHost *:3000
と追記し、
<VirtualHost *:3000>
の部分でドキュメントルートを変えると、
ポートでフォルダを振り分けられる。

また違うポートの場合、これは
apache2.conf
に直接以下の様に書いた。
元々あった<Directory>***</Directory>を
VirtualHostで囲んでしまうイメージ。

NameVirtualHost *:80
<VirtualHost *:80>
DocumentRoot /home/okamura/www
<Directory /home/okamura/www>
Require all granted
</Directory>
</VirtualHost>