
Ubuntu日本語フォーラム

ログインしていません。
Apacheを使用してwebサーバーを運用する予定です。Fedora系のwebサーバーの
設定とだいぶ違い少し戸惑っています。Fedora等の設定はほとんどhttpd.confを
触ることで可能ですが、Ubuntuでは/etc/apach2/sites-enabled内に、defaultの設定を
参照して自分の環境に合わせた設定を行うものと理解しています。
それでその記述がよく分からず質問します。下のようにいきなりVirutal Hostの設定に
関する記述がありますが、私は特に複数のドメイン、サイトを運用する予定はないので
virtual hostの設定は不要かと思われます。その場合は<VirtualHost *></VirtualHost>の
タグを削除すれば良いのでしょうか? apache2を再起動したところこのvirtual hostがらみ
のエラーが出ております。
/etc/apache2/sites-enabled# cat 000-default
NameVirtualHost *
<VirtualHost *>
ServerAdmin webmaster@localhost
DocumentRoot /var/www/
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
<Directory /var/www/>
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
</Directory>
最後の編集者: nobby (2008-12-29 09:00:56)
オフライン
その”virtual hostがらみのエラー”を示してください。
オフライン
以下がエラーメッセージです。
root@ubuntu:/usr/sbin# apache2ctl restart
apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.1.1 for ServerName
[Mon Dec 29 13:17:55 2008] [warn] NameVirtualHost *:0 has no VirtualHosts
前半はhostの設定をubuntuと設定しているが為のエラーかと思います。よろしくお願いします。
オフライン
これはエラーではなく警告です。
前半はサーバ名が設定されていないために出ています。
後半はポート番号を指定していないだけのように見えます。
オフライン
Ubuntuのapacheは、バーチャルホストで設定ファイルが作られていますが、特に変わったことしているわけでは無いので、そのまま使われた方が、ネットに沢山有る、Ubuntu apache2関連情報を、参考にできて後々、楽ですよ。
私も、Fedora9から、Ubuntuサーバに変更時、最初は面くらいましたが、慣れればUbuntuの方が楽なような気がします。
オフライン
mizuno による投稿:
これはエラーではなく警告です。
前半はサーバ名が設定されていないために出ています。
後半はポート番号を指定していないだけのように見えます。
ポートの設定は;
Listen 80
<IfModule mod_ssl.c>
Listen 443
と特に変えてはいません。
以前の警告の
[Mon Dec 29 13:17:55 2008] [warn] NameVirtualHost *:0 has no VirtualHosts
は<VirtualHost *></VirtualHost>をコメントアウトしたら消えました。一方新たな警告も;
root@ubuntu:/etc/apache2# /usr/sbin/apache2ctl restart
apache2: apr_sockaddr_info_get() failed for ubuntu
Fedora9で運用しているサーバーをどの新しいOSへ切り替えようかという試行をして
いるところです。なぜFedora9を乗り換えるのかというと、一つは勉強、もう一つは非力なグラフィックインフラ ati ES1000と音源関係(SB X-Fi)が改善できるかな、という所を期待してのことです。
オフライン
si による投稿:
Ubuntuのapacheは、バーチャルホストで設定ファイルが作られていますが、特に変わったことしているわけでは無いので、そのまま使われた方が、ネットに沢山有る、Ubuntu apache2関連情報を、参考にできて後々、楽ですよ。
私も、Fedora9から、Ubuntuサーバに変更時、最初は面くらいましたが、慣れればUbuntuの方が楽なような気がします。
そうですか、仰々しくVirtual Hostとタイトルしているのに、それを使用しない設定でも使用可能ということですか。入り方がちょっと不自然なような気もします。
>慣れればUbuntuの方が楽
この変を期待してもう少し試行してみます。
オフライン
nobby による投稿:
ポートの設定は;
Listen 80
<VirtualHost *:80> としてみてください。
オフライン
mizuno による投稿:
nobby による投稿:
ポートの設定は;
Listen 80<VirtualHost *:80> としてみてください。
これはports.confの設定で
Listen 80
<IfModule mod_ssl.c>
Listen 443
Listen 80の行を
<VirtualHost *:80>と変更し、</VirtualHost*:80>で閉じるということでしょうか?
結果は以下のエラーが出てしまいます。
Syntax error on line 1 of /etc/apache2/ports.conf:
Invalid command '<VirtualHost*:80', perhaps misspelled or defined by a module not included in the server configuration
オフライン
Listen はapacheが待ち受けるポートであり、VirtualHostとは関係ありません。
上記設定はsite-available内のVirtualHostディレクティブに対し、行います。
まず設定ファイルの書き方と意味について、Apacheのマニュアルを読んでください。これはUbuntuの問題ではありません。
http://httpd.apache.org/docs/2.2/bind.html
http://httpd.apache.org/docs/2.2/vhosts/name-based.html
オフライン
他の人から回答が出ているところを、あえて最初に戻ってみます
nobby による投稿:
Fedora等の設定はほとんどhttpd.confを
触ることで可能ですが、Ubuntuでは/etc/apach2/sites-enabled内に、defaultの設定を
参照して自分の環境に合わせた設定を行うものと理解しています。
ubuntu (debian系) のデストリビューションでは、パッケージをアップグレードしたときに、設定ファイルの更新が伴う場合でも、ユーザーが追加で設定した内容まで勝手に更新されないようにするため、このようなかたちになっています
中心になる設定ファイルは /etc/apache2/apache2.conf なので、このファイルを見ればどのように動作するかはすぐに分かると思います
一応 説明すると、以下のようになります
1) Apache の起動 UID などの基本的な設定をする
2) /etc/apache2/mods-enabled/*.load を読み込む (モジュールの読み込み)
3) /etc/apache2/mods-enabled/*.conf を読み込む (モジュールの設定)
4) /etc/apache2/httpd.conf を読み込む
5) /etc/apache2/ports.conf を読み込む (待ち受けポートの設定)
6) ログ (エラーログ) の設定をする ※ほとんどの部分はコメントアウトされている
7) /etc/apache2/conf.d/* を読み込む
8) /etc/apache2/sites-enabled/* を読み込む (サイトの設定)
インストール直後は、/etc/apache2/mods-enabled/ と /etc/apache2/sites-enabled/ にあるファイルは、それぞれ /etc/apache2/mods-available/ 、 /etc/apache2/sites-available/ にあるファイルへのシンボリックリンクです
インストール直後は最低限 (起動するためだけ) の設定がされているに過ぎませんので、必要な設定は全て追加していくことになります
apache 全体に及ぶ設定は、/etc/apache2/conf.d/ に、そしてサイト単位の設定は /etc/apache2/sites-enable/ にファイルをおくことが推奨されています
また、他のデストリビューション (Fedora) などに慣れている場合は、今までと同じように /etc/apache2/httpd.conf に修正しても大丈夫なようになっています
nobby による投稿:
私は特に複数のドメイン、サイトを運用する予定はないので
virtual hostの設定は不要かと思われます。その場合は<VirtualHost *></VirtualHost>の
タグを削除すれば良いのでしょうか?
多分、/etc/apache2/sites-enabled/000-default に記述されている設定が全て不要では無いかと推察します
このファイルもシンボリックリンクで、実体は /etc/apache2/sites-available/default になりますので、思い切って /etc/apache2/sites-enabled/000-default を消してしまっても大丈夫です
一応 /etc/apache2/sites-enabled/ を操作するコマンドがありますので、こちらを使うのが正解ですが、やっていることはシンボリックリンクを削除しているだけです
a2dissite default
※default の部分は /etc/apache2/sites-available/ にあるファイル名です。省略したときは、/etc/apache2/sites-available/ にあるファイル名が列挙され、ファイル名の入力待ちになります
元に戻すには
a2ensite default
とします
ついでに、モジュールの追加/削除は /etc/apache2/mods-enabled/ のファイルを操作する事になりますが、これをするコマンドもあります
a2enmod <モジュール> a2dismod <モジュール>
※<モジュール> を省略したときは、/etc/apache2/mods-available/ にあるモジュールが列挙され、モジュールの入力待ちになります
オフライン
mizuno による投稿:
まず設定ファイルの書き方と意味について、Apacheのマニュアルを読んでください。これはUbuntuの問題ではありません。
そのようですね、debian系のwebサーバー設定なども似たような設定を行うようですね。
まずは教えていただいたマニュアルを一読させていただきます。
最後の編集者: nobby (2008-12-30 08:15:40)
オフライン
色々教えていただいて有難うございます。
私の聞き方が安易だったかも知れません。同じapache系のサーバーなのに書き方・設定がかなり
違いますね。教えていただいた点を中心にドキュメントをあたって見たいと思います。
オフライン