Contao 2.9.0への更新メモ

本サイトをTYPOlight 2.8.4からContao 2.9.0に更新したときの作業メモです。

  • pkgsrcをベースにした移行
  • TYPOlight 2.8.4のサイトを残しつつ、TYPOlight 2.8.4からContao 2.9.0に更新したサイトを構築

といったことをしているので、必ずしも一般的なケースとは言えません。

1. 外部からのWebアクセスを制限

作業中の中途半端な状態を見せないため、IP Filterの設定を変更して外部からアクセスできないようにしました。

2. Apacheを停止

MySQLへのアクセスを完全に停止するため、Apacheを停止しました。

# sh /etc/rc.d/apache stop

3. MySQLのデータベースをバックアップ

念のためですが、MySQLのデータベースtypolight28をバックアップしました。

# cd /data/mysql-backup
# cp /dev/null typolight28.dump
# chmod 600 typolight28.dump
# mysqldump -u root -p typolight28 > typolight28.dump
Password: ...
#

4. Contao用にデータベースを作成

TYPOlightによるサイトも残す関係もあり、今回はContao用に新しくデータベースcontao29を作成しました。

 # mysql -u root -p
mysql> create database contao29;
...

5. データベースのユーザーを作成

新規にインストールするときと同じですが、データベースのユーザー、ここではcontaoを作成しました。

mysql> connect contao29;
...
mysql> grant select, insert, update, delete, create, drop,index, alter, create temporary tables, lock tables on contao29.* to 'contao'@'localhost' identified by 'password';
...
mysql> flush privileges;
...
mysql> exit
Bye
#

6. バックアップを新データベースに読み込み

3.でバックアップしたデータベースを作成したデータベースに読み込みます。

# mysql -u contao -p < typolight28.dump
Password: ...

7. パッケージの削除

一旦pkgsrcのパッケージ、typolight28-2.8.4とtypolight28-translations-20100606を削除します。

pkgsrcではパッケージのインストール後に追加されたり、変更されたフィルは削除されずに残ります。実際には、Contaoではログや設定ファイル以外はオリジナルのファイルが変更されることはないので、追加されたファイル、設定ファイルやログファイルだけが残ることになります。

# pkg-delete typolight28-translations-20100606
# pkg_delete typolight28

8. 残ったファイルをコピー

残ったファイルをContaoのインストールされるディレクトリにコピーしてしまいます。

# mkdir /usr/pkg/share/contao29
# cd /usr/pkg/share/contao29
# (cd /usr/pkg/share/typolight28; tar -c -f - .) | tar -x -p -f -

9. localconfig.phpを編集

コピーしたContao用の設定ファイル、/usr/pkg/share/contao29/system/config/localconfig.php を編集します。データベース名、データベースのユーザー名とパスワードで、以下の変数の設定値となります。

$GLOBALS['TL_CONFIG']['dbUser'] = 'contao';
$GLOBALS['TL_CONFIG']['dbPass'] = 'password';
$GLOBALS['TL_CONFIG']['dbDatabase'] = 'contao29';

10. パッケージの追加

一旦削除したTYPOlightのパッケージを含め、以下のパッケージを追加します。

  • typolight28-2.8.4
  • typolight28-translations-20100606
  • contao29-2.9.0
  • contao29-translations-20100706

11. Apacheの起動

Apacheを起動します。

# sh /etc/rc.d/apache start

12. Contaoのインストールツールを実行

Contaoのインストールツールを実行して、TYPOlight 2.8.4からのアップデートを行います。

13. 動作の確認など

一通りの動作の確認等を行います。Contaoでテーマの機能等が導入されましたが、Google Analyticsを使用していない限り、特に何か必要な作業はありませんでした。

Contaoでは、TYPOlightではバックエンドのレイアウトのカテゴリに個別に存在したスタイルシート、(フロントエンド)モジュール、ページレイアウトは、特定のテーマの中に存在するようになりました。TYPOlightから移行した場合、バックエンドのにある、ウェブサイトの題名を名前としたテーマが作成されて、そこに既存のスタイルシート、フロントエンドモジュール、ページレイアウトは移ります。

14. サイトの再開

最初にIP Filterで止めていた外部からのサイトのアクセスを再開しました。

本来は、クライアントのIPアドレスで、保守中と表示するHTMLを返すようにApacheの方で頑張る設定をすべき所でしょう。