address Logo

Ubuntu Linux

目次

2009/06/11

この記事は Ubuntu 9.04 Deskto Edition (server 版) について述べている。
この Ubuntu のカーネルは Linux 2.6.28 である。


注意: Xubuntu の方が良くできていると思う。僕は現在は Ubuntu ではなくて Xubutu を使っている。ゼミ生用に準備したサーバーは Xubutu 9.10 である。Xubutu と Ubuntu の違いはデスクトップだけである。デザインの多少の違いは勿論あるが、基本的にはデスクトップを動かしているソフトが違う。Ubutu は gnome で、重くて品が悪くて、僕は嫌い。Xubutu の fce は品が良くて軽い。コマンドで使う場合には両者に違いは無いはずである。(2010/04/12)


主にゼミ生のための内容になっている。

基本中の基本

bash

ls

ls で色付き表示は嫌い。見えない!
$HOME/.bashrc の中の

    alias ls='ls --color=auto'

を次のように変更する。

    #alias ls='ls --color=auto'

# はコメント記号。つまりコメントアウトする。

憶えたい UNIX コマンド

次の UNIX コマンド

    pwd, ls, cd, mkdir, cat, less, cp, rm, mv

覚える事。ファイルを指定する時の *? も便利
シェルのリダイレクト記号 >< 、およびパイプ記号 | の使い方を覚えるとさらに便利。
さらに UNIX のいくつかの基本ツール、特に grep は非常に役に立つ。

マニュアル

コマンドやファイル形式に関するマニュアルは

    man コマンド名

で見る事ができる。例

    man man

特に

    man -k キーワード

でキーワードに関係するマニュアルの一覧が得られる。

Ubuntu のパッケージ

Ubuntu はクライアントに徹している。サーバに必要なソフトウェアが含まれていない。サーバ版と言われているものでさえそうである。

Package Manager

http://packages.ubuntu.com/ja/

GUI ツール

Application menu からパッケージマネージャに辿り着く。
"System" → "Administration" → "Synaptic Package Manager"

コマンドラインツール

apt-get
inetutils-inetd をインストールするには

    sudo apt-get install inetutils-inetd

しかし...

# sudo apt-get install inetutils-inetd
パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています                
Reading state information... 完了            
パッケージ inetutils-inetd はデータベースには存在しますが、利用できません。
おそらく、そのパッケージが見つからないか、もう古くなっているか、
あるいは別のソースからのみしか利用できないという状況が考えられます
E: パッケージ inetutils-inetd にはインストール候補がありません

コマンドを打ち込んだが、そのコマンドがパッケージには存在するが、まだインストールされていない場合

-bash$ jed
The program 'jed' is currently not installed.  You can install it by typing:
sudo apt-get install jed
-bash: jed: command not found
-bash$ 

のようになる。
このとき

    sudo apt-get install jed

を実行すれば jed がインストールされる。
( jedemacs 風の軽量なテキストエディタである。現在の emacs は肥満ぎみで初心者には使い難くなっているが、jed は初期の emacs に似ていて、初心者には使いやすいと思われる。)

従って emacs をインストールしたければ、単に emacs と打ち込めばインストールの方法が分かる。

Ubuntu のパッケージ管理に関しては次の URL が参考になる。

Network

2010/04/12

現在の Linux は NetworkManager よって IP 関係が管理されている。NetworkManager については、次の URL が詳しい。
http://projects.gnome.org/NetworkManager/
NetworkManager は Linux をモバイル環境に適応させるためのものだと言う...

サーバの IP 設定

2010/04/12 xubuntu 9.10

/etc/NetworkManager/system-connections/
の中のファイル 'Auto eth0' に現在の情報が含まれている。IP アドレスの変更は、このファイルを編集すれば良い。

例えば次のようになっている。

id=Auto eth0
uuid=5c1122e2-1089-4374-a8de-2158bb63a15f
type=802-3-ethernet
autoconnect=true
timestamp=0

[ipv4]
method=manual
dns=202.225.94.247;
addresses1=202.250.160.119;24;192.168.1.254;
ignore-auto-routes=false
ignore-auto-dns=false
dhcp-send-hostname=false
never-default=false

[802-3-ethernet]
speed=0
duplex=full
auto-negotiate=true
mac-address=0:24:1d:cc:3f:e3
mtu=0

[ipv6]
method=ignore
ignore-auto-routes=false
ignore-auto-dns=false
never-default=false

GUI 環境では画面右上の NetworkManager のアイコンから入る。コンピュータの形のアイコン。

NetworkManager の使い方の詳しい説明は
https://www.opendns.com/start/device/ubuntu
に述べられている。

古いバージョンでは NetworkManager は使われていない。使われているか使われていないかは

    ps -e | grep NetworkManager

で判明する。

変更後はリブートが必要。


ネット上の多くの記事によると /etc/network/interfaces を編集するように解説されているが、しかし /etc/network/interfaces の設定は再起動で消されている。正しくは NetworkManager アイコンから入らなくてはならない。


ネットワークの状態を確認したり設定したりする unix 系 OS の本来のコマンドは ifconfig である。
コマンド

    ifconfig -a

eth0 に、設定した IP が表示される事を確認。出力例

eth0      Link encap:Ethernet  HWaddr 00:40:63:f0:f6:a9  
          inet addr:192.168.1.3  Bcast:192.168.1.255  Mask:255.255.255.0
          inet6 addr: fe80::240:63ff:fef0:f6a9/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:25757 errors:0 dropped:0 overruns:0 frame:0
          TX packets:20399 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:11620344 (11.6 MB)  TX bytes:1446096 (1.4 MB)
          Interrupt:23 Base address:0xa000 

lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:284 errors:0 dropped:0 overruns:0 frame:0
          TX packets:284 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:21597 (21.5 KB)  TX bytes:21597 (21.5 KB)

pan0      Link encap:Ethernet  HWaddr 12:3f:7e:33:b4:e0  
          BROADCAST MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

loeth0 を確認する。なお pan0 は bluetooth である。
詳しくは http://ubuntuforums.org/showthread.php?t=1000506
(ifconfigを実行したマザーボードは VB7001G であるが、
このマザーボードは bluetooth を内蔵していない。
これが表示されるのは一種のバグだろう)

過去の方法

以下は単なる過去の方法のメモである。設定しても消される。
次のように /etc/network/interfaces を設定する。(これは単なる例である)

auto lo
iface lo inet loopback
iface eth0 inet static
address 192.168.1.3
netmask 255.255.255.0
network 192.168.1.0
broadcast 192.168.1.255
gateway 192.168.1.254

IP アドレスを目標に応じて変える事。
設定したら

    ifup eth0

を実行する。

eth0/eth1 問題

2009/06/12
2009/06/13

イーサーネットコントローラが1つしかないボードであるにも関わらず、 eth0 ではなく、eth1 で IP が割り振られた問題。これは Linux のバグらしい[1]。対処の方法があるらしい[2]。それによると

    /etc/udev/rules.d/z25_persistent-net.rules

の中を変更せよとか... (それにしてもなぜ eth1 になったのかと言う問題は残っている)


注意

EeePC の Ubuntu でも同様な問題(ここでは eth3 に)が発生していたが、アップデートしたら問題は解決した。(従って eth1 問題はバグだったと考えられる)
従って正しい解決策は アップデートである。
(2009/06/13)


追記: アップデートした Ubutntu のディスクを他のマシンで動かすと、やはり eth1 が現れた。この理由は /etc/udev/rules.d/70-persistent-net.rules をみれば納得できる。

# PCI device 0x1106:0x3065 (via-rhine)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:40:63:f0:f6:a9", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"

# PCI device 0x8086:0x294c (e1000e)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:1c:c0:22:cb:d8", ATTR{type}=="1", KERNEL=="eth*", NAME="eth1"

/etc/udev/rules.d/70-persistent-net.rules の例

MAC アドレスごとに eth の数字が割り当てられる仕組みになっているのだ(これは eth の意味からして当然だ)が、この情報はハードディスクを他のマシンに移動しても消えていない! (便利な事もあるが、バグと考えるべきであろう。)
(2009/06/14)

[1] eth0 is moved to eth1
https://bugs.launchpad.net/ubuntu/+bug/148448
[2] Re: eth0がeth1として認識される
http://lists.debian.or.jp/debian-users/200709/msg00074.html

DNS の設定

かっては /etc/resolv.conf が使われていたが、現在では NetworkManager を使って設定する。

/etc/NetworkManager/system-connections/
の中の Auto eth0 を編集しても効果が無い!

NetworkManager の情報がどのファイルによって決定されるか、今のところ知らない。

/etc/resolv.conf には現在の DNS サーバの IP アドレスが見える。ここに書き込みをしても再起動したら消されている。

詳しくは
https://www.opendns.com/start/device/ubuntu
に述べられている。

過去の方法

以下は単なる過去の方法のメモである。設定しても消される。
次のように /etc/resolv.conf を設定する。(これは単なる例である)

nameserver      202.225.94.247
nameserver      210.147.240.193

Ubuntu では、このファイルは NetworkManager が管理しており、ここを編集しても消される。

ホスト名だけでアクセスできるようにするには

/etc/hosts を、例えば、次のように設定すれば

127.0.0.1       localhost
202.250.160.40  ar.aichi-u.ac.jp   ar

フルドメイン名 ar.aichi-u.ac.jp を指定しなくても、単に ar202.250.160.40 にアクセスできるようになる。他も同様。/etc/hosts の設定は、そのコンピュータの中から他のコンピュータにアクセスする時にだけ有効。

proxy サーバの設定

Ubuntu の画面からは
"System" → "Prferences" → "Network Proxy"
この設定は /etc/profile.d に書き込まれる。

GNU inetutils-1.6

inetdtelnetd 等のサーバ用の基本ツールはいくつかの種類があるが、ここでは GNU のものを使う。理由は良くメンテナンスされているように思えることと、インストールしやすいから。次の URL から手に入る。
http://savannah.gnu.org/forum/forum.php?forum_id=5590

この中には

    inetd, telnetd, ftpd, ....

などが含まれ、これらは

    /usr/local/libexec/

にインストールされる。

インストールの手順

ダウンロードしたファイルは inetutils-1.6.tar.gz である。これが置かれているディレクトリに移動し

    gzip -d inetutils-1.6.tar.gz

    inetutils-1.6.tar

が生成される。そこで

    tar -xf inetutils-1.6.tar

を実行すると

    inetutils-1.6

が生成される。これはディレクトリである。

    cd inetutils-1.6

によってこのディレクトリに移行して

    ./configure
    make
    sudo make install

でインストールされる。

互換性の問題

UNIX 系の OS では、ユーザが後でインストールしたソフトウェアは、ディレクトリ /usr/local の下に置かれるのが習慣である。今回のケースでは /usr/local/bin/usr/local/libexec などにインストールされている。

    ls -l /usr/local
    ls -l /usr/local/bin
    ls -l /usr/local/libexec

で確認せよ。インストールによって屢々発生するトラブルの一つに、これまで使っていたコマンドと同名のコマンドがインストールされ、しかもそのコマンドが何か問題を抱えているケースがある。今回のケースでは /usr/local/bin にインストールされた ifconfig が要注意である。このコマンドは /sbin にも存在し、これまでは実際には /sbin/ifconfig が使われてきた。単にコマンド

    ifconfig

を実行した場合にどちらの ifconfig が使われるのか? この事は

    which ifconfig

を実行してみれば分かる。実行の優先順位は環境変数 $PATH で制御される。

    echo $PATH

を実行すると Ubuntu では /usr/local が優先されているのが分かる。(このような設定はセキュリティリスクを伴う)

Ubuntu に組み込まれていた ifconfiginetutilsifconfig は使い方が全く異なる。この二つは同じ名前であるが、違うものと考えた方が良い。

どうすべきか? inetutilsifconfig は使わない方が良い。そのためには? 削除するか、名前を変更する。後者の道を採ろう。

    cd /usr/local/bin
    ls 	# ifconfig の存在を確認
    sudo mv ifconfig ifconfig_

プロセス

プロセスとは実行中のプログラムの事である。

ps

現在実行中の全てのプログラムは

    ps -e

でみることができる。最初のフィールドがプロセスID。

実行例

  PID TTY          TIME CMD
    1 ?        00:00:02 init
    2 ?        00:00:00 kthreadd
    3 ?        00:00:00 migration/0
    4 ?        00:00:00 ksoftirqd/0
    5 ?        00:00:00 watchdog/0
    6 ?        00:00:00 events/0
...

プロセスを強制的に落とすには

    kill -KILL プロセスID

他人のプロセスは落とせない。管理者(root)権限では任意のプロセスを落とせる。
プロセスを実行したユーザ(プロセスオーナー)を知りたい時には

    ps -el

実行例

F S   UID   PID  PPID  C PRI  NI ADDR SZ WCHAN  TTY          TIME CMD
4 S     0     1     0  0  80   0 -   477 select ?        00:00:02 init
5 S     0     2     0  0  75  -5 -     0 kthrea ?        00:00:00 kthreadd
1 S     0     3     2  0 -40   - -     0 migrat ?        00:00:00 migration/0
1 S     0     4     2  0  75  -5 -     0 ksofti ?        00:00:00 ksoftirqd/0
5 S     0     5     2  0 -40   - -     0 watchd ?        00:00:00 watchdog/0
1 S     0     6     2  0  75  -5 -     0 worker ?        00:00:00 events/0
...
5 S     0  4052     1  0  80   0 -   539 select ?        00:00:00 inetd
0 S     0  4160  4052  0  80   0 -   593 select ?        00:00:00 telnetd
4 S     0  4161  4160  0  80   0 -  1012 wait   pts/2    00:00:00 login
4 S  1000  4253  4161  0  80   0 -  1380 wait   pts/2    00:00:00 bash
0 R  1000  6579  4253  0  80   0 -   701 -      pts/2    00:00:00 ps

UID がユーザ IDPID がプロセス ID
UID = 0 は管理者(root)のプロセス。(特権プロセス)
他の UID とユーザ名の対応は /etc/passwd を見れば分かる。

サービス

/etc/inetd.conf

inetd を立ち上げる前に /etc/inetd.conf を設定する。例えば

#       @(#)inetd.conf  5.4 (Berkeley) 6/30/90
#
ftp     stream  tcp4     nowait  root    /usr/local/libexec/ftpd       ftpd -l
telnet  stream  tcp4     nowait  root    /usr/local/libexec/telnetd    telnetd
shell   stream  tcp4     nowait  root    /usr/local/libexec/rshd       rshd
login   stream  tcp4     nowait  root    /usr/local/libexec/rlogind    rlogind

とすると、ここに書いたサービスプログラムへ外部からアクセスできるようになる。


注意、注意、注意!

ダウンロードした inetd は IPv6 に対応している。第3フィールドの tcp4 は IPv4 で、tcp6 は IPv6 用である。単に tcp と書くと tcp6 を意味する。(そのために、古い書き方との互換性を持っていない。これはバグだろうと思うけど...。IPv6 は明示的に書くのが無難である。)
うっかりと tcp と書くと、refused で悩まされるだろう。


inetd の起動と終了

root 権限で

    /usr/local/libexec/inetd /etc/inetd.conf

を実行する。
inetd はブート時に自動実行させるべきであるが、その方法については後に回す。

inetd が動いている事は

    ps -a | grep inetd

で確認できる。

inetd.conf の内容を変更した場合には、それを inetd に反映させるためには

    ps -a | grep inetd

で inetd のプロセスIDを調べ、 root 権限で

    kill -HUP プロセスID

を実行する。(最近は1つのコマンドで行えるようになっているらしいが、僕は好きではない。余計な知識が必要になるから...)

なお HUP の代わりに KILL を指定すると、プロセスを落とせる。

診断

接続待ち、接続中のポートを見る

    netstat -na64

結果(例)

Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address           Foreign Address         State      
tcp        0      0 0.0.0.0:513             0.0.0.0:*               LISTEN     
tcp        0      0 0.0.0.0:514             0.0.0.0:*               LISTEN     
tcp        0      0 0.0.0.0:7               0.0.0.0:*               LISTEN     
tcp        0      0 0.0.0.0:79              0.0.0.0:*               LISTEN     
tcp        0      0 0.0.0.0:21              0.0.0.0:*               LISTEN     
tcp        0      0 127.0.0.1:631           0.0.0.0:*               LISTEN     
tcp        0      0 0.0.0.0:23              0.0.0.0:*               LISTEN     
tcp        0    138 192.168.1.3:23          192.168.1.101:56120     ESTABLISHED
tcp6       0      0 ::1:631                 :::*                    LISTEN     
udp        0      0 0.0.0.0:68              0.0.0.0:*                          
udp        0      0 0.0.0.0:48584           0.0.0.0:*                          
udp        0      0 0.0.0.0:5353            0.0.0.0:*                          

ポート番号とサービス名の対応は

    /etc/services

を見れば分かる。

注意

inetd が動いているにも関わらず、/etc/inetd.conf で指定したサービスに対して LISTEN になっていない場合がある。そのような現象は /usr/local/libexec/inetd を起動する時に /etc/inetd.conf が指定されていなかった時に発生する。マニュアルによると、指定しなくても /etc/inetd.conf を読み取ってくれるはずなのであるが、実際には読み取らない。inetd のバグであろう。
(2009/06/19)

エラーログ

/var/log/syslog を見る。

セキュリティ

先に述べた inetd の設定は、信頼できる環境(ブロードバンドルータで保護された家庭内 LAN など)を想定している。IP レベルでのアクセス制限を加えるとセキュリティが大幅に強化される。この方法も後で示す。

telnet や ftp は入力したパスワードをそのままネットに流すので、インターネットレベルの利用では不安が残る。この対策も後で述べる。

サービスの自動実行

コンピュータが立ち上がった時に、inetd などのサービスを自動的に実行するには /etc/rc.local を編集する。


注意: このファイルは、名前のごとく local な設定である。ここで言う local の意味は、システム管理者が必要に応じて設定すると言う意味である。Ubuntu の /etc を見ると rc0.d から rc6.d および rcS.d なるディレクトリが存在し、そこではコンピュータが立ち上がった時に自動的に様々なサービスを実行するためのファイルが存在するが、システム管理者がこの場所を弄るのは避けるべきである。


inetd のサービスを行うためには、 /etc/rc.local の末尾を

/usr/local/libexec/inetd /etc/inetd.conf
exit 0

とする。このファイルの中の '#' で始まる行はコメントである*。コメントの中で注意されているように実行ビットを立てておく必要がある。

    ls -l

    -rwxr-xr-x  1 root root      348 2009-06-19 23:17 rc.local

のように -rwxr-xr-x を確認する。そのようになっていないなら root 権限で

    chmod 755 rc.local

を実行しておく。

注*: 先頭の

    #!/bin/sh -e

はコメントではない。

リモートログイン(remote login)

UNIX の場合クライアントからサーバに入り込みコマンドを実行できる。この点で Windows と UNIX を比較すると次の表のようになる。

sever OS client OS 可能?
Windows Windows X
Windows UNIX X
UNIX Windows
UNIX UNIX

もともと UNIX はサーバとして設計されたので、単体で使うのを基本とした Windows との違いがこの表に現れている。

レンタルサーバの殆どは Linux(UNIXの一種) であるが、理由としては

などが挙げられる。

telnet

telnet はサーバにアクセスし、そこでコマンドを実行するためのソフトウェアである。
クライアントから

    telnet サーバのアドレス

を実行し

    login:

メッセージが出れば、サーバは telnet をサービスしている。もしも出ないならば

但し実際にサーバに入り込めるためにはアクセスを許すユーザを登録しておかなくてはならない。

telnet を使う時には次の点に留意しなくてはならない。

サーバのファイルの編集

Telnet を通じてクライアントからサーバのファイルを編集する昔からの伝統的な方法は

の3つである。いずれもマウスは使わない(使えない)。どのソフトも初心者には辛いものがある。この中で初心者に違和感が少ないのは emacs であろう。しかし emacs は巨大な怪物であり、初心者にとってはコントロールし辛いであろう。初心者が emacs を使う時には欲張らずに限定的な使い方をした方がよい。

emacs の初等的な使い方

以下の2つを憶える

さらに詳しくはネットに次の解説がある。
「Emacs クイックリファレンス」(http://www.unixuser.org/~euske/doc/emacsref/)

編集を終えないでデータをファイルに保存するのは正式には

    C-X C-S

であるが、Cotrol-S は問題を引き起こす。

    C-X s

(Control キーを押しながら X を打ち、さらに s を打つ)で代用できる。

ftp

サーバとクライアントとの間のファイルの転送の伝統的な方法は FTP である。クライアントにはそのための ftp コマンドが存在するが、初心者には使い方が難しいであろう。現在では ftp コマンドに代わる初心者向けのソフトウェアが多数存在する。

ssh

ssh は Telnet と FTP の機能を備えている。サーバとクライアントのデータ転送は暗号化されており、その意味でセキュリティが向上している*

注*: telnet も ftp もパスワートやファイルの内容がそのままネット上を流れるので、盗聴に弱い。

ssh を telnet のように使うには

    ssh arisawa@192.168.1.3

のようにする。@ の後は IP アドレスではなくサーバ名でもよい。

ssh を ftp のように使うには

    scp 192.168.1.3:サーバのファイル  クライアントのファイル

あるいは

    scp クライアントのファイル  192.168.1.3:サーバのファイル

のように使う。IPアドレスの代わりにサーバ名でもよい。またファイルは絶対パスを指定する。(/ で始まるパス)

sshd のインストール

サーバが ssh によるサービスをサポートするには sshd をインストールする必要がある。サーバ上で

    sudo apt-get install openssh-server

を実行すると sshd がインストールできる。インストールを実行すると /etc/ssh に幾つかのファイルが追加される。その中に sshd_config がある。

sshd_config で認証方法を設定する。ここでは一番簡単な認証方法である「パスワードによる認証」に設定する。

    PasswordAuthentication yes

多分初期設定ではこの行が '#' から始まっている(つまりコメントアウトされている)と思いますが、'#' を外します。

sshd/usr/sbin/sshd にインストールされたはずです。この事は

    whereis sshd

を実行してみれば分かります。手動で起動するには

    /usr/sbin/sshd

を実行します。

sshfs

sshfs を使うとサーバのファイルをクライアントにマウントできます。マウントできるとサーバのファイルがクライアントの中にあるかのように、クライアントのエディタを使って編集できます。もちろん編集にはマウスを使えます。sshfs が使えるようにするためには、サーバ側に sshd、クライアント側に Fuse と言うソフトが必要です。Mac の場合には MacFuse の名前で Google が公開しています。次のアドレスから取り寄せてインストールして下さい。
http://code.google.com/p/macfuse/

web サーバ の構築

2010/03/22

ここでは web サーバ を Apache を使って構築する。Apache を使うのは、世界で最もよく使われているからである。レンタルサーバーの殆どは Apache を使っていると思われる。

Apache の本家の HP は http://www.apache.org/ であるが、英語のページである。日本人向けの普及活動はユーザグループによって http://www.apache.jp/ で行われている。

Apache の現在のバージョンは 2.2.12 である。以下ではバージョン2の Apache は Apache2 で示す。Apache2 に関する日本語のドキュメントは
http://www.apache.jp/manual/
に載っている。

Apache2 をインストールするには

    sudo apt-get istall apache2

を実行する。すると

    /usr/sbin/apache2		# サーバーの本体(httpd)
    /usr/sbin/apache2ctl	# apache2 の制御プログラム
    /etc/apache2/apache2.conf	# apache2 の基本設定ファイル
    /etc/apache2/httpd.conf	# 空ファイル(互換性のためにあると思われる)
    /etc/apache2/sites-available/default	# HTML ドキュメントの置き場所
    /var/www/index.html		# ホームページのデータ
    /var/log/apache2/		# apache2 のログファイルの置き場所
    /etc/init.d/apache2		# 電源投入時の自動実行スクリプト

などのファイルが生成される。

apache2.conf の内容を見れば Apache の大まかな振る舞いが分かる。例えば

また site-availabledefault を見ると DocumentRoot /var/www の記述がある。

雑多な問題

時刻合わせ

画面右上の時刻欄を右クリック。この方法ではシステムクロックを使う事になる。これは狂いが発生する。バッテリが古い場合には特に問題である。

タイムサーバを使う。タイムサーバの利点は、時刻合わせが正確だと言う事にある。タイムサーバの設定は
https://help.ubuntu.com/7.04/server/C/NTP.html
に書かれている。愛知大学のタイムサーバのアドレスは

    smtp.aichi-u.ac.jp

である。