Case-insensitive file system for production server?











up vote
9
down vote

favorite
1












The initial situation looks like this:




  • The corporate software is PHP-based.

  • It is delivered by Apache 2 on a Windows 2003 Server.

  • It is big.

  • It is a legacy of rather unprofessional developers who did not mind about case sensitivity or directory separators.


The desired situation looks like that:




  • Everything migrated to Apache 2 under a Linux distribution of yet undecided flavor.


Problem:




  • Endless tons of code without any caring about the case-sensitivity or directory separator character.


I did some research already, but unfortunately did not find anything which would be suitable also for a production environment. CIOPFS looks nice but is explicitly meant not to be used on production systems. Would you think mod_spelling for Apache would be an option? The yet unresolved question for me is, if PHP accesses files with help of that module or directly (which would make it useless).



Should we swallow the bitter pill and go through all the code? We would like to avoid that, as we will replace the current software environment piece by piece with new build stuff (in long term).










share|improve this question
























  • Another possibility could be to create some kind of proxy (mod_rewrite) for the legacy application (residing in the old setup) via the new server, replacing the parts this way...maybe.
    – sr_
    Feb 23 '12 at 11:30












  • Host it under OS X instead of Linux...you still get your unix environment, but you also get a case insensitive filesystem out of the box.
    – larsks
    Feb 23 '12 at 12:40










  • @sr_ That could do the job. But as we are running an large online shop system which causes enough traffic already as it is, it would at least double it (does not matter if network internal or external). As far as I understand.
    – Peter Thomas Horn
    Feb 23 '12 at 15:54










  • @larsks Even though I encourage OS X for business, I do not think anymore that it has future as a webserver for large scale. Also our company is encouraging the use of open source software and strives to remain as platform independent as possible.
    – Peter Thomas Horn
    Feb 23 '12 at 15:54










  • Just an update: apache modules are sadly not doing the job as the only get invoked in case of HTTP requests, PHP's include function for example accesses the files directly. I'll try out the samba approach mentioned below now.
    – Peter Thomas Horn
    Feb 27 '12 at 8:36















up vote
9
down vote

favorite
1












The initial situation looks like this:




  • The corporate software is PHP-based.

  • It is delivered by Apache 2 on a Windows 2003 Server.

  • It is big.

  • It is a legacy of rather unprofessional developers who did not mind about case sensitivity or directory separators.


The desired situation looks like that:




  • Everything migrated to Apache 2 under a Linux distribution of yet undecided flavor.


Problem:




  • Endless tons of code without any caring about the case-sensitivity or directory separator character.


I did some research already, but unfortunately did not find anything which would be suitable also for a production environment. CIOPFS looks nice but is explicitly meant not to be used on production systems. Would you think mod_spelling for Apache would be an option? The yet unresolved question for me is, if PHP accesses files with help of that module or directly (which would make it useless).



Should we swallow the bitter pill and go through all the code? We would like to avoid that, as we will replace the current software environment piece by piece with new build stuff (in long term).










share|improve this question
























  • Another possibility could be to create some kind of proxy (mod_rewrite) for the legacy application (residing in the old setup) via the new server, replacing the parts this way...maybe.
    – sr_
    Feb 23 '12 at 11:30












  • Host it under OS X instead of Linux...you still get your unix environment, but you also get a case insensitive filesystem out of the box.
    – larsks
    Feb 23 '12 at 12:40










  • @sr_ That could do the job. But as we are running an large online shop system which causes enough traffic already as it is, it would at least double it (does not matter if network internal or external). As far as I understand.
    – Peter Thomas Horn
    Feb 23 '12 at 15:54










  • @larsks Even though I encourage OS X for business, I do not think anymore that it has future as a webserver for large scale. Also our company is encouraging the use of open source software and strives to remain as platform independent as possible.
    – Peter Thomas Horn
    Feb 23 '12 at 15:54










  • Just an update: apache modules are sadly not doing the job as the only get invoked in case of HTTP requests, PHP's include function for example accesses the files directly. I'll try out the samba approach mentioned below now.
    – Peter Thomas Horn
    Feb 27 '12 at 8:36













up vote
9
down vote

favorite
1









up vote
9
down vote

favorite
1






1





The initial situation looks like this:




  • The corporate software is PHP-based.

  • It is delivered by Apache 2 on a Windows 2003 Server.

  • It is big.

  • It is a legacy of rather unprofessional developers who did not mind about case sensitivity or directory separators.


The desired situation looks like that:




  • Everything migrated to Apache 2 under a Linux distribution of yet undecided flavor.


Problem:




  • Endless tons of code without any caring about the case-sensitivity or directory separator character.


I did some research already, but unfortunately did not find anything which would be suitable also for a production environment. CIOPFS looks nice but is explicitly meant not to be used on production systems. Would you think mod_spelling for Apache would be an option? The yet unresolved question for me is, if PHP accesses files with help of that module or directly (which would make it useless).



Should we swallow the bitter pill and go through all the code? We would like to avoid that, as we will replace the current software environment piece by piece with new build stuff (in long term).










share|improve this question















The initial situation looks like this:




  • The corporate software is PHP-based.

  • It is delivered by Apache 2 on a Windows 2003 Server.

  • It is big.

  • It is a legacy of rather unprofessional developers who did not mind about case sensitivity or directory separators.


The desired situation looks like that:




  • Everything migrated to Apache 2 under a Linux distribution of yet undecided flavor.


Problem:




  • Endless tons of code without any caring about the case-sensitivity or directory separator character.


I did some research already, but unfortunately did not find anything which would be suitable also for a production environment. CIOPFS looks nice but is explicitly meant not to be used on production systems. Would you think mod_spelling for Apache would be an option? The yet unresolved question for me is, if PHP accesses files with help of that module or directly (which would make it useless).



Should we swallow the bitter pill and go through all the code? We would like to avoid that, as we will replace the current software environment piece by piece with new build stuff (in long term).







filesystems php apache-httpd migration case-sensitivity






share|improve this question















share|improve this question













share|improve this question




share|improve this question








edited May 13 '16 at 6:32









Jeff Schaller

38.1k1053124




38.1k1053124










asked Feb 23 '12 at 9:35









Peter Thomas Horn

178126




178126












  • Another possibility could be to create some kind of proxy (mod_rewrite) for the legacy application (residing in the old setup) via the new server, replacing the parts this way...maybe.
    – sr_
    Feb 23 '12 at 11:30












  • Host it under OS X instead of Linux...you still get your unix environment, but you also get a case insensitive filesystem out of the box.
    – larsks
    Feb 23 '12 at 12:40










  • @sr_ That could do the job. But as we are running an large online shop system which causes enough traffic already as it is, it would at least double it (does not matter if network internal or external). As far as I understand.
    – Peter Thomas Horn
    Feb 23 '12 at 15:54










  • @larsks Even though I encourage OS X for business, I do not think anymore that it has future as a webserver for large scale. Also our company is encouraging the use of open source software and strives to remain as platform independent as possible.
    – Peter Thomas Horn
    Feb 23 '12 at 15:54










  • Just an update: apache modules are sadly not doing the job as the only get invoked in case of HTTP requests, PHP's include function for example accesses the files directly. I'll try out the samba approach mentioned below now.
    – Peter Thomas Horn
    Feb 27 '12 at 8:36


















  • Another possibility could be to create some kind of proxy (mod_rewrite) for the legacy application (residing in the old setup) via the new server, replacing the parts this way...maybe.
    – sr_
    Feb 23 '12 at 11:30












  • Host it under OS X instead of Linux...you still get your unix environment, but you also get a case insensitive filesystem out of the box.
    – larsks
    Feb 23 '12 at 12:40










  • @sr_ That could do the job. But as we are running an large online shop system which causes enough traffic already as it is, it would at least double it (does not matter if network internal or external). As far as I understand.
    – Peter Thomas Horn
    Feb 23 '12 at 15:54










  • @larsks Even though I encourage OS X for business, I do not think anymore that it has future as a webserver for large scale. Also our company is encouraging the use of open source software and strives to remain as platform independent as possible.
    – Peter Thomas Horn
    Feb 23 '12 at 15:54










  • Just an update: apache modules are sadly not doing the job as the only get invoked in case of HTTP requests, PHP's include function for example accesses the files directly. I'll try out the samba approach mentioned below now.
    – Peter Thomas Horn
    Feb 27 '12 at 8:36
















Another possibility could be to create some kind of proxy (mod_rewrite) for the legacy application (residing in the old setup) via the new server, replacing the parts this way...maybe.
– sr_
Feb 23 '12 at 11:30






Another possibility could be to create some kind of proxy (mod_rewrite) for the legacy application (residing in the old setup) via the new server, replacing the parts this way...maybe.
– sr_
Feb 23 '12 at 11:30














Host it under OS X instead of Linux...you still get your unix environment, but you also get a case insensitive filesystem out of the box.
– larsks
Feb 23 '12 at 12:40




Host it under OS X instead of Linux...you still get your unix environment, but you also get a case insensitive filesystem out of the box.
– larsks
Feb 23 '12 at 12:40












@sr_ That could do the job. But as we are running an large online shop system which causes enough traffic already as it is, it would at least double it (does not matter if network internal or external). As far as I understand.
– Peter Thomas Horn
Feb 23 '12 at 15:54




@sr_ That could do the job. But as we are running an large online shop system which causes enough traffic already as it is, it would at least double it (does not matter if network internal or external). As far as I understand.
– Peter Thomas Horn
Feb 23 '12 at 15:54












@larsks Even though I encourage OS X for business, I do not think anymore that it has future as a webserver for large scale. Also our company is encouraging the use of open source software and strives to remain as platform independent as possible.
– Peter Thomas Horn
Feb 23 '12 at 15:54




@larsks Even though I encourage OS X for business, I do not think anymore that it has future as a webserver for large scale. Also our company is encouraging the use of open source software and strives to remain as platform independent as possible.
– Peter Thomas Horn
Feb 23 '12 at 15:54












Just an update: apache modules are sadly not doing the job as the only get invoked in case of HTTP requests, PHP's include function for example accesses the files directly. I'll try out the samba approach mentioned below now.
– Peter Thomas Horn
Feb 27 '12 at 8:36




Just an update: apache modules are sadly not doing the job as the only get invoked in case of HTTP requests, PHP's include function for example accesses the files directly. I'll try out the samba approach mentioned below now.
– Peter Thomas Horn
Feb 27 '12 at 8:36










4 Answers
4






active

oldest

votes

















up vote
2
down vote













You can use Samba to share a local filesystem in a case insensitive manner...this article has some details.






share|improve this answer

















  • 2




    This is completely insane, but IMO the least insane of all other options.
    – jgoldschrafe
    Feb 23 '12 at 14:26












  • @larsks Thank you, I will take a deeper look into it and will try out how it works.
    – Peter Thomas Horn
    Feb 23 '12 at 15:55










  • @larsks Even though I followed the article and tried out some variations, it sadly did not work for us. Thank you though. We ended up deciding to rewrite all the stuff which does not in case sensitive file system as other alternatives seem to take too much time.
    – Peter Thomas Horn
    Feb 28 '12 at 8:13


















up vote
2
down vote













Just see my post here on ubuntuforums:



http://ubuntuforums.org/showthread.php?t=1497253



Create a virtual disk



dd if=/dev/zero of=virtual.dsk bs=1048576 count=150


Format it



mkfs.vfat virtual.dsk


Mount it



sudo mkdir -p /mnt/vfat
sudo mount virtual.dsk /mnt/vfat -t vfat -o loop


PS: Permanently mount:



/path/to/virtual.dsk /mnt/vfat vfat loop,owner,group,umask=000 0 0


Along with additional information here:
http://fatter-keine.dk/helptipsguides/ubuntu/understanding_fstab.html






share|improve this answer




























    up vote
    2
    down vote













    Both ZFS and JFS can be configured to be case insensitive:



    zfs create -o casesensitivity=insensitive filesystem

    jfs_mkfs -O /dev/sdax





    share|improve this answer




























      up vote
      1
      down vote













      Write your own fuse-wrapper that does case-insensitivity over any other fs? With some python code this could be done quick.






      share|improve this answer





















        Your Answer








        StackExchange.ready(function() {
        var channelOptions = {
        tags: "".split(" "),
        id: "106"
        };
        initTagRenderer("".split(" "), "".split(" "), channelOptions);

        StackExchange.using("externalEditor", function() {
        // Have to fire editor after snippets, if snippets enabled
        if (StackExchange.settings.snippets.snippetsEnabled) {
        StackExchange.using("snippets", function() {
        createEditor();
        });
        }
        else {
        createEditor();
        }
        });

        function createEditor() {
        StackExchange.prepareEditor({
        heartbeatType: 'answer',
        autoActivateHeartbeat: false,
        convertImagesToLinks: false,
        noModals: true,
        showLowRepImageUploadWarning: true,
        reputationToPostImages: null,
        bindNavPrevention: true,
        postfix: "",
        imageUploader: {
        brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
        contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
        allowUrls: true
        },
        onDemand: true,
        discardSelector: ".discard-answer"
        ,immediatelyShowMarkdownHelp:true
        });


        }
        });














        draft saved

        draft discarded


















        StackExchange.ready(
        function () {
        StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2funix.stackexchange.com%2fquestions%2f32467%2fcase-insensitive-file-system-for-production-server%23new-answer', 'question_page');
        }
        );

        Post as a guest















        Required, but never shown

























        4 Answers
        4






        active

        oldest

        votes








        4 Answers
        4






        active

        oldest

        votes









        active

        oldest

        votes






        active

        oldest

        votes








        up vote
        2
        down vote













        You can use Samba to share a local filesystem in a case insensitive manner...this article has some details.






        share|improve this answer

















        • 2




          This is completely insane, but IMO the least insane of all other options.
          – jgoldschrafe
          Feb 23 '12 at 14:26












        • @larsks Thank you, I will take a deeper look into it and will try out how it works.
          – Peter Thomas Horn
          Feb 23 '12 at 15:55










        • @larsks Even though I followed the article and tried out some variations, it sadly did not work for us. Thank you though. We ended up deciding to rewrite all the stuff which does not in case sensitive file system as other alternatives seem to take too much time.
          – Peter Thomas Horn
          Feb 28 '12 at 8:13















        up vote
        2
        down vote













        You can use Samba to share a local filesystem in a case insensitive manner...this article has some details.






        share|improve this answer

















        • 2




          This is completely insane, but IMO the least insane of all other options.
          – jgoldschrafe
          Feb 23 '12 at 14:26












        • @larsks Thank you, I will take a deeper look into it and will try out how it works.
          – Peter Thomas Horn
          Feb 23 '12 at 15:55










        • @larsks Even though I followed the article and tried out some variations, it sadly did not work for us. Thank you though. We ended up deciding to rewrite all the stuff which does not in case sensitive file system as other alternatives seem to take too much time.
          – Peter Thomas Horn
          Feb 28 '12 at 8:13













        up vote
        2
        down vote










        up vote
        2
        down vote









        You can use Samba to share a local filesystem in a case insensitive manner...this article has some details.






        share|improve this answer












        You can use Samba to share a local filesystem in a case insensitive manner...this article has some details.







        share|improve this answer












        share|improve this answer



        share|improve this answer










        answered Feb 23 '12 at 12:53









        larsks

        10.6k32739




        10.6k32739








        • 2




          This is completely insane, but IMO the least insane of all other options.
          – jgoldschrafe
          Feb 23 '12 at 14:26












        • @larsks Thank you, I will take a deeper look into it and will try out how it works.
          – Peter Thomas Horn
          Feb 23 '12 at 15:55










        • @larsks Even though I followed the article and tried out some variations, it sadly did not work for us. Thank you though. We ended up deciding to rewrite all the stuff which does not in case sensitive file system as other alternatives seem to take too much time.
          – Peter Thomas Horn
          Feb 28 '12 at 8:13














        • 2




          This is completely insane, but IMO the least insane of all other options.
          – jgoldschrafe
          Feb 23 '12 at 14:26












        • @larsks Thank you, I will take a deeper look into it and will try out how it works.
          – Peter Thomas Horn
          Feb 23 '12 at 15:55










        • @larsks Even though I followed the article and tried out some variations, it sadly did not work for us. Thank you though. We ended up deciding to rewrite all the stuff which does not in case sensitive file system as other alternatives seem to take too much time.
          – Peter Thomas Horn
          Feb 28 '12 at 8:13








        2




        2




        This is completely insane, but IMO the least insane of all other options.
        – jgoldschrafe
        Feb 23 '12 at 14:26






        This is completely insane, but IMO the least insane of all other options.
        – jgoldschrafe
        Feb 23 '12 at 14:26














        @larsks Thank you, I will take a deeper look into it and will try out how it works.
        – Peter Thomas Horn
        Feb 23 '12 at 15:55




        @larsks Thank you, I will take a deeper look into it and will try out how it works.
        – Peter Thomas Horn
        Feb 23 '12 at 15:55












        @larsks Even though I followed the article and tried out some variations, it sadly did not work for us. Thank you though. We ended up deciding to rewrite all the stuff which does not in case sensitive file system as other alternatives seem to take too much time.
        – Peter Thomas Horn
        Feb 28 '12 at 8:13




        @larsks Even though I followed the article and tried out some variations, it sadly did not work for us. Thank you though. We ended up deciding to rewrite all the stuff which does not in case sensitive file system as other alternatives seem to take too much time.
        – Peter Thomas Horn
        Feb 28 '12 at 8:13












        up vote
        2
        down vote













        Just see my post here on ubuntuforums:



        http://ubuntuforums.org/showthread.php?t=1497253



        Create a virtual disk



        dd if=/dev/zero of=virtual.dsk bs=1048576 count=150


        Format it



        mkfs.vfat virtual.dsk


        Mount it



        sudo mkdir -p /mnt/vfat
        sudo mount virtual.dsk /mnt/vfat -t vfat -o loop


        PS: Permanently mount:



        /path/to/virtual.dsk /mnt/vfat vfat loop,owner,group,umask=000 0 0


        Along with additional information here:
        http://fatter-keine.dk/helptipsguides/ubuntu/understanding_fstab.html






        share|improve this answer

























          up vote
          2
          down vote













          Just see my post here on ubuntuforums:



          http://ubuntuforums.org/showthread.php?t=1497253



          Create a virtual disk



          dd if=/dev/zero of=virtual.dsk bs=1048576 count=150


          Format it



          mkfs.vfat virtual.dsk


          Mount it



          sudo mkdir -p /mnt/vfat
          sudo mount virtual.dsk /mnt/vfat -t vfat -o loop


          PS: Permanently mount:



          /path/to/virtual.dsk /mnt/vfat vfat loop,owner,group,umask=000 0 0


          Along with additional information here:
          http://fatter-keine.dk/helptipsguides/ubuntu/understanding_fstab.html






          share|improve this answer























            up vote
            2
            down vote










            up vote
            2
            down vote









            Just see my post here on ubuntuforums:



            http://ubuntuforums.org/showthread.php?t=1497253



            Create a virtual disk



            dd if=/dev/zero of=virtual.dsk bs=1048576 count=150


            Format it



            mkfs.vfat virtual.dsk


            Mount it



            sudo mkdir -p /mnt/vfat
            sudo mount virtual.dsk /mnt/vfat -t vfat -o loop


            PS: Permanently mount:



            /path/to/virtual.dsk /mnt/vfat vfat loop,owner,group,umask=000 0 0


            Along with additional information here:
            http://fatter-keine.dk/helptipsguides/ubuntu/understanding_fstab.html






            share|improve this answer












            Just see my post here on ubuntuforums:



            http://ubuntuforums.org/showthread.php?t=1497253



            Create a virtual disk



            dd if=/dev/zero of=virtual.dsk bs=1048576 count=150


            Format it



            mkfs.vfat virtual.dsk


            Mount it



            sudo mkdir -p /mnt/vfat
            sudo mount virtual.dsk /mnt/vfat -t vfat -o loop


            PS: Permanently mount:



            /path/to/virtual.dsk /mnt/vfat vfat loop,owner,group,umask=000 0 0


            Along with additional information here:
            http://fatter-keine.dk/helptipsguides/ubuntu/understanding_fstab.html







            share|improve this answer












            share|improve this answer



            share|improve this answer










            answered May 22 '12 at 5:45









            Quandary

            48638




            48638






















                up vote
                2
                down vote













                Both ZFS and JFS can be configured to be case insensitive:



                zfs create -o casesensitivity=insensitive filesystem

                jfs_mkfs -O /dev/sdax





                share|improve this answer

























                  up vote
                  2
                  down vote













                  Both ZFS and JFS can be configured to be case insensitive:



                  zfs create -o casesensitivity=insensitive filesystem

                  jfs_mkfs -O /dev/sdax





                  share|improve this answer























                    up vote
                    2
                    down vote










                    up vote
                    2
                    down vote









                    Both ZFS and JFS can be configured to be case insensitive:



                    zfs create -o casesensitivity=insensitive filesystem

                    jfs_mkfs -O /dev/sdax





                    share|improve this answer












                    Both ZFS and JFS can be configured to be case insensitive:



                    zfs create -o casesensitivity=insensitive filesystem

                    jfs_mkfs -O /dev/sdax






                    share|improve this answer












                    share|improve this answer



                    share|improve this answer










                    answered May 22 '12 at 7:36









                    jlliagre

                    46.3k783132




                    46.3k783132






















                        up vote
                        1
                        down vote













                        Write your own fuse-wrapper that does case-insensitivity over any other fs? With some python code this could be done quick.






                        share|improve this answer

























                          up vote
                          1
                          down vote













                          Write your own fuse-wrapper that does case-insensitivity over any other fs? With some python code this could be done quick.






                          share|improve this answer























                            up vote
                            1
                            down vote










                            up vote
                            1
                            down vote









                            Write your own fuse-wrapper that does case-insensitivity over any other fs? With some python code this could be done quick.






                            share|improve this answer












                            Write your own fuse-wrapper that does case-insensitivity over any other fs? With some python code this could be done quick.







                            share|improve this answer












                            share|improve this answer



                            share|improve this answer










                            answered Feb 23 '12 at 16:16









                            Leon

                            12818




                            12818






























                                draft saved

                                draft discarded




















































                                Thanks for contributing an answer to Unix & Linux Stack Exchange!


                                • Please be sure to answer the question. Provide details and share your research!

                                But avoid



                                • Asking for help, clarification, or responding to other answers.

                                • Making statements based on opinion; back them up with references or personal experience.


                                To learn more, see our tips on writing great answers.





                                Some of your past answers have not been well-received, and you're in danger of being blocked from answering.


                                Please pay close attention to the following guidance:


                                • Please be sure to answer the question. Provide details and share your research!

                                But avoid



                                • Asking for help, clarification, or responding to other answers.

                                • Making statements based on opinion; back them up with references or personal experience.


                                To learn more, see our tips on writing great answers.




                                draft saved


                                draft discarded














                                StackExchange.ready(
                                function () {
                                StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2funix.stackexchange.com%2fquestions%2f32467%2fcase-insensitive-file-system-for-production-server%23new-answer', 'question_page');
                                }
                                );

                                Post as a guest















                                Required, but never shown





















































                                Required, but never shown














                                Required, but never shown












                                Required, but never shown







                                Required, but never shown

































                                Required, but never shown














                                Required, but never shown












                                Required, but never shown







                                Required, but never shown







                                Popular posts from this blog

                                List directoties down one level, excluding some named directories and files

                                list processes belonging to a network namespace

                                list systemd RuntimeDirectory mounts