Centos7部署个人wiki(bookstack)踩坑版

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

安装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 = nginx

listen = /var/run/php-fpm/php-fpm.sock

listen.owner = nginx
listen.group = nginx
listen.mode = 0660

env[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 ****          //登陆mysql

mysql > 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 details
 DB_HOST=localhost
 DB_DATABASE=bookstackdb
 DB_USERNAME=bookstack
 DB_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
在这里插入图片描述

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值