вторник, 25 марта 2014 г.

FreeBsd 10.0, Apache, MySQL, PHP, phpMyAdmin

1. обновляем дерево портов - portsnap fetch update

2. устанавливаем MySQL server 
    cd /usr/ports/databases/mysql56-server/
    make BUILD_OPTIMIZED=yes BUILD_STATIC=yes (оптимизируем под процессор установленный в систему и собираем с библиотеками)
    make install clean
    запускаем mysql сервер: /usr/local/etc/rc.d/mysql-server start (onestart)
    задаем пароль для root пользователя:
    /usr/local/bin/mysqladmin -uroot password 'password' 

3. устанавливаем Apache
    cd /usr/ports/www/apache24/
    make install clean

   в файле /usr/local/etc/apache24/httpd.conf
    -добавляем (раскомментируем)  
      ServerName localhost:80
    -добавляем index.php в опцию DirectoryIndex
    -добавляем такие строки:
     AddType application/x-httpd-php .php
     AddType application/x-httpd-php-source .phps

   
    -раскомментируем такие строки:
      LoadModule authz_host_module libexec/apache24/mod_authz_host.so
      LoadModule negotiation_module libexec/apache24/mod_negotiation.so
      LoadModule mime_module libexec/apache24/mod_mime.so
      и
      Include  etc/apache24/extra/httpd-languages.conf
      Include  etc/apache24/extra/httpd-vhosts.conf
 
    в файл /usr/local/etc/apache24/extra/httpd-languages.conf добавляем строку:
      AddDefaultCharset On 
 
 Добавление виртуального хоста.
    - создаем каталог с хостом /usr/local/www/somehost.ru 
    - в файле /usr/local/etc/apache24/extra/httpd-vhosts.conf добавляем:
       <VirtualHost *:80>
             DocumentRoot "/usr/local/www/somehost.ru"
             ServerName www.somehost.ru
             ServerAlias somehost.ru
             <Directory "/usr/local/www/somehost.ru">
                   Require all granted
                   Allow from all
             </Directory>      
       </VirtualHost> 
    - в /etc/hosts добавляем в 127.0.0.1 наш хост www.somehost.ru somehost.ru    
    - у клиентов также в файле hosts добавляем наш хост с ip сервера

4. устанавливаем php
    cd /usr/ports/lang/php55/
    make install clean  (выбираем поддержку apache (если нет то устанавливаем /usr/ports/www/mod_php55)) 
    расширения cd /usr/ports/lang/php55-extensions/
    make install clean (выбираем поддержку MYSQL и MYSQLi)
    копируем php.ini
    cp /usr/local/etc/php.ini-production /usr/local/etc/php.ini

5. в /etc/rc.conf
    mysql_enable="YES"
    apache24_enable="YES"

6. устанавливаем phpmyadmin
    cd /usr/ports/databases/phpmyadmin
    make install clean
    в файл /usr/local/etc/apache24/extra/httpd-vhosts.conf добавляем:
      Alias /phpmyadmin/ "/usr/local/www/phpMyAdmin/"
      <Directory "/usr/local/www/phpMyAdmin/">
             Options None
             AllowOverride Limit
             Require local  
(доступ к phpmyadmin только с localhost)
       </Directory>

    далее идем в каталог /usr/local/www/phpMyAdmin/
    меняем группу у конфиг. файла:
     chgrp www config.inc.php
    настройки можно произвести выполнив в браузере 127.0.0.1/phpmyadmin/setup 
    (предварительно нужно создать каталог config,
     поменять группу chgrp www config,
     дать права на запись chmod g+rw config,
     cкопировать cp config.inc.php config/
     права chmod g+rw config/config.inc.php
     после настройки возвращаем на место mv config/config.inc.php 
     права chmod g-w config.inc.php, удаляем каталог config)

Не забываем перегрузить apache: /usr/local/etc/rc.d/apache24 restart

6 комментариев:

  1. При установке phpmyadmin:
    pecl-APC-3.1.14_1 cannot be installed: doesn't work with lang/php55

    ОтветитьУдалить
    Ответы
    1. если я не ошибаюсь это - PHP APC (animated progress bar) support. Я собирал без него.
      cd /usr/ports/databases/phpmyadmin
      make config (убираем галочку с APC)
      make
      make install

      Удалить
  2. Здравствуйте! хотелось бы поподробней про nginx + apache на FreeBsd 10. Спасибо!

    ОтветитьУдалить
    Ответы
    1. и хотелось бы зайти на phpmyadmin cо стороны, а не с localhost

      Удалить
    2. Для полного доступа в секцию directory добавьте
      Options None
      Require all granted
      Allow from all

      Удалить
  3. в FreeBSD 9.3 , в httpd.conf можно прописать
    LoadModule php5_module libexec/apache24/libphp5.so

    У меня после этого начал работать php в apache

    ОтветитьУдалить