Настройка web сервера на Freebsd 10

В первой и второй частях мы рассмотрели установку и настройку операционной системы Freebsd 10.1 для  разворачивания на ней блога wordpress. Теперь предстоит установить и настроить программное обеспечение, необходимое для нашего web сервера.

Онлайн-курс по устройству компьютерных сетей

На углубленном курсе "Архитектура современных компьютерных сетей" вы с нуля научитесь работать с Wireshark и «под микроскопом» изучите работу сетевых протоколов. На протяжении курса надо будет выполнить более пятидесяти лабораторных работ в Wireshark.

Я буду рассматривать самый простой и быстрый вариант настроек, с небольшим отклонением от дефолтных для нашего удобства. По каждому пункту могут возникать вопросы и нюансы, я не буду касаться всего этого в этой статье.

Устанавливаем ftp сервер vsftpd

Начнем нашу настройку с установки ftp сервера vsftpd. Для авторизации мы будем использовать системные учетные записи, анонимный доступ отключим.

Первым делом обновим порты:

# portsnap fetch update

После обновления, ставим сервер:

# cd /usr/ports/ftp/vsftpd
# make install clean

Компоненты оставляем по-умолчанию. Добавляем загрузку vsftpd в /etc/rc.conf:

# echo 'vsftpd_enable="YES"' >> /etc/rc.conf

Редактируем конфиг /usr/local/etc/vsftpd.conf, приводим его к следующему виду:

anonymous_enable=NO
 local_enable=YES
 write_enable=YES
 local_umask=022
 dirmessage_enable=YES
 xferlog_enable=YES
 connect_from_port_20=YES
 xferlog_file=/var/log/vsftpd.log
 listen=YES
 background=YES
 secure_chroot_dir=/usr/local/share/vsftpd/empty

Запускаем сервер:

# /usr/local/etc/rc.d/vsftpd start

Проверяем, запустился ли демон:

# sockstat | grep 21

В ответ должны увидеть что-то похожее:

root     vsftpd     4793  3  tcp4   *:21                  *:*

Это означает, что сервер запустился и слушает входящие соединения на 21 порт.  С текущими настройками можно залогиниться учетной записью root и перемещаться по всему серверу. Это очень небезопасно, призываю внимательно относиться к этим возможностям. Рекомендую подробнее ознакомиться с настройками сервера, обратить внимание на директивы userlist_enable, userlist_file, chroot_local_uses, chroot_list_enable, chroot_list_file. С помощью них можно ограничивать доступ к серверу и перемещение пользователей по папкам. Вообще, у vsftpd много настроек и возможностей, в интернете достаточно статей на подобную тему. Можно без проблем хранить базу пользователей сервера в mysql. В завершение порекомендую ограничить доступ к ftp через firewall.

Установка и настройка Mysql

Дальше устанавливаем сервер баз данных mysql:

# cd /usr/ports/databases/mysql55-server
# make install clean

Настройки оставляем дефолтные.

Сервер тянет за собой достаточно большое количество зависимостей. Установка постоянно тормозится и выскакивает окно с настройками очередной зависимости. Чтобы не отвлекаться на это и не тормозить процесс, я рекомендую перед командой make install clean ввести команду:

# make config-recursive

Она проверит все зависимости и выведет сразу настройки этих зависимостей. Потом в процессе сборки пакета уже не будет прерываний.

После завершения установки добавляем запуск сервера в rc.conf:

# echo 'mysql_enable="YES"' >> /etc/rc.conf
# echo 'mysql_dbdir="/web/mysql"' >> /etc/rc.conf

Создаем необходимые папки и выставляем права:

# mkdir /web && cd /web && mkdir mysql && chown mysql:mysql mysql/

Создаем файл конфигурации:

# touch /web/mysql/my.cnf
 # chown mysql:mysql /web/mysql/my.cnf

Записываем следующее содержание в файл настроек:

[client]
port = 3306
socket = /tmp/mysql.sock

[mysqld]
port = 3306
bind-address =127.0.0.1
socket = /tmp/mysql.sock
skip-external-locking
key_buffer_size = 256M
max_allowed_packet = 1M
table_open_cache = 256
sort_buffer_size = 1M
read_buffer_size = 1M
read_rnd_buffer_size = 4M
myisam_sort_buffer_size = 64M
thread_cache_size = 8
query_cache_size= 16M
thread_concurrency = 8
#log=/var/log/mysql.log # Лог всех SQL-запросов
#log-bin=/var/log/mysql-bin.log # Бинарный лог всех SQL-запросов
log-error=/var/log/mysql-err.log # Лог ошибок в работе демона СУБД MySQL
#log-slow-queries=/var/log/mysql.slow # Лог всех медленных SQL-запросов
#log-bin=mysql-bin
#log=/var/log/mysql.log
#binlog_format=mixed
server-id = 1

[mysqldump]
quick
max_allowed_packet = 16M

[mysql]
no-auto-rehash

[myisamchk]
key_buffer_size = 128M
sort_buffer_size = 128M
read_buffer = 2M
write_buffer = 2M

[mysqlhotcopy]
interactive-timeout

Закомментированные строки включаем на свое усмотрение в процессе отладки. Если будет включен лог всех SQL запросов, то нужно не забыть настроить ротацию логов, файл будет расти очень быстро, можно забыть и пропустить момент, когда файл займет все свободное место.

Лог файлы нужно обязательно создать самим и выставить на них права пользователя mysql. Если этого не сделать, то сервер не будет стартовать, и что самое неприятное, не будет никаких сообщений в лог файлах. Они будут созданы с правами root:wheel и сервер ничего туда не сможет записать. Так что создаем файлы сами:

# touch /var/log/mysql-err.log
 # chown mysql:mysql /var/log/mysql-err.log

И стартуем сервер:

# /usr/local/etc/rc.d/mysql-server start

Проверяем, все ли запустилось как следует:

# ps axw | grep mysql

Если все в порядке, то вы увидите что-то похожее на это:

52490 - Is 0:00.02 /bin/sh /usr/local/bin/mysqld_safe --defaults-extra-file=/web/mysql/my.cnf --user=mysql --datadir=/web/mysql --pid-file=/web/mysql/websrv.local.pid
 52784 - I 0:00.17 /usr/local/libexec/mysqld --defaults-extra-file=/web/mysql/my.cnf --basedir=/usr/local --datadir=/web/mysql --plugin-dir=/usr/local/lib/mysql/plugin --user=mysql --log-err
 52802 1 S+ 0:00.00 grep mysql

Дальше воспользуемся стандартным скриптом для безопасной настройки mysql:

# /usr/local/bin/mysql_secure_installation

Задаем пароль root пользователя mysql. Обращаю внимание, что это не системный root. В mysql свои пользователи. На остальные вопросы отвечаем положительно, в принципе, там все понятно описано, ничего сложного нет. Удаляется тестовая база, тестовый пользователь, запрещается удаленный доступ к серверу.

На этом настройка mysql окончена. Идем дальше.

Устанавливаем и настраиваем apache24

Устанавливаем непосредственно web сервер apache:

# cd /usr/ports/www/apache24
 # make config-recursive

Оставляем все настройки по-умолчанию. Запускаем установку:

# make install clean

Добавляем apache в атозагрузку:

# echo 'apache24_enable="YES"' >> /etc/rc.conf

Теперь создадим 2 виртуальных хоста. На первом будет располагаться phpmyadmin, на втором наш сайт, в данном случае wordpress. Не забываем настроить в DNS эти хосты. Раскомментируем строчку в конфиге /usr/local/etc/apache24/httpd.conf

Include etc/apache24/extra/httpd-vhosts.conf

Дальше идем в папку /usr/local/etc/apache24/extra/ и редактируем файл httpd-vhosts.conf до следующего вида:

<VirtualHost 127.0.0.1:80>

ServerAdmin root@websrv.local
DocumentRoot "/web/sites/websrv.local/www"
ServerName websrv.local
ServerAlias www.websrv.local
ErrorLog "/web/sites/websrv.local/log/error.log"
CustomLog "/web/sites/websrv.local/log/access.log" common
php_admin_value open_basedir "/web/sites/websrv.local:."
php_admin_value upload_tmp_dir "/web/sites/websrv.local/tmp"
php_admin_value session.save_path "/web/sites/websrv.local/tmp"

<Directory /web/sites/websrv.local/www/>
AllowOverride All
RewriteEngine On
Require all granted
DirectoryIndex index.php index.html index.htm

Order allow,deny
Allow from All
</Directory>

</VirtualHost>

<VirtualHost 127.0.0.1:80>

ServerAdmin root@websrv.local
DocumentRoot "/web/sites/pma53.websrv.local/www"
ServerName pma53.websrv.local
ServerAlias www.pma53.websrv.local
ErrorLog "/web/sites/pma53.websrv.local/log/error.log"
CustomLog "/web/sites/pma53.websrv.local/log/access.log" common
php_admin_value open_basedir "/web/sites/pma53.websrv.local:."
php_admin_value upload_tmp_dir "/web/sites/pma53.websrv.local/tmp"
php_admin_value session.save_path "/web/sites/pma53.websrv.local/tmp"

<Directory /web/sites/pma53.websrv.local/www/>
AllowOverride All
Require all granted
DirectoryIndex index.php index.html index.htm

Order allow,deny
Allow from All
</Directory>

</VirtualHost>

Я использую тестовый домен websrv.local В общем случае тут должен быть непосредственно домен вашего сайта, что-то вроде myblog.ru. Для phpmyadmin я использую поддомен с произвольным непопулярным именем, чтобы туда не заходил тот, кому не следует.

Обращаю внимание на параметр Require all granted. На предыдущих серверах я его не указывал. В этот же раз при обращении к виртуальному домену в логах получал ошибку:

AH01630: client denied by server configuration

Скорее всего это особенность apache24, до этого я пользовался более ранними версиями.

Сайты я размещаю в каталоге /web/sites. Для каждого домена отдельная папка. Для улучшения безопасности можно настроить отдельных пользователей для каждого поддомена, сделать пользователя ftp, доступ к логам и так далее. В этой статье я не буду касаться этого вопроса. У нас будет один сайт и один пользователь. Создаем необходимые папки:

# mkdir /web/sites
# mkdir /web/sites/websrv.local && mkdir /web/sites/pma53.websrv.local
# cd /web/sites/websrv.local && mkdir log tmp www
# cd /web/sites/pma53.websrv.local && mkdir log tmp www
# chown -R www:www /web/sites

На этом пока настройку apache закончим, мы к ней вернемся позже, когда установим остальные компоненты. Запускать его не будем, он все равно не запустится, выдаст ошибку.

Устанавливаем php и phpextensions

Дальше устанавливаем php, настройки оставляем настройки по-умолчанию:

# cd /usr/ports/lang/php5
 # make config-recursive
 # make install clean

После установки создаем файл конфигурации:

# cp /usr/local/etc/php.ini-production /usr/local/etc/php.ini

Устанавливаем расширения:

# cd /usr/ports/lang/php5-extensions
# make config-recursive

Помимо настроек по-умолчанию, обязательно добавляем CURL, DOM, POSIX, FTP, GD, HASH, ICONV, XML, JSON, MBSTRING, MYSQL, MYSQLI, OPENSSL, SOCKETS, TOKENIZER, XMLREADER, ZLIB, EXIF, GETTEXT,

# make install clean

Теперь поставим модуль php для apache. Он теперь стал почему-то отдельным портом. Я не сразу первый раз сообразил, куда делся модуль, который всегда ставился вместе с портом php. В общем, ставим отдельно:

# cd /usr/ports/www/mod_php5
 # make install clean

Для того, чтобы apache правильно обрабатывал php файлы, необходимо в конфиг httpd.conf добавить следующие строки:

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

Теперь можно запустить apache и проверить, все ли у нас в порядке. Сначала проверим, нет ли у нас ошибок в конфигурации:

# apachectl -t
AH00526: Syntax error on line 15 of /usr/local/etc/apache24/extra/httpd-vhosts.conf:
Invalid command 'RewriteEngine', perhaps misspelled or defined by a module not included in the server configuration

У нас ошибка, модуль mod_rewrite не подключен. Чтобы это исправить, раскомментируем в конфиге апача строку

LoadModule rewrite_module libexec/apache24/mod_rewrite.so

Проверяем снова:

# apachectl -t
AH00557: httpd: apr_sockaddr_info_get() failed for websrv.local
AH00558: httpd: Could not reliably determine the server's fully qualified domain name, using 127.0.0.1. Set the 'ServerName' directive globally to suppress this message
Syntax OK

Снова ошибка, но не критичная, можно работать и с ней, но мы все равно ее исправим. В фале httpd.conf находим строку со значением ServerName и приводим ее к виду:

ServerName websrv.local:80

Сохраняем файл, проверяем конфигурацию:

# apachectl -t
Syntax OK

Все в порядке, можно стартовать apache:

# /usr/local/etc/rc.d/apache24 start

Проверяем, все ли запустилось:

# ps ax | grep httpd
60555 - Ss 0:00.06 /usr/local/sbin/httpd -DNOHTTPACCEPT
60556 - I 0:00.00 /usr/local/sbin/httpd -DNOHTTPACCEPT
60557 - I 0:00.00 /usr/local/sbin/httpd -DNOHTTPACCEPT
60558 - I 0:00.00 /usr/local/sbin/httpd -DNOHTTPACCEPT
60559 - I 0:00.00 /usr/local/sbin/httpd -DNOHTTPACCEPT
60560 - I 0:00.00 /usr/local/sbin/httpd -DNOHTTPACCEPT

Если получаете что-то подобное, значит все в порядке. Сейчас можно в браузере набрать http://ip-сервера/ и увидеть страничку с одной единственной надписью:

It works!

Это означает, что веб сервер apache работает, все в порядке.

Настройка frontend сервера nginx

Теперь будем настраивать наш frontend - nginx. Он будет смотреть в интернет и принимать запросы от пользователей, чтобы потом их перенаправлять на apache. Идем в порты и устанавливаем nginx:

# cd /usr/ports/www/nginx-devel
 # make install clean

Выбираем опции:

[X] HTTP_MODULE Enable HTTP module
 [X] HTTP_ADDITION_MODULE Enable http_addition module
 [X] HTTP_DAV_MODULE Enable http_webdav module
 [X] HTTP_FLV_MODULE Enable http_flv module
 [X] HTTP_PERL_MODULE Enable http_perl module
 [X] HTTP_REALIP_MODULE Enable http_realip module
 [X] HTTP_REWRITE_MODULE Enable http_rewrite module
 [X] HTTP_SSL_MODULE Enable http_ssl module
 [X] HTTP_STATUS_MODULE Enable http_stub_status module
 [X] HTTP_SUB_MODULE Enable http_sub module
 [X] WWW Enable html sample files

Добавим nginx в автозагрузку:

# echo 'nginx_enable="YES"' >> /etc/rc.conf

Редактируем конфиг nginx /usr/local/etc/nginx/nginx.conf, приводим его к следующему виду:

worker_processes 1;

pid /var/run/nginx.pid;
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;

log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';

sendfile on;
keepalive_timeout 65;
gzip on;

server {
listen 145.152.71.220:80;
server_name localhost;
location / {
proxy_pass http://127.0.0.1;
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $remote_addr;
proxy_connect_timeout 90;
proxy_send_timeout 90;
proxy_read_timeout 90;
proxy_send_lowat 12000;
proxy_buffer_size 4k;
proxy_buffers 4 32k;
proxy_busy_buffers_size 64k;
proxy_temp_file_write_size 64k;
proxy_temp_path /var/tmp/nginx;
}
}
}

В строке

listen 145.152.71.220:80;

Указываем свой внешний ip адрес. Проверяем настройки nginx:

# nginx -t

Если видите:

nginx: the configuration file /usr/local/etc/nginx/nginx.conf syntax is ok
nginx: configuration file /usr/local/etc/nginx/nginx.conf test is successful

значит все в порядке.

Теперь необходимо изменить конфигурацию apache, чтобы он слушал только локальный интерфейс 127.0.0.1, а все внешние запросы принимал nginx и перенаправлял к apache. Меняем в /usr/local/etc/apache24/httpd.conf  строку с параметром Listen, приводим к виду:

Listen 127.0.0.1:80

Перезапускаем apache:

# /usr/local/etc/rc.d/apache24 restart

Запускаем nginx:

# /usr/local/etc/rc.d/nginx start

Наш веб сервер готов. Теперь проверим его работу. Создадим в папке /web/sites/websrv.local/www файл index.php с содержимым

<?php phpinfo(); ?>

Заходим в браузере по адресу http://websrb.local

Если вы видите информацию о версии php и его модулях, значит все настроено и работает.

Установка phpmyadmin на виртуальный хост

Остался последний шаг в нашем деле - установка phpmyadmin. В принципе, wordpress можно установить уже сейчас, но без удобного средства работы с mysql как-то неловко. В будущем оно все равно пригодится. Так что ставим из портов:

# cd /usr/ports/databases/phpmyadmin
# make install clean

По-умолчанию, phpmyadmin устанавливается в папку /usr/local/www/phpMyAdmin, но так как мы для него создали отдельный виртуальный хост, то переносим все содержимое папки туда:

# mv /usr/local/www/phpMyAdmin/* /web/sites/pma53.websrv.local/www/
# chown -R www:www /web/sites/pma53.websrv.local/www/

Создаем папку для конфига:

# mkdir /web/sites/pma53.websrv.local/www/config
# chmod 0750 /web/sites/pma53.websrv.local/www/config && chown www:www /web/sites/pma53.websrv.local/www/config

Дальше идем по адресу http://pma53.websrv.local/setup/ нажимаем "новый сервер" и настраиваем. Не буду подробно на этом останавливаться, там все просто и многократно описано в интернете. Выбираем все значения инсталлятора по умолчанию.

На этом все. Наш web сервер готов. Загружаем скрипты сайта в /web/sites/websrv.local/www и пользуемся.

Помогла статья? Подписывайся на telegram канал автора

Анонсы всех статей, плюс много другой полезной и интересной информации, которая не попадает на сайт.

Дополнительные материалы по Freebsd

Углубленный онлайн-курс по MikroTik.

Научиться настраивать MikroTik с нуля или систематизировать уже имеющиеся знания можно на углубленном онлайн-курcе по администрированию MikroTik. Автор курcа – сертифицированный тренер MikroTik Дмитрий Скоромнов. Более 40 лабораторных работ по которым дается обратная связь. В три раза больше информации, чем в MTCNA.
Рекомендую полезные материалы по Freebsd:
  • Установка
  • Настройка
  • Обновление
  • Шлюз
  • Прокси сервер
  • Веб сервер NGINX
  • Веб сервер Apache
Описание установки Freebsd 11 на одиночный диск, либо на софтовый raid1, сделанный средствами zfs, которые поддерживает стандартный установщик.
Базовая настройка Freebsd, которую можно выполнить после установки сервера общего назначения. Представлены некоторые рекомендации по повышению удобства пользования и безопасности.
Описание и нюансы обновления системы Freebsd с помощью утилиты freebsd-update. Показано пошагово на конкретном примере обновления.
Настройка Freebsd шлюза для обеспечения выхода в интернет. Используется ipfw и ядерный нат, dnsmasq в качестве dhcp и dns сервера. Мониторинг сетевой активности с помощью iftop.
Подробная настройка на Freebsd прокси сервера squid + sams2 - панели управления для удобного администрирования.
Настройка максимально быстрого web сервера на базе Freebsd и nginx + php-fpm. Существенный прирост производительности по сравнению с классическим apache.
Настройка web сервера на Freebsd в связке с apache, nginx, php и mysql. Пошаговая установка и настройка каждого компонента.

Автор Zerox

Владимир, системный администратор, автор сайта. Люблю настраивать сервера, изучать что-то новое, делиться знаниями, писать интересные и полезные статьи. Открыт к диалогу и сотрудничеству. Если вам интересно узнать обо мне побольше, то можете послушать интервью. Запись на моем канале - https://t.me/srv_admin/425 или на сайте в контактах.

22 комментария

  1. /usr/local/etc/rc.d/mysql-server start
    /usr/local/etc/rc.d/mysql-server: WARNING: failed precmd routine for mysql

  2. "Теперь необходимо изменить конфигурацию apache, чтобы он слушал только локальный интерфейс 127.0.0.1, а все внешние запросы принимал nginx и перенаправлял к apache. Меняем в /usr/local/etc/apache24/httpd.conf строку с параметром Listen, приводим к виду:

    Listen 127.0.0.1:80
    Перезапускаем apache:

    # /usr/local/etc/rc.d/apache24 restart"

    Performing sanity check on apache24 configuration:
    Syntax OK
    apache24 not running? (check /var/run/httpd.pid).
    Performing sanity check on apache24 configuration:
    Syntax OK
    Starting apache24.
    (49)Can't assign requested address: AH00072: make_sock: could not bind to address 127.0.0.0:80
    no listening sockets available, shutting down
    AH00015: Unable to open logs
    /usr/local/etc/rc.d/apache24: WARNING: failed to start apache24

    ps ax | grep :80
    21971 2 S+J 0:00.00 grep :80

  3. Андрей

    Подскажите, поставил mysql, но он не запускается. Если владельцем папки /tmp сделать mysql:mysql, то все в порядке. Как правильно выставить владельцев и/или разрешения в данном случае?

  4. здравствуйте, помогите, плиз

    я не могу установить расширение php5 , у меня вот такая ошибка:
    oleg@FreeBSD_64:/usr/ports/lang/php5-extensions# make install clean
    /!\ WARNING /!\

    The variable PHP_DEFAULT is set and it should only be defined through
    DEFAULT_VERSIONS+=php=5 in /etc/make.conf

    This behaviour has never been supported and will be removed on 2017-01-31

    Unknown extension ctype for PHP 5
    *** Error code 1

    Stop.
    make[1]: stopped in /usr/ports/lang/php5-extensions
    *** Error code 1

    Stop.
    make: stopped in /usr/ports/lang/php5-extensions

  5. Сергей

    Ошибка при /usr/ports/lang/php5 make install clean

    ===> NOTICE:

    This port is deprecated; you may wish to reconsider installing it:

    PHP 5.4 is End of Life http://php.net/supported-versions.php.

    It is scheduled to be removed on or after 2016-01-15.

    ===> php5-5.4.45 has known vulnerabilities:
    php5-5.4.45 is vulnerable:
    End of Life Ports
    WWW: https://vuxml.FreeBSD.org/freebsd/7fe7df75-6568-11e6-a590-14dae9d210b8.html

    1 problem(s) in the installed packages found.
    => Please update your ports tree and try again.
    => Note: Vulnerable ports are marked as such even if there is no update available.
    => If you wish to ignore this vulnerability rebuild with 'make DISABLE_VULNERABILITIES=yes'
    *** Error code 1

    Stop.
    make[1]: stopped in /usr/ports/lang/php5
    *** Error code 1

  6. Сергей

    В файле httpd-vhosts.conf ip нужно указывать свой или так и оставить 127???
    Потом след момент, появляется во второй части http://www.pma53.websrv.local pma53 это что? Я может глупые вопросы задаю, просто сижу, вижу в упор и не понимаю, спросить некого, у меня задача какая... собрать шлюз, собрал, хочу сделать прокси, а в ваших статьях нужно для проски собрать web... вот пользуюсь вашими трудами.

  7. Евгений

    Здравствуйте.
    Подскажите , нужно ли настраивать mod_remoteip. Насколько я понял , этот модуль нужен , что бы Apache видел реальные IP клиентов.
    Если не трудно, подскажите , где и что нужно прописать.
    Заранее спасибо.

    • Желательно настроить, с ним удобнее. Но я не подскажу, давно не настраивал.

      • Евгений

        Как выяснилось не только удобно но и полезно. Ну успел я поднять сайт, как обнаружил что кто то уже пытался в него "вломится". Если не настраивать mod_remoutip то в логах входящий IP будет 127.0.0.1.
        В CentOS 7 Apache 2.4 по умолчанию грузит remoteip_module, поэтому достаточно в conf сайта прописать:

        RemoteIPHeader X-Real-IP
        RemoteIPInternalProxy 127.0.0.1
        RemoteIPInternalProxy [ip вашего сервера]

        и еще в в httpd.conf LogFormat замените %h на %a
        Проверил, работает.

  8. Проблема при попытке зайти на панель phpmyadmin по выдает «The mbstring extension is missing. Please check your PHP configuration.»
    PHP56 работает, даже парсит файлец /usr/local/etc/php/ext-20-mbstring.ini в котором одна строка "extension=mbstring.so", но раздел Additional Modules из phpinfo() девственно пуст.

  9. Аноним

    Проблема при попытке зайти на панель phpmyadmin по выдает "The mbstring extension is missing. Please check your PHP configuration."
    PHP56 работает, даже парсит файлец /usr/local/etc/php/ext-20-mbstring.ini в котором одна строка

  10. Если nginx слушает внешние запросы а апач внутренние, то к чему все танцы с httpd-vhosts.conf ? Если не сложно, подскажите как можно реализовать ограничения доступа по ип для отдельно взятого виртуального хоста, аналогичное тому как это организовано в httpd-vhosts.conf

  11. "....Сейчас можно в браузере набрать http://ip-сервера/ и увидеть страничку с одной единственной надписью:

    It works!

    Это означает, что веб сервер apache работает, все в порядке....."

    Делал все по инструкции и на этом этапе добавил для дополнительной проверки, предварительно созданный файл /usr/local/www/apache24/data/index.php следующего содержания: "" соответственно загружал http://ip-сервера/ndex.php, в итоге возвращался текст с кодом, в чем может быть проблема, подскажите.

  12. После команды /usr/local/etc/rc.d/mysql-server start выдает следующее сообщение.

    # /usr/local/etc/rc.d/mysql-server start

    Please keep in mind that the default location for my.cnf has changed
    from "/var/db/mysql/my.cnf" to "/usr/local/etc/mysql/my.cnf".
    Please merge your existing my.cnf with the new default and move
    it to "/usr/local/etc/mysql/my.cnf".
    If you do not want to move your my.cnf to the new location then
    you must set "mysql_optfile" in /etc/rc.conf to "/var/db/mysql/my.cnf".

    /usr/local/etc/rc.d/mysql-server: WARNING: failed precmd routine for mysql

    Как исправить?

    • Так в тексте ошибки все написано, что надо делать.

      • поставил mysql55_server заработало. вначале пробовал mysql57_server.

        В данный момент закончил следовать инструкции на этапе создания index.php
        touch /web/sites/fix27.ru/www/index.php
        ee /web/sites/fix27.ru/www/index.php
        вставляю

        сохраняю.

        Захожу на ип адрес сервера через браузер. Там выводится следующее:

        Welcome to nginx!
        If you see this page, the nginx web server is successfully installed and working. Further configuration is required.
        For online documentation and support please refer to nginx.org.
        Commercial support is available at nginx.com.
        Thank you for using nginx.

        Подскажите, это должно отобразиться?

      • Добрый час!

        Ставил MySQL но при /usr/local/etc/rc.d/mysql-server start долго стартует, после попытки /usr/local/bin/mysql_secure_installation ругается на сокет /tmp/mysql.sock. говорит нет такого и не могу создать...

        Что нужно сделать?

        FreeBSD 11

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Нажимая кнопку "Отправить комментарий" Я даю согласие на обработку персональных данных.
Используешь Telegram? Подпишись на канал автора →
This is default text for notification bar