TYPO3

オープンソースソフトウェアWebコンテンツ管理システム(CMS) TYPO3について

★インストール方法

★基本設定

★TypoScript

★拡張機能 エクステンション について

★ドキュメント、マニュアル

■その他 - - - TYPO3の歴史: 欧州で使われているオープンソースソフトウェアCMSシステムで、特にドイツを中心としたドイツ語圏で広く使われております。

企業向けとしての位置づけで、自治体、公的機関をはじめ、広く使われており、比較的にドイツ語での文献、参考書籍などが多く見受けられます。

開発元組織のホームページ www.typo3.org

TYPO3のシステム環境:

PHP、MySQL (PostgreSQLはTYPO3 4.4.5ではインストール時に選択可能でした、動作未確認です)、を中心としたオープンソースソフトウェア

Configuration

TYPO3インストール後の、サイト管理者(アドミニストレータなど)による各種環境設定について

★TypoScriptでのHTMLタグ設定

■その他

Document

各種技術ドキュメント、マニュアルなど
 
★コア
★チュートリアル
★インストール
★エクステンション
・tt_news マニュアル(日本語への翻訳途中版ですがPDFファイルのダウンロード クリック
★その他

Extension Module

TYPO3の各種機能を拡張するエクステンションについて

★tt_news News記事、プレスリリースなどを表示、管理

★realURL  ユーザーフレンドリーやURLを表示

★ macina_searchbox

環境: macina_searchbox v2.2.0 エクステンションカテゴリ plugin TYPO3 v4.2.3
macina_searchboxのインストールは、indexed_searchエクステンションがインストールされた状態で、エクステンションマネージャーでインストールするだけです。

★ kj_imagelightbox2

インストール環境 :  TYPO3 Version 4.2.6    kj_imagelightbox2 version 2.2.0.2
インストールマネージャーでインストールし、付属のsetup.txt content.txt をそのままコピーして、保存、実行するだけで動作しました。

■その他

Indexed_search

環境: indexed_search v2.11.0 TYPO3 v.4.2.3
Indexed_searchエクステンションは、TYPO3のコアに含まれているので、エクステンションマネージャーでインストールします。標準デフォルト設定で、一般的にはOKです。

 

realURL

realURLクスステンションについて

 

1)インストール

 

2)設定

 

3)Tips

3-1 URLパス名の拡張子付き、なしの場合

環境: realURL version 1.5.3 TYPO3 4.4.0

URL表示で拡張子なし たとえば www.gennai3.co.jp/techinfo/  のようにする場は、realurl_conf.php ファイルの中で、下記の設定、0にします。 1にすると拡張子付き /techinfo.html のようになります。

'fileName' => array (
/* 'defaultToHTMLsuffixOnPrev' => 0, */
'defaultToHTMLsuffixOnPrev' => 1,
'index' => array(
'page.html' => array(
'keyValues' => array (
'type' => 1,
),
),
),
),
 

3-2 realURLの設定内容をバックエンドで確認する方法

realURLの現在の設定を確認する方法として、バックエンドで簡単に見
れます。

バックエンド > 左機能モジュール > WEB > 情報 > 右メ
ニューで、いちばん上のプルダウンメニューで Speaking Url
Management を選択 > 下のプルダウンメニューで Configuration
を選択

現在の設定が表示されます。

 

 

tt_news

Extension名:  tt_news ニュースのデータを管理するエクステンションです。

 
 
簡易インストール記録:
 
Install 手順
環境: TYPO3 4.4.1 Winstaller (Windows版)  tt_news 3.0.1 実施日 2010年9月23日
 

1) tt_newsエクステンションのインストール

 
エクステンションマネージャーからエクステンションをインストールします。もし、既存のtt_newsエクステンションがある場合は、エクステ ションを-マーク設定にして削除モードにします。さらに, typo3conf/ext/tt_newsエクステンションのディレクトリを削除しま す。  また、バックエンドで左機能メニューにNews Adminが表示されていれば、それをクリックして、登録されているニュースカテゴリやニュース記事を削除します。ここのデータは、新しくtt_news を上書きインストールした場合、継続して使用できますが、念のために初期状態へ戻す場合は削除して下さい。 インストール時に、ワーニングができますが、そのまま継続して下さい。 Use "General record strorage page" はチェックします。使用します。
 

2) tt_newsのページ、システムフォルダーを作成

 
tt_newsは、ニュースを表示するページ(見出し的なニュース)とその詳細記事ページ(このページはメニューは非表示で設定します)、および ニュース記事とニュースカテゴリを保存するシステムフォルダーで構成されます。  NEWS TOPページ   ---- news詳細を表示するページ(メニューでは非表示に設定)  NEWSシステムフォルダー(カテゴリ、記事を保存)
 

3)News表示ページの作成

 
ページツリーの中でニュース表示ページを作成するか、既存のページを使います。そのページが使用しているデザインテンプレートのテンプレート、Info/Modfyの Edit the whole Template record をクリックして、インクルードタブで、News CSS-styles(tt_news)、News settings(tt_news)、News feeds(RSS,RDF,ATOM()tt_news)を選択します。

 

4) News詳細ページの作成

 
ニュース表示ページの下に、新規ページを作成し、メニューでは表示し ない設定にします。
 

5) News用システムフォルダーの作成

 
News詳細ページの下、もしくは他の場所でもOKですが、システムフォルダーを作成し、オプションタグで利用するプラグインのプルダウンメニューにてニュースを選択します。
 

6) News カテゴリの作成

 
上記のNews用システムフォルダーをページツリーでクリックして、コンテンツ新規作成を選択します。 NewsのところでNewsカテゴリを選 択し、カテゴリを作成します。
 

7) News表示ページにニュースコンテンツを作成

 
プラグインを挿入のコンテンツを作成し、プラグインのタグで プラグインのプルダウンメニューからNewsを選択します。プラグインのタグで、 General Seetingsのタグから、 What to display: で LATESTを選択します。 カテゴリも選択して下さい。 Other SettingsでPage(s) with tt_news recordsにNewsのシステムフォルダーが選択されていることが前提になります。 TemplateのタグはそのままでもOKですが、テンプレートを変更する場合などは、そのタグの上部にあるTemplate file referenceに設定して下さい。 たとえば、 fileadmin\template\tt_news\tt_news_v3_template.html のようなPATHになります。 tt_news標準のテンプレートは tt_news_v3_template.htmlですので、typo3conf\ext\tt_news\res\tt_news_v3_template.html からコピーして fileadmin以下のディレクトリに保存して編集加工します。 Category Settingsのタグはそのままです。 Other Settingsのタグで、 PageId for single news display: には NEws詳細ページを選択します。 Page(s) with tt_news records は Newsのシステムフォルダーを選択します。 その他は、そのままでOKです。
 

8) News詳細ページにNewsコンテンツを作成します。

 
プラグインでNewsを選択し、 General Settingsのタグでは、What to display: で SINGLEを選択します。 カテゴリも選択します。 Templateのタグは自分のテンプレートを使用する場合、設定します。Category SettingsのタブはそのままでOKです。 Other Settingsのタグは、PageId for single news display: にNews 表示ページを選択します。 PageId to return to: にNews表示ページを選択するとNews詳細ページから戻るページが、News表示ページになります。 Page(s) with tt_news records はNewsのシステムフォルダを 選択します。
 

9) News記事の作成

 
ページツリーでNewsシステムフォルダーを選択し、コンテンツを新規作成します。 Newsのアイコンをクリックして記事を作成します。 タイトル、サブヘッダー、テキスト(本文)に記事を作成し、Categoriesのタブでカテゴリを選択します。
 

10) スクリプトの設定

 
tt_newsエクステンションに付属しているスクリプトは設定しなくても動作はしますが、詳細設定のために、以下のようにファイルを読み込む設 定にします。スクリプトが長いために読み込みにしました。 スク リプトはtt_newsエクステンションのディレクトリの中に入っております。 セットアップでの設定 # ext tt_news setup コンスタンツでの設定 # ext tt_news CONSTANTS #
 

11) realURLの場合

 
URLを書き換える場合、tt_newsの専用PHPスクリプトをrelaurl_conf.phpに設定する必要があります。もし、この設定がまだの場合は、tt_newsの typo3conf\ext\tt_news\res\realUrl_example_setup.txt というテキストファイルに記入され ているPHPスクリプトを追加修正します。 realURLでtt_newsの設定がしていないと、トップページのニュースは表示されますが、アーカイブを参照したりするときに、URLが間 違っており、見つからない時があります。
 
※tt_newsの英文マニュアルをほんの少し翻訳したPDFファイルをダウンロードするには クリック

Install

○ TYPO3のインストール全般について

 

△ Linuxシステム

 

CentOSシステム へのソースプログラムからインストールについて

 

○ TYPO3環境のバックアップ、リストアについて

△ Linuxシステム

バックアップとリストア(MySQL、TYPO3のソースとダミーディレクトリ)

 

△ バージョンアップ   詳細は、バージョンアップのページへ

・TYPO3 version 4.1.xx -> 4.2

・TYPO3 version 4.2.xx -> 4.3

 

・TYPO3 version 4.3.xx -> 4.4

・TYPO3 version 4.4.xx -> 4.5

 

△ インストール後の問題など。

・バックエンドにログインできない

環境: TYPO3 v4.4.5  MySQL 5.1 PHP 5.3.4

FireFoxでログインできなくなった場合は、ブラウザの履歴をクリアすることでログインできることがあります。

 

Backup&Restore

○ バックアップとリストアについて

バックアップとリストアについては、いくつかの方法がありますが、ひとつの例を説明します。

参考にしたURL: https://weblabo.oscasierra.net/mysql-mysqldump-01/

 

MySQLデータのバックアップ

mysqldumpコマンドでsqlファイルへダンプする場合

 # mysqldump -l データベース名 > /root/file/location/ファイル名.sql  -u user -p

Passwordを入力するかどうか確認してきますので、パスワードを入力します。

もしくは mysqldump -u  ユーザー -Pパスワード名  DB名 >  ファイル名.sql  でもOKです。

圧縮ファイルの場合:

 # mysqldump -u ユーザ名 -p パスワード  DB名  | gzip >  DB名.sql.gz

外部のサーバー環境からの場合:

 mysqldump -uユーザ -h データベースホスト -p DB名 > エクスポートファイル.sql

全てのデータベースのバックアップ

 mysqldump -u root -p --all-databases > ~/backup.sql

 インスタンスのバックアップもします。cp -r /etc/mysql ~/

 

TYPO3ディレクトリのバックアップ

tar cvof backup.tar.gz ./ダミーディレクトリ

 

MySQLデータのリストア

TYPO3のダンプデータ(SQL)ファイルのインポート

# mysql データベース名 < ./xxxxx.sql -u ユーザー名 --password=パスワード

パスワードを手動入力でコマンドを実行します。 もしくは

# mysql データベース名 < ./xxxxx.sql -u ユーザー名 --password

# mysql -u  ユーザー名 -pパスワード  DB名 < ファイル名.sql

もし、新しいサイトへ移行するためにデータベースをインポートする場合は、念のために、事前に同じデータベース名でデータベースを新規作成し、空のデータベースの状態で、リスト用データをインポートした方が良いと思います。

圧縮ファイルの場合:

 # zcat インポートファイル.sql.gz | mysql -uユーザ名 -pパスワード DB名

 sudoの場合 sudo zcat インポートファイル.sql.gz | sudo mysql -uユーザ名 -pパスワード DB名

全てのデータベースをリストアする場合

 mysql -u root -p < /tmp/ダンプファイル名.dump

 

TYPO3ディレクトリのリストア 

TYPO3のバックアップディレクトリのデータを上書き保存する、その後、再設定。

# tar xvzf xxxx.tar.gz ./

 

例えば、ダミーディレクトリでのパーミッション設定

# chgrp -R <wwwserver> fileadmin typo3conf typo3temp uploads media

# chmod -R g+w,o-rwx fileadmin typo3conf typo3temp uploads media

 

念のために、テンポラリーファイルを削除します。 typo3conf/temp_CACHED_*

ファイルを削除します。 バックアップした時のテンポラリーファイルですので、削除するほうが好ましいです。

 

オープンソースソフトウェア: 

Version UP

△ バージョンアップ

■TYPO3 version 4.1.xx -> 4.2

Version4.2 からPHP5.2が必要となります

バージョン4.2のソースプログラムを解凍し、ダミーのディレクトリで、バージョン4.1へシンボリックリンクされていたリンク先をversion4.2へ変更します。

TYPO3 v4.1.15 -> v4.2.16の場合:

TYPO3 v4.1.15 -> v4.2.16 へのアップグレードは、v4.2.16のソースプログラムを解凍し、v4.1.15のダミーディレクトリに設定してるシンボリックリンクをv4.2.16へ変更します。

その後、インストールツールのアップデートウィザードを使用します。
2:Database Analyzerのセクションで「Compare」を実行し、 "everything OK" が表示されるまで確認します。

その後、9:Edit files in typo3cong/ でtemp_CACHED*-ファイルを削除し、キャッシュをクリアします。もし、バックエンドで表示や動作で不安定な場合は、Compareを再度、実行しますが、そのとき、内容を確認してください。

 

■TYPO3 version 4.2.xx -> 4.3

version4.2 -> 4.3 へはPHP5.2が必要です。

TYPO3 v4.2.16 -> v4.3.9 へのアップグレードは、v4.3.9のソースプログラムを解凍し、v4.2.16のダミーディレクトリに設定してるシンボリックリンクをv4.3.9へ変更します。

まず、インストールしているエクステンションを一時的にOFF(エクステンションマネージャーでマイナスのアイコン状態)にしたほうが好ましいようです。

その後、インストールツールのアップデートウィザードを使用します。  installNewSystemExtensionsの項目は、必要な、このバージョンからの新しいエクステンションを選ぶことができます。

2:Database Analyzerのセクションで「Compare」を実行し、"everything OK" が表示されるまで確認します。
その後、9:Edit files in typo3cong/ でtemp_CACHED*-ファイルを削除し、キャッシュをクリアします。

 

 

 

■TYPO3 version 4.3.xx -> 4.4

 

 

■TYPO3 version 4.4.xx -> 4.5

 

 

 

 

 

 

src_centos

△Linuxシステムへのソースプログラムからインストール

環境:
OS CentOS 5.5 PHP 5.3.4(repo-remi) MySQL(repo-remi) 5.1.54 Apache 2.2.3
TYPO3 v4.4.5 ソースプログラム と ダミーパッケージは introductionpackage-4.4.5.zip を使います。現在、introductionpackageはWindows環境がメインのようです。Linuxなどのソースプログラムとは違う構成で、下記の内容は、現在確認中です。詳細は、お問い合わせ下さい。

ApacheのDoucmentRootで、ソースプログラム typo3_src-4.4.5.tar.gz. を解凍します。

# tar xvzf ./typo3_src-4.4.5.tar.gz

その後、ダミーパッケージを解凍するディレクトリ(例えば、cms)を作成(mkdir)し、そこに解凍します。

# unzip ./introductionpackage-4.4.5.zip

その解凍後のディレクトリにある INSTALL.txt (英文) を参照して下さい。シンボリックリンクの作成、ディレクトリのパーミッション設定が記載されております。例えば、

Linux、Unix、Mac OS X の場合:
create a symbolic link named typo3_src pointing to the source package:
 ln -s /var/www/typo3_src-4.3.0 /var/www/example.com/typo3_src
 もしくはダミーディレクトリーにて:
 # ln -s ../typo3_src-4.4.5 ./typo3_src

Windows Vista、Windows 7 の場合:
create a symbolic link named typo3_src pointing to the source package:
 mklink /D C:\
\typo3_src-4.3.0 C:\
\example.com\typo3_src

Windows XP/2000 の場合:
use the "junction" program by Marc Russinovich to create links. The program can be obtained at: http://technet.microsoft.com/en-us/sysinternals/bb896768.aspx

create links for the typo3/ and t3lib/ directories:
cd /var/www/example.com
 ln -s typo3_src/t3lib
 ln -s typo3_src/typo3
 もしくは、ダミーディレクトリにて

Linux、Unix、Mac OS X の場合:
users also create a symbolic link to index.php
 ln -s typo3_src/index.php

Windows users must copy index.php from the source directory to the web site
root directory because Windows does not support links for files.

パーミッションの設定:
Change permissions and ownership of the directories. This usually requires the
"sudo" command. Assuming that the web server user is in the group named
"apache", execute the following commands in the web site root directory:
 sudo chgrp -R apache fileadmin typo3temp typo3conf uploads
 sudo chmod -R g+rwX,o-w fileadmin typo3temp typo3conf uploads

★introductionpachageをLinuxへインストールした場合のダミーでのサンプル

-rw-r--r-- 1 root root 5587 12月 17 07:20 .htaccess
-rw-r--r-- 1 root root 657217 12月 16 23:11 ChangeLog
-rw-r--r-- 1 root root 18007 12月 16 23:11 GPL.txt
-rw-r--r-- 1 root root 8155 12月 16 23:11 INSTALL.txt
-rw-r--r-- 1 root root 849 12月 16 23:11 LICENSE.txt
-rw-r--r-- 1 root root 15375 12月 16 23:11 NEWS.txt
-rw-r--r-- 1 root root 7695 12月 16 23:11 README.txt
-rw-r--r-- 1 root root 241 12月 16 23:11 RELEASE_NOTES.txt
-rw-r--r-- 1 root root 5587 12月 16 23:11 _.htaccess
-rw-r--r-- 1 root root 46 12月 16 23:11 clear.gif
drwxrwxr-x 4 root apache 4096 12月 16 23:11 fileadmin
-rw-r--r-- 1 root root 2980 12月 16 23:11 index.php
-rw-r--r-- 1 root root 39693866 12月 20 02:32 introductionpackage-4.4.5.zip
drwxr-xr-x 2 root root 4096 12月 16 23:11 misc
drwxr-xr-x 15 root root 4096 12月 20 03:11 t3lib
drwxr-xr-x 13 root root 4096 12月 20 03:00 typo3
lrwxrwxrwx 1 root root 18 12月 20 03:05 typo3_src -> ../typo3_src-4.4.5
drwxrwxr-x 4 root apache 4096 12月 17 07:20 typo3conf
drwxrwxr-x 2 root apache 4096 12月 16 23:11 typo3temp
drwxrwxr-x 5 root apache 4096 12月 16 23:11 uploads

★Linuxの場合、サンプルとして TYPO3 4.2.6 のダミーでは

-rw-r--r-- 1 root root 7087 2月 10 2009 INSTALL.txt
-rw-r--r-- 1 root root 7695 2月 10 2009 README.txt
-rw-r--r-- 1 root root 425 2月 10 2009 RELEASE_NOTES.txt
-rw-r--r-- 1 root root 5051 2月 10 2009 _.htaccess
-rw-r--r-- 1 root root 46 2月 10 2009 clear.gif
drwxrwx--- 4 root apache 4096 12月 18 01:54 fileadmin
lrwxrwxrwx 1 root root 19 6月 26 2009 index.php -> typo3_src/index.php
lrwxrwxrwx 1 root root 15 6月 26 2009 t3lib -> typo3_src/t3lib
lrwxrwxrwx 1 root root 15 6月 26 2009 typo3 -> typo3_src/typo3
lrwxrwxrwx 1 root root 18 6月 26 2009 typo3_src -> ../typo3_src-4.2.6
drwxrwx--- 4 root apache 4096 12月 18 01:54 typo3conf
drwxrwx--- 8 root apache 4096 12月 18 01:54 typo3temp
drwxrwx--- 5 root apache 4096 12月 18 01:54 uploads

△ブラウザーからインストールウィザードを起動

※この動作は、TYPO3をインストールしたサーバーのブラウザーではなく、クライアント環境から行うことを推奨します。ブラウザーから実行した場合、バックエンドにログイン出来ない現象がありましたので。

http://______/cms/ と入力するとそのページにインストールウィザードが表示されます。

1. データベースのドライバー設定、ユーザー名、パスワード、ホスト名

2. データベースの作成、既存の選択など

3. introduction のデータベースか、空のデータベースか選択

4. データベースのインストール後、パスワードとイントロダクションパックのカラー選択

以上で、自動的にイントロダクションサイトが表示されます。インストールするには、以下のユーザー名が可能ですが、サイト管理画面からパスワードを確認設定します。
 admin
 advanced_editor
 simple_editor
 news_editor

サイト管理画面は、 .../cms/typo3/install で管理画面に移行しますが、セキュリティ警告が出ます。 ダミーディレクトリの typo3conf/ に空のファイルを作成し、
 # touch ENABLE_INSTALL_TOOL
再度。.../cms/typo3/install で管理画面からログインします。パスワードはインストール時に設定したパスワードです。

その後、All Configuration を選択し

目的に応じて変更できます。CentOS 5.5 の場合

[GFX][im_path] = /usr/X11R6/bin/ -> /usr/bin/
[GFX][im_combine_filename] = combine -> composite

共通
[multiplyDBfieldSize] 1 -> 3 に変更
[serverTimeZone] 1 -> 9 に変更
[phpTimeZone] Asia/Tokyo
http://www.php.net/manual/en/timezones.asia.php から選択
[UTF8filesystem] no check -> check on
[TTFLocaleConv] -> utf-8
[forceCharset] -> utf-8
[interfaces] = backend -> ,backend,frontend
など

最後に最下部の Writing to 'localconf.php' をクリック

新規にアドミン権限でのログインユーザーとパスワードを設定します。
Database Analyser: を選択します。最下部の Create admin user をクリックします。

新しいユーザー名とパスワードを作成し、その名前で ..../cms/ でユーザーログインします。

TypoScript

TYPO3の各種設定をする場合に必要となる、スクリプト言語、TypoScriptについて。

TypoScriptは、PHP言語によりできており、TYPO3のコア部分を含めてPHP言語との親和性が高くなっております。

さまざまTYPO3上の設定は、非常にパワフルで、拡張性がある仕様です。

本格的に勉強する場合は、開発元組織のサイトもしくは英語の解説本がP「Mastering TypoScript / TYPO3 Website, Template, and Extension Development 」 著者 Daniel Koch 出版社 PACKT Publishing ISBN 1-904811-97-3 を参考にして下さい。

デザインテンプレート

MENUのTypoScriptについて

TMENU(テキストメニュー)

メニューの開始ポイントを設定

special プロパティを使って

1)テキストメニューのサンプル

temp.mainTemplate = TEMPLATE

temp.mainTemplate {

template = FILE

template.file = fileadmin/_temp_/hello.htm

}

page = PAGE

page.typeNum = 0

page.stylesheet = fileadmin/_temp_/css/css.css

page.10 < temp.mainTemplate

page.10.workOnSubpart = BODY_CONTENT

page.10.marks.MENU = HMENU

page.10.marks.MENU.special = directory

page.10.marks.MENU.special.value = 1

page.10.marks.MENU.1 = TMENU

page.10.marks.MENU.1.NO {

before = 

after =   | |*|   | |*| 

}

2) テンプレートHTML  hello.htm

Working on menus

###MENU###

GMENU_LAYERのサンプル (3階層の場合)

# Default PAGE object:
page = PAGE
#page.10 = HTML
page.typeNum = 0

### MENU
page.includeLibs.gmenu_layers = media/scripts/gmenu_layers.php
page.10 = HMENU
page.10.1 = GMENU_LAYERS
page.10.1 {
layerStyle = position:absolute;left:0px;top:30px;width:10px;VISIBILITY:hidden;
xPosOffset =-10
lockPosition = x
expAll=1
NO {
backColor = #cccccc
XY = [10.w]+10, 14
10 = TEXT
10.text.field = title
10.offset = 5,10
}
}
page.10.2 = GMENU
page.10.2.wrap = |
page.10.2.NO {
backColor = #99cccc
XY = 120, 14
10 = TEXT
10.text.field = title
10.offset = 5,10
}

page.10.3 = GMENU
page.10.3.wrap = |
page.10.3.NO {
backColor = #FFF8EC
XY = 120, 18
10 = TEXT
10.text.field = title
10.offset = 15,10
}


extensionの起動順番

インストールツールでエクステンションの順番を変更
typo3conf/ を編集   typo3conf/localconf.php

$TYPO3_CONF_VARS['EXT']['extList'] = "...";