How do I create a user for Wordpress to do FTP stuff with, and give it proper permissions? - linux

I am setting up wordpress on my Ubuntu server.
To install a wordpress theme, I need to provide wordpress with an FTP account that it can use to download the theme files.
I tried my usual FTP user and it is saying "cannot create directory ...."
How do I create an FTP user that wordpress can use to install themes and give it the proper permissions it needs to do so?
Running VSFTPD on Ubunu 12.04 with Webmin
Thanks

First create an FTP user, the set them to the WordPress group. The FTP user must have access permission to your upload, tmp, and template folders.

Related

How to install VQmod extension for opencart 2.0.x.x without using FTP

I have installed vqmod extension for opencart 2.0.1.0 from following link
http://www.opencart.com/index.php?route=extension/extension/info&extension_id=19501
I have followed installation steps till replaced files.
Now, how I should upload Opencart modifications on localhost.
On admin panel made following setting System->Setting->Store Edit->FTP
FTP Host : localhost
FTP Port : 22
FTP Username : XXXXXX
FTP Password : ******
FTP Root : C:\wamp\www\xxxx
Enable FTP : Yes
But still vqmod is not installed.So, where I am going wrong.
Note: I have made many changes in core files of opencart.
Hope so which doesn't affect vqmod installation.
Thanks in advance for any help.
Looks like you have access directly to your server (localhost - WAMP server), I suggest to follow the official instructions from github.com (https://github.com/vqmod/vqmod/wiki/Installing-vQmod-on-OpenCart) or try to follow my instructions below
First, you need to uninstall the one that you did, just navigate to /admin/controller/extension/ => Delete (backup first) installer.php and modification.php => Rename installer.php.original to installer.php and rename modification.php.original to modification.php
Second, to install vQmod for OpenCart 2:
Download v2.5.1-opencart.zip
Unzip it, inside you will find a folder named "vqmod"
FTP/Copy/Transfer "vqmod" folder to the root of your OpenCart installed folder (where you see: admin, catalog, image, system folders)
Make sure vqmod folder is writable (I guess you don't need to do this with WAMP server)
Then go to http://www.yoursite.com/vqmod/install - if you see a success message, then installation is done. If you see "index.php not writeable", then you need to set your root OpenCart index.php to writable. If you see "Administrator index.php not writeable", then make the "/Admin/index.php" to writable.
I believe for WAMP server (running under Windows), to make something writable = make sure that file don't have Read Only.
If you are not clear about something, just visit github page: https://github.com/vqmod/vqmod/wiki/Installing-vQmod-on-OpenCart
If you still have issue, post comments.

FTP alias of home to the www dir

Created in ubuntu all the necessary configuration for access via FTP, but at one point I found a problem:
To restrict each user to only access to your /home/$USER but I want each user to access the folder /www/$DOMAIN
You can make an alias? Or alo for the same effect ... I tried a link but it gives an error and the connection goes down on FTP ...
Help: S
Look at /etc/proftpd/proftpd.conf if you've used this log
EDIT: Do you want the user both access www & home?
If you want your user to access /var/www/USER try ln -s /var/www/user /home/USER/www
and then in the proftpd.conf it'll look like ~/www

Updating WordPress with SSH (Cent OS)

I am new to SSH and Linux and I hope someone can help. I am working on a site with a dedicated server (VPS) and I am also working with WordPress. I used SSH to log into the site's files with Cyberduck (I've also used FileZilla successfully) and install WordPress on the server.
The problem I'm having now is that I can't edit or add any plugins or files on WordPress because WordPress doesn't have access to the site's FTP which is standard. It asks for credentials and when I attempt to enter them into the WordPress dashboard, it doesn't work. There is an option for FTP and there is an option for FTPS (SSL). I know these are different than SSH but I tried the SSH credentials anyway and obviously they didn't work.
I then logged into the SSH through Mac Terminal and did the instructions here:
1. Login as root through SSH.
2. Next add the user account you want using the 'useradd' command
useradd <username>
3. Now create a special group for that user.
groupadd <groupname>
4. Now to add the user to the group
gpasswd -a <username> <groupname>
5. Change the group ownership of the special directory to that group.
chgrp -R groupname
/path/to/your/web/directory
6. Enable write permissions
chmod -R g+rw
/path/to/your/web/directory
And it worked. I was able to add a new user (and I could confirm this by looking at the /etc/passwd file). I then logged out and tried to log in with Cyberduck using the new credentials and setting it to FTP (instead of SSH) and it didn't work. It did however work to log in with SSH with the new user credentials. So it seems I can successfully add a new SSH user but not a new FTP user.
I need the user to be FTP so I can hook WordPress up and begin editing. How do I specific the user to be FTP as opposed to SSH? Thanks for any help!
I've found an answer to my question and figured I'd document here for anyone else who runs across this issue. It's surprisingly easy.
Just go to this link and download the plug-in:
http://wordpress.org/plugins/ssh-sftp-updater-support/
You obviously have to upload this straight into your WordPress directory in the SFTP (/wp-content/plugins) in order for it to work correctly since it won't work from within the WordPress dashboard.
Once those files are there, when WordPress prompts you to login to your 'FTP' it will have an option for SSH which you can select and log-in. Voila!

Users can't upload files, even with permissions set to them using vsftpd

I have a cloud hosting linux solution. I had vsftpd working on it, but after having issues and tinkering with a lot of settings, I now have an issue where users can login using FTP and connect to the correct home directory, navigate within it, download files but they cannot upload files to the server. They get a time out error, which appears to be a permissions error, but I can't narrow it down any more than that. /var/logs/syslog gives nothing away.
The folders belong to the users. The parent www folder is set to 555. Can anyone help with this issue at all?
Cheers,
T
Try to set the permissions to 755, 555 doesn't allow writing for anyone. Are your user and group different?
You also may need to enable logging for FTP server. The time out error may include some other errors, not only permission denied.
To have extended logging change the variables in your ftp config file:
dual_log_enable=YES
log_ftp_protocol=YES
xferlog_enable=YES
syslog_enable=NO
and check the log file name there.
you must create a folder into user folder (Example : /var/www/user1/upload).
and set permission 777 (Example : chmod 777 /var/www/user1/upload).
then upload file into this folder.

WordPress can't install themes

I can't workout how to solve this problem so wordpress would let me upload themes.
I have a fresh copy of Fedora 17 installed on my dev machine.
I then installed mysql using: yum install mysql mysql-server. Next I installed WordPress which also installs apache and php: yum install wordpress
I can go to http://localhost/wordpress and see WordPress working. But when I try tried to install my theme it asked for ftp credentials. I then updated the wp-config.php file and set the FS_METHOD constant to direct. Now it doesn't ask for ftp credentials but it gives me this error:
Could not create directory. /usr/share/wordpress/wp-content/themes/my-theme-name/
httpd service is running under 'apache' user and 'apache' group. The /usr/share/wordpress/ directory is recursively own by 'apache' user and 'apache' group too. I've even set the permissions to 777 (also recursively) and even then I keep getting the same error as above.
How can I solve this problem?
Fedoras SELinux configuration is most probably blocking the attempts of the webserver to write to the disk. To change the settings for your wordpress folder you can run this command (as root):
chcon -R -t httpd_sys_content_rw_t /usr/share/wordpress/wp-content
No need to do chmod 777 to the whole folder, this is a huge security risk. Of course this is for direct filesystem access, you have to disable the ftp access. For ftp access you will have to look up the right SELinux context.
You got the check these lines in your Wp-config.php (aproximatively line 105) :
define('FTP_USER', 'usr');
define('FTP_PASS', 'P#ssw0rd');
define('FTP_HOST', 'url');
You process of web server is running on apache but Wordpress will use the account define in the wp-config.php . So you got to set the group of your user to get access to these files.
Setting permissions 777 is not a solution, you got to care about it.

Resources