安装wordpress记录
本文记录在debian上安装配置wordpress的补助,并配置了ftp功能,支持自更新wordpress。
安装wordpress
下载最新的包,解压到/var/www/html
安装配置数据库
安装mariadb, 创建数据库和用户
1 | mysql -u root |
安装配置nginx php
安装nginx和php-7.4,还有php一些组件
nginx 配置
1 | server { |
安装配置vsftpd
安装后,修改配置文件/etc/vsftpd.conf
1 | local_enable=YES |
添加用户,并限制权限
1 | useradd [user_name] |
如果提示没有setfacl命令,则执行安装acl命令 apt install acl
ftp遇到问题和解决办法
登陆提示”500 OOPS: could not read chroot() list file:/etc/vsftpd.chroot_list”,需要创建文件
/etc/vsftpd.chroot_list
登陆ftp报530验证失败的问题,修改配置如下
1
pm_service_name=ftp
登陆提示”500 OOPS: vsftpd: refusing to run with writable root inside chroot()
1 | allow_writeable_chroot=YES |
- 登陆提示 500 OOPS: vsftpd: refusing to run with writable root ,意思是登陆者具备对目录的写权限,这是由于目录设定权限为777,所以要是重新设定为755
1
chmod 755 /srv/ftp
配置wordpress
修改wordpress/wp-config.php
文件, 添加如下内容
1 | define('FTP_HOST', 'localhost'); |
通过wordpress的api可以生成随机token,将输出替换到wordpress/wp-config.php
1 | $curl -s https://api.wordpress.org/secret-key/1.1/salt/ |
更新数据库配置到wp-config.php
更新url
开始使用http访问,后面切换到https后一直提示错误说跳转太多次。后来发现原因是套了cloudflare,cloudflare设置的是前端https后端http, 后端以http访问真实服务器后又跳转到https。所以请求一直在cf<->wordpress之间无限跳转。所以首先要设置cloudflare的代理模式为严格安全,strict full safe,也就是前端和后端都用证书。然后修改wordpress的url方法有很多,之前通过直接修改数据库,这次发现wordpress有个wp的命令行工具,一键修改。
vsftpd 配置默认目录
为local user配置默认目录,例如所有用户登录后进入/home目录, 添加配置local_root=/home
,为匿名用户配置默认目录为tmp目录,则添加配置anon_root=/tmp
参考
https://serverfault.com/questions/544850/create-new-vsftpd-user-and-lock-to-specify-home-login-directory
https://shiftedbits.org/2012/01/29/enable-wordpress-automatic-updates-on-a-debian-server/