如何在 Ubuntu 20.04 上搭建 LAMP 环境运行 WordPress

Wordpress 是最流行的内容管理系统之一,也是常用的Blog程序之一。Wordpress 可以在 VPS 上以多种方式安装,其中常用的软件环境之一就是 LAMP ( Linux + Apache + MySQL + PHP )。

本教程讲解如何在 Ubuntu 20.04 上搭建 LAMP 环境运行 WordPress,学习后你可以轻松在自己的 VPS 上搭建Wordpress博客。

第一步,准备 Ubuntu 20.04 系统环境

Wordpress 程序安装前,需要准备安装了 Ubuntu 20.04 TLS 系统的 VPS。你可以通过阿里云腾讯云购买性价比高的 VPS

购买 VPS 后,你可以获取到 VPS 的相关信息,包括 IP 地址,root帐号密码等。默认购买的 VPS 都开启 SSH 服务,你可以通过以下命令的方式 SSH 到 VPS 上进行一系列操作了。

ssh root@你VPS的IP地址

为安全起见,建议你使用 root 登录 VPS 后创建一个具有 sudo 权限的帐号

第二步、安装和配置 Apache 2

Apache Http Server 是一个开源的,非常流行,使用非常广泛的网页服务器软件。在 Ubuntu 20.04 系统中我们可以通过以下命令安装 Apache Http Server。

sudo apt update
sudo apt install apache2

使用前面建议创建的非 root 帐号安装时,需要使用 sudo 命令。首次使用 sudo 时系统会提示输入密码,根据提示输入密码后回车即可。

安装完成后,apache默认自动启动,通过以下命令查看 apache 运行状态:

sudo systemctl status apache2

输出类似内容:

● apache2.service - The Apache HTTP Server
   Loaded: loaded (/lib/systemd/system/apache2.service; enabled; vendor preset: 
   Active: active (running) since Sat 2020-06-17 13:55:49 PDT; 21s ago
   ...

默认情况,Ubuntu 20.04 TLS 中使用 UFW 管理防火墙。防火墙需要允许 http(80) 和 https(443) 通讯,可以通过以下命令配置:

sudo ufw allow 80sudo ufw allow 443

如果 ufw 没有启动,建议启动防火墙,这样可以增加 VPS 系统安全性。

关于如何安装,查看,启停 UFW ,如何配置防火墙,可以查看如何在 Ubuntu 上使用 UFW 设置防火墙

可以通过http://your_server_ip访问,您将看到默认的Ubuntu Apache 欢迎页面,效果图如下:

Apache2 Ubuntu Default Page

第三步、安装 MySQL

这一步我们来安装 MySQL,非常简单,运行如下命令即可:

sudo apt install mysql-server

如果需要密码,输入密码即可。之后,安装过程中一路下来默认根据提示默认输入Y,按回车即可。

安装完成后,MySQL 数据库默认启动,我们可以通过如下命令查看其运行状态 。

sudo systemctl status mysql

输出结果类似如下:

● mysql.service - MySQL Community Server
     Loaded: loaded (/lib/systemd/system/mysql.service; enabled; vendor preset: enabled)
     Active: active (running) since Tue 2020-06-23 08:51:37 UTC; 2min 42s ago
   Main PID: 787 (mysqld)
     Status: "Server is operational"
      Tasks: 38 (limit: 1075)
     Memory: 342.8M
     CGroup: /system.slice/mysql.service
             └─787 /usr/sbin/mysqld

MySQL 安装完成后,为安全起见,建议运行 MySQL 的安全配置,设置 root 密码等,运行如下命令:

sudo mysql_secure_installation

选择密码策略,设置 root 密码,之后一路提示默认输入 y,回车即可。

第四步、安装 PHP

要显示动态内容,正常运行 Wordpress 我们需要安装 PHP,安装命令如下:

sudo apt install php
sudo apt install libapache2-mod-php
sudo apt install php-mysql

其中软件包 libapache2-mod-php 和 php-mysql 用来实现 Apache 和 MySQL 的扩展支持。当然为了更好支持Wordpress运行,还需要安装以下扩展,命令如下:

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

至此,PHP 及可能用到的扩展安装完成。

第五步、安装 Wordpress

安装Wordpress之前,还需要对Apache进行简单的配置创建虚拟机配置文件用于网站。假设,你的购买的域名是www.example.com

首先,进入/etc/apache2/sites-available/目录,使用touch命令创建example.com.conf文件,文件内容如下:

<VirtualHost *:80>
    ServerName example.com
    ServerAlias www.example.com
    ServerAdmin webmaster@example.com
    DocumentRoot /var/www/example.com/public_html

    <Directory /var/www/example.com/public_html>
        Options -Indexes +FollowSymLinks
        AllowOverride All
    </Directory>

    ErrorLog ${APACHE_LOG_DIR}/example.com-error.log
    CustomLog ${APACHE_LOG_DIR}/example.com-access.log combined
</VirtualHost>

内容编辑完成后,保存内容。

接下来,您可以启用 mod_rewrite 以使用 WordPress 永久链接功能。 可以使用以下方法完成此操作:

sudo a2enmod rewrite

启用配置后,测试语法是否正确:

sudo apachectl configtest

要使更改生效,请使用以下命令重新启动 apache2 服务:

sudo systemctl restart apache2

其次,登录终端,输入如下命令:

sudo mysql

创建 Wordpress运行需要的数据库和帐号,这里使用的数据库名wdpressdb,用户名wdpressuser,密码WdPress&Password123 可以根据自己需要修改。

CREATE DATABASE wdpressdb DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;
CREATE USER 'wdpressuser'@'localhost' IDENTIFIED BY 'WdPress&Password123';
GRANT ALL ON wdpressdb.* TO 'wdpressuser'@'localhost' IDENTIFIED BY 'WdPress&Password123';
GRANT ALL PRIVILEGES ON *.* TO 'wdpressuser'@'localhost';

需要注意,这里使用的默认安装的 MySQL 8.0.20。

成功创建完成后,输入以下命令,更新变更。

FLUSH PRIVILEGES;

最后,我们开始下载wordpress软件包,并部署wordpress,我们先通过cd命令转入tmp目录。

cd tmp

使用curl命令下载最新版本的wordpress。

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

下载完成后,通过tar命令解压软件包。

sudo tar xzvf latest.tar.gz

解压后,通过cd命令进入wordpress目录,使用mv命令重命名 wp-config-sample.php 文件为 wp-config.php

cd /tmp/wordpresssudo 
mv /tmp/wordpress/wp-config-sample.php /tmp/wordpress/wp-config.php

通过cp命令将文件内容拷贝到/var/www/example.com目录中。

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

为避免任何权限问题,我们可以将域文档根目录的所有权更使用chown命令改为 apache 用户(www-data):

sudo chown -R www-data: /var/www/example.com

至此,配置完成,下一步我们将进入 Wordpress 运行配置界面。

在浏览器中输入http://www.example.com(你自己的域名),你会看到如下配置界面

image-20200623190338160

点击 “Let`s go!”,进入数据库连接配置界面,如下图所示:

image-20200623190551023

这里我们输入之前创建的数据库,用户名,密码。点击 “Submit”,继续。

image-20200623191158919

出现这个界面,点击 "Run the installation",继续。

image-20200623191241204

这里就输入站点名称,管理帐号名称及密码,email等内容后,点击"Install Wordpress"完成Wordpress安装。 至此,我们完成了Wordpress的安装,来看下默认的效果界面。 地址输入:http://example.com ,效果如下:

(这里的域名仅做验收使用,实际情况下需要你配置自己的域名)

image-20200623191525696

剩下的事情就是登录 Wordpress 的管理界面,安装你喜欢的主题,开始你的 Wordpress 之旅吧。

第六步、使用 Let` Encrypt 加密 Apache 网站

这里推荐你访问 https://certbot.eff.org/ 网站,使用 certbot 工具来自动配置。

登录系统后,根据你实际站点的运行环境选择 web 容器,运行操作系统,如下图所示:

image-20200624102436615

选择之后,下方会自动出现操作步骤,你自需要按操作步骤在你系统上执行相应的命令即可。

写在最后

本教程详细讲解了如何在 Ubuntu 20.04 上搭建 LAMP 环境运行 WordPress 的方法,通过本教程你应该学会了如何在 VPS 上使用 Wordpress 建站。

如果你有不清楚的地方,欢迎留言讨论。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 211,817评论 6 492
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,329评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 157,354评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,498评论 1 284
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,600评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,829评论 1 290
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,979评论 3 408
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,722评论 0 266
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,189评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,519评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,654评论 1 340
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,329评论 4 330
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,940评论 3 313
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,762评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,993评论 1 266
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,382评论 2 360
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,543评论 2 349