Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Вебмастеру (http://forum.oszone.net/forumdisplay.php?f=22)
-   -   [решено] Связка Apache+PHP+PostgreSQL во FreeBSD (http://forum.oszone.net/showthread.php?t=80181)

kaEwituS 28-02-2007 17:40 556501

Связка Apache+PHP+PostgreSQL во FreeBSD
 
Необходимо Сделать такую Связку во FreeBSD Apache+PHP+PostgreSQL
1)поставить Апач и настоить его, поставить PHP прирезать к АПАЧУ, следом Поставить PostgreSQL и привязать к Apache+PHP
2)Потом насторить где будет храниться index.php (Желательно в /home)
3)Настроить где будут храниться базы PostgreSQL (Желательно в /home)

Demiurg 28-02-2007 19:10 556524

1. Ставим PostgreSQL
Код:

# cd /usr/ports/database/postgresql82-server/
# make install clean

Пароль pgsql:
Код:

#passwd 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-документов:
Код:

# mkdir /var/www
Папки /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 с содержимым:
Код:

<?php phpinfo(); ?>
Стартуем Apache:
Код:

# /usr/local/etc/rc.d/apache2.sh start
В любом браузере набираем http://127.0.0.1/ и любуемся настройками. Что не устраивает, правим соответствующие конфиги. Данная конфигурация Apache+PHP+PostgreSQL рассматривается только для web-разработки, по крайней мере мне такой конфигурации пока достаточно (для чего еще ставим /usr/ports/www/kdewebdev3/), для открытия доступа к серверу из сети потребуется поколдовать над безопасностью, виртуальными хостами (если кому надо), именами в DNS, настройка безопасности для каждой сети индивидуальна, ИМХО, потому здесь рассматривать не буду.
За ошибки не отвечаю, из-за тупого жмаканья по клаве мог чего и забыть.

greywind 28-02-2007 23:04 556608

less README, less INSTALL, ./configure --help

kaEwituS 26-11-2008 00:28 963660

Недавно пришлось переставить систему, всё заново по это инструкции сделал
захожу по ip 192.168.1.10
вот что теперь пишет:
Цитата:

Если Вы это видите, это значит, что установка ПО веб-сервера Apache на этой системе завершилась успешно. Вы можете теперь добавлять содержимое в эту директорию и заменить эту страницу. Вы видите это вместо ожидаемой страницы? Эта страница находится здесь потому, что администратор системы изменил конфигурацию этого веб-сервера. Пожалуйста, свяжитесь с лицом, ответсвенным за поддержку этого сервера для выяснения ваших вопросов. Apache Software Foundation, автор ПО веб-сервера, которым пользуется администратор этой системы, не связан с поддержкой этой системы и не может помочь Вам разрешить проблемы конфигурации.
Если вношу изменения в /usr/local/etc/apache2/httpd.conf

DirectoryIndex index.php index.html index.html.var

то начинает качать index.php

dmitryst 26-11-2008 16:16 964224

Цитата:

Цитата kaEwituS
то начинает качать index.php »

в httpd.conf проверьте упоминание модуля php5. Если его нет, придется вписать вручную, типа этого

Код:

LoadModule php5_module modules/php5apache.so
AddType application/x-httpd-php phtml php php5


PandoraBox2007 22-12-2010 07:53 1571819

ага а доступ к SSH для юзера постгре прикрывать не нужно ?)))

/etc/ssh/sshd_config

Код:

DenyUsers pgsql


Время: 00:00.

Время: 00:00.
© OSzone.net 2001-