読者です 読者をやめる 読者になる 読者になる

@Satoh_D no blog

大分にUターンしたので記念に。調べたこととか作ったこととか食べたこととか

お名前.comのVPSを借りた & 色々サーバ設定を行った vol.03

サーバ設定第3弾です。
今回は ApachePHPの設定を行います。

ここまで過去2回では以下の設定を行ってきました。

これまでに行ってきた設定一覧

お名前.comのVPSを借りた & 色々サーバ設定を行った vol.01 | おれめも v2

  • パッケージのアップデート
  • 作業用ユーザの作成
  • 作業用ユーザの公開鍵を作成
  • パスワード認証の廃止&公開鍵認証のみに設定
  • 作業ユーザでsudo出来るように設定
  • ファイアウォールの設定

お名前.comのVPSを借りた & 色々サーバ設定を行った vol.02 | おれめも v2

では始めます。

Apacheの設定を行う

お名前.comのサーバにはApacheは既に入っているようでしたので、
Apacheのインストールについては省略します。

ユーザ apache の作成

Apache を扱うユーザを作成します。
その前にユーザが既に作成されているかを確認します。

# cat /etc/passwd
root:x:0:0:root:/root:/bin/bash
...中略...
apache:x:48:48:Apache:/var/www:/sbin/nologin
...中略...

どうやら既にapacheユーザは作成されているみたいでした。
ですのでこのまま進めても大丈夫そうですが、一応作成方法を記載しておきます。

# groupadd apache // ユーザ apache を作成
# groupadd -g apache apache // apacheapacheグループに所属させる
# id apache // apacheapacheグループに所属しているかを確認
uid=48(apache) gid=48(apache) 所属グループ=48(apache)

Apacheの設定をする

apacheの設定を変更していきます。
設定ファイルは /etc/httpd/conf/httpd.conf にあります。

# vi /etc/httpd/conf/httpd.conf

今回は以下の項目を変更しました。

ServerAdmin

管理者のメールアドレスを記載します。
エラー等あったときにメールが飛んでくるみたいです。

ServerName

サーバのIPアドレス、もしくは取得したドメインを記載します。

DocumentRoot

ドキュメントルートの場所を設定します。 デフォルトでは "/var/www/html" になっています

<Directory "/var/www/html(DocumentRootで設定した値を入力)"> ... </Directory>

DocumentRootの少し下のところにあります。
この中の、 AllowOverride None を All に変更。
これで .htaccess が使用可能になります。

設定が完了したら保存します。
次に自動起動の設定を行い、apacheを起動してます。

# chkconfig httpd on
httpd           0:off 1:off 2:on  3:on  4:on  5:on  6:off
# service httpd on
Starting httpd:                                            [  OK  ]

ここでブラウザを開き、ServerNameに指定したドメイン、もしくはIPアドレスを入力してみます。
Apache 2 Test Page」という画面が見えたらサーバの設定は完了です。

PHPの設定を行う

お名前.comのサーバにはPHPは既に入っているようでしたので、
PHPのインストールについては省略します。

/etc/php.ini にあるPHPの設定ファイルを開き、設定を変更していきます。
今回以下の項目を変更しました。

expose_php

PHPのインストール情報を開示するか設定します。
特に開示する必要もないのでOffにします。

expose_php = On
→ expose_php = Off

default_charaset

デフォルトの文字コードを指定します。

; default_charset="iso-8859-1"
→ default_charset="UTF-8"

date.timezon

サーバのタイムゾーンを指定します。

; date.timezone =
→ date.timezone = "Asia/Tokyo"

mbstring.language

マルチバイト文字が何語かを指定します。

; mbstring.language = Japanese
→ mbstring.language = Japanese

mbstring.internal_encoding

マルチバイト文字の内部文字エンコーディング文字コードを指定します。
PHP5.6.0から非推奨になり、default_charsetの設定のみで良いみたいです。

; mbstring.internal_encoding = EUC-JP
→ mbstring.internal_encoding = UTF-8

mbstring.http_input

入力文字のエンコーディグの文字コードを設定します。
PHP5.6.0から非推奨になり、default_charsetの設定のみで良いみたいです。

; mbstring.http_input = auto
→ mbstring.http_input = UTF-8

mbstring.http_output

出力文字のエンコーディング文字コードを設定します。
PHP5.6.0から非推奨になり、default_charsetの設定のみで良いみたいです。

; mbsting.http_output = SJIS
→ mbstring.http_output = pass

mbstring.detect_order

文字エンコーディングの検出順序を指定します。

; mbstring.dected_order = auto
→ mbstring.dected_order = auto

mbstring.encoding_transition

入力文字を内部エンコーディングするかを指定します。

; mbstring.encoding_transition = OFF
→ mbstring.encoding_transition = OFF

設定の変更が完了したら保存します。
ここでPHPの設定は終了です。

これでひと通りのサーバの設定は完了です。
途中ハマったりもしましたが、なんとかここまでたどり着きました。 あとはHTMLファイルを置いたり、バーチャルホストを設定したり、WordPrssを置いたりとまだまだやることは多いですが、一旦は終了です。

これからお名前.comのVPSを使う人のお役に立てると幸いです。

今回参考にしたページ