Настройка WWW на FreeBSD

Есть настроенная в минимальной конфигурации система (FreeBSD), есть интернет. Как минимум, надо Apache+php+MySQL (по версиям apache22 php5 mysql5 ). В надежде что хватит сил, начинаем...On English

через sysinstall ставим пакеты mc, MySQL, php-5, Apache22 - потянулись зависимости. Результат ниже, без никаких дополнительных настроек установились пакеты:

$ pkg_info
apache-2.2.6_2 Version 2.2 of Apache web server with prefork MPM.
expat-2.0.0_1 XML 1.0 parser written in C
gettext-0.16.1_3 GNU gettext package
glib-2.14.2 Some useful routines of C programming (current stable versi
libiconv-1.11_1 A character set conversion library
libxml2-2.6.30 XML parser library for GNOME
linux_base-fc-4_10 Base set of packages needed in Linux mode (for i386/amd64)
mc-4.6.1_6 Midnight Commander, a free Norton Commander Clone
mysql-client-5.1.22 Multithreaded SQL database (client)
mysql-server-5.1.22 Multithreaded SQL database (server)
pcre-7.4 Perl Compatible Regular Expressions library
pecl-filter-0.11.0 PHP extension for safely dealing with input parameters
pecl-hash-1.5 HASH Message Digest Framework for PHP
pecl-json-1.2.1 PHP extension for JSON (JavaScript Object Notation) seriali
perl-5.8.8_1 Practical Extraction and Report Language
php5-5.2.5 PHP Scripting Language
php5-ctype-5.2.5 The ctype shared extension for php
php5-dom-5.2.5 The dom shared extension for php
php5-extensions-1.1 A "meta-port" to install PHP extensions
php5-iconv-5.2.5 The iconv shared extension for php
php5-pcre-5.2.5 The pcre shared extension for php
php5-pdo-5.2.5 The pdo shared extension for php
php5-pdo_sqlite-5.2.5 The pdo_sqlite shared extension for php
php5-posix-5.2.5 The posix shared extension for php
php5-session-5.2.5 The session shared extension for php
php5-simplexml-5.2.5 The simplexml shared extension for php
php5-spl-5.2.5 The spl shared extension for php
php5-sqlite-5.2.5 The sqlite shared extension for php
php5-tokenizer-5.2.5 The tokenizer shared extension for php
php5-xml-5.2.5 The xml shared extension for php
php5-xmlreader-5.2.5 The xmlreader shared extension for php
php5-xmlwriter-5.2.5 The xmlwriter shared extension for php
pkg-config-0.22_1 A utility to retrieve information about installed libraries
$

 

ЗЫ по мере наличия времени выкладываю что делал

конфиг PHP5

site# ./php-configUsage: ./php-config [OPTION]Options:--prefix [/usr/local]--includes [-I/usr/local/include/php -I/usr/local/include/php/main -I/usr/local/include/php/TSRM -I/usr/local/include/php/Zend -I/usr/local/include/php/ext -I/usr/local/include/php/ext/date/lib]--ldflags [ -L/usr/local/lib]--libs [-lcrypt -lcrypt -lm -lxml2 -lz -liconv -lm -lcrypt -lcrypt ]--extension-dir [/usr/local/lib/php/20060613]--include-dir [/usr/local/include/php]--php-binary [/usr/local/bin/php]--php-sapis [cli default]--configure-options [--with-layout=GNU --with-config-file-scan-dir=/usr/local/etc/php --disable-all --enable-libxml --with-libxml-dir=/usr/local --enable-reflection --program-prefix= --enable-fastcgi --with-regex=php --with-zend-vm=CALL --prefix=/usr/local --mandir=/usr/local/man --infodir=/usr/local/info/]--version [5.2.5]--vernum [50205]site#

а как связать Apache22+php5

апач работает но скрипты выводит как текстовые файлы. Полез в интернет за идеями
Apache config(удалил закомментированые строки, не все)
site# cat ./httpd.confServerRoot "/usr/local"#Listen 12.34.56.78:80Listen 80#LoadModule authn_file_module libexec/apache22/mod_authn_file.soLoadModule authn_dbm_module libexec/apache22/mod_authn_dbm.soLoadModule authn_anon_module libexec/apache22/mod_authn_anon.soLoadModule authn_default_module libexec/apache22/mod_authn_default.soLoadModule authn_alias_module libexec/apache22/mod_authn_alias.soLoadModule authz_host_module libexec/apache22/mod_authz_host.soLoadModule authz_groupfile_module libexec/apache22/mod_authz_groupfile.soLoadModule authz_user_module libexec/apache22/mod_authz_user.soLoadModule authz_dbm_module libexec/apache22/mod_authz_dbm.soLoadModule authz_owner_module libexec/apache22/mod_authz_owner.soLoadModule authz_default_module libexec/apache22/mod_authz_default.soLoadModule auth_basic_module libexec/apache22/mod_auth_basic.soLoadModule auth_digest_module libexec/apache22/mod_auth_digest.soLoadModule file_cache_module libexec/apache22/mod_file_cache.soLoadModule cache_module libexec/apache22/mod_cache.soLoadModule disk_cache_module libexec/apache22/mod_disk_cache.soLoadModule dumpio_module libexec/apache22/mod_dumpio.soLoadModule include_module libexec/apache22/mod_include.soLoadModule filter_module libexec/apache22/mod_filter.soLoadModule charset_lite_module libexec/apache22/mod_charset_lite.soLoadModule deflate_module libexec/apache22/mod_deflate.soLoadModule log_config_module libexec/apache22/mod_log_config.soLoadModule logio_module libexec/apache22/mod_logio.soLoadModule env_module libexec/apache22/mod_env.soLoadModule mime_magic_module libexec/apache22/mod_mime_magic.soLoadModule cern_meta_module libexec/apache22/mod_cern_meta.soLoadModule expires_module libexec/apache22/mod_expires.soLoadModule headers_module libexec/apache22/mod_headers.soLoadModule usertrack_module libexec/apache22/mod_usertrack.soLoadModule unique_id_module libexec/apache22/mod_unique_id.soLoadModule setenvif_module libexec/apache22/mod_setenvif.soLoadModule version_module libexec/apache22/mod_version.soLoadModule ssl_module libexec/apache22/mod_ssl.soLoadModule mime_module libexec/apache22/mod_mime.soLoadModule dav_module libexec/apache22/mod_dav.soLoadModule status_module libexec/apache22/mod_status.soLoadModule autoindex_module libexec/apache22/mod_autoindex.soLoadModule asis_module libexec/apache22/mod_asis.soLoadModule info_module libexec/apache22/mod_info.soLoadModule cgi_module libexec/apache22/mod_cgi.soLoadModule dav_fs_module libexec/apache22/mod_dav_fs.soLoadModule vhost_alias_module libexec/apache22/mod_vhost_alias.soLoadModule negotiation_module libexec/apache22/mod_negotiation.soLoadModule dir_module libexec/apache22/mod_dir.soLoadModule imagemap_module libexec/apache22/mod_imagemap.soLoadModule actions_module libexec/apache22/mod_actions.soLoadModule speling_module libexec/apache22/mod_speling.soLoadModule userdir_module libexec/apache22/mod_userdir.soLoadModule alias_module libexec/apache22/mod_alias.soLoadModule rewrite_module libexec/apache22/mod_rewrite.so<IfModule !mpm_netware_module>User wwwGroup www</IfModule># 'Main' server configurationServerAdmin you@example.com#ServerName www.example.com:80DocumentRoot "/usr/local/www/apache22/"<Directory /> AllowOverride None Order deny,allow Deny from all</Directory># This should be changed to whatever you set DocumentRoot to.#<Directory "/usr/local/www/apache22/data"> Options Indexes FollowSymLinks AllowOverride None Order allow,deny Allow from all</Directory><IfModule dir_module> DirectoryIndex index.html</IfModule><FilesMatch "^\.ht"> Order allow,deny Deny from all Satisfy All</FilesMatch>ErrorLog /var/log/httpd-error.logLogLevel warn<IfModule log_config_module> LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined LogFormat "%h %l %u %t \"%r\" %>s %b" common <IfModule logio_module> # You need to enable mod_logio.c to use %I and %O LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\" %I %O" combinedio </IfModule> #CustomLog /var/log/httpd-access.log common CustomLog /var/log/httpd-access.log combined</IfModule><IfModule alias_module> # Example: # Redirect permanent /foo http://www.example.com/bar # Example: # Alias /webpath /full/filesystem/path ScriptAlias /cgi-bin/ "/usr/local/www/apache22/cgi-bin/"</IfModule><IfModule cgid_module> #Scriptsock /var/run/cgisock</IfModule><Directory "/usr/local/www/apache22/cgi-bin"> AllowOverride None Options None Order allow,deny Allow from all</Directory>DefaultType text/plain<IfModule mime_module> TypesConfig etc/apache22/mime.types #AddType application/x-gzip .tgz #AddEncoding x-compress .Z #AddEncoding x-gzip .gz .tgz AddType application/x-compress .Z AddType application/x-gzip .gz .tgz #AddHandler cgi-script .cgi # For type maps (negotiated resources): #AddHandler type-map var #AddType text/html .shtml #AddOutputFilter INCLUDES .shtml</IfModule><IfModule ssl_module>SSLRandomSeed startup builtinSSLRandomSeed connect builtin</IfModule>Include etc/apache22/Includes/*.confsite#

У меня как у

У меня как у нуба возникали проблемы с установкой тех или иных служб из портов (что-то не докачивалось из-за того что офф-сайты хостеры или в дауне или не принимают запросы) или установка прерывалась из-за того что какие-то модули уже были установлены.
Я подумал, что установка пакетов менее проблемной будет .... вариант не проканал, но родился хинт :)
1) ставим пакет, он затягивает все необходимые зависимости
2) для порта делаем make
3) потом читаем текст который пишет при вызове make install
site# make install===> Installing for mysql-server-5.1.22===> mysql-server-5.1.22 depends on shared library: mysqlclient.16 - found===> Generating temporary packing list===> Checking if databases/mysql51-server already installed===> mysql-server-5.1.22 is already installed You may wish to ``make deinstall'' and install this port again by ``make reinstall'' to upgrade it properly. If you really wish to overwrite the old port of databases/mysql51-server without deleting it first, set the variable "FORCE_PKG_REGISTER" in your environment or the "make install" command line.*** Error code 1
делаем так как сказали :) и тогда все зависимости будут скачаны (если не обнаружены) из пакетов а порт просто настроит все как надо!
site# setenv FORCE_PKG_REGISTER "YES"site# make install
если надо автозапуск - то в /etc/rc.d/rc.confпишем что-то вроде (тут конкретно) enable_mysql="YES"

Финальная настройка php5+Apache22

в папке /usr/ports/lang/php5/
есть файл с комментарием как донастроить APACHE: pkg-message.mod
***************************************************************Make sure index.php is part of your DirectoryIndex.You should add the following to your Apache configuration file:AddType application/x-httpd-php .phpAddType application/x-httpd-php-source .phps***************************************************************
после перезапуска апача phpinfo() отработал как и предполагалось :)
Теперь осталось только с MySQL поработать

Настройка WWW на FreeBSD

Make sure index.php is part of your DirectoryIndex.

You should add the following to your Apache configuration file:

AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps

А кто писать будет что эти строки добавляются в секцию:

=)

добавлять вручную
в апаче есть только одна секция куда это надо добавить. в конфиге (если не чистить от комментов) все написано правильно, надо просто следовать инструкциям
PS подсказка смотри <IfModule mime_module>

drupal установился

CMS Drupal на этот конфиг установился без проблем. Первым делом я закрыл доступ из неизвестных ай-пи а с известных-открыл.
В результате издалека никто не зайдет на сайт, что и требуется ибо сайт этот- внутренний.