Мелочь №2: Обход ошибки при "битых страницах" БД
Установка web-сервера Apache
Здесь всё про: главное - установить поддержку MySQL в конфигурации порта:
$ cd /usr/ports/www/apache22
$ make install clean
|
В файл /etc/rc.conf прописываем для автозапуска:
В конфигурационный файл /usr/local/etc/apache22/httpd.conf прописываем имя сервера и адрес админа:
...
ServerAdmin admin@mydomain.su
...
ServerName mydomain.su:80
...
|
В файл конфигурации загрузчика /boot/loader.conf добавляем строку:
Запускаем наш Apache:
Если ошибок не появилось, значит всё нормально и сервер запустился.
Установка сервера PostgreSQL
Установка PHP
Ставил сам PHP, не забывая указать в конфигурации сборки поддержку PostgreSQL и Apache:
$ cd /usr/ports/lang/php5/
$ make install clean
|
В конфигурационный файл Apache /usr/local/etc/apache22/httpd.conf добавляем параметр DirectoryIndex в блок <Directory />, чтобы получилось следующее:
<Directory />
DirectoryIndex index.php index.html
AllowOverride None
Order deny,allow
Deny from all
</Directory>
|
Теперь надо PHP "активировать" в Apache. Для этого добавим две строчки в /usr/local/etc/apache22/httpd.conf в блоке <IfModule mime_module>:
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps
|
Так же создадим файл cat /usr/local/etc/php.ini на основе /usr/local/etc/php.ini-production, удалив комментарии:
$ cat php.ini-production | grep -v ";" > php.ini
|
и добавим в него в блок [Date] параметр временной зоны:
[Date]
date.timezone = Europe/Moscow
|
Перезапустим Apache:
Для проверки нормальных подключения и работы модуля поддержки PHP можно открыть в браузре по ссылке http://xxx.xxx.xxx.xxx/index.php предварительно созданный файл /usr/local/www/apache22/data/index.php следующего содержания:
Для работы phpMyAdmin ещё понадобятся расширения PHP (php5-extensions), но ставить их отдельно смысла особого нет: она будут установлены, как необходимая зависимость для phpMyAdmin.
МЕЛОЧИ
Мелочь №1: Сброс забытого пароля пользователя для PostgreSQL
http://wiki.linux.ru/wiki/index.php/Как_сбросить_пароль_root_PostgreSQL_сервера
Остановим PostgreSQLSQL сервер
$ /usr/local/etc/rc.d/postgres stop
|
Хабра 173623
http://myfreebsd.ru/other/administrirovanie-postgresql
http://postgresql-lab.blogspot.ru/2013/01/175.html
Мелочь №2: Обход ошибки при "битых страницах" БД
В пункте насчёт VACUUM неплохо бы указать, что делать, если VACUUM не может производиться. Недавно столкнулся с ситуацией, когда что VACUUM, что pg_dumpall мирно дохнут, выдав на-гора что-то вроде:
Invalid page header in block 946006 of pg_toast_3847720
|
То есть, файл повреждён, и работы дальше не будет. Что его могло повредить – повод для отдельного выяснения, а мне нужен был быстрый рецепт обхода. В таких случаях может спасти (возможно, с потерей пары записей, но возможно и целиком) употребление перед VACUUM команды
SET zero_damaged_pages=true;
|
После этого VACUUM не споткнётся на битых страницах, а просто их обнулит. И дамп запишется, и всё такое.
-----------------
А вот это зря.. Нужно переодически это делать, я у себя делаю раз в 4 часа обычный VACUUM, раз в сутки FULL ANALYZE + backup.
Так что более ли менее шустро всё работает и бэкап есть в случае чего.
---------
>способ 1
>postgresql$ vaccumdb -v database
>
>способ2
>1. pg_dump
>2. dropdb
>3. createdb
>4. pg_restore
-----------------
psql --username=pgsql db_zabbix
-----------------
СУБД PostgreSQL
http://postgresql.ru.net/manual/index.html
http://postgresql.ru.net/manual/backup-dump.html
http://postgresqlrussia.org/pgsqldocrus/doc/src/sgml/auth-pg-hba-conf.html
http://www.lissyara.su/?id=2063
http://wiki.lissyara.su/wiki/Установка_PostgreSQL
http://www.lissyara.su/articles/freebsd/mail/roundcube+postgresql/
http://guruadmin.ru/page/15-practical-postgresql-database-administration-commands
http://forum.oszone.net/thread-80181.html
http://www.opennet.ru/tips/info/182.shtml
http://www.opennet.ru/tips/sml/32.shtml
http://postgresql.ru.net/manual/backup-dump.html
http://www.postgresql.org/docs/9.2/interactive/runtime-config-autovacuum.html
http://postgresql.ru.net/pgtune/postgresql.html#SECTION00800000000000000000
template1=# CREATE USER user_name WITH CREATEDB LOGIN PASSWORD 'Pas$w0rd';
CREATE ROLE
template1=# select * from pg_shadow;
usename | usesysid | usecreatedb | usesuper | usecatupd | passwd | valuntil | useconfig
-----------+----------+-------------+----------+-----------+-------------------------------------+----------+-----------
pgsql | 10 | t | t | t | md500ba091dd8401516e01e318ebf4c476f | |
fomalhaut | 16384 | t | f | f | md54117783cb97c642fbe0eb685653b7b67 | |
(2 rows)
template1=# select * from pg_database;
datname | datdba | encoding | datcollate | datctype | datistemplate | datallowconn | datconnlimit | datlastsysoid | datfrozenxid | dattablespace | datacl
-----------+--------+----------+------------+----------+---------------+--------------+--------------+---------------+--------------+---------------+----------------------------
template1 | 10 | 6 | C | C | t | t | -1 | 11866 | 654 | 1663 | {=c/pgsql,pgsql=CTc/pgsql}
template0 | 10 | 6 | C | C | t | f | -1 | 11866 | 654 | 1663 | {=c/pgsql,pgsql=CTc/pgsql}
postgres | 10 | 6 | C | C | f | t | -1 | 11866 | 654 | 1663 |
(3 rows)
template1-# \q
$ psql -l
Password:
List of databases
Name | Owner | Encoding | Collation | Ctype | Access privileges
-----------+-------+----------+-----------+-------+-------------------
postgres | pgsql | UTF8 | C | C |
template0 | pgsql | UTF8 | C | C | =c/pgsql +
| | | | | pgsql=CTc/pgsql
template1 | pgsql | UTF8 | C | C | =c/pgsql +
| | | | | pgsql=CTc/pgsql
(3 rows)
|
Это - пример просмотра информации о базе.
fox, 2011-01-24 в 0:15:51
А зачем шифровать swap??? При этом всё остольное не зашифровано...