4. ZendServer CE Установка и настройка VirtualHost (виртуальный хост)

Подготовка сервера для Magento локально

[10 ноября 2016 г.]    Российская сборка Magento 2.49.12
Magento 2: модули и услуги
#1 Dima
  • ворует чужие книги и выдаёт за свои
  • Группа: Заблокирован
  • Сообщений: 128
  • Регистрация: 05.04.2011

17.01.2012 09:56

0. Zend Server CE Установка под ключ подробно

1. Zend Server CE Установка в Windows

2. Zend Server CE Установка и настройка MySQL Community Server

3. Zend Server CE Установка и настройка phpMyAdmin

4. ZendServer CE Установка и настройка VirtualHost (виртуальный хост)




Вы рассмотрите и настроите виртуальный хост для Magento.
• Вы установите проекты (сайты) с нормальными доменами.

• Также вы можете обратиться к документации по виртуальным хостам в Apache.




• Папка, localhost установки ваших сайтов. Apache сервера \htdocs

• По умолчанию -- C:\Program Files (x86)\Zend\Apache2\htdocs
DocumentRoot " C:\Program Files (x86)\Zend\Apache2/htdocs"


В нашем случае-- C:\zs\Apache2\htdocs
DocumentRoot "C:\zs\Apache2/htdocs"



Почему виртуальный хост нужен.

Виртуальный хост выполняет функцию, работы сайтов,домена верхнего уровня.
• Вы можете устанавливать, с именем домена верхнего уровня несколько сайтов. Создать свой сайт с нуля, дать название (Человеческое).
• Сайты работают одновременно локально, Apache сервер всех обслужит.
Пример: www.названия вашего сайта.ru

• В качестве примера будут установлены домены, верхнего уровня.
• Также будет установлена Папка, localhost. на виртуальный хост.
www.prosto.com    
prosto.com   

www.test.com      
test.com

localhost
127.0.0.1
www.zend.local
zend.local


Если вы решили не настраивать, виртуальные хосты вы можете запустить (установить) Magento локально.
• Стабильно стоит Magento через точки.
http://127.0.0.1/Magento


• Второй способ.
• В этом случае (localhost.com), вам надо сменить названия localhost в (localhost.com)
• В файле (hosts) адрес расположения файла:
• C:\Windows\System32\drivers\etc\ hosts
http://localhost.com/Magento


• Это всё как мёртвому припарка. Это я к слову сказал.
Magento любит порядок и требует к себе уважения.



Уделите немного времени, для создания виртуальных хостов.

Magento вам надо трясти как грушу, при установке сторонних модулей.

• Дабы избежать в дальнейшем вопросов. Вроде таких.
• Почему я не могу войти в админ панель? Почему я сайт не вижу? И вообще сайт умер.
• Ну, хватит переубеждать вас в пользе виртуальных хостов.


• И так, начинаем: установку.

Подключаем (Apache mod_rewrite)
• Я здесь опишу повторно подключения, для тех, кто не читал подключения в теме 1. Установка Zend Server CE в Windows.
Кто прочитал подключения (Apache mod_rewrite) пропустите этот пункт.

• Открываем httpd.conf


• По умолчанию -- C:\Program Files (x86)\Zend\Apache2\conf\httpd.conf
В нашем случае адрес: C:\zs\Apache2\conf\httpd.conf

• Для поддержки Mod_rewrite (он используется во множестве движков для поддержки ЧПУ — человеку понятных URL). Для подключения (.htaccess).
• Открываем httpd.conf ( «Папка установки Zend Server»\Apache2\conf\httpd.conf).
В нашем случае адрес: C:\zs\Apache2\conf\httpd.conf

• Прописываем для запуска rewrite_module команду AllowOverride All

a) Необходимо рас комментировать (удалить решетку (#) в начале строки). Если она стоит.
LoadModule rewrite_module modules/mod_rewrite.so


B ) Находим блок.

<Directory />
   Options FollowSymLinks
   AllowOverride None
   Order deny,allow
   Deny from all
</Directory>


• И замените его на нижеследующий:

<Directory />
   Options Includes Indexes FollowSymLinks
   AllowOverride All
   Allow from all
</Directory>


c) Найдите запись:
AllowOverride None


• Замените запись на нижеследующую:
AllowOverride All


На первом месте должен быть прописан: (index.php) как приоритетный.
d) Находим блок.

<IfModule dir_module>
    DirectoryIndex index.html index.htm index.shtml index.php
</IfModule>


• И замените его на нижеследующий:
Хочу сделать правку, в новой версии ZendServer-CE-php-5.6.0 в блоке прописано всё это.

<IfModule dir_module>
    DirectoryIndex index.php index.pl index.cgi index.asp index.shtml index.html index.htm \
                   default.php default.pl default.cgi default.asp default.shtml default.html default.htm \
                   home.php home.pl home.cgi home.asp home.shtml home.html home.htm
</IfModule>


Сохраните файл и закройте
• Перезапустите службу Apache.


В ДОПОЛНЕНИЯ: ВДРУГ НЕ ЗАПУСТИТСЯ Apache ЗНАЧИТЬ ВЫ ЗДЕЛАЛИ ОШИБКУ.
• ПРОВЕРИТЬ ВНЕСЁННЫЕ ИЗМЕНЕНИЯ .




• Настройка виртуальных хостов.
Отключите службу Apache.


Прикрепленное изображение: Apache error.jpg

• Исключить ошибки Apache. А то начнёте, перегружать после каждого изменения строки. Увидев это окно, и начнёте заднюю скорость включать. И кричать и думать, что я в доверия вошёл, и куда же он меня ведёт.

• Вперёд и с песней, само главное концентрация, внимания, не допускайте пробелов между кавычек, косых палочек.
• Всё у вас получится!!!


• Открываем вновь httpd.conf


• По умолчанию -- C:\Program Files (x86)\Zend\Apache2\conf\ httpd.conf
• В нашем случае адрес: C:\zs\Apache2\conf\ httpd.conf



Создайте папку "www".
• Проекты выносим в папку адрес: C:/zs/www

• Ваш путь установки выбирать вам: Названия первой папки (www) меняться может по желанию вашему.

Конечная папка (/www) названия не меняется. Это корень вашего сайта.



• Затем в каталоге (www) создайте папки
"zend.local" "prosto.com" "test.com"
(прямо так, с точкой)

• Устанавливая свои сайты, пишите свои имена.
• Вы решили вынести за приделы сервера. Свои проекты
• C:\www
• C:\Users\name\Documents\www
• C:\zs\www


• Вы должны прописывать полный путь.
• От диска к папке, установки своих сайтов. (DocumentRoot)
• В httpd.conf (конфигурационном файле Apache)

Пример:
• C:/www
• C:/Users/name/Documents/www
• C:/zs/www


• Обязательно проверяйте существование всех устанавливаемых путей.
• Используйте при указании путей прямые косые черты "/", а не обратные "\", как принято в Windows.


1) Найдите строку, и закомментировать: (Поставить решетку (#) в начале строки)

ServerRoot "C:\zs\Apache2"



2) Найдите и рас комментируйте строку: (удалить решетку (#) в начале строки)

#ServerName www.example.com: 80


• Отредактируйте, ее следующим образом установив изначальное имя сервера:
• Проще говоря замените на:

ServerName localhost:80



3) Найдите данную запись

DocumentRoot "C:\zs\Apache2/htdocs"


• Замените на:

DocumentRoot "C:/zs/www"


4) Найдите данный блок:

Directory "C:\zs\Apache2/htdocs">


• Пропишите: В строке данного блока. Путь к папке проектов (DocumentRoot)
• В нашем случае: C:/zs/www

<Directory "C:/zs/www">



Пример данного блока

<Directory "C:/zs/www">
    #
    # Possible values for the Options directive are "None", "All",
    # or any combination of:
    #   Indexes Includes FollowSymLinks SymLinksifOwnerMatch ExecCGI MultiViews
    #
    # Note that "MultiViews" must be named *explicitly* --- "Options All"
    # doesn't give it to you.
    #
    # The Options directive is both complicated and important.  Please see
    # http://httpd.apache.org/docs/2.2/mod/core.html#options
    # for more information.
    #
    Options Indexes FollowSymLinks
    #
    # AllowOverride controls what directives may be placed in .htaccess files.
    # It can be "All", "None", or any combination of the keywords:
    #   Options FileInfo AuthConfig Limit
    #
    AllowOverride All
    #
    # Controls who can get stuff from this server.
    #
    Order allow,deny
    Allow from all
 </Directory>


5) Найдите строку: Файл, в который будут записываться ошибки.

ErrorLog "logs/error.log"


• Замените на:

ErrorLog "C:/zs/www/logs/error.log"



• Это файлы для просмотра глобальных ошибок сервера и журнал доступа к хосту.
• Создавайте папку (logs) просмотра ошибок в C:/zs/www/logs и дополнительно
• C:/zs/www/prosto.com/logs
• C:/zs/www/test.com/logs
• C:/zs/www/zend.local/logs

6) Найдите строку: Файл журнала доступа к хосту.

CustomLog "logs/access.log" common


• Замените на:

CustomLog "C:/zs/www/logs/access.log" common


Дополнение: Просмотр ошибок сервера.

• В графическом виде, ZendServer.


PHP Error Log
Server Error Log
Server Access Log

• Пункт: пятый 5) не меняем.
ErrorLog "logs/error.log"


• Пункт: шестой 6) не меняем.
CustomLog "logs/access.log" common



Прикрепленное изображение: журналы ошибок, сервера.jpg



• Названия первой папки (www) меняться может по желанию вашему.

• Пример строения папок:


Прикрепленное изображение: Пример строения папок VirtualHost-01.jpg

.............................................................

Прикрепленное изображение: Пример строения папок VirtualHost-02.jpg

.............................................................

Прикрепленное изображение: Пример строения папок VirtualHost-03.jpg

.............................................................

Конечная папка должна иметь названия (www)
• Это корень вашего сайта.


Прикрепленное изображение: Пример строения папок VirtualHost-04.jpg

• Для работы SSI (включения на стороне сервера)

7) Найдите блок:

<IfModule mime_module>,


• Следующие строки, находящийся в блоке необходимо найти и рас комментировать, строки: (Удалить решётку (#) Вперереди)

AddType text/html .shtml
AddOutputFilter INCLUDES .shtml


8) Добавьте ниже, этих строк, в тот же блок, две строки:

<IfModule mime_module>


AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps


• В качестве примера смотрите рисунок.

Прикрепленное изображение: ZendServer CE  Установка и настройка VirtualHost-1.jpg

9) В завершении, найдите и рас комментируйте строки: (Удалить решетку (#) в начале строки)

Include conf/extra/httpd-mpm.conf
Include conf/extra/httpd-autoindex.conf
Include conf/extra/httpd-vhosts.conf
Include conf/extra/httpd-manual.conf
Include conf/extra/httpd-default.conf



• Сохраните изменения и закройте файл "httpd.conf"

10) Создайте в папке (www) папку (logs)
• Дополнительно в папках сайтов (\www\zend.local\logs ) (\www\prosto.com\logs) (\www\test.com\logs) Создайте два файла формат (.log) (logs-access.log) (logs-error.log) с помощью, текстового редактора или Notepad++.
• Вы разделите журналы ошибок, сервера Apache, от ошибок сайта.

• В дополнение
• Apache. в состояние эти файлы создать сам , главное путь правильно прописать. Где лежать будут (ЛОГИ). Для тренировки пригодится, данная процедура.

Прикрепленное изображение: два файла в формат (.log)  (access.log)  (error.log ) 01.jpg



• Теперь откройте (\httpd-vhosts.conf) файл.


• По умолчанию:
• C:\Program Files (x86)\Zend\Apache2\ conf\extra\httpd-vhosts.conf
В нашем случае физический путь папки:
• C:\zs\Apache2\conf\extra\httpd-vhosts.conf и произведите в нем следующие
изменения:

11) Существующие блоки примеров виртуальных хостов необходимо удалить, или откорректировать. Прописать свой путь к сайту.

<VirtualHost 127.0.0.1:80>
    #Почта
    ServerAdmin webmaster@prosto.com
    # Папка, в которой будет корень вашего хоста.
    DocumentRoot "C:/zs/www/prosto.com/www"
    # Домен по которому вы сможете обращаться к виртуальному хосту.
    ServerName prosto.com
    # Алиас (добавочное имя) домена.
    ServerAlias www. prosto.com 
    # Файл, в который будут записываться ошибки. 
    ErrorLog "C:/zs/www/prosto.com/logs/error.log"
    # Файл журнала доступа к хосту.
    CustomLog "C:/zs/www/prosto.com/logs/access.log" common
</VirtualHost>


В дополнение:

• Если вы решили (логи) журналы ошибок сайта, хранить рядом с папкой /www пример в папке /zend.local
• Пропишите так как в примере.
• Пример:

ErrorLog "C:/zs/www/zend.local/logs-error.log"
CustomLog "C:/zs/www/zend.local/logs-access.log" common



Прикрепленное изображение: Пример строения папок VirtualHost-05.jpg


• Вот результат Ваш:

#
# Virtual Hosts
#
# If you want to maintain multiple domains/hostnames on your
# machine you can setup VirtualHost containers for them. Most configurations
# use only name-based virtual hosts so the server doesn't need to worry about
# IP addresses. This is indicated by the asterisks in the directives below.
#
# Please see the documentation at 
# <URL:http://httpd.apache.org/docs/2.2/vhosts/>
# for further details before you try to setup virtual hosts.
#
# You may use the command line option '-S' to verify your virtual host
# configuration.
#
# Use name-based virtual hosting.
#
NameVirtualHost 127.0.0.1:80
#
# VirtualHost example:
# Almost any Apache directive may go into a VirtualHost container.
# The first VirtualHost section is used for all requests that do not
# match a ServerName or ServerAlias in any <VirtualHost> block.
#
<VirtualHost 127.0.0.1:80>
    ServerAdmin webmaster@zend.local
    DocumentRoot "C:/zs/www/zend.local/www"
    ServerName zend.local
    ServerAlias www.zend.local
    ErrorLog "C:/zs/www/zend.local/logs/logs-error.log"
    CustomLog "C:/zs/www/zend.local/logs/logs-access.log" common
</VirtualHost>
<VirtualHost 127.0.0.1:80>
    ServerAdmin webmaster@prosto.com
    DocumentRoot "C:/zs/www/prosto.com/www"
    ServerName prosto.com
    ServerAlias www.prosto.com
    ErrorLog "C:/zs/www/prosto.com/logs/logs-error.log"
    CustomLog "C:/zs/www/prosto.com/logs/logs-access.log" common
</VirtualHost>
<VirtualHost 127.0.0.1:80>
    ServerAdmin webmaster@test.com
    DocumentRoot "C:/zs/www/test.com/www"
    ServerName test.com
    ServerAlias www.test.com
    ErrorLog "C:/zs/www/test.com/logs/logs-error.log"
    CustomLog "C:/zs/www/test.com/logs/logs-access.log" common
</VirtualHost>



12) Все содержимое из корня папки htdocs C:\zs\Apache2\htdocs
перемещаем в вертуальный хост. Вашего, локального хоста в папку (/www)
C:/zs/www/zend.local/www

Прикрепленное изображение: Все содержимое из корня папки в папку (www).jpg


Вы подходите к завершению ещё один вздох и один выдох.

• Откройте файл (hosts) хозяина, физический путь папки: C:\Windows\System32\drivers\et\hosts
Назначить права доступа, Применить, Запись в файле. (hosts)
• Я подробно описал в статье 0. Zend Server CE Установка под ключ подробно

• В качестве примера смотрите рисунок.

Прикрепленное изображение: изменения и запись в файле. (hosts).jpg

13) Прописать следующие строки в (hosts) Windows ). Ниже строки (127.0.0.1 localhost) свои сайты пример ниже.
• Эта процедура нужна чтобы вы не вылетали в интернет на свой сайт или в нашем случае, наш сайт называется (prosto.com) такой сайт существует в интернете.
• Windows спрашивает хозяина (hosts) в первую очередь.
• Если нет такого сайта локально, то Windows перенаправляет в интернет.

Дополнение:
• Хочу вам посоветовать скачать HOSTS EDITOR Редактор hosts-файла, является интеллектуальным инструментом для просмотра содержимого файла hosts с возможностью отключения, удаления и редактирования любой из его строк.


Прикрепленное изображение: HOSTS EDITOR.jpg

127.0.0.1       localhost
127.0.0.1  zend.local
127.0.0.1  www.zend.local
127.0.0.1  www.test.com
127.0.0.1  test.com
127.0.0.1  prosto.com
127.0.0.1  www.prosto.com


• Результат ваших изменений дол жен быть таким:

• Сохраните изменения и закройте.


Прикрепленное изображение: Прописать следующие строки в (hosts) 1.jpg


14) Внимание включите службу (сервер )Apache.
• Да будет улыбка на вашем лице!!!

• Если разочарования и вы увидите квадратик с жёлтым треугольничком.
• Пере проверти себя отдохните подумайте и у Вас всё получится.

Прикрепленное изображение: Apache службы локально.jpg

• Настройка VirtualHost (виртуальный хост) завершена успешна.

Localhost: Доступен в адресной строке браузера..

http://localhost/
http://127.0.0.1/
http://www.zend.local/
http://zend.local/


• phpMyAdmin: Доступен в адресной строке браузера.

http://localhost/phpMyAdmin /
http://127.0.0.1/phpMyAdmin/
http://localhost:10081/phpMyAdmin/
http://127.0.0.1:10081/phpMyAdmin/


ZendServer : Доступен в адресной строке браузера.

http://127.0.0.1:10081/ZendServer/
http://localhost:10081/ZendServer/


• Ваши сайты: Доступпны в адресной строке браузера.

test.com
www.test.com

prosto.com
www.prosto.com




• Ваш сервер готов и рвётся в бой !!!

• Проверочный скрипт:

• Проверьте, может ли новый сервер запускать Magento,
• Для этого создайте файл magento-check.php в директории (/www)
• C:\zs\www\prosto.com\www (или на удаленном в директории public_html) следующего содержания


<?
      extension_check(array(
          'curl',
          'dom',
          'gd',
          'hash',
          'iconv',
          'mcrypt',
          'pcre',
          'pdo',
          'pdo_mysql',
          'simplexml'
      ));
 
      function extension_check($extensions) {
          $fail = '';
 
          if(version_compare(phpversion(), '5.2.0', '<')) {
              $fail .= '<li>PHP 5.2.0 (or greater)</li>';
          }
         
          if(!ini_get('safe_mode')) {
              if(preg_match('/[0-9].[0-9]+.[0-9]+/', shell_exec('mysql -V'), $version)) {
                  if(version_compare($version[0], '4.1.20', '<')) {
                      $fail .= '<li>MySQL 4.1.20 (or greater)</li>';
                  }
              }
          }
         
          foreach($extensions as $extension) {
              if(!extension_loaded($extension)) {
                  $fail .= '<li>'.$extension.'</li>';
              }
          }
 
          if($fail) {
              echo '<p>Your server does not meet the requirements for Magento.';
              echo 'The following requirements failed:</p>';
              echo '<ul>'.$fail.'</ul>';
          } else {
              echo '<p>Congratulations! Your server meets the requirements for Magento.</p>';
          }
      }
      ?>



• Далее запросите в браузере адрес:
http://www.prosto.com/magento-check.php


• В вашем случае по любому, вы увидите вот эту надпись.

• Congratulations! Your server meets the requirements for Magento.
• Поздравляем! Ваш сервер соответствует требованиям Magento.


• Magento Installation Установка стоит на старте ждёт ваших указаний.

prosto.com

Прикрепленное изображение: Magento Installation  Установка.jpg

www.prosto.com

Прикрепленное изображение: Magento Installation  Установка.www.jpg


Прикрепленное изображение: ZendServer CE    Выбор достоин  Вас.jpg

• Это сервер нечета другим, не буду оскорблять и тыкать. В нём как в пятизвёздочном отеле всё включено.
• Для Magento лучше выбора нет.


Zend Server CE




........................................................................................


Просьба к участникам форума:
Не писать комментарии. Вроде, Э типа я не понял что, там буковка не та, или можно другим путём идти.
Эта статья создана для начинающих, и в том числе для тех людей, кто хочет пересесть с Жигулей на Мерседес...
Если вы увидели орфографическую ошибку, или решили поправить меня , то пишите мне лично (в личку). Замечания и предложения я приму во внимания.
Если статья на вас произвела, раздражения или разочарования, ставьте минус.
Если статья на вас произвела, радость и вы нашли то, что искали долго, ставьте плюс.

Поделиться темой: