Also unter Linux verwende ich unionfs, das ist ein Stackable-File-System das mir eine Installation aus mehreren Quellen zusammen baut.
Meine Extensions sind alle so im Repository aufgebaut, dass diese immer im TL_ROOT anfangen, also den kompletten Pfad system/modules/X beinhalten (siehe z.B. hier https://github.com/InfinitySoft/Avisota).
Mit unionfs mounte ich mir diese einfach über ein Contao drüber und extrahiere veränderbare Dateien in ein Arbeitsverzeichnis:
Extensions:
Code:
~/workspace/contao/Ext1
~/workspace/contao/Ext2
~/workspace/contao/Ext3
~/workspace/contao/Ext4
Contao:
Code:
~/Contao/contao-2.10.4
Ziel:
Code:
~/public_html/contao-2.10.4
Arbeitsverzeichnis:
Code:
~/public_html/contao-2.10.4_data
Der Mount Befehl sieht dann so aus (OHNE UMBRÜCHE, die habe ich nur der Lesbarkeit halber hinzugefügt!!!):
Code:
unionfs -o cow,allow_other '/home/tristan/public_html/contao-2.10.4_data=RW:
/home/tristan/workspace/contao/Ext1=RO:
/home/tristan/workspace/contao/Ext2=RO:
/home/tristan/workspace/contao/Ext3=RO:
/home/tristan/workspace/contao/Ext4=RO:
/home/tristan/Contao/contao-2.10.4=RO' \
'/home/tristan/public_html/contao-2.10.4'
Hat den Vorteil das 1. alle schön von einander getrennt ist und 2. brauche ich, um die Installation zu resetten nur das Arbeitsverzeichnis und die Datenbank löschen.
Psi macht das ganze mit AUFS, das benötigt jedoch spezielle Kernel Module, während unionfs im FUSE Userspace läuft.
MfG Tristan
Lesezeichen