如何在部署了LAMP的Ubuntu 20.04上安装WordPress

简介:

WordPress是当今世界上最流行的开源内容管理系统(CMS),据统计,使用wordpress建立的网站,约占世界上所有网站的36%。Wordpress使用起来非常容易,即使你一点儿PHP技术都不懂,也不影响你使用wordpress建立自己的网站。

Ubuntu 20.04上安装Wordpress
Ubuntu 20.04上安装Wordpress

本教程的主机为Linux Ubuntu 20.04云服务器,并已配置好LAMP(Linux,Apache,MySQL和PHP)堆栈,下面我们来介绍如何在该环境下安装Wordpress。

第1步-创建MySQL数据库和用户

WordPress使用MySQL管理和存储站点及用户信息。我们已经安装了MySQL,但是我们还需要创建一个供Wordpress使用的数据库用户。

首先,我们通过如下命令来登录MySQL:

mysql -u root -p

 输入之前设置的密码登录。

我们创建一个名为“wordpress”的数据库,以供Worpdress使用,其实数据库的名称可以随意命名,但在本教程中我们将使用wordpress这个名称。通过键入以下内容为WordPress创建数据库:

CREATE DATABASE wordpress DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;

注意:每个MySQL语句必须以分号(;)结尾。如果遇到问题,请检查一下是否以分号结尾。

接下来,我们将创建一个单独的MySQL用户帐户,该帐户将专用于操作我们新建的“wordpress”数据库。从管理和安全的角度来看,创建特定的数据库和帐户是有利于我们网站的安全的。在本教程中我们使用“wordpressuser”这个用户名。

通过输入以下的命令,我们将创建一个名为wordpressuser的帐户,用要设置的密码替换“password”,并授予该用户对“wordpress”数据库的访问权限。为了增强系统的安全性,记得设置足够复杂的密码

CREATE USER 'wordpressuser'@'%' IDENTIFIED WITH mysql_native_password BY 'password';

接下来,授予“wordpressuser”这个账户对“wordpress”数据库全部的访问权限:

GRANT ALL ON wordpress.* TO 'wordpressuser'@'%';

现在,我们就已经为Wordpress建立了数据库以及账户,使用下面的命令使设置生效:

FLUSH PRIVILEGES;

通过输入下面的命令退出MySQL:

EXIT;

第2步-安装PHP扩展

在部署LAMP堆栈环境的时候,我们可能已经安装了一些PHP扩展,我们通过输入以下的命令,来安装更多wordpress需要的PHP扩展。

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

注意:每个WordPress插件都有自己的环境要求。有些插件可能需要使用到其他的PHP扩展,你可以查看插件的相关文档来了解,并根据需要进行安装。

输入一下命令重启APACHE。

sudo systemctl restart apache2

步骤3 —调整Apache的配置以允许.htaccess覆盖和重写

接下来,我们将对Apache配置进行一些必要的调整。Apache的配置文件应该在/etc/apache2/sites-available/目录中。

在本教程中,我们将以/etc/apache2/sites-available/wordpress.conf的配置文件为例。另外,我们将/var/www/wordpress用作WordPress安装的根目录。您可以以自己在配置文件中设置的网站安装目录为准。

注意:默认情况下000-default.conf是我们的配置文件(该文件中/var/www/html为网站安装的根目录)。如果只在服务器上建立一个网站,这样的配置没有问题。但是如果打算在该服务器上建立多个网站,那么最好为每个网站创建独立的配置文件。

启用.htaccess重写

默认情况下,.htaccess文件已经被禁止使用。WordPress和很多WordPress插件需要使用该文件对Web服务器进行配置。

使用文本编辑器(例如nano)网站的Apache配置文件。

sudo nano /etc/apache2/sites-available/wordpress.conf

要允许.htaccess文件使用,我们需要在配置文件中的VirtualHost区块内添加以下文本块,注意使用正确的网站安装路径:

/etc/apache2/sites-available/wordpress.conf

<Directory /var/www/wordpress/>
    AllowOverride All
</Directory>

完成后,保存并关闭文件。使用nano编辑器,可以通过按CTRL+ X,然后按Y,然后ENTER保存退出

启用重写模块

接下来,通过使用下面的命令开开启wordpress网站重写模块:

sudo a2enmod rewrite

这样我们就可以为我们的文章设置符合人类阅读习惯的固定链接,如下两例所示:

http://example.com/2012/post-name/
http://example.com/2012/12/30/post-name

启用更改

通过使用下面的命令来检查配置文件是否存在错误。

sudo apache2ctl configtest

可能会得到类似以下的输出:

Output
AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.1.1. Set the 'ServerName' directive globally to suppress this message
Syntax OK

重新启动Apache使配置生效。

sudo systemctl restart apache2

接下来,我们将下载并配置WordPress。

第4步-下载WordPress

现在我们的服务器已配置完毕,我们可以开始下载并配置WordPress。出于安全原因,建议从官网获取WordPress最新版本。

切换到可写目录(建议使用临时目录/tmp),下载WordPress的压缩包。

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

将压缩包解压到当前文件夹:

tar xzvf latest.tar.gz

我们创建一个.htaccess文件,以便WordPress稍后使用它。

通过键入以下内容来创建文件:

touch /tmp/wordpress/.htaccess

将wp-config-sample.php复制并更改为wp-config.php。

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

我们还可以创建一个upgrade目录,以使WordPress在后续更新时使用:

mkdir /tmp/wordpress/wp-content/upgrad

现在,我们可以将目录的全部内容复制到我们的目标网站根目录/var/www/wordpress中。我们在源目录的末尾使用一个点来表示应复制目录中的所有内容,包括隐藏文件(如.htaccess我们创建的文件):

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

第5步-配置WordPress目录

在安装Wordpress之前,我们需要进行一些简单的调整。

调整所有权和权限

首先,将所有文件的所有权授予www-data用户和用户组。这是运行Apache 网络服务器的用户,并且Apache需要能够读写WordPress目录文件才能为网站提供服务以及执行自动更新。

使用chown将目录的所有权授予www-data。

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

接下来,我们将运行两个find命令来设置WordPress目录和文件的正确权限:

sudo find /var/www/wordpress/ -type d -exec chmod 750 {} \;
sudo find /var/www/wordpress/ -type f -exec chmod 640 {} \;

设置WordPress配置文件

现在,我们需要对主WordPress配置文件进行一些更改。

当我们打开配置文件时,我们的首要任务是调整一些安全密钥,这些安全密钥主要是用来加密我们的cookie。WordPress提供了安全密码生成器,帮我们设置一系列足够安全和复杂的密钥。

要从WordPress密钥生成器获取安全值,请输入:

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

我们将获得类似于下面区块中的内容。

警告!不要复制和使用下面的值!

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

这些配置行可以直接粘贴到配置文件中以设置安全密钥。

接下来,打开WordPress配置文件:

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

找到包含这些设置的示例值的部分。/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');

. . .

删除这些行,然后把前面生产的密钥复制过来:

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

. . .

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用于写入文件系统的方法。由于我们已授予Apache写入所需位置的权限,因此我们可以将文件系统方法设置为“ direct”。

可以在数据库信息的下方添加该内容如下所示:

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

. . .

// ** MySQL settings - You can get this info from your web host ** //
/** 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' );

/** MySQL hostname */
define( 'DB_HOST', 'localhost' );

/** Database Charset to use in creating database tables. */
define( 'DB_CHARSET', 'utf8' );

/** The Database Collate type. Don't change this if in doubt. */
define( 'DB_COLLATE', '' );


. . .

define('FS_METHOD', 'direct');

完成后保存并退出。

步骤6 —通过Web界面完成安装

在浏览器中输入网址或者IP地址:

https://server_domain_or_IP

选择要使用的语言:

WordPress语言选择

接下来,输入网站名称创建用户及密码,系统会自动生成一个比较复杂的密码,当然也可以自己设置想要的密码。

输入电子邮件地址,然后选择是否要阻止搜索引擎索引你的网站:

WordPress安装程序安装

点击进入下一步:

WordPress登录提示

登录后,我们将进入Wordpress的管理后台:

WordPress登录提示

到这里,我们就基本上完成了Wordpress的安装了。

总结

安装完成了,只是说明我们的网站已经建立起来了。但是我们的网站还没有选择合适的主题,还没有丰富的内容,更加没有用户访问。我们现在就像一个创业者,注册了公司,租了场地,但是离创建自己的商业王国,还有很长很长的路要走。

原创文章,作者:牛奇网,如若转载,请注明出处:https://www.niuqi360.com/lamp-config/lamp-ubuntu-20-04-install-wordpress/

发表评论

登录后才能评论