本記事では、CentOS Linux上にApache Webサーバーを構築する手順を紹介します。
どちらもフリーで入手できるので、PCや仮想サーバーなど環境があれば無償で構築できます。
ぜひこの手順を参考に実際に構築してみてください。

2023.07.06
CentOS 7 のインストール直後に行う初期設定を紹介
CentOS Linux(以下、CentOS)は、RHEL(Red Hat Enterprise Linux)と完全互換を目指して開発された...
CentOS LinuxをVPSで利用するなら
ミライサーバー
\2週間無料・全プランSSD搭載/
ミライサーバーを無料で試す
目次
事前設定
前提条件
今回使用する仮想マシンは以下のとおりです。
- CPU:2vCPU
- Memory:4GB
- Disk:50GB
CentOS、Apacheは以下のバージョンを利用しています。
- CentOSのバージョン:CentOS Linux release 7.9.2009(Core)
- Apacheのバージョン:Apache 2.4.6(CentOS)
また、コマンドの標記については、実際に入力するコマンドを太字、補足の内容を青字で記載しています。
一般ユーザーをwheelグループに登録
CentOSに対してApache Webサーバーをインストールするには、管理者権限が必要です。
rootユーザーアカウントを直接ログインして使用するのはセキュリティ上リスクがあるため、管理者権限への実行を許可する一般ユーザーをwheelグループに追加します。
以下のコマンドでは、rootユーザーで一般ユーザー(以下の例では、testuser)をwheelグループに追加しています。
# usermod -G wheel testuser |
今後管理者権限を使用する場合は、rootユーザーでログインするのではなく、一般ユーザーから必要に応じてsuコマンドでrootユーザーに切り替えた上で実行するようにします。
SELinuxの無効化
CentOSには、システムにアクセスできるユーザーを制御するセキュリティ機能「SELinux」が標準で有効になっています。
しかし、この機能が有効になっていると、Apacheに予期せぬ影響を及ぼしてしまう可能性があります。
そのため、事前にSELinuxを無効化しておきます。
SELinuxが有効になっているかどうかは、以下のコマンドで確認できます。
# getenforce
Enforcing ※SELinux有効
もし有効になっていれば、無効化しておきましょう。
SELinuxを無効化するには、設定ファイル「/etc/selinux/config」の内容を修正します。
# vi /etc/selinux/config
【変更前】 SELINUX=enforcing 【変更後】 SELINUX=disabled |
設定ファイルを修正後、設定を有効にするため、CentOSを再起動します。
※注意
この設定変更はスペルミス等がないよう、十分に注意してください。
設定を間違えた場合、CentOSが起動しなくなる可能性があります。
CentOSが起動したら、SELinuxが無効化されていることを確認します。
# getenforce
Disabled ※SELinux無効
ファイアウォールの設定変更
CentOS 7以降では、ファイアウォール機能として「firewalld」が標準で有効になっています。
デフォルトでは「public」ゾーンが割り当てられていますが、http/httpsは通信が許可されていないため、このままではApacheをインストールしても通信を行うことができません。
publicゾーンの設定を確認するには、以下のコマンドを実行します。
# firewall-cmd–(← – を2回重ねる)list-all |
上記例だと、「dhcpv6-client」「ssh」の2つのみが許可されています。
今回はApacheをインストールするため、事前に「http」「https」を開く設定を追加しておきます。
以下のコマンドを実行します。
# firewall-cmd –add-service=http –zone=public –permanent
# firewall-cmd –add-service=https –zone=public –permanent
コマンドを実行したら、変更内容を反映します。
# firewall-cmd –reload |
再度設定を確認すると、「http」「https」が追加されていることが確認できます。
これにより、Apacheをインストール後、通信ができるようになります。
Apacheのインストール
Apacheのインストール
それでは、wheelグループに追加した一般ユーザー(testuser)を使って、sudoコマンドからApache(httpdパッケージ)をインストールします。
rootユーザーに切り替えるには、suコマンドを実行します。
$ su –
パスワード: ※rootユーザーのパスワードを入力
# ※rootユーザーになった
次に、Apache(httpdパッケージ)をインストールします。
# yum -y install httpd |
インストールが完了した直後は、まだ起動していません。
ステータスを確認すると「inactive(dead)」と表示されます。
# service httpd status |
そのため、Apacheを起動します。
# service httpd start |
実際にブラウザを起動し以下のURLにアクセスすると、Apacheのテストページが表示されます。
※ブラウザを起動し、以下のURLにアクセス
http://[WebサーバーのIPアドレスまたはホスト名]
または
※Webサーバー上でブラウザを起動し、以下のURLを実行
http://localhost
Apacheのプロセス管理
ここで、インストールしたApacheのプロセス管理の方法について、紹介します。
インストールした直後はすでにWebサーバーが起動した状態ですが、停止や起動、自動起動の設定を行いたい場合は、以下のコマンドを実行します。
操作 | コマンド |
---|---|
Webサーバー停止 | # systemctl stop httpd |
Webサーバー起動 | # systemctl start httpd |
Webサーバー再起動 | # systemctl restart httpd |
自動起動設定の確認 | # systemctl is-enabled httpd.service |
自動起動の有効化 | # systemctl enable httpd.service |
自動起動の無効化 | # systemctl disable httpd.service |
Apacheの設定変更
Apacheの設定は、「/etc/httpd/conf/httpd.conf」に記載されています。
必要に応じて、設定を変更します。
# vi /etc/httpd/conf/httpd.conf |
以下、変更すべきポイントを紹介します。
- サーバー管理者のメールアドレス(86行目)
エラーページに表示される、サーバー管理者のメールアドレスを任意のアドレスに変更します。
ServerAdmin root@localhost |
- サーバーのホスト名(95行目)
サーバー名がコメントアウトされているため、公開用ホスト名に変更します。
ServerName www.example.com:80 |
- ドキュメントルート(119行目)
Webコンテンツの配置場所を指定します。
DocumentRoot “/var/www.html” |
変更した場合は、あわせてディレクトリの設定に関する内容も変更します。
(124行目)
<Directory “/var/www”> |
(131行目)
<Directory “/var/www/html”> |
- デフォルトキャラクタセット(316行目)
デフォルトのキャラクタセットがUTF-8となっています。
環境によっては日本語が文字化けしてしまうことがあるため、設定を変更しておきます。
AddDefaultCharset none |
設定変更が完了したら、httpdを再起動し、変更内容を反映します。
# systemctl restart httpd |
テストページの削除
Apacheが起動していることを確認する際に参照したテストページには、OSなどの情報が表示されています。
第三者に見られるとセキュリティリスクとなるため、退避するか削除しておきましょう。
以下は、削除する場合のコマンドです。
# rm /etc/httpd/conf.d/welcome.conf |
まとめ
今回はCentOS上でApache Webサーバーを構築する手順を解説しました。
無料で構築できるので、検討されている方は本記事を参考に構築してみてください。
CentOS LinuxをVPSで利用するならミライサーバー
ミライサーバーは、アシストアップ株式会社が提供している、Unix系サーバーに特化したホスティングサービスです。
ミライサーバーのVPSでは、高速処理が可能なSSDを全プランに搭載しています。
OSは、UbuntuやDebian、AlmaLinuxなどの豊富なラインアップから選択することができます。
2週間無料トライアルを実施しておりますので、まずはお気軽にお試しください。