往日微忆
文章目录

WordPress是一个以PHP和MySQL为平台的自由开源的博客软件和内容管理系统。WordPress具有插件架构和模板系统。Alexa排行前100万的网站中有超过16.7%的网站使用WordPress,是目前因特网上最流行的博客系统。为此我也不甘落后,打着学习的名义,从0开始,一步一步打造自己的的WordPress博客网站。以下是自己在本地主机的实践。

一、下载WordPress

从官网(https://wordpress.org/)或者中文官网(https://cn.wordpress.org/)下载最新版wordpress,目前最新版本是4.5.3。拷贝解压文件夹下的所有文件和目录至你要建立网站的目录下,假设为 /home/abc/WWW/wpabc/下,abc为用户主目录,相应修改。

二、LAMP环境搭建

WordPress推荐在Linux环境下安装,毕竟土生土长,不会水土不服。任何Linux发布版都可以,我用的是Debian最新版,Debian系统安装在此不述。LAMP(Linux+Apache2+Mysql+Php)环境搭建建议先安装apache2,再mysql,再php,即按LAMP的字母顺序。

1.安装apache2

  1. sudo aptitude install apache2

安装成功后,打开/etc/apache2/mods-available下文件alias.conf,增加以下内容(注:以下内容是增加虚拟目录wpabc,并没有修改网站主目录,即访问时如直接输入域名或者 http://127.0.0.1,将直接访问apache2的默认网站主目录/var/www/html,要访问此处建立的wordpress,必须输入  http://127.0.0.1/wpabc/  。如你不喜欢用虚拟目录,可直接修改/etc/apache2/sites-available下文件000-default.conf文件,更改其中的DocumentRoot部分内容为/home/abc/WWW/wpabc,然后修改/etc/apache2/apache2.conf中"<Directory /var/www/>“为”<Directory /home/abc/WWW/wpabc>“即可。)

  1. #################################################
  2. Alias /wpabc/ "/home/abc/WWW/wpabc/"
  3. "/home/abc/WWW/wpabc">
  4.          Options FollowSymlinks
  5.          AllowOverride None
  6.          Require all granted
  7. #################################################

如要用“固定链接”和“站点网络”功能,需启用apache2中的rewrite模块,终端下直接执行以下命令即可:

  1. sudo a2enmod rewrite

2.安装mysql

  1. sudo aptitude install mysql-server mysql-client

安装过程中提示要为mysql设置root密码,当然也可安装好后设置,记住自己设置好的密码。

安装成功后,在终端执行:

  1. mysql -u root -p

回车确定后,输入刚才设置的mysql root密码,确定,进入 mysql> 提示符。

首先要为wordpress建立mysql数据库,假定数据库名:wordpress_abc,用户名:abc123,密码:abc123456,执行:

  1. create database wordpress_abc;

授权abc123用户在任何机子上访问数据库wordpress_abc:

  1. grant all privileges on wordpress_abc.* to abc123@"%" identified by "abc123456";

3.安装php

  1. sudo aptitude install php7. php7.-common libapache2-mod-php7. php7.-cli php7.-cgi php7.-mysql

我安装的是php7.0,安装php5的话,用“php5”替换上述命令中的“php7.0”。

4.安装phpmyadmin

phpmyadmin为web端登录mysql进行数据库操作的工具。终端执行安装:

  1. sudo aptitude install phpmyadmin

安装过程会提示连接数据库密码,输入安装mysql时设置的root密码即可。同上,打开/etc/apache2/mods-available下文件alias.conf,增加以下内容,添加虚拟目录:

  1. #################################################
  2. Alias /phpmyadmin/  "/usr/share/phpmyadmin/"
  3. "/usr/share/phpmyadmin">
  4.          Options Indexes FollowSymlinks
  5.          AllowOverride None
  6.          Require all granted
  7. #################################################

这样就可以在浏览器中输入 http://127.0.0.1/phpmyadmin/ 访问mysql数据库。

三、设置wordpress

上述步骤完成,并成功重启各项服务后,即可在浏览器中输入 http://127.0.0.1/wpabc/ 打开wordpress网站。根据安装提示,设置站点名称、用户名、密码和电子邮件等,需要输入上述设置的mysql数据库名wordpress_abc和连接用户名abc123、密码abc123456。全部输入设置完毕,你会发现内容无法写入 wp-config.php 文件,这是因为读写权限设置的问题,网站目录wpabc不允许apache2服务用户www-data写入,得更改权限。如不更改,后续进入wordpress后台仪表盘下载升级插件、主题和上传图片等都将会受影响,比如更新插件会要求你输入ftp服务器用户名和密码等,网上相应的解决方案比较繁锁,且好像有些环境不一定适用。于是,我适用了最简捷实用的方法,把系统用户abc加入用户组www-data,把网站目录wpabc所有者和所有组都更改为www-data,这样通过网站后台操作毫无压力,本地修改网站文件也不用切换成root。再配以相应的权限设置即可保障相应的安全性。

1.将用户abc添加到组www-data中

  1. sudo usermod -a -G www-data abc

2.将网站目录及文件所有者和所有组都改为www-data

  1. sudo chown -R www-data:www-data /home/abc/WWW/wpabc

3.设置网站根目录下所有目录(含子级目录中目录)权限为750

750是所有者用户对目录拥有读写执行的权限,用户组有有读执行权限,这样才能进入目录,其它用户没有任何权限。切换当前目录为/home/abc/WWW/wpabc/,执行命令:

  1. find -type d -exec chmod 750 {} \;

4.设置网站根目录下所有文件(含子级目录中文件)权限为640

640指只有所有者用户对网站文件有更改的权限,用户组只有读取文件的权限,无法更改文件,其它用户无任何权限。同上执行:

  1. find -not -type d -exec chmod 640 {} \;

5.针对个别目录设置可写权限

比如网站的上传目录,主要是wp-content下uploads等。其实,这步已经没多大必要,因为现在网站目录所有者已经是www-data,具备完全权限,当然包括写权限,此处只想给出命令供参考:

  1. find data -type d -exec chmod 770 {} \;

上述完成后,wordpress个人博客网站应该就可以正常运转了。剩下的就是进入后台仪表盘设置网站和更新网站内容,在此不详述。上述内容仅是自己的实践,不足之处,敬请指出。