-
Notifications
You must be signed in to change notification settings - Fork 1
Testumgebung auf macOS
Kitodo.Presentation kann nach dieser Anleitung unter macOS installiert und entwickelt werden.
# Installiere Webserver Apache2.
brew install httpd
cat <<eod > $HOMEBREW_PREFIX/etc/httpd/extra/typo3.conf
# Virtual Host für TYPO3
Include $HOMEBREW_PREFIX/etc/httpd/extra/httpd-vhosts.conf
# a2enmod alias authz_core deflate expires filter headers rewrite setenvif
LoadModule deflate_module lib/httpd/modules/mod_deflate.so
LoadModule expires_module lib/httpd/modules/mod_expires.so
LoadModule php_module lib/httpd/modules/libphp.so
LoadModule rewrite_module lib/httpd/modules/mod_rewrite.so
AddType application/x-httpd-php .php
DirectoryIndex index.php index.html
<FilesMatch \.php$>
SetHandler application/x-httpd-php
</FilesMatch>
<VirtualHost *:8080>
DocumentRoot "$HOME/Sites/typo3"
ServerName local.typo3
<Directory "$HOME/Sites/typo3">
Options Indexes MultiViews FollowSymLinks
AllowOverride All
Require all granted
</Directory>
ErrorLog "$HOMEBREW_PREFIX/var/log/httpd/typo3-error_log"
CustomLog "$HOMEBREW_PREFIX/var/log/httpd/typo3-access_log" common
</VirtualHost>
eod
echo Include $HOMEBREW_PREFIX/etc/httpd/extra/typo3.conf >> $HOMEBREW_PREFIX/etc/httpd/httpd.conf
brew services start httpd
Anschließend wird noch in der Datei /etc/hosts
die Zeile 127.0.0.1 local.typo3
ergänzt. Dafür benötigt man Administratorrechte. Jetzt sollte der Webserver laufen und unter der URL http://local.typo3:8080/ eine leere Seite anzeigen.
# Lege eine Datenbank für TYPO3 an.
TYPO3_INSTALL_DB_DBNAME=typo3_12
mariadb --execute="DROP DATABASE IF EXISTS $TYPO3_INSTALL_DB_DBNAME; CREATE DATABASE $TYPO3_INSTALL_DB_DBNAME; GRANT ALL ON $TYPO3_INSTALL_DB_DBNAME.* TO typo3@localhost IDENTIFIED BY 'DB_PASSWORD';"
# Installierte TYPO3 v12.
cd $HOME/Sites
composer create-project typo3/cms-base-distribution:^12 typo3_12
ln -s typo3_12/public typo3
# Konfiguriere TYPO3 mit einer Beispielseite.
cd $HOME/Sites/typo3_12
vendor/bin/typo3 setup --driver=mysqli --host=127.0.0.1 --port=3306 --dbname=$TYPO3_INSTALL_DB_DBNAME --username=typo3 --password=DB_PASSWORD --admin-username=admin --admin-user-password='ADMIN_PASSWORD' --admin-email= --project-name="Kitodo Test" --create-site=http://local.typo3:8080/ --server-type=apache
# Damit die Metadaten und Strukturdaten in Kitodo.Presentation korrekt zweisprachig angelegt werden,
# braucht man eine spezielle Site-Konfiguration:
cat <<eod >$HOME/Sites/typo3_127/config/sites/main/config.yaml
base: 'http://local.typo3:8080/'
languages:
-
title: German
enabled: true
base: /
typo3Language: de
locale: de_DE
navigationTitle: Deutsch
flag: de
languageId: 0
hreflang: de-DE
websiteTitle: ''
-
title: English
enabled: true
locale: en_US
hreflang: en-US
base: /en/
typo3Language: default
websiteTitle: ''
navigationTitle: English
fallbackType: strict
fallbacks: '0'
flag: en-us-gb
languageId: 1
rootPageId: 1
websiteTitle: ''
eod
# Installiere die Erweiterung Kitodo.Presentation.
composer config repositories.kitodo git https://github.com/stweil/kitodo-presentation.git
composer require kitodo/presentation:dev-main
vendor/bin/typo3 extension:setup
# Installiere Solr 9.
brew install solr
# Installiere Highlighting.
mkdir -p $HOMEBREW_PREFIX/opt/solr/modules/ocrsearch/lib
curl -LO https://github.com/dbmdz/solr-ocrhighlighting/releases/download/0.9.1/solr-ocrhighlighting-0.9.1.jar
mv solr-ocrhighlighting-0.9.1.jar $HOMEBREW_PREFIX/opt/solr/modules/ocrsearch/lib
# Installiere Konfiguration.
cp -av $HOME/Sites/typo3_12/vendor/kitodo/presentation/Configuration/ApacheSolr/configsets /opt/homebrew/var/lib/solr
# Aktiviere Library-Suche (sonst wird Highlighting nicht gefunden).
echo 'SOLR_OPTS="$SOLR_OPTS -Dsolr.config.lib.enabled=true"' >> $HOMEBREW_PREFIX/opt/solr/share/solr/solr.in.sh
Falls für TYPO3 die Debug-Voreinstellungen aktiviert sind, muss unbedingt auch noch die Konfigurationseinstellung [SYS][exceptionalErrors] = 12290
auf [SYS][exceptionalErrors] = 4098
geändert werden, da andernfalls kein Solr-Kern angelegt werden kann (siehe GitHub Issue).
Für die Fehlersuche oder Softwareentwicklung empfiehlt es sich, einen Debugger zu verwenden, der es erlaubt, den PHP-Code von TYPO3 und Kitodo.Presentation kontrolliert auszuführen.
Dafür eignet sich beispielsweise Visual Studio Code von Microsoft. Es benötigt ein paar Erweiterungen (getestet mit PHP Debug, PHP DocBlocker, PHP Intelephense, TYPO3 TypoScript, die aber vermutlich nicht alle notwendig sind).
Die Verbindung zwischen der Webapplikation und dem Debugger erfolgt mit Hilfe von XDebug, das mit pecl install xdebug
installiert wird. Zusätzlich sind eine Reihe von Einstellungen für PHP und den Debugger vorzunehmen (TODO: Details beschreiben).