我正在尝试设置Directus。
我刚刚按照文档中所述的指导进行了全新安装。但是,一旦我登录,就会出现以下错误:“服务器错误-该实例的服务器或数据库出了点问题。”
应该使用以下消息来代替UI:“没有集合设置-似乎还没有任何集合设置”
在具有WAMP的localhost上,安装工作正常,因此我怀疑共享主机或数据库上的某些内容配置错误。
根据控制台,无法访问许多资源:
/_/users/me?fields=last_page:1
/interfaces:1
/layouts:1
/pages:1
/_/collections:1
/_/settings:1
(API root)
/_/collection_preset...
/_/users?field...
/_/relations?limit=1
MySQL版本(5.7)和PHP版本(7.3)满足Directus的要求...
我真的不知道该寻找什么来诊断共享主机的任何兼容性问题...
编辑
这是日志(无堆栈):
[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
答案 0 :(得分:0)
@yako-您能否一次检查ping
端点?如果服务器设置正确,它将以纯文本显示pong
。
答案 1 :(得分:0)
在执行git clone之后,我在共享主机上也遇到了一些问题。
以某种方式在我的头上挠了一下之后才在Directus基本目录中运行composer install
,瞧它起作用了(v8)。我能够按照文档中的说明进行安装。
我的假设是composer install
操作正在设置/更正某些文件夹的权限和/或依赖性。
答案 2 :(得分:0)
应用程序的名称需要在API调用中显示(因为Directus可以使用同一实例处理多个应用程序)。
您想要访问管理员外部的集合需要具有公共角色才能访问。
此外,在我的RewriteBase /
的{{1}}行下添加RewriteEngine On
可以解决Ionos / 1and1共享托管的问题。如果没有此行,则重写无法执行,并且返回500错误。
例如:
public/.htaccess
创建PHP 7.4+ env
创建Mysql 5.2+ Db
下载Directus Suite并从https://github.com/directus/directus或ssh # 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>
推送到FTP
推送到FTP或git克隆。
将管理(子)域名绑定到git clone git@github.com:directus/directus.git
文件夹。
递归设置文件夹/public
的执行权限:/bin
设置文件夹$ chmod -R +x ./bin
和/logs
的写许可权:
/public/uploads
$ chmod -R +w /logs
连接到ssh控制台并导航到Directus的根文件夹
下载Composer:
$ chmod -R +w /public/uploads
检查Composer安装:$ 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
您可以转到URL $ /usr/bin/php7.4-cli composer.phar install
或使用以下命令行界面设置项目:
配置Directus:
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