Ubuntu に Apacheサーバーをインストールする 20230215

1.Apache2 サーバーのインストール

$ sudo apt install apache2

apacheのバージョン表示

$ sudo apache2ctl -v
Server version: Apache/2.4.52 (Ubuntu)
Server built: 2023-01-23T18:34:42

2.起動テスト

apache2の起動

$ sudo service apache2 start
* Starting Apache httpd web server apache2
*

[Sun Feb 26 22:19:54.370028 2023] [core:warn] [pid 5012:tid 140355066791808] (92)Protocol not available: AH00076: Failed to enable APR_TCP_DEFER_ACCEPT

が表示されても問題ない。
うっとうしいなら,Apacheの設定ファイル /etc/apache2/apache2.conf の末尾に以下の2行を追記すれば出なくなる。

AcceptFilter http none
AcceptFilter https none

apache2起動中のPCのWindows側のブラウザで「http://localhost/」を表示すると
「Apache2 Ubuntu Default Page」が表示される。
(/var/www/html/index.htmlが見えている。)
他のPCからのアクセスも出来ない。

apache2を止める。

$ sudo service apache2 stop
 * Stopping Apache httpd web server apache2
 *

3.DocumentRoot .htmlファイルのディレクトリ

DocumentRootは/var/www/html/にある。
ディレクトリ/var/www/html/はroot:rootが所有している。
例えば,Webページ内のphpのコマンドでファイルを作るようなディレクトリ(/var/www/html/配下のディレクトリ)に関しては,所有者をwww-data:www-dataにしておく必要がある。
テストする場合などは,ログインユーザでもファイルを書き込めるようにしたいので,そのディレクトリの権限を767にしておくと都合がよい。

4自分で作成した.htmlを表示してみる

ディレクトリ/var/www/html に次の内容を持つmyindex.htmlを置く

------------------------------------------
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8"></head><body>
<h1>Hello.&nbsp; Apache on Ubuntu works!</h1>
</body></html>
------------------------------------------

もしapache2が停止中であったらapache2を起動

$ sudo service apache2 start

ここでブラウザで http://localhost/myindex.html とアクセスすると,
var/www/html/myindex.html が見える。

apache2を止める。

$ sudo service apache2 stop
 * Stopping Apache httpd web server apache2
 *

apache2を起動したまま,ubuntuからexitしても,apache2は起動中となっている。