Schon seit Tagen nehme ich mir vor, auf einen weiteren Web-Server Typo3 zu installieren, heute musste es nun endlich sein. Mein Server ist ein debian-Lenny-System auf dem ich auch schon den Apache mit installiert habe. Das lenny-Typo3-Paket ist mir aber viel zu alt :

# apt-cache policy typo3
 typo3:
  Installiert: (keine)
  Kandidat: 4.2.5-1+lenny3
  Versions-Tabelle:
     4.2.5-1+lenny3 0
        900 http://security.debian.org lenny/updates/main Packages
     4.2.5-1+lenny2 0
        900 http://debian.uni-essen.de lenny/main Packages
        900 http://ftp2.de.debian.org lenny/main Packages
#

Also habe ich mir von der Download-Seite http://typo3.org/download/packages/ den Link zur aktuellen stable-Version heraus gesucht. Im Moment ist dass die Version 4.3.3:

# cd /tmp
# wget http://prdownloads.sourceforge.net/typo3/typo3_src-4.3.3.tar.gz?download
# mkdir /server/typo3 ; cd $_
# tar xzf /tmp/typo3_src-4.3.3.tar.gz
# ls -1
 typo3_src-4.3.3/
# ln -s typo3_src-4.3.3 typo3_src
# mkdir /server/typo3/htdocs ; cd $_
# ln -s ../typo3_src/typo3 .
# ln -s ../typo3_src/t3lib .
# ln -s ../typo3_src/index.php .
# mkdir typo3conf ;mkdir typo3temp ;mkdir uploads ;mkdir typo3/ext ;mkdir -p fileadmin/_temp_
# touch typo3conf/ENABLE_INSTALL_TOOL
# echo "<?php" > typo3conf/localconf.php
# echo "\$TYPO3_CONF_VARS['BE']['installToolPassword'] = 'bacb98acf97e0b6112b1d1b650b84971';" >> typo3conf/localconf.php
# chmod 0777 typo3temp
# chown -R www-data:www-data typo3conf typo3temp uploads fileadmin typo3/ext'

Wer den Server (wie ich) hinter einem Proxy-Server zu sitzen hat, braucht noch den entsprechenden Eintrag für die libcurl:

# echo "\$TYPO3_CONF_VARS['SYS']['curlUse'] = '1' " >> typo3conf/localconf.php
# echo "\$TYPO3_CONF_VARS['SYS']['curlProxyServer'] = 'http://proxy:3128/' " >> typo3conf/localconf.php

Nun müssen wir als nächstes den Apache konfigurieren. Nach der (normalen) debian-Installation sollte der Apache auch schon laufen:

# lsof -i :80
 COMMAND   PID     USER   FD   TYPE DEVICE SIZE NODE NAME
 apache2  3014     root    4u  IPv6   7423       TCP *:www (LISTEN)
 apache2 10497 www-data    4u  IPv6   7423       TCP *:www (LISTEN)
 ...
 apache2 10501 www-data    4u  IPv6   7423       TCP *:www (LISTEN)

Also brachen wir ’nur‘ noch die passende Konfiguration: vi /etc/apache2/sites-available/typo3.conf

<VirtualHost *:80 >
  ServerAlias intranet
  ServerAlias ...
  ServerName  www....
  #Include /etc/apache2/sites-available/spamfight.add.conf
  Include /etc/apache2/sites-available/NoSSL/nossl_default.inc.conf
  ...
  Include /etc/apache2/sites-available/typo3.inc.conf
</VirtualHost>
# File /etc/apache2/sites-available/NoSSL/nossl_default.inc.conf
# dient zum 'redirekten' der Anmeldung:
  Redirect 301 /typo3 https://intra2....de/typo3
## Benötigt aber eine funktionierende ssl-Konfiguration des Apache
#File /etc/apache2/sites-available/typo3.inc.conf
ServerAdmin webmaster@...de
DocumentRoot /server/typo3/htdocs
 
##  CookieTracking on
##  CookieExpires "52 weeks"
 
<IfModule mod_dir.c>
    DirectoryIndex index.html INDEX.HTML index.htm index.php /index.html
</IfModule>
 
 
  <Directory "/server/typo3/htdocs">
    Options -Indexes MultiViews FollowSymLinks
    Order allow,deny
    Allow from all
 
    RewriteEngine On
    RewriteRule ^typo$ - [L]
    RewriteRule ^typo/.*$ - [L]
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_FILENAME} !-l
    RewriteRule .* index.php
  </Directory>

Dafür brauchen wir im Apache das rewrite-Module. – Und vor dem Neustart binden wir auch die typo3.conf mit ein:

# a2enmod rewrite
 Enabling module rewrite.
 Run '/etc/init.d/apache2 restart' to activate new configuration!
# a2ensite typo3.conf
 Enabling site typo3.conf.
 Run '/etc/init.d/apache2 reload' to activate new configuration!
# /etc/init.d/apache2 reload
 ...

Neben dem Apache müssen wir uns auch den mysql-Server ansehen und wenn wir schon mal dabei sind, installieren wir auch noch ein paar anderer Pakete mit.

# apt-get install php5 mysql-server imagemagick gs gzip.* libgd2-xpm php5-gd.* php5-mysql php5-curl libfreetype6 unzip
# echo "GRANT ALL PRIVILEGES ON typo3.* TO 'typo3'@'localhost' IDENTIFIED BY 'pAsSwOrD' WITH GRANT OPTION; FLUSH PRIVILEGES;" | mysql -u root -p
# /etc/init.d/apache2 restart
...

Die Installation beenden wir dann im Backend von Typo3. Dazu öffnen wir den Browser unserer Wahl und ersurfen die Installations-Seite (ähnlich http://server/typo3/install/index.php )
Das Passwort ist im Moment ja noch das „joh316“ !!
Auf der Installationsseite beginnen wir mit Punkt ‚1: Basic Configuration‘. Dort bitte als erstes das Kennwort und natürlich die MySQL-Einstellungen ändern. In unserem Beispiel:

  • Username: typo3
  • Password: pAsSwOrD
  • Host: localhost
  • Database:
    Create database? (Enter name): typo3
  • Site name: TestPage
  • Encryption key: [generieren lassen]

Als nächstes sehen wir uns den ‚3: Update Wizard‘ an. Dort lassen wir den Punkt ‚changeCompatibilityVersion‘ mit dem Hinweis ‚Up to date!‘ selbstverständlich in Ruhe, aber die anderen ‚Updates‘ führen wir ruhig durch.
Um uns am Backend anmelden zu können benötigen wir einen Admin-User. Der kann unter ‚2: Database Analyser‘ mit dem Punkt ‚Create „admin“ user‘ angelegt werden.
Jetzt können wir uns im Backend (z.B. http://server/typo3/index.php ) anmelden. Nun haben wir ein leeres Backend in dem wäre es dann gut ein paar Extensions zu installieren. Dazu im linken Menü den Punkt ‚Ext Manager‘ auswählen. Dann im oberen (rechter Bereich) Puldown-Menü den Punkt ‚Import extensions‘ wählen. Hier kann man dann z.B. nach der ‚realurl‘-Extension suchen lassen und diese installieren. Vorher natürlich mindestens mittels des ‚Retrieve/Update‘-Buttons die aktuelle Liste der verfügbaren Plugins vom TYPO3 Extension Repository laden. Die Apache-Konfig hatten wir ja schon (siehe oben) für die ‚realurl‘-Extension vorbereitet.
Außerdem brauchen wir ein schönes Template. Meine private Website benutzt ein Typo3 Template von IT-Bo, dort gibt es auch eine Anleitung zum Einbinden der Templates. Meine HomePage-Typo3-Installation hatte ich ja letztens schon auf die aktuelle Version 4.3.3 gehievt. Und auch auf meinem neuen Webserver brauche ich kein Template. Dorthin möchte ich nämlich einen bestehenden Web-Auftritt umziehen.