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



コメント