Диплом: Система управления контентом сайта szn-ksk.yanao.ru

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам
13
HostNameLookups – подключает поиск в DNS, чтобы host имена могли
регистрироваться в log-файлах.
IdentityCheck – включает регистрацию, соответствующую RFC1413,
удаленного имени пользователя для каждого соединения, где клиентская
машина выполняет identd или что-нибудь подобное.
<IfModule> – этот раздел используется, чтобы отметить директивы,
которые являются условными для определенного модуля.
KeepAlive – включает Keep-Alive поддержку.
KeepAliveTimeout – задает число секунд, которое Apache будет ждать
следующий запрос перед закрытием соединения.
<Limit> – используется, чтобы включить группу директив управления
доступом, которые затем применяются только к определенным методам
доступа.
MaxClients – устанавливает ограничение числа одновременно
обслуживаемых запросов.
MaxKeepAliveRequests – ограничивает число допустимых запросов на
одно соединение, когда KeepAlive включен.
MaxRequestsPerChild – устанавливает ограничение числа запросов
обрабатываемых порожденнным процессом сервера.
MaxSpareServers – устанавливает желательное максимальное число
неактивных порожденнных процессов сервера.
MinSpareServers – устанавливает желаемое минимальное число
неактивных порожденнных процессов сервера.
Options – определяет, какие особенности сервера являются доступными
в данном каталоге.
PidFile – устанавливает файл, в котором сервер записывает
идентификатор процесса daemon.
Port – устанавливает номер порта, на котором работает Apache.
Require – устанавливает пользователей имеющих доступ к каталогу.
14
ResourceConfig – устанавливает файл с дополнительными директивами
после чтения httpd.conf файла.
RLimitCPU – задает ограничение ресурса центрального процессора.
RLimitMEM – устанавливает ограничение ресурса оперативная память.
RLimitNPROC – устанавливает ограничение числа процессов на
пользователя.
Satisfy – определяет стратегию доступа, если используются allow и
require.
ScoreBoardFile – используется в некоторых архитектурах, чтобы
разместить файл, используемый сервером для связи между порожденными
процессами и родительским.
SendBufferSize – устанавливает размер буфера TCP.
ServerAdmin – устанавливает адрес электронной почты, который сервер
включает в любые сообщения об ошибках, которые он возвращает клиенту.
ServerAlias – устанавливает альтернативные имена хостов, для
использования с virtual host.
ServerName – устанавливает hostname сервера, это используется только
для переадресации URL.
ServerPath – устанавливает наследование имени URL для хоста, чтобы
использовать virtual host.
ServerRoot – устанавливает корневой каталог сервера.
ServerType – устанавливает то, как сервер запускается в системе.
StartServers – устанавливает число порожденных процессов сервера при
запуске.
TimeOut – определяет количество времени, которое Apache будет
ожидать три вещи: Общее количество времени, которое набежит за GET запрос,
количество времени между получением TCP пакетов на POST или PUT запросе,
количество времени между ACK на передачах TCP пакетов в ответах.
User – устанавливает userid, под которым сервер отвечает на запросы.
15
Для примера воспользуемся сервером Apache используемым в
дистрибутиве Ubuntu server. Данный дистрибутив и все пакеты в репозитории
Ubuntu официально поддерживаются фирмой Canonical.
Для установки Web сервера Apache на Ubuntu, достаточно набрать
команду sudo apt-get install apache2.
Свои настройки следует сохранять в файлы, расположенные в
директории /etc/apache2/conf-available. Для подключения или отключения своих
настроек следует использовать соответствующие команды a2enconf и a2disconf.
Пример подключения файла со своими настройками:
sudo a2enconf <config-name>
Настройки виртуальных хостов следует сохранять в файлы,
расположенные в директории /etc/apache2/sites-available. Для подключения
виртуальных хостов следует использовать соответствующие команды a2ensite и
a2dissite. Пример подключения виртуального хоста:
sudo a2ensite <site-name>
Для запуска сайта создается конфигурационный файл, содержащий
минимальный набор директив примерно следующего вида.
<VirtualHost *:80>
#Имя хоста
ServerName szn-ksk.yanao.ru
#Корневая папка хоста
DocumentRoot /var/www/szn-ksk.yanao.ru
<Directory /var/www/szn-ksk.yanao.ru>
#Разрешение на перезапись всех директив при помощи
.htaccess
AllowOverride All
</Directory>
</VirtualHost>
Данный файл необходимо сохранить под именем szn-ksk.yanao.ru.conf в
каталоге /etc/apache2/sites-available. Далее создать каталог
16
/var/www/szn-ksk.yanao.ru. Затем помещаем туда все файлы, нашей CMS.
Осталось только установить и настроить сервер управления базами данных
MySQL и сервер приложений PHP.
17
1.2 База данных MySQL
Сервер управления базами данных MySQL на сегодняшний день
является одним из самых используемых при построении сайтов. Официальный
сайт СУБД mysql.com. Для скачивания последней актуальной версией данной
СУБД необходимо перейти на сайт mysql.com в раздел Download. На сегодня
официально поддерживается много версий СУБД, но самой актуальной
является версия MySQL 5.7. Так же все дистрибутивы Linux хранят в своих
репозиториях исходные коды или бинарные пакеты данной СУБД.
Программное обеспечение MySQL является очень быстрым
многопоточным, многопользовательским и надежный сервером баз данных
SQL (англ. structured query language — язык структурированных запросов).
MySQL является товарным знаком корпорации Oracle. Программное
обеспечение MySQL имеет двойную лицензию. Пользователи могут
использовать программное обеспечение MySQL в качестве продукта с
открытым исходным кодом в соответствии с GNU General Public License.
Для установки MySQL достаточно скачать установочный файл для
операционной системы window или ОС linux, так же можно скачать исходные
коды СУБД и скомпилировать бинарные файлы самому. После чего, можно
запустить файлы на установку. Например, для установки СУБД MySQL на
операционной системе Ubuntu необходимо в консоли набрать apt-get install
mysql.
СУБД MySQL управляется через встроенную утилиту mysql.
Соединение с базой данных по умолчанию устанавливается по протоколу
TCP/IP на порт 3306. Основной файл настройки данной СУБД, так же как и в
Apache - текстовый и вся настройка СУБД сводится к редактированию
конфигурационного файла. Конфигурационный файл разбит на секции, в
которых указываются переменные и их значения.
В секцию [mysqld] можно задать следующие переменные
18
character-set-server=utf8
collation-server=utf8_general_ci
init-connect="SET NAMES utf8"
Здесь character-set-server обозначает кодировку для всего сервера,
collation-server - порядок символов и строк на основе алфавитного порядка и
классов эквивалентности, init-connect - строка, выполняемая для каждого
клиента при соединении.
Приведем еще некоторые настройки конфигурационного файла.
Базовые настройки
low-priority-updates – эта опция снижает приоритет операций
INSERT/UPDATE по сравнению с SELECT. Данная директива актуальна, если
данные важно быстрее прочитать, чем записать.
skip-name-resolve – говорит СУБД, не определять доменные имена для
IP-адресов подключающихся клиентов. При этом пользовательские разрешения
нужно настраивать не на хосты, а на IP-адреса. Если вы соединяетесь с
сервером только с локальной машины, то особого значения не имеет. Для
внешних соединений ускорит установку соединения.
skip-networking – говорит СУБД, не использовать сеть, то есть вообще не
обрабатывать TCP/IP соединения. Общение с сервером при этом будет
происходить исключительно через сокет. Рекомендуется, если у вас нет ПО,
которое использует только TCP/IP для связи с сервером.
Ограничения
bind-address – устанавливает интерфейс, который будет слушать сервер.
В целях безопасности рекомендуется установить в качестве интерфейса
127.0.0.1, если вы не используете внешние соединения с сервером.
max_allowed_packet – устанавливает максимальный размер данных,
которые могут быть переданы за один запрос.
max_join_size – запрещает SELECT операторы, которые
предположительно будут анализировать, более указанного числа строк или
больше указанного числа поисков по диску. Используется для защиты от
19
кривых запросов, которые пытаются считать миллионы строк. Значение по
умолчанию более 4 миллиардов.
max_connections – задает максимальное количество параллельных
соединений к серверу.
max_sort_length – указывает, сколько байт от начала полей типа BLOB
или TEXT использовать при сортировке. Значение по умолчанию 1024.
Настройки потоков
thread_cache_size – указывает число кэшируемых потоков. После
обработки запроса, сервер не будет завершать поток, а разместит его в кэше,
если число потоков, находящих в кэше меньше, чем указанное значение.
Значение по умолчанию 0.
Кэширование запросов
query_cache_size – задает размер кэша. 0 отключает использование кэша.
query_cache_limit – устанавливает максимальный размер кэшируемого
запроса.
query_cache_min_res_unit – задает минимальный размер хранимого в
кэше блока.
query_cache_type – задает режим кэширования, принимает одно из
значений - (OFF, DEMAND, ON). OFF отключает кэширование, DEMAND –
кэширование будет производиться только при наличии директивы
SQL_CACHE в запросе, ON включает кэширование.
query_cache_wlock_invalidate – определяет будут ли данные браться из
кеша, если таблица, к которым они относятся, заблокирована на чтение.
Кэш запросов можно представить себе как хэш-массив, ключами которого
являются запросы, а значениями - результаты запросов. Кроме результатов,
MySQL хранит в кэше список таблиц, выборка из которых закэширована. Если
в любой из таблиц, выборка из которой есть в кэше, происходят изменения, то
MySQL удаляет из кэша такие выборки. Также MySQL не кеширует запросы,
результаты которых могут измениться.
20
При запуске MySQL выделяет блок памяти размером в query_cache_size.
При выполнении запроса, как только получены первые строки результата
сервер начинает кэшировать их. Он выделяет в кэше блок памяти, равный
query_cache_min_res_unit, записывает в него результат выборки. Если не вся
выборка поместилась в блок, то сервер выделяет следующий блок и так
далее. В момент начала записи MySQL не знает о размере получившейся
выборки, поэтому если записанный в кэш размер выборки больше, чем
query_cache_limit, то запись прекращается и занятое место освобождается.
Тайминги
interactive_timeout – время в секундах, в течение которого сервер
ожидает активности со стороны интерактивного соединения, прежде чем
закрыть его.
log_slow_queries – указывает серверу куда логировать медленные
запросы (выполняющиеся дольше long_query_time). В качестве значения
передается полное имя файла (например /var/log/slow_queries).
long_query_time – задает время превышая которое запрос считается
долгим. Указывается время в секундах.
net_read_timeout – устанавливает время в секундах, в течение которого
сервер будет ожидать получения данных, прежде чем соединение будет
прервано.
net_write_timeout – задает время в секундах, в течение которого сервер
будет ожидать получения данных, прежде чем соединение будет прервано.
wait_timeout – устанавливает время в секундах, в течение которого
сервер ожидает активности соединения, прежде чем прервет его.
Буферы
key_buffer_size – задает размер буфера, выделяемого под индексы и
доступного всем потокам. Весьма важная настройка, влияющая на
производительность. Значение по умолчанию 8 МБ.
max_heap_table_size – задает максимальный допустимый размер
таблицы, хранящейся в памяти. Значение по умолчанию 16 МБ.
21
myisam_sort_buffer_size – задает размер буфера, выделяемого MyISAM
для сортировки индексов при REPAIR TABLE или для создания индексов при
CREATE INDEX, ALTER TABLE. Значение по умолчанию 8 МБ.
net_buffer_length – устанавливает объем памяти, выделяемый для буфера
соединения и для буфера результатов на каждый поток. Буфер соединения
будет указанного размера и буфер результатов будет такого же размера, то есть,
на каждый поток будет выделен двойной размер. Устанавливает начальное
значение буфера, и при необходимости буферы будут увеличиваться вплоть до
max_allowed_packet. Размер по умолчанию 16 КБ.
read_buffer_size – задает объем памяти для каждой таблицы в потоке при
последовательном сканировании таблиц. Размер по умолчанию 128 КБ.
read_rnd_buffer_size – задает размер буфера для запросов с "ORDER
BY", то есть для запросов, результат которых должен быть отсортирован и
которые обращаются к таблице, имеющей индексы. Значение по умолчанию
256 КБ.
sort_buffer_size – задает размер буфера для потоков, производящий
операции сортировки (ORDER BY) или группировки (GROUP BY). Значение по
умолчанию 2 МБ.
table_open_cache – указывает количество кэшированных открытых
таблиц для всех потоков. Значение по умолчанию 64.
tmp_table_size – устанавливает максимальный размер памяти,
выделяемой для временных таблиц, создаваемых MySQL для своих внутренних
нужд. Это значение также ограничивается переменной max_heap_table_size. [9]
Зачастую для создания сайта, с целью обеспечения безопасности,
используют настройку, которая обеспечивает работу СУБД MySQL
исключительно на локальном сервере. Сервер базы данных отвечает только на
запросы с интерфейса localhost. Данная настройка исключает атаки на СУБД из
вне.
22
1.3. Язык программирования PHP
Язык программирование php можно установить двумя способами, как
отдельное приложение, запускающее на исполнение файлы с расширением
*.php, или как модуль, устанавливаемый в Web сервер. Php это
интерпретируемый язык программирования с динамической типизацией,
имеющий открытый исходный код. Его можно бесплатно скачать с
официального сайта php.net. На сегодняшний момент существует две активные
ветки php это ветка 5.x и 7.х. Данные версии активно разрабатываются и
постоянно поддерживаются сообществом разработчиков.
На официальном сайте можно скачать как исходные коды, так и
бинарные пакеты для установки php. Php как и Web сервер Apache модульный и
поэтому легко расширяется. Существует много модулей для php, которые
добавляют в него определенный функционал. Для сборки из исходных кодов
языка программирования php необходимо в конфигурационном файле configure
вписать необходимые при сборке модули.
В большинстве дистрибутивов linux как и в windows используются
готовые бинарные пакеты. Установка с использованием бинарных файлов
происходит гораздо быстрее. Например, для установки php версии 5.x в
операционной системе Ubuntu, достаточно набрать команду apt-get install php5.
Так же, для работы CMS нам необходимо, что бы php мог обращатся к базе
данных и для этого нужно установить компонент php5mysql. Если
устанавливать из бинарного пакета, то такая поддержка включена по
умолчанию. Для сборки из исходных кодов необходимо указать
/configure -- with-mysql.
После того, как php будет установлен, следует, настроить его
стандартным образом отредактировав конфигурационный файл php.ini.
Приведем описание основных директив конфигурационного файла
php.ini.

Смотрите также:

"Автоматизация обработки заявок ООО "Проектно-Строительная Компания"
"Автоматизация процесса аттестации персонала для ООО "Нэт Бай Нэт Холдинг"
"Анализ интернет-активности конкурентов ( на примере конкурентов "Газпром нефть")
"Бухгалтерский учёт и аудит расчётов с подотчётними лицами в организации на примере ООО "ЛОЦ 10""
«Психологическое сопровождение персонала в организации на примере ООО «Крокус»
Cовершенствование деловой оценки персонала в организации (на примере ООО "Даймонд кейтеринг развитие")
PR как средство продвижения организации (на примере ПАО "Тамбовский завод "Комсомолец им. Н.С. Артемова")
PR-коммуникации в сфере общественного питания (на примере кафе-кондитерской «Cream Cheese»)
SMM как средство повышения эффективности работы учреждений социокультурной сферы (на примере Малого театра)
Value-based education: ценности в системе образования и способы их реализации на уроке английского языка. Опыт Европейских стран