Ubuntu Server 12.04を14.04にアップグレードした際のメモ。
※VirtualBoxで何度か試した結果のまとめ。
##アップグレード前の準備
###SSH用にポート1022を開けておく
アップグレード中にトラブルがあってSSHが切断したときのために、アップグレード中は代わりのポートを自動的に用意してくれるので、あらかじめファイアーウォールの設定を変えておく。
sudo ufw allow 1022
何も起こらなければ使わない。
###Apacheのsiteファイルに拡張子を付けておく
apache2.confの記述が IncludeOptional sites-enabled/*.conf
となっているので、拡張子.confが必須になった。
拡張子なしで運用してた場合は、アップグレード前にリネームしておく。
cd /etc/apache2/sites-available
sudo a2dissite example.com
sudo mv example.com example.com.conf
sudo a2ensite example.com.conf
sudo service apache2 reload
その他、設定ファイルのディレクトリ構成も変わっているが、自分の環境では特に影響なかった。
###ApacheのOptionsの書き方を確認する
Indexes
やFollowSymLinks
等の項目にプラス・マイナス記号を付けるときは、すべての項目に付けないとエラーが出るようになった。
例えばインデックス表示を禁止しようとして、Options -Indexes FollowSymLinks MultiViews
のように書くと、構文エラーとなって以下のメッセージが表示される。
Either all Options must start with + or -, or no Option may.
「+-を全てに付けるか、1つも付けないか、どちらかにしてください」ということなので、以下のように、どちらかの書き方に修正しておく。
Options -Indexes +FollowSymLinks +MultiViews
Options FollowSymLinks MultiViews
##アップグレード
do-release-upgrade -d
- 途中、php.iniを置き換えるか聞かれるので、デフォルトのまま現状維持(keep the local version currently installed)を選択。パッケージ標準の設定ファイルは
/etc/php5/apache2/php.ini.ucf-dist
に置かれる。 - 自分の環境では20分で完了。
##アップグレード後
アップグレード前に開けたポート1022を閉じる。
sudo ufw delete allow 1022
##Apache
バージョン:2.2.22 => 2.4.7
設定ファイルの構成が変わった。
-
/etc/apache2/sites-available
以下のファイルに拡張子.confが必要になった。 - defaultのDocumentRootが
/var/www
から/var/www/html
に変更。自動的に/var/wwww/html
が作成された。 - (よく分かってないが)index.htmlが勝手に
/var/www/html
に移動されてしまった。DocumentRootは/var/www
のままだったので、インデックスが丸見えに。index.htmlが初期状態から変更されている場合は勝手に移動されない模様(?) -
Upgrading to 2.4 from 2.2によると、アクセス制御の方法が変わって
Deny from all
等は非推奨になったようだが、mod_access_compatが有効になっているのですぐに修正しなくても大丈夫。アップグレードが無事に完了してから修正すればいい。
##MySQL
バージョン:5.5.37 => 5.5.37
変更なし?
##PHP
バージョン:5.3.10 => 5.5.9
- OPcacheが最初から有効になっている。APCを使っていた場合は更新後に動かなくなる。
php.iniの変更点
###削除された項目
register_globalsやmagic_quotes等、
元から推奨されてなかった設定なので影響なし。
y2k_compliance = On
allow_call_time_pass_reference = Off
safe_mode = Off
safe_mode_gid = Off
safe_mode_include_dir =
safe_mode_exec_dir =
safe_mode_allowed_env_vars = PHP_
safe_mode_protected_env_vars = LD_LIBRARY_PATH
register_globals = Off
register_long_arrays = Off
magic_quotes_gpc = Off
magic_quotes_runtime = Off
magic_quotes_sybase = Off
define_syslog_variables = Off
###コメントアウトされた項目
;session.entropy_length = 32
###設定が変更された項目
short_open_tag = Off
html_errors = On
error_reporting = E_ALL & ~E_DEPRECATED & ~E_STRICT // ~E_STRICTが追加
###追加された項目
PHP5.5.2で追加されたstrict sessions関連(参考)
cli_server.color = On
session.use_strict_mode = 0
###スペルミス修正
PHP5.5.2で修正されたみたい。(参考)
mssql.compatability_mode = Off
↓
mssql.compatibility_mode = Off