Fenghe's Blog

如何在Ubuntu 18.04上安装WordPress

之前写了一篇如何在Ubuntu 16.04上安装WordPress的文章,安装教程有很多问题,我的博客也是按照那篇教程来做的,导致有很多bug。所幸,最近找到了一篇很棒的英文教程,这篇文章就是在翻译那篇英文教程的基础上进行修改的。以下域名均以我的博客fenghe.us创建流程为例进行说明。

更新服务器

apt-get update && apt-get upgrade -y

遇到提示就按Enter键。

安装Nginx网页服务器

apt-get install nginx -y

检查Nginx是否正常安装:

nginx -v

如果正确安装会出现类似这样的文字:

nginx version: nginx/1.14.0 (Ubuntu)

安装MariaDB数据库

apt-get install mariadb-server -y

进入数据库检查是否正确安装:

mysql

如果正确安装会出现类似下面的文字:

Server version: 10.1.29-MariaDB-6 Ubuntu 18.04

退出数据库:

exit;

安装数据库:

mysql_secure_installation
Enter current password for root(enter for none): 直接按Enter键

接下来按Y+Enter设置数据库管理员密码,N+Enter不设置管理员密码(随意,设置了要记住)。

接下来一路按Y+Enter。

安装PHP预处理器

apt-get install php-fpm php-curl php-mysql php-gd php-mbstring php-xml php-xmlrpc -y

检查php是否正确安装:

php -v

如果正确安装,会像下面这样:

PHP 7.2.10-0ubuntu0.18.04.1 (cli) (built: Sep 13 2018 13:45:02) ( NTS )
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies
    with Zend OPcache v7.2.10-0ubuntu0.18.04.1, Copyright (c) 1999-2018, by Zend Technologies

配置PHP

nano /etc/php/7.2/fpm/php.ini

用Ctrl + W查找:

;cgi.fix_pathinfo=1

把这一整行修改为:

cgi.fix_pathinfo=0

用同样的方法把修改以下配置(如果不懂,可以不修改我给的参数,如果无法修改配置,检查一下小键盘上的Num Lock键)。

upload_max_filesize = 500M
post_max_size = 2000M
memory_limit = 2000M
max_execution_time = 120

依次按Ctrl + X, Y, Enter保存配置。

创建WordPress数据库

mysql -u root -p
Enter password: 输入你之前设置的数据库管理员密码(没有就直接按Enter)

创建WordPress数据库:

CREATE DATABASE wordpress;

为确保安全,给WordPress创建单独的数据库用户和密码:

CREATE USER `wpuser`@`localhost` IDENTIFIED BY '输入你的密码';

赋予新创的用户数据库读写权限:

GRANT ALL ON wordpress.* TO `wpuser`@`localhost`;
FLUSH PRIVILEGES;

退出数据库

EXIT;

下载WordPress

先进入网页服务器文件目录

cd /var/www/html

下载最新版本WordPress

wget https://wordpress.org/latest.tar.gz

解压并移除WordPress安装包

tar -zxvf latest.tar.gz --strip-components=1
rm -f latest.tar.gz

赋予网页服务器正确的Linux文件读写权限

chown -R www-data:www-data /var/www/html/
chmod -R 755 /var/www/html/

配置Nginx

sudo nano /etc/nginx/sites-available/fenghe.us

以下代码中的fenghe.us和www.fenghe.us(后面都是这样的)需修改成你的网站的网址。修改文件好了之后跟之前一样,依次按Ctrl + X, Y,Enter保存更改。

server {
    listen 80;
    listen [::]:80;
    root /var/www/html;
    index  index.php index.html index.htm;
    server_name  fenghe.us www.fenghe.us;

    client_max_body_size 500M;

    location / {
        try_files $uri $uri/ /index.php?$args;
    }
	
    location = /favicon.ico {
        log_not_found off;
        access_log off;
    }

    location ~* \.(js|css|png|jpg|jpeg|gif|ico)$ {
        expires max;
        log_not_found off;
    }	

    location = /robots.txt {
        allow all;
        log_not_found off;
        access_log off;
    }	

    location ~ \.php$ {
         include snippets/fastcgi-php.conf;
         fastcgi_pass unix:/var/run/php/php7.2-fpm.sock;
         fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
         include fastcgi_params;
    }
}

使配置文件生效:

ln -s /etc/nginx/sites-available/fenghe.us /etc/nginx/sites-enabled/

移除不需要的默认配置文件:

rm -f /etc/nginx/sites-enabled/default

检查之前的更改是否正确

nginx -t

出现以下两行说明配置是正确的,否则要重复上面配置文件修改的过程,检查修改是否错误:

nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

重启网页服务来使修改生效:

systemctl restart nginx.service
systemctl restart php7.2-fpm.service

配置WordPress

重命名WordPress配置模板,使其成为我们的配置文件:

mv /var/www/html/wp-config-sample.php /var/www/html/wp-config.php

打开该配置文件

nano /var/www/html/wp-config.php

在文件里找到下面几行:

define('DB_NAME', 'database_name_here');
define('DB_USER', 'username_here');
define('DB_PASSWORD', 'password_here');

修改为:

define('DB_NAME', 'wordpress');
define('DB_USER', 'wpuser');
define('DB_PASSWORD', '输入你创建的wpuser数据库用户的密码');

接下来,往下找到这几行:

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');

点击这里在网页里找到为你生成的密钥,将配置文件里的上述几行替换为网页里的内容。

快速替换小技巧:Ctrl + Shift + 6,然后通过键盘上的方向键来选择文字,选择完成后Ctrl + K就可以把大片文字删除替换成你想要的文字。

安装免费的SSL证书

apt-get install python-certbot-nginx -y

把下面加粗的邮箱和域名改成你自己的。

certbot --nginx -m [email protected] -d fenghe.us -d www.fenghe.us

遇到提示的时候依次按A+Enter, Y+Enter,2+Enter。

现在的这个证书已经安装好了,但是90天后会自动过期,接下来让它自动更新:

crontab -e

按1+Enter进入文件修改,在文件内新起一行(任意位置,只要不在#后)加入下面这行代码并保存:

0 1 * * * /usr/bin/certbot renew & > /dev/null

经过上述步骤,在浏览器地址栏内输入你的域名,应该就能看到你WordPress配置界面了,快来创建自己的网站吧。


1 thought on “如何在Ubuntu 18.04上安装WordPress

Leave a Reply

Your email address will not be published. Required fields are marked *