Apache2 インストール

ゲストOS(Ubuntu)IPアドレス確認

ここまで、ホストオンリ-アダプタ設定してきました。
引き続き、設定したゲストOS(Ubuntu)IP アドレスを確認します。
Ubuntu を起動します。
端末画面から
yamada@ubuntu-18:~$ ip address show
または
yamada@ubuntu-18:~$ ip a
と入力してください。
3: enp0s8
のところに
inet 192.168.56.102/・・・・・・・
の表示があれば OK です。
もし、設定がない場合は
一旦IPアドレスを開放して再度割り当ててみてください。
$ sudo dhclient -r
$ sudo dhclient
これで、ホストオンリ-アダプタによるゲストOS(Ubuntu)IP アドレスの準備が完了しました。

サ-バ名設定

これは本来 Apace2 をインスト-ルしたらすぐ設定すべきものですが、特にここまで設定せずとも動作してきました。
しかし、仮想ホストを設定するにあたり、もともとのサ-バ名がないと仮想ホストがうまく設定できないかもしれないので サ-バ名を設定することにします。
設定 conf は
/etc/apache2/conf-available/
に新規に作成します。
ファイル名はなんでもよいのですが、fqdn.conf とします。
Ubuntu 画面から端末を起動します。
$ sudo nano /etc/apache2/conf-available/fqdn.conf
とし、
ServerName hogeserver
ServerName はなんでもよい 例 hogeserver
入力が完了したら
$ sudo a2enconf fqdn
$ sudo service apache2 restart
で完了です。
/etc/apache2/conf-enabled/fqdn.conf
が作成できていることを確認しましょう。
内容は全く同じものになっているはずです。

サ-バ名を設定しようとすると
yamada@ubuntu-18:~$ sudo a2enconf fqdn
Conf fqdn already enabled
のようになり、うまく設定できないことがあります。
このような時は一旦
$ sudo a2disconf fqdn
として無効化してから、再度有効化してください。

仮想ホスト設定

新規に仮想ホスト設定 conf ファイル
/etc/apache2/sites-available/v-host.jp.conf
を作成します。
名前は分かりやすい名前にしてください。
ただし、アンダバ-は使用できません。
Apache2.4.25 以降ではエラーになります。 注意してください。
私は、v_host を使用していてひどく苦労しました。
詳細は
Apacheにバーチャルホストを設定するときのエラーと対処法
を参照してください。
Ubuntu ディスクスクトップ画面の端末から
yamada@ubuntu-18:~$ sudo nano /etc/apache2/sites-available/v-host.jp.conf
とし、以下の内容を入力し保存してください。
ただし、最初に、
Listen 192.168.56.102:80
NameVirtualHost 192.168.56.102:80
のような内容は書いてはいけません。

    
  # v-host.jp 用設定ファイル新規作成
  # ホスト名にアンダースコアを使うと
  # 400 Bad Request が発生する
  <VirtualHost 192.168.56.102:80>
    ServerName v-host.jp
    ServerAdmin webmaster@v-host.jp
    DocumentRoot /home/yamada/public_html
    ErrorLog /var/log/apache2/v-host.jp.error.log
    CustomLog /var/log/apache2/v-host.jp.access.log combined
    LogLevel warn
  </VirtualHost>

次に、
yamada@ubuntu-18:~$ sudo a2ensite v-host.jp
Enabling site v-host.jp
To activate the new configuration, you need to run:
systemctl reload apache2
で設定を読み込み、Apache2 を再起動します。
yamada@ubuntu-18:~$ sudo systemctl restart apache2

仮想ホスト設定しようとすると
yamada@ubuntu-18:~$ sudo a2ensite v-host.jp
Site v-host.jp already enabled
のようになり、うまく設定できないことがあります。
このような時は一旦
$ sudo a2dissite v-host.jp
として無効化してから、再度有効化してください。

$ sudo a2ensite v-host.jp
$ sudo systemctl restart apache2
がエラしてしまうことはよくある話。
そんな時は入力ミスがほとんど、
v-host.jp.conf
はかなり文字数が多いですよね、えてしてスペルミスはつきもの
こんな時は
$ apache2ctl -t
を実行してみてください。
Syntax OK
となれば、正しく入力されています。
問題のある行やスペルミスは指摘してくれます。
優れものです。
お試しを!
もう一つ
$ apache2ctl -S
も実行してみてください。
VirtualHost の現状を下記のように報告してくれます。
yamada@ubuntu-18:~$ apache2ctl -S

VirtualHost configuration:
192.168.56.102:80   v-host.jp (/etc/apache2/sites-enabled/v-host.jp.conf:1)
*:80                hogeserver (/etc/apache2/sites-enabled/000-default.conf:1)
ServerRoot: "/etc/apache2"
Main DocumentRoot: "/var/www/html"
Main ErrorLog: "/var/log/apache2/error.log"
Mutex default: dir="/var/run/apache2/" mechanism=default 
Mutex mpm-accept: using_defaults
Mutex watchdog-callback: using_defaults
PidFile: "/var/run/apache2/apache2.pid"
Define: DUMP_VHOSTS
Define: DUMP_RUN_CFG
User: name="www-data" id=33 not_used
Group: name="www-data" id=33 not_used

仮想ホスト設定確認

/etc/apache2/sites-enabled
を見ると v-host.jp.conf
が追加されたのがわかります。
/etc/apache2/sites-available/v-host.jp.conf
/etc/apache2/sites-enabled/v-host.jp.conf
の2つのファイルは中身は全く同じものなのです。
そして
etc/apache2/apache2.conf には
IncludeOptional sites-enabled/*.conf
なる記述があるので、
v-host.jp 用設定ファイル
sites-enabled/v-host.jp.conf
を読み込んでいるのです。
すなわち apache2.conf が最終的な apache2 の conf ファイルとなっているのです。

仮想ホストをブラウザで確認

ブラウザのアドレスバーに
http://v-host.jp/test.html
と記入して画面に
「ハロー!ワールド!」
と表示できれば Apache の動作確認は完了なのですが、まだできません。

hosts ファイルの修正

通常、ホスト名と IP アドレスは DNS サ-バがその対応表を持っていて、 たとえば、v-host.jp の IP アドレスは DNS サ-バが教えてくれます。
でも、今回は v-host.jp の IP アドレスは誰も教えてくれません。
仕方がないので、自分の PC の中で解決します。
そこで、DNS サ-バの代わりをしてくれるのが、hosts ファイルです。
ここに、ホスト名と IP アドレスの対応表を書き込みます。
hosts ファイルは
C:\Windows\System32
\drivers\etc\hosts
にあります。

hosts ファイルを開いて編集

hosts ファイルは開いて編集まではできるのですが、保存ができません。
メモ帳で開くにはコツがいります。
PC 画面左下隅 Winwowsマ-クをクリック
W Windows アクセサリ-をクリック
メモ帳 を右クリック
→ その他
→ 管理者として実行 をクリック
一旦画面が暗くなって「はい」をクリック
メモ帳画面が開いたら
ファイル → 開く
をクリック
ファイルの種類を「すべてのファイル」を選択するのを忘れずに!
C:\Windows\System32
\drivers\etc\hosts
にある hosts ファイル
を開きます。
・・・・・・
# localhost name resolution is handled within DNS itself.
# 127.0.0.1 localhost
# ::1 localhost
の後に(ファイルの最後に)
192.168.56.102    v-host.jp
を追加し、上書き保存 します。
文字列の間の空白は、Tab キ-で設定しましょう。
これで、v-host.jp の IP アドレスがわかるようになりました。
DNS の肩代わりが完了しました。

仮想ホスト設定がうまくいかない

仮想ホスト設定がうまくいかないときは
VirtualHost一覧を出力するコマンド
apachectl -S
を端末画面から入力してみましょう。
何かヒントがつかめるかもしれません。

仮想ホストの確認

ブラウザのアドレスバーに
http://v-host.jp/test.html
と入力して、画面に
「ハロー!ワールド!」
と表示できれば仮想ホストの動作確認は完了です。

これで、ゲストOS(Ubuntu)IPアドレス確認に続く仮想ホスト構成の説明は終わりです。
引き続き、VirtualBox Apache2 Digest 認証サイト を作成していきます。


  • VirtualBox Apache2 Digest 認証サイト に進む
  • 仮想ホストの構成 に戻る
  • /etc/fstab の編集 に戻る
  • ユ-ザ-ごとの公開ディレクトリを用意する に戻る
  • ホスト OS のフォルダと Apache のフォルダの共有 に戻る
  • ホスト OS から localhost でアクセス に戻る
  • 個別パッケ-ジのインスト-ル に戻る
  • VirtualBox Ubuntu 起動時エラ- に戻る
  • カ-テン問題が発生しないようにする に戻る
  • ubuntu インストール中のトラブル対応 に戻る
  • 共有フォルダの設定 に戻る
  • ubuntu 仮想マシン用ツール正解インストール に戻る
  • ubuntu 基本インストール完了 に戻る
  • ubuntu インスト-ル進行 に戻る
  • ubuntu インスト-ルの後半 に戻る
  • VirtualBox 上に仮想マシンを作成 に戻る
  • VirtualBox インスト-ル に戻る
  • 70VPS に戻る