这次安装wordpress真的是经历了各种坑,最终装好后一总结,发现原来是这么回事。我这篇文章就我这次安装wordpress的经历来谈一谈中途所遇到的坑,希望会对你有用
我这里说的是在ubuntu上安装的情形,所以可能有的文件位置与其他linux发行版的位置不一样,那就只能你自己摸索啦
如果你在下面的操作中遇见了问题,出现了和预期不一样的情形,请试着重启apache服务或者php服务,重启的命令如下:
sudo service apache2 restart
sudo service php7.0-fpm restart
一、安装apache web服务器
sudo apt-get install apache2
应用位置位于/etc/apache2,部署网页文件的位置位于/var/www/html
二、安装php类应用
sudo apt-get install php php-fpm libapache2-mod-php php-mcrypt php-mysql
libapache2-mod-php:与apache2服务器配套干活的
php-mcrypt:php内的加密支持扩展库,说实话我不知道这个是不是安装wordpress必须的
php-mysql:与mysql连接
应用位置位于/etc/php文件夹
三、安装mysql
sudo apt-get install mysql-server
安装时会让设置用户名密码。
安装好后,使用命令进入mysql:mysql -u root -p
然后创建wordpress数据库:create database wordpress
四、安装wordpress
这里就需要到wordpress官网下载安装包了:https://cn.wordpress.org/
下载好之后,解压开,把wordpress文件夹内的所有文件,放入/var/www/html文件夹内
重要步骤:将/var/www/html文件夹的所属人,用户组改为www-data,使用命令:
sudo chown www-data:www-data /var/www/html/ -R
上面这一步是关键中的关键,web服务器运行时进程的用户是www-data,如果不把这些文件夹、文件的所属人改为www-data,那么后面会有很多很多问题,但其实都是因为一个权限问题而已。如何查看web服务器运行时的所属用户呢?使用命令:ps aux | grep apache2,结果如下图:
看到的这个用户,就是web服务器进程的用户,进程在进行任何操作时,都是以这个用户的权限为准的,如果我们不把/var/www/html下文件得所属用户改为www-data,那么wordpress安装、更新插件、主题时,会因为对文件夹没有相应的权限报错
五、配置wordpress
这时候,访问主机地址,可以看到wordpress已经显示出来了。如果没有显示出来,请查看服务器端口配置(比如阿里云买的主机,可能会因为“安全组”没有开通80端口导致看不到页面)
此时看到的页面是wordpress的配置页面。图中填写的数据库我们刚才在安装mysql时已经创建了。填写完必要信息,提交即可。后面还会让填写网站管理员信息,填写完毕就好啦
距离大功告成还有一步:编辑/var/www/html/wp-config
在这个文件的末尾添加这样一行代码即可:
define('FS_METHOD', 'direct');
这个代码意思是:定义文件操作方式为direct,direct代表直接操作,也就是通过php本地操作文件I/O。当安装、更新插件时php脚本会去网络下载主题、插件,然后写入本地磁盘。如果不这样设置,默认会使用FTP方式操作服务器上的文件。我一开始就不知道这个设置,在配置ftp服务器上浪费了巨多时间。FS_METHOD参数的详细信息在如下页面可以找到(虽然这个页面内说direct是默认方式,但是我亲身体验发现并不是啊):https://codex.wordpress.org/Editing_wp-config.php
六、其他
经过上面的安装已经大功告成,现在所有操作都没有问题了。下面我会不定时更新wordpress使用的小问题。
1.今天安装了JetPack插件,发现他提示如下:
安装php-xml即可:sudo apt-get install php-xml,然后重启apache服务器2.关于wordpress的“固定链接”,如果没有开启apache的mod_rewrite功能,那么会找不到已经写好的文章。安装方法:编辑/etc/apache2/apache2.conf文件,更改如下位置为“All”
注意更改的是/var/www这个Directory。然后运行命令:sudo a2enmod rewrite,最后重启apache服务器