■はじめに
他の方もやっているように、まずはApacheをインストールして、Webブラウザを立ち上げるところまでやってみたいと思います。
yumで依存関係を解決していくので、インターネットにつながっていることが前提。
■環境
CentOS 9
[root@localhost etc]# cat ecentos-release
CentOS Stream release 9
■Apacheのインストール
1.まずは、httpdのバージョン確認
[root@localhost /]# yum info httpd
利用可能なパッケージ
名前 : httpd
バージョン : 2.4.62
リリース : 1.el9
Arch : x86_64
サイズ : 47 k
ソース : httpd-2.4.62-1.el9.src.rpm
リポジトリー : appstream
概要 : Apache HTTP Server
URL : https://httpd.apache.org/
ライセンス : ASL 2.0
説明 : The Apache HTTP Server is a powerful, efficient, and extensible
: web server.
2.Apacheのインストール
[root@localhost /]# yum -y install httpd
⇒エラーとならないこと
3.Webサーバの稼働確認
[root@localhost /]# systemctl status httpd
○ httpd.service - The Apache HTTP Server
Loaded: loaded (/usr/lib/systemd/system/httpd.service; disabled; preset: d>
Active: inactive (dead)
Docs: man:httpd.service(8)
インストール後は起動していないので、httpdを起動します。
4.Webサーバの起動
以下のコマンドを入力し、httpdを起動する。
[root@localhost /]# systemctl start httpd
⇒エラーとならないこと
5.Webサーバの稼働確認
[root@localhost /]# systemctl status httpd
● httpd.service - The Apache HTTP Server
Loaded: loaded (/usr/lib/systemd/system/httpd.service; disabled; preset: disabled)
Active: active (running) since Sun 2024-11-17 13:58:36 JST; 13s ago
Docs: man:httpd.service(8)
Main PID: 11286 (httpd)
Status: "Total requests: 0; Idle/Busy workers 100/0;Requests/sec: 0; Bytes served/sec: 0 B/sec"
Tasks: 177 (limit: 11071)
Memory: 33.7M
CPU: 74ms
CGroup: /system.slice/httpd.service
├─11286 /usr/sbin/httpd -DFOREGROUND
├─11287 /usr/sbin/httpd -DFOREGROUND
├─11288 /usr/sbin/httpd -DFOREGROUND
├─11289 /usr/sbin/httpd -DFOREGROUND
└─11290 /usr/sbin/httpd -DFOREGROUND
11月 17 13:58:36 localhost.localdomain systemd[1]: Starting The Apache HTTP Server...
11月 17 13:58:36 localhost.localdomain httpd[11286]: AH00558: httpd: Could not reliably determine the >
11月 17 13:58:36 localhost.localdomain systemd[1]: Started The Apache HTTP Server.
11月 17 13:58:36 localhost.localdomain httpd[11286]: Server configured, listening on: port 80
lines 1-20/20 (END)
⇒「Active: active (running)」と緑文字で表示されたこと
6.Webサーバの自動起動設定
[root@localhost /]# systemctl enable httpd.services
⇒エラーとならないこと
[root@localhost /]# systemctl is-enabled httpd
enabled
⇒「enabled」となっていること
■設定値編集
Apacheの設定ファイルは、「/etc/httpd/conf/httpd.conf」にあるらしいので、編集していきます。
まずは、以下のコマンドを入力し、設定ファイルを覗いてみます。
[root@localhost /]# less /etc/httpd/conf/httpd.conf
↓の行がコメントアウトされていたので、
#ServerName www.example.com:80
viでコメントアウトを外して、サーバ名を変更しました。
ServerName www.testfuziiiiaki.com:80
■ファイアウォールの設定
参考URLによれば、デフォルトではWebサーバのhttpポート、つまり80番ポートが開放されていないので、
(1)以下のコマンドで80番ポートを開放する。
[root@localhost /]# firewall-cmd --permanent --add-service=http
success
(2)以下のコマンドを入力して、再起動を実施する。
[root@localhost /]# firewall-cmd --reload
success
(3)以下のコマンドを入力して、設定が反映されたかを確認する。
# firewall-cmd --list-all
public (active)
target: default
icmp-block-inversion: no
interfaces: enp0s3
sources:
services: cockpit dhcpv6-client http ssh
ports:
protocols:
forward: yes
masquerade: no
forward-ports:
source-ports:
icmp-blocks:
rich rules:
⇒ services:欄に「http」が反映されていること
■テストページの表示
ブラウザ開いて、「http://【IPアドレス】」で以下の画面が開けば成功。
ブラウザに入れる【IPアドレス】は以下のコマンドを入力して調べる。
[root@localhost /]# ip a
■HTMLファイルの作成と編集
htmlのディレクトがvar配下にあるらしいので、見に行ってみました。
[root@localhost /]# cd /var/www/
[root@localhost www]# ll
合計 0
drwxr-xr-x. 2 root root 6 8月 12 22:20 cgi-bin
drwxr-xr-x. 2 root root 6 8月 12 22:20 html
[root@localhost www]# cd html/
[root@localhost html]# ll
合計 0
[root@localhost html]#
たしかにありました。
ここのhtml配下にhtmlファイルを作成して、そのhtmlファイルを編集していけばよいみたいです。
以下のコマンドを入力して、html配下htmlファイルを作成する。
[root@localhost html]# touch index.html
[root@localhost html]# ll
合計 0
-rw-r--r--. 1 root root 0 11月 17 15:09 index.html
⇒ファイルが作成されたこと
以下のコマンドを入力して、「index.html」を編集する。
[root@localhost html]# vi index.html
ファイルの中身は以下のようにしてみました。
[root@localhost html]# cat index.html
<html>
<head>
<title>qiita</title>
</head>
<body>
<h1>Hello Apache</h1>
</body>
</html>
もう一度、「http://【IPアドレス】」でブラウザを開いてみると↓のようになっていれば成功です。
■名前解決
せっかくなので、内部向けに名前解決をしてみようと思います。
編集するのは以下二つのファイル。
・/etc/hosts
・C:\WINDOWS\System32\drivers\etc\hosts
Windowsのhostsファイルの編集はググってください。
それでは、CentOSのhostsファイルを編集していきます。
以下のコマンドを入力する
# vi /etc/hosts
あとは、# iでコマンドモードからインサートモードに移行して、以下のように
編集する。
192.xxx.x.x www.testfuziiiiaki.com
■ログの場所
/var/log配下にapacheのログがあるのかなと目星を付けて、以下のコマンドを入力しました。
# ll /var/log | grep a
それらしい名称はヒットしなかったので、どうやら/var/log配下にはないみたいです。
ググってみると、「ログの場所は /etc/httpd/logs/配下」みたいなので、見に行ってみます。
# cd /etc/httpd/logs/
# ll
-rw-r--r--. 1 root root 3131 11月 24 10:09 access_log
-rw-r--r--. 1 root root 3000 11月 30 07:58 error_log
「access_log」と「error_log」がありました。
開いてみます。
# cat access_log
# cat error_log
■参考URL
↑の記事を見て自分でもやってみました。