Image browsing is not available

I’m extremely new to php.list and have the barest of bare basics under my slippery feet. I have figured out how to create an html template for an email, but when I transfer the HTML it says that

image browsing is not available because directory “/home/mydirectory/public_html/uploadimages” does not exist or is not writeable. I’ve made the uploadimages directory (as well as all the images) writeable, however, I’m worried about giving permissions upward as this is my root directory, and if I recall correctly it’s a huge security risk to give write permissions that high up the chain.

So I have two questions…

  1. Is there a way to make PHP recognize the image directory without creating a security risk OR

  2. Can I uninstall PHPlist (I installed via cPanel’s softalicious) and then reinstall it in a different subdirectory that’s more secure?

Thanks in Advance for your help.

Monica

@Monica You don’t need to change the permissions for any of the phplist directories (presumably installed at /home/xxx//public_html/lists). Only the ‘uploadimages’ directory needs to be writeable, not any of its parent directories.

I’m a bit surprised that there is a permissions problem, as you are using cpanel. Usually the web server runs using your user id, so has (owner) write access to the directory anyway.

Thanks Duncan,

The install is home/xxx/public_htm/MailLists

I’ve made the uploadimages directory writeable

But even when I copy the images into that directory their not seen. Any other thoughts of suggestions?

Oh and I forgot to mention that when I go to look at the directory in the server, the CKFinder shows the correct path, it’s just not showing anything in the box, just white space

public_htm
or
public_html
??

Since I was having so much trouble I uninstalled and the reinstalled. I used the “dir” when telling it where to install.

It installed at

home/XXX/public_html/home/XXX/public_html

I double checked the path above as I thought if looked freaky, but that’s what I get for using dir in the install directory.

My database hasn’t been pulled in yet, so if I need to uninstall again, I’m okay with that. I just want to get it working correctly. I’ve also got a ticket in to my server people They are very helpful, and they might actually be able to go in and make changes for me to make it work. I’m not counting on it though, but I’m willing to send my award-winning chocolate chip cookies. :smiley:

Chocolate Chip Cookies?! I’ll help!

I’d suggest that you get phpList installed first, and worry about the image folder later.

That directory doesn’t look right at all… So the first step is to figure out what directory in the server is the root directory in website…

Make a small html file, and put it where you think the root directory is on the web server… Here’s one: put this in a file called ‘hello.html’, and upload it to your server.

<html>
Hello World!
</html>

Now go to your browser, and type “your_domain_name.com/hello.html” and if it’s in the root directory, then you will see the ‘Hello World!’ message. If that doesn’t show up, move it around until you get the directories all figured out.

Create an empty database, and a database user/password, you’ll need that for the config.php file. Write this information in a place you can recall later, and type it into the config.php file.

When you do, then put the ‘lists’ directory in that root directory. You can change the name later if you want.
Then, go to ‘your_domain_name.com/lists/admin’, and you should see something. (If this is the first time, it will say that it needs to create the database. If you get this message, you’re on the right path).

Create the database, it will ask for a password for the admin user of phpList (write this down somewhere to refer to it later if you forget), and off you go! Configure phpList.

If you decide to change the install directory name, make the corresponding change in the config.php file. (you can do this later).

Dan,

Thanks so much for responding. My awesome webhost tech support has actually agreed to troubleshoot for me. I’m going to hold off until they respond, if they can’t figure it out, I’ll be back to follow your instructions. But I’m betting my money on my support people. TotalChoiceHosting is absolutely awesome!

I will reply with a response positive or negative.

@Monica I have no idea why you thought you had to remove and reinstall phplist.

The CKEditor plugin uses subdirectories of the “uploadimages” directory. One for images, one for flash files, and a third for other files. If you want to bulk copy some images so that you can select them through the editor, then you need to put them in the “image” subdirectory. See https://github.com/bramley/phplist-plugin-ckeditor#settings-page

If you had uploaded an image through the editor then this would probably have been clearer.

You can change the names of those subdirectories if you want to, and also the name of the “uploadimages” directory before you start to use them.

Hi Duncan,

I uninstalled the software because I’d made so many changes to the configurations added directories via file manager. I thought it best to start over with a clean slate. I’ve found that’s sometimes easier

So I’m going to attach a compiled image of different screens and go step-by-step through what I’m trying to do so that gives a clear picture of my predicament. The site will only allow me to upload on graphic, so I pulled all my graphics into a single one. It should be clear if you blow it up in Picture Manager or other basic graphic program.

The software is installed in this directory — home/XXX/public_html/MailList
as shown on the uploaded image

My settings in PHPlist CK Editor are as shown on my attached image

The settings state it shouldn’t be necessary to change this, and originally I left it blank, because I made the assumption that the software automatically. When the software didn’t originally find the image, I went back and entered it the directory path where the images subdirectory is located. When that didn’t work, I restored it to the original setting as shown here.

Since there are several images in my newsletter, I am simply testing the first image. Once I resolve the issue, the rest will fall into place.

I am using HTML for the newsletter. When I flip to the WYSIWYG screen, The text and colors show up, but the images are missing as shown on my attached image

The first image below the header text is the Bestselling author image. I’ve installed the jpg here as logically this is supposed to be where the software pulls the jpg from based on the paths of the software and the original settings in the software. Circled on the graphic

I’ve tested the html << img Src >> path three different ways with the image code reading…

home/XXX/public_html/MailList/images/BestsellingAuthorHeader.jpg
public_html/MailList/images/BestsellingAuthorHeader.jpg
images/BestsellingAuthorHeader.jpg

None of those paths to the image work.

When I doubleclick on the image, I get the image properties box as shown on the uploaded image

The path appears correct, based on the settings in CKEditor. Since it isn’t showing correctly, I click the Browse Server button get this screen as shown on my attached image

When that doesn’t work, I go back to the image properties box, and I click the upload tab and select the file and get this error as shown on my attached image

Since it says it cannot write to the folder, I make sure the folder exists in the appropriate directory home/XXX/public_html/Uploadimages and I give it full permissions (7 7 7)

When I try to upload the directory again, it stills me it cannot write to the directory. I’ve even tried change the file location in Settings to uploads. I can live with uploading files one at a time vs. bulk upload, but I’m frustrated that I can’t figure out why the paths appear to be correct but the software isn’t using what I’ve input.

Hopefully this will clarify what I’m doing and offer up a solution to what I’m having issues with. Any suggestions would be really appreciated. Thanks!Monica

@Monica There are a few things that you seem to have misunderstood.

This line in your config.php file gives the parent directory that the plugin will use for storing and selecting images and other files. What value have you set it to?

define('UPLOADIMAGES_DIR', 'uploadimages');

You seem to have put your images into the same directory as those for phplist. I recommend using a directory outside the phplist code so that your images do not get muddled with phplist’s own images, which would make upgrading more difficult.

Then, within that directory, the plugin uses the “image” subdirectory to store images that you upload through the editor, and shows those images when you want to select one.

This mechanism is for using the editor to upload image files and select those when editing a campaign. If you want to, you can have an entirely separate directory into which you bulk load images, and you can refer to those images directly with the correct url. But that directory would not be accessible through the editor so you could not display and select images.

So, decide on a directory for images, then set the UPLOADIMAGES value in the config file. Again, the actual directory used will be the “image” subdirectory of that.
I suggest using the editor to upload one image file to confirm the directory into which it is stored.

Hi Duncan,

I hope I understood your instructions correctly

I did as you recommended and separated out the images. I created this directory.
home/XXX/public_html/Uploadimages/images

I went into the config.php file and edited it to read
define(‘UPLOADIMAGES_DIR’, 'define(‘UPLOADIMAGES_DIR’, ‘/home/XXX/public_html/uploadimages/images’);

I ensured the graphic was in the defined directory I defined in the config.php file. I then go back to image properties and provide the URL of the image I’ve stored in the directory defined in the config.php file. It doesn’t find the image. I also verified that my URL in the HTML code is correct.

I used the following URL options in the image properties trying to pull in the image
bestsellingauthorheader.jpg
home/XXX/public_html/Uploadimages/Images/bestsellingauthorheader.jpg
/public_html/Uploadimages/Images/bestsellingheader.jpg

When this didn’t work, I modified the config_extended.php file to read the same definition for the Uploadimages directory, thinking perhaps the two config files needed to match. That didn’t work.

I am getting an error message when I click ok on the URL I’ve listed. It states the directory either doesn’t exist or is not writable. The path it says doesn’t exist is
"/home/XXX/public_html/home/XXX/public_html/uploadimages/images

The duplication if the “/home/XXX/public_html” portion of the path in the error is what puzzles me.

I don;t have any idea where the duplicated path is coming from. On the server, the path is simply “home/XXX/public_html/uploadimages/images”

In the config files, it’s “home/XXX/public_html/uploadimages/images”

It’s not duplicated in my newsletter html code either.

I hope I’m being clear enough with my problem. Written communication can be difficult when trying to resolve software issues.

EDITED: Oh, and I just retried to upload a graphic image. I no longer have that capability. I verified that CKEditor is still enable, and that the FCKeditor is disabled. So I’m not sure where the upload to server tab went in the image properties box. I clicked on the image icon on the formatting menu of the CKEditor.

Monica

@Monica You still seem to be making it complicated.

Your config file needs to be simply

define('UPLOADIMAGES_DIR', 'uploadimages');

The value is relative to the web site root directory, so the actual file system path is /home/xxx/public_html/uploadimages. Images will be stored in the image subdirectory (/home/xxx/public_html/uploadimages/image).

Now upload an image using the editor.
Edit a campaign and click the image button on the editor toolbar
Click the Browse Server button. This will show the content of the uploadimages/image directory.
Then upload an image file using the Upload button.

Ok, I cut/pasted your line of code to my config file. It reads

define(‘UPLOADIMAGES_DIR’, ‘uploadimages’);

The value is relative to the web site root directory, so the actual file system path is /home/xxx/public_html/uploadimages. Images will be stored in the image subdirectory (/home/xxx/public_html/uploadimages/image).

I am interpreting this to mean that I have to manually create an “image” directory, which I did.

I tried to upload an image with the editor. I edited a draft campaign with no html at all. I Clicked the image button on the formatting menu. I clicked browse server button. The dialogue box opened an there’s nothing there.

I let the dialogue box sit for a minute or so thinking it had to do some talking back and forth, but after an initial spinning wheel indicating that it’s searching, it stopped and nothing appeared.

It did copy the link that is at the top of the browse dialogue box and pasted it here.

http://monicaburns.com/MailList/admin/plugins/CKEditorPlugin/kcfinder/browse.php?opener=ckeditor&type=image&CKEditor=message&CKEditorFuncNum=1&langCode=en

I know the image file is in the directory as I can see it in CPanel’s file manager.

I know this should be really simple, but I’m missing a piece somewhere. Thanks for all you help.

Here’s the graphic of where the file is located

@Monica In the screenshot of the directory structure, some of the directories have an initial upper case letter. Is that deliberate, as linux is case sensitive and using capital letters can just make things more error prone?
The config file value has to match the actual directory name. similarly the “image” subdirectory must be lower-case, but the plugin will create that if it doesn’t exist.

What value do you have on the Settings page for “Name of the image subdirectory of the file upload directory”? The value should be “image”.

Initial upper case isn’t deliberate. Thirty plus years of typing.

Since you mentioned case sensitive, I modified the appropriate directories to all lowercase, and…

HOORAY!! I see the image!!

Thank you so much for your patience in this. I knew it had to be something simple, and the lowercase/uppercase issue was the problem!!

Monica

1 Like