1.1 版本,添加了教程文章的模块,如果只是用最简单的博客功能,请选择 1.0 分支。
写了一个用来安装本博客的教程,请参考: https://php-blog.broqiang.com/tutorials/blog-manual
服务器已经到期, 上面的地址不能再访问, 本项目也不再维护,已经将数据库文件放在项目,有兴趣的可以自己本地搭建环境
此项目是在 LNMP 环境下开发的,理论上也支持 LAMP 没有实际测试过
-
操作系统 - CentOS 7.4
-
Tengine/2.2.1 (nginx/1.8.1) 这个和 Nginx 几乎相同,是个 淘宝二次开发的 Nginx
-
Mysql 5.7.21
-
PHP 7.1.15
创建一个项目保存目录,如果已经存在可以忽略此部
# 选择安装目录,比如我的是 /www 目录
sudo mkdir /www
cd /www
方法一 直接通过 composer 安装
注意:
此方法需要已经配置好了 composer
此方法安装无法更新,有新的版本只能重新安装
composer create-project broqiang/laravel-blog broqiang.com "1.1.*"
方法二 通过 github 直接下载代码
git clone -b 1.1 https://github.com/BroQiang/www.broqiang.com.git
cd broqiang.com
composer install
sudo chmod -R 777 storage
sudo chmod -R 777 public/uploads
# 复制配置文件
cp .env.example .env
# 修改配置文件
APP_NAME= # 修改成自己的项目名称
APP_URL= # 换成自己网站的 URL,注意这个一定要换,本地上传图片和重置密码需要用到
# 数据库配置
DB_HOST=127.0.0.1 # Mysql 的连接地址,本地的数据库一般就是 127.0.0.1
DB_PORT=3306 # Mysql 端口,一般默认是 3306
DB_DATABASE=www_broqiang_com # 数据库的名称,根据创建的 database 来配置
DB_USERNAME=root # 数据库连接的名称
DB_PASSWORD=1 # 数据库连接的密码
DB_PREFIX=bro_ # 数据库表前缀,为空的话是没有前缀
# 邮箱配置,如果需要重置密码,要配置此项
MAIL_DRIVER=smtp
MAIL_HOST=
MAIL_PORT=
MAIL_USERNAME=
MAIL_PASSWORD=
MAIL_ENCRYPTION=
MAIL_FROM_NAME=
# 配置用户信息,这个是通过 seed 生成管理员的时候用的
# 配置管理员用户
ADMIN_USER_NAME=
# 配置管理员邮箱
ADMIN_USER_EMAIL=
# 七牛云相关配置,如果图片上传到七牛云的话需要配置这里
QINIU_ACCESS_KEY=
QINIU_SECRET_KEY=
QINIU_BUCKET=
QINIU_DOMAIN=
# 百度翻译用到的配置
BAIDU_TRANSLATE_APPID=
BAIDU_TRANSLATE_KEY=
# 百度统计的 key
BAIDU_TONGJI=ceb4dafbd34d908306d9745fc0e0f4e4
生成 key
php artisan key:generate
创建数据库表
可以根据个人喜好去创建
# 登录 Mysql 数据库
mysql -uroot -p
# 创建 database
create database www_broqiang_com;
# 创建用户
create user www@'127.0.0.1' identified by 'password';
# 给 database 授予权限
grant all on www_broqiang_com.* to www@'127.0.0.1';
初始化数据库
php artisan migrate
# 生成管理员用户,用户名和邮箱是 .env 中配置的,如果不配置的话默认是 BroQiang [email protected]
# 只有管理员才可以操作后台
php artisan db:seed --class=UsersTableSeeder
如果需要初始化测试数据执行下面命令
如果不需要测试数据就不要执行下面的步骤了,因为会有不少垃圾数据的
php artisan migrate --seed
暂时没有开发修改管理员的功能,默认db:seed 安装的用户就是管理员,需要手动连接到数据库,将 users 表中的 is_admin 改为 1 才可以看到后台
根据实际的情况配置,这里只记录配置的 server ,一个基础的配置
server {
listen 80; # 端口,一般http的是80
server_name blog.broqiang.com; # 一般是域名,本机就是localhost
index index.php index.html; # 默认可以访问的页面,按照写入的先后顺序去寻找
root /www/web/www.broqiang.com/public; # 项目根目录
# Laravel 的 url 重写
location / {
try_files $uri $uri/ /index.php?$query_string;
}
# 下面是所有关于 PHP 的请求都转给 php-fpm 去处理
location ~ \.php {
fastcgi_pass 127.0.0.1:9000;
fastcgi_split_path_info ^(.+\.php)(.*)$;
fastcgi_param PATH_INFO $fastcgi_path_info;
fastcgi_param PATH_TRANSLATED $document_root$fastcgi_path_info;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
fastcgi_intercept_errors on;
access_log off;
}
重启 Nginx 服务
sudo systemctl restart nginx