0

Postgresを使用してRedHatにSilverstripe2.4.10をインストールしようとしています。

そこで、v2.4.10をダウンロードし、httpd.confに新しいvHostを追加しました。

<VirtualHost *:80> 
ServerName silverstripe.localhost 
ServerAlias silverstripe.localhost 
ServerAdmin root@silverstripe.localhost 
DocumentRoot /var/www/html/SilverStripe-cms-v2.4.10 
ErrorLog /var/www/html/silverstripe/silverstripe.com-error_log 
CustomLog /var/www/html/silverstripe/silverstripe.com-access_log common 
<Directory "/var/www/html/silverstripe/SilverStripe-cms-v2.4.10"> 
Options Indexes FollowSymLinks 
AllowOverride All 
Order allow,deny 
Allow from all 
</Directory> 
</VirtualHost>

postgresパッケージをダウンロードし、それを/var/www/html/silverstripe/SilverStripe-cms-v2.4.10に解凍しました。

SilverStripeのサブドメインURLに移動します: http://silverstripe.localhost/

install.phpが必要です。Postgresデータベースのクレデンシャルを追加しますが、Silverstripeは常にデータベースに接続できないと言っています。

小さなPHPスクリプトを作成して、dbクレデンシャルを確認しました。

<?php 
$db = pg_connect("host=127.0.0.1 port=5432 dbname=SS_mysite user=silverstripe password="); 
$result = pg_query($db, "SELECT * FROM test_table_pgtest");

while ($row = pg_fetch_row($result)) { 
echo "Id: $row[0] Name: $row[1]"; 
echo "<br />\n"; 
} 
?>

スクリプトは正常に実行されますが、silverstripeは同じDBクレデンシャルを受け入れません。エラーは次のとおりです。「127.0.0.1:5432」にデータベースサーバーが見つかりませんでした:PostgreSQLは、サーバーが存在するかどうかを判断するために有効なユーザー名とパスワードを必要とします。

それは本当に迷惑です。

Postgresモジュールは実行するための指示を与えます:dev / build

残念ながら、これも404エラーになります。http://silverstripe.localhost/dev/buildは単に404エラーを返します。それを改善するために他に何ができるか、確認できますか?

もちろん、データベースは存在し、ユーザーは機能します(非常にうまく実行される私のテストスクリプトを参照してください)。

また、このdev / buildはまったく機能しません。インストーラーを実行する前にこれが機能することを意図しているかどうかは、ドキュメントからは明らかではありません。もしそうなら...Postgresモジュールがユーザーにそのスクリプトを事前にインストールするように指示するのは奇妙なことです。

4

1 に答える 1

1

mysite/_config.php の次の構成は機能するはずです (これにより、インストーラーで実行される手順がバイパスされます)。postgresql 定数 SS_PGSQL_DATABASE_SERVER、SS_PGSQL_DATABASE_USERNAME、および SS_PGSQL_DATABASE_PASSWORD が _ss_environment.php で定義されていることを前提としています。

global $database;
$database = 'SS_mysite';
require_once('conf/ConfigureFromEnv.php');
global $databaseConfig;
$databaseConfig['type'] = 'PostgreSQLDatabase';
$databaseConfig['server'] = SS_PGSQL_DATABASE_SERVER;
$databaseConfig['username'] = SS_PGSQL_DATABASE_USERNAME;
$databaseConfig['password'] = SS_PGSQL_DATABASE_PASSWORD;
于 2013-02-22T00:12:38.743 に答える