-
Фев1
Установка Apache 2.0.59 + PHP 5.2.3 + MySQL 5.0.47 на FreeBSD 6.2
Filed under: Без рубрики;В данной конфигурации под SWAP был отведён 800Mb жёсткий диск. Второй жёсткий диск был отведён под систему.
FreeBSD была установлена в следующей конфигурации: Стандартная установка, без Linux binary compatibility (экономим место).
Примечание: Лучше все ставить из портов!
1. проще устанавливать — все зависимости ставятся сами
2. проще обновлять.
Из пакетов, входящих в дистрибутив, я выбрал и установил следующие:
lynx-2.8.5_2
libxslt-1.1.17
libxml2-2.6.26
curl-7.15.5
glib-2.12.4
unzip-5.52_2
libiconv-1.9.2_2
gmake-3.81_1
pcre-6.7
jpeg-6b_4
png-1.2.12_1
tiff-3.8.2
freetype2-2.2.1-1
gettext-0.14.5_2
Подготовка к установке:
В FreeBSD есть несколько способов установить одно и тоже программное обеспечение. Мы будем ставить из пакетов. Для начала нам надо загрузить наше программное обеспечепние на сервер. Я сделал это по FTP.
# cd ./usr/src
# ftp
ftp> open 172.21.9.9
connected to 172.21.9.9
Welcome to Hight ftp server
-> вводим логин
-> вводим пароль
ftp> binary
ftp> cd f/distr/nix/curdistr
ftp> get mc-4.6.1.tar.gz
ftp> get openssl-0.9.8e.tar.gz
ftp> get httpd-2.0.59.tar.gz
ftp> get php-5.2.3.tar.gz
ftp> get mysql-5.0.41-freebsd6.0-i386.tar.gz
ftp> get mhash-0.9.9.tar.gz
ftp> get gd-2.0.35.tar.gz
ftp> get libmcrypt-2.5.7.tar.gz
ftp> bye
Установка MC (midnight commander):
# tar xvzf mc-4.6.1.tar.gz
# cd mc-4.6.1
# ./configure
# make
# make install
# rehash
# mc
Теперь будет попроще, у нас есть коммандная оболочка. Через mc разархивируем остальные архивы.
Установка OpenSSL:
# cd openssl-0.9.8e
# ./config -no-sse2
# make
# make test
# make install
OpenSSL будет установлен по умолчанию в /usr/local/openssl
Установка gd-2.0.35:
# cd gd-2.0.35
# ./configure
# make
# make install
Установка libmcrypt:
# cd libmcrypt-2.5.7
# ./configure
# make
# make install
Установка mhash:
# cd mhash-0.9.9
# ./configure
# make
# make install
Установка MySQL:
Копируем файлы в usr/local/mysql
# cd usr/local/mysql
# pw groupadd mysql
# adduser mysql
# cd usr/local/mysql
# scripts/mysql_install_db —user=mysql
# chown root ./
# chown -R mysql data
# chgrp -R mysql ./
# bin/mysqld_safe —user=mysql &
Установка PosgtreSQL
# ./configure —with-openssl
# gmake
# gmake install
# cd usr/local/pgsql
# pw groupadd postgres
# adduser postgres
# mkdir data
# chown postgres ./data
# su — postgres
# ./bin/initdb -D ./data
# ./bin/postgres -D ./data
Установка Apache:
# cd httpd-2.0.59
# ./configure —enable-so —enable-rewrite=shared —enable-ssl
# make
# make install
# cd usr/local/apache2/bin
# ./apachectl start
//./configure —activate-module=src/modules/fastcgi/libfastcgi.a —enable-so —enable-rewrite
Теперь Apache установлен, при конфигурировании мы не задали каталог для установки апача, по умолчанию он поставился в usr/local/apache2
Для того, чтобы Apache запускался автоматически при загрузке системы, создадим в etc/rc.d файл apache со следующим содержимым:Код: ######################################################
#!/bin/sh
#
# Hight sdelal, E-mail: Hight@inbox.ru
# $FreeBSD: src/etc/rc.d/apache, v. 1.0
#
. /etc/rc.subr
start_cmd=»apache_start»
stop_cmd=»apache_stop»
apache_start()
{
echo -n ‘Starting Apache http server:’;
./usr/local/apache2/bin/apachectl start
}
apache_stop()
{
echo -n ‘Shutting down Apache http server:’;
./usr/local/apache2/bin/apachectl stop
}
run_rc_command «$1»
######################################################Установка PHP 5.2.3:
# cd php-5.2.3
# ./configure —help изучаем и составляем строчку
# ./configure —with-apxs2=/usr/local/apache2/bin/apxs —with-mysql=/usr/local/mysql —with-pgsql=/usr/local/pgsql —with-openssl —with-zlib —with-curl —with-gd —with-mcrypt —with-mhash —enable-sockets —enable-zip —with-png-dir=/usr/local —enable-xslt —with-dom —with-ttf —enable-ftp —with-jpeg-dir=/usr —with-freetype-dir=/usr —with-gettext —enable-gd-native-ttf —with-iconv —with-pear —enable-mbstring
# make
# make install
Правим httpd.conf:
LoadModule php5_module modules/libphp5.so (если отсутствует)
AddType application/x-httpd-php .php
# ./usr/local/apache2/bin/apachectl restart
Дальнейшую настройку доверяю вам сделать самим 😉
p.s. Данный man не является подробным руководством по установке. Он предназначен для новичков и призван дать общее понимание принципов работы с FreeBSD…Внимание! если есть ошибка «client denied by server configuration»
В apache 2.2 изменили права на DocumentRoot по умолчанию. Предполагается что теперь
нужно разрешать право смотреть на каждом виртуальном хосту. Но если у вас много виртуальных хостов то проще вернуть все на место Ж:-)
в 2.2 по умолчанию<Directory /> AllowOverride None Order Deny,Allow Deny from all <Directory>
исправить на
<Directory /> AllowOverride None Order Deny,Allow <Directory>