Centos7安装部署BookStack

参考文章链接:

https://blog.csdn.net/weixin_44799797/article/details/122563323
https://www.freesion.com/article/7543932093/

1、安装epel-release

yum -y install epel-release

2、安装nginx

yum -y install nginx

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

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

 //安装remi源
yum install http://rpms.remirepo.net/enterprise/remi-release-7.rpm 

//安装php-fpm以及所需组件          
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   

4、配置PHP

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

//修改以下行,并去掉行前注释
cgi.fix_pathinfo=0

//保存退出

5、更改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

6、安装Mariadb

1、新建mariadb.repo,并添加阿里云镜像路径

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

//复制以下内容到mariadb.repo中
[mariadb]
name = MariaDB
baseurl = http://mirrors.aliyun.com/mariadb/yum/10.4/centos/7/x86_64/
gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
enabled=1
gpgcheck=1

baseurl:需要根据centos版本更改,可以查看阿里云镜像进行查看路径
2、清除yum缓存,构建yum缓存:

//请求yum缓存
yum clean all

//构建yum缓存
yum makecache

3、下载mariadb:

//官网下载
yum -y install MariaDB-server MariaDB-client

//阿里云镜像下载
yum -y install mariadb-server mariadb

4、启用mysql并设置自启动:

//启动Mariadb
systemctl start mariadb

//设置开机自启
systemctl enable mariadb

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

//初始化mysql,设置好root密码
mysql_secure_installation  

//登陆mysql,直接回车进入mysql,后续步骤详见下图
mysql -u root -p   

//新建数据库
create database bookstackdb;  

//新建用户
create user 'bookstack'@'localhost' identified by '123456'; 

//赋予新建用户权限
grant all privileges on bookstackdb.* to bookstack@localhost identified by '123456';  

//刷新权限
flush privileges;  

//退出mysql视图
exit;     

link

7、安装Composer

//进入bin文件夹(放置composer的目标文件夹)
cd /usr/bin/   

//安装composer
curl -sS https://getcomposer.org/installer | php     

//改名
mv composer.phar composer  

//查看composer是否安装成功
composer -v

8、安装bookstack

注:需要提前安装git,如已有git,可以忽略

//安装git
yum -y install git   

1、创建bookstack安装目录,并clonebookstack代码

//新建文件夹存放bookstack
mkdir -p /var/www 

//进入文件夹       
cd /var/www   

//从github克隆bookstack           
git clone https://github.com/BookStackApp/BookStack.git --branch release --single-branch  

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

//进入bookstack文件夹
cd BookStack/    

//使用composer安装
composer install     

3、配置bookstack

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

//编辑配置文件
vim .env    

//复制以下内容到.env中
APP_URL=http://IP地址
DB_HOST=localhost
DB_DATABASE=bookstackdb  (步骤6中新建的数据库)
DB_USERNAME=bookstack    (步骤6中新建的数据库用户名 )
DB_PASSWORD=123456       (步骤6中设置的密码 )

9、nginx用户授权

注:不授权,无法正常访问页面

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

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

//进入文件夹
cd /var/www/BookStack  

php artisan key:generate
php artisan migrate

不执行此步骤,数据库bookstackdb中没有数据,需要执行此步骤往数据库中表

11、配置Nginx

1、配置nginx.conf文件

mv /etc/nginx/nginx.conf /etc/nginx/nginx.conf.orig   
vi /etc/nginx/nginx.conf   

//复制以下内容到nginx.conf中
user nginx;
worker_processes auto;
error_log /var/log/nginx/error.log;
pid /run/nginx.pid;

include /usr/share/nginx/modules/*.conf;

events {
worker_connections 1024;
}

http {
log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';

access_log  /var/log/nginx/access.log  main;

sendfile            on;
tcp_nopush          on;
tcp_nodelay         on;
keepalive_timeout   65;
types_hash_max_size 2048;

include             /etc/nginx/mime.types;
default_type        application/octet-stream;

include /etc/nginx/conf.d/*.conf;
}

2、配置bookstack.conf文件

mkdir -p  /etc/nginx/conf.d

cd /etc/nginx/conf.d

vim /bookstack.conf

//复制以下内容到bookstack.conf
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;

//该部分为步骤5中www.conf的listen项
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;
}
 }

12、配置SELINUX

vi /etc/selinux/config
---
//修改SELINUX为disabled
SELINUX=disabled
---

13、设置开机自启

systemctl enable nginx.service && systemctl enable mariadb.service && systemctl enable php-fpm.service

14、重启服务器

systemctl reboot

15、开启端口

1、开放端口

firewall-cmd --zone=public --add-port=80/tcp --permanent   # 开放80端口

firewall-cmd --reload   # 配置立即生效

2、查看防火墙所有开放的端口

firewall-cmd --zone=public --list-ports

如果不开放端口,将导致主机无法访问Linux中部署的应用

测试

1、输入:http://ip地址    即步骤8中配置的Ip地址

2、输入用户名:admin@admin.com
3、输入密码:   password

如果页面无法访问:

  • 查看相关配置文件是否正确
  • 登录数据库,查看表信息是否完整
  • 查看日志信息:
//查看日志信息
cd /var/log/nginx

//打印日志信息
tail -f bookstack_error.log -n 1000

//根据日志信息具体定位

1、登录页面
在这里插入图片描述
2、内部页面
在这里插入图片描述

在这里插入图片描述

  • 1
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值