Установка и настройка простого веб-сервера не сложная, но ради заметки запишу сюда.
Заметка по установке 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 пп
спасибо 🙂