首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法在共享主机上安装Directus

无法在共享主机上安装Directus
EN

Stack Overflow用户
提问于 2019-08-28 07:56:04
回答 2查看 2.5K关注 0票数 10

我在试着安排导演。

我只是按照文档中描述的指导方针执行了一个全新的安装。然而,一旦我登录,我就会出现这样的错误:“服务器错误--这个实例的服务器或数据库出了问题。”

用户界面应该使用以下信息:“没有集合设置--似乎还没有设置任何集合”。

安装在带有WAMP的本地主机上运行良好,因此我怀疑共享主机或数据库上的某些内容配置错误。

根据控制台,无法达到许多资源:

  • 404:/_/users/me?fields=last_page:1
  • 401:/interfaces:1
  • 401:/layouts:1
  • 401:/pages:1
  • 403:/_/collections:1
  • 403:/_/settings:1
  • 401:(API root)
  • 403:/_/collection_preset...
  • 403:/_/users?field...
  • 403:/_/relations?limit=1

MySQL版本(5.7)和PHP (7.3)满足直拨的要求。

我真的不知道该找什么来诊断共享主机的兼容性问题.

编辑

下面是日志(没有堆栈):

代码语言:javascript
复制
[2019-08-28 11:31:24] api[_].ERROR: Directus\Database\Exception\ItemNotFoundException: Item not found in [server root path]/directus/src/core/Directus/Services/ItemsService.php:139
[2019-08-28 11:31:29] api[_].ERROR: Directus\Database\Exception\ItemNotFoundException: Item not found in [server root path]/directus/src/core/Directus/Services/ItemsService.php:139
[2019-08-28 11:31:29] api[].ERROR: Directus\Exception\UnauthorizedException: Unauthorized request in [server root path]/directus/src/helpers/app.php:268
[2019-08-28 11:31:29] api[].ERROR: Directus\Exception\UnauthorizedException: Unauthorized request in [server root path]/directus/src/helpers/app.php:268
[2019-08-28 11:31:29] api[_].ERROR: Directus\Permissions\Exception\ForbiddenCollectionReadException: Reading items from "directus_collections" collection was denied in [server root path]/directus/src/core/Directus/Permissions/Acl.php:988
[2019-08-28 11:31:29] api[_].ERROR: Directus\Permissions\Exception\ForbiddenCollectionReadException: Reading items from "directus_settings" collection was denied in [server root path]/directus/src/core/Directus/Permissions/Acl.php:988
[2019-08-28 11:31:29] api[].ERROR: Directus\Exception\UnauthorizedException: Unauthorized request in [server root path]/directus/src/helpers/app.php:268
[2019-08-28 11:31:29] api[_].ERROR: Directus\Permissions\Exception\ForbiddenCollectionReadException: Reading items from "directus_collection_presets" collection was denied in [server root path]/directus/src/core/Directus/Permissions/Acl.php:988
[2019-08-28 11:31:29] api[].ERROR: Directus\Exception\UnauthorizedException: Unauthorized request in [server root path]/directus/src/helpers/app.php:268
[2019-08-28 11:31:29] api[_].ERROR: Directus\Permissions\Exception\ForbiddenCollectionReadException: Reading items from "directus_relations" collection was denied in [server root path]/directus/src/core/Directus/Permissions/Acl.php:988
[2019-08-28 11:31:29] api[_].ERROR: Directus\Permissions\Exception\ForbiddenCollectionReadException: Reading items from "directus_collection_presets" collection was denied in [server root path]/directus/src/core/Directus/Permissions/Acl.php:988
[2019-08-28 11:31:29] api[_].ERROR: Directus\Permissions\Exception\ForbiddenCollectionReadException: Reading items from "directus_users" collection was denied in [server root path]/directus/src/core/Directus/Permissions/Acl.php:988
EN

回答 2

Stack Overflow用户

发布于 2020-07-09 12:57:47

在做git克隆之后,我在共享主机上也遇到了一些问题。

不知怎么的,在抓了我的头一段时间后,我就在composer install的直通式底座上运行,瞧,它起作用了(v8)。我能够在文档中以它的形式安装。

我的假设是,composer install操作正在设置/纠正某些文件夹、权限和/或依赖项。

票数 0
EN

Stack Overflow用户

发布于 2020-11-10 07:51:50

我在请求在共享主机上安装应用程序时发现的拦截器。

  • 应用程序的名称需要出现在API调用中(因为Directus可以使用同一个实例处理多个应用程序)。
  • 您想要到达管理之外的集合需要具有可访问的公共角色。
  • 此外,在我的RewriteBase /中的RewriteEngine On行中添加RewriteEngine On,对Ionos/1和1共享托管也有好处。如果没有这一行,重写就没有执行,而是返回了一个500错误。

例:

代码语言:javascript
复制
# Comment this line if you are getting: "Option SymLinksIfOwnerMatch not allowed here" error in Apache
Options +SymLinksIfOwnerMatch

# php5_module automatically handles HTTP_AUTHORIZATION headers, but fcgi_module does not.
<IfModule mod_setenvif.c>
    <IfModule mod_proxy_fcgi.c>
        SetEnvIfNoCase ^Authorization$ "(.+)" HTTP_AUTHORIZATION=$1
    </IfModule>
</IfModule>

<ifModule mod_rewrite.c>
    RewriteEngine On
    RewriteBase /
    # Map all admin endpoints to the admin app (except static files)
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^admin/(.*)   admin/index.html [NC,L]

    # Map all other requests to invoke the API router (except static files)
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule !^admin index.php?%{QUERY_STRING} [L]
</ifModule>

# Uncomment the following lines to modify PHP settings. The lines below can be used to increase the max upload size of files in Directus
#<IfModule mod_php7.c>
  #php_value upload_max_filesize 50M
  #php_value post_max_size 100M
#</IfModule>

我在处理SSH的共享主机上安装的所有其他步骤(ionos/1和1):

环境规划署:

创建7.4+ env

创建Mysql 5.2+ Db

下载Directus并从https://github.com/directus/directus或ssh git clone git@github.com:directus/directus.git下载到FTP

推到FTP或git克隆。

将管理(子)域名绑定到/public文件夹。

递归地设置文件夹/bin的执行权限:$ chmod -R +x ./bin

设置文件夹/logs/public/uploads的写权限

  • $ chmod -R +w /logs
  • $ chmod -R +w /public/uploads

安装依赖项:

连接到ssh控制台并导航到Directus的根文件夹。

下载作曲家:$ curl -sS https://getcomposer.org/installer | /usr/bin/php7.4-cli

检查编写器安装:$ /usr/bin/php7.4-cli composer.phar

检查最新版本:$ /usr/bin/php7.4-cli composer.phar selfupdate

安装依赖关系:$ /usr/bin/php7.4-cli composer.phar install

创建项目:

您可以转到URL https://admin.mysite.com/admin/#/install或使用以下命令行接口设置项目:

配置指令:$ /usr/bin/php7.4-cli bin/directus install:config -k my-project -h db_host -n db_name -u db_user -p db_pass -d directus_path -a super_admin_token

填充数据库架构:$ /usr/bin/php7.4-cli bin/directus install:database -d directus_path

安装初始配置:$ install:install -e admin_email -p admin_password -t site_name

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57687521

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档