- Install phpMyAdmin with nginx on FreeBSD
- Enable and start the services¶
- Веб сервер на много коннектов и высокую нагрузку (nginx+php-fpm+mysql)
- Предисловие.
- 1. Начнем с подготовки фри к постановке ее на веб сервер.
- 2. Устанавливаем софт
- 3. Конфигурируем
- Установка phpmyadmin из исходников для связки apache + nginx
- Установка phpmyadmin из портов freebsd
- Configure phpMyAdmin for Nginx¶
- Install phpMyAdmin¶
- Install nginx¶
Install phpMyAdmin with nginx on FreeBSD
Make sure everything is up to date:
pkg update && pkg upgrade && portsnap fetch extract
Enable and start the services¶
- Enable php-fpm and nginx:
echo 'nginx_enable="YES"' >> /etc/rc.conf echo 'php_fpm_enable="YES"' >> /etc/rc.conf
- Start php-fpm and nginx:
service nginx start service php-fpm start
- Description updated (diff)
- Status changed from In Progress to Closed
- Project changed from 82 to FreeBSD Administration
- Description updated (diff)
- % Done changed from 50 to 100
- Target version set to FreeBSD 9
- Subject changed from How to Install nginx with phpMyAdmin on FreeBSD to Install phpMyAdmin with nginx on FreeBSD
- Description updated (diff)
- Category set to Database Server
- Description updated (diff)
Also available in:
cd /usr/ports/databases/phpmyadmin make install clean
Оставляем все по умолчанию и жмём «ОК»

Ничего не трогая жмём «ОК»

Ничего не трогая жмём «ОК»

Ничего не трогая жмём «ОК»

Если все хорошо, то в конце установки должны увидеть

Using existing group `www'. phpMyAdmin-3.5.3 has been installed into: /usr/local/www/phpMyAdmin Please edit config.inc.php to suit your needs. To make phpMyAdmin available through your web site, I suggest that you add something like the following to 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 127.0.0.1 .example.com </Directory> SECURITY NOTE: phpMyAdmin is an administrative tool that has had several remote vulnerabilities discovered in the past, some allowing remote attackers to execute arbitrary code with the web server's user credential. All known problems have been fixed, but the FreeBSD Security Team strongly advises that any instance be protected with an additional protection layer, e.g. a different access control mechanism implemented by the web server as shown in the example. Do consider enabling phpMyAdmin only when it is in use.
location /phpMyAdmin { root /usr/local/www/; index index.php; location ~ ^/phpMyAdmin/(.+\.php)$ { try_files $uri =404;root /usr/local/www/; fastcgi_pass unix:/tmp/php-fpm.sock; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; } location ~* ^/phpMyAdmin/(.+\.(jpg|jpeg|gif|css|png|js|ico|html|xml|txt))$ { root /usr/local/www/; } } location /phpmyadmin { rewrite ^/* /phpMyAdmin last; }

www.lissyara.su
—> статьи
—> FreeBSD
—> WWW
—> nginx+php-fpm+mysql
Веб сервер на много коннектов и высокую нагрузку (nginx+php-fpm+mysql)
Предисловие.
Вот хочу поделится с коллегами своими наработками, думаю они многим пригодятся.
1. Начнем с подготовки фри к постановке ее на веб сервер.
Сетапим на сервер фрю семерку архтиктуры amd64 (можно и i386 но там надо делать PAE ядро и расширять адресацию), обнавляем исходники
- csup /usr/src/csup /usr/src/csup
*default =cvsup6.ru.FreeBSD.org
*default base=/var/db
*default prefix=/usr
*default release=cvs tag=RELENG_7
*default use-rel-suffix
*default compress
src-all
ports-all tag=.
doc-all prefix=/usr/src tag=. /etc/make.conf# оптимизация под мой камень, применяется везде где только используется команда make, # позваляет получить немного лишних процентов производительностиCPUTYPE?=core2
NO_PROFILE=
NO_GAMES=
DOC_LANG=en_US.ISO8859- ru_RU.KOI8-R
WITHOUT_X11=
NO_X11=
WITH_IDEA=
MAKE_IDEA=
WITHOUT_GAMES=
WITHOUT_INET6=
WITHOUT_INET6_SUPPORT=
WITHOUT_PROFILE=
WITHOUT_IPV6=
PORTSDIR?= /usr/ports
DEFAULT_MYSQL_VER=. .CURDIR} == /databases/mysql51-server
WITH_PROC_SCOPE_PTH=
BUILD_OPTIMIZED= # флаги оптимизации компилятору# дает небольшой прирост производительности и независимость от внешних библиотекBUILD_STATIC=
.endif
. .CURDIR} == /databases/mysql51-client
WITH_PROC_SCOPE_PTH=
BUILD_OPTIMIZED=
BUILD_STATIC=
.endif /etc/src.conf
WITHOUT_INET6= # рубим ipv6, рассадник дыр в безопастности и глюков WITHOUT_INET6_SUPPORT=
WITHOUT_PROFILE= и пересобираем систему
/usr/src - -j6 buildworldПока собирается система можно занятся конфигом ядра в следующщей консоле (или другом ssh терминале).
/usr/src/sys/amd64/conf GENERIC SERVER64 SERVER64И правим ядро для наших целей, я например викидываю от туда дебаг, ipv6, и все не нужные мне драйвера
(nfs ntfs fat все рейды и сетевухи которых у меня нету fairwair usb wlan), и добавляю следующщее
SC_HISTORY_SIZE= # чтобы в консоли можно было далеко листать историю IPFIREWALL IPFIREWALL_VERBOSE IPFIREWALL_VERBOSE_LIMIT= IPFIREWALL_DEFAULT_TO_ACCEPT IPFIREWALL_FORWARD DUMMYNET ACCEPT_FILTER_DATA # фильтры для nginx ACCEPT_FILTER_HTTP HZ= DEVICE_POLLINGПосле того как сборка мира в первой консоле успешно закончится, можно приступать к сборке и установке нового ядра
- -j2 KERNCONF=SERVER64 Так как хороший одмин должен быть ленивым, я создаю в корне скриптик
/upgrade && /upgrade
fsck -p -u / -a /usr/src
adjkerntz -i
mergemaster -p installworld &&\ delete-old &&\
mergemaster -iЦепляем ip-kvm, ну или топаем туда где стоит сервер (нужна консоль), и перезагружаем его в однопользовательский режим.
nextboot -o "-s" -k && rebootЗагружается система, на приглашение к выбору шела нажимаем Enter и после того как появиться консоль вводим
mergemaster поспрашивает вас о конфигах, make delete-old поспрашивает о удалении старых файлов, после того как все вопросы будут отвечены и система установленна шел закроется и продолжиться нормальная загрузка уже новой системы.
2. Устанавливаем софт
Собственно ставим сам nginx, на запросы отвечаем так:
/usr/ports/www/nginx/ ; -
[ ] DEBUG nginx debugging
[ ] GOOGLE_PERFTOOLS google perftools module
[X] HTTP_MODULE HTTP module
[X] HTTP_ADDITION_MODULE http_addition module
[X] HTTP_DAV_MODULE http_webdav module
[X] HTTP_FLV_MODULE http_flv module
[X] HTTP_PERL_MODULE http_perl module
[X] HTTP_REALIP_MODULE http_realip module
[X] HTTP_REWRITE_MODULE http_rewrite module
[X] HTTP_SSL_MODULE http_ssl module
[X] HTTP_STATUS_MODULE http_stub_status module
[X] HTTP_SUB_MODULE http_sub module
[ ] MAIL_MODULE IMAP4/POP3/SMTP proxy module
[ ] MAIL_IMAP_MODULE IMAP4 proxy module
[ ] MAIL_POP3_MODULE POP3 proxy module
[ ] MAIL_SMTP_MODULE proxy module
[ ] MAIL_SSL_MODULE mail_ssl module
[X] WWW html sample filesДальше ставим мускул и пхп:
/usr/ports/databases/mysql51-server/ ; - &&\ /usr/ports/lang/php5/ ; -
[X] CLI Build CLI version
[X] CGI Build CGI version
[ ] APACHE Build Apache module
[ ] DEBUG debug
[X] SUHOSIN Suhosin protection system ( jails)
[X] MULTIBYTE zend multibyte support
[ ] support
[X] MAILHEAD header patch
[X] force-cgi-redirect support (CGI only)
[X] DISCARD discard-path support (CGI only)
[X] FASTCGI fastcgi support (CGI only)
[X] PATHINFO path-info-check support (CGI only)Cтавим сопутствующщий софт:
/usr/ports/lang/php5-extensions/ ; - Выбираем себе нужные модули для пыха.
И не забываем про ZendOptimizer (довольно часто попадаются зазенденные скрипты, поэтому всегда втыкаю его докучи, авось пригодится)
/usr/ports/devel/ZendOptimizer/ ; - /usr/ports/databases/phpmyadmin/ ; - Ставим wget из /usr/ports/ftp/wget (это типа консольная качалка такая)
скачиваем порт php-fpm под фрю (я же говорил уже что хороший одмин он ленивый, и с патчами в исходниках ковырятся ему должно быть лень если все и так хорошо работает), распаковываем его в /usr/ports/lang/php5-fpm идем туда и сетапим его:
/usr/ports/ftp/wget ; - &&\ /usr/ports/lang &&\
wget http://php-fpm.anight.org/downloads/freebsd-port/php5-fpm-...tar.gz &&\ xfz php5-fpm-...tar.gz &&\ php5-fpm &&\ --
[X] CLI Build CLI version
[ ] DEBUG debug
[X] SUHOSIN Suhosin protection system ( jails)
[X] MULTIBYTE zend multibyte support
[ ] support
[X] MAILHEAD header patch
[X] PATHINFO path-info-check support (CGI only)Ну вот как бы и усе как бы для голого веб сервера все уже готово, переходим к настройке.
3. Конфигурируем
Мой конфиг nginx:
less /usr/local/etc/nginx/nginx.conf# рекомендуют делать по количеству ядер# но время отклика реально уменьшяется если запутить побольше воркеров,# т.к. у меня памяти много сделал сразу 100worker_processes ;# приоретет воркеров, сделал повыше # чтобы из за медленных скриптов и корявых# мускульных запросов статика отдавалась без лаговworker_priority -;
worker_rlimit_nofile ;
events { worker_connections ; use kqueue;
}
http { include mime.types; default_type application/octet-stream; log_format main ' - [] ' '"" "" ' '"" ""'; server_names_hash_bucket_size ; sendfile on; tcp_nopush on; keepalive_timeout ; send_timeout 30s; reset_timedout_connection on; resolver ...; resolver_timeout 10s; open_file_cache max= inactive=40s; open_file_cache_valid 60s; open_file_cache_min_uses ; open_file_cache_errors on; server { listen ; server_name www.ru; charset koi8-r; location / { root /usr/local/www/nginx; index index.html index.htm; } } server { # фильтр позволяет отфильтровывать # все не хттп соеденения до их установки на уровне ядра # (собираются все пакеты анализируется GET загаловок, # если его нет соеденение отбрасывается, если есть то соедененине # появляется в системе и нгинксе, оч полезно от примитивного доса). listen accept_filter=httpready; server_name www.mysite.ru mysite.ru charset windows-; access_log /home/igrosoft/access_log main; error_log /home/igrosoft/error_log error; location / { root /home/site; index index.html index.htm index.; } location /mrtg/ { # это mrtg /usr/local/www/mrtg/; index index.html index.htm; auth_basic Admin; auth_basic_user_file /usr/local/www/mrtg/.htpasswd; } # надо создать линк из основной директории коммандой location /.,ak,234sfyf34.:,.s/ { /usr/local/www/phpMyAdmin/; index index.html index.htm index.; auth_basic Admin; auth_basic_user_file /usr/local/www/phpMyAdmin/.htpasswd; } # передаем обработку пхп скриптов на php-fpm location ~* \.php$ { fastcgi_pass unix:/tmp/php-fpm.sock; fastcgi_index index.; fastcgi_param SCRIPT_FILENAME /home/site; include fastcgi_params; } location ~ /\.ht { # закрываем доступ к файлам .htpasswd ; } error_page /50x.html; location = /50x.html { root /usr/local/www/nginx-dist; } # с этой странички мы будем брать статистику по нгинксу для мртг location /nginx_status { stub_status on; access_log off; ...; ; } server { listen ; server_name ; ssl on; # задаем настройки для ssl ssl_certificate cert.pem; ssl_certificate_key cert.key; ssl_session_timeout 5m; ssl_protocols SSLv2 SSLv3 TLSv1; ssl_ciphers :!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP; ssl_prefer_server_ciphers on; server_name www.myserver.ru myserver.ru # а дальше все тоже самое описание location'ов # аналогичное тому что было указанно выше }
}Теперь поправим конфиг у fpm'a
/usr/local/etc/php-fpm.conf
я там изменил только следующщие строчки: <!-- меняем сокет, вместо tcp'шного делаем --> <!-- локальный чтобы лишний раз стек не напрягать -->
<value ="listen_address">/tmp/php-fpm.sock</value> <!-- устанавливаем количество процессов php-cgi --> <!-- отнестить к этому нужно внимательно т.к. --> <!-- именно столько максимум скриптов сможет выполняться одновременно-->
<value ="max_children"></value> <!-- Очень полезная для оптимизации скриптов и мускульных запросов фича --> <!-- записывает в лог все данные о скрипте который --> <!-- выполняется дольше указанного времени -->
<value ="request_slowlog_timeout">5s</value>
<value ="slowlog">/var/log/php-slow.log</value> <!-- сколько запросов выполнит один cgi процесс прежде чем его перезапустят -->
<value ="max_requests"></value>Пхп каждый конфигурит себе сам, но на основе длительного ковыряния с кучей серверов у меня получилось оптимальным вот это:
/usr/local/etc/php.ini
[PHP]
engine = On
zend.ze1_compatibility_mode = Off
short_open_tag = On
asp_tags = Off
precision = y2k_compliance = On
output_buffering = zlib.output_compression = Off
implicit_flush = Off
unserialize_callback_func=
serialize_precision = allow_call_time_pass_reference = Off
safe_mode = Off
safe_mode_gid = Off
safe_mode_include_dir =
safe_mode_exec_dir =
safe_mode_allowed_env_vars = PHP_
safe_mode_protected_env_vars = LD_LIBRARY_PATH
disable_functions =
disable_classes =
expose_php = On
max_execution_time = max_input_time = memory_limit = 128M ; увеличиваем лимит по памяти для "тяжелых" скриптов
error_reporting = E_ALL & ~E_NOTICE
display_errors = Off
display_startup_errors = Off
log_errors = On
log_errors_max_len = ignore_repeated_errors = On
ignore_repeated_source = On
report_memleaks = On
track_errors = On
variables_order = "EGPCS"
register_globals = On
register_long_arrays = Off
register_argc_argv = Off
auto_globals_jit = On
post_max_size = 32M
magic_quotes_gpc = Off
magic_quotes_runtime = Off
magic_quotes_sybase = Off
auto_prepend_file =
auto_append_file =
default_mimetype = "text/html"
doc_root =
user_dir =
enable_dl = On
file_uploads = On
upload_max_filesize = 800M
allow_url_fopen = On
allow_url_include = Off
default_socket_timeout = [Syslog]
define_syslog_variables = Off
[mail function] =
smtp_port = [SQL]
sql.safe_mode = Off
[ODBC]
odbc.allow_persistent = On
odbc.check_persistent = On
odbc.max_persistent = -odbc.max_links = -odbc.defaultlrl = odbc.defaultbinmode = [MySQL]
mysql.allow_persistent = On
mysql.max_persistent = -mysql.max_links = -mysql.default_port =
mysql.default_socket =
mysql.default_host =
mysql.default_user =
mysql.default_password =
mysql.connect_timeout = mysql.trace_mode = Off
[MySQLi]
mysqli.max_links = -mysqli.default_port = mysqli.default_socket =
mysqli.default_host =
mysqli.default_user =
mysqli.default_pw =
mysqli.reconnect = Off
[mSQL]
msql.allow_persistent = On
msql.max_persistent = -msql.max_links = -[PostgresSQL]
pgsql.allow_persistent = On
pgsql.auto_reset_persistent = Off
pgsql.max_persistent = -pgsql.max_links = -pgsql.ignore_notice = pgsql.log_notice = [Sybase]
sybase.allow_persistent = On
sybase.max_persistent = -sybase.max_links = -sybase.min_error_severity = sybase.min_message_severity = sybase.compatability_mode = Off
[Sybase-CT]
sybct.allow_persistent = On
sybct.max_persistent = -sybct.max_links = -sybct.min_server_severity = sybct.min_client_severity = [bcmath]
bcmath.scale = [Informix]
ifx.default_host =
ifx.default_user =
ifx.default_password =
ifx.allow_persistent = On
ifx.max_persistent = -ifx.max_links = -ifx.textasvarchar = ifx.byteasvarchar = ifx.charasvarchar = ifx.blobinfile = ifx.nullformat = [Session]
session.save_handler = files
session.use_cookies = session. = PHPSESSID
session.auto_start = session.cookie_lifetime = session.cookie_path = /
session.cookie_domain =
session.cookie_httponly =
session.serialize_handler =
session.gc_probability = session.gc_divisor = session.gc_maxlifetime = session.bug_compat_42 = session.bug_compat_warn = session.referer_check =
session.entropy_length = session.entropy_file =
session.cache_limiter = nocache
session.cache_expire = session.use_trans_sid = session.hash_function = session.hash_bits_per_character = url_rewriter.tags = "a=href,area=href,frame=src,input=src,form=fakeentry"
[Tidy]
tidy.clean_output = Off
[soap]
soap.wsdl_cache_enabled=soap.wsdl_cache_dir="/tmp"
soap.wsdl_cache_ttl=[Zend]
zend_optimizer.optimization_level= ; потому что на архетитуре amd64 ; при дефолтном значении кладет пых в корку
zend_extension_manager.optimizer="/usr/local/lib/php//Optimizer"
zend_extension_manager.optimizer_ts="/usr/local/lib/php//Optimizer_TS"
zend_extension="/usr/local/lib/php//ZendExtensionManager.so"
zend_extension_ts="/usr/local/lib/php//ZendExtensionManager_TS.so"Тепер переходим к тюнингу tcp стека:
/etc/sysctl.conf
net.inet.tcp.blackhole= # включаем черные дыры для tcpnet.inet.udp.blackhole= # и udpkern.ipc.nmbclusters= # увеличиваем лимитыkern.ipc.somaxconn=
kern.ipc.maxsockets=kern.maxfiles=kern.maxfilesperproc=net.inet.ip.portrange.first=net.inet.ip.portrange.last=net.inet.ip.portrange.randomized=net.inet.tcp.maxtcptw=# самый на мой взгляд важный параметр, субьективно:# при уменьшении уменьшается количество вейтов, сервер лудьше держит нагрузку# при увеличении реже рветься связь на плохих каналах, нагрузка возрастаетnet.inet.tcp.msl=net.inet.tcp.finwait2_timeout=net.inet.tcp.syncookies=net.inet.tcp.sack.=net.inet.tcp.nolocaltimewait=net.inet.tcp.fast_finwait2_recycle=net.inet.icmp.drop_redirect=net.inet.icmp.log_redirect=net.inet.ip.=kern.polling.=kern.polling.burst_max=kern.polling.each_burst=net.inet.icmp.icmplim= /boot/loader.conf
net.inet.tcp.syncache.hashsize=net.inet.tcp.syncache.bucketlimit=net.inet.tcp.tcbhashsize=По оптимизации стека и настройку sysctl можно почитать следующщее:
http://www.opennet.ru/base/net/tune_freebsd.txt.html
http://www.lissyara.su/?id=1147
По настроке nginx:
http://sysoev.ru/nginx/docs/
http://www.lexa.ru/nginx-ru/
Ну и напоследок гугл еще никто не отменял ;-)
Уф, великовата уже статейка получилась, пора бы и закруглятся, ждите продолжений.
Ссылка на обсуждение: http://forum.lissyara.su/viewforum.php?f=3.



2014-07-27, lissyara
gmirror
Удалённое создание софтверного зеркала средствами gmirror, на диске разбитом с использованием gpart. Использование меток дисков для монтирования разделов.
2013-08-20, zentarim
Scan+Print server FreeBSD 9
Настройка сервера печати и сервера сканирования под управлением операционной системы FreebSD 9 для МФУ Canon PIXMA MP540
2011-11-20, BlackCat
Разъём на WiFi-карту
Делаем съёмной несъёмную антену на WiFi-карте путём установки ВЧ-разъёма
2011-09-14, manefesto
Настройка git+gitosis
Настройка системы контроля версия исходного кода в связке git+gitosis+ssh
2011-08-14, zentarim
Wi-FI роутер + DHCP + DNS
Настройка Wi-Fi роутера на Freebsd 8 + DNS сервер + DHCP сервер: чтобы Wi-Fi клиенты были в одной подсети с проводными, проводные и беспроводные клиенты получали адреса автоматически по DHCP, кэширующ
2011-06-15, -ZG-
Охранная система на FreeBSD+LPT
В этой статье описана попытка реализации простой охранной системы на базе FreeBSD с подключением к ней охранных устройтсв на LPT порт и видеорегистрацией.
2011-03-13, terminus
ng_nat
Описание работы ng_nat, практическое использование, достоинства и недостатки в сравнении с ipfw nat
2011-02-20, Капитан
Nagios+Digitemp
Статья описывает создание системы оповещения о превышении температуры в специальных помещениях на основе Nagios с использованием программы Digitemp.
2011-02-17, Le1
Zyxel Configuration
Скрипт для массового изменения конфига свичей Zyxel. Берет из файла iplist список ip-шек, заходит последовательно на каждый и выполняет комманды из файла commands, записывая происходящее в лог файл.
2011-02-16, fox
hast carp zfs ucarp cluster
HAST (Highly Available Storage), CARP, UCARP, ZFS, Cluster настройка и одаптация плюс личные размышления…
2011-02-04, BlackCat
Восстановление ZFS
История о том, как был восстановлен развалившийся RAIDZ ZFS-пул (перешедший в FAULTED) с помощью скотча и подручных средств. Или о том, какие приключения ожидают тех, кто не делает резервных копий.
2011-02-03, Капитан
1-Wire
Статья описывает самостоятельное изготовление контроллера DS9097 для съёма показаний с датчиков температуры DS1820 с помощью программы Digitemp.
2011-01-28, Капитан
Температура в серверной
Статья описывает построение системы наблюдения за температурой в помещении серверной с использованием программы Digitemp и выводом графиков в MRTG
2011-01-21, m4rkell
Syslog server
Как то буквально на днях, у нас завалилось, что то в еве) или не в еве не суть. Суть в том, что когда захотели снять логи с хостов esx обнаружили, что хранят эти негодяи логии только за последнии сутк
2011-01-07, lissyara
Canon/gphotofs
Монтирование цифровых фотоаппаратов Canon (PTP) как файловой системы, автоматизация этого процесса через события devd и внешние скрипты.
2010-12-13, Al
IPSec
Описание принципов работы IPSEC и способов аутентификации.
2010-12-07, manefesto
FreeBSD on flash
Было принято решении переехать на USB Flash и установить минимальный джентельменский набор для работы своего роутера. Делаем =)
2010-12-05, Fomalhaut
root ZFS, GPT
Инструкция по установке FreeBSD с использованием в качестве таблицы разделов GPT и в качестве основной файловой системы - ZFS
2010-09-05, Cancer
Настройка аудиоплеера на ximp3
Цели: Простенький аудиоплеер, для того что бы тетя продавец в магазине утром пришла нажала на кнопку Power и заиграла в зале музыка, так же был доступ по сети, общая шара куда можно заливать музыку, к
2010-08-31, Cancer
Установка и настройка OpenVPN
На днях появилась задача - объединить головной офис и 3 филиала в одну сеть через интернет посредством OpenVPN, чтобы люди могли подключаться через RDP к базам 1С на серверах.
2010-08-25, manefesto
freebsd lvm
Использование linux_lvm для работы с LVM разделами из-под FreeBSD. Проблемы которые возники при монтирование lvm раздела
2010-04-30, gonzo111
proftpd file auth"a
Proftpd - квоты и авторизация из файлов, без использования базы данных и/или системных пользователей
2010-04-22, lissyara
tw_cli
Пошаговая инструкция по восстановлению RAID на контроллере 3ware, из которого выпал один диск. Настройка мониторинга состояния рейда и отчётов о его состоянии на email.
2010-04-14, fox
MySQL Master+Master
MySQL (Master Master) and (Master Slave) Как настроить репликацию…
2010-03-09, terminus
DNS zones
Краткий ликбез про управление DNS зонами. Примеры проведения делегирования прямых и обратных DNS зон.
2010-03-09, aspera
Squid+AD (group access)
Настройка прокси сервера SQUID с автроризацией пользователей в AD. Разделение пользователей на группы
2010-03-02, BlackCat
Шлюз: Часть 4
Настройка дополнительных сервисов: синхронизация времени (OpenNTPD), клиент DynDNS.org.
2010-03-01, BlackCat
Шлюз: Часть 3
Настройка DHCP и DNS серверов для работы внутри частной сети, c поддержкой внутренних (частных зон) DNS, а так же интеграция DHCP и DNS сервисов.
2010-03-01, BlackCat
Шлюз: Часть 2
Конфигурация МСЭ pf для проброса портов с изменением порта назначения и без, а так же поддержки активного режима FTP и ограничения максимального размера сегмента
2010-03-01, BlackCat
Шлюз: Часть 1
Быстрая настройка шлюза/маршрутизатора с установлением PPPoE-соединения, поддержкой NAT и DNS-forwarding.
2010-02-23, Morty
darkstat
Простая считалка траффика, со встроенным веб-сервером. Очень маленькая, может делать отчеты трафика по хостам, портам, протоколам, а также строить графики
2010-01-23, gonzo111
squid+sams+sqstat
Пилим squid и sams - примеры конфигов с объяснениями. Установка SqStat.
2009-12-19, schizoid
mpd5 + radius + ng_car + Abills
Настройка pppoe-сервера с биллинговой системой Abills и шейпером ng_car
2009-11-16, lissyara
UFS->ZFS
Удалённая миграция с UFS на ZFS. Загрузка с раздела zfs. Настройка для работы с малым количеством памяти под архитектурой i386.
2009-11-13, gx_ua
fusefs-ntfs
Установка, настройка и использование fusefs-ntfs, драйвер NTFS, предназанченного для монтирования NTFS разделов под FreeBSD
2009-11-12, Morty
LiveCD
Создание собственного LiveCD с необходимыми вам изменениями, автоматизирование данного процесса, а так же вариант скоростной сборки СД.
2009-09-27, lissyara
Samba как PDC
Контроллер домена - аналог M$ NT4 домена под самбой, без использования LDAP и прочей хиромантии. Просто и быстро =)
2009-08-30, terminus
ipfw nat
Подробное руководство по ipfw nat, сложные случаи конфигурации.
2009-08-24, levantuev
HotSpot
Установка Hotspot системы в общественное заведение.
2009-08-18, lissyara
diskless
Создание бездисковых терминалов под управлением FreeBSD - с загрузкой по сети. Используются для старта rdesktop и подключения к виндовому серверу терминалов.
2009-07-29, BAV_Lug
Видеонаблюдение
Настройка бюджетного варианта видеонаблюдения на удаленном объекте
2009-07-22, Cancer
OpenLDAP адресная книга
Настройка и создание адресной книги на базе OpenLDAP + phpLDAPadmin
2009-06-30, SergeySL
AimSniff
Руководство по созданию системы мониторинга ICQ-переписки на базе AimSniff, использующей базу данных MySQL для хранения и Web-интерфейс WAS (Web Aim Sniff) для просмотра перехваченных сообщений
2009-06-25, atrium
Управление правами доступа
Полномочия пользователей и файлов, принадлежащих им, формирует концепцию ОС UNIX.
2009-06-16, DNK
Exim+PgSQL
Установка почтовой системы exim+pgsql на FreeBSD 7.1
2009-05-30, mvalery
HDD(mbr) -> HDD(gpt)
Как разбить диск размером более 2TB на разделы, сделать загрузочным, а затем перенести на него информацию с рабочей системы — донора.
2009-05-22, Cancer
SendXMPP
Отправка сообщений на Джаббер сервер по средствам SendXMPP
2009-05-11, Raven2000
Network UPS Tools
Network UPS Tools представляет собой набор программ, которые обеспечивают общий
интерфейс для мониторинга и администрирование UPS оборудования.
2009-04-29, m0ps
IPSEC over GRE with RIP
Пример IPSEC over GRE и динамическим роутингом (RIP), с ADSL в качестве последней мили на оборудовании Cisco.
2009-04-24, WhiteBear777
qemu network
Появилась необходимость поставить на БСД эмулятор(qemu) и настроить в качестве гостевой ОС Windows XP, предоставив ей выход в локалку и в сеть internet...
2009-04-22, vp
freebsd + huawei 162 gsm modem
В статье описывается простой способ подключения модема huawei 162 к freebsd + первичная настройка smstools
2009-04-12, mvalery
Мониторинг RAID
Мониторинг из командной строки RAID компаний AMCC 3ware, HighPoint, Dell (Perc 5/i и PERC 6/i) и LSI (MegaRAID SAS 8408E и SAS1078)
2009-04-09, texnotronic
RAID1 via LAN
Функциональности DRBD во FreeBSD можно добиться примонтировав блочное устройство по сети при помощи GEOM Gate (ggate) и добавив его в зеркало с локальным диском средствами gmirror.
2009-04-03, Raven2000
Оптимизация хоста для CMS
В последнее время на старый и не очень быстрый ПК (Celeron 800 RAM 256) мною было навешано с десяток сайтов и некоторые были из серии тяжелых CMS. И так нам дано FreeBSD 7.1 и ~10 сайтов/CMS.
2009-04-01, atrium
VSFTPD + AD && MySQL
Настройка самого безопасного сервера FTP - vsftpd.
2009-03-31, Dron
Peoplenet + C-motech (3G)
Описание подключения к сети Peoplenet посредством 3G модема С-motech CCu-650U на FreeBSD
2009-03-25, lissyara
mod_auth_external
mod_auth_external - авторизация пользователей в apache c помощью внешней программы - например, системных пользователей.
2009-03-24, gx_ua
Lightsquid
Частично lightsquid может заменить sams: быстрая и простая инсталляция, быстрый парсер, cgi скрипт для динамической генерации отчета, нет привязки к БД, различные графические отчеты, мультиязычный инт
2009-03-18, LHC
Установка Zabbix-1.6
Установка и первоначальная настройка системы мониторинга Zabbix (версия 1.6)
Установка phpmyadmin из исходников для связки apache + nginx
MySQL, PHP, Apache
вам эта , :
# wget http://sourceforge.net/projects/phpmyadmin/files/phpMyAdmin/4.1.6/phpMyAdmin-4.1.6-all-languages.zip # tar zxvf phpMyAdmin-4.1.6-all-languages.zip # mv phpMyAdmin-4.1.6-all-languages /home/captain/www/phpmyadmin
# mysql -u root -p //Не уверен что нужно создавать БД, если что пропустите этот шаг. Так как дамп mysql должен сам создать ее! mysql> CREATE DATABASE phpmyadmin; # cd /home/captain/www/phpmyadmin/examples # mysql -u root -p < create_tables.sql
# mysql -u root -p mysql> use phpmyadmin; mysql> GRANT ALL ON phpmyadmin.* TO phpmyadmin@192.168.244.133 IDENTIFIED BY 'your_password'; mysql> flush privileges;
# cd /home/captain/www/phpmyadmin/ # cp config.sample.inc.php config.inc.php # chown nobody config.inc.php # chmod 644 config.inc.php
<?php // у меня он выглядит вот так!!! /* Servers configuration */ //Установка phpmyadmin из исходников для связки apache + nginx $i = 0; /* Server: 192.168.244.133 [1] */ $i++; $cfg['Servers'][$i]['verbose'] = '192.168.244.133'; $cfg['Servers'][$i]['host'] = 'localhost'; $cfg['Servers'][$i]['port'] = 3306; $cfg['Servers'][$i]['socket'] = ''; $cfg['Servers'][$i]['connect_type'] = 'tcp'; $cfg['Servers'][$i]['extension'] = 'mysql'; $cfg['Servers'][$i]['auth_type'] = 'cookie'; $cfg['Servers'][$i]['user'] = 'root'; // Пользователь, у меня это рут. $cfg['Servers'][$i]['password'] = 'root'; //У меня пароль рут, /* End of servers configuration */ $cfg['blowfish_secret'] = 'blablabla'; // Любая фраза, для шифрования $cfg['DefaultLang'] = 'ru-utf-8'; // Кодировка $cfg['ServerDefault'] = 1; $cfg['UploadDir'] = '%u'; $cfg['SaveDir'] = '%u'; /* База данных и таблицы для работы phpMyAdmin */ $cfg['Servers'][$i]['pmadb'] = 'phpmyadmin'; // Название БД $cfg['Servers'][$i]['relation'] = 'pma_relation'; $cfg['Servers'][$i]['table_info'] = 'pma_table_info'; $cfg['Servers'][$i]['table_coords'] = 'pma_table_coords'; $cfg['Servers'][$i]['pdf_pages'] = 'pma_pdf_pages'; $cfg['Servers'][$i]['column_info'] = 'pma_column_info'; $cfg['Servers'][$i]['bookmarktable'] = 'pma_bookmark'; $cfg['Servers'][$i]['history'] = 'pma_history'; $cfg['Servers'][$i]['designer_coords'] = 'pma_designer_coords'; $cfg['Servers'][$i]['tracking'] = 'pma_tracking'; $cfg['Servers'][$i]['userconfig'] = 'pma_userconfig'; ?>
Сейчас нужно отредактировать (добавить) httpd.conf:
# ee /usr/local/apache2/conf/httpd.conf
приводим к виду:
[...] <Directory "/home/captain/www/phpmyadmin/»> Options none AllowOverride Limit Order Allow,Deny Allow from all </Directory> [...]
# /usr/local/apache2/bin/apachectl restart
Если вы используете не apache а nginx, то нужно поправить конфигурационный файл самого энжинкса:
# ee /etc/nginx/nginx.conf
приводим к виду:
---
#
# phpMyAdmin
#
server{
listen 80;
server_name phpmyadmin;
access_log /var/log/phpmyadmin.access_log;
error_log /var/log/phpmyadmin.error_log;
location ^~ /phpmyadmin/ {
alias /home/captain/www/phpmyadmin/;
index index.php;
}
}и его, :
root 3036 0.0 0.3 10332 2704 ?? Is 1: 0:00.00 : master p
# kill 3036 # /usr/local/nginx/sbin/nginx
, :
# /usr/local/nginx/sbin/nginx -s reload
Это если вы используете скрипт, то все навсего выполните следующее:
# /usr/local/etc/rc.d/nginx.sh restart
Установка phpmyadmin из портов freebsd
Для нам , , MySQL .
и его:
# cd /usr/ports/databases/phpmyadmin # make install clean
() httpd.conf:
# ee /usr/local/apache2/conf/httpd.conf
[...] #Нужно добавить для пхпмайадмина алиас, для того чтобы можно было заходить через браузер. #Установка phpmyadmin из портов freebsd Alias /phpmyadmin/ «/usr/local/www/phpMyAdmin/» <Directory «/usr/local/www/phpMyAdmin/»> Options none AllowOverride Limit Order Allow,Deny Allow from all </Directory> [...]
Если вы используете virtualhosts, то нужно прописать в нем следующее:
<VirtualHost *:80> ... <Directory "/home/captain/www/server"> Order allow,deny Allow from all </Directory> ... <Directory "/usr/local/www/server/phpMyAdmin"> Options none AllowOverride Limit Order allow,deny Allow from all </Directory> ... </VirtualHost>
У меня выглядит так:
# cd /usr/local/www/phpMyAdmin # mkdir config # chmod o+rw config # cp config.inc.php config/ # chmod o+w config/config.inc.php # chown -R www:www config/
Configure phpMyAdmin for Nginx¶
vi /usr/local/etc/nginx.conf
- And add the following server block:
server { listen 81; server_name localhost; location / { root /usr/local/www/phpMyAdmin; index index.php index.html index.htm; } location ~ \.php$ { root /usr/local/www/phpMyAdmin; fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; } location ~ /\.ht { deny all; } }
Install phpMyAdmin¶
cd /usr/ports/databases/phpmyadmin make install clean
Install nginx¶
- Install nginx:
pkg install nginx

