虽然WordPress已经可以不依赖FTP,但FTP作为一个简单而常用的基本服务,还是有必要写一个教程。但是呢,FTP不安全!FTP不安全!FTP不安全!重要的事情说三遍。WordPress是支持FTPS的,其他也有很多支持FTPS的客户端,其实FTP over SSL的名称有很多,FTPS (FTPES, FTP-SSL, S-FTP, FTP Secure),各种叫法,都是指的这东西,知道是一回事儿就行。
FTPS的服务器端似乎有不少,不过还是推荐大名鼎鼎的vsftpd,首先是安装。
apt-get install vsftpd
然后进行配置,我还是用vi,你们文本编辑器随意,自己习惯就好。
vi /etc/vsftpd.conf
找到以下几行,改成如下所示,有几行去掉备注就好。
anonymous_enable=NO
local_enable=YES
write_enable=YES
chroot_local_user=YES
保存并退出。然后创建FTP用户,用户名随意,这里用的ftpuser1,改成自己设定的。
adduser ftpuser1
按照要求输入用户的密码,不要留空。
这个时候要设置FTP的主目录。首先更改FTP主目录所有者为root。
chown root:root /home/ftpuser
在主目录下为ftpuser1创建一个文件目录,并将该目录的所有者设置为ftpuser1。
mkdir /home/ftpuser/files chown ftpuser1:ftpuser /home/ftpuser/ftpuser1
虽然不是必须,但有些人可能会为WordPress创建一个FTP用于更新、下载插件和主题等,我以前也是这样做的。如果你是为WordPress配置FTP,需要在wp-config.php里面加如下代码,但不推荐。
if( is_admin() ) { add_filter( 'filesystem_method', create_function( '$a', 'return "direct";' ) ); define( 'FS_CHMOD_DIR', 0751 ); }
这时,实际上已经可以用FTP了,但是,FTP不安全!FTP不安全!FTP不安全!重要的事情再说三遍。下面为FTP设置SSL。这里默认你已经申请到了可以用的证书,具体如何申请证书改天再写一篇吧。为了方便管理证书,先创建一个放置证书的文件夹。
mkdir /etc/ssl/private/
可能有些系统上已经有这个文件夹了,那就直接下一步。创建一个证书文件,这里还是用vi。
vi /etc/ssl/private/vsftpd.pem
把申请到的证书连同CA的中间证书先后贴进去做成证书链,有些CA会给你做好打包证书,那就直接贴就行了。
然后创建私钥文件ssl.key,把申请证书用的私钥贴进去。
vi /etc/ssl/private/ssl.key
注意如果私钥是被加密过的,这里要解密,解密后命名为vsftpd.key,当然,这两个文件名都可以任意,只要后面配置的路径和文件名对就行。
openssl rsa -in /etc/ssl/private/ssl.key -out /etc/ssl/private/vsftpd.key
接下来编辑vsftpd的配置文件。
vi /etc/vsftpd.conf
在文件的最后那里找到下面这行,改成如下所示。
rsa_cert_file=/etc/ssl/private/vsftpd.pem
然后再在文件最后添加这些内容。
rsa_private_key_file=/etc/ssl/private/vsftpd.key ssl_enable=YES allow_anon_ssl=NO force_local_data_ssl=YES force_local_logins_ssl=YES ssl_tlsv1=YES ssl_sslv2=NO ssl_sslv3=NO require_ssl_reuse=NO ssl_ciphers=HIGH
最后重启一下vsftpd服务。
service vsftpd restart
到这里FTPS就可以用了,你可以用支持SSL的FTP客户端连接你的FTP。
而对于WordPress,如果你选择使用FTP来管理文件,接下来要做的就是去网站后台把刚才设置的FTP的地址、用户名和密码维护进去,然后就可以直接在页面上进行更新,安装插件、主题等操作了。
发表评论