Apache基本設定、PHP設定(Ubuntu14)
Apacheのインストールと基本設定、PHPの設定
Apache、php5のインストールと、デフォルトホストの設定を行います。
今回は、MicroSoft Azure のホスト名、hogehoge.cloudapp.net をデフォルトホストに、
独自ドメイン server.plus.net をバーチャルホストとして設定してみます。
apache2、php5パッケージのインストール
Apache2インストール
The following NEW packages will be installed:
apache2 apache2-bin{a} apache2-data{a} libapr1{a} libaprutil1{a}
libaprutil1-dbd-sqlite3{a} libaprutil1-ldap{a} ssl-cert{a}
0 packages upgraded, 8 newly installed, 0 to remove and 42 not upgraded.
Need to get 1,284 kB of archives. After unpacking 5,342 kB will be used.
Do you want to continue? [Y/n/?]
※aptitudeコマンドは依存パッケージの他に、推奨パッケージもインストールします。apacheの動作に必要なパッケージのみをインストールしたい場合は、apt-getコマンドを使用します。
aptitudeでのインストール結果
ii apache2 2.4.7-1ubuntu4.1 amd64 Apache HTTP Server
ii apache2-bin 2.4.7-1ubuntu4.1 amd64 Apache HTTP Server (binary files and modules)
ii apache2-data 2.4.7-1ubuntu4.1 all Apache HTTP Server (common files)
php5のインストール
今回はLAMP環境(Apache+MySQL+PHP)なので、MySQL用のモジュールも一緒に追加しておきます。
The following NEW packages will be installed:
fontconfig-config{a} fonts-dejavu-core{a} libapache2-mod-php5{a}
libfontconfig1{a} libgd3{a} libjbig0{a} libjpeg-turbo8{a} libjpeg8{a}
libmysqlclient18{a} libtiff5{a} libvpx1{a} libxpm4{a} mysql-common{a}
php-pear php5 php5-cli{a} php5-common{a} php5-gd php5-json{a} php5-mysql
php5-readline{a}
0 packages upgraded, 21 newly installed, 0 to remove and 42 not upgraded.
Need to get 8,041 kB of archives. After unpacking 34.1 MB will be used.
Do you want to continue? [Y/n/?]
ii libapache2-mod-php5 5.5.9+dfsg-1ubuntu4.5 amd64 server-side, HTML-embedded scripting language (Apache 2 module)
ii php-pear 5.5.9+dfsg-1ubuntu4.5 all PEAR – PHP Extension and Application Repository
ii php5 5.5.9+dfsg-1ubuntu4.5 all server-side, HTML-embedded scripting language (metapackage)
ii php5-cli 5.5.9+dfsg-1ubuntu4.5 amd64 command-line interpreter for the php5 scripting language
ii php5-common 5.5.9+dfsg-1ubuntu4.5 amd64 Common files for packages built from the php5 source
ii php5-gd 5.5.9+dfsg-1ubuntu4.5 amd64 GD module for php5
ii php5-json 1.3.2-2build1 amd64 JSON module for php5
ii php5-mysql 5.5.9+dfsg-1ubuntu4.5 amd64 MySQL module for php5
ii php5-readline 5.5.9+dfsg-1ubuntu4.5 amd64 Readline module for php5
Apacheの設定
Debian系のApacheの設定ファイルは下記のように分散しています。
total 80
-rw-r–r– 1 root root 7115 Jan 7 2014 apache2.conf
drwxr-xr-x 2 root root 4096 Dec 17 20:33 conf-available
drwxr-xr-x 2 root root 4096 Dec 17 20:33 conf-enabled
-rw-r–r– 1 root root 1782 Jan 3 2014 envvars
-rw-r–r– 1 root root 31063 Jan 3 2014 magic
drwxr-xr-x 2 root root 12288 Dec 17 20:48 mods-available
drwxr-xr-x 2 root root 4096 Dec 17 20:48 mods-enabled
-rw-r–r– 1 root root 320 Jan 7 2014 ports.conf
drwxr-xr-x 2 root root 4096 Dec 17 20:33 sites-available
drwxr-xr-x 2 root root 4096 Dec 17 20:33 sites-enabled
- apache2.conf
- ports.conf
- conf-available
- conf-enabled
- mods-available
- mods-enabled
- sites-available
- sites-enabled
Apacheの基本設定や各ホストの共通設定を記述。
待ち受けポートの指定やIPベースで設定する場合に記述。今回はデフォルトのまま。
追加の設定ファイルを置くディレクトリ。a2enconf / a2disconf で有効 / 無効にします。
有効になっている設定ファイルです。中身は conf-available 内のファイルへのシンボリックリンク。
インストールされたモジュールが格納されているディレクトリ。
有効になっているモジュール。a2enmod / a2dismod で有効 / 無効に。
バーチャルホストの設定ファイルを格納します。ホスト毎にファイルを分けて記述します。
他と同じく、設定ファイルへのシンボリックリンクが入っています。a2ensite / a2dissite で有効 / 無効に。
オリジナルファイルのバックアップ
$ sudo cp -pi /etc/apache2/conf-available/security.conf /etc/apache2/conf-available/security.conf.org
$ sudo cp -pi /etc/apache2/sites-available/000-default.conf /e
tc/apache2/sites-available/000-default.conf.org
apache2.confの編集
##70行目付近に追加
ServerName hogehoge.cloudapp.net
security.confの編集
##以下に変更
ServerTokens Prod
ServerSignature Off
初期値では、ApacheのバージョンやOS、PHPのバージョンなど、サーバについての詳しい情報を表示するようになっているので、ServerTokens Prod 又は、ServerTokens ProductOnly に設定します。
ServerSignature については、デフォルトで off になっていると思います。
デフォルトホストの設定
##</VirtualHost>の直前付近に以下を追加
<Directory /var/www/html/>
Options Indexes FollowSymLinks ExecCGI
AllowOverride all
Order allow,deny
allow from all
</Directory>
設定ファイル書式エラーのチェック
Syntax OK
mod_rewriteを有効にする
Apacheの再起動
apache2.confの ServerName に記載したURLへアクセスして、
「Apache2 Ubuntu Default Page」が表示されることを確認。
PHP(php.ini)の設定
WordPressなどのCMSを利用する際に文字化けが起きないように設定していきます。
オリジナルファイルのバックアップ
php.ini の編集
##下記のように変更
default_charset = “UTF-8”
mbstring.language = Japanese
mbstring.internal_encoding = UTF-8
mbstring.http_input = pass
mbstring.http_output = pass
mbstring.encoding_translation = On
mbstring.substitute_character = “?”
mbstring.func_overload = 0
Apache再起動
タグ
2014年12月20日 | コメントは受け付けていません。 | トラックバックURL |
NTPサーバーのインストールと設定(Ubuntu14)
NTPサーバーを構築して、サーバーのシステム時刻を外部のNTPサーバーと自動的に同期させます。
インストールされているNTP関連パッケージの確認
ii ntpdate 1:4.2.6.p5+dfsg-3ubuntu2 amd64 client for setting system time from NTP servers
ntpdは入っていないようなので、インストールしていきます。
ntpサーバのインストール
NTPインストール
インストールされたパッケージの確認
ii ntp 1:4.2.6.p5+dfsg-3ubuntu2 amd64 Network Time Protocol daemon and utility programs
ii ntpdate 1:4.2.6.p5+dfsg-3ubuntu2 amd64 client for setting system time from NTP servers
ntpの設定
オリジナルファイルのバックアップ
ntp.confの編集
デフォルトのNTPサーバーをコメントアウトして、日本の公開NTPサーバーを追加します。
# 19行目付近からコメントアウト
#server 0.ubuntu.pool.ntp.org
#server 1.ubuntu.pool.ntp.org
#server 2.ubuntu.pool.ntp.org
#server 3.ubuntu.pool.ntp.org
# Use Ubuntu’s ntp server as a fallback.
#server ntp.ubuntu.com
代わりに以下を追加
server ntp1.jst.mfeed.ad.jp #インターネットマルチフィード(stratum2)
server ntp2.jst.mfeed.ad.jp
server ntp3.jst.mfeed.ad.jp
設定するNTPサーバーは、ホスティング業者提供のものでも、プロバイダのものでもOKです。特に無い場合は、公開NTPサーバから選択すると良いです。公開NTPサーバを探すときはこのあたりを参考に。
NTPサーバー起動
* Stopping NTP server ntpd [ OK ]
* Starting NTP server ntpd [ OK ]
NTP同期状況の確認
remote refid st t when poll reach delay offset jitter
==============================================================================
*ntp-b2.nict.go. .NICT. 1 u 30 64 377 10.038 -3.267 3.808
+ntp1.jst.mfeed. 172.29.1.100 2 u 24 64 377 11.476 -3.196 3.568
+ntp2.jst.mfeed. 172.29.2.50 2 u 29 64 377 11.505 -3.121 3.513
-ntp3.jst.mfeed. 172.16.177.60 2 u 33 64 377 11.602 -10.862 6.186
1カラム目が “+” になっていれば同期は完了です。※10分ぐらいかかります。
ntpqの詳しい説明はここを参照
ランレベル(自動起動)の確認(デフォルトON)
ntp 1:off 2:on 3:on 4:on 5:on
タグ
2014年12月20日 | コメントは受け付けていません。 | トラックバックURL |
システム時刻をUTC/JSTに変更する(Ubuntu14)
デフォルトのシステム時刻はインストール時に設定した値や地域が適用されますが、後で変えたい場合の変更手順についてのまとめてみました。
ファイル構成
- /etc/localtime
- /etc/default/rcS
hwclock や date などのコマンドは、/etc/localtime に設定された情報を見て、設定されているタイムゾーンに合わせて変換しています。
ハードウェアクロックが UTCなのかローカルタイムなのかの設定をします。
現在の設定状況を確認
TZif2UTCTZif2UTC
UTC0
現在は、UTCを使用する設定になっています。
タイムゾーン(地域)の変更
UTCやJSTなど地域時刻を変更したい場合は、/etc/localtimeを直接編集せずに、/usr/share/zoneinfo/内のファイルをコピーして変更します。
- JST(日本標準時)にしたい場合は、/usr/share/zoneinfo/Japan をコピーする
- UTC(世界協定時)にしたい場合は、/usr/share/zoneinfo/UTC をコピーする
今回は、JST(日本標準時)を設定したいので、/usr/share/zoneinfo/Japan をコピーします。
ハードウェアクロックの変更
ハードウェアクロックが UTCを使っているのか、ローカルタイムなのかを設定をします。
サーバーがLinuxのみの環境であれば、UTCを選択しておくのが無難かと思います。Windowsが含まれる環境であれば、時刻合わせのためにローカルタイムを設定しておくと良いと思います。
/etc/default/rcS の環境変数、UTC=yes にするとUTCを利用、UTC=no とするとローカルタイムを使用します。
UTC=no
ハードウェアが共有のVPSやクラウドVPSなどで、システム再起動後に時間がずれてしまう場合には、HWCLOCKACCESS=no に設定することで、ホストOSとゲストOSの時刻同期を解除することができます。
UTC=no
HWCLOCKACCESS=no
手動でシステム時刻とハードウェアクロックを合わせる
システム時刻の手動同期
16 Dec 17:48:21 ntpdate[18464]: step time server 133.243.238.243 offset -1.371173 sec
現在のシステム時刻からハードウェアクロックを設定する
システムの再起動
タグ
2014年12月18日 | コメントは受け付けていません。 | トラックバックURL |