2006/12/15

SAMP (Solaris, Apache 2, MySQL 4, and PHP 5) Setup for Solaris 10

  • Apache 2.0.55
В дистрибутиве Solaris 10 (Entire или Developer) уже установлены Apache 1 и Apache 2, остается только сконфигурировать и запустить предпочтительный вариант. Сервисом Apache 2 в отличие от Apache 1 можно управлять из SMF, поэтому рассмотренный пример касается настройки именно Apache 2.

1. Скопировать конфигурационный файл с примерного файла конфигурации

# cp /etc/apache2/httpd.conf-example /etc/apache2/httpd.conf

2. Поправить, что необходимо в файле конфигурации руками

# vi /etc/apache2/httpd.conf

3. Включить сервис Apache 2 с помощью SMF

# svcadm enable apache2
# svcs -p apache2
STATE STIME FMRI
online 11:19:59 svc:/network/http:apache2
11:19:59 2927 httpd
11:20:00 2928 httpd
11:20:00 2929 httpd
11:20:00 2930 httpd
11:20:00 2931 httpd
11:20:00 2932 httpd


  • MySQL 4.1.22

1. В дистрибутиве Solaris 10 (Entire или Developer) уже установлены все необходимые пакеты для развертывания MySQL-сервиса версии 4.0.24. Версия достаточно устарела, поэтому рекомендуется ее удалить.

pkgrm SUNWmysqlt SUNWmysqlr SUNWmysqlr

2. Для установки новой версии MySQL необходимо воспользоваться системой пакетов Blastwave для Solaris OS. О том, как начать пользоваться этой системой можно прочесть на соответствующем HowTo.

На данный момент самая последняя версия MySQL 4.1.22 сборка 2006.11.28. В процессе установки будут установлены пакеты, для устранения зависимостей (berkleydb, perl, openssl и т.д.). Также будут заданы вопросы касающиеся конфликтных ситуаций и использования прав суперпользователя (root) - инсталлятор натыкается на уже существующие папки и видит в этом возможный конфликт, а root необходим для создания новых пользователей и других системных операций. На самом деле ничего серьезного в эти сообщениях нет.

# /opt/csw/bin/pkg-get -i mysql4 mysql4client mysql4devel mysql4rt
# /opt/csw/bin/pkg-get -i mysql4test

3. Скопировать необходимый файл конфигурации

# cd /opt/csw/mysql4/share/mysql/
# cp my-small.cnf /opt/csw/mysql4/my.cnf

4. Поправить, что необходимо в файле конфигурации руками

# vi /opt/csw/mysql4/my.cnf

5. Инициализировать MySQL БД и поправить необходимые права доступа к директории /opt/csw/mysql4/var

# cd /opt/csw/mysql4/
# ./bin/mysql_install_db
Installing all prepared tables
Fill help tables
...
# chown -R mysql:mysql ./var

6. Включить MySQL-сервис с помощью SMF

# svcs -a | grep mysql
disabled 12:22:58 svc:/network/cswmysql4:default
# svcadm enable svc:/network/cswmysql4:default
# svcs -a | grep mysql
online 12:26:22 svc:/network/cswmysql4:default

7. Задать пароли для суперпользователя

# /opt/csw/mysql4/bin/mysqladmin -u root password 'your_password'
# /opt/csw/mysql4/bin/mysqladmin -u root -h your_hostname password 'your_password'


  • PHP 5.2.0

1. Установить системную переменную PATH

# export PATH=/opt/csw/bin:/usr/sfw/bin:/usr/sbin:/usr/bin:/usr/openwin/bin:/usr/dt/bin:/usr/ccs/bin

2. Для сборки PHP понадобятся утилиты из проекта GNU.

# pkg-get -i autoconf
...
# which autoconf && autoconf --version | head -2
/opt/csw/bin/autoconf
autoconf (GNU Autoconf) 2.59
Written by David J. MacKenzie and Akim Demaille.

# pkg-get -i automake
...
# which automake && automake --version | head -2
/opt/csw/bin/automake
automake (GNU automake) 1.9.6
Written by Tom Tromey .

# pkg-get -i gsed
...
# which gsed && gsed --version | head -2
/opt/csw/bin/gsed
GNU sed version 4.1.4
Copyright (C) 2003 Free Software Foundation, Inc.

# which gcc && gcc --version | head -2
/usr/sfw/bin/gcc
gcc (GCC) 3.4.3 (csl-sol210-3_4-branch+sol_rpath)
Copyright (C) 2004 Free Software Foundation, Inc.
# which gmake && gmake --version | head -2
/usr/sfw/bin/gmake
GNU Make 3.80
Copyright (C) 2002 Free Software Foundation, Inc.

# which flex && flex --version | head -2
/usr/sfw/bin/flex
flex version 2.5.4

# which bison && bison --version | head -2
/usr/sfw/bin/bison
bison (GNU Bison) 1.875
Written by Robert Corbett and Richard Stallman.

# which gm4 && gm4 --version | head -2
/opt/csw/bin/gm4
GNU M4 1.4.5
Written by Rene' Seindal.

# which perl && perl -v | head -2
/opt/csw/bin/perl

This is perl, v5.8.8 built for i86pc-solaris-thread-multi

# which gunzip && gunzip -V | head -2
/usr/bin/gunzip
gunzip 1.3.3-patch.1
(2002-03-08)

# which gtar && gtar --version | head -2
/usr/sfw/bin/gtar
tar (GNU tar) 1.14
Copyright (C) 2004 Free Software Foundation, Inc.

3. Собрать и установиьт библиотеку libxml

# mkdir /var/spool/src
# chmod 777 /var/spool/src
# cd 777 /var/spool/src
# wget ftp://fr.rpmfind.net/pub/libxml/libxml2-2.6.27.tar.gz
...
# gunzip -cd libxml2-2.6.27.tar.gz | gtar xvpf -
# cd libxml2-2.6.27
# ./configure
...
# gmake
...
# gmake install
...

4. Собрать из полученных исходников PHP 5.2.0

# cd /var/spool/src
# wget http://lt.php.net/get/php-5.2.0.tar.gz/from/this/mirror
# gunzip -cd php-5.2.0.tar.gz | gtar xvpf -
# cd php-5.2.0
# ./configure --with-apxs2=/usr/apache2/bin/apxs --enable-dbase \
--with-libxml-dir=/usr/local --with-config-file-path=/etc/apache2 \
--with-mysql=shared,/opt/csw/mysql4 \
--with-mysqli=shared,/opt/csw/mysql4/bin/mysql_config \
--with-xpm-dir=/usr --with-gd --with-tiff-dir=/usr --with-bz2=/usr/lib \
--with-jpeg-dir=/usr --with-png-dir=/usr --with-zlib --enable-mbstring \
--enable-calendar--enable-bcmath --enable-ftp --enable-exif
# gmake
...
# gmake install
...

5. Скопировать конфигурационный файл с примерного файла конфигурации

cp php.ini-dist /etc/apache2/php.ini

6. Внести необходимые изменения в конфигурационный файл PHP. Установить переменную extension_dir = /usr/local/lib/php/extensions/no-debug-non-zts-20060613 и добавить mysql-расширение (extension=mysql.so)

# ls -l /usr/local/lib/php/extensions/no-debug-non-zts-20060613
total 1072
-rwxr-xr-x 1 root root 422864 Dec 15 14:13 mysqli.so
-rwxr-xr-x 1 root root 102748 Dec 15 14:13 mysql.so
# vi /etc/apache2/php.ini
...
extension_dir = /usr/local/lib/php/extensions/no-debug-non-zts-20060613
extension=mysql.so
...

7. Внести необходимые изменения в конфигурационный файл Apache. Строка "LoadModule php5_module libexec/libphp5.so" уже должна присутствовать.

# vi /etc/apache2/httpd.conf
...
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps
...

8. Перезапустить Apache

svcadm restart svc:/network/http:apache2

9. Проверить работоспособность открыв http://localhost/pi.php

# cd /var/apache2/htdocs
# cat > pi.php

^C

Ссылки:

  1. AMPS (Apache MySQL PHP SSL) for Solaris 10
  2. Deployment Guide for an Open Source Stack on the Solaris 10 OS
  3. SAMP (Solaris, Apache 2, MySQL 5, and PHP 5) Setup for Solaris 10 OS and Solaris Express

1 comment:

Pet said...

Ценный материал. На форуме по соляре такие люди нужны!