写给小白的建站指南

六月初自己博客建站,后来又帮叁柒分建站,现把全过程整理成文,作为个人备忘,同时也供小白参考。

购买虚拟服务器

虚拟服务器(Virtual Private Server)就是通常说的 VPS,是网站驻留的位置。所谓虚拟服务器,指的是对于用户来说,它和一台实体的服务器一样,有 CPU 有硬盘有内存有操作系统等等,但实际上它是使用虚拟化技术实现的,在真正的一台实体服务器上,可能有成百上千台这样的虚拟服务器并存。而如此众多的虚拟服务器之间,使用 IP 地址进行区分。

主流的 VPS 提供商有 LinodeVultrBandwagon 等等,我选择的是 Vultr,可使用我的推广链接注册,你我都有优惠。

注册完成后,在 Servers 页面点击右上角的 + 号部署新的服务器。在 Vultr Cloud Compute (VC2) 页面中,我的选择依次如下:

  1. Server Location: Tokyo, Japan
  2. Server Type: 64 bit OS - Ubuntu 16.04 x64
  3. Server Size: 15GB SSD $5/mo
  4. Additional Features: Enable Private Network
  5. Startup Script: 留空
  6. SSH Keys: 留空
  7. Server Hostname & Label: 两个都填入 tokyo-ubuntu-x64

这个配置每个月花费 5 美金,共有 15GB SSD 存储空间,768MB 内存空间,每个月 1TB 带宽,对于个人网站来说已经足够。另外注意一下,每个月的费用支付或充值在左侧的 Billing 页面进行,需要使用支持美金支付的信用卡或 PayPal 完成支付,也可使用比特币。

都选好后,点击页面右下角的 Deploy Now,过一会服务器就安装完成了。在 Server 页面点击刚安装好的 tokyo-ubuntu-x64 进入 Server Information 页面,在最左边的 IP Address 就是这台服务器的 IP 地址,Username 和 Password 就是用于 ssh 登录使用的用户名和密码,后面会用到。请妥善保管,注意密码不要泄漏。本站的服务器信息如下图所示:

购买域名

购买了虚拟服务器之后,有了 IP 地址。但假如通过 IP 地址(如本站的 45.63.127.253)访问网站,不便于记忆,容易输入错误,且不具有特定的含义,因此还需要购买域名,如本站的域名为 lancitou.net。

域名的购买也是有不同的域名服务商可供选择,如 GoDaddy(俗称「狗爹」)、Name.comNamecheap 等,各个服务商的首次注册价格、续费价格、迁移价格不尽相同,可自由选择,最终的效果是一样的。我选择的是 Name.com,同样,可以通过我的推广链接注册,你我都有优惠。

关于域名的选择,有几点注意事项及个人建议:

  • 域名中的 .com 或 .net 等,通常表明了网站的组织性质,而 .cn 或 .us 等则表明了组织的所在地,可按实际情况申请对应的域名。但也有标新立异的,如 .me 其实是黑山的国家域名,近年来被许多个人网站化用为「我」的含义而流行起来。
  • 尽量选择与你的网站名称相同又方便记忆的域名,如本站名称「烂磁头」,对应的域名为 lancitou.net
  • 所谓购买域名,购买的是诸如 lancitou.net 这样的顶级域名,而 www.lancitou.net 或 blog.lancitou.net 这样的子域名是可以自由添加的,见下文说明。

在选定的域名服务商网站上注册了用户名密码后,搜索到你想注册且未被占用、价格合理的域名后,就赶紧下手注册吧,同样也需要使用支持美金支付的信用卡等。比如本站的 lancitou.net 域名,三年的费用为 $27.97。

域名注册完成后,需要将你刚刚购买的域名和虚拟服务器的 IP 地址关联起来,这样在浏览器中输入你的域名后访问的才是对应的虚拟服务器。Name.com 的设置路径为 https://www.name.com/account ,点击页面上「My Domains」下刚刚注册的域名 lancitou.net 进入域名配置页面,再点击左侧的「DNS Records」,可将原有的记录都删除,再添加你需要的子域名的记录。几个字段的值设置如下:

  • Type: 选择 A,表示这是一条 A 记录。
  • Host: 子域名,留空表示 lancitou.net,输入 blog 表示 blog.lancitou.net,等等。也可输入星号「*」表示匹配所有的子域名。
  • Answer: 就是浏览器中输入对应子域名后,要「应答」什么 IP 地址,填上虚拟服务器的 IP 地址。
  • TTL: 不需要修改,保持 300 即可。

例如,本站的域名就添加了如下的三条记录,这样不管是访问 lancitou.net 还是 www.lancitou.net 或者 blog.lancitou.net,访问的都是同一台虚拟服务器了。

设置好后,打开「开始」菜单的「运行」,输入 cmd,在弹出的窗口中输入 nslookup lancitou.net 等命令,可以查看域名是否与 IP 地址关联成功:

> nslookup lancitou.net
Server:       127.0.1.1
Address:  127.0.1.1#53

Non-authoritative answer:
Name: lancitou.net
Address: 45.63.127.253

> nslookup blog.lancitou.net
Server:       127.0.1.1
Address:  127.0.1.1#53

Non-authoritative answer:
Name: blog.lancitou.net
Address: 45.63.127.253

> nslookup www.lancitou.net
Server:       127.0.1.1
Address:  127.0.1.1#53

Non-authoritative answer:
Name: www.lancitou.net
Address: 45.63.127.253

可以看到域名 lancitou.net 的三条记录都已成功和 IP 地址 45.63.127.253 关联。

服务器的安装与配置

此时在浏览器地址栏中输入 http://lancitou.net(将 lancitou.net 替换为你自己的域名)将什么都访问不了,还需要对服务器进行安装与配置。因为博客系统选用了 WordPress,这是一个采用 PHP 语言编写的开源博客系统,数据库采用 MySQL,因此服务器配置采用了经典的 LAMP 组合,即 Linux + Apache + MySQL + PHP,下面逐个介绍其安装与配置方法。

Linux

Linux 及其上的工具集合(GNU/Linux)是一个非常流行的开源操作系统,概念上可以认为与 Windows 等同。由于 Linux 的源代码可自由获取并在遵守特定的开源协议的前提下任意修改和分发,因此有许多基于 Linux 的发行版本,如 UbuntuFedoraGentoo 等等,这些发行版本的最主要区别是软件包的安装方式不同。

还记得在「购买虚拟服务器」部分,我们的 Server Type 选择的是「64 bit OS - Ubuntu 16.04 x64」吗?其中的 Ubuntu 就是比较流行且较适合初学者的 Linux 发行版。也就是说,购买了虚拟服务器实际上已经自动完成了 Linux 操作系统的安装,只需登录到 Linux 服务器上进行配置及安装其它服务即可。

但是作为服务器运行的 Linux,都是服务器版本,没有可以双击打开文件夹那样的图形桌面。因此所谓的「登录到 Linux 服务器上」,就是使用「购买虚拟服务器」时的 IP 地址(绑定域名成功后可直接使用域名)、用户名和密码,通过 ssh 连接到虚拟服务器上。ssh 是一种安全的远程登录协议,我们可以在 Windows 下使用支持 ssh 登录的工具连接 Linux 服务器,如 SecureCRTPuTTY 等等。下面以 PuTTY 为例,说明如何连接服务器。

运行下载到的 putty.exe,并在 PuTTY Configuration 窗口的 Session 界面填入如下信息:

  • Host Name: 填入你的域名,如 lancitou.net
  • Port: 保持默认的 22 即可。
  • Connection Type: 保持默认的 SSH 即可。

如下图所示:

填写完成后,点击 Open 按钮,首次连接会弹出一个 PuTTY Security Alert,大意是要连接的服务器的公钥未保存在本地,若信任此服务器则点击「是」将此服务器的公钥加入本地缓存中,我们自己的服务器当然点击「是」。

之后出现一个黑色的窗口,提示 login as:,此时输入「购买虚拟服务器」一节中的用户名(通常为 root),回车之后根据提示再输入密码即可(密码在输入时不会有星号显示,注意不要输入错误),再次回车后若登录成功,将显示服务器的欢迎界面,如下图所示:

这样,我们就成功登录到服务器上了。后继的命令执行及配置文件修改等操作,都是在这个界面上完成的。

ftp 服务器

WordPress 后台安装主题和插件时,需要使用到 ftp 功能,因此需要安装 ftp 服务器。使用如下命令安装:

# apt-get install ftpd

apt-get 命令是 Ubuntu 上用于管理软件包的命令,它有多个子命令,其中 install 子命令就是用于安装软件包的,remove 子命令用于卸载软件包,详细的子命令列表及使用说明,可使用 apt-get help 命令查看。

每次运行 apt-get install 命令时,都会将要安装的软件包依赖的其它软件包也一并列出,同时显示所需要的磁盘空间,最后询问是否安装,输入 y 或 Y 或直接敲回车都可以继续安装。

刚刚安装好的 ftp 服务器,默认是不允许 root 用户使用 ftp 连接服务器的,因此需要使用 vim 命令修改相应的配置文件。

# vim /etc/ftpusers

/etc/ftpusers 这个文件记录了不允许通过 ftp 访问的用户列表,一行一个用户名。只需先敲一个「i」进入 insert(插入)模式,再将光标移到 root 一行并在前面加上 # 号,再按「Esc」键退出 insert 模式,最后输入 :wq 保存退出即可。关于 Vim 的用法,可登录 OpenVim 网站以交互方式学习。

Apache

当你在浏览器的地址栏输入自己网站的域名并敲回车,想要打开网站的主页时,服务器上接收这个「打开网站主页」请求的,称为 Web 服务器。Linux 上主流的 Web 服务器有 ApacheNginx 等,我们选用的是 Apache 服务器。安装命令如下(注意是 apache2 不是 apache):

# apt-get install apache2

安装完成后,试着在浏览器的地址栏输入自己的网站域名,此时应该可以看到如下的页面:

这表明你的网站已经搭建成功了!恭喜取得里程碑式的进展~

但别高兴得太早,这只是一个最最简单的网站,没有其它任何功能。想要能用 WordPress 写博客,还有很长的路要走。

MySQL

不管是博客的文章还是作者的信息,都是保存在数据库中的。WordPress 使用的数据库系统是 MySQL,同样也是使用 apt-get install 命令安装,注意软件包的名称是 mysql-server

# apt-get install mysql-server

安装的过程中,会弹出如下的界面提示为 root 用户创建密码,请选择尽量复杂的密码并牢记,注意不要泄露,同时注意不要与 ssh 登录服务器的 root 用户的密码相混淆。

再次输入相同的密码确认,等待 MySQL 服务器安装完成后,可使用 mysql 命令验证是否安装成功,其中的 localhost 是一个特殊的主机名称,表示服务器本身;输入安装 MySQL 时为 root 用户设置的密码后,进入 mysql> 的命令行,这里可以输入 SQL 语句直接操作数据库。我们先不做操作,输入 quit 退出。

# mysql -h localhost -u root -p

Enter password: 
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 52685
Server version: 5.7.13-0ubuntu0.16.04.2 (Ubuntu)

Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> quit
Bye

此时的数据库除了一些系统级别的表之外,还没有其它内容,下面安装其它服务时将逐步创建相应的数据库。

PHP

WordPress 的源代码就是使用 PHP 语言编写的,因此 PHP 语言的解析器也是必不可少的。你一定猜到了,安装 PHP 的命令就是这样:

# apt-get install php

但这只安装了 PHP 解析器,为了在网站上能够解析 PHP 页面,还需要安装 Apache 的 PHP 模块:

# apt-get install libapache2-mod-php

另外,为了使 PHP 能连接 MySQL 服务器,还需要安装 PHP 的 MySQL 模块:

# apt-get install php-mysql

上述三个命令可以组合在一起,用一个 apt-get install 命令安装多个软件包:

# apt-get install php libapache2-mod-php php-mysql

安装成功后,需要重启一下 Apache 服务器,使刚安装的模块生效:

# systemctl restart apache2.service

为了验证 PHP 是否安装成功且与 Apache、MySQL 配合是否正常,可使用 cd /var/www/ 命令切换到 Apache 安装后默认的网站根目录,再创建 phpinfo.php 文件,内容如下:

<?php
phpinfo();
?>

保存退出后,在浏览器输入如 http://lancitou.net/phpinfo.php (将 lancitou.net 替换为你自己的域名)即可查看 PHP 相关的配置,包括版本信息、环境变量、各个库的安装情况等等。

请特别注意是否有 mysqli 这个表格(可使用 Ctrl+F 在页面内搜索 mysqli)。

以上都正常后,就可以开始安装使用 PHP 编写的各种 Web 应用了,包括 phpMyAdmin 和 WordPress 等等。

phpMyAdmin

phpMyAdmin 是 MySQL 服务器的可视化管理工具,以 Web 页面的形式呈现,操作简单方便。对于 WordPress 博客系统本身的正常运行来说,缺少 phpMyAdmin 并没有什么影响,因此 phpMyAdmin 为可选安装项。但有了 phpMyAdmin 就不需要使用 mysql 命令行及自己编写 SQL 语句了,极大地提高了效率,因此建议新手安装。

phpMyAdmin 已进入 Ubuntu 官方的软件库,所以同样使用 apt-get install 命令安装:

# apt-get install phpmyadmin

安装过程中会弹出如下的配置窗口,用于选择所使用的 Web 服务器。把光标移到 apache2 那一行,按空格选中(此时 apache2 左边的方括号中多了一个星号),再按回车继续安装。

另外还会有一个配置窗口,用于选择是否自动安装 phyMyAdmin 使用的数据库,这里直接选择 Yes 并回车即可。

接下来,会让输入 phpMyAdmin 的密码,假如不输入将生成一个随机密码,直接回车即可。

其实 phpMyAdmin 依赖于 libapache2-mod-php 和 php-mysql,也就是说,如果前面没有安装 libapache2-mod-php 和 php-mysql,则这一步在安装 phpMyAdmin 时会自动安装上这两个软件包,当然也包括 phpMyAdmin 依赖的其它软件包。

安装完成后,同样使用 systemctl restart apache2.service 命令重启一下 Apache 服务器。重启成功后,在浏览器中输入如 http://lancitou.net/phpmyadmin (将 lancitou.net 替换为你自己的域名)这样的网址,就可以打开 phpMyAdmin 的登录页面了。使用在安装 MySQL 时为 root 用户设置的密码登录。

登录后,点击上方的 Databases,再在 Create database 下面的 Database name 中输入 wordpress(注意是全小写),Collation 不需要修改,再点击 Create 即可创建名为「wordpress」的数据库,是不是很方便?这个数据库暂时没有内容,是一个空数据库,下面安装 WordPress 时将自动在这个数据库内创建表。

WordPress

好了,终于讲到 WordPress 本身了。WordPress 作为开源的博客系统,以其优秀的主题及插件的设计而得到了广泛的应用。和 phpMyAdmin 一样,WordPress 也已进入 Ubuntu 官方软件库,可使用 apt-get install wordpress 安装。但这里选择直接从官网下载最新版本的方法安装。

# cd /var/www
# wget https://wordpress.org/latest.tar.gz
# tar xzvf latest.tar.gz
# cd /var/www/wordpress

WordPress 提供了一个配置文件的示例,就是 wordpress 目录下的 wp-config-sample.php,我们把它复制一份再做修改:

# cp wp-config-sample.php wp-config.php
# vim wp-config.php

需要修改的是其中的 DB_NAMEDB_USERDB_PASSWORD 三个变量的值,分别对应数据库名称(全小写的 wordpress)、数据库的用户名(root)、数据库的密码(在安装 MySQL 时为 root 用户设置的密码)。

/** The name of the database for WordPress */
define('DB_NAME', 'wordpress');

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

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

保存退出后,使用浏览器打开诸如 http://lancitou.net/wordpress/wp-admin/install.php 的页面(将 lancitou.net 替换为你自己的域名),即可进入 WordPress 著名的五分钟安装流程,根据提示输入即可。其中的 Site Title 就是你的网站标题,Username 和 Password 分别是登录博客后台时使用的用户名和密码,Your Email 填写自己的常用邮箱,Search Engine Visibility 表示博客对于搜索引擎的可见性,假如不想让搜索引擎搜索到,则可以勾选此选项,这里选择不勾选,即对搜索引擎可见。例如:

  • Site Title: 烂磁头
  • Username: yestyle
  • Password: **********
  • Your Email: ********@gmail.com
  • Search Engine Visibility: 不勾选

输入完成并点击「Install WordPress」后,稍等片刻,待提示成功后,就可以使用刚刚填入的用户名和密码登录 WordPress 后台开始写文章啦~ Happy WordPressing~

关于 WordPress 的相关配置及常见问题解决方法,请关注本站后继文章,谢谢~

以上。

comments powered by Disqus