Пошаговая установка phpMyAdmin на FreeBSD

----------------- I настройка системы -----------------
Версия системы
zg# uname -smrv
FreeBSD 7.2-RELEASE FreeBSD 7.2-RELEASE #0: Fri May  1 08:49:13 UTC 2009     
root@walker.cse.buffalo.edu:/usr/obj/usr/src/sys/GENERIC  i386

Утсановленные пакеты
zg# pkg_info
pkg_info: no packages installed

Монтируем установочный диск
zg# mount /cdrom/

Ставим тяжёлые пакеты
zg# cd /cdrom/packages/All/
zg# pkg_add perl-* gettext-*

Синхронизируем время
zg# ntpdate ntp.ru
 4 Jul 13:55:59 ntpdate[866]: step time server 193.124.11.11 offset 3989.563650 sec

Обновляем порты
zg# csup -h cvsup4.ru.freebsd.org /usr/share/examples/cvsup/ports-supfile

----------------- II установка портов -----------------

Настройка пма (опции могут любыми, я оставил такие см. приложение A)
zg# make -C/usr/ports/databases/phpmyadmin config

Настройка php (обязательно указать опцию Apache, см. приложение B)
zg# make -C/usr/ports/lang/php5/ config

Установка пма в "тихом" режиме
zg# make BATCH=yes -C/usr/ports/databases/phpmyadmin install clean

Проверяем пакеты, которые установились
zg# pkg_info | egrep -i apache\|php\|mysql\|phpmyadmin
apache-1.3.41_1     The extremely popular Apache http server. Very fast, very c
libmcrypt-2.5.8     Multi-cipher cryptographic library (used in PHP)
mysql-client-5.0.83 Multithreaded SQL database (client)
php5-5.2.10         PHP Scripting Language
php5-bz2-5.2.10     The bz2 shared extension for php
php5-ctype-5.2.10   The ctype shared extension for php
php5-filter-5.2.10  The filter shared extension for php
php5-mbstring-5.2.10 The mbstring shared extension for php
php5-mcrypt-5.2.10  The mcrypt shared extension for php
php5-mysql-5.2.10   The mysql shared extension for php
php5-pcre-5.2.10    The pcre shared extension for php
php5-session-5.2.10 The session shared extension for php
php5-simplexml-5.2.10 The simplexml shared extension for php
php5-spl-5.2.10     The spl shared extension for php
php5-zip-5.2.10     The zip shared extension for php
php5-zlib-5.2.10    The zlib shared extension for php
phpMyAdmin-3.2.0.1  A set of PHP-scripts to manage MySQL over the web

Ставим mysql-сервер
zg# pkg_add -r mysql50-server

Обновляем системные пути
zg# rehash

Ставим базы данных
zg# mysql_install_db

Меняем владельца папки с базой данных на mysql (иначе MySQL не запустится)
zg# chown -R mysql:mysql /var/db/mysql/

----------------- III настройка конфигов -----------------

Добавляем в конфиг апача настройки для пма
zg# ee /usr/local/etc/apache/httpd.conf

    Alias /phpmyadmin/ "/usr/local/www/phpMyAdmin/"

    <Directory "/usr/local/www/phpMyAdmin/">
        Options none
        AllowOverride Limit

        Order Deny,Allow
        Deny from all
        Allow from all
    </Directory>

    <IfModule mod_php5.c>
        AddType application/x-httpd-php .php
        DirectoryIndex index.php index.html index.htm
    </IfModule>

zg# apachectl configtest
Syntax OK

Добавляем автозапуск апача
zg# echo 'apache_enable="YES"' >> /etc/rc.conf

Добавляем автозапуск MySQL
zg# echo 'mysql_enable="YES"' >> /etc/rc.conf

----------------- IV запуск сервисов -----------------

Запуск MySQL
zg# /usr/local/etc/rc.d/mysql-server start
Starting mysql.

Меняем пароль рута для доступа к MySQL
zg# mysqladmin -u root password 123

Проверяем запустился ли MySQL
zg# sockstat | grep mysql
mysql    mysqld     56018 10 tcp4   *:3306                *:*
mysql    mysqld     56018 12 stream /tmp/mysql.sock

Запуск apache
zg# /usr/local/etc/rc.d/apache start
Starting apache.

Проверяем запустился ли апач
zg# sockstat | grep httpd
www      httpd      56032 16 tcp4   *:80                  *:*
www      httpd      56031 16 tcp4   *:80                  *:*
www      httpd      56030 16 tcp4   *:80                  *:*
www      httpd      56029 16 tcp4   *:80                  *:*
www      httpd      56028 16 tcp4   *:80                  *:*
root     httpd      56027 16 tcp4   *:80                  *:*

Всё работает, можно проверять :)

Проверка работоспособности phpMyAdmin

Чтобы убедиться в работоспособности сервера и установленного PMA, я перешёл по адресу http://192.168.182.4/phpmyadmin/:

phpMyAdmin

Затем ввёл логин root и пароль 123. В результате открылось основное рабочее окно PMA:

phpMyAdmin


Что можно добавить

Показанный способ лишь пример, как можно быстро и без особых проблем поставить phpMyAdmin на FreeBSD. В большенстве случаев этот способ неприемлем, поскольку очень многие важные настройки опущенны.

Я не претендую на полное руководство, я лишь показал основные шаги :)


Приложение А. Опции конфигурации для phpMyAdmin

Опции конфигурации для phpMyAdmin


Приложение B. Опции конфигурации для PHP

Опции конфигурации для PHP