Eine Installation auf einem Server kann etwas schwierig werden, wenn man keinen Shell-Zugang hat.

Die Alternative die TYPO3-Archive vor dem FTP-Upload auszupacken ist zwar möglich aber recht (zeit)aufwändig.

 

Meist besteht aber die Möglichkeit innerhalb einer PHP-Datei Betriebssystem-Kommandos auszuführen. Daher bin ich auf folgende PHP-Datei für einen UNIX-Server gekommen:

 

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
  <meta http-equiv="content-type" content="text/html; charset=windows-1250">
  <title>expand TYPO3</title>
  </head>
  <body>
<?PHP

function do_exec($s) {
	echo '<span style="border:1px solid #cccccc">'.$s.'</span><br /><pre>';
	$output=shell_exec($s);
	echo str_replace(array('<','>'),array('&lt;','&gt;'),$output);
	echo '</pre><hr />';
}

define('VERSION','4.3.3');

       // check for correct permissions. try to create a testfile.
do_exec('echo test > testfile');
if (!file_exists('testfile')) {
       echo 'can\'t create file in current directory<br>missing permissions?<br>';
              // show user data
       do_exec('id');
              // show rights of current directory
       do_exec('ls -la');
} else {
              // remove testfile
	do_exec('rm testfile');
              // load source-archive if not existent
	if (!file_exists('typo3_src-'.VERSION.'.tar.gz'))
		do_exec('wget http://prdownloads.sourceforge.net/typo3/typo3_src-'.VERSION.'.tar.gz');
              // load dummy-archive if not existent
	if (!file_exists('dummy-'.VERSION.'.tar.gz'))
		do_exec('wget http://prdownloads.sourceforge.net/typo3/dummy-'.VERSION.'.tar.gz');
              // display md5-hashes for check on correct archives
	do_exec('md5sum *.gz');
	echo 'compare to <a href="http://wiki.typo3.org/index.php/TYPO3_'.VERSION.'#MD5_checksums">correct md5-values</a><br>';

		// extract sources
	do_exec('tar -zxvf typo3_src-'.VERSION.'.tar.gz');

		// extract dummy
	do_exec('tar -zxvf dummy-'.VERSION.'.tar.gz');
		// get content from subdir into current dir
	do_exec('mv dummy-'.VERSION.'/* .');
		// remove empty directory
	do_exec('rmdir dummy-'.VERSION);

		// make new symlink for sources
	do_exec('rm typo3_src');
	do_exec('ln -s typo3_src-'.VERSION.' typo3_src');

		// change access-rights ...
		// .. for all directories
	do_exec('find . -type d -exec chmod 775 \'{}\' \;');
		// .. for all files
	do_exec('find . -type f -exec chmod 664 \'{}\' \;');

		// next step will be to use install-tool: so grant access:
	do_exec('touch typo3conf/ENABLE_INSTALL_TOOL');

		// show current directory content
	do_exec('ls -la');

		// show links to install-tool and 1-2-3-Install
	echo '<a href="typo3/install/index.php" >Install-Tool</a><br>';
	echo '<a href="typo3/install/index.php?mode=123&step=1&password=joh316">1-2-3-Install</a>';

}
?>
  </body>
</html>

Anzupassen sind:

  • die aktuelle Version
  • je nach Konfiguration der User auf dem Server (Apache-User und FTP-User) müssen gegebenenfalls die Rechte angepasst werden, damit man die gerade aufgespielten Dateien auch per FTP bearbeiten kann. Ansonsten kann man die beiden Zeilen auch auskommentieren.
  • für Updates muss zb. kein dummy-Paket ausgepackt und verschoben werden

 

MEMO: Wenn die Zugriffsrechte angepasst werden mussten unbedingt entsprechende Einträge im Install-tool machen ([fileCreateMask], [folderCreateMask] und ggfls. [createGroup]) sonst gibt es schnell wieder Stress mit Dateien, die sowohl über das BE als auch FTP bearbeitet werden.

 

Für eine TYPO3-Installation muss man nur diese PHP-Datei (zb. als unpack.php) auf den Server kopieren. Dann ruft man diese PHP-Datei auf (z.B. www.meinedomain.tld/unpack.php), die zuerst die Schreibrechte überprüft, dann die beiden Archive holt und anschließend auspackt. Und damit man mit der Konfiguration direkt loslegen kann gibt es am Ende der PHP-Datei einen direkten Link zum Install-Tool und zum 1-2-3-Install.

 
Ihre aktuelle Seitenauswahl:  
>>>