воскресенье, 11 апреля 2010 г.

Установка phpPgAdmin (аналог phpmyadmin для postgresql)

Устанавливалось сие добро на Altlinux, но разницы не вижу куда ставить.

Какие пакеты нужны: apache2, php5, apache2_mod-php5, phpPgAdmin, php5-pgsql, php5-pdo_pgsql

Установили пакеты, указываем в файле /var/www/html/phpPgAdmin/conf/config.inc.php

$conf['servers'][0]['host'] = 'ip сервера c PostgreSQL';

обычно это

$conf['servers'][0]['host'] = 'localhost';


Меняем этому файлу владельца на apache2

chown apache2:apache2 /var/www/html/phpPgAdmin/conf/config.inc.php

После установки заходим в /etc/php/5.2.11/apache2-mod_php/php.ini и делаем правочки:

extension=pgsql.so
extension=pdo_pgsql.so


Если этого не сделать, и зайти по ссылке

http://ip-сервера/phpPgAdmin/ (кстати буквы P и A обязательно писать большими)

То увидим сообщение:

Ваша инсталяция PHP не поддерживает PostgreSQL. Вам необходимо пересобрать PHP, используя параметр --with-pgsql для configure.

В общем это все делаем, проверяем чтобы были модули pgsql.so и pdo_pgsql.so в указанной для модулей папке.

После этого можем смело заходить на наш phpPgAdmin. Видим морду. Если не нужно заходить под системными пользователями - то вводим юзверя, пароль и радуемся.

Если жизнь обидела, и нужно использовать крутого системного юзверя, то заходим обратно в /var/www/html/phpPgAdmin/conf/config.inc.php и меняем

$conf['extra_login_security'] = true;

на

$conf['extra_login_security'] = false;

И смело можем использовать phpPgAdmin для администрирования баз PostgreSQL.

Updated: и обязательно нужно проверить параметр memory_limit - он должен быть неменее 12Mb. Если будет стоять дефолтный 5Mb, то будут вылазить 500-е ошибки от Апача, поскольку не будет хватать памяти скриптам и будет в логах:

PHP Fatal error: Allowed memory size of 5242880 bytes exhausted (tried to allocate 52 bytes) in /var/www/html/phpPgAdmin/classes/database/Postgres82.php

Для наджности я поставил следующие настройки в /etc/php/5.2.11/apache2-mod_php/php.ini

max_execution_time = 300 ; Maximum execution time of each script, in seconds
max_input_time = 300 ; Maximum amount of time each script may spend parsing request data
memory_limit = 50M ; Maximum amount of memory a script may consume (5MB)

Комментариев нет:

Отправить комментарий