基于 Laravel5.3 的个人博客重构完成

简介

基于iDashboard后台Laravel5.3的个人开源博客 larablog,优化 iDashboard 部分代码,理论上是升级版,后台主题是用的 INSPINIA - Responsive Admin Theme 主题,本人代码完全开源,至于主题只供学习交流。如需商业应用请自行购买授权!

Redis优化

新版博客优化了 Redis 统计文章阅读次数,同时将推荐文章改进了一下。之前是完全按照文章点击量来排序,现在是将文章的创建时间戳作为有序集合中的分数,文章的ID、标题、创建时间的json字符串作为有序集合中的键。
用户每浏览一篇文章,分数将自增 8640 分,再用有序集合按照分数降序排列获取前10篇分数最高的文章。

css、js优化

新版博客css、js都是由 gulp 构建,并且增加了版本控制。博客所有页面的css核心样式都是由sass编译生成。大家可以按照自己的需要重新编译即可,所有sass文件中代码没有删除,都只是被我注释。

还有其他的一些小变化,我就不多介绍了。如果博客有什么小问题或者bug,请在github中提出,非常感谢。

安装

下载本项目代码到本地:

git clone https://github.com/lanceWan/larablog.git

进入到项目然后 composer 安装:

cd larablog

composer install

配置 .env 文件:

[sudo]cp .env.example .env

Linux 和 Mac 下注意执行权限 !

配置数据库和日志:

DB_HOST=localhost
DB_DATABASE=homestead
DB_USERNAME=homestead
DB_PASSWORD=secret

# log日志包配置,这里固定这么写(后面考虑去掉)
APP_LOG=daily

迁移数据:

php artisan migrate --seed

OK,项目已经配置完成,后台首页 /admin/dash,不清楚路由的可以直接去看 routes/web.php 文件。默认管理员账号:iwanli , 密码:123456 。如果你是在Linux或Mac下配置的请注意相关目录的权限,这里我就不多说了,enjoy!

路由部分加了域名显示,本地演示的小伙伴,请将 routes/web.php 中的 domain 改一个

错误邮件发送

发送错误邮件请先配置好邮件发送服务器,具体看官方文档或者中文文档。

# 邮件地址
MAIL_ADRESS=null
# 发件人名称
MAIL_NAME=null
# 错误邮件发送地址
MAIL_SYSTEMERROR=null

最后一个错误邮件发送地址是系统报错后接收的邮箱地址,默认为空(空值的情况下是不会进行发送邮件)。队列默认情况下是本地实时发送,换其他的发送驱动请参考文档上设置即可。

待完成

  • 学院模块
  • 后台首页界面

项目缺陷

个人博客是赶时间写的,难免有不完善的地方,这里只说一些比较严重的缺陷:

  • 网站分类和菜单分类并非“无限极”,只是采用常规的递归方法
  • 所有数据ID加密问题,iDashboard 之前的代码是没有考虑ID加密,现在只部分加密

项目地址

github地址:https://github.com/lanceWan/larablog

欢迎大家fork,同时也希望大家给点 star ~.~

本作品采用《CC 协议》,转载必须注明作者和本文链接
本帖由 Summer 于 7年前 加精
《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。
《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。
讨论数量: 39

在执行 composer install 会报如下错误:

[RuntimeException]
  The only supported ciphers are AES-128-CBC and AES-256-CBC with the correct
   key lengths.
Script php artisan optimize handling the post-install-cmd event returned with error code 1

尝试执行 composer update 还是一样,修改 config/app.php 文件 cipher 值为 AES-128-CBC 也不行。

可有解决办法?

7年前 评论

@Lv007 执行下php artisan key:generate

7年前 评论

@Lv007 这个是Laravel5.3的一个问题,随便复制一个项目的key然后放在 .env 文件中就行了

7年前 评论
hellloveyy

@lanceWan 我也是各种办法,修改config/app.php,然后php artisan key:generate 还有什么清除啊,都试过了。 都不好使。嗯嗯,这个帖子最服你 O(∩_∩)O哈哈~

7年前 评论
hellloveyy

@lanceWan 能否说一下,你以后项目的思路呢?我fork了,但是没啥思路呢还。 有关学院,和后台首页

7年前 评论

@hellloveyy 学院是我自己打算做一个最简单的视频模块,放一下分享的视频。这个我只打算最简单的做,所以并不会有什么复杂的东西。后台首页是获取当前系统的信息、用户信息展示、新增用户(后面学院模块会用到多用表,这个需要统计展示)、文章浏览量什么的。反正都是一些展示信息

7年前 评论
hellloveyy

@lanceWan 我打开一片空白是什么原因? 输出phpinfo没有问题。 但是任何页面都是一片空白。。。

7年前 评论
hellloveyy

兄弟我的nginx 配置是没问题的,在index.php 可以打出phpinfo,但是全都是白屏,一点错误没有,日志错误只是报错500

7年前 评论

5.5都快出来,还用5.3。。

7年前 评论

@中国天妖 :sweat_smile: 说得好像会5.3就不会5.5一样,写代码也要时间呀大哥~ Laravel China还是5.1写的呢,重要的是写代码,不是版本吧~~

7年前 评论
DukeAnn

大神好厉害,去读代码了

7年前 评论
DukeAnn

日志错误点全部会报错,Route [log-viewer::logs.show] not defined.应该是合并依赖的类名字没对上

7年前 评论

@ADKi 这个估计是包更新了,但是我没有指定版本 导致对应不上了 :expressionless:

7年前 评论
DukeAnn

@lanceWan 是更新了,前一阵子我的也对不上了,改过来了,我是继承重写的

/** @var string */
    protected $showRoute = 'log.show';
7年前 评论

@ADKi 哈哈 谢谢,现在我先不纠结这个了,我要投入时间到Laravel5.4和Vue上面,这个个人博客就马虎一下

7年前 评论
DukeAnn

@lanceWan 恩 加油

7年前 评论

添加文章的时候报token错误,文章添加不了,在模板提交的时候有token验证啊!!请问知道什么原因吗?报错:TokenMismatchException in VerifyCsrfToken.php line 68: 谢谢啦!我是本地测试!!

7年前 评论

@秋风 路由里面的域名限制去掉了没? 这个报错引起的原因有很多,应该不是 token 的原因。

7年前 评论

@lanceWan routes/web.php 中的 domain 已经去掉了!!!

7年前 评论

@秋风 恩 这是因为我要做几个模块的功能,所以按照域名划分路由,你们本地演示直接去掉就行了

7年前 评论

@lanceWan 我去掉了还是不可以!!! 总是报TokenMismatchException in VerifyCsrfToken.php line 68:这个错误!!

7年前 评论

@lanceWan 文章添加的时候有其他的限制吗???

7年前 评论

@秋风 这个我就不清楚了,我不清楚你的环境什么的 我也说不上来哪里的问题。。。 有的小伙伴能正常运行,实在不行你在代码里面测试一下不就知道了么?,耐心点吧 :smile:

7年前 评论

@lanceWan 嗯嗯 好的 谢谢啦!!项目很棒!!!研究中!!

7年前 评论

前台404,后台没问题

7年前 评论

@LCheung 路由里面有域名限制,去掉即可

7年前 评论

上个月用上个版本部署好环境,过来支持下

7年前 评论

TokenMismatchException in VerifyCsrfToken.php line 68,这个坑从以前的版本到现在一直都解决不了。。只能看着代码想象大神的页面了。。

7年前 评论

@skywingfs 随便复制一个项目的key然后放在 .env 文件中就可以了

7年前 评论

@lanceWan 你说的这个问题能解决AES-128-CBC and AES-256-CBC的问题,并解决不了TokenMismatchException的问题,我后台一登陆就会报这个错误

7年前 评论

@skywingfs 不会吧,这个问题我没办法了 :flushed: ,5.3版本一直有这个问题

7年前 评论

@skywingfs :smile: 5.4是Laravel和Vue的权限后台系统

7年前 评论

想用Laravel写一个非常精简的Blog,不知题主有何意见?

  1. 练手
  2. 求精简,可扩充度高。
7年前 评论

@xiaopo 主要写代码就行了,前端样式什么都可以先忽略,可以用这个 http://materializecss.com/ 很简单,和bootstrap差不多

7年前 评论

LZ代码组织很好,读起来好爽。 学习了TableData使用。还了解Repository pattern,赞。 B站看你身影VUE2.0 ^_^

7年前 评论

@hellloveyy 如果在linux下面的话,查看目录权限,有些是要有可写权限的。

7年前 评论

前端用的是啥?

7年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!