Apache基本設定、PHP設定(Ubuntu14)

Apache基本設定、PHP設定(Ubuntu14)

Apacheのインストールと基本設定、PHPの設定

Apache、php5のインストールと、デフォルトホストの設定を行います。

今回は、MicroSoft Azure のホスト名、hogehoge.cloudapp.net をデフォルトホストに、
独自ドメイン server.plus.net をバーチャルホストとして設定してみます。

apache2、php5パッケージのインストール

Apache2インストール

$ sudo aptitude install 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コマンドを使用します。

$ sudo apt-get install apache2

aptitudeでのインストール結果

$ dpkg -l|grep apache
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用のモジュールも一緒に追加しておきます。

$ sudo aptitude install php5 php5-mysql php-pear php5-gd
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/?]
$ dpkg -l|grep php
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の設定ファイルは下記のように分散しています。

$ ls -l /etc/apache2/
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
  • Apacheの基本設定や各ホストの共通設定を記述。

  • ports.conf
  • 待ち受けポートの指定やIPベースで設定する場合に記述。今回はデフォルトのまま。

  • conf-available
  • 追加の設定ファイルを置くディレクトリ。a2enconf / a2disconf で有効 / 無効にします。

  • conf-enabled
  • 有効になっている設定ファイルです。中身は conf-available 内のファイルへのシンボリックリンク。

  • mods-available
  • インストールされたモジュールが格納されているディレクトリ。

  • mods-enabled
  • 有効になっているモジュール。a2enmod / a2dismod で有効 / 無効に。

  • sites-available
  • バーチャルホストの設定ファイルを格納します。ホスト毎にファイルを分けて記述します。

  • sites-enabled
  • 他と同じく、設定ファイルへのシンボリックリンクが入っています。a2ensite / a2dissite で有効 / 無効に。

オリジナルファイルのバックアップ

$ sudo cp -pi /etc/apache2/apache2.conf /etc/apache2/apache2.conf.org
$ 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の編集

$ sudo vi /etc/apache2/apache2.conf
##70行目付近に追加
ServerName hogehoge.cloudapp.net

security.confの編集

$ sudo vi /etc/apache2/conf-available/security.conf
##以下に変更
ServerTokens Prod
ServerSignature Off

初期値では、ApacheのバージョンやOS、PHPのバージョンなど、サーバについての詳しい情報を表示するようになっているので、ServerTokens Prod 又は、ServerTokens ProductOnly に設定します。
ServerSignature については、デフォルトで off になっていると思います。

デフォルトホストの設定

$ sudo vi /etc/apache2/sites-available/000-default.conf
##</VirtualHost>の直前付近に以下を追加
<Directory /var/www/html/>
Options Indexes FollowSymLinks ExecCGI
AllowOverride all
Order allow,deny
allow from all
</Directory>

設定ファイル書式エラーのチェック

$ sudo /usr/sbin/apache2ctl configtest
Syntax OK

mod_rewriteを有効にする

$ sudo a2enmod rewrite

Apacheの再起動

$ sudo /etc/init.d/apache2 restart

apache2.confの ServerName に記載したURLへアクセスして、
「Apache2 Ubuntu Default Page」が表示されることを確認。

PHP(php.ini)の設定

WordPressなどのCMSを利用する際に文字化けが起きないように設定していきます。

オリジナルファイルのバックアップ

$ sudo cp -pi /etc/php5/apache2/php.ini /etc/php5/apache2/php.ini.org

php.ini の編集

$ sudo vi /etc/php5/apache2/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再起動

$ sudo /etc/init.d/apache2 restart

タグ

2014年12月20日 | コメントは受け付けていません。 | トラックバックURL |

カテゴリー:Ubuntu サーバ構築

トラックバック&コメント

コメントは受け付けていません。