1. Ставим PostgreSQL
Код:
# cd /usr/ports/database/postgresql82-server/
# make install clean
Пароль pgsql:
Каталог баз данных, что нравится - /home/pgsql или /var/pgsql:
Код:
#mkdir /var/pgsql
#chpass pgsql
# mv /usr/local/pgsql/* /var/pgsql/
#mkdir /var/pgsql/data
Права доступа к каталогу базы данных:
Код:
#chown -R pgsql:pgsql /var/pgsql/
#chmod -R 750 /var/pgsql/
Добавляем в /etc/rc.conf строчки для автозагрузки БД:
Код:
postgresql_enable="YES"
postgresql_data="/var/pgsql/data"
postgresql_class="postgres"
Инициализируем кластер:
Код:
#/usr/local/etc/rc.d/postgresql initdb
Стартуем базу, подключаемся к ней, меняем кодировку клиента и изменяем пароль суперпользователя, добавляем нового пользователя:
Код:
# su pgsql
$ cd ~
$ /usr/local/etc/rc.d/postgresql start
psql template1
\encoding KOI8
ALTER USER pgsql WITH PASSWORD 'пароль';
CREATE USER пользователь WITH CREATEDB LOGIN PASSWORD 'пароль';
Ctrl+D
$ /usr/local/etc/rc.d/postgresql stop
Изменяем доступ к базе данных, правя /var/pgsql/data/pg_hba.conf:
доступ по IPv6 отключаем, комментируя строчку
Код:
#host all all ::1/128 trust
локальный доступ к БД по паролю, меняем trust на password:
Код:
local all all password
host all all 127.0.0.1/32 password
Стартуем базу:
Код:
$ /usr/local/etc/rc.d/postgresql start
$ Ctrl+D
2. Ставим Apache 2.
Код:
# cd /usr/ports/www/apache20/
# make WITH_AUTH_MODULES=yes WITH_DAV_MODULES=yes WITH_MISC_MODULES=yes WITH_SSL_MODULES=yes WITH_LDAP_MODULES=yes WITH_DBM=bdb WITH_BERKELEYDB=db41 WITH_KQUEUE_SUPPORT=yes install clean
Создаём каталог web-документов:
Папки /usr/local/www/cgi-bin-dist data-dist error-dist icons-dist переносим в /var/www/, там же создаём симлинки cgi-bin -> cgi-bin-dist, data -> data-dist, error -> error-dist, icons -> icons-dist.
Меняем права доступа:
Код:
# chown -R www:www /var/www/
# chmod -R 750 /var/www/
Правим /usr/local/etc/apache2/httpd.conf, исправляем/меняем строчки:
Код:
DocumentRoot "/usr/local/www/data" -> DocumentRoot "/var/www/data"
<Directory "/usr/local/www"> -> <Directory "/var/www">
Alias /icons/ "/usr/local/www/icons/"> -> Alias /icons/ "/var/www/icons/"
<Directory "/usr/local/www/icons"> -> <Directory "/var/www/icons">
ScriptAlias /cgi-bin/ "/usr/local/www/cgi-bin/"> -> ScriptAlias /cgi-bin/ "/var/www/cgi-bin/"
<Directory "/usr/local/www/cgi-bin"> -> <Directory "/var/www/cgi-bin">
то же самое с Alias /error/
3. Ставим PHP
Код:
# cd /usr/ports/lang/php5/
# make config
-- включаем Apache Suhosin Multibyte, выключаем IPv6
# make install clean
Ставим необходимые модули: pcre - регулярные выражения в стиле Perl, pgsql - для связи с PostgreSQL, session - для поддержки сессий, dom - для работы с XML
Код:
# cd ../../devel/php5-pcre
# make install clean
# cd ../../database/php5-pgsql/
# make install clean
# cd ../../www/php5-session/
# make install clean
# cd ../../textproc/php5-dom
# make install clean
В /usr/local/etc/apache2/httpd.conf вносим изменения:
Код:
DirectoryIndex index.html index.html.var -> DirectoryIndex index.php index.html index.html.var
+AddType application/x-httpd-php .php
+AddType application/x-httpd-php-source .phps
В /etc/rc.conf добавляем
Код:
apache2_enable="YES"
Создаем файл /var/www/data/index.php с содержимым:
Стартуем Apache:
Код:
# /usr/local/etc/rc.d/apache2.sh start
В любом браузере набираем
http://127.0.0.1/ и любуемся настройками. Что не устраивает, правим соответствующие конфиги. Данная конфигурация Apache+PHP+PostgreSQL рассматривается только для web-разработки, по крайней мере мне такой конфигурации пока достаточно (для чего еще ставим /usr/ports/www/kdewebdev3/), для открытия доступа к серверу из сети потребуется поколдовать над безопасностью, виртуальными хостами (если кому надо), именами в DNS, настройка безопасности для каждой сети индивидуальна, ИМХО, потому здесь рассматривать не буду.
За ошибки не отвечаю, из-за тупого жмаканья по клаве мог чего и забыть.