安装BookStack流程
尊敬观众老爷们,话不多说先上图:
本地环境:
nginx | 1.16 |
---|---|
php | 7.2 |
mysql | 5.7 |
基于LNMP架构部署
#PHP的yum包
rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm
#安装PHP7.2
yum -y install php72w php72w-cli php72w-tidy php72w-fpm php72w-common php72w-devel php72w-embedded php72w-gd php72w-mbstring php72w-mysqlnd php72w-opcache php72w-pdo php72w-xml
#安装git
yum install git -y
#git下载bookstack
git clone https://github.com/BookStackApp/BookStack.git --branch release --single-branch
#下载mysql5.7包
wget http://repo.mysql.com/mysql57-community-release-el7-8.noarch.rpm
rpm -ivh mysql57-community-release-el7-8.noarch.rpm
#安装mysql
yum install mysql mysql-server -y
#启动mysql
systemctl start mysqld
#查看日志,找到默认随机密码登录
grep 'temporary password' /var/log/mysqld.log
#登录mysql
mysql -u root -p
#密码策略级别0
mysql> set global validate_password_policy=0;
#密码长度至少6
mysql> set global validate_password_length=6;
#更新root密码
mysql> alter user root@localhost identified by 'dgj666';
#刷新生效
mysql> flush privileges;
#查看密码策略
mysql> SHOW VARIABLES LIKE "%password%";
#添加用户以及密码
mysql> create user 'bookstack'@'localhost' identified by 'dgj666';
#创建数据库
mysql> create database bookstackdb;
#授予用户数据库所有权限
mysql> GRANT ALL PRIVILEGES ON bookstackdb.* TO 'bookstack'@'localhost';
#允许远程连接root数据库
mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'dgj666' WITH GRANT OPTION;
#解压bookstack的包并进入
cd BookStack/
#因运行bookstack还需要composer
#安装composer到你喜欢的位置
cd /usr/local/bin
curl -sS https://getcomposer.org/installer | php
#改名
mv composer.phar composer
#复制一份并修改
cp .env.example .env
并填写自己的数据库和邮件详细信息
vim .env
(#更新一下composer composer update --ignore-platform-reqs)
#运行以生成唯一的应用程序密钥。
php artisan key:generate (--force强制)
#移到你想要的根目录下
mv BookStack/ www/
#确保storage,bootstrap/cache&public/uploads文件夹可被Web服务器写入
chown -R nginx:nginx /opt/www/BookStack/
#nginx配置
vim bookstack.conf
server {
listen 80;
server_name 192.168.137.131;
root /opt/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 127.0.0.1:9000;
}
location ~* \.(?:jpg|jpeg|gif|bmp|ico|png|css|js|swf)$ {
expires 30d;
access_log off;
}
}
#nginx配置
将服务器上的Web根目录设置为指向BookStack public文件夹。
或者通过的DocumentRoot设置或Apache 上的设置完成的。
#运行php artisan migrate以更新数据库
php artisan migrate
systemctl enable php-fpm
systemctl enable nginx
systemctl enable mysql
reboot
192.168.137.131默认账号admin@admin.com 密码password