(记录完毕后,发现把OLAINDEX和cloudreve完全混淆在一起了,因为是先后部署的,将就着记录吧)
参考:
https://www.moerats.com/archives/765/
https://olaindex.js.org/#/install
如果完全按照说明(使用宝塔),基本上可以完成安装,但在使用lnmp部署时还是有些坑,
主要在于:
(1)军哥lnmp下php版本切换升级【cloudreve】
(2)lnmp安装多个php版本后如何更改环境变量的php【cloudreve】
(3)在nginx下配置伪静态生效问题【cloudreve】
(4)配置onedrive对接问题【cloudreve】
(5)安装fileinfo模块【cloudreve】
(6)数据库报错问题php artisan migrate –seed【OLAINDEX】
解决:
(1)军哥lnmp下php版本切换升级:
直接下载最新1.7,执行 ./upgrade1.x-1.7.sh即可
以1.7为例,升级管理脚本:wget -c http://soft.vpser.net/lnmp/lnmp1.7.tar.gz && tar zxf lnmp1.7.tar.gz && cd lnmp1.7 && ./upgrade1.x-1.7.sh
有些功能是需要另外升级nginx、php版本或安装多php版本的,下面会进行单独的说明。新的功能主要是两个添加SSL和多PHP版本选择。
(2)lnmp安装多个php版本后如何更改环境变量的php:
- cd /usr/bin
- sudo mv php php.old
- cd /usr/bin
- sudo ln –s /usr/local/php7.4/bin/php /usr/bin/php
然后 php -v查看确认:
(3)在nginx下配置伪静态生效问题:
最好不要自己写.conf文件(/usr/local/nginx/conf/vhost/**.conf);使用lnmp 自带的功能:
lnmp vhost add
在生成的conf文件中加入一行:
(lnmp1.6+自带了laravel.conf伪静态配置文件,只需要指定伪静态文件名即可,在网站程序根目录后面加入 /public 目录这是OLAINDEX的首页目录。)
inculde rewrite/laravel.conf;
(4)配置onedrive对接问题:
在存储策略中已经配置了onedrive,但是上传文件时,依然在本地文件夹的问题
解决:
在后台-用户组中设置用户组的存储策略即可:
(5)安装fileinfo模块
需要安装fileinfo模块:
进入cd /root/lnmp1.7/src,执行tar -jxvf php-7.4.12.tar.bz2 解压
cd php-7.4.12/ext/fileinfo/
/usr/local/php/bin/phpize
./configure --with-php-config=/usr/local/php/bin/php-config
make && make install 有时候权限报错。则要分开sudo
vi /usr/local/php7.4/etc/php.ini 加上extension=fileinfo.so
/etc/init.d/php-fpm restart
(6)执行php artisan migrate --seed
报错:
如果执行php artisan migrate –seed报错,先试试php artisan migrate:refresh 或者php artisan migrate –force
OLAINDEX/app/Console/Commands/InstallCommand.php:
// step 3
$this->warn('Env file not found,Creating...');
$envSampleFile = base_path('.env.example');
$envFile = base_path('.env');
if (!file_exists($envSampleFile)) {
$this->warn('[.env.example] file missing,Please make sure the project complete!');
exit;
}
$_search = [
'APP_KEY=',
];
$_replace = [
'APP_KEY=' . str_random(32),
];
$envExample = file_get_contents($envSampleFile);
$env = str_replace($_search, $_replace, $envExample);
if (file_exists($envFile)) {
if ($this->confirm('Already have [.env] ,overwrite?', true)) {
rename($envFile, $envFile . '.' . date('YmdHis') . '.bak');
file_put_contents($envFile, $env);
}
} else {
file_put_contents($envFile, $env);
}
// step 4
$this->call('config:cache');
$this->call('migrate', ['--force' => true, '--seed' => true]);
file_put_contents($lockFile, Carbon::now());
$this->call('config:cache');
$this->info('default name: [ admin ]');
$this->info('default password: [ 123456 ]');
$this->info('Install Complete!');
}
其他( 微慑网 vulsee.com):
//查看当前系统加载的是哪个php文件
php -i | grep php.ini
需要在php.ini中删除禁用函数:
proc_open
、proc_get_status
和putenv
函数