Installation fails on unmanaged VPS LAMP server



  • Well, setting the group to www-data was not such a good idea 😟 : the affected directories were browsable. I changed it back to root. I am now still finding out the right permissions for what directory. Should app.php be executable for visitors (world) f.e.? And index.php? Or just readable but not writable and executable? Is this pre-set for the downloaded and unzipped ISVR files or do I have to configure it, or only the aforementioned directories and files? I am a bit puzzled about this one, it would be good for newbies to have additional instructions for this matter in the manual. Anyway I hope I will get there and have a working application soon.

    For now, I set permissions to 770 to be safe, until I can safely give more permissions to visitors when my understanding is better.



  • I have been comparing the (pre-set) permissions on the files that i unzipped on my fedora home pc, with the permissions on the server. To my unpleasant surprise, it seems that the write permissions on the directories and files on the server are all disabled I started to make the permissions on the server the same as from the unzipped and uninstalled files I originally downloaded to my home pc. But this is a very tedious task, to change all by hand. On directories, one can use chmod -R, but not on the *.php files. There are a lot of php files..

    So my questions: how is this possible, that the permissions were changed? I sftp'ed the zip file to the server as a regular user k3dadm (because I blocked ssh for root access for security reasons), su'ed to root, copied the zip file from the home k3dadm directory to /var/www/my.domain.com/ and unzipped as root. Because the unzip command also produced the IdeaSpace-1.1.0 root directory, I deleted the public_html folder (there was nothing in there anyway) and mv'ed the IdeaSpace folder to public_html folder, in order to have a public_html folder again. Somewhere in the process all write permissions were stripped off. I am very puzzled now.

    It seems that in the original zip file, all directories have drwxrwxr-x permissions and all php files -rw-rw-r-- permissions, but not on my server. Is there a quick way to give back all original permissions to the php files in the directory tree? Some chmod command that works -say- through all directories at once? To change this for the whole directory tree, for directories one can use chmod -R, is something like this also possible for all php files at once? Or should I enable root on ssh again, ftp as root and then re-unzip everything? Will the permissions preserved then?
    Thanks again!



  • So, I enabled root access on ssh again, sftp'ed the zip file to the /var/www/mydomain.com again and unzipped. Still the same phenomenon: on the group permissions, the write permission is stripped off. I have no clue why...

    By the way, uploading the already unzipped files from my home computer (with group write enabled) leads to the same results. So it does not look like an "unzip" issue to me.

    With the command: unzip -Z IdeaSpace-1.1.0.zip I get totally different permissions in the zipfile than when actually extracted. Unzip -Z shows the permissions as set in the zip file.



  • @WeddingDJ: I made the installation to work and now the next hurdle showed up. I cannot connect to the database. I created a user in mysql, created a database, granted permissions to the user. The user is able to login to mysql. Bytheway, is logging in in mysql different from logging in on a database?

    I have read one of your posts about connecting to a database, but I do not understand how and where to specify the hostname together with the database name. Could you specify this more? Thank you in advance!



  • @ WeddingDJ and others: Hurray, I got it installed! It took a lot of time and I learned a lot doing the installation.
    Special thanks to WeddingDJ 👏

    The only thing I am worried about is the following: to make it work, I set all directory and file permissions to 0770 and modified the group to www-data to make it writable for the webserver. Now, I can browse trough the different directories from outside. Any tips to prevent this without disturbing the access from apache?

    Thanks!



  • @WeddingDJ :

    I am sorry to say that my installation is running, but it generates internal server errors when uploading 3D models. I installed the 3d-model theme and created a new space. Then I tried to upload a model. I have set the php.ini memory limit to 512MB and max. filesize to 100MB. The models I tried to upload varied in size between 13MB and 78MB, .OBJ, Collada formats.

    I checked the laravel.log file for errors and found serveral errors. I cannot interpret those unfortunately. Some examples:

    [2018-04-14 16:51:27] local.ERROR: exception 'BadMethodCallException' with message 'Method hasInput does not exist.' in /var/www/my.domain.com/public_html/vendor/laravel/framework/src/Illuminate/Support/Traits/Macroable.php:74

    2018-04-14 16:53:19] local.ERROR: exception 'ErrorException' with message 'Undefined variable: model_obj' in /var/www/my.domain.com/public_html/storage/framework/views/feaacd99492406e0cea13d5303d986a50d46d0ce.php:8

    Next exception 'ErrorException' with message 'Undefined variable: model_obj (View: /var/www/my.domain.com/public_html/resources/views/admin/asset_library/model_obj_mtl_preview.blade.php)' in /var/www/my.domain.com/public_html/storage/framework/views/feaacd99492406e0cea13d5303d986a50d46d0ce.php:8

    If you wish, I can send you a more detailed log file?

    By the way, the vps specification is: 1GB of memory, one Xeon processor. Memoryload is 209MB for OS, webserver and IS application.

    In the /var/www/my.domain.com/logs directory I found in the error log these lines:

    [Sat Apr 14 18:37:55.350168 2018] [:error] [pid 10015] [client xx.xxx.xx.xxx:51941] PHP Warning: POST Content-Length of 59628127 bytes exceeds the limit of 8388608 bytes in Unknown on line 0, referer: https://my.domain.com/index.php/admin/space/1/edit/model/add

    I have set the post limit in php.ini to 0 (unlimited), now the files load up correctly (59MB 😉 but the two turning arrows keep turning. According to lavarel.log:

    [2018-04-15 13:45:40] local.ERROR: exception 'Intervention\Image\Exception\NotSupportedException' with message 'GD Library extension not available with this PHP installation.' in /var/www/my.domain.com/public_html/vendor/intervention/image/src/Intervention/Image/Gd/Driver.php:16

    Now, I previously installed the ImageMagick extension, not the GD library extension. Should I install the GD library extension as well?

    I could view the uploaded .dae model in the assets, it appears it shows only vertice color, not the texture. Also, I could rotate the model, but could not zoom in or out nor displace the model in the viewport. Further, model preview gives me a blank page and nothing happens.



  • @Miguel Did you try installing the GD Library extension?

    Did you go through the IdeaSpaceVR installation process? I am asking because it tests wether GD or Imagick is installed.

    Did you upload the texture files for you .dae model (at the same time when uploading the model)?

    Regarding file permissions: only www-data group should have write rights on a couple of directories where it is needed (see installation docs).



  • @WeddingDJ
    I just saw that you can configure using Imagick instead of GD in the config file under config/image.php



  • Hi @WeddingDJ ,

    The installation process went o.k., with all green checkmarks. I have modified the config/image.php and now it shows the thumbnail.
    By the way, I discovered the console in the debugging tools of firefox (quantum 59). I am not a developer so most is abracadabra to me, but I noticed the following:

    From the admin page, trying to preview a space (myspace):

    Loading of <script> with source ‘https://www.my.domain.com/index.php/themes/ideaspace-3d-model/js/aframe/aframe-v0.7.1.min.js’ has failed.
    myspace:28
    Loading of <script> with source ‘https://www.my.domain.com/index.php/themes/ideaspace-3d-model/js/gradientsky.min.js’ has failed.
    myspace:29
    Loading of <script> with source ‘https://www.my.domain.com/index.php/themes/ideaspace-3d-model/js/aframe-html-shader-component/aframe-html-shader.min.js’ has failed.
    myspace:30
    Loading of <script> with source ‘https://www.my.domain.com/index.php/themes/ideaspace-3d-model/js/aframe-extras/aframe-extras.loaders.min.js’ has failed.
    myspace:31
    Loading of <script> with source ‘https://www.my.domain.com/index.php/themes/ideaspace-3d-model/js/aframe-orbit-controls/aframe-orbit-controls-component.js’ has failed.
    myspace:32
    Loading of <script> with source ‘https://www.my.domain.com/index.php/themes/ideaspace-3d-model/js/kframe/aframe-look-at-component.min.js’ has failed.
    myspace:33
    Loading of <script> with source ‘https://www.my.domain.com/index.php/themes/ideaspace-3d-model/js/isvr-vr-mode.js’ has failed.
    myspace:34
    Loading of <script> with source ‘https://www.my.domain.com/index.php/themes/ideaspace-3d-model/js/isvr-model-center.js’ has failed.
    myspace:35
    Loading of <script> with source ‘https://www.my.domain.com/index.php/themes/ideaspace-3d-model/js/isvr-hotspot.js’ has failed.
    myspace:36
    Loading of <script> with source ‘https://www.my.domain.com/index.php/themes/ideaspace-3d-model/js/isvr-annotation.js’ has failed.
    myspace:37
    Loading of <script> with source ‘https://www.my.domain.com/index.php/themes/ideaspace-3d-model/js/isvr-teleportation.js’ has failed.
    myspace:38
    Loading of <script> with source ‘https://www.my.domain.com/index.php/themes/ideaspace-3d-model/js/main.js’ has failed.

    it is possible to view the uploaded model in the assets preview. I can only rotate a bit and the viewers perspective is very strange. No zooming in or out nor panning possible.

    Here is the output when opening the assets preview screen(it is in dutch, sorry I cannot translate it to english, I hope you can interpret nevertheless):

    Onbekende eigenschap ‘-moz-osx-font-smoothing’. Declaratie genegeerd.
    font-awesome.min.css:4:662
    ‘progid’ gevonden waar ‘not’, URL of filterfunctie verwacht. Fout tijdens het parsen van waarde voor ‘filter’. Declaratie genegeerd.
    font-awesome.min.css:4:1900
    ‘progid’ gevonden waar ‘not’, URL of filterfunctie verwacht. Fout tijdens het parsen van waarde voor ‘filter’. Declaratie genegeerd.
    font-awesome.min.css:4:2063
    ‘progid’ gevonden waar ‘not’, URL of filterfunctie verwacht. Fout tijdens het parsen van waarde voor ‘filter’. Declaratie genegeerd.
    font-awesome.min.css:4:2229
    ‘progid’ gevonden waar ‘not’, URL of filterfunctie verwacht. Fout tijdens het parsen van waarde voor ‘filter’. Declaratie genegeerd.
    font-awesome.min.css:4:2400
    ‘progid’ gevonden waar ‘not’, URL of filterfunctie verwacht. Fout tijdens het parsen van waarde voor ‘filter’. Declaratie genegeerd.
    font-awesome.min.css:4:2573
    ‘alpha(’ gevonden waar ‘not’, URL of filterfunctie verwacht. Fout tijdens het parsen van waarde voor ‘filter’. Declaratie genegeerd.
    assets.css:24:11
    Fout tijdens het parsen van waarde voor ‘-webkit-text-size-adjust’. Declaratie genegeerd.
    normalize.less:11:2
    Onbekende pseudo-klasse of pseudo-element ‘-webkit-inner-spin-button’. Regelset genegeerd vanwege foute selector.
    normalize.less:346
    Onbekende pseudo-klasse of pseudo-element ‘-webkit-search-cancel-button’. Regelset genegeerd vanwege foute selector.
    normalize.less:367
    Onbekende eigenschap ‘orphans’. Declaratie genegeerd.
    bootstrap.css:228:3
    Onbekende eigenschap ‘widows’. Declaratie genegeerd.
    bootstrap.css:237:2
    Onbekende eigenschap ‘-moz-osx-font-smoothing’. Declaratie genegeerd.
    glyphicons.less:35:47
    Fout tijdens het parsen van waarde voor ‘outline’. Declaratie genegeerd.
    scaffolding.less:70:2
    Fout tijdens het parsen van waarde voor ‘margin-top’. Declaratie genegeerd.
    forms.less:60:2
    Fout tijdens het parsen van waarde voor ‘outline’. Declaratie genegeerd.
    forms.less:84:2
    Onbekende pseudo-klasse of pseudo-element ‘-ms-input-placeholder’. Regelset genegeerd vanwege foute selector.
    vendor-prefixes.less:108:34
    Onbekende pseudo-klasse of pseudo-element ‘-webkit-input-placeholder’. Regelset genegeerd vanwege foute selector.
    forms.less:137:4
    Onbekende pseudo-klasse of pseudo-element ‘-ms-expand’. Regelset genegeerd vanwege foute selector.
    forms.less:146:2
    ‘-webkit-min-device-pixel-ratio’ gevonden waar naam van mediafunctie verwacht.
    bootstrap.css:2605
    Fout tijdens het parsen van waarde voor ‘margin-top’. Declaratie genegeerd.
    bootstrap.css:2656:14
    Onbekende eigenschap ‘user-select’. Declaratie genegeerd.
    bootstrap.css:3011:1
    Fout tijdens het parsen van waarde voor ‘outline’. Declaratie genegeerd.
    bootstrap.css:3033:20
    ‘alpha(’ gevonden waar ‘not’, URL of filterfunctie verwacht. Fout tijdens het parsen van waarde voor ‘filter’. Declaratie genegeerd.
    bootstrap.css:3043:1
    Fout tijdens het parsen van waarde voor ‘border-top’. Declaratie genegeerd.
    dropdowns.less:20:18
    ‘progid’ gevonden waar ‘not’, URL of filterfunctie verwacht. Fout tijdens het parsen van waarde voor ‘filter’. Declaratie genegeerd.
    bootstrap.css:3575:1
    Fout tijdens het parsen van waarde voor ‘border-bottom’. Declaratie genegeerd.
    dropdowns.less:194:4
    Niet-herkende at-regel of fout bij parsen van at-regel ‘@-o-keyframes’.
    progress-bars.less:18:2
    Fout tijdens het parsen van waarde voor ‘background-image’. Declaratie genegeerd.
    bootstrap.css:5130:1
    Fout tijdens het parsen van waarde voor ‘background-image’. Declaratie genegeerd.
    progress-bar.less:4:2
    Fout tijdens het parsen van waarde voor ‘background-image’. Declaratie genegeerd.
    progress-bar.less:4:2
    Fout tijdens het parsen van waarde voor ‘background-image’. Declaratie genegeerd.
    progress-bar.less:4:2
    Fout tijdens het parsen van waarde voor ‘background-image’. Declaratie genegeerd.
    media.less:3:2
    Onbekende eigenschap ‘zoom’. Declaratie genegeerd.
    media.less:21:2
    ‘alpha(’ gevonden waar ‘not’, URL of filterfunctie verwacht. Fout tijdens het parsen van waarde voor ‘filter’. Declaratie genegeerd.
    bootstrap.css:5851:10
    ‘alpha(’ gevonden waar ‘not’, URL of filterfunctie verwacht. Fout tijdens het parsen van waarde voor ‘filter’. Declaratie genegeerd.
    close.less:28:4
    ‘alpha(’ gevonden waar ‘not’, URL of filterfunctie verwacht. Fout tijdens het parsen van waarde voor ‘filter’. Declaratie genegeerd.
    opacity.less:4:2
    ‘alpha(’ gevonden waar ‘not’, URL of filterfunctie verwacht. Fout tijdens het parsen van waarde voor ‘filter’. Declaratie genegeerd.
    modals.less:80:2
    ‘alpha(’ gevonden waar ‘not’, URL of filterfunctie verwacht. Fout tijdens het parsen van waarde voor ‘filter’. Declaratie genegeerd.
    tooltip.less:18:2
    Onbekende eigenschap ‘line-break’. Declaratie genegeerd.
    bootstrap.css:5988:1
    ‘alpha(’ gevonden waar ‘not’, URL of filterfunctie verwacht. Fout tijdens het parsen van waarde voor ‘filter’. Declaratie genegeerd.
    tooltip.less:19:32
    Onbekende eigenschap ‘line-break’. Declaratie genegeerd.
    popovers.less:28:14
    ‘transform-3d’ gevonden waar naam van mediafunctie verwacht.
    vendor-prefixes.less:60:10
    ‘alpha(’ gevonden waar ‘not’, URL of filterfunctie verwacht. Fout tijdens het parsen van waarde voor ‘filter’. Declaratie genegeerd.
    gradients.less:12:4
    Fout tijdens het parsen van waarde voor ‘background-image’. Declaratie genegeerd.
    carousel.less:113:4
    ‘progid’ gevonden waar ‘not’, URL of filterfunctie verwacht. Fout tijdens het parsen van waarde voor ‘filter’. Declaratie genegeerd.
    gradients.less:11:4
    Fout tijdens het parsen van waarde voor ‘background-image’. Declaratie genegeerd.
    bootstrap.css:6346:19
    ‘progid’ gevonden waar ‘not’, URL of filterfunctie verwacht. Fout tijdens het parsen van waarde voor ‘filter’. Declaratie genegeerd.
    carousel.less:123:4
    ‘alpha(’ gevonden waar ‘not’, URL of filterfunctie verwacht. Fout tijdens het parsen van waarde voor ‘filter’. Declaratie genegeerd.
    bootstrap.css:6356:10
    ‘#000\9 ’ gevonden waar kleur verwacht. Fout tijdens het parsen van waarde voor ‘background-color’. Declaratie genegeerd.
    carousel.less:209:4
    Niet-herkende at-regel of fout bij parsen van at-regel ‘@-ms-viewport’.
    bootstrap.css:6525:1
    A-Frame Version: 0.7.1 (Date 18-10-2017, Commit #0da6cf4)
    aframe-asset-library-v0.7.1.min.js:388:2257
    three Version: ^0.87.0
    aframe-asset-library-v0.7.1.min.js:388:2330
    WebVR Polyfill Version: ^0.9.36
    aframe-asset-library-v0.7.1.min.js:388:2383
    Onbekende pseudo-klasse of pseudo-element ‘-webkit-full-screen’. Regelset genegeerd vanwege foute selector.
    assets:1:121
    Fout tijdens het parsen van waarde voor ‘cursor’. Declaratie genegeerd.
    assets:1:333
    Fout tijdens het parsen van waarde voor ‘cursor’. Declaratie genegeerd.
    assets:1:433
    Selector verwacht. Regelset genegeerd vanwege foute selector.
    assets:1:450
    Fout bij brontoewijzing: request failed with status 404
    Bron-URL: https://www.my.domain.com/public/aframe/aframe-asset-library-v0.7.1.min.js
    Brontoewijzings-URL: aframe-v0.7.1.min.js.map[Meer info]
    Fout bij brontoewijzing: request failed with status 404
    Bron-URL: https://www.my.domain.com/public/jquery/jquery.min.js
    Brontoewijzings-URL: jquery.min.map[Meer info]

    The thing that I have tried is setting the permissions on the files higher etc. but it dit not change the situation.

    From the Edit Model Details screen: it loads the model, but these messages are shown in the debugger (I understand the image message, I hoped that it would be possible to load 8192x8192 textures 😉

    THREE.WebGLRenderer 87
    aframe-asset-library-v0.7.1.min.js:105:29383
    core:a-assets:warn Asset loading timed out in 3000 ms
    aframe-asset-library-v0.7.1.min.js:26:633
    THREE.WebGLRenderer: image is too big (8192x8192). Resized to 4096x4096
    <img crossorigin="anonymous" src="https://www.my.domain/public/assets/user/model3d/FAMs1hyfg1aZLTHys3thP95Lsl75YE/Mare .jpg">
    aframe-asset-library-v0.7.1.min.js:104:23681



  • Oh, by the way, my models show up fine on Sketchfab and P3D as well as in my 3D software, so model quality is o.k.



  • Loading of <script> with source ‘https://www.my.domain.com/index.php/themes/ideaspace-3d-model/js/aframe-html-shader-component/aframe-html-shader.min.js’ has failed.

    index.php must not appear in the path. This indicates that mod_rewrite is not enabled/installed or that the .htaccess file in the root directory of IdeaSpaceVR is missing.



  • @Miguel ok, as long as you upload your texture files as well, it should work in the 3D model theme as well.



  • @WeddingDJ

    Thank you for your remarks again. i am shure mod_rewrite is enabled, it is in the virtualhost file etc. and the .htaccess is also there. It is correct however, that the index.php in the url show up nevertheless. i have searched for errors, but will continue to check where it goes wrong, something must be... Sorry for asking so much from you, appreciate it. I feel I am close to a working system, but not yet 🙂



  • @Miguel I would be interested in your issue with your 3D model and textures, do you have more infos on that, especially the image texture format.



  • Hello @WeddingDJ, I have succeeded in making everything work, in the end the mod_rewrite works finally. So I can upload models, preview them, remove them etc. Thumbnails are generated quite fast as well despite the big files (50-60MB) It is a great program! BUT... models show up in weird perspective, I cannot pan and zoom, just rotating in some way. Maybe I should check out the developers information on the IdeaSpacevr website to be able to control all this.

    I tested with .obj 4096x4096 jpg and I will try some other formats as well. I also used 8192x8192 jpg ISVR scales it down to 4096x4096 unfortunately. I like very detailed textures although it might be overkill, so I will reconsider using such big files as texture files. In my photogrammetry software and on Sketchfab, my models look good and the viewport navigation is great. I will try to decimate the meshes and textures, so they will load more quickly when I will serve my models online eventually.

    So my only concern i how the viewport behaves and navigates. I do not use nor target VR users, but mainly PC screen users as not many people employ a VR system as yet.



  • Hello @Miguel

    when editing your model content in ISVR, did you see the fields "Model Scale in VR" (used instead of live pan and zoom) and "Camera Distance to Model When Not Viewed in VR"? Do these parameters help to get a better perspective?

    If you would like to keep the textures in your high resolution dimensions, I could consider adding a parameter which says something like "do not scale textures"...

    Is live pan and zoom necessary in your opinion?

    If you could share your model files I could test it on my end as well. I aim for making the 3D Model theme as good as Sketchfab. 😉



  • Hi @WeddingDJ

    Yes I saw those fields, I must have misunderstood where they are for. I think also, that the distorted perspective might have something to do with my models not being centered in the viewport. I guess this should be done before uploading. I will do some more tests this evening.

    It would be good to have a navigation style similar to the other 3D online viewers like Autodesk, P3D and Sketchfab, so the user experience will be intuitive and similar. Being able to live zoom, pan, tilt and orbit around would be a very nice improvement. I do not care for some sort of "model inspector" but it would be nice to be able to do shading on the model and a also a shadeless option. My models show up best with no shading. Also, to be able to switch off vertex colors would be good, that way only the photo textures show up. In general, with vertex colors, my models have a bit bumpy quality on parts with less texture like skin, with Meshmixer or Meshlab this can be corrected, but it is an extra step in the process then. And an option to disable downscaling from 8192x8192 would be nice, so big (full body) scans keep a good resolution, at the expense of using more resources obviously.

    I would be happy to provide you with one of my models for testing and if I can be of any help, I would be glad to help testing as well. I am no coder unfortunately.

    And yes, to be able to assign logins as a plugin for users so they can have their own space or protected area, that would also be nice.
    Thanks!



  • @ Weddingdj

    For the Ideaspace 3D models theme, you use the webVR API. Maybe it would be a good idea to use webGL API/framework for 3d model viewing? There are a lot of frameworks like babylon.js, three.js, blend4web etc. Just a suggestion.. I'm looking into this matter but for me it is too difficult to develop such a theme.



  • @Miguel I am using A-Frame which uses three.js which uses the WebVR API. VR is an important part of the theme because it allows you to teleport around the 3D model in VR.

    Thanks for your detailed previous answer, I am no 3D specialist but I take your suggestions into account. I think if I can integrate similar functionality from Sketchfab for the theme, it would be already cool.

    Could you send me a link per email where I could download your model?



  • @ weddingdj

    I have sent you a download link for a body scan model. It would be cool to mimic Sketchfab navigation for shure! I understand you had VR headset in mind when you developed this theme. One question, you should create one space per model, am I correct?


Log in to reply