All images are not displaying - New Install

I have been slowly working through all of the errors for the last 3 months. I am new to server management but have worked through most of the issues until now and haven't found any help on the forums that can help me get past this issue.

Setup:

Amazon Linux server on AWS

I successfully have my website up and running at elgg.diaryearth.com but no images are displaying.

I have the elgg install under /var/www/html

I have the data folder under /tmp/data

The Group/Owner is Apache/Apache for the data folder at 775. 

Everything seems good and I have not done anything fancy on this install besides all of the manual steps you have to do to get it installed on amazon linux. Any ideas on what can cause the issue of no images being able to be displayed?

Thank you!

  • What kind of images are you referring to, i.e. are profile images also not displayed or is it only a problem with images uploaded for example with the bundled Files plugin or with the Tidpyics plugin?

    The problem could be that the creation of the image thumbnails (created when uploading image files) fails for some reason:

    • GD PHP extension not installed on the server (necessary for profile images, Files plugin image uploads and by default also by Tidypics if no other image library is selected),
    • file upload failing in general (not only for image files). Can you upload files of other filetypes (or even image files regardless if they not displayed) with the Files plugin AND then download these files again? If there's a general problem with files and the download fails, the problem is rather with permissions of the data directory,
    • if upload and then download of files work but only image files are not displayed (on the site), it might be that memory_limit and/or post_max_size is set too small in .htaccess for processing the image resizing. The GD php extension needs lots of memory especially for larger images. Try with a very small (in filesize and resolution) image file. If it works for this image file it's likely the memory_limit,
    • Have you tested with ALL 3rd party plugins disabled. You might have added a plugin that is not compatible with the Elgg version you have installed or has some bug causing a problem that results in images not getting displayed.
  • All images are not displaying. I have not installed any 3rd party plugins at this time.

    I just tried uploading a .pdf to the files section and I was able to download it.

    I tried uploading a word document and was able to download it but it was partially corrupt. After word fixed the corruption, it opened fine.

    According to my phpinfo page, it looks like the GD PHP is setup fine: http://elgg.diaryearth.com/phpinfo.php

  • phpinfo() output looks alright, i.e. memory_limit and post_max_size seems also okay.

    Which version of Elgg do you have installed currently? Is it the latest version? If not, update to the latest version as this might fix the issue (specifically if you are on 2.3.0 and not 2.3.1 or newer).

    Just to make sure I understand the problem correctly: you are referring to uploaded images / profile images only or do you also (or instead) refer to static images / icons not uploaded but part of Elgg core's default theme?

  • It is both elgg images from default theme and uploaded images/profile images. 

    I am on Release - 2.3.2, Version - 2016092300

  • Enable logging and see what the server logs say. Maybe there is a PHP parsing error somewhere, accidentally added new line before the opening <?php tag

  • If the static images also fail to show up, it's quite unlikely a problem with the GD php extension on image resizing alone if at all.

    You can also check if image resizing has worked for an uploaded image, e.g. a profle image, by looking into the data directory to see if you find the resized image file belonging to a original uploaded image. If you have uploaded a profile image for your account, look into /tmp/data/<NUMBER>/<ACCOUNT_GUID>profile to see if you find more than 1 image file there of the profle image in different sizes. If they are there the problem is with displaying the images only.

    If you are also not using ANY 3rd party plugins (this means also no theme plugin in case you thought this is differenent), there are three possible reasons I can currently think of why the images don't show. Also, as Ismayil mentioned already the log file(s) (Apache and/or php error log in case there's a separate php error log) might give some hints what could be wrong.

    If the logs don't give any further information it could be

    • a problem with Elgg's caching mechanisms, especially if you are using the "cache" symlink in the Elgg root folder that points to the views_simplecache folder in the data directory. For testing if there's a problem with caching you can disable all caching options in the advanced site settings to see if it makes a difference.
    • some damaged file(s) of Elgg core somewhere in the install folder (though I think this is rather a unlikely possibility if everything else works fine). Simply overwriting the install folder with the content of the Elgg zip archive (in case you have installed with the zip) would likely replace any damaged file with an undamaged version of the file.
    • or it might be a problem with the Apache config. I came across this posting https://ubuntuforums.org/showthread.php?t=1385583 where someone also had problem with images not showing up. In this case it helped to add a line to the Apache config to disable the sendfile syscall. The line to be added would be

    EnableSendfile off

    But I'm not sure how exactly the Apache config is to be done on your system as it might be handled differently on different server flavours, possibly with vitual servers in use etc. Maybe you would need to ask the Amazon support with regards where to add it.

    The problem with the sendfile usage of Apache (if it is an Apache config problem) could also be caused by the location of your data directory in the /tmp folder. It might be caused by how the /tmp folder is mounted if it's for example on a separate partition or network device.

    In any case I think the /tmp folder is a bad place for the data directory anyway. As the name "tmp" already indicates this folder is for temporary stuff that is not critical when lost. On some system the /tmp folder is even cleaned up (content deleted!) on a regular basis to save disc space - and you surely do NOT want that to happen with the content of your data directory. So, I would suggest you migrate the data directory to another location (as long as it's outside /var/www and enough disc space is available you can place it whereever you think it fits best).

  • ok, you have helped point me in the right direction for what to look for. I see now that in the user's directory, the file folder is at 755 but the profile folder is at 700. Is there a reason why the security would be different? I am guessing that might be the reason why the pictures are not displaying? They are both set to apache is the owner and group though.

  • I don't think the 700 permissions are the reason the images are not shown. The data directory contains the files uploaded by the users and the files in the data directory are written by Apache (and need to be readable by Apache). Apache saves them with 700 permissions and then can also read them again when they are needed.

    Any wrong permissions of content in the data directory would also not explain why static images of the theme are not showing up (and apparently only image type files have a problem?) as they are not within the data directory. Have you tried the change in the Apache config I suggested? Even if this doesn't work there might be something else wrong with the Apache setup (difficult for us to guess as it seems an unusual issue not happening under normal circumstances with the images being displayed for us apparently).

  • I took a look at the httpd.conf which is the apache config on my setup and it was defaulting to EnableSendFile Off. I went ahead and added the line anyway and it did not change. So it looks like that is not the issue.

    I opened up the PHP error log and I am seeing this which it looks like it might be related. It is not very specific though and googling the errors does not bring up much so I am not sure where to go next: 

     

    [Sat Jun 24 15:48:16.209204 2017] [mpm_prefork:notice] [pid 28314] AH00169: caught SIGTERM, shutting down
    [Sat Jun 24 15:48:16.396069 2017] [suexec:notice] [pid 11552] AH01232: suEXEC mechanism enabled (wrapper: /usr/sbin/suexec)
    [Sat Jun 24 15:48:16.420119 2017] [auth_digest:notice] [pid 11553] AH01757: generating secret for digest authentication ...
    [Sat Jun 24 15:48:16.420685 2017] [lbmethod_heartbeat:notice] [pid 11553] AH02282: No slotmem from mod_heartmonitor
    [Sat Jun 24 15:48:16.484679 2017] [mpm_prefork:notice] [pid 11553] AH00163: Apache/2.4.25 (Amazon) PHP/5.6.30 configured -- resuming normal operations
    [Sat Jun 24 15:48:16.484701 2017] [core:notice] [pid 11553] AH00094: Command line: '/usr/sbin/httpd'
    [Sat Jun 24 15:48:23.091704 2017] [:error] [pid 11556] [client 172.7.153.195:52351] NOTICE: Unable to resolve resource URL for a file that does not exist on filestore, referer: http://elgg.diaryearth.com/
    [Sat Jun 24 15:48:23.092802 2017] [:error] [pid 11556] [client 172.7.153.195:52351] NOTICE: Type-subtype 'object:bookmarks' does not exist!, referer: http://elgg.diaryearth.com/
    [Sat Jun 24 15:48:23.099257 2017] [:error] [pid 11556] [client 172.7.153.195:52351] NOTICE: Unable to resolve resource URL for a file that does not exist on filestore, referer: http://elgg.diaryearth.com/
    [Sat Jun 24 15:48:23.102813 2017] [:error] [pid 11556] [client 172.7.153.195:52351] NOTICE: Unable to resolve resource URL for a file that does not exist on filestore, referer: http://elgg.diaryearth.com/
    [Sat Jun 24 15:48:23.106354 2017] [:error] [pid 11556] [client 172.7.153.195:52351] NOTICE: Unable to resolve resource URL for a file that does not exist on filestore, referer: http://elgg.diaryearth.com/
    [Sat Jun 24 15:48:23.109799 2017] [:error] [pid 11556] [client 172.7.153.195:52351] NOTICE: Unable to resolve resource URL for a file that does not exist on filestore, referer: http://elgg.diaryearth.com/
    [Sat Jun 24 15:48:23.117125 2017] [:error] [pid 11556] [client 172.7.153.195:52351] NOTICE: Unable to resolve resource URL for a file that does not exist on filestore, referer: http://elgg.diaryearth.com/

     

  • I don't know if these messages are connected with the problem of the images not showing up. They are not errors but only warnings.

    I think "Type-subtype 'object:bookmarks' does not exist!," is caused by the Bookmarks plugin being disabled while a bookmark entry exists and Elgg tries to display it (maybe on the activity page or in the stats page/widget in the admin section).

    I'm not sure why the resource url notices show up as the info about what kind of resource is to be handled is missing. Maybe it refers to some image files indeed but I don't know why they are not to be found.

    The Apache config change was a likely possibility as you said that static images (any image) is missing. A pity that it wasn't the solution.

    Have you tested if it makes any difference when you disable ALL caching options on the advanced site settings page of Elgg? Or if it helps to overwrite the Elgg install files with the complete Elgg zip archive content in case any core files are missing or are damaged for some reason?

Beginning Developers

Beginning Developers

This space is for newcomers, who wish to build a new plugin or to customize an existing one to their liking