Мой старт в интернет!

В файловый архив добавлен апдейт библиотеки функций MySrv2 до версии 2.1.18

Платформа: x86/x64

Требования: Версия серверного пакета должна быть не ниже 2.1.17

Изменения

  1. DocumentRoot хоста перенесен в папку html в папке хоста
  2. Включена возможность кастомизации php для каждого хоста

Состав:

  1. up218a.7z — основное обновление
  2. up218n.7z — дополнительное обновление при установленном модуле nginx

Быстрая установка

  1. Проверить версию серверного пакета
    1
    
    mysrv server version

    Если версия ниже 2.1.17 проапдейтить серверный пакет

  2. Сохранить резервные копии папок W:\conf, W:\usr\lib и W:\usr\local\bin
  3. Остановить Apache
    1
    
    mysrv stop apache

    Если установлен модуль nginx остановить его

    1
    
    mysrv stop nginx
  4. Создать временную папку и распаковать в нее содержимое архива
  5. Создать файлы кастомизации php для существующих хостов, выполнив скрипт из временной папки
    1
    
    create-php.d
  6. В папке хоста создать папку html и перенести в нее все, кроме папки cgi-bin. Папка хоста должна иметь вид
    www
      + example.com
          +-- cgi-bin
          +-- html
  7. Распаковать архив up218a.7z в корень диска W: согласившись с заменой файлов
  8. В папке W:\conf\hosts в файлах *.conf изменить корневую папку хоста, добавить настройки для cgi-скриптов и подключить файл кастомизации php для хоста (пример отредактированного конфигурационного файла приведен ниже)
  9. Проверить правильность конфигурации Apache
    1
    
    mysrv test apache
  10. Стартовать Apache
    1
    
    mysrv start apache
  11. Если необходимо отредактировать абсолютный путь хоста в конфигурационном файлах используемой CMS. Например при использовании Joomla необходимо отредактировать файл configuration.php
    1
    2
    
    public $log_path = 'W:\\www\\example.com\\html/logs';
    public $tmp_path = 'W:\\www\\example.com\\html/tmp';
  12. При установленном модуле nginx необходимо отредактировать root для фронтенд и бэкенд хостов и добавить локейнш cgi-bin для бэкенд хостов
    • В папке W:\conf\hosts\nginx\fe необходимо отредактировать конфигурационные файлы (*.conf) фронтенд хостов (пример отредактированного конфигурационного файла приведен ниже)
      В папке W:\conf\hosts\nginx\be необходимо отредактировать конфигурационные файлы (*.conf) бэкенд хостов (пример отредактированного конфигурационного файла приведен ниже)
  13. Распаковать архив up218n.7z в корень диска W: согласившись с заменой файлов
  14. Проверить конфигурацию nginx
    1
    
    mysrv test nginx
  15. Стартовать nginx
    1
    
    mysrv start nginx
  16. Проапдейтить сервер
    1
    
    mysrv server update ~

    Тильда в команде апдейта сервера обязательна

Проверка работоспособности

1
mysrv server version

Пример отредактированного конфигурационного файла http-хоста Apache

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
          # example.com # example.com # example.com
 
          <VirtualHost *:80>
            ServerName example.com
            ServerAlias www.example.com
            ErrorLog /logs/example.com-error.log
            CustomLog /logs/example.com-access.log combined
# !!!! ИЗМЕНЕН DocumentRoot
            DocumentRoot /www/example.com/html
            <Directory /www/example.com/html>
              Options -Indexes +Includes +FollowSymlinks
              Require all granted
            </Directory>
# !!!! ДОБАВЛЕН ScriptAlias
            ScriptAlias /cgi-bin/ /www/example.com/cgi-bin/
            <Directory /www/example.com/cgi-bin>
              AllowOverride None
              Options None
              Require all granted
            </Directory>
# ИЗМЕНЕН / ДОБАВЛЕН инклуд кастомизации для хоста при использовании PHP TS
            <IfModule mod_php5.c>
              includeoptional /conf/php.d/example.com-php-ts.ini
            </IfModule>
          </VirtualHost>

Пример отредактированного конфигурационного файла https-хоста Apache

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
          # example.com # example.com # example.com
 
          <VirtualHost *:80>
            ServerName example.com
# !!!! ИЗМЕНЕН DocumentRoot
            DocumentRoot /www/example.com/html
            RewriteEngine on
            RewriteCond %{HTTP_HOST} ^example.com$ [NC]
            RewriteRule (.*) https://example.com$1 [R=permanent,L]
            ErrorLog /logs/example.com-error.log
            CustomLog /logs/example.com-access.log combined
          </VirtualHost>
 
          <VirtualHost *:443>
            ServerName example.com
            SSLEngine on
            SSLCertificateFile /conf/ca/crt/example.com.crt
            SSLCertificateKeyFile /conf/ca/key/example.com.key
          #  SSLCertificateChainFile /conf/crt/example.com.ca-bundle
            CustomLog /logs/example.com-access.log combined
            ErrorLog /logs/example.com-error.log
# !!!! ИЗМЕНЕН DocumentRoot
            DocumentRoot /www/example.com/html
            <Directory /www/example.com/html>
              AllowOverride All
              Require all granted
              Options -Indexes +Includes +FollowSymlinks
            </Directory>
# !!!! ДОБАВЛЕН ScriptAlias
            ScriptAlias /cgi-bin/ /www/example.com/cgi-bin/
            <Directory /www/example.com/cgi-bin>
              AllowOverride None
              Options None
              Require all granted
            </Directory>
# ИЗМЕНЕН / ДОБАВЛЕН инклуд кастомизации для хоста при использовании PHP TS
            <IfModule mod_php5.c>
              includeoptional /conf/php.d/example.com-php-ts.ini
            </IfModule>
          </VirtualHost>

Пример отредактированного конфигурационного файла фронтэнд http-хоста nginx

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
          # example.com # example.com # example.com
 
          server {
            include /conf/inc/nginx/nginx.listen-80.inc.conf;
            server_name www.example.com example.com;
# !!!! ИЗМЕНЕН Root
            root /www/example.com/html;
            access_log /logs/nginx/example.com-access.log combined;
            error_log /logs/nginx/example.com-error.log;
          #  autoindex on;
            location ~ /\. { deny  all; }
            location / {
              include /conf/inc/nginx/nginx.php.inc.conf;
            }
          }

Пример отредактированного конфигурационного файла фронтэнд https-хоста nginx

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
          # example.com # example.com # example.com
 
          server {
            include /conf/inc/nginx/nginx.listen-80.inc.conf;
            server_name example.com;
# !!!! ИЗМЕНЕН Root
            root /www/example.com/html;
            access_log /logs/nginx/example.com-access.log combined;
            error_log /logs/nginx/example.com-error.log;
            location / { 
              if ($http_host ~* "^example.com$") {
                rewrite ^(.*)$ https://example.com$1 redirect;
              }
            }
          }
 
          server {
            include /conf/inc/nginx/nginx.listen-443.inc.conf;
            server_name example.com;
# !!!! ИЗМЕНЕН Root
            root /www/example.com/html;
            ssl_certificate /conf/ca/crt/example.com.crt;
            ssl_certificate_key /conf/ca/key/example.com.key;
            access_log /logs/nginx/example.com-access.log combined;
            error_log /logs/nginx/example.com-error.log;
          #  autoindex on;
            location ~ /\. { deny  all; }
            location / {
              include /conf/inc/nginx/nginx.php.inc.conf;
            }
          }

Пример отредактированного конфигурационного файла бэкэнд http-хоста nginx

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
          # example.com # example.com # example.com
 
          server {
            include /conf/inc/nginx/nginx.listen-80.inc.conf;
            server_name example.com www.example.com;
# !!!! ИЗМЕНЕН Root
            root /www/example.com/html;
            access_log /logs/nginx/example.com-access.log combined;
            error_log /logs/nginx/example.com-error.log;
            location ~ /\.ht { deny  all; }
            location / {
              include /conf/inc/nginx/nginx.proxy.inc.conf;
              include /conf/hosts/nginx/be/example.com.conf-d;
              include /conf/inc/nginx/nginx.files.inc.conf;
            }
# !!! ДОБАВЛЕН локейшн cgi-bin
            location /cgi-bin/ {
              alias /www/example.com/cgi-bin;
              include /conf/inc/nginx/nginx.proxy.inc.conf;
              include /conf/inc/nginx/nginx.files.inc.conf;
            }
          }

Пример отредактированного конфигурационного файла бэкэнд https-хоста nginx

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
          # example.com # example.com # example.com
 
          server {
            include /conf/inc/nginx/nginx.listen-80.inc.conf;
            server_name example.com;
# !!!! ИЗМЕНЕН Root
            root /www/example.com/html;
            access_log /logs/nginx/example.com-access.log combined;
            error_log /logs/nginx/example.com-error.log;
            location / { 
              if ($http_host ~* "^example.com$") {
                rewrite ^(.*)$ https://example.com$1 redirect;
              }
            }
          }
 
          server {
            include /conf/inc/nginx/nginx.listen-443.inc.conf;
            server_name example.com;
# !!!! ИЗМЕНЕН Root
            root /www/example.com/html;
            ssl_certificate /conf/ca/crt/example.com.crt;
            ssl_certificate_key /conf/ca/key/example.com.key;
            access_log /logs/nginx/example.com-access.log combined;
            error_log /logs/nginx/example.com-error.log;
          #  autoindex on;
            location ~ /\. { deny  all; }
            location / {
              include /conf/inc/nginx/nginx.php.inc.conf;
            }
# !!! ДОБАВЛЕН локейшн cgi-bin
            location /cgi-bin/ {
              alias /www/example.com/cgi-bin;
              include /conf/inc/nginx/nginx.proxy.inc.conf;
              include /conf/inc/nginx/nginx.files.inc.conf;
            }
          }