apache+php+ffmpeg+flvtool2

Установка полноценного web сервера на в котором можно смотреть ролики, создавать музыкальные альбомы, слушать музыку он-лайн и прочее... Для создания этой платформы нам потребуется связка apache+PHP+ffmpeg+flvtool2. Для MYSQL будем использовать UTF-8 по умолчанию, тогда не будет проблем с кириллицей для любых установленных сайтов и движков.

Устанавливаем БД:

cd /usr/ports/databases/mysql55-client
make WITH_CHARSET=utf8 WITH_COLLATION=utf8_bin BUILD_OPTIMIZED=yes install clean
cd /usr/ports/databases/mysql55-server
make WITH_CHARSET=utf8 WITH_COLLATION=utf8_bin BUILD_OPTIMIZED=yes install clean

Опции сборки MySQL (client+server):

WITH_OPENSSL=true
WITH_FASTMTX=true

Настроим MySQL и изменим пароль root:

cp /usr/local/share/mysql/my-large.cnf /usr/local/etc/my.cnf

Запилим my.cnf до нужного состояния под свои нужды /ключевые строки которые надо впилить в конфиг при отсутствии/:

[client]
default-character-set = utf8
[mysqld]
character-set-server = utf8
collation-server = utf8_general_ci
character-set-server = utf8
init-connect = "SET NAMES utf8"
collation-server = utf8_general_ci
ignore-builtin-innodb
default-storage-engine=MyISAM
[myisamchk]
key_buffer_size = 384M
sort_buffer_size = 384M
read_buffer = 2M
write_buffer = 2M
[isamchk]
key_buffer_size = 384M
sort_buffer_size = 384M
read_buffer = 2M
write_buffer = 2M

Ставим пароль на root:

/usr/local/bin/mysqladmin -u root password пароль_рута

Теперь устанавливаем apache:

cd /usr/ports/www/apache22
make install clean

Опции сборки apache:

WITH_THREADS=true
WITH_MYSQL=true
WITHOUT_PGSQL=true
WITHOUT_SQLITE=true
WITH_IPV6=true
WITH_BDB=true
WITH_AUTH_BASIC=true
WITH_AUTH_DIGEST=true
WITH_AUTHN_FILE=true
WITH_AUTHN_DBD=true
WITH_AUTHN_DBM=true
WITH_AUTHN_ANON=true
WITH_AUTHN_DEFAULT=true
WITH_AUTHN_ALIAS=true
WITH_AUTHZ_HOST=true
WITH_AUTHZ_GROUPFILE=true
WITH_AUTHZ_USER=true
WITH_AUTHZ_DBM=true
WITH_AUTHZ_OWNER=true
WITH_AUTHZ_DEFAULT=true
WITH_CACHE=true
WITH_DISK_CACHE=true
WITH_FILE_CACHE=true
WITH_MEM_CACHE=true
WITH_DAV=true
WITH_DAV_FS=true
WITH_BUCKETEER=true
WITH_CASE_FILTER=true
WITH_CASE_FILTER_IN=true
WITH_EXT_FILTER=true
WITH_LOG_FORENSIC=true
WITHOUT_OPTIONAL_HOOK_EXPORT=true
WITHOUT_OPTIONAL_HOOK_IMPORT=true
WITHOUT_OPTIONAL_FN_IMPORT=true
WITHOUT_OPTIONAL_FN_EXPORT=true
WITHOUT_LDAP=true
WITHOUT_AUTHNZ_LDAP=true
WITH_ACTIONS=true
WITH_ALIAS=true
WITH_ASIS=true
WITH_AUTOINDEX=true
WITH_CERN_META=true
WITH_CGI=true
WITH_CHARSET_LITE=true
WITH_DBD=true
WITH_DEFLATE=true
WITH_DIR=true
WITH_DUMPIO=true
WITH_ENV=true
WITH_EXPIRES=true
WITH_HEADERS=true
WITH_IMAGEMAP=true
WITH_INCLUDE=true
WITH_INFO=true
WITH_LOG_CONFIG=true
WITH_LOGIO=true
WITH_MIME=true
WITH_MIME_MAGIC=true
WITH_NEGOTIATION=true
WITH_REWRITE=true
WITH_SETENVIF=true
WITH_SPELING=true
WITH_STATUS=true
WITH_UNIQUE_ID=true
WITH_USERDIR=true
WITH_USERTRACK=true
WITH_VHOST_ALIAS=true
WITH_FILTER=true
WITH_SUBSTITUTE=true
WITH_VERSION=true
WITHOUT_PROXY=true
WITHOUT_PROXY_CONNECT=true
WITHOUT_PROXY_FTP=true
WITHOUT_PROXY_HTTP=true
WITHOUT_PROXY_AJP=true
WITHOUT_PROXY_BALANCER=true
WITHOUT_PROXY_SCGI=true
WITH_SSL=true
WITHOUT_SUEXEC=true
WITHOUT_SUEXEC_RSRCLIMIT=true
WITH_REQTIMEOUT=true
WITH_CGID=true

Далее устанавливаем php:

cd /usr/ports/lang/php5
make install clean

Опции сборки php:

WITH_CLI=true
WITH_CGI=true
WITHOUT_FPM=true
WITH_APACHE=true
WITH_AP2FILTER=true
WITHOUT_DEBUG=true
WITH_SUHOSIN=true
WITH_MULTIBYTE=true
WITH_IPV6=true
WITH_MAILHEAD=true
WITH_LINKTHR=true

Теперь установим необходимые модули php-extensions:

cd /usr/ports/lang/php5-extensions
make install clean

Опции сборки php-extensions:

WITH_BCMATH=true
WITH_BZ2=true
WITH_CALENDAR=true
WITH_CTYPE=true
WITH_CURL=true
WITH_DBA=true
WITH_DOM=true
WITH_EXIF=true
WITH_FILEINFO=true
WITH_FILTER=true
WITHOUT_FRIBIDI=true
WITH_FTP=true
WITH_GD=true
WITH_GETTEXT=true
WITH_GMP=true
WITH_HASH=true
WITH_ICONV=true
WITH_IMAP=true
WITHOUT_INTERBASE=true
WITH_JSON=true
WITHOUT_LDAP=true
WITH_MBSTRING=true
WITH_MCRYPT=true
WITHOUT_MSSQL=true
WITH_MYSQL=true
WITH_MYSQLI=true
WITHOUT_ODBC=true
WITH_OPENSSL=true
WITH_PCNTL=true
WITH_PDF=true
WITH_PDO=true
WITHOUT_PDO_SQLITE=true
WITHOUT_PGSQL=true
WITH_PHAR=true
WITH_POSIX=true
WITH_PSPELL=true
WITH_READLINE=true
WITH_RECODE=true
WITH_SESSION=true
WITH_SHMOP=true
WITH_SIMPLEXML=true
WITH_SNMP=true
WITH_SOAP=true
WITH_SOCKETS=true
WITHOUT_SQLITE=true
WITHOUT_SQLITE3=true
WITHOUT_SYBASE_CT=true
WITH_SYSVMSG=true
WITH_SYSVSEM=true
WITH_SYSVSHM=true
WITH_TIDY=true
WITH_TOKENIZER=true
WITH_WDDX=true
WITH_XML=true
WITH_XMLREADER=true
WITH_XMLRPC=true
WITH_XMLWRITER=true
WITH_XSL=true
WITH_YAZ=true
WITH_ZIP=true
WITH_ZLIB=true

Далее установим модуль для обработки видео ffmpeg:

cd /usr/ports/multimedia/ffmpeg
make install clean

Опции сборки ffmpeg:

WITH_AACPLUS=true
WITHOUT_ALSA=true
WITH_AMR_NB=true
WITH_AMR_WB=true
WITH_CELT=true
WITH_DIRAC=true
WITH_FAAC=true
WITH_FFSERVER=true
WITH_FREETYPE=true
WITH_FREI0R=true
WITH_GSM=true
WITH_LAME=true
WITH_OPENCV=true
WITH_OPENJPEG=true
WITH_OPTIMIZED_CFLAGS=true
WITH_RTMP=true
WITH_SCHROEDINGER=true
WITHOUT_SDL=true
WITH_SPEEX=true
WITH_THEORA=true
WITHOUT_VAAPI=true
WITHOUT_VDPAU=true
WITH_VO_AACENC=true
WITH_VO_AMRWBENC=true
WITH_VORBIS=true
WITH_VP8=true
WITH_X264=true
WITH_XVID=true

Прикрутим модуль php-ffmpeg:

cd /usr/ports/graphics/php5-ffmpeg
make install clean

Прикрутим модуль flvtool2, который будет заниматься созданием превью и записью метаданных видео:

cd /usr/ports/multimedia/ruby-flvtool2
make install clean

Устанавливаем memcached:

cd /usr/ports/databases/memcached
make install clean

Опции сборки memcached:

WITHOUT_REPCACHED=true
WITHOUT_SASL=true

Устанавливаем расширение pecl-memcache:

cd /usr/ports/databases/pecl-memcache
make install clean

Пилим конфигурационный файл апача /usr/local/etc/apache22/httpd.conf Запиливаем конфигурацию под себя и добавляем:

<IfModule dir_module>
DirectoryIndex index.html index.php index.phps
</IfModule>
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps

Устанавливаем ускоритель eaccelerator /обращаю Ваше внимание, на движке МОDх REVO он не работает и будут проблемы при его использовании/:

cd /usr/ports/www/eaccelerator
make install clean

Выполняем команды высветившиеся в конце установки eaccelerator. Далее запиливаем запуск демонов:

echo 'apache22_enable="YES"' >> /etc/rc.conf
echo 'mysql_enable="YES"' >> /etc/rc.conf
echo 'memcached_enable="YES"' >> /etc/rc.conf

Запускаем демоны /mysql уже запущен с момента установки пароля руту/:

/usr/local/etc/rc.d/apache22 start
/usr/local/etc/rc.d/memcached start

Проверить работоспособность apache, php и нужных модулей php можно создав в папке директории сайта файл phpinfo.php со следующим содержанием:

<?php phpinfo(); ?>

И открыть его браузером по адресу сайта http://ваше_имя/phpinfo.php 
Если что-то не запустилось, смотрите логи. (на 99% не поднимется php выпав в корку, для этого открываем /usr/local/etc/php/extensions.ini и переносим строку extension=recode.so на первое место, ставя ее перед extension=bcmath.so)