Домашний хостинг. Установка и настройка локального сервера

Домашний хостинг. Установка и настройка локального сервера

Сегодня мы разберем домашний хостинг, его установку и настройку сервера. Сервер — компьютер, на котором лежат файлы вашего сайта. Работает он с помощью специальной программы Apache. По запросу браузера Apache преобразовывает информацию в HTML и графические данные, формируя понятную пользователю картинку на мониторе.

Домашний хостинг

Список необходимых программ

Ниже мы перечислим список необходимых программ для начала работы. 

php-5.3.5-Win32-VC6-x86.msi
mysql-5.5.9-win32.msi
httpd-2.2.25-win32-x86-openssl-0.9.8y.msi

Дополнительно можно скачать еще такие программы. 

pspad \ pspad454inst_en.exe
pspad \ ru_dic.cab
phpMyAdmin-3.5.8.2-all-languages.7z
HeidiSQL_6.0_Setup.exe

Все данные программы являются бесплатными. Мы рекомендуем вам не использовать новейшие версии программ с тегами «Альфа (Alpha), Бета (Beta) «. Суть в том, что в Альфа и Бета версиях могут присутствовать баги и прочие ошибки. Рекомендуемые для использования версии с тегом «Stable» — стабильные. 

http://httpd.apache.org/download.cgi
http://windows.php.net/download/ (скачиваем «installer», только «VC6 x86 Thread Safe». VC9 — устанавливать с Apache нельзя)
http://www.mysql.com/downloads/mysql/ (нажать «Looking for previous GA versions?», «essential» = необходимый минимум)
http://www.imagemagick.org/script/index.php

Софт для работы с базами данных

http://www.heidisql.com/download.php
http://www.phpmyadmin.net/home_page/downloads.php
http://www.devart.com/ru/dbforge/

Текстовые редакторы

http://www.pspad.com/ru/
http://notepad-plus.sourceforge.net/ru/site.htm

Хостинговые компании чаще всего используют связку Unix + Apache. Или как аналог Windows Server 200X +  Internet Information Server. Для практики, экспериментов или тестирования можно использовать такие связки как: Windows Vista, Vista + Apache. 

Создание локального виртуального сервера для тестирования сайтов 

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

Первое с чего стоит начать — создание папок.

c:/sueqa/test.com/www/
c:/sueqa/beta/www/

Сразу заливаем туда PHP файлы, для планируемого тестирования хостинга. Данные папки мы далее будем указывать в настройках Apache. Папки требуется создавать заранее. Если папка не будет указана в настройках Apache, то Apache просто не запустится. 

Общая папка для всех виртуальных сайтов — c:/sueqa. Название и расположение на диске может быть любым. 

Папки непосредственно сайтов — c:/sueqa/test.com/  c:/sueqa/beta/ в них располагаются скрытые данные: статистика, пароли, служебные файлы, логи. 

Видимость в браузере 

c:/sueqa/test.com/www/
c:/sueqa/beta/www/

Тут хранятся файлы сайтов, картинки HTML и прочее. Если мы наберем в браузере test.com, то нам будет отображено содержимое данной папки. 

2. Устанавливаем Apache. 

Apache — специальная программа, преобразующая код в изображения, текст, страницы сайта в браузере. Для принятия запросов только с локального ПК необходимо сделать следующее. Устанавливаем его неизменяемый IP и порт. После выполнения данной функции вносить изменения сможете только вы. 

Настройка Apache c://Program Files (x86)/Apache Software Foundation/Apache2.2/conf/httpd.conf для вступления изменений в силу Apache необходимо перезапустить. 

Заменяем с вами:
Listen 90 — Listen 128.0.1.1:90

Для реализации понятных адресов используется модуль mod_rewrite.so. Используется для создания ссылок на страницах вида: test.com/news/2018\07\19 Убираем знак комментария «#» LoadModule rewrite_module modules/mod_rewrite.so

Чтобы убрать предупреждения в логах Apache снова убираем знак комментария «#»
ServerName localhost:90

Для возможности использования файлов htaccess необходимо сделать следующие замены:
Изменяем
AllowOverride None
на
AllowOverride All
—-

Для корректной работы запуска файлов по запросу браузера необходимо внести следующие изменения.

Заменяем
DirectoryIndex index.html
на
DirectoryIndex index.html index.htm index.php

Укажем путь для файла ошибок(можно выбрать любое удобное для вас место) 

ErrorLog «c:/sueqa/_/apache_error.log»

Выдаем доступ и настройки к папке Work, производим следующие изменения:

<Directory «C:/Program Files (x86)/Apache Software Foundation/Apache2.2/cgi-bin»>
AllowOverride None
Options None
Order allow,deny
Allow from all
</Directory>

Добавляем:

<Directory «C:/sueqa«>
AllowOverride All
Options Indexes FollowSymLinks Includes
Order allow,deny
Allow from all
</Directory>

Indexes — функция по возвращению клиенту листинг каталога, если там отсутствуют индексные файлы.
FollowSymLinks — функция, необходимая для использования символических ссылок( необходимо для работы mod_rewrite)
Includes — Разрешает выполнение SSI директив в файлах

Указываем расширение файлов для SSI

После кода :

# To parse .shtml files for server-side includes (SSI)

Вставить:

AddType text/html .shtml .html. .htm
AddOutputFilter INCLUDES .shtml .html .htm

Сделаем присоединение к основному конфигурационному файлу httpd-vhosts.conf

Убираем знак комментария «#» и тогда при запуске Apache прочитает оба файла. Include conf/extra/httpd-vhosts.conf

Далее вносим изменения в файл. Нам необходимо дать понять Apache, что есть виртуальный сайт, файлы располагаются здесь — «DocumentRoot», показывать конкретный сайт при запросе домена «ServerName» или «ServerAlias» и отправлять логи в данные папки ErrorLog» и «CustomLog» 

Для этого переходим C:\Program Files (x86)\Apache Software Foundation\Apache2.2\conf\extra\httpd-vhosts.conf 
И удаляем старые данные 
<virtualhost>

</virtualhost>
и добавляем новые:

<VirtualHost *:90>
DocumentRoot c:/sueqa/test.com/
ServerName test.com
ServerAlias www.test.com
ErrorLog c:/sueqa/test.com/error.log
CustomLog c:/sueqa/test.com/access.log common
</VirtualHost>

<VirtualHost *:90>
DocumentRoot c:/sueqa/beta/www
ServerName beta
ErrorLog c:/sueqa/beta/error.log
CustomLog c:/sueqa/beta/access.log common
</VirtualHost>

3. Установка PHP

Используем один из лучших языков программирования для создания сайтов — PHР.

При установке НЕ ВЫБИРАЕМ следующие модули. 


Oracle (10)
PDO — Oracle10g
PDO — Oracle8i\Oracle9i
PDO — SQLite (External Driver)
Pspell
Sybase

 

Далее нам необходимы настройки PHP в файле. Найти мы их можем тут — C:\Program Files (x86)\PHP\php.ini

по умолчанию кодом PHP считается все в контейнере <?php … ?>
short_open_tag = On

Выставляем время выполнения программ в секундах 
max_execution_time = 3600

 Максимальное время получения данных в секундах 
max_input_time = 3600

Далее необходимо выставить максимальный объем памяти, который сможет занять ваш PHP скрипт.
memory_limit = 256M

Вывод на экран ошибки PHP. На реальных хостингах рекомендуется выставлять в положение OFF в целях безопасности, нам это необходимо в целях тестирования.
display_errors = On

Вывод на экран ошибок в момент запуска PHP
display_startup_errors = On

Производим замену пути папок для временных файлов, ошибок и сессий. 
upload_tmp_dir=»C:\sueqa\_\php_temp»
session.save_path=»C:\sueqa\_\php_session»
error_log=»C:\sueqa\_\php-errors.log»

Для PHP необходимо выставить время сервера, иначе он будет постоянно выдавать предупреждения.
Заменяем
;date.timezone =
например, на
date.timezone =’Europe/Moscow’

Для работы заглушки для отправки e-mail производим следующие замены.
sendmail_path = php.exe c:\sueqa\_\sendmail\sendmail.php
тогда при выполнении функции PHP — mail(); письмо будет сохранено в виде файла в папке
c:\sueqa\_\sendmail\

Может произойти следующее. Инсталлятор PHP не прописывает в файле httpd.conf путь к PHP. Для исправления этой ошибки нам необходимо вручную прописать. 
#BEGIN PHP INSTALLER EDITS — REMOVE ONLY ON UNINSTALL
PHPIniDir «C:/Program Files (x86)/PHP»
LoadModule php5_module «C:/Program Files (x86)/PHP/php5apache2_2.dll»
#END PHP INSTALLER EDITS — REMOVE ONLY ON UNINSTALL

4. Установка ImageMagick

Данная программа необходима для работы с изображениями. Ее преимущество перед стандартной библиотекой PHP GD2 — выдача картинок в более высоком качестве.

После установки самой программы, необходимо скопировать в папку с модулями, модуль для ImageMagick.
C:/Program Files (x86)/PHP/ext/php_imagick_dyn-Q16.dll
В конце php.ini добавляем строчку подключения модуля:
extension=php_imagick_dyn-Q16.dll
Рекомендуется перезагрузить компьютер. 

5. Установка MySQL

MySQL — база данных. Для хранения данных использование файлов — не лучший выбор. Чаще и лучше всего использовать базы данных. При установке, необходимо поставить галочку include Bin Directory in Windows PATH, иначе PHP не сможет находить файлы в базе данных.

Для подключения к БД изначально указаны
логин: root
пароль: root
(изменить их можно в файле config.php)

При установке данной базы данных указываем UTF-8 так-как она является универсальной, многобайтовой кодировкой. 

Настройки MySQL лежат в файле:
c:\Program Files (x86)\MySQL\MySQL Server 5.1\my.ini

Если ваш SQL использует UTF-8, то вносить изменения в файлы настроек не стоит. И появляющиеся проблемы лучше решать с помощью менеджера MySQL — например HeidiSQL.

6. Настройка Windows 

Нам необходимо дать установку для ОС. Чтобы поиск происходил не в интернете, а на ПК вносим следующие изменения. 

C:\WINDOWS\system32\drivers\etc\hosts
добавляем:

128.0.1.1 localhost
128.0.1.1 test.ru
128.0.1.1 www.test.ru
128.0.1.1 bebebe

Строка «128.0.1.1 localhost» необходима для подключения не через IP, а через зарезервированное имя «localhost».

7. Перезагрузка Apache 

Для Windows Vista / 7 будет достаточно перезапустить Apache. Для более поздних версий потребуется перезагрузка вашего ПК. 

Настройка программы phpMyAdmin

phpMyAdmin — специальная программа для администрирования БД MySQL. Она построена на основе языка PHP, работающая в браузере. 

Сперва распаковываем все файлы в папку на сайте, например 
c:/sueqa/beta/www/tty
В корне переименовать файл
config.sample.inc.php
в
config.inc.php
редактируя всего одну строку (надо указать любой код, например «YYY»):
$cfg[‘blowfish_secret’]=’YYY’;
Запускаем phpMyAdmin, набрав в браузере:
beta/tty
Вводим логин и пароль которые указывали при установке MySQL

При отсутствии строки «128.0.1.1 localhost» в C:\WINDOWS\system32\drivers\etc\hosts  может наблюдаться проблема в зависании и выдачи ошибки типа #2002 — Сервер не отвечает необходимо сделать следующее.

Это можно исправить  изменив в настройке phpMyAdmin:
$cfg[‘Servers’][$i][‘host’] = ‘localhost’;
на
$cfg[‘Servers’][$i][‘host’] = ‘127.0.0.1’;
но правильнее внести строку
128.0.1.1 localhost
в файл hosts.

Вот мы с вами и завершили гайд по тому, как сделать домашний хостинг.  Рекомендуем для прочтения статью как перенести сайт на новый домен.

 

Sueqa.com - блог о компьютерах и не только

Sueqa.com - блог о компьютерах и не только

Оставить комментарий

avatar
  Подписаться  
Уведомление о