安装
下载Typecho
链接:typecho
下载后得到一个压缩文件,解压后获得目录如下:
将该文件夹改名为blog
并且上传到/var/www/blog
目录下:
如下:
修改apache配置
参考:链接
执行 Typecho
安装程序
上面apache配置正确的话,在浏览器输入 http://ip/install.php
或者 http://域名/install.php
就能访问到安装程序了:
问题
1、配置数据库时,报错
对不起,无法连接数据库,请先检查数据库配置再继续进行安装
解决方法:
手动创建数据库【typecho】即可
底部增加备案号
1、在主题文件夹下 【blog/usr/themes/default】的footer.php 添加代码:
<?php if($this->options->bei): ?> <div class="blog-text-center"><a href="https://beian.miit.gov.cn/#/Integrated/recordQuery" target="_blank" rel="nofollow"><?php $this->options->bei(); ?></a></div> <?php endif; ?>
2、在主题文件夹下 【blog/usr/themes/default】的function.php 添加代码: 在
$bei = new Typecho_Widget_Helper_Form_Element_Text('bei', NULL, NULL, _t('工信部备案号'), _t('一般为 苏ICP备9999999号,留空则不显示')); $form->addInput($bei->addRule('xssCheck', _t('工信部备案号不能使用特殊字符')));
3、保存后,选择 【控制台-外观-设置外观】 即可找到相应的ICP备案号填写处:
问题:保存后,过段时间会消失,原因目前未知,以防发生,直接写死
方法:在主题文件夹下 【blog/usr/themes/default】的footer.php 添加代码:
<?php _e('<a href="https://beian.miit.gov.cn/#/Integrated/recordQuery">你的备案号</a>'); ?>.
启用https
参考 :链接
申请SSL证书
参考:链接
Typecho程序设置
1、登录【控制台 -> 个人设置 【】-> 个人主页地址】 改成https的域名:
2、编辑Typecho站点根目录下的文件config.inc.php加入下面一行配置:
/** 开启HTTPS */ define('__TYPECHO_SECURE__',true);
注意:Chrome内核的浏览器有不安全提示的时候,需要找到主题目录下面的comments.php文件
再将其中的$this->commentUrl(),替换为:echo str_replace("http","https",$this->commentUrl());最后保存。
更换主题
参考:链接
1、下载对应的包,解压,上传到 【blog/usr/themes/】
2、登录后台,【控制台- 外观 】,点击启动即可:
问题:
切换后,点击博客主页,报错,试了几个主题皆如此,欢迎大佬来解惑!
增加访客统计
参考:链接
下载插件
上传
将插件上传导 usr/plugins这个目录下
启用插件
1、登陆后台,在“控制台”下拉菜单中进入“插件管理”
2、激活相关插件
更新设置
实现效果:
在背景文件 footer.php 添加:
// 輸出訪問次數: <?php Views_Plugin::theViews(); ?> // 輸出最歡迎文章: <?php Views_Plugin::theMostViewed(); ?>
文章字数统计
在主题包 中的文件functions.php中写入代码:
/* 文章字数统计 */ function art_count ($cid){ $db=Typecho_Db::get (); $rs=$db->fetchRow ($db->select ('table.contents.text')->from ('table.contents')->where ('table.contents.cid=?',$cid)->order ('table.contents.cid',Typecho_Db::SORT_ASC)->limit (1)); $text = preg_replace("/[^\x{4e00}-\x{9fa5}]/u", "", $rs['text']); echo '共'.mb_strlen($text,'UTF-8').'字';
在模板 【post.php】中调用:
<li><?php _e('字数: '); ?><?php echo art_count($this->cid); ?></li>
问题:Call to undefined function mb_strlen()
报错:
方法: 在php 的配置文件php.ini里面的 extension=php_mbstring.dll前面的;去掉
问题:我的php.ini里面TM 没有 extension=php_mbstring.dll
解决方法:
原因:安装PHP时未安装mbstring扩展
1、安装mbstring扩展:
yum install php-mbstring2、修改php.ini
echo ‘extension=mbstring.so' >>/etc/php.ini echo ‘extension=mbstring.dll' >>/etc/php.ini3、重启服务
systemctl restart httpd
手机端评论报错 database query error
解决方法
将MySQL数据库的 sql-mode='STRICT_TRANS_TABLES,NO_ENGINE_SUBSTITUTION'中的
STRICT_TRANS_TABLES删掉,然后重启MySQL服务
具体操作
修改mysql的配置文件 :
vim /etc/my.cnf
sql-mode 字段中去掉 STRICT_TRANS_TABLES,然后重启服务
我的 mariadb 的 my.cnf 文件中没有sql-mode,若要永远修改 sql-mode,直接在
中修改,若没有,直接添加,保存,重启服务
参考:链接
开启调试模式
在网站文件 config.inc.php 中添加:
/** 开启调试模式,错误页面会显示具体的错误内容 */ define('__TYPECHO_DEBUG__', true);
编辑当前外观时无法写入
授权即可:
chmod -R 777 /var/www
修改上传文件的大小
参考:链接
1、找到php.ini文件
find / -name '*php.ini*'
2、打开php.ini文件
vim /etc/php.ini
3、修改php.ini文件
upload_max_filesize = 1000M; //设置成你想要的大小 post_max_size = 1000M;
4、重启服务
systemctl restart php-fpm.service
添加文章目录
参考:链接
功能
就是显示文章目录。
本插件的显隐功能依赖jquery
目前只对h2
和h3
做解析,并且解析出的数量大于3的时候才会放出目录。
下载
安装
下载解压文件将文件夹重命名为 TableOfContents
上传至 usr/plugins
目录即可!
启用
使用OSS储存Typecho上传附件
参考:链接
下载
安装
1、解压插件,将解压后的文件夹重命名为AliOssForTypecho
2、上传至 usr/plugins
目录即可
启动
配置
注意事项:
1、bucket 权限设置为共有读
2、网站目录/usr/uploads 开放权限
设置图片样式
参考:链接
1、添加水印
参考:链接
例子:设置图片的固定大小,并在图片走右下方添加水印
?x-oss-process=image/resize,w_600,h_600/watermark,type_ZmFuZ3poZW5naGVpdGk,size_20,text_SGVsbG8gUGFt,color_FFFFFF,shadow_50,t_100,g_se,x_5,y_5
?x-oss-process=image/ :表达添加的参数
resize,w_600,h_600/ :表示设置图片宽高各600
watermark,type_ZmFuZ3poZW5naGVpdGk,size_20,text_SGVsbG8gUGFt,color_FFFFFF,shadow_50,t_100,g_se,x_5,y_5:设置水印文字为“方正黑体”,大小20,文字为:Hello Pam,水印文字为白色、阴影透明度50、位置在右下、水平边距5、中线垂直偏移5
插件设置:
也可以添加图片水印
可参考:
更换编辑器
参考: 链接
1、下载
2、上传
将下载的文件解压,文件夹重命名为EditorMD
,上传到Typechousr/plugins/
目录下
3、开启
登陆后台,在控制台
下拉菜单中点击插件
进入插件管理,
找到EditorMD
,点击启用
注意:使用 EditorMD 后在设置项中的 接管前台Markdown解析 不建议开启,开启后在自定义模板中可能会存在适配问题
在分类后添加文章个数
参考:链接
1、找到 sidebar.php
2、替换语句
<?php $this->widget('Widget_Metas_Category_List')->to($categorylist); ?> <?php while($categorylist->next()): ?> <li><a href="<?php $categorylist->permalink(); ?>" title="<?php $categorylist->name(); ?>"><?php $categorylist->name(); ?>(<?php $categorylist->count(); ?>)</a></li> <?php endwhile; ?>
添加网站运行时间
1、添加代码
在 functions.php 中添加代码:
// 设置时区 date_default_timezone_set('Asia/Shanghai'); /** * 秒转时间,格式 年 月 日 时 分 秒 * * @return html */ function getBuildTime(){ // 在下面按格式输入本站创建的时间 $site_create_time = strtotime('2016-09-22 00:00:00'); $time = time() - $site_create_time; if(is_numeric($time)){ $value = array( "years" => 0, "days" => 0, "hours" => 0, "minutes" => 0, "seconds" => 0, ); if($time >= 31556926){ $value["years"] = floor($time/31556926); $time = ($time%31556926); } if($time >= 86400){ $value["days"] = floor($time/86400); $time = ($time%86400); } if($time >= 3600){ $value["hours"] = floor($time/3600); $time = ($time%3600); } if($time >= 60){ $value["minutes"] = floor($time/60); $time = ($time%60); } $value["seconds"] = floor($time); echo ''.$value['years'].'年'.$value['days'].'天'.$value['hours'].'小时'.$value['minutes'].'分'; }else{ echo ''; } }
2、修改自己的建站日期
$site_create_time = strtotime('2016-09-22 00:00:00');
在需要调用的地方填写以下代码:
网站已运行:<?php getBuildTime(); ?>
例如,放在网站底部:
在 footer.php 中添加即可
3、可以修改显示的内容:
$value['years'].'年'.$value['days'].'天'.$value['hours'].'小时'.$value['minutes'].'分'
4、补充
php中换行:<br />
5、效果:
返回顶部
1、插件下载
链接 密码: dzt6
2、上传插件
上传到 博客目录/usr/plugins
3、后台启用