Centos7部署个人wiki(bookstack)

  • 安装epel-release
  • 安装nginx,启动并设置自启(如有请忽略)
  • 下载php-fpm以及所需依赖组件
  • 配置php
  • 更改php-fpm配置文件
  • 启动php-fpm并设置自启动
  • 安装mysql
  • 安装Composer
  • 安装bookstack
  • 配置bookstack
  • nginx用户授权
  • 为 BookStack 生成唯一的应用程序密钥,并使用 PHP artisan 命令更新数据库模式
  • 配置nginx
  • 测试访问

在网上找的相关部署手册均有不完善的地方,踩了不少坑,以此文章做为部署汇总

安装epel-release

yum -y install epel-release

安装nginx,启动并设置自启(如有请忽略)

yum -y install nginx
systemctl start nginx
systemctl enable nginx

下载php-fpm以及所需依赖组件

因为版本适配的原因,需要下载php7.2版本以上的php-fpm,此处下载php74-fpm

yum install http://rpms.remirepo.net/enterprise/remi-release-7.rpm            //安装remi源
yum --enablerepo=remi-php74 install -y php-fpm php-mcrypt php-curl php-cli php-mysql php-gd php-xsl php-json php-intl php-pear phpw-devel php-common php-mbstring php-tidy php-zip php-soap curl   //安装php-fpm以及所需组件

此处应注意:若下载php-gd时报错缺失所需依赖,先将remi的所有repo删除,再使用yum remove 卸载掉remi;重新安装remi源再尝试下载php-gd

配置php

vim /etc/php.ini           //编辑php配置文件

修改以下行,并去掉行前注释:

cgi.fix_pathinfo=0

保存退出

更改php-fpm配置文件

vim /etc/php-fpm.d/www.conf         //编辑配置文件

修改以下行,并去掉行前注释:

user = nginx
group = nginxlisten = /var/run/php-fpm/php-fpm.socklisten.owner = nginx
listen.group = nginx
listen.mode = 0660env[HOSTNAME] = $HOSTNAME
env[PATH] = /usr/local/bin:/usr/bin:/bin
env[TMP] = /tmp
env[TMPDIR] = /tmp
env[TEMP] = /tmp

启动php-fpm并设置自启动

systemctl start php-fpm
systemctl enable php-fpm

安装mysql

因版本适配原因,需下载mysql5.6以上的版本,此处直接安装最新版

vim /etc/yum.repos.d/mariadb.repo      //新建repo

直接将下面内容复制到repo:

[mariadb]
name = MariaDB
baseurl = http://mirrors.aliyun.com/mariadb/yum/10.4/centos/7.6/x86_64/
gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
enabled=1
gpgcheck=1

注:上述的baseurl需根据自己的centos版本修改

清除yum缓存,构建yum缓存:

yum clean all
yum makecache

下载mariadb:

yum -y install MariaDB-server MariaDB-client

启用mysql并设置自启动:

systemctl start mariadb
systemctl enable mariadb

初始化mysql,并新建用于bookstack的数据库、用户

mysql_secure_installation      //初始化mysql,设置好root密码
mysql -u root -p ****          //登陆mysqlmysql > create database bookstackdb;   //新建数据库
mysql > create user 'bookstack'@'localhost' identified by '123456';   //新建用户
mysql > grant all privileges on bookstackdb.* to bookstack@localhost identified by '123456';     //赋予新建用户权限
mysql > flush privileges;       //刷新权限
mysql > exit;         //退出mysql视图

安装Composer

cd /usr/bin/        //进入bin文件夹(放置composer的目标文件夹)
curl -sS https://getcomposer.org/installer | php     //安装composer
mv composer.phar composer          //改名

可执行composer -v查看其版本,以确定是否成功安装

安装bookstack

此处bookstack从github直接克隆

yum -y install git       //安装git
mkdir -p /var/www        //新建文件夹存放bookstack
cd /var/www              //进入文件夹
git clone https://github.com/BookStackApp/BookStack.git --branch release --single-branch  //从github克隆bookstack

注:若上述git clone操作停顿在clone into,使用ctrl + c取消操作,进行以下操作:

ping github.com            //ping github网站(一般不通)
systemctl restart network  //重启网卡
git clone https://github.com/BookStackApp/BookStack.git --branch release --single-branch  //从github克隆bookstack

克隆完成后,进行下面操作:

cd BookStack/          //进入bookstack文件夹
composer install       //使用composer安装

配置bookstack

cp .env.example .env        //复制一份配置文件并更名使用
vim .env                    //编辑配置文件

将以下内容进行修改:

APP_URL=http://(服务器IP)
# Database detailsDB_HOST=localhostDB_DATABASE=bookstackdbDB_USERNAME=bookstackDB_PASSWORD=123456

注:此处的APP_URL如果不改,最终访问会跳转到https://example.com

nginx用户授权

chown -R nginx:nginx /var/www/BookStack

为 BookStack 生成唯一的应用程序密钥,并使用 PHP artisan 命令更新数据库模式

/var/www/BookStack        //进入文件夹
php artisan key:generate
php artisan migrate

配置nginx

cd /etc/nginx、conf.d/           //进入自己的Nginx所在配置文件夹
vim bookstack.conf               //新建一个bookstack的nginx配置文件

以下内容直接复制进配置文件:

server {listen 80;server_name (自己服务器的域名或者IP);root /var/www/BookStack/public;access_log  /var/log/nginx/bookstack_access.log;error_log  /var/log/nginx/bookstack_error.log;client_max_body_size 1G;fastcgi_buffers 64 4K;index  index.php;location / {try_files $uri $uri/ /index.php?$query_string;}location ~ ^/(?:\.htaccess|data|config|db_structure\.xml|README) {deny all;}location ~ \.php(?:$|/) {fastcgi_split_path_info ^(.+\.php)(/.+)$;include fastcgi_params;fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;fastcgi_param PATH_INFO $fastcgi_path_info;fastcgi_pass unix:/var/run/php-fpm/php-fpm.sock;}location ~* \.(?:jpg|jpeg|gif|bmp|ico|png|css|js|swf)$ {expires 30d;access_log off;}}

保存退出

systemctl restart nginx            //重启nginx

测试访问

浏览器输入http://(IP/域名)
默认账号密码:
admin@admin.com
password

Centos7部署个人wiki(bookstack)踩坑版相关推荐

  1. 最新Ubuntu20.04安装指南(防踩坑版)

    文章目录 最新Ubuntu20.04安装.配置指南(防踩坑版) 一.备份(!!!) (1)Windows系统镜像 (2)个人资料 (3)一些杂项 二.启动盘UEFI引导 1.启动盘制作 2.设置以U盘 ...

  2. 阿里云部署Tiny Tiny RSS踩坑笔记

    阿里云部署Tiny Tiny RSS踩坑笔记 前言 入坑了RSS,之前的配置是阿里云部署RSSHub,配合Inoreader进行文章阅读,详情见RSS入坑指南.阿里云部署RSSHub踩坑笔记.在202 ...

  3. 【完整记录】使用kubeadm部署kubernetes集群踩坑记录及解决方案

    文章目录 搭建集群过程中遇到的问题及解决方案 1. 现有网上的kubernetes集群搭建教程中的kubeadm配置文件版本过老导致出现以下报错: 2. kubeadm init过程中pull镜像超时 ...

  4. Linux阿里云服务器Tomact从部署到放弃(踩坑系列)

    最近在学后台,想一想应该在自己服务器做点什么,然后就去部署这个tomcat试试水! 不就是部署个tomcat吗,分分钟的事,然后就... 弄了我2小时(一直在踩坑),可能是因为我菜吧 1.首先在Lin ...

  5. Jetson AGX Xavier/Nano刷机指南(无需踩坑版)

    文章目录 准备清单 刷机步骤 下载jetpack SDK 刷机 问题汇总 虚拟机USB版本兼容问题 Your system is not ready for install 连接AGX,虚拟机死机 准 ...

  6. Ubuntu 20.04 TLS安装(踩坑版)

    Ubuntu 20.04 TLS 安装 前言 安装准备 下载镜像 制作启动盘 预留空间 安装 进入BIOS 界面 一般是这样的 华硕的大概是这样的 基础设置 分区 设置引导 更换国内源 直接设置 终端 ...

  7. 在C++平台上部署PyTorch模型流程+踩坑实录

    点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达 导读 本文主要讲解如何将pytorch的模型部署到c++平台上的模 ...

  8. 经验 | 在C++平台上部署PyTorch模型流程+踩坑实录

    点上方蓝字计算机视觉联盟获取更多干货 在右上方 ··· 设为星标 ★,与你不见不散 仅作学术分享,不代表本公众号立场,侵权联系删除 转载于:作者丨火星少女@知乎 来源丨https://zhuanlan ...

  9. 亲测可用centos7安装git_centos7安装git踩坑记

    之前自己是按照Git 服务器搭建这篇博客来安装git服务器的,一步步顺序下来,但git clone的时候,每次都要求输入密码.说好的SSH免密登录呢.前后搞了一天多才搞定,现在记录下踩过的坑. 坑1: ...

最新文章

  1. 1.(基于欧式距离聚类实现的点云分割)
  2. 根据端口不同来切换站点_KVM切换器是什么,看懂这一篇就够
  3. Yoda 表示法错在哪里
  4. 云联会企业认证_今日新鲜事:沉浸式交互购车新体验 2020首届中国春季云车展启幕...
  5. XML--XML从入门到精通 Part 1 认识XML
  6. 继续教育统考计算机和英语难度怎么样,网络教育英语统考90分的难度怎么样
  7. excel合并两列内容_还在为合并WPS表格(Excel)中两列内容而犯愁?此方法简单高效...
  8. IBM 前面板显示信息提示
  9. nginx在windows无法停止所有服务_这5项windows服务项目很常见,关于它们的设置建议请仔细参考...
  10. 【C#学习笔记】函数调用
  11. 基于 LoadRunner 实现企业级服务器端性能测试的实践
  12. lf 前后端分离 (5) 优惠券
  13. 微信小程序--微信扫一扫登录pc页面功能的实现
  14. linux下qt实现vlc视频播放器,Qt编写视频播放器(vlc内核)
  15. 让你5分钟明白美国金融危机爆发的原因!
  16. selenium 模拟登陆豆瓣,爬取武林外传的短评
  17. Oracle的LAST_DAY函数
  18. 打印********的平行四边形
  19. LDPC译码原理(公式推导)及其matlab代码实现(超详细)
  20. 使用Weka进行数据可视化

热门文章

  1. 明源服务器修改固定IP,8.5 IP源站选路选项
  2. mac 安装php7.2,mac 安装php7.2后提示
  3. 电信网通的IP地址分布
  4. 加密算法中常见的IND安全模型
  5. CHIL-SQL-LCASE() 函数
  6. 2步释放esp32c3的GPIO11
  7. oracle导出1455,oracle 11g导出数据时报ORA 1455错误的处理方法
  8. 【渝粤教育】电大中专中药鉴定学作业 题库
  9. Android OpenGL ES (十三) 视频播放器
  10. 在Atollic TrueSTUDIO开发环境中集成STM32CubeProgrammer工具的方法