Установка PostgreSQL 9.0 на Debian 6.0

Автор: Евгений Нифантьев
Статус: не завершено
Дата: 2011-03-17
ОС: Debian 6.0 x64
Приложения: PostgreSQL 9.0.3

Установка Debian 6.0

Установка произведена с помощью первого CD-диска Debian на виртуальную машину VMWare Player. При установке выбрал метод разметки “Авто - использовать весь диск с шифрованным LVM”. Также использовал схему разметки “Отдельные разделы для /home, /usr, /var, /tmp”. Выбор программного обеспечения, предлагаемый на заключительном этапе установки системы, не производил. Предпочитаю выбрать необходимые пакеты после завершения установки операционной системы.

Установка необходимых пакетов

После завершения установки Debian 6.0 и перезагрузки системы начал установку пакетов:
# aptitude install openssh-server mc less

Установка и настройка PostgreSQL 9.0

Нашёл пакет PostgreSQL 9.0 в Debian Backports. Добавил в /etc/apt/sources.list строку:
deb http://backports.debian.org/debian-backports squeeze-backports main
Обновил список доступных пакетов:
# aptitude update
Установил пакет libpq5 (>= 9.0~) из backports:
# aptitude -t squeeze-backports install libpq5
Следующие НОВЫЕ пакеты будут установлены:        
libgcrypt11{a} libgnutls26{a} libgpg-error0{a} libldap-2.4-2{a} libpq5 libsasl2-2{a} libsasl2-modules{a} libtasn1-3{a}

Установил PostgreSQL 9.0:
# aptitude install postgresql-9.0
Следующие НОВЫЕ пакеты будут установлены:        
lsb-release{a} openssl{a} postgresql-9.0 postgresql-client-9.0{a} postgresql-client-common{a} postgresql-common{a} python{a} python-minimal{a} python-support{a} python2.6{a} python2.6-minimal{a} ssl-cert{a}

Настраивается пакет postgresql-client-9.0 (9.0.3-1~bpo60+1) ...
update-alternatives: используется `/usr/share/postgresql/9.0/man/man1/psql.1.gz' для предоставления `/usr/share/man/man1/psql.1.gz' (psql.1.gz) в автоматический режим.
Настраивается пакет ssl-cert (1.0.28) ...
Настраивается пакет postgresql-common (113) ...
Добавление пользователя postgres в группу ssl-cert
Building PostgreSQL dictionaries from installed myspell/hunspell packages...
Настраивается пакет postgresql-9.0 (9.0.3-1~bpo60+1) ...
Creating new cluster (configuration: /etc/postgresql/9.0/main, data: /var/lib/postgresql/9.0/main)...
Moving configuration file /var/lib/postgresql/9.0/main/postgresql.conf to /etc/postgresql/9.0/main...
Moving configuration file /var/lib/postgresql/9.0/main/pg_hba.conf to /etc/postgresql/9.0/main...
Moving configuration file /var/lib/postgresql/9.0/main/pg_ident.conf to /etc/postgresql/9.0/main...
Configuring postgresql.conf to use port 5432...
update-alternatives: используется `/usr/share/postgresql/9.0/man/man1/postmaster.1.gz' для предоставления `/usr/share/man/man1/postmaster.1.gz' (postmaster.1.gz) в автоматический режим.
Starting PostgreSQL 9.0 database server: main.
Обрабатываются триггеры для python-support ...

Установил пароль нового юзера postgres, появившегося после установки постгреса:
# passwd postgres
Сменил текущего пользователя и зашёл в терминал PostgreSQL’а:
# su -l postgres
$ psql
psql (9.0.3)
Type "help" for help.

Сменил пароль администратора базы данных, вышел из терминала и вернулся в контекст root’а:
postgres=# alter user postgres with password ’63S7kv8gLLtiRp2b’;
ALTER ROLE
postgres=# \q
$ exit

Установка phppgadmin

# aptitude install phppgadmin
...
Настраивается пакет apache2-mpm-prefork (2.2.16-6) ...
Starting web server: apache2apache2: Syntax error on line 227 of /etc/apache2/apache2.conf: Could not open configuration file /etc/apache2/conf.d/phppgadmin: No such file or directory
Action 'start' failed.
The Apache error log may have more information.
failed!
invoke-rc.d: initscript apache2, action "start" failed.

Creating config file /etc/php5/apache2/php.ini with new version
Action 'configtest' failed.
The Apache error log may have more information.
Your apache2 configuration is broken, so we're not restarting it for you.
Настраивается пакет php5-cli (5.3.3-7) ...

Чтобы заходит в phppgadmin с других компьютеров необходимо:
В /etc/phppgadmin/apache2.conf раскомментируем строку "allow from all".
В /etc/phppgadmin/config.inc.php отключаем:
$conf['extra_login_security'] = false;
и перезапускаем Апач:
# service apache2 restart