2317972387

背景

wordpress是什么东西?

WordPress是使用PHP语言开发的博客平台,用户可以在支持PHP和MySQL数据库的服务器上架设属于自己的网站。也可以把WordPress当作一个内容管理系统(CMS)来使用。

WordPress是一款个人博客系统,并逐步演化成一款内容管理系统软件,它是使用PHP语言和MySQL数据库开发的。用户可以在支持PHP 和MySQL数据库的服务器上使用自己的博客。

WordPress有许多第三方开发的免费模板,安装方式简单易用。不过要做一个自己的模板,则需要你有一定的专业知识。比如你至少要懂的标准通用标记语言下的一个应用HTML代码、CSS、PHP等相关知识。

WordPress官方支持中文版,同时有爱好者开发的第三方中文语言包,如wopus中文语言包。WordPress拥有成千上万个各式插件和不计其数的主题模板样式。

来自</baike.baidu.com/item/WordPress/450615?fr=aladdin>

我为什么要安装wordpress?

首先是自己学习过程当中会有遇到的知识多且杂,所以这些知识需要整理,而wordpress便于管理自己的文章,并且可以更好的分享。

其次我自己也是特别喜欢DIY的,强迫症患者晚期,什么东西如果不自己动手搞搞就浑身难受。。。

前一段时间刚好又买了一台服务器,这下东西就配差不多了。

如何建设个人博客?

目前建设个人博客主要有三个办法:

第一个:国内直接DDNS,用一个笔记本当主机

第二个:国外vps

第三个:githubPage, 直接Hexo

其他两个办法之后可能会尝试

准备工作

需要了解的知识:

1,网络通信的相关知识

2,Linux操作系统的相关知识

3,软件安装相关知识

4,安装web服务器(这里是Apache)

5,安装php

6,安装MySQL数据库

本文主要是介绍使用国外vps搭建,所以大致有以下的步骤:

首先你得购买一台vps服务器,关于如何购买以及搭建可以参考我的上一篇博客;

其次是购买自己的域名,并把它解析到服务器;(这个可以单独出一篇)

然后大体上就是需要先安装一个LAMP环境,也有LNMP(使用nginx);

再然后就是安装wordpress;

 

鉴于这个系列的知识连续性,延展性较强,本文分为以下几个部分:

一域名购买和相关设置

二配置LAMP环境

三安装wordpress

四后续维护

 

那么我们就从域名的购买讲起吧!

安装步骤

一 域名购买和相关设置

注册域名有很多种选择,国内的话阿里云,万网,新网都可以,国外的话godaddy, namesilo等等。

最好注册国际通用的.com/.net域名,这样世界各地都能访问,其他的域名就不清楚了,国内的话.com/.net域名需要备案,不然连解析都不能解析,更别说使用了。其他域名虽然不备案也能解析,但最后要用还是得备案,而备案又是一大波的个人资料的录入。

如果不想备案,那可以使用国外的,但这样做毕竟不合法,所以虽然麻烦点,但还是希望大家能够备案。

在各种方案比较之后,我选择了namesilo上购买域名。具体原因:

Namesilo 简介

Namesilo 是 ICANN 认证的域名域名注册商之一,注册和转入都很人性化,安全保护到位而且性价比很高。

优势

价格便宜稳定

Namesilo 域名本身价格就比较便宜,COM 域名 $8.99/年,除了一个一美元优惠码(优惠码 okoff 或者 go2think),基本没有其他大幅度促销活动,域名续费和首年购买价格一致。

套路指那些首年极其便宜,但次年续费很贵的。如 Godaddy,首年 $0.99,次年续费要 102 元人民币,而且隐私保护还需要额外再加 60 元。

永久免费的隐私保护

Namesilo 提供永久免费的域名隐私保护,防止别人通过 WHOIS 查询获取域名所有者的个人注册信息。作为对比,Godaddy 的隐私保护是 60 元/年,Namecheap 是免费提供第一年。

安全性高

支持账户登陆二次验证和 Domain Defender,保护账户和域名安全。登陆、解锁域名等,都可以设置邮件或短信提醒。

支付方便

支持支付宝、Paypal、信用卡等多种方式付款。

不足

网站风格比较 “传统”,英文页面,功能强大的同时也带来了很多的选项,对于不熟悉的新手可能不太好找。

总结:个人体验和服务上,我觉得除了第一次使用时面板选项不太好找外,其它方面真的没啥黑点和问题,网上评价也很高,以后除了续费也不需要管太多。

然后就是账户注册

(* 为必填内容,建议如实填写;勾选 “Keep my information private”默认使用隐私保护,保护我们的注册信息)

,域名购买,支付方式,域名解析/设置DNS服务器。这些网上都有具体的教程,我就不赘述了。这里简单说一下域名解析的问题。

域名解析

域名注册购买成功后,我们就可以把域名解析到服务器了。

这里我们可以直接使用 Namesilo 解析域名;也可以使用其它解析服务,然后更改 DNS 服务器地址。

方法一:使用 Namesilo 解析域名

点击 蓝色小球,编辑 DNS,可以自己设置,也可以使用下面提供的模版。一般设置 example.com 和 www.example.com 指向自己的服务器 IP 地址就够用了。

方法二:更改 DNS 服务器地址

现在你要考虑的是:解析工作是由 Namesilo 来做呢,还是让空间商 Vultr 来做。换句话来说就是,域名服务器(NS)是用 Namesilo 默认的还是指派 Vultr的 NS。

我强烈建议把解析权交给 vultr,也就是说,把 namesilo 的NS地址改成 Vultr的 NS 地址。这样交接域名解析任务之后,空间和域名解析都在 Vultr进行,可以省去很多麻烦。

按照这个思路,废话不多说,我们接着 更改 NS 地址。当你登录了 Namesilo 之后,会自动转到管理页面:

点击 Account Domains 的 1。

之后来到域名管理面板页面。此时勾选你的域名,然后点击上面的 Change Nameservers 图标。如果勾选后仍然为灰色,则此时要先点击右边的小锁进行解锁(Unlock)。

解锁(Unlock)页面会列出你的域名,以及一些解锁的提示。不用管,直接点击 SUBMIT

此时把原先的 Namesilo 的 NS1 和 NS2 地址改成 Vultr的 NS 地址。分别为 ns1.vultr.com 和 ns2.vultr.com。

然后记得把 NameServer 3: 框里的 ns3.dnsowl.com 这条记录删除。

切记要把这个第3条的 NameSilo 默认的 DNS 记录删掉。

最后,显示成功。Name Servers 处已显示 ns1.vultr.com, ns2.vultr.com

NS 的修改需要较长时间,一般最长在48小时内生效。通常隔天即可。OK,到这一步代表已经把域名解析权交给了 Vultr,工作交接完毕!自此你再也不用管 Namesilo 了,你只要在下次域名到期前来续费就行了。

好了域名我们已经准备好了,来看下一步吧!

二 配置LAMP环境

终于到了我们的重头戏,配置环境了。

vultr有很多环境,它官方有提供的LAMP镜像,一键搭好LAMP环境。但是我安装系统的时候没有选择。要是怕麻烦的用户可以选择一键搭好LAMP环境,能节约不少时间。但是对于我这么爱折腾的用户,不虐下自己都不开心的,哈哈。

首先linux系统有了,我们接下来就是要安装web服务器了。

1 几个必要的概念

web服务器

总的来说,web服务器就是运行在计算机上的一个向整个网络或者是web客户端、浏览器提供文档的一个程序,我们通过http请求便可以获取到存储到web服务器中的信息。

web服务器与网络服务器的区别

网络服务器是网络环境下为客户提供某种服务的专用计算机。换言之,我们的web服务器服务(程序)便是跑在这种计算机下面的。

常见的web服务器

常见的web服务器有Apache、ngnix、IIS

Apache

Apache音译为阿帕奇, 是全世界最受欢迎的web服务器,因其快速、可靠并且可通过简单的API扩充,能将Python\Perl等解释器部署在其上面等优势,受到广泛的关注与使用。

Ngnix

Apache的致命缺陷就是在同时处理大量的(一万个以上)请求时,显得有些吃力,所以“战斗民族”的人设计的一款轻量级的web服务器——Ngnix, 在高并发下nginx 能保持比Apache低资源低消耗高性能 ,

IIS

iis是Internet Information Services的缩写,意为互联网信息服务,是由微软公司提供的基于运行Microsoft Windows的互联网基本服务

———————

2 Apache2 web 服务器的安装

Linux版本是Ubuntu 18.04的朋友会疑惑自己的Linux系统上没有httpd这个服务,其实这一点我们不必惊慌,我们也不必单独装一个httpd服务,此时直接装一个Apache便搞定,因为httpd是Apache超文本传输协议(HTTP)服务器的主程序。被设计为一个独立运行的后台进程,它会建立一个处理请求的子进程或线程的池。

下面我们来看看新版的Apache2 web服务器的安装:

2.1 安装命令搞定

sudo apt install apache2 -y

2.2 安装完毕后,我们检查是否启动了Apache服务

systemctl status apache2

2.3 我们再来看看一些操作Apache的常用命令

重启sudo service apache2 restart

开启、关闭和重启服务器

1、/etc/init.d/apache2 start    /启动Apache服务

2、/etc/init.d/apache2 stop    /停止Apache服务

3、/etc/init.d/apache2 restart    /重启Apache服务

2.4 下面我们就可以开始访问我们刚刚配置的Apache服务器了

打开浏览器,输入/127.0.0.1/ (这是主机默认的IP地址)或者如果是云主机就输入云主机的IP地址。当我们看到下面的页面时变说明Apache2 服务已经成功在我们的服务器上工作了。

 

2.5 附加

编辑apache主配置文件 /etc/apache2/apache2.conf ,修改 KeepAlive 设置

KeepAlive Off

Apache默认的 multi-processing 模块( MPM ) 是一个event 模块, 但是 php默认是使用 prefork 模块

禁用event 模块,启用 prefork 模块

sudo a2dismod mpm_event

sudo a2enmod mpm_prefork

重启Apache

sudo service apache2 restart

如果在重启Apache时,看见关于ServerName的报错,可以做如下修改

编辑apache主配置文件 /etc/apache2/apache2.conf

添加一行 ServerName localhost

然后执行 sudo service apache2 restart

———————

2.6 注意:

这里有的同学可能会遇到一些问题,无法加载到apache2信息页面。这里就要判断到底是哪里出了问题了,

apache配置文件默认的是index.php index.html index.htm等,可以找到这些文件打开看一下。

找到apache的配置文件httpd.conf后找到

<IfModule dir_module>

    DirectoryIndex  index.php index.htmlindex.htm

</IfModule>

排除各种问题后一般就能加载出来了。

3 安装php组件

sudo apt-get install php php-fpm libapache2-mod-php php-mcrypt php-mysql

libapache2-mod-php:与apache2服务器配套干活的

php-mcrypt:php内的加密支持扩展库,说实话我不知道这个是不是安装wordpress必须的

php-mysql:与mysql连接

———————

4 安装 MySQL 服务

安装 MySQL 过程中,控制台会提示您输入 MySQL 的密码,您需要输入两次密码,并记住您输入的密码,后续步骤需要用到:

sudo apt-get install mysql-server -y

安装 php MySQL相关组件:

sudo apt-get install php7.2-mysql

sudo apt install mysql-server php-mysql

注意:这里会遇到一个问题,安装过程当中可能没有提示输入密码。这是怎么回事呢?查了各种资料之后终于明白了。以下是解决方案。

方案一:

我在Ubuntu16.04版本中使用终端安装MySQL5.7时,按照度娘的教程,搜索如何安装,大多是如下代码:

sudo apt-get install mysql-server

sudo apt-get install mysql-client

检查MySQL是否运行:

sudo netstat -tap | grep mysql

如果成功安装,我的会显示如下内容:

tcp        0     0 localhost:mysql         *:*                     LISTEN      18475/mysqld

PS:重启/打开/关闭MySQL的方法是:sudo service mysql restart/start/stop

就这两个命令就安装好了,可是我在安装过程中并没有出现要我写用户名和密码的地方,我一脸懵逼,

完成后在终端输入mysql -u root -p之后,要求我输入密码,可是我并不知道密码,随便输入之后,

ERROR 1045 (28000): Access denied for user ‘root’@’localhost’ (using password: YES)

 

百度了三五个小时,解决方案五花八门,我最后使用有效的方法是:

打开一个文件

sudo vim /etc/mysql/debian.cnf

在这个文件里面有着MySQL默认的用户名和用户密码,

最最重要的是:用户名默认的不是root,而是debian-sys-maint,如下所示

# Automatically generated for Debian scripts. DO NOT TOUCH!

[client]

host     = localhost

***user     = debian-sys-maint

password = Z1fVrmTiZNxxw29o***

socket   = /var/run/mysqld/mysqld.sock

[mysql_upgrade]

host     = localhost

user     = debian-sys-maint

password = Z1fVrmTiZNxxw29o

socket   = /var/run/mysqld/mysqld.sock

密码会随即给一个很复杂的,这个时候,要进入MySQL的话,就是需要在终端把root更改为debian-sys-maint,如下代码

mysql -u debian-sys-maint -p

然后终端会提示你输入密码

Enter password:

这是输入文件中的密码即可成功登陆。

当然了,这之后就要修改密码了,毕竟密码太难记。

经过度娘的指导,我所安装的版本是5.7,所以password字段已经被删除,取而代之的是authentication_string字段,所以要更改密码:

mysql> update mysql.user set authentication_string=password(‘password’) where user=’root’and Host = ‘localhost’;

如果显示:

Query OK, 1 row affected, 1 warning (0.00 sec)

Rows matched: 1  Changed: 1 Warnings: 1

则代表成功修改,之后需要*重启**MySQL,方可登录成功。

顺便说一下删除MySQL的方法,省的之后再找度娘。

代码如下:

sudo apt-get autoremove –purge mysql-server-5.7

sudo apt-get remove mysql-server

sudo apt-get autoremove mysql-server

sudo apt-get remove mysql-common

上面的可能会有些是多余的,之后需要清理残余数据

dpkg -l |grep ^rc|awk ‘{print $2}’ |sudo xargs dpkg -P

哈哈,到此结束。

 

方案二:

目前默认的源是找不到5.7版本的。如果想通过apt来安装mysql5.7,则需要添加源。

目前网上给出的大部分答案是这样的

$ sudo apt-get install software-properties-common

$ sudo add-apt-repository -y ppa:ondrej/mysql-5.7

$ sudo apt-get update

$ sudo apt-get install mysql-server

# 这样apt是找不到5.7版本的。

通过Google,找到了正确的安装步骤

wget /dev.mysql.com/get/mysql-apt-config_0.6.0-1_all.deb

sudo dpkg -i mysql-apt-config_0.6.0-1_all.deb

sudo apt-get update

sudo apt-get install mysql-server-5.7

# 这样才能通过apt来安装mysql5.7

# 在安装过程中,会要求输入root的密码。

安装完成后,执行 mysql_secure_installation ,根据提示完成安全设置

———————

5 安装 phpmyadmin

使用 apt-get 安装 phpmyadmin,安装过程中,您需要根据提示选择 apache2 ,再输入root密码 和数据库密码:

sudo apt-get install phpmyadmin -y

建立 /var/www/html 下的软连接:

sudo ln -s /usr/share/phpmyadmin /var/www/html/phpmyadmin

重启 MySQL 服务

sudo service mysql restart

重启 Apache 服务:

sudo systemctl restart apache2.service

简介:

phpMyAdmin 是一个以PHP为基础,以Web-Base方式架构在网站主机上的MySQL的数据库管理工具,让管理者可用Web接口管理MySQL数据库。借由此Web接口可以成为一个简易方式输入繁杂SQL语法的较佳途径,尤其要处理大量数据的导入及导出更为方便。其中一个更大的优势在于由于phpMyAdmin跟其他PHP程序一样在网页服务器上运行,但是您可以在任何地方使用这些程序产生的HTML页面,也就是于远程管理MySQL数据库,方便的创建、修改、删除数据库及数据表。也可借由phpMyAdmin创建常用的php语法,方便编写网页时所需要的sql语法正确性。

2.11.0是phpMyAdmin最后一系列支持PHP4的版本,并增加了创建与查看View的功能,能够从查询的结果中建立,并能够管理procedures。这个版本开始,也支持MySQL数据库5.0.37版本之后的查询文件化功能,并因应上面有数千个数据库与数据表的服务器,提供更好的管理接口

来自维基百科

6 整合LAMP

整合php和mysql

sudo apt-get install php7.2-mysql

整合php和Apache

sudo apt-get install libapache2-mod-php7.2

# …

其实这个上面已经安装过了。。。

sudo service apache2 restart

7 验证环境

Apache默认的网站根目录位于 /var/www/html/ ,进入这个目录,并创建 info.php

<?php

phpinfo();

?>

在浏览器中输入 /localhost/info.php

排错

如果 /localhost/info.php页面空白,请尝试 Ctrl+F5 强制刷新页面。

如果依然空白,说明php和apache之间还需要一些配置

编辑 /etc/apache2/apache2.conf

<FilesMatch \.php$>

SetHandler application/x-httpd-php

</FilesMatch>

重启Apache

sudo service apache2 restart

刷新 /localhost/info.php。此时应该可以看见phpinfo中的内容了。

以上是Ubuntu下php无法访问此网站的内容,更多 无法 Ubuntu 访问 网站 php 的内容,请您使用搜索功能获取相关信息。

7 安装 WordPress

我们需要下载一个 WordPress 压缩包:

wget /cn.wordpress.org/wordpress-4.7.4-zh_CN.zip

下载完成后,解压这个压缩包

sudo unzip wordpress-4.7.4-zh_CN.zip

解压完后,就能在 WordPress 文件夹里看到 WordPress 的源码了

到WordPress 官网找一个安装包并复制安装包下载路径。

8 为 wordpress 配置一个数据库

进入 mysql,输入以下代码后,按提示输入您MySQL密码:

mysql -u root -p

为 wordpress 创建一个叫 wordpress 的数据库:

CREATE DATABASE wordpress;

为 这个数据库设置一个用户为 wordpressuser:

CREATE USER wordpressuser;

为这个用户配置一个密码为 password123:

SET PASSWORD FOR wordpressuser= PASSWORD(“password123″);

为这个用户配置数据库的访问权限:

GRANT ALL PRIVILEGES ON wordpress.* TO wordpressuser IDENTIFIED BY”password123”;

生效这些配置

FLUSH PRIVILEGES;

然后退出 mysql

exit;

数据库这块要注意下

9 配置 wordpress

由于PHP默认访问 /var/www/html/ 文件夹,所以我们需要把 wordpress 文件夹里的文件都复制到 /var/www/html/ 文件夹

sudo mv wordpress/* /var/www/html/

修改一下 /var/www/html/ 目录权限:

sudo chmod -R 777 /var/www/html/

将apache指定到index.html

sudo mv /var/www/html/index.html /var/www/html/index~.html

重启 Apache 服务:

sudo systemctl restart apache2.service

测试访问

距离大功告成还有一步:编辑/var/www/html/wp-config

在这个文件的末尾添加这样一行代码即可:

define(‘FS_METHOD’, ‘direct’);

这个代码意思是:定义文件操作方式为direct,direct代表直接操作,也就是通过php本地操作文件I/O。当安装、更新插件时php脚本会去网络下载主题、插件,然后写入本地磁盘。如果不这样设置,默认会使用FTP方式操作服务器上的文件。我一开始就不知道这个设置,在配置ftp服务器上浪费了巨多时间。FS_METHOD参数的详细信息在如下页面可以找到(虽然这个页面内说direct是默认方式,但是我亲身体验发现并不是啊):/codex.wordpress.org/Editing_wp-config.php

———————

注意:查看刚才自己解压的安装包,重新配置wp-config文件,填写自己相对应的数据库相关的信息。

wordpress客户端的安装界面弹出来后,填上相对应的信息,就可以咯。

现在输入你的域名或者服务器地址应该就能跳转到wordpress客户端安装界面了。搞了这么一通,总结一下就是,还是选择一键安装包吧。。。

四 后续维护

经过上面的安装已经大功告成,现在所有操作都没有问题了。下面我会不定时更新wordpress使用的小问题。

1.今天安装了JetPack插件:

安装php-xml即可:sudo apt-get install php-xml,然后重启apache服务器

2.关于wordpress的“固定链接”,如果没有开启apache的mod_rewrite功能,那么会找不到已经写好的文章。安装方法:编辑/etc/apache2/apache2.conf文件,更改如下位置为“All”

注意更改的是/var/www这个Directory。然后运行命令:sudo a2enmod rewrite,最后重启apache服务器

3.有可能会影响到你服务器上之前的软件

重启相关的服务就好了

4.由于系统版本不同,相关的操作可能会有一些区别

5.后续服务器以及博客的优化我会慢慢更新的

6.声明:部分的解决方案是参考网上一些文章,例如域名购买,配置LAMP等等。我把这部分的知识整合并且加入了一些自己遇到的坑。但是每个人实际的配置环境都不一定相同,仅作参考。本文未经作者许可不得转载。

312-461-7734

欢迎使用WordPress。这是您的第一篇文章。编辑或删除它,然后开始写作吧!