前言:有动力才会去折腾一些东西的,之前在AWS上都是直接通过ssh登陆搬迁博客,所以主题和插件都是一步到位,不需要在后台安装。但是最近在aws上挂多了一个博客,这样ftp登陆安装主题和插件就显得非常有必要了。
我的aws是Amazon Linux EC2 instance,开始进入正题:
- 安装
vsftpd
1
2sudo yum install vsftpd
//如果是ubuntu系统就输入,sudo apt-get install vsftpd - 修改
vsftpd
配置文件vi /etc/vsftpd/vsftpd.conf
主要作以下修改:1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20#禁止匿名访问
anonymous_enable=NO
#写入user_list内的帐户允许访问
userlist_enable=YES
userlist_deny=NO
userlist_file=/etc/vsftpd/user_list
#写入chroot_list的帐户不被chroot,可以访问ftp上级文件
chroot_local_user=YES
chroot_list_enable=YES
#chroot_list需要手动建立,如果不建立不能登陆
chroot_list_file=/etc/vsftpd/chroot_list
--------以下修改好像作用不大,建议还是添加上去--------
#允许文本模式下载
ascii_download_enable=YES
#允许文本模式上传
ascii_upload_enable=YES
#启用被动模式
pasv_enable=YES
pasv_min_port=1024
pasv_max_port=1048 - 为ftp创建用户
1
2
3
4sudo useradd -s /sbin/nologin -d /var/www/html -g ftp user
// wordpress的目录为/var/www/html,user为ftp的用户名
sudo passwd user //输入密码
sudo chmod 777 /var/www/html -R //修改此目录权限为777,虽然好像不太安全 - 编辑允许访问ftp服务器的用户列表:
vi /etc/vsftpd/user_list //在最后增加一行,输入ftpUserName
- 如果你配置文件有
chroot_list
的选项1
2sudo touch /etc/vsftpd/chroot_list
//chroot_list用户都是不受限止的用户,即可以浏览其主目录的上级目录,默认为空就可以了,不过一定要有这个空文件。 - 重启
vsftpd
和配置开机启动1
2service vsftpd restart
chkconfig vsftpd on - 在EC2控制台中设置
Security Group
,增加ftp所需端口,例如20-21端口和被动模式的1024-1048端口。 - 然后ftp可以登录,但是安装主题插件时提示
无法定位WordPress内容目录(wp-content)。
。在网上查了一下,wordpress3.5.1依然适用,只需要在wp-config.php
结尾添加一下代码就可以了。1
2
3
4
5/** Override default file permissions */
if(is_admin()) {
add_filter('filesystem_method', create_function('$a', 'return "direct";' ));
define( 'FS_CHMOD_DIR', 0751 );
}
搞定。
参考文章:
http://quick-markup.com/blog/2012/06/12/aws-ec2-ftp/
http://www.ec2.net/forum.php?mod=viewthread&tid=231