linux安装WordPress问题汇总,老是提示无法连接到FTP服务器解决方案
最近在做一些建站相关的事情,遇到一些大大小小的问题都整理在这里
1.数据库密码和端口,千万要复杂一点,不要使用默认的3306端口
2.wordpress算是一个php应用吧,所以安装流程一般是 apache http/nginx——php——mysql——ftp ,具体流程见后文
3.安装好了wordpress以后 有许多大大小小的问题,基本上百度都能找到,比如后台页面打不开,或者安装页面找不到,建议多重启apache/nginx 服务器,
4.当你要下载新的主题或者使用推荐的主题,需要现在服务器上安装ftp服务,不然会一直报错,另外一个就是你要存储安装主题的文件目录权限都放开,不然也会安装失败,
chmod -R 777 /var/www/html/wordpress/wp-content/
,具体ftp安装方式见后文
ftp上传连接失败可以尝试
在 WordPress 目录下找到 wp-config.php 文件并编辑,在最后一行加上
define('FS_METHOD', "direct");
5.ftp配置过程中可能会遇到启动失败,有极大可能是ftp配置文件有多余的空格,具体处理办法见后文
6.wordpress安装过程中可能遇到php版本和主题版本不兼容的问题,这个时候需要升级php版本,这个按照报错提示百度 升级即可
一、在centos上安装WordPress
一、安装Apache服务
1.直接在命令行中输入以下命令即可,顺便安装编译组件:
yum install -y httpd yum install -y httpd-devel
2.启动Apache服务和设置Apache自启:
1 systemctl start httpd 2 systemctl enable httpd
3.添加一个测试页面,测试Apache服务是否正常运行(可省略):
1 echo "This is my first web" > /var/www/html/index.html
4.关闭firewalld防火墙服务:
systemctl stop firewalld systemctl disable firewalld
5.在浏览器中访问本机的ip地址,出现下图,说明httpd服务正常运行
二、安装MySql
1.在centos7的yum源中是没有mysql的,默认为MariaDB
故我们使用以下命令安装:
1 rpm -Uvh http://dev.mysql.com/get/mysql-community-release-el7-5.noarch.rpm 2 yum install -y mysql mysql-server mysql-libs mysql-server
2.启动mysql并设置为开机自启:
systemctl start mysql systemctl enable mysql
3.使用以下命令测试mysql是否安装成功:
mysql -u root -p
默认密码为空直接回车,如出现如图所示的结果即为安装成功。
4.修改mysql的登陆密码
选中mysql数据库;
use mysql;
键入以下命令(代码中的"123"为新设置的密码):
update user set password=password('123') where user='root';
上面的命令 mysql高版本的密码修改已经不适用,需要更换成下面这种
update mysql.user set authentication_string='' where user='root';
刷新用户权限列表:
flush privileges;
键入exit退出mysql,再使用mysql -u root -p命令进行测试密码是否更改成功。
5.创建数据库
创建一个名为wordpress的数据库,命令如下:
create database wordpress;
(注意:在mysql中每句完整的命令后面都必须加上英文输入法下的分号;作为结束的标志。)
三、重启Apache和MySql
systemctl restart httpd systemctl restart mysqld
四、 安装php及php组件
yum install -y php yum install -y php-mysql yum install -y php-gd php-imap php-ldap php-odbc php-pear php-xml php-xmlrpc
如果还需要别的php组件可以用以下命令搜索:
yum search php-
五、测试php是否安装成功
新建一个info.php文件:
vim /var/www/html/info.php
在该文件中编辑以下代码:
<?php phpinfo(); ?>
在浏览器中访问http://ip地址/info.php 例如:http://10.0.0.5/info.php即可看到php信息。
六、下载安装WordPress
安装需要的工具
yum -y install wget yum -y install unzip
直接使用wget命令从https://wordpress.org/官网中下载wordpress:
wget http://cn.wordpress.org/wordpress-3.9-zh_CN.zip
解压文件:
unzip wordpress-3.8-zh_CN.zip
将解压出来的文件复制到/var/www/html/目录下
cp -rf wordpress/* /var/www/html/
七、配置wordpress
在浏览器中输入本机ip地址即可进入配置界面,根据提示输入信息:
手动在/var/www/html/目录下创建wp-config.php文件,并将设置向导中的内容复制到wp-config.php文件中,随后点击立即安装即可。
vim /var/www/html/wp-config.php
键入基本信息,随后单击安装wordpress即可安装。
即可进入登陆界面
二、安装ftp
便弹出了相关的要求FTP信息的内容。
也就是说,要进行主题的下载,你需要安装FTP服务在你的服务器上。
总体思路为:
1、安装FTP服务
2、准备FTP账号
3、配置FTP服务
4、确认FTP服务
-
详细的操作说明
此处以Centos7.6为例,
1、安装FTP服务
首先用yum安装FTP服务
yum install -y vsftpd
将FTP服务设为开机自启
systemctl enable vsftpd
启动FTP服务
systemctl start vsftpd
2、准备FTP账号
准备一个新账号
useradd ftpuser
然后配置密码
passwd ftpuser
3、配置FTP服务
准备一个文件目录,作为连接ftp服务器后你所进去的位置,本文以/var/ftp/test来举例。
创建目录
mkdir /var/ftp/test
将该目录的owner和group都设为准备好的ftp用户和组
chown -R ftpuser:ftpuser /var/ftp/test
------------------------------------------------------------------------
接下来就是编辑FTP服务的配置文件vsftpd.conf了
vim /etc/vsftpd/vsftpd.conf
将下列已有参数配置成下表所示
1 anonymous_enable=NO 禁止匿名用户登录FTP服务器 2 local_enable=YES 允许本地用户登录FTP服务器 3 chroot_local_user=YES 本地用户登录后就自动转到他们的用户主目录 4 chroot_list_enable=YES 启用chroot_list_file配置项指定的用户列表文件 5 chroot_list_file=/etc/vsftpd/chroot_list 指定chroot_list_file文件位置 6 listen=YES 以独立运行的方式监听服务 7 #listen_ipv6=YES 在前面加上"#",关闭对ipv6的监听
然后再添加以下参数
1 local_root=/var/ftp/test 指定本地用户登录后转入的目录 2 allow_writeable_chroot=YES 3 pasv_enable=YES 设置是否使用PASV方式来获得数据连接 4 pasv_address=xxx.xx.xxx.xx 使用PASV模式时的IP号,请修改为您的 Linux 云服务器公网 IP 5 pasv_min_port=40000 使用PASV模式连接时最大的端口号 6 pasv_max_port=45000 使用PASV模式连接时最小的端口号
上面的注释里没有找到allow_writeable_chroot=YES的定义,英文直译的话大致是"允许chroot用户的写入",如果有知道细节的大佬,还请提供一下情报。
另外,此处的PASV模式,一般称为被动模式(FTP有主动模式和被动模式两种,本文使用的是被动模式)
※更详细的FTP服务参数说明可参考以下几个网址:
https://blog.csdn.net/qq_34889607/article/details/80363206
https://blog.51cto.com/longlei/2068636
https://www.cnblogs.com/yueminghai/p/8079080.html
------------------------------------------------------------------------
配置完vsftpd.conf文件后,需要创建一个chroot_list文件
vim /etc/vsftpd/chroot_list
注意:chroot_list里指定的用户在登录FTP后就会转向自己的主目录所在的位置,一般就无需在里面添加用户名了。
另外,如果上面的vsftpd.conf文件里,如果userlist_deny的值为YES的话,
那么在/etc/vsftpd里的user_list里的用户名(1行1个)都会被拒绝以ftp的方式访问服务器。(root用户是默认写在里面的)
------------------------------------------------------------------------
最后只需要重启ftp服务即可
systemctl restart vsftpd
三、重启vsftp服务遇到Job for vsftpd.service failed because the control process exited with error code.
一、问题
systemctl restart vsftpd 重启vsftp服务出现:
Job for vsftpd.service failed because the control process exited with error code. See "systemctl status vsftpd.service" and "journalctl -xe" for details.
二、原因
配置/etc/vsftpd/vsftpd.conf有问题。
三、解决方法
第一种原因:多输入空格
先编辑/etc/vsftpd/vsftpd.conf
vi /etc/vsftpd/vsftpd.conf
输入:set list
:set list
发现在第一行代码后面多输入了个空格,删掉。
修改后:
修改完成后保存退出,重新启动vsftp服务即可。
systemctl restart vsftpd