Apacheインストール・設定 【CentOS Stream 9】
Contents
CentOS Stream 9 で Apahce 2.4系のインストール
WebサーバーとしてNginxではなく、昔から使っているApacheを使用して構築しようと思います。CentOS Stream 9でインストールした場合では、「Apache 2.4.53」のバージョンとなりました。インストールはdnfコマンドでインストールします
# dnfコマンドでApacheをインストールします $ sudo dnf install httpd # Apacheのバージョンを確認 $ rpm -qa | grep httpd centos-logos-httpd-90.4-1.el9.noarch httpd-filesystem-2.4.53-7.el9.noarch httpd-tools-2.4.53-7.el9.x86_64 httpd-core-2.4.53-7.el9.x86_64 httpd-2.4.53-7.el9.x86_64
「httpd.conf」の設定を変更
Apacheの設定ファイルである「httpd.conf」を変更します。変更箇所は最低限のセキュリティやサーバー名の変更です
# httpd.conf編集 $ sudo vi /etc/httpd/conf/httpd.conf # 管理者アドレス ServerAdmin info@m-yabe.com # サーバーネーム ServerName www.m-yabe.com:80 # ディレクトリ一覧を無効にする Options FollowSymLinks # ディレクティブを許可(.htaccess等を許可) AllowOverride All # phpを追加 DirectoryIndex index.html index.php # サーバーの応答ヘッダを最低限の出力とする(最終行に追記) ServerTokens Prod
自動起動及びApacheを起動
設定を変更したら、Apache起動して、Apacheを自動起動するように設定します
$ sudo systemctl start httpd $ sudo systemctl enable httpd
バーチャルホストの設定
名前ベースのバーチャルホストの設定をおこないます、複数のバーチャルホストを使用するのでバーチャルホストの設定ファイルを置くディレクトリ(/etc/httpd/conf.d/vhosts)を作成して、そのディレクトリにインクルードするようにします
# httpd.confに バーチャルホスト用のディレクトリを追加します $ sudo vi /etc/httpd/conf/httpd.conf Include conf.modules.d/*.conf # バーチャルホスト用のディレクトリに追加 Include conf.d/vhosts/*.conf
バーチャルホストの設定ファイルを作成します
$ sudo vim /etc/httpd/conf.d/vhosts/www_example_com.conf <VirtualHost *:80> ServerName www.example.com ServerAlias www.example.com ErrorLog logs/www.example.com/error.log CustomLog logs/www.example.com/access.log common DocumentRoot /var/www/vhosts/www.example.com/html/ DirectoryIndex index.php index.html <Directory /var/www/vhosts/www.example.com/html/> Options FollowSymLinks MultiViews AllowOverride All Require all granted </Directory> </VirtualHost>
設定ファイルを作成したら、ドキュメントルートとログディレクトリを作成します
# ドキュメントルート作成します $ sudo mkdir -p /var/www/vhosts/www.example.com/ # 所収者をApacheに変更しておきます $ sudo chown -R apache:apache /var/www/vhosts/ # ログディレクトリを作成します # sudo mkdir /etc/httpd/logs/www.m-yabe.com # Apacheを再起動して設定は反映しているか確認します $ sudo systemctl restart httpd
SSL設定
SSL設定をおこなうには、SSL証明書が必要となるので事前に作成しておきます。先程設定した「www_example_com.conf」の下に下記のように追加します
$ sudo vim /etc/httpd/conf.d/vhosts/www_example_com.conf <VirtualHost *:443> ServerName www.example.com ServerAlias www.example.com ErrorLog logs/www.example.com/ssl_error.log CustomLog logs/www.example.com/ssl_access.log common DocumentRoot /var/www/vhosts/www.example.com/html/ DirectoryIndex index.php index.html SSLEngine On SSLVerifyClient none SSLCertificateFile /etc/letsencrypt/live/www.example.com/cert.pem SSLCertificateKeyFile /etc/letsencrypt/live/www.example.com/privkey.pem SSLCertificateChainFile /etc/letsencrypt/live/www.example.com/chain.pem <Directory /var/www/vhosts/www.example.com/html/> Options FollowSymLinks MultiViews AllowOverride All Require all granted </Directory> </VirtualHost>
設定を変更したら、Apacheを再起動します
$ sudo systemctl restart httpd
ディスカッション
コメント一覧
まだ、コメントがありません