夜间模式暗黑模式
字体
阴影
滤镜
圆角
主题色
[翻译]WordPress的安装

来源

本文翻译自: How To Install WordPress with LEMP on Ubuntu 18.04

如果原文作者或原文版权所有者认为翻译不当或有侵权行为,请联系本站站长.

前言

WordPress是互联网上最流行的CMS(内容管理系统, Content Management System). 它可以让你轻易地搭建起一个以MySQL为后端,基于PHP的复杂的博客或者网站.WordPress现在被数以万计的网站采用.并且,它是快速建立起一个网站的优秀选项.搭建完以后,几乎所有操作可以通过网页前端来完成.

在这个教程里,我们会专注于在Ubuntu系统和LEMP(Linux, Nginx, MySQL, PHP)的基础上搭建起一个WordPress.

开始之前

为了达到理想的效果,你需要有权访问一台Ubuntu 18.04服务器.

译注:废话…本教程也可以用于Ubuntu系统其他版本,但可能有微小差别,有困难欢迎在下方留言

在开始之前,你需要完成一下几个步骤:
– 在服务器中创建一个sudo用户: 我们将会用到一个具有sudo权限的用户.你可以通过这个教程来创建一个具有sudo权限的用户.
– 安装LEMP: WordPress 需要在一个网络服务器,一个数据库和PHP的支持下运行.安装LEMP可以满足这些需求.你可以根据这个教程来搭建起LNMP环境.
– 让你的网站使用SSL: WordPress提供动态网页服务并且处理用户的登录认证.TLS/SSL是一种让流量加密的技术,可以让你的网站变得更安全.启用SSL的方法取决于你是否有一个域名:
– 如果你有一个域名…启用SSL最简单的办法就是使用Let’s Encrypt家的产品.Let’s Encrypt提供免费、可信的证书.跟随这个教程启用SSL.
– 如果你没有域名…并且你只是用SSL来测试或者是自己使用,你可以用自己签发的证书代替.这同样科技达到加密的效果,但是没有做域名验证.跟随这个教程做自己签发的证书.

当你完成上述步骤,用有sudo权限的用户登录服务器并进行下一步

译注:
– 你也可以直接用root用户而不创建一个sudo用户,但是这样可能带来安全性问题(操作不当可能会使系统崩溃,但是比较方便),如果你使用的是root用户,那么下面的命令中的sudo可以不输入.
– 其实是否使用SSL并不影响下面的操作,没有使用SSL的读者可以选择安装WordPress以后再安装SSL证书

第一步:为WordPress创建一个数据库和一个用户

第一步也是预备工作.WordPress用MySQL管理和储存网站的内容和用户的资料.我们现在已经安装好MySQL了,但是我们还需要创建一个数据库和一个用户给WordPress使用.

在进行下一步之前,先用MySQL的root用户(管理员用户)登录.如果登录MySQL使用的是auth_socket认证插件(默认),那么你可以使用sudo来登录:

sudo mysql

如果之前将认证方式改为使用密码登录,那么请使用下面的命令:

mysql -u root -p

你需要输入root用户的密码

首先,我们创建一个供WordPress操作的数据库.你可以把数据库名字改成其他名字,但在下面的教程中,我们将会使用wordpress这个名字.输入以下命令以创建一个数据库:

CREATE DATABASE wordpress DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;

注意:
每一条MySQL语句都必须以分号(;)结尾.当你遇到问题时,请先检查语句末尾是否加上了分号

接下来,我们将会创建一个独立的MySQL用户,用来操作新建的数据库.为每一个项目创建一个数据库和一个独立的用户有助于管理,并且可以增加安全性.我们将会使用wordpressuser作为用户名,你可以随意更改这个名字.

我们将要创建这个用户并且设置密码,然后让它有权限访问我们刚刚创建的数据库.输入下方的命令.最好为这个用户选择一个强密码:

GRANT ALL ON wordpress.* TO 'wordpressuser'@'localhost' IDENTIFIED BY 'password';

现在供WordPress使用的数据库和对应的用户已经创建好了.刷新,让数据库储存更改:

FLUSH PRIVILEGES;

退出MySQL:

EXIT;

与MySQL的会话将会终止,现在你看到的是Linux终端.

第二步:安装额外的PHP扩展

安装完LEMP以后,我们还需要安装一些扩展使得PHP能与MySQL通信.WordPress和WordPress中的插件都需要这些额外的扩展.

我们可以通过下列命令安装WordPress常用的一些扩展:

sudo apt update
sudo apt install php-curl php-gd php-intl php-mbstring php-soap php-xml php-xmlrpc php-zip

注意:
每一个WordPress插件有它需要的扩展清单.有些插件可能需要更多的扩展才能正常使用.查看WordPress文档以确保已经安装所有的插件.除了上面列出的插件以外,其他插件可以通过apt命令安装

这些扩展安装完成以后,重启PHP-FPM进程,启用新安装的插件:

sudo systemctl restart php7.2-fpm

我们现在完成插件的配置了.

第三步:配置Nginx

接下来,我们需要对Nginx的配置做一些小小的更改.你可能在准备步骤中已经有了一个位于/etc/nginx/sites-available的配置文件.这个配置文件是指向你的域名或者IP地址的,并且已经做好了SSL的相关配置.我们会以/etc/nginx/sites-available/wordpress作为样例,实际操作时应该以你的配置文件路径为准.

另外,我们会用/var/www/wodpress作为WordPress的安装路径.你应该将配置文件中的网站根目录改为这个.

注意:
你可以使用默认配置文件(/etc/nginx/sites-available)中的配置,这时网站的根目录应为/var/www/html.当这台服务器上只有一个网站在运作时,这么做是一个不错的选择.但如果这台服务器上托管了多个网站,最好把配置文件分开,每一个文件对应不同的网站

译注:这一段有疑惑可以先跳过,也欢迎在下方留下疑惑,我会尽力解答

sudo权限打开你的网站的配置文件:

sudo nano /etc/nginx/sites-available/wordpress

我们需要在server块中,加入一些location

先为/favicon.ico/robots.txt创建精确匹配的块.

我们会使用正则表达式来匹配静态文件.我们也会避免把请求这些文件记录到日志里面,这样可以避免大量日志的产生,减少资源的浪费.你可以在静态文件列表中加入其他常用的后缀名:

server {
    . . .

    location = /favicon.ico { log_not_found off; access_log off; }
    location = /robots.txt { log_not_found off; access_log off; allow all; }
    location ~* \.(css|gif|ico|jpeg|jpg|js|png)$ {
        expires max;
        log_not_found off;
    }
    . . .
}

在已有的location /块中,我们需要更改try_files选项,让网页把未能被其他块匹配的请求传递给index.php文件.

server {
    . . .
    location / {
        #try_files $uri $uri/ =404;
        try_files $uri $uri/ /index.php$is_args$args;
    }
    . . .
}

完成以后,保存文件并且退出

使用一下命令检查配置文件是否有语法错误:

sudo nginx -t

如果没有错误产生,那么让Nginx重新载入配置文件:

sudo systemctl reload nginx

接下来,我们可以下载并安装WordPress了

第四步:下载WordPress

现在,所有软件已经配置好了.我们开始搭建WordPress.安全起见,安装最新版本的WordPress是最好的选择.

译注:WordPress是世界上受攻击次数最多的博客平台

把目录切换到用户具有写权限的地方,然后通过以下命令下载最新版本的WordPress:

cd /tmp
curl -LO https://wordpress.org/latest.tar.gz

译注: L后面跟的是大写字母O

用以下命令解压WordPress:

tar xzvf latest.tar.gz

我们稍后要把这些文件移动到网站的根目录.在这之前,我们把默认的配置文件复制一份,并且重命名为WordPress使用的配置文件的名字:

cp /tmp/wordpress/wp-config-sample.php /tmp/wordpress/wp-config.php

接下来,我们把整个目录复制到网站的根目录.我们用-a选项确保我们的权限不会失效.注意到源文件末尾有一个点(.),这是用来保证在此目录下的所有文件(包括隐藏文件)都被复制到指定的文件夹中:

sudo cp -a /tmp/wordpress/. /var/www/wordpress

现在所有文件都已经在目标位置了.我们需要把这些文件的所有者改为www-data用户和www-data用户组.这是用于运行Nginx的默认用户,并且为了使网站正常运作并且保持更新,Nginx应该具有读、写这些文件的权限.

sudo chown -R www-data:www-data /var/www/wordpress

现在所有在根目录的文件的所有者都已经转换为指定的用户了,不过我们还要进行一些配置.

第五步:配置WordPress

接下来,我们需要更改WordPress的主要配置文件.

当我们打开这个文件的时候,要做的第一步是让安装WordPress的过程更加安全.WordPress提供了一个生成器以生成一些足够安全的秘钥.这些值(密钥)只供WordPress内部使用,所以这些复杂的值不会降低WordPress的可用性.

输入以下命令以从WordPress密钥生成器中获取值:

curl -s https://api.wordpress.org/secret-key/1.1/salt/

你会得到一些不同的值,就像这样:

注意:不要复制下面的这些值

Output
define('AUTH_KEY',         '1jl/vqfs<XhdXoAPz9 DO NOT COPY THESE VALUES c_j{iwqD^<+c9.k<J@4H');
define('SECURE_AUTH_KEY',  'E2N-h2]Dcvp+aS/p7X DO NOT COPY THESE VALUES {Ka(f;rv?Pxf})CgLi-3');
define('LOGGED_IN_KEY',    'W(50,{W^,OPB%PB<JF DO NOT COPY THESE VALUES 2;y&,2m%3]R6DUth[;88');
define('NONCE_KEY',        'll,4UC)7ua+8<!4VM+ DO NOT COPY THESE VALUES #`DXF+[$atzM7 o^-C7g');
define('AUTH_SALT',        'koMrurzOA+|L_lG}kf DO NOT COPY THESE VALUES  07VC*Lj*lD&?3w!BT#-');
define('SECURE_AUTH_SALT', 'p32*p,]z%LZ+pAu:VY DO NOT COPY THESE VALUES C-?y+K0DK_+F|0h{!_xY');
define('LOGGED_IN_SALT',   'i^/G2W7!-1H2OQ+t$3 DO NOT COPY THESE VALUES t6**bRVFSD[Hi])-qS`|');
define('NONCE_SALT',       'Q6]U:K?j4L%Z]}h^q7 DO NOT COPY THESE VALUES 1% ^qUswWgn+6&xqHN&%');

这些数据可以直接粘贴在配置文件中,请复制你收到的值(全部)

现在,打开WordPress的配置文件:

sudo nano /var/www/wordpress/wp-config.php

找到存放上述值的地方,它看起来长这样:

. . .

define('AUTH_KEY',         'put your unique phrase here');
define('SECURE_AUTH_KEY',  'put your unique phrase here');
define('LOGGED_IN_KEY',    'put your unique phrase here');
define('NONCE_KEY',        'put your unique phrase here');
define('AUTH_SALT',        'put your unique phrase here');
define('SECURE_AUTH_SALT', 'put your unique phrase here');
define('LOGGED_IN_SALT',   'put your unique phrase here');
define('NONCE_SALT',       'put your unique phrase here');

. . .

删除这些行,然后把刚刚复制的值粘贴进去:

. . .

define('AUTH_KEY',         'VALUES COPIED FROM THE COMMAND LINE');
define('SECURE_AUTH_KEY',  'VALUES COPIED FROM THE COMMAND LINE');
define('LOGGED_IN_KEY',    'VALUES COPIED FROM THE COMMAND LINE');
define('NONCE_KEY',        'VALUES COPIED FROM THE COMMAND LINE');
define('AUTH_SALT',        'VALUES COPIED FROM THE COMMAND LINE');
define('SECURE_AUTH_SALT', 'VALUES COPIED FROM THE COMMAND LINE');
define('LOGGED_IN_SALT',   'VALUES COPIED FROM THE COMMAND LINE');
define('NONCE_SALT',       'VALUES COPIED FROM THE COMMAND LINE');

. . .

接下来,我们要更改一些数据库连接选项,通常这些选项位于配置文件的开头.你需要根据之前的设置更改数据库的名称、用户以及对应的密码.

另外我们需要设置WordPress更改本地文件的方式.因为我们之前已经给了 相应的权限,我们可以直接把更改文件的方式设置为’direct’.如果设置错误,可能导致我们在做其他操作的时候,WordPress需要FTP凭证.这个设置可以加在数据库连接选项的下方,也可以加在其他配置文件的其他地方:

. . .

define('DB_NAME', 'wordpress');

/** MySQL database username */
define('DB_USER', 'wordpressuser');

/** MySQL database password */
define('DB_PASSWORD', 'password');

. . .

define('FS_METHOD', 'direct');

保存并关闭文件.

译注:如果没有正确设置更改本地文件的方式,在安装新的主题的时候会需要FTP凭证

第六步:在网页中完成安装

现在服务器已经配置完成,我们可以在网页中完成接下来的安装.

在你的浏览器中,输入你的域名或者服务器IP地址:

http://server_domain_or_IP

选择你想使用的语言:
在WordPress安装界面选择语言
接下来,会出现安装页面.

选择一个你的WordPress站点的名字并且选择一个用户名(安全起见,不推荐使用admin).页面会自动生成一个强密码,保存这个密码以便日后管理站点.当然你也可以选择一个你喜欢的密码.

输入你的邮箱地址并且选择是否希望被搜索引擎收录:
WordPress主安装界面
当你点击安装的之后,你会被重定向到一个允许你登录的地方.
WordPress允许登录的界面
当你登录以后,你会被重定向到WordPress仪表盘:
WordPress仪表盘

总结

WordPress已经可以使用了!接下的可以设置文章的固定连接(可以在Settings > Permalinks找到),或者选择一个新主题(Apperance > Themes).如果这是你第一次使用WordPress,那么你可以熟悉一下新的内容管理系统.

暂无评论

发送评论 编辑评论


				
上一篇
下一篇