准备工作

为了建站,首先需要

  • -购买一个域名
  • -购买一个VPS(稍贵)或者虚拟主机(便宜,集成)
  • -将域名解析到VPS或者虚拟主机上

注意:需要检查防火墙设置有没有打开,用到如下代码:
sudo ufw status verbose

不正常的例子:

说明80(http)端口和443(https)端口并未打开,只打开了22端口

开放端口需要如下指令:
sudo ufw allow http
sudo ufw allow https

执行后,重新加载防火墙
sudo ufw reload

不放心可以重新执行一开始的防火墙检查

安装LAMP以及wordpress

使用的LAMP分别为:Linux (Ubuntu)发行版, Apache, MySQL,PHP,接下来要逐步安装这四个东西

1.安装Linux

安装过程省略,现有的vps和虚拟主机很多直接集成了,直接用最新版就好,Linux的发行版选择Ubuntu

更新Linux

为了保证最新的软件,需要用到如下代码:
sudo apt update
sudo apt upgrade

分别输入之后会提示输入Y继续,最后以防万一再次输入一次
sudo apt update

2.安装Apache Web服务器

安装代码如下:
sudo apt install apache2

3.安装MySQL

安装代码如下
sudo apt install mysql-server

安装MySQL时的设置

  1. 进入配置
    sudo mysql_secure_installation

  2. 设置密码(是否设置密码Y,密码强度0,1,2分别是弱,中,强)

  3. 是否删除允许匿名用户登录数据库(Y)

  4. 是决定是否禁止root用户从远程登录MySQL的选项。(Y)

  5. 是否要删除测试数据库test(Y)

  6. 重新加载权限表格(Y)

配置MySQL数据库

  1. 登录到MySQL
    sudo mysql -u root -p

  2. 创建DB的名字
    CREATE DATABASE wordpress_db

  3. 创建用户名和明码
    CREATE USER 'wordpress_user'@'localhost' IDENTIFIED BY 'password'

替换wordpress_db、wordpress_user和password为你想用的数据库名、用户名和密码。

  1. 赋予这个用户对这个DB的全部权限
    GRANT ALL PRIVILEGES ON wordpress_db.* TO 'wordpress_user'@'localhost'

  2. 刷新权限
    FLUSH PRIVILEGES;

  3. 退出
    EXIT;

注意:如果出现权限不够的时候,;例如下图(仅为例子,不代表实际名称)
重新完全退出之后,再次用以下代码进入
mysql -u root -p

如果一切正常的话可以退出MySQL之后用以下代码来检查
mysql -u 用户名 -p -h localhost
输入密码后,如果一切设置正确,你应该能够登录到MySQL命令行界面,并且能看到对应数据库。你可以执行简单的查询来测试,如:
USE 数据库名称;

如果一切正常的话可以退出MySQL之后用以下代码来检查
mysql -u 用户名 -p -h localhost
输入密码后,如果一切设置正确,你应该能够登录到MySQL命令行界面,并且能看到对应数据库。你可以执行简单的查询来测试,如:
USE 数据库名称;
SHOW TABLES;SHOW TABLES;
`

4.安装PHP

安装代码:
sudo apt install php libapache2-mod-php php-mysql

5.安装wordpress

下载和安装

  1. 下载代码:
    wget https://cn.wordpress.org/latest-zh_CN.tar.gz

  2. 解压缩下载文件
    tar -xzvf latest-zh_CN.tar.gz

  3. 移动WordPress文件夹:
    sudo mv wordpress /var/www/html/

登录到WinSCP上检查var/www/html/下有没有wordpress文件,没有的话手动移动

  • 检查权限
    文件:应该设置为 0644
    目录:应该设置为 0755

  • 在wordpress文件夹中找到wp-config-sample.php,复制一份黏贴,重命名为:wp-config.php。找到以下字段:

define('DB_NAME', 'database_name_here');

define('DB_USER', 'username_here');

define('DB_PASSWORD', 'password_here');

define('DB_HOST', 'localhost');

将 'database_name_here' 替换为你的数据库名,'username_here' 替换为你的数据库用户名,'password_here' 替换为你的数据库用户密码。通常 DB_HOST 为 'VPS的IP地址',

  • 保存并重启服务器

这个时候应该可以输入域名/readme来打开教程了,如果出现了问题请按照如下步骤来解决。

问题排查

  • 检查etc/apache2/sites-available/000-default.conf这个文件,如果写的是/var/www/html,请尝试改成/var/www/html/wordpress

  • 查找wordpress目录下是否有.htaccess文件(注意这是个隐藏文件),如果没有的话新建文件,取这个名字,然后复制黏贴以下内容。保存后重启服务器。

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress

0 条评论

发表回复

Avatar placeholder

您的邮箱地址不会被公开。 必填项已用 * 标注