CentOS 7でwebサーバーを構築する

http Linux

自身の環境にちょっとした変化があって、随分長い間アウトプットが止まったままでした。

私はweb関連は門外漢で触るとしてもレンタルサーバーのクイックインストールばかりなので、例えばテスト目的でAWSなどにwebサーバーやWordPressを立てようとすると結構な確率で目的を果たす前に死亡します。

今日の内容は覚え書き第一弾としてCentOS7でwebサーバーを動かしてみます。

この記事の趣旨

自分が分からなかったこと・知らなかったことをググり倒した結果を備忘録として残すことが目的で、初学者の方に教え伝えるものではありません(きっぱり)。

誤認と思われる箇所は教えて頂ければうれしいです。

検証環境

VirtualBox上の仮想マシンCentOS 7.9.2009です。

[sandambara@srv236 ~]$ cat /etc/redhat-release
CentOS Linux release 7.9.2009 (Core)

firewalld tcp/80 開放

現在の設定を確認します。

[sandambara@srv236 ~]$ sudo firewall-cmd --list-all
[sudo] sandambara のパスワード:
public (active)
  target: default
  icmp-block-inversion: no
  interfaces: enp0s3
  sources: 
  services: dhcpv6-client ssh   ← ここにhttpを追加したい
  ports: 
  protocols: 
  masquerade: no
  forward-ports: 
  source-ports: 
  icmp-blocks: 
  rich rules: 

外部からhttpを受けられるようにします。

[sandambara@srv236 ~]$ sudo firewall-cmd --add-service=http --zone=public --permanent
success
[sandambara@srv236 ~]$ sudo systemctl restart firewalld
[sandambara@srv236 ~]$ sudo firewall-cmd --list-all
public (active)
  target: default
  icmp-block-inversion: no
  interfaces: enp0s3
  sources: 
  services: dhcpv6-client http ssh   ← httpが追加された
  ports: 
  protocols: 
  masquerade: no
  forward-ports: 
  source-ports: 
  icmp-blocks: 
  rich rules: 

これでOKです。AWSの場合はセキュリティグループのルールを確認しておきましょう。

httpdインストール

早速いきます。

[sandambara@srv236 ~]$ sudo yum -y install httpd
読み込んだプラグイン:fastestmirror
Loading mirror speeds from cached hostfile
 * base: ftp.tsukuba.wide.ad.jp
 * extras: packet01.centos.org
 * updates: packet01.centos.org
依存性の解決をしています
--> トランザクションの確認を実行しています。
---> パッケージ httpd.x86_64 0:2.4.6-97.el7.centos を インストール
--> 依存性の処理をしています: httpd-tools = 2.4.6-97.el7.centos のパッケージ: httpd-2.4.6-97.el7.centos.x86_64
--> 依存性の処理をしています: /etc/mime.types のパッケージ: httpd-2.4.6-97.el7.centos.x86_64
--> 依存性の処理をしています: libaprutil-1.so.0()(64bit) のパッケージ: httpd-2.4.6-97.el7.centos.x86_64
--> 依存性の処理をしています: libapr-1.so.0()(64bit) のパッケージ: httpd-2.4.6-97.el7.centos.x86_64
--> トランザクションの確認を実行しています。
---> パッケージ apr.x86_64 0:1.4.8-7.el7 を インストール
---> パッケージ apr-util.x86_64 0:1.5.2-6.el7 を インストール
---> パッケージ httpd-tools.x86_64 0:2.4.6-97.el7.centos を インストール
---> パッケージ mailcap.noarch 0:2.1.41-2.el7 を インストール
--> 依存性解決を終了しました。

依存性を解決しました

====================================================================================================
 Package                アーキテクチャー  バージョン                       リポジトリー        容量
====================================================================================================
インストール中:
 httpd                  x86_64            2.4.6-97.el7.centos              updates            2.7 M
依存性関連でのインストールをします:
 apr                    x86_64            1.4.8-7.el7                      base               104 k
 apr-util               x86_64            1.5.2-6.el7                      base                92 k
 httpd-tools            x86_64            2.4.6-97.el7.centos              updates             93 k
 mailcap                noarch            2.1.41-2.el7                     base                31 k

トランザクションの要約
====================================================================================================
インストール  1 パッケージ (+4 個の依存関係のパッケージ)

総ダウンロード容量: 3.0 M
インストール容量: 10 M
Downloading packages:
(1/5): apr-util-1.5.2-6.el7.x86_64.rpm                                       |  92 kB  00:00:00     
(2/5): apr-1.4.8-7.el7.x86_64.rpm                                            | 104 kB  00:00:00     
(3/5): mailcap-2.1.41-2.el7.noarch.rpm                                       |  31 kB  00:00:00     
(4/5): httpd-tools-2.4.6-97.el7.centos.x86_64.rpm                            |  93 kB  00:00:00     
(5/5): httpd-2.4.6-97.el7.centos.x86_64.rpm                                  | 2.7 MB  00:00:00     
----------------------------------------------------------------------------------------------------
合計                                                                4.1 MB/s | 3.0 MB  00:00:00     
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  インストール中          : apr-1.4.8-7.el7.x86_64                                              1/5 
  インストール中          : apr-util-1.5.2-6.el7.x86_64                                         2/5 
  インストール中          : httpd-tools-2.4.6-97.el7.centos.x86_64                              3/5 
  インストール中          : mailcap-2.1.41-2.el7.noarch                                         4/5 
  インストール中          : httpd-2.4.6-97.el7.centos.x86_64                                    5/5 
  検証中                  : httpd-2.4.6-97.el7.centos.x86_64                                    1/5 
  検証中                  : apr-1.4.8-7.el7.x86_64                                              2/5 
  検証中                  : mailcap-2.1.41-2.el7.noarch                                         3/5 
  検証中                  : httpd-tools-2.4.6-97.el7.centos.x86_64                              4/5 
  検証中                  : apr-util-1.5.2-6.el7.x86_64                                         5/5 

インストール:
  httpd.x86_64 0:2.4.6-97.el7.centos                                                                

依存性関連をインストールしました:
  apr.x86_64 0:1.4.8-7.el7                               apr-util.x86_64 0:1.5.2-6.el7              
  httpd-tools.x86_64 0:2.4.6-97.el7.centos               mailcap.noarch 0:2.1.41-2.el7              

完了しました!

続いてhttpd起動→システム再起動時も自動起動するように設定します。

[sandambara@srv236 ~]$ sudo systemctl start httpd
[sandambara@srv236 ~]$ sudo systemctl enable httpd
Created symlink from /etc/systemd/system/multi-user.target.wants/httpd.service to /usr/lib/systemd/system/httpd.service.

この状態でブラウザでアクセスするとどうなるか

URLの代わりにCentOSのIPアドレスをブラウザへ入力します。このような画面が表示されたらインストールは成功しています。

HTMLファイルを作成してみる

デフォルトでは/var/www/htmlがドキュメントルート(公開用ファイルが保存されるディレクトリ)ですので、ここにHTMLファイルを作成してみます。何も特別なことはなく、拡張子を.htmlにするだけでOKです。

[sandambara@srv236 ~]$ sudo nano /var/www/html/index.html

こんな感じで。

nanoはCtrl + x → y → Enterキー で保存して終了です。

もう一度ブラウザでアクセスしてみる

無事表示されました。

後は色々ファイルをドキュメントルートへ保存していくだけですが、もしこの作業を外部サーバーで実施している場合は「通信がhttp(平文)」であることを忘れないようにしましょう。

次回はPHPのインストール覚え書きです。

コメント