OLAINDEX

一款 OneDrive 目录文件索引应用,基于优雅的 PHP 框架 Laravel 搭建,并通过 Microsoft Graph 接口获取数据展示,支持多类型帐号登录,多种主题显示,简单而强大。

作者提供的文档:https://olaindex.js.org/#/

这里稍微吐槽一下

1️⃣ 部署完毕后,打开浏览器提示404|账号未配置,一度让我以为是配置文件漏掉了某个配置

其实也并不是,需要在路径中加上 /admin 进入后台管理配置

2️⃣ 在这之前还有一个问题

在配置文件中配置的是使用mysql,同时库名,账号及密码均填写正确,但是在执行 composer run install-app 时有报错产生,用的并不是.env中配置的信息,而是另一个账户和库名

于是乎,进过一番查找之后,该账户来源于 ./config/database.php

'mysql' => [
            'driver' => 'mysql',
            'url' => env('DATABASE_URL'),
            'host' => env('DB_HOST', '127.0.0.1'),
            'port' => env('DB_PORT', '3306'),
            'database' => env('DB_DATABASE', 'forge'),
            'username' => env('DB_USERNAME', 'forge'),
            'password' => env('DB_PASSWORD', 'forge'),
            'unix_socket' => env('DB_SOCKET', ''),
            'charset' => 'utf8mb4',
            'collation' => 'utf8mb4_unicode_ci',
            'prefix' => '',
            'prefix_indexes' => true,
            'strict' => true,
            'engine' => null,
            'options' => extension_loaded('pdo_mysql') ? array_filter([
                PDO::MYSQL_ATTR_SSL_CA => env('MYSQL_ATTR_SSL_CA'),
            ]) : [],
],

所以说,这里也是需要同步修改的,至于.env中的mysql配置是否有实际效果,暂时没有进行求证

安装过程

以宝塔为例

PHP

首先得准备好PHP7.4 || PHP7.4+,并安装好fileinfo扩展

禁用函数中删除已有的 proc_openproc_get_status

安装composer

// 下载composer
curl -sS https://getcomposer.org/installer | php
// 将composer.phar文件移动到bin目录以便全局使用composer命令
mv composer.phar /usr/local/bin/composer
// 切换国内源
composer config -g repo.packagist composer https://packagist.phpcomposer.com

安装OLAINDEX

(文档给出的原文

cd web目录
git clone https://github.com/WangNingkai/OLAINDEX.git tmp 
mv tmp/.git . 
rm -rf tmp 
git reset --hard 
composer install -vvv # 这里确保已成功安装 composer ,如果报权限问题,建议给予用户完整权限。
chmod -R 777 storage 
chown -R www:www * # 此处 www 根据服务器具体用户组而定
composer run install-app (此为自动安装,默认sqlite存储数据)

如果或上述步骤安装错误、新装需要自定义数据库等数据参考下面:

前提已通过上面步骤,使用 composer 安装依赖,确保 storage 目录有写入权限

  1. 复制根目录 .env.example 为 .env
  2. 修改了 .env 文件的数据库配置及其它配置
  3. 执行 php artisan key:generate 生成运行所需配置
  4. 执行数据库迁移 php artisan migrate --seed
  5. 访问网站,修改其它设置

1️⃣ 服务器上拉不下来可以在本地科学上网下载zip后上传

2️⃣ 拉取项目后先修改配置文件 .env ./config/database.php

Nginx配置

1️⃣ 将网站 root 指向 public

2️⃣ 反向代理

location / {
        try_files $uri $uri/ /index.php?$query_string;
}

3️⃣ 宝塔创建的网站会产生两条与缓存相关的配置,删除该配置

location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
{
        expires      30d;
        error_log /dev/null;
        access_log /dev/null;
}
    
location ~ .*\.(js|css)?$
{
        expires      12h;
        error_log /dev/null;
        access_log /dev/null; 
}

关于账号

作者有提供一键申请,不过很遗憾,我这边配置失败了

手动完成

1️⃣ 登陆 https://portal.azure.com/#home

2️⃣ 管理 Azure Active Directory -> 添加 -> 应用注册

重定向 URI 填写站点域名+/callback,例: https://example.com/callback (此处需要https

注册完成即可拿到应用程序(客户端) ID (client_id

3️⃣ 证书和密码 -> 创建新客户端密码

保存生成的密钥 (client_secret

4️⃣ 权限配置可参照此处


Ex - ploooosion!