Шаг 1: Установка NGINX
1 2 |
$ pkg update $ sudo pkg ins nginx lynx |
1 2 3 4 5 6 7 |
New packages to be INSTALLED: gettext-runtime: 0.21 indexinfo: 0.3.1 libidn: 1.35 lynx: 2.8.9.1_1,1 nginx: 1.20.2_3,2 pcre: 8.45 |
Файл hosts добавим запись IP адрес, нашего домена
Пример: IP адрес 96.47.72.84, домен vi-edu.local
1 |
$ sudo echo '96.47.72.84 vi-edu.local' >> /etc/hosts |
Включаем демон и запускаем службу
1 2 |
$ sudo service nginx onestart $ sudo sysrc nginx_enable=yes |
Проверяем
1 2 3 |
$ sudo sockstat -4 | grep nginx www nginx 991 6 tcp4 *:80 *:* root nginx 990 6 tcp4 *:80 *:* |
1 |
$ lynx http://vi-edu.local |
Шаг 2: Установка PHP
1 |
$ sudo pkg ins php80 php80-mysqli php80-pecl-mcrypt php80-zlib php80-gd php80-pecl-json_post php80-mbstring php80-curl |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
New packages to be INSTALLED: curl: 7.80.0 libargon2: 20190702 libgd: 2.3.1,1 libltdl: 2.4.6 libmcrypt: 2.5.8_3 libnghttp2: 1.46.0 libssh2: 1.10.0,3 oniguruma: 6.9.7.1 pcre2: 10.39 php80: 8.0.14 php80-curl: 8.0.14 php80-gd: 8.0.14 php80-mbstring: 8.0.14 php80-mysqli: 8.0.14 php80-pecl-json_post: 1.0.2 php80-pecl-mcrypt: 1.0.4 php80-zlib: 8.0.14 |
1 |
$ sudo cp /usr/local/etc/php.ini-production /usr/local/etc/php.ini |
Включаем демон и запускаем службу
1 2 |
$ sudo sysrc php_fpm_enable=yes $ sudo service php-fpm start |
Проверяем
1 |
$ sudo sockstat -4 | grep php-fpm |
1 2 3 |
www php-fpm 3403 5 tcp4 127.0.0.1:9000 *:* www php-fpm 3402 5 tcp4 127.0.0.1:9000 *:* root php-fpm 3401 7 tcp4 127.0.0.1:9000 *:* |
Шаг 3: Настройка конфигурационных файлов NGINX
Создадим каталог для нашего сайта и тест-файл
1 2 3 |
$ sudo mkdir -p /home/html/vi-edu.local/logs $ sudo chown -hR root:www /home/html $ echo "vi-edu.local - Ok" | sudo tee /home/html/vi-edu.local/index.html |
Файл /usr/local/etc/nginx/nginx.conf приведём к виду:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
worker_processes auto; events { worker_connections 1024; } http { include mime.types; default_type application/octet-stream; sendfile on; keepalive_timeout 65; #gzip on; log_format main '$remote_addr - $remote_user [$time_local] "$request" ' '$status $body_bytes_sent "$http_referer" ' '"$http_user_agent" "$http_x_forwarded_for"'; access_log /var/log/nginx/access.log main; include /usr/local/etc/nginx/conf.d/*.conf; } |
Настройка виртуального хоста vi-edu.local
1 2 3 |
$ sudo mkdir -p /usr/local/etc/nginx/conf.d/ $ sudo touch /usr/local/etc/nginx/conf.d/vi-edu.ru.conf $ echo "<?php phpinfo(); ?>" | sudo tee /home/html/vi-edu.local/info.php |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
server { listen *:80; listen [::]:80; server_name vi-edu.local; root /home/html/vi-edu.local; index index.php index.html index.htm; access_log /home/html/vi-edu.local/logs/access.log; error_log /home/html/vi-edu.local/logs/error.log; location ~ \.php$ { root /home/html/vi-edu.local; fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $request_filename; include fastcgi_params; } } |
Проверим
1 2 |
$ curl -l http://vi-edu.local vi-edu.local - Ok |
http://vi-edu.local/info.php
Шаг 4: Установка MariaDB
1 |
$ sudo pkg ins mariadb105-server |
1 2 3 4 5 6 7 8 |
New packages to be INSTALLED: boost-libs: 1.72.0_6 galera26: 26.4.10 mariadb105-client: 10.5.13 mariadb105-server: 10.5.13 rsync: 3.2.3_1 unixODBC: 2.3.9 xxhash: 0.8.0 |
Включаем демон и запускаем службу
1 2 3 |
$ sudo sysrc mysql_enable=yes $ sudo service mysql-server start $ sudo service php-fpm restart |
Выполним скрипт и применим параметры безопасности, зададим пароль администратора и т.д.
1 |
$ sudo /usr/local/bin/mysql_secure_installation |
Проверим
1 |
$ mysql -u root -p |
1 2 |
Your MariaDB connection id is 15 Server version: 10.5.13-MariaDB FreeBSD Ports |
Список пользователей
1 |
select user,host,password from mysql.user; |
1 2 3 4 5 6 7 |
+-------------+-----------+-------------------------------------------+ | User | Host | Password | +-------------+-----------+-------------------------------------------+ | mariadb.sys | localhost | | | root | localhost | *689413DD29166074630A9E6819D46824998ADA40 | | mysql | localhost | invalid | +-------------+-----------+-------------------------------------------+ |
Список баз данных
1 |
show databases; |
1 2 3 4 5 6 7 |
+--------------------+ | Database | +--------------------+ | information_schema | | mysql | | performance_schema | +--------------------+ |
1 |
$ netstat -an -p tcp |
1 2 3 4 5 6 7 8 |
Active Internet connections (including servers) Proto Recv-Q Send-Q Local Address Foreign Address (state) tcp4 0 0 127.0.0.1.9000 *.* LISTEN tcp4 0 0 127.0.0.1.3306 *.* LISTEN tcp6 0 0 *.80 *.* LISTEN tcp4 0 0 *.80 *.* LISTEN tcp4 0 0 *.22 *.* LISTEN tcp6 0 0 *.22 *.* LISTEN |