Joomla 3.9.26 auf NAS540 ?

Guten Abend zusammen ich würde gerne Joomla 3.9.26 auf meinem NAS540laufen lassen jedoch ist die bereitgestellte  MySQL und auch  Php Myadmin application nicht kompatibel  also meine frage ist können wir als besitzer eines NAS540 mit einem update der entsprechenden Komponenten rechnen damit wir in zukunft auch Joomla 4 auf dem NAS laufen lassen können. alternativ wie kann ich das update auf die entsprechende version selbst bzw manuell durch führen.

Danke im Voraus für hilfreiche beiträge und einen schönen abend

Accepted Solution

  • Mijzelf
    Mijzelf Posts: 2,788  Guru Member
    250 Answers 2500 Comments Friend Collector Seventh Anniversary
    Answer ✓
    soul said:
    htdocs is read-only
    FYI: The is a 'simple' work-around for that. The contents of the /usr directory is a (ro) loop-mounted file, which resides on an ro mounted raidarray:

    ~$ mount
    <snip>
    /dev/md0 /firmware/mnt/sysdisk ext4 ro,relatime,user_xattr,barrier=1,data=ordered 0 0
    /firmware/mnt/sysdisk/sysdisk.img on /ram_bin type ext2 (ro)
    /ram_bin/usr on /usr type none (ro,bind)
    <snip>

    If you read /etc/init.d/rcS, you find this:
    # Must mount read-only
    ${MOUNT} -o remount,ro ${DISK_PATH}

    if [ -e ${DISK_PATH}/mount.sda1.rw.flag ]; then
             ${MOUNT} -o remount,rw ${DISK_PATH}
    fi

    ${DISK_PATH} expands to /firmware/mnt/sysdisk. So if a file /firmware/mnt/sysdisk/mount.sda1.rw.flag exists, the block device /dev/md0 will be mounted rw, and the integrity check will be disabled.

            if [ "x"${SYS_CHECKSUM_NOW} == "x"${SYS_CHECKSUM_INFO} ] || [ -e ${DISK_PATH}/mount.sda1.rw.flag ]; then
                    return 0
            else
                    return 1
            fi

    So to add files to htdocs (or wherever)

    ~# mount -o remount,rw /firmware/mnt/sysdisk
    ~# touch /firmware/mnt/sysdisk/mount.sda1.rw.flag
    ~# reboot

    Now the /firmware/mnt/sysdisk/sysdisk.img is still mounted readonly, and AFAIK that can't be changed. But you can mount it twice:

    ~# mkdir /mnt/mountpoint
    ~# mount -o loop,rw /firmware/mnt/sysdisk/sysdisk.img /mnt/mountpoint

    Now you can change whatever you like in /mnt/mountpoint/usr/local/apache/htdocs/ . It will not showup in /usr/local/apache/htdocs/, at least not as long the cache isn't exhausted (the loopdevice doesn't know the file changed behind it's back), but after a reboot the changes are there.

    If you want to revert, simply remove the /firmware/mnt/sysdisk/mount.sda1.rw.flag file, and reboot. The integrity check will extract a fresh sysdisk.img from flash.
    You also have to remove that file (and loose your changes) if you upgrade the firmware. Upgrading the firmware gives a new sysdisk.img, but that is blocked by mount.sda1.rw.flag .

    Another, less intrusive way is to bindmount another directory on htdocs:

    /i-data/sysvol/admin# mkdir htdocs
    /i-data/sysvol/admin# cp -a /usr/local/apache/htdocs/* htdocs/
    /i-data/sysvol/admin# mount -o bind htdocs /usr/local/apache/htdocs

    And restart the apache:
    /i-data/sysvol/admin# /etc/init.d/httpd.sh restart

    Now you have a writable /usr/local/apache/htdocs/. After a reboot you'll have to repeat the mount command, and restart apache.


    BTW, I'm not saying Joomla can be installed. Don't know about that.

All Replies

  • soul
    soul Posts: 29  Freshman Member
    First Comment
    i think it's not possible because htdocs is read-only

    even you upgrade the dependencies looks like you can't copy joomla into that folder.
  • Mijzelf
    Mijzelf Posts: 2,788  Guru Member
    250 Answers 2500 Comments Friend Collector Seventh Anniversary
    Answer ✓
    soul said:
    htdocs is read-only
    FYI: The is a 'simple' work-around for that. The contents of the /usr directory is a (ro) loop-mounted file, which resides on an ro mounted raidarray:

    ~$ mount
    <snip>
    /dev/md0 /firmware/mnt/sysdisk ext4 ro,relatime,user_xattr,barrier=1,data=ordered 0 0
    /firmware/mnt/sysdisk/sysdisk.img on /ram_bin type ext2 (ro)
    /ram_bin/usr on /usr type none (ro,bind)
    <snip>

    If you read /etc/init.d/rcS, you find this:
    # Must mount read-only
    ${MOUNT} -o remount,ro ${DISK_PATH}

    if [ -e ${DISK_PATH}/mount.sda1.rw.flag ]; then
             ${MOUNT} -o remount,rw ${DISK_PATH}
    fi

    ${DISK_PATH} expands to /firmware/mnt/sysdisk. So if a file /firmware/mnt/sysdisk/mount.sda1.rw.flag exists, the block device /dev/md0 will be mounted rw, and the integrity check will be disabled.

            if [ "x"${SYS_CHECKSUM_NOW} == "x"${SYS_CHECKSUM_INFO} ] || [ -e ${DISK_PATH}/mount.sda1.rw.flag ]; then
                    return 0
            else
                    return 1
            fi

    So to add files to htdocs (or wherever)

    ~# mount -o remount,rw /firmware/mnt/sysdisk
    ~# touch /firmware/mnt/sysdisk/mount.sda1.rw.flag
    ~# reboot

    Now the /firmware/mnt/sysdisk/sysdisk.img is still mounted readonly, and AFAIK that can't be changed. But you can mount it twice:

    ~# mkdir /mnt/mountpoint
    ~# mount -o loop,rw /firmware/mnt/sysdisk/sysdisk.img /mnt/mountpoint

    Now you can change whatever you like in /mnt/mountpoint/usr/local/apache/htdocs/ . It will not showup in /usr/local/apache/htdocs/, at least not as long the cache isn't exhausted (the loopdevice doesn't know the file changed behind it's back), but after a reboot the changes are there.

    If you want to revert, simply remove the /firmware/mnt/sysdisk/mount.sda1.rw.flag file, and reboot. The integrity check will extract a fresh sysdisk.img from flash.
    You also have to remove that file (and loose your changes) if you upgrade the firmware. Upgrading the firmware gives a new sysdisk.img, but that is blocked by mount.sda1.rw.flag .

    Another, less intrusive way is to bindmount another directory on htdocs:

    /i-data/sysvol/admin# mkdir htdocs
    /i-data/sysvol/admin# cp -a /usr/local/apache/htdocs/* htdocs/
    /i-data/sysvol/admin# mount -o bind htdocs /usr/local/apache/htdocs

    And restart the apache:
    /i-data/sysvol/admin# /etc/init.d/httpd.sh restart

    Now you have a writable /usr/local/apache/htdocs/. After a reboot you'll have to repeat the mount command, and restart apache.


    BTW, I'm not saying Joomla can be installed. Don't know about that.
  • MuX_1985
    MuX_1985 Posts: 2
    thanks for the deeper insight how the file system of the Zyxel NAS540 is built. Sounds also everything very conclusive. Thanks to you for the comprehensive answer Mijzelf. since the project is a little more complex I will probably run joomla on my rootserver but as I said thanks for the competent answer.


Consumer Product Help Center