Показать сообщение отдельно

  #2  
Старый 20.02.2011, 01:38
foozzi
Новичок
Регистрация: 13.04.2010
Сообщений: 0
С нами: 8462565

Репутация: 0
По умолчанию

Продолжение​

Примечание: рекомендую для большего удобства создать сразу ярлык для этого файла, например в папке C:\xampp, чтобы потом можно было быстро добавлять новые виртуальные хосты.

Все что находится в файле httpd-vhosts.conf мы трогать не будем, а просто добавим наши хосты (просто скопируйте и вставьте в файл приведенный ниже код):

Код:
NameVirtualHost *:80

    DocumentRoot "C:\xampp\htdocs"
    ServerName localhost

    ServerAdmin webmaster@blog.local
    DocumentRoot "C:\my_projects\blog.local\www"
    ServerName blog.local
    ServerAlias www.blog.local
    ErrorLog "C:\my_projects\blog.local\logs\error.log"
    CustomLog "C:\my_projects\blog.local\logs\access.log" combined
  
    AllowOverride All
    Order allow,deny
    Allow from all
Верхний виртуальный хост, выделен другим цветом, позволит нам по прежнему заходить на localhost (локальный сайт XAMPP).

Следующим шагом нам потребуется добавить две строчки в файл hosts, расположенный по следующему адресу C:\Windows\System32\drivers\etc\hosts (также рекомендую создать для него ярлык в папке сервера):

127.0.0.1 blog.local

127.0.0.1 www.blog.local

Заходим в панель управления XAMPP (XAMPP Control Panel) и перезапускаем Apache. Теперь проверим наш сайт, который должен работать по адресу www.blog.local. Если все сделано верно, то мы увидим приветствие «Hello world!».

Так как скорее всего понадобится создание нескольких сайтов на локальном сервере, приведу пример добавления хостов в файл httpd-vhosts.conf. Предположим новый сайт будет называться site.local:

Код:
NameVirtualHost *:80

    DocumentRoot "C:\xampp\htdocs"
    ServerName localhost

    ServerAdmin webmaster@blog.local
    DocumentRoot "C:\my_projects\blog.local\www"
    ServerName blog.local
    ServerAlias www.blog.local
    ErrorLog "C:\my_projects\blog.local\logs\error.log"
    CustomLog "C:\my_projects\blog.local\logs\access.log" combined
  
    AllowOverride All
    Order allow,deny
    Allow from all
  

    ServerAdmin webmaster@site.local
    DocumentRoot "C:\my_projects\site.local\www"
    ServerName site.local
    ServerAlias www.site.local
    ErrorLog "C:\my_projects\site.local\logs\error.log"
    CustomLog "C:\my_projects\site.local\logs\access.log" combined
  
    AllowOverride All
    Order allow,deny
    Allow from all
Также не забываем добавить следующие строчки в файл hosts в папке Windows:

127.0.0.1 site.local

127.0.0.1 www.site.local

Перезапускаем Apache и новый хост готов для работы.

По аналогии можно добавить сколько угодно виртуальных хостов.

Немного справочной информации относительно того, что мы добавляем в файл httpd-vhosts.conf:

ServerAdmin webmaster@blog.local— e-mail-адрес администратора веб-сервера;

DocumentRoot "C:\my_projects\blog.local\www" — путь к папке с сайтом;

ServerName blog.local — название сайта, которое набирается в браузере, может иметь любое значение, например blog или blog.ru;

ServerAlias www.blog.local — адрес по которому сайт также должен открываться;

ErrorLog "C:\my_projects\blog.local\logs\error.log" — журнал ошибок;

CustomLog "C:\my_projects\blog.local\logs\access.log" combined — журнал доступа к сайту, кто и когда заходил на сайт и с какого браузера, combined — означает, что отчет будет более информативным, можно заменить значением common (менее информативно);

AllowOverride All

Order allow,deny

Allow from all

Приведенная выше конструкция разрешает отображение всех файлов в указанной директории и назначает максимально возможные привилегии (без AllowOverride All не будут работать ЧПУ).

Если делали все внимательно, то создание новых сайтов на виртуальном сервере не составит для вас труда, ошибки могут быть из-за синтаксиса, к примеру если вы допустите ошибку в httpd-vhosts.conf, Apache может просто не запустится. Для анализа ошибок воспользйтесь логами Apache, файл error.txt расположенный в по адресу C:\xampp\apache\logs.

«Отладочная заглушка» для sendmail

Если вы пользовались Denwer-ом, то помните, что все письма с локального сайта отправлялись в папку sendmail, это достаточно удобно, но в XAMPP такой функции не предусмотрено, в XAMPP есть собственный почтовый сервер, но он потребует немало времени, чтобы с ним разобраться.

С помощью описанной ниже инструкции, вы сможете создать такую же «заглушку» как и в Denwer.

1. В папке sendmail (C:\xampp\sendmail) создадим файл sendmail.php с кодом:

Код:

В моем случае предполагается получение писем в кодировке UTF-8, если вы хотите получать письма в в кодировке CP1251, то замените строчку:

Цитата:
Сообщение от None  
fwrite($fp,$stream);
2.В файле php.ini (C:\xampp\php) заменяем строчку:

Код:
sendmail_path = "C:\xampp\sendmail\sendmail.exe -t"
на строчку:

Код:
sendmail_path = C:xamppphpphp.exe c:xamppsendmailsendmail.php
Строка должна быть раскомментирована (убрать символ точки с запятой «;» в начале строки).

3. Создадим папку sendmail в папке tmp (C:\xampp\tmp\sendmail).

4. Перезапускаем сервер Apache и теперь все отправленные письма будут в папке C:\xampp\tmp\sendmail

Дополнительная информация по XAMPP.

Расположение конфигурационных файлов:

Apache Grundkonfiguration: .\xampp\apache\conf\httpd.conf

Apache SSL: .\xampp\apache\conf\ssl.conf

Apache Perl (nur mit Addon): .\xampp\apache\conf\perl.conf

Apache Tomcat (nur mit Addon): .\xampp\apache\conf\java.conf

Apache Python (nur mit Addon): .\xampp\apache\conf\python.conf

PHP: .\xampp\apache\conf\php.ini(der aktuell benutzten Version)

MySQL: .\xampp\mysql\bin\my.cnf

phpMyAdmin: .\xampp\phpMyAdmin\config.inc.php

FileZilla FTP: .\xampp\FileZillaFTP\FileZilla Server.xml

Mercury Mail Grundkonfiguration: .\xampp\MercuryMail\MERCURY.INI

Sendmail: .\xampp\sendmail\sendmail.ini
 
Ответить с цитированием