介绍
WordPress是世界上最受欢迎的内容管理系统(CMS)和博客平台。 使用WordPress,您可以快速配置和自定义您的网站,允许您添加内容和调整视觉元素轻松。
在本指南中,我们将在FreeBSD 10.1机器上安装WordPress,使用Nginx为我们的内容提供服务。 Nginx是一个强大的Web服务器,能够有效地处理大量的并发连接。 我们将利用它作为我们将在本指南中设置的WordPress安装的基础。
先决条件和目标
为了完成本指南,有一些初步步骤,应该采取,以使您的服务器准备好。
我们将在本指南中将组件添加到已配置的FEMP(FreeBSD,Nginx,MySQL和PHP)。 你可以学习如何设置的Nginx,MySQL和PHP与我们的指导你的FreeBSD 10.1的服务器上在这里在这里。
一旦您在服务器上安装并配置了Nginx,MySQL和PHP,您可以继续使用本指南。 我们在本指南中的目标是在我们的FreeBSD服务器上安装最新版本的WordPress。
有一个现有的WordPress程序包,通过FreeBSD的安装pkg
命令,但它目前依赖于PHP 5.4的版本,将只从现在开始接收安全更新。 其寿命终点将在2015年9月。
为了确保我们的网站是建立在一个基础上,将获得支持很长一段时间,我们将从项目的网站下载并安装最新版本的WordPress,并使用PHP版本5.6处理动态内容。
安装WordPress所需的其他PHP扩展
当我们的导游FEMP在我们的FreeBSD服务器上设置PHP,我们安装了php56
包和php56-mysql
包,以便我们的PHP实例可以从MySQL数据库如果需要查询数据。
这代表了所需的最小配置,允许PHP用作各种不同应用程序的基础。 WordPress会使用php56-mysql
包,但它也需要一些额外的扩展,以实现它的许多核心功能。
幸运的是,这些可以很容易地使用安装的pkg
命令。 键入以下内容来下载并安装所需的扩展:
sudo pkg install php56-xml php56-hash php56-gd php56-curl php56-tokenizer php56-zlib php56-zip
安装完成后,如果您使用的是默认tcsh
外壳,启动老调重弹,这样shell可以找到你的新文件:
rehash
我们安装的所有软件包都是PHP扩展。 为了使我们的PHP-FPM实例使用这些新的扩展,我们必须重新启动过程:
sudo service php-fpm restart
完成后,我们可以开始配置我们的数据库。
创建和配置MySQL数据库
WordPress需要一个SQL风格的数据库,以便存储网站内容和用户数据。 我们在之前的指南中安装了MySQL,因此我们有了创建和提供对这样的数据库的访问所需的工具。
首先,你需要使用mysql
命令来验证你的数据库系统为管理用户:
mysql -u root -p
系统将提示您为您在前面的指南中的配置(运行而MySQL的root用户的密码mysql_secure_installation
脚本)。 一旦输入正确的密码,您将被放入MySQL提示符。
我们要做的第一件事是为我们的WordPress实例创建一个数据库。 您可以拨打这个不管你想,但我们将要使用的数据库名称wordpress
本指南,因为这是语义和容易记住:
CREATE DATABASE wordpress;
如果使用上面的命令遇到麻烦,请确保在语句结尾处有一个分号(;)。 SQL查询语言要求所有语句以分号结尾。
在我们创建数据库之后,我们的下一步是创建一个专用用户,我们将使用它来访问数据库。 建议您为在MySQL中存储数据的每个应用程序创建和使用单独的MySQL用户。 这有助于最小化安全问题的范围。
对于本指南中,我们将调用我们的新用户wordpressuser
和配置访问限制,使其仅适用于从服务器本身发起的连接。 我们还将为用户设置密码:
CREATE USER wordpressuser@localhost IDENTIFIED BY 'password';
请记住更改password
在上面的命令组件一个安全的密码。 稍后您将需要记住此值。
我们现在创建了我们的WordPress安装所需的两个MySQL组件。 但是,他们还没有以任何方式连接。 我们需要让我们的新用户访问WordPress数据库,以便它可以设置和管理我们网站的数据。 为此,请键入:
GRANT ALL PRIVILEGES ON wordpress.* TO wordpressuser@localhost;
我们的新用户现在可以访问我们配置的数据库。 要让当前运行的MySQL实例知道这些新的更改,我们应该刷新特权表:
FLUSH PRIVILEGES;
最后,我们可以退出MySQL提示,通过键入以返回到常规shell环境:
exit
现在我们有一个数据库和用户准备好了,我们可以下载和配置实际的WordPress文件。
下载并配置WordPress
我们将从项目的网站下载最新版本的WordPress,以用于我们的安装。 由于可能的安全更新,始终使用最新版本的WordPress非常重要。
WordPress的团队,使这个简单的通过总是在包装的最新版本进行存档/latest.tar.gz
在其网站上。 我们可以使用FreeBSD的下载到我们的home目录本fetch
实用程序:
cd ~
fetch http://wordpress.org/latest.tar.gz
一旦文件被下载,我们可以提取使用WordPress的文件和目录结构tar
命令:
tar xzvf latest.tar.gz
将要创建的目录将被称为wordpress
。 删除.tar.gz
归档,然后移动到该目录中,这样我们就可以开始配置:
rm latest.tar.gz
cd wordpress
在里面,有一个示例配置文件,我们可以用作我们安装的模板。 在将文件复制到wp-config.php
将由WordPress的读取文件名:
cp wp-config-sample.php wp-config.php
现在,我们可以打开文件进行编辑,以便我们可以配置MySQL数据库的访问凭据和我们在上一部分中设置的用户:
vi wp-config.php
在内部,有三个值,你必须更改为了WordPress正确连接和利用您的MySQL系统。 该DB_NAME
变量定义您创建的MySQL数据库的名称DB_USER
应设置为您所做的用户,并且DB_PASSWORD
应修改为包含您为用户选择的密码:
. . .
/** The name of the database for WordPress */
define('DB_NAME', 'wordpress');
/** MySQL database username */
define('DB_USER', 'wordpressuser');
/** MySQL database password */
define('DB_PASSWORD', 'password');
. . .
完成修改这些值后,保存并关闭文件。
接下来,我们可以在WordPress安装复制到/usr/local/www
,我们保持我们的各种网站文件的目录。 我们将使用rsync
工具,因为它允许我们保持在移动过程中的某些文件属性:
sudo rsync -avP ~/wordpress /usr/local/www
接下来,我们需要调整我们的WordPress文件的所有者,以便我们的Web服务器可以在适当的地方进行更改。 我们的网站用户和组都叫做www
:
sudo chown -R www:www /usr/local/www/wordpress
现在,您的WordPress文件已到位与正确的配置,我们可以修改我们的Nginx配置。
配置Nginx
在我们的上一个指南中,我们设置Nginx服务默认的Nginx网页并配置它传递PHP请求到我们的PHP-FPM实例。 这使我们大部分的方式到我们需要的WordPress的配置。
打开与Nginx的配置文件sudo
特权,使我们的变化:
sudo vi /usr/local/etc/nginx/nginx.conf
如果您按照上一个指南中的说明操作,您的文件应该类似于此文件(为了清楚起见,我们删除了以下评论):
user www;
worker_processes 2;
error_log /var/log/nginx/error.log info;
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
access_log /var/log/nginx/access.log;
sendfile on;
keepalive_timeout 65;
server {
listen 80;
server_name example.com www.example.com;
root /usr/local/www/nginx;
index index.php index.html index.htm;
location / {
try_files $uri/ $uri/ =404;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/local/www/nginx-dist;
}
location ~ \.php$ {
try_files $uri =404;
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_pass unix:/var/run/php-fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $request_filename;
include fastcgi_params;
}
}
}
我们将必须进行两个调整,以确保我们的WordPress将正常工作。
首先,我们需要调整文档根目录,因为我们的WordPress的文件都位于/usr/local/www/wordpress
目录:
server {
. . .
root /usr/local/www/wordpress;
. . .
}
我们需要做的另一变化是对try_files
的内部指令location /
块。 目前,配置告诉Nginx尝试首先查找请求作为文件。 如果找不到匹配的文件,它将尝试查找与该请求匹配的目录。 如果这没有产生任何结果,Nginx发出404错误,指示无法找到资源。
我们需要修改这个让不是一个404错误结束,请求被重写到index.php
文件。 原始请求和参数将作为查询参数传递。 我们可以通过修改配置此try_files
指令如下:
server {
. . .
location / {
try_files $uri $uri/ /index.php?q=$uri&$args;
}
. . .
}
完成后,配置文件应如下所示:
user www;
worker_processes 2;
error_log /var/log/nginx/error.log info;
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
access_log /var/log/nginx/access.log;
sendfile on;
keepalive_timeout 65;
server {
listen 80;
server_name example.com www.example.com;
root /usr/local/www/wordpress;
index index.php index.html index.htm;
location / {
try_files $uri $uri/ /index.php?q=$uri&$args;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/local/www/nginx-dist;
}
location ~ \.php$ {
try_files $uri =404;
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_pass unix:/var/run/php-fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $request_filename;
include fastcgi_params;
}
}
}
完成上述修改后,保存并关闭文件。
现在,我们可以重新启动Nginx以实现我们的新的更改。 首先,仔细检查我们的语法是否正确:
sudo nginx -t
如果没有找到错误,请重新启动服务:
sudo service nginx restart
通过Web界面完成安装
我们的WordPress安装现在完全配置在服务器端。 我们可以使用网络浏览器完成剩余的过程。
在网络浏览器中,访问您服务器的域名或IP地址:
http://example.com
WordPress将首先询问您希望使用哪种语言:
完成选择后,您将进入初始配置页面设置WordPress安装:
填写您的网站的名称,并选择您要用于管理网站的用户名。 您必须选择并确认您的网站的密码,并填写您可以访问的电子邮件地址。 最后一个选项是关于是否允许搜索引擎索引站点的选择。
当您进行选择时,单击页面底部的“安装WordPress”按钮。 系统将要求您使用刚才选择的凭据登录该网站。
登录后,您将看到用于新的WordPress安装的管理面板:
您可以使用此界面发布新内容,修改网站外观,安装和配置插件以利用其他功能。
结论
你现在有一个新的WordPress安装和运行支持Nginx,MySQL和PHP。 WordPress是非常强大的,允许你显示根据你的喜好风格的许多不同种类的内容。 如果你刚接触WordPress,你可能想通过查看可选的主题和插件来开始。