Установка и настройка простого веб-сервера не сложная, но ради заметки запишу сюда.
Заметка по установке Nginx уже есть — Ставим Nginx и настраиваем виртуальные хосты на FreeBSD.
Первым делом обновим порты и перейдем в них:
# portsnap fetch update # cd /usr/ports/
MariaDB 5.5
Посмотрим какие есть версии MariaDB:
# make search name=mariadb
Внизу я нашел подходящую мне версию mariadb55-server-5.5.35.
# /usr/ports/databases/mariadb55-server && make install clean
Я хочу, чтобы файлы марии лежали в /home/db/:
# mkdir /home/db # chown -R mysql:mysql /home/db
Создадим базы и запускаем:
# cd /usr/local/ # ./bin/mysql_install_db --datadir=/home/db/
Подправим скрипт запуска:
# ee /usr/local/etc/rc.d/mysql-server
Находим строку:
: ${mysql_dbdir="/var/db/mysql"}
Заменяем ее на эту:
: ${mysql_dbdir="/home/db"}
Настраиваем под себя:
# ee /usr/local/etc/my.cnf
У меня получился такой вот конфиг, но не факт, что он правильный и тем более не факт, что он подойдет вам.
# The following options will be passed to all MariaDB clients
[client]
#password = your_password
port = 3306
socket = /tmp/mysql.sock
# The MariaDB server
[mysqld]
user = mysql
port = 3306
socket = /tmp/mysql.sock
key_buffer_size = 256M
max_allowed_packet = 16M
table_open_cache = 256
sort_buffer_size = 4M
read_buffer_size = 1M
read_rnd_buffer_size = 4M
myisam_sort_buffer_size = 256M
thread_cache_size = 128
query_cache_size = 53M
max_connections = 100
connect_timeout = 5
wait_timeout = 600
bulk_insert_buffer_size = 16M
tmp_table_size = 32M
max_heap_table_size = 32M
myisam_recover = BACKUP
skip-external-locking
# Instead of skip-networking the default is now to listen only on
# localhost which is more compatible and is not less secure.
# bind-address = 127.0.0.1
# Try number of CPU's*2 for thread_concurrency
thread_concurrency = 4
# Point the following paths to different dedicated disks
tmpdir = /tmp/
# Replication Master Server (default)
# binary logging is required for replication
log-bin = mysql-bin
# binary logging format - mixed recommended
binlog_format = mixed
# Both location gets rotated by the cronjob.
# Be aware that this log type is a performance killer.
# As of 5.1 you can enable the log at runtime!
general_log_file = /var/log/mysql/mysql.log
general_log = 1
# Error logging goes to syslog due to /etc/mysql/conf.d/mysqld_safe_syslog.cnf.
# we do want to know about network errors and such
log_warnings = 2
# Enable the slow query log to see queries with especially long duration
#slow_query_log[={0|1}]
slow_query_log_file = /var/log/mysql/mariadb-slow.log
long_query_time = 10
#log_slow_rate_limit = 1000
log_slow_verbosity = query_plan
#log-queries-not-using-indexes
#log_slow_admin_statements
# required unique id between 1 and 2^32 - 1
# defaults to 1 if master-host is not set
# but will not function as a master if omitted
#server-id = 1
# Uncomment the following if you are using InnoDB tables
innodb_data_home_dir = /home/db
#innodb_data_file_path = ibdata1:10M:autoextend
innodb_buffer_pool_size = 256M
#innodb_log_file_size = 64M
innodb_log_buffer_size = 8M
innodb_flush_method = O_DIRECT
innodb_file_per_table = 1
innodb_open_files = 400
innodb_io_capacity = 400
innodb_lock_wait_timeout = 50
innodb_log_group_home_dir = /home/db
innodb_flush_log_at_trx_commit = 2
innodb_additional_mem_pool_size = 24M
[mysqldump]
quick
max_allowed_packet = 16M
[mysql]
no-auto-rehash
# Remove the next comment character if you are not familiar with SQL
#safe-updates
[myisamchk]
key_buffer_size = 128M
sort_buffer_size = 128M
read_buffer = 2M
write_buffer = 2M
[mysqlhotcopy]
interactive-timeout
Перезапускаем:
# /usr/local/etc/rc.d/mysql-server restart
Указываем пароль для root:
# mysqladmin -u root password 'пароль'
Заходим в БД с новым паролем:
# mysql -u root -p mysql
Удаляем всех юзеров, кроме root и выходим:
MariaDB [mysql]> DELETE FROM user WHERE user != 'root'; Query OK, 2 rows affected (0.00 sec) MariaDB [mysql]> exit; Bye
PHP 5.5
Поскольку я хочу себе именно PHP 5.5, то буду искать именно её:
# whereis php55 php55: /usr/ports/lang/php55 # cd /usr/ports/lang/php55 && make install clean
Отмечаем FPM.
Теперь поставим расширения для PHP 5.5:
# whereis php55-extensions php55-extensions: /usr/ports/lang/php55-extensions # cd /usr/ports/lang/php55-extensions && make install clean
Я выбрал для себя CTYPE, CURL, DOM, FILEINFO, FTP, GD, HASH, ICONV, JSON, MBSTRING, MCRYPT, MYSQL, MYSQLI, OPCACHE, PDO, PDO_MYSQL, PDO_SQLITE, POSIX, SESSION, SIMPLEXML, SOCKETS, SQLITE3, TIDY, TOKENIZER, XML, XMLREADER и XMLWRITER.
Далее настраиваем под себя:
# ee /usr/local/etc/php/extensions.ini # ee /usr/local/etc/php-fpm.conf # ee /usr/local/etc/php.ini
Автозапуск
Для автозапуска нужно дописать в файл /etc/rc.conf несколько строк:
mysql_enable="YES" php_fpm_enable="YES"
Рестарт
На всякий случай рестартанем службы:
# /usr/local/etc/rc.d/mysql-server restart # /usr/local/etc/rc.d/php-fpm restart # /usr/local/etc/rc.d/nginx restart
Вроде закончили. Успехов! 🙂



1 ноября, 2014 at 9:49 пп
«Уставнока» — в первом слове ошибка.
Спасибо за пост. Лень руками всё это было собирать 🙂
9 ноября, 2014 at 3:08 пп
спасибо 🙂