システム開発 - AWS Webサーバーの詳細な設定

 

前回のAWS Webサーバーのアクセス権の設定で、実際にWebサイトのデータをおく/var/www以下のアクセス権の設定を行いました。

今回はWebサーバーの詳細な設定と日本語化を行っていきます。

環境

Amazon Linux 2

Apacheの設定(httpd.confの編集)

まずは、/var/www/html直下についての設定のみ編集します。

設定ファイルをviエディタで開きます。

[ec2-user@ip-10-0-10-127 ~]$ sudo vi /etc/httpd/conf/httpd.conf

該当部分まで移動します。

# Further relax access to the default document root:
<Directory "/var/www/html">
    #
    # Possible values for the Options directive are "None", "All",
    # or any combination of:
    #   Indexes Includes FollowSymLinks SymLinksifOwnerMatch ExecCGI MultiViews
    #
    # Note that "MultiViews" must be named *explicitly* --- "Options All"
    # doesn't give it to you.
    #
    # The Options directive is both complicated and important.  Please see
    # http://httpd.apache.org/docs/2.4/mod/core.html#options
    # for more information.
    #
    Options Indexes FollowSymLinks

    #
    # AllowOverride controls what directives may be placed in .htaccess files.
    # It can be "All", "None", or any combination of the keywords:
    #   Options FileInfo AuthConfig Limit
    #
    AllowOverride None

    #
    # Controls who can get stuff from this server.
    #
    Require all granted
</Directory>

下記2箇所を書き換えます。

Options Indexes FollowSymLinks
↓
Options FollowSymLinks

これにより、シンボリックリンクをたどって行けるようになります。
また、Indexesがあると、全てのディレクトリに対し、ファイル一覧が表示されてしまう場合があるので、必要な場合には、各ディレクトリの.htaccessで設定します。

AllowOverride None
↓
AllowOverride All

これにより、当ファイルの設定を一部を除き、全て .htaccess で設定できるようになります。

こちらはViエディタというもので、ファイルの編集によく使われます。詳細はviエディタでしらべてみます。

編集のしかたですが、該当の場所までカーソルを移動し、「i」を入力すると、編集ができるようになります。編集が終わったら、Escきーを押してから、保存して終了のコマンドである「:wq」を入力します(先頭は半角コロンです)。

また、他の終了の仕方としては、単に終了「:q」、変更を無視して終了「:q!」などがあります。

「:wq」を入力して終了します。

# Further relax access to the default document root:
<Directory "/var/www/html">
    ・・・
    Options FollowSymLinks
    ・・・
    AllowOverride All
    ・・・
</Directory>
:wq

無事保存されました。

設定の記述が文法的にあっているか確認します。

[ec2-user@ip-10-0-10-127 ~]$ apachectl configtest
Syntax OK
[ec2-user@ip-10-0-10-127 ~]$ 

下記はあえて「FollowSymLinks」を「FollowSymLinkss」と最後に「s」を加えた場合の結果です。

[ec2-user@ip-10-0-10-127 ~]$ apachectl configtest
AH00526: Syntax error on line 144 of /etc/httpd/conf/httpd.conf:
Illegal option FollowSymLinkss
[ec2-user@ip-10-0-10-127 ~]$ 

エラーが表示されました。

エラーがなければWebサーバーを再起動します。

[ec2-user@ip-10-0-10-127 ~]$ sudo systemctl restart httpd
[ec2-user@ip-10-0-10-127 ~]$ 

これで設定が反映されました。

タイムゾーンの確認

念のため、時間設定を確認してみます。

[ec2-user@ip-10-0-10-127 ~]$ date
Wed Nov  9 08:58:08 JST 2022
[ec2-user@ip-10-0-10-127 ~]$ 

現在時刻になっていて「JST(日本標準時)」になっていれば問題ありません。

もう一つの方法で確認します。

[ec2-user@ip-10-0-10-127 ~]$ timedatectl
      Local time: Wed 2022-11-09 09:03:22 JST
  Universal time: Wed 2022-11-09 00:03:22 UTC
        RTC time: Wed 2022-11-09 00:03:23
       Time zone: Asia/Tokyo (JST, +0900)
     NTP enabled: yes
NTP synchronized: yes
 RTC in local TZ: no
      DST active: n/a
[ec2-user@ip-10-0-10-127 ~]$ 

UTC(世界標準時)と9時間ずれて設定してあります。また、Time zoneも「Asia/Tokyo」となっているので問題ありません。

言語の設定

現状を確認します。

[ec2-user@ip-10-0-10-127 ~]$ sudo localectl status
   System Locale: LANG=en_US.UTF-8
       VC Keymap: jp106
      X11 Layout: jp
       X11 Model: jp106
     X11 Options: terminate:ctrl_alt_bksp
[ec2-user@ip-10-0-10-127 ~]$ 

「System Locale」が「LANG=en_US.UTF-8(英語)」になっています。

これを日本語に変更します。

念のため、日本語のソースが入っているか確認します。lsで対象のディレクトリ内の一覧を表示します。その際「|(パイプ)grep」で「ja」の付くファイル又はディレクトリのみに限定しています。

[ec2-user@ip-10-0-10-127 ~]$ ls /usr/share/i18n/locales/ | grep ja
ja_JP
[ec2-user@ip-10-0-10-127 ~]$

「ja-JP」ファイルが存在しました。

今度は、上記元ファイルをソース(元)ファイルとして、キャラクター・エンコードにUTF-8を指定してマッピングします。

[ec2-user@ip-10-0-10-127 ~]$ sudo localedef -i /usr/share/i18n/locales/ja_JP -f UTF-8 
/usr/lib/locale/ja_JP.UTF-8

-iオプションで元ファイルを、-fオプションでマッピング先と言語を指定しています。

ロケールをアーカイブに登録します。

[ec2-user@ip-10-0-10-127 ~]$ sudo localedef --add-to-archive /usr/lib/locale/ja_JP.UTF-8
Adding /usr/lib/locale/ja_JP.UTF-8

ロケールを設定します。

[ec2-user@ip-10-0-10-127 ~]$ sudo localectl set-locale LANG=ja_JP.UTF-8

設定を反映します。

[ec2-user@ip-10-0-10-127 ~]$ source /etc/locale.conf

設定が完了しました。日付を表示してみます。

[ec2-user@ip-10-0-10-127 ~]$ date
2022年 11月  9日 水曜日 09:21:05 JST
[ec2-user@ip-10-0-10-127 ~]$  sudo localectl status
   System Locale: LANG=ja_JP.UTF-8
       VC Keymap: jp106
      X11 Layout: jp
       X11 Model: jp106
     X11 Options: terminate:ctrl_alt_bksp
[ec2-user@ip-10-0-10-127 ~]$ 

日本語で表示されるようになりました。また、「System Locale」が「LANG=ja_JP.UTF-8(日本語)」になりました。

まとめ

今回はWebサーバーの基本的な設定を行い、その後OSの時刻設定の確認をし、表示の日本語化を行いました。

今回、時刻は日本標準時に最初から設定されていたので特に問題はありませんでしたが、構築の仕方によっては、設定の必要があるかもしれません。

次回は、php.iniの確認と設定行っていきます。

次回:PHP php.iniの確認と設定

一覧:AWS サーバー立ち上げ設定まとめ

文責:フライング・ハイ・ワークス代表 松田 治人(まつだ はるひと)
会社では、Laravelを中心としたエンジニアとして働いており、これまでに50本以上のLaravelによるWebアプリケーションの構築や東京でホームページ制作をしています。
エンジニアとして弊社で働きたい方、お仕事のご相談など、お待ちしております。

WEBサイト制作のお問い合わせ、お見積り依頼、ご質問は
こちらのお問い合わせフォームよりお願いいたします

メールお問い合わせはこちら

フライング・ハイ・ワークスの紹介

フライング・ハイ・ワークスは、東京のホームページ制作・Web制作会社・システム開発会社です。東京都及びその近郊(首都圏)を中心として、SEO対策を意識したPC及びスマホのサイトをワンソース(レスポンシブ対応)で制作します。

実績

デザイナーチームは、グラフィックデザインやイラストの制作も得意としており、著作権を意識しない素材の提供が可能です。システム・コーディングチームでは、Laravelなどを使用したスクラッチからのオリジナルシステム開発を始め、WordPressのカスタマイズを得意としております。

また、SEOやランディングページ(LP)、広告向けバナーなどを他社様でやっていた作業の引継ぎでも問題ありません。制作実績は多数ございますので、お客様に合わせたご提案が可能です。

500点以上のフライング・ハイ・ワークスの制作実績ページをご覧ください!

東京のホームページ制作・Web制作のお問い合わせ、お見積り依頼、相談、質問は
こちらのお問い合わせフォームよりお願いいたします

メールお問い合わせはこちら