Показаны сообщения с ярлыком apache PostgreSQL php admin. Показать все сообщения
Показаны сообщения с ярлыком apache PostgreSQL php admin. Показать все сообщения

воскресенье, 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)