突然间发现自己在阿里上有一个免费的虚拟云空间,好像是什么时候阿里云搞活动赠送的。看了看还有不少时间,就决定自己搭建一个博客系统。说到搭建自己的博客,第一时间就想到WordPress,这个用起来应该是最方便的。

搭建博客

搭建比较容易,首先下载 WordPress 相应的版本,我这边用的是最新版本4.5.2。

然后访问相应的页面,按照提示一步步做下去就可以了。安装教程

下面说一些遇到的问题:

  1. 当我去创建 wp-config.php 时,系统一直报 500 的错误。

    将 wp-config-sample.php 重命名为 wp-config.php,修改其中的参数如:DB_NAME DB_USER DB_PASSWORD DB_HOST  等,注意这个时候数据库应该已经创建好了。

  2. 出错了,但没有错误信息

    将 wp-config.php 中的 define('WP_DEBUG', false); 改为 true

  3. 安全相关

    为了安全需要修改 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');

其实只需要访问一下地址 https://api.wordpress.org/secret-key/1.1/salt/  拿到生成好的内容,替换掉相面的内容。

最终登录后,切换到前台可以看到如下页面

看一下我们项目的结构,项目结构如下

修改域名

之前使用了阿里云的默认域名安装的,但绑定好真实的域名之后发现,样式全部乱掉了,打开chrome的检查一看,发现很多资源还是从阿里云默认的域(即安装时的域名)名取的。就猜测应该是在那个地方存储了这个域名,查了下资料,发现是存在数据库中的,只需要执行如下3条SQL,即可修正。

UPDATE wp_options SET option_value = replace(option_value, 'http://旧域名', 'http://新域名') WHERE option_name = 'home' OR option_name ='siteurl' ;
UPDATE wp_posts SET post_content = replace(post_content, 'http://旧域名', 'http://新域名');
UPDATE wp_posts SET guid = replace(guid, 'http://旧域名' , 'http://新域名');

使用Composer管理项目

参考Using Composer with WordPress

不了解composer的可以查看Composer中文文档

删除多余的内容,只留下如下内容:

├── index.php
├── wp/
└── wp-config.php

然后初始化一下composer的配置,执行如下命令

composer init

最终初始化出来,修改过之后的composer.json内容如下

{
"name": "craryprimitiveman/wpblog",
"authors": [
{
"name": "Harry Sun",
"email": "sunguangjun@126.com"
}
],
"require": {
"php": ">=5.4",
"johnpbloch/wordpress": "4.2"
},
"extra": {
"wordpress-install-dir": "wp"
},
"repositories": {
"packagist": {
"type": "composer",
"url": "https://packagist.phpcomposer.com"
}
}
}

其中repositories的packagist配置是配置使用中国镜像。

然后执行install命令

composer install

然后修改文件 index.php 和 wp-config.php

// index.php
/** Loads the WordPress Environment and Template */
require( dirname( __FILE__ ) . '/wp/wp-blog-header.php' ); // wp-config.php
/** Absolute path to the WordPress directory. */
if ( !defined('ABSPATH') )
define('ABSPATH', dirname(__FILE__) . '/wp/');

安装完毕之后,需要重新走安装wordpress的步骤(删除数据库),其实应该可以是通过更新数据库数据修改的,但我暂时没找到,还不太熟悉Wordpress的数据库,有知道的大神可以留言告知一声。

主题安装开发

我选择了使用sage来开发主题,它是基于HTML5 Boilerplate, gulp, Bower 和 Bootstrap 来开发的。

首先初始化你的theme

composer create-project roots/sage wp/wp-content/themes/your-theme-name-here

如果composer比较慢的话,可以考虑将composer的中国镜像配置到系统全局,命令如下

composer config -g repo.packagist composer https://packagist.phpcomposer.com

如果没有使用composer,也可以使用如下命令

git clone https://github.com/roots/sage.git wp/wp-content/themes/your-theme-name-here

这个时候需要通过wp-cli激活你的主题,安装wp-cli的命令如下

curl -O https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar
chmod +x wp-cli.phar
sudo mv wp-cli.phar /usr/local/bin/wp
# 测试是否正常
wp --info

安装好wp-cli后,使用如下命令激活你的主题

wp theme activate your-theme-name-here

查看页面,可以看到如下页面

好像是变丑了,哈哈哈

但是我们可以开始自己开发了。

需要做的准备,安装gulp,bower等,命令如下:

npm install -g gulp bower
cd wp/wp-content/themes/your-theme-name-here
npm install
bower install

环境准备好之后就可以开始开发了,开发主题的文档sage docs

开发完,记得执行gulp的命令

这篇博客就先到这里~~

使用WordPress搭建自己的博客的更多相关文章

  1. wordpress搭建自己的博客~

    去官方网站下载wordpress,并解压缩.下载链接:https://cn.wordpress.org/ wordpress是一款开源的PHP框架,搭建个人博客网站最实用的选择之一,甚至你都不需要懂P ...

  2. Nginx+php+mysql+wordpress搭建自己的博客站点

    服务器环境要求Centos 6 或以上版本(由于我们的目标是半小时内搭建好,那就选简单yum安装)MySQL 5或更新版本Nginx 1或更新版本PHP 5 或更新版本 php-fpm 5或更新版本 ...

  3. CentOS6.9安装WordPress搭建自己的博客网站

    首先说明我用的是服务器上之前装的mysql数据库,只需要配置上就行了 准备工作 CentOS6.9 在/目录下创建一个目录src,把下载的东西都放到这个文件夹下 下载Apache Httpd,下载地址 ...

  4. 基于ECS搭建云上博客

    场景介绍 本文为您介绍如何基于ECS搭建云上博客. 背景知识 本场景主要涉及以下云产品和服务: 云服务器ECS 云服务器(Elastic Compute Service,简称ECS)是阿里云提供的性能 ...

  5. 基于ECS搭建云上博客(云小宝码上送祝福,免费抽iphone13任务详解)

    码上送祝福,带云小宝回家 做任务免费抽iphone13,还可得阿里云新春限量手办 日期:2021.12.27-2022.1.16 云小宝地址:https://developer.aliyun.com/ ...

  6. 如何搭建一个独立博客——简明Github Pages与Hexo教程

    摘要:这是一篇很详尽的独立博客搭建教程,里面介绍了域名注册.DNS设置.github和Hexo设置等过程,这是我写得最长的一篇教程.我想将我搭建独立博客的过程在一篇文章中尽可能详细地写出来,希望能给后 ...

  7. Ubuntu系统下使用php7+mysql+apache2搭建自己的博客

    很多人都有写博客的习惯,奈何国内的博客网站正在一家家地关闭与重整,部分博客网站也充斥着太多的广告,使用体验非常不好.对于爱写博客的朋友来说,其实还有一个更好的选择,那就是自己搭建一个博客. 搭建一个自 ...

  8. 搭建 Typecho 个人博客

    搭建 Typecho 个人博客 前言 最近在学习中,感觉有个自己的博客,用来记录学习总结,写写生活点滴是件不错的事. 在网上看到 Typecho 博客和 WordPress博客,顿时被 Typecho ...

  9. 一步步搭建自己的博客 .NET版(2、评论功能)

    前言 这次开发的博客主要功能或特点:    第一:可以兼容各终端,特别是手机端.    第二:到时会用到大量html5,炫啊.    第三:导入博客园的精华文章,并做分类.(不要封我)    第四:做 ...

随机推荐

  1. 【小程序分享篇 二 】web在线踢人小程序,维持用户只能在一个台电脑持登录状态

    最近离职了, 突然记起来还一个小功能没做, 想想也挺简单,留下代码和思路给同事做个参考. 换工作心里挺忐忑, 对未来也充满了憧憬与担忧.(虽然已是老人, 换了N次工作了,但每次心里都和忐忑). 写写代 ...

  2. 【翻译】Awesome R资源大全中文版来了,全球最火的R工具包一网打尽,超过300+工具,还在等什么?

    0.前言 虽然很早就知道R被微软收购,也很早知道R在统计分析处理方面很强大,开始一直没有行动过...直到 直到12月初在微软技术大会,看到我软的工程师演示R的使用,我就震惊了,然后最近在网上到处了解和 ...

  3. 个人网站对xss跨站脚本攻击(重点是富文本编辑器情况)和sql注入攻击的防范

    昨天本博客受到了xss跨站脚本注入攻击,3分钟攻陷--其实攻击者进攻的手法很简单,没啥技术含量.只能感叹自己之前竟然完全没防范. 这是数据库里留下的一些记录.最后那人弄了一个无限循环弹出框的脚本,估计 ...

  4. [原] KVM 虚拟化原理探究(5)— 网络IO虚拟化

    KVM 虚拟化原理探究(5)- 网络IO虚拟化 标签(空格分隔): KVM IO 虚拟化简介 前面的文章介绍了KVM的启动过程,CPU虚拟化,内存虚拟化原理.作为一个完整的风诺依曼计算机系统,必然有输 ...

  5. Node.js使用PM2的集群将变得更加容易

    介绍 众所周知,Node.js运行在Chrome的JavaScript运行时平台上,我们把该平台优雅地称之为V8引擎.不论是V8引擎,还是之后的Node.js,都是以单线程的方式运行的,因此,在多核心 ...

  6. IOS开发基础知识--碎片51

    1:https关闭证书跟域名的验证 AFSecurityPolicy *securityPolicy = [AFSecurityPolicy defaultPolicy]; securityPolic ...

  7. Linux基础介绍【第五篇】

    linux权限位 Linux文件或目录的权限位是由9个权限位来控制,每三位为一组,它们分别是文件属主权限.属组权限.其他用户权限. r:read可读权限,对应数字4: w:write可写权限,对应数字 ...

  8. RMS:Microsoft Office检测到您的信息权限管理配置有问题。有关详细信息,请与管理员联系。(转)

    原文:https://zhidao.baidu.com/question/435088233.html RMS有两种方式: 1.使用微软的服务器,这个是连接到微软的服务器上面做权限控制,在今年5月份之 ...

  9. Selenium的PO模式(Page Object Model)[python版]

     Page Object Model 简称POM  普通的测试用例代码: .... #测试用例 def test_login_mail(self): driver = self.driver driv ...

  10. Xamarin.Android通知详解

    一.发送通知的机制 在日常的app应用中经常需要使用通知,因为服务.广播后台活动如果有事件需要通知用户,则需要通过通知栏显示,而在Xamarin.Android下的通知需要获取Notification ...