Дисциплины - Объектно-ориентированное программирование

Приложение - Инструментарий - Серверный инструментарий

Операционная система Ubuntu и её производные поставляются вместе с встроенным сервером Apache2.

Apache

Если необходимо обновить либо переустановить сервер Apache, можем воспользоваться репозиторием apt-get.

sudo apt-get update

sudo apt-get install apache2 (опционально)

sudo service apache2 restart - перезапуск сервиса.

В Ubuntu конечный файл настройки (apache2.conf) расделён на несколько файлов, расположенных в разных поддиректориях. Подробней написано в комментариях файла apache2.conf.

Свои настройки следует сохранять в файлы, расположенные в директории /etc/apache2/conf-available. Для подключения или отключения своих настроек используем соответствующие команды a2enconf или a2disconf. Пример подключения файла со своими настройками:

sudo a2enconf

Настройки виртуальных хостов следует сохранять в файлы, расположенные в директории /etc/apache2/sites-available. Для подключения виртуальных хостов следует использовать соответствующие команды a2ensite или a2dissite. Пример подключения виртуального хоста:

sudo a2ensite

Для указания кодировки по умолчанию следует использовать директиву AddDefaultCharset в файле /etc/apache2/conf-available/charset.conf (или раскомментировать соответствующую строку):

AddDefaultCharset UTF-8

Виртуальные хосты

Файлы настроек виртуальных хостов хранятся в /etc/apache2/sites-available/*.conf. По умолчанию в Apache уже настроен один виртуальный хост. Его настройки лежат в файле 000-default.conf.

Настройки виртуального хоста:

  #Имя хоста
  ServerName host1.server1
  #Корневая папка хоста
  DocumentRoot /var/www/host1.server1
  #Разрешение на перезапись всех директив при помощи .htaccess
  AllowOverride All

Назовем файл настройки именем хоста erud.server1.conf и сохраним.

После создания файла настроек необходимо дописать в /etc/hosts имя вашего хоста: 127.0.0.1 host1.server1 [34]

Для включения созданного виртуального хоста воспользуемся утилитой a2ensite:

sudo a2ensite host1.server1

Отключается хост аналогично утилитой a2dissite:

sudo a2dissite host1.server1

MySQL

По умолчанию в репозиторий пакетов APT в Ubuntu 18.04 включена только последняя версия MySQL. На момент написания этой диссертации это MySQL 5.7 [35].

Установка пакета MySQL осуществляется с помощью следующей команды:

sudo apt install mysql-server

Эта команда установит MySQL, но при этом не предлагается задавать пароль или вносить какие-либо правки в конфигурацию.

Начиная с 2010 года в MySQL 5.5 движок хранения данных InnoDB является основным движком в MySQL, и используется по умолчанию. Отличительными особенностями этого движка являются:

– высокая производительность;

– автоматическое восстановление данных после сбоя;

– автоинкрементируемые значения;

– данные сохраняются в одном или нескольких файлах.

InnoDB - это транзакционная система хранения данных, где даже простые запросы вставки и обновления являются транзакциями. Это значит, что при запросах вставки и обновления данных происходит эксклюзивная блокировка записей: пока не будет выполнен транзакционный запрос для первого клиента, для последующих клиентов исключается возможность других запросов (как чтения, так и записи) [36].

Существует несколько вариантов блокировки: табличная и построчная. При табличной блокировке блокируется и становится недоступной вся таблица. При построчной - только строка. InnoDB поддерживает построчную блокировку [37].

Может возникать проблема конкурентности, или взаимоисключающие транзакции. Для решения таких проблемм, в InnoDB имеется специальный механизм увеличения конкуретности - Myltiversion Concurency Control, задача которого повысить изолированность запросов. Всего существует 4 уровня изолированности:

READ UNCOMMITED

READ COMMITED

REPEATABLE READ

SERIALIZABLE

По умолчанию используется REPEATABLE READ, который блокирует возможность простого чтения, чернового чтения и неповторяющегося чтения. Однако не блокируется возможность фантомного чтения, которое может возникать в результате не правильно настроенный транзакций.

PHP

Язык программирования PHP поставляется вместе с операционной системой Ubuntu и её производными. Для обновления PHP можно воспользоваться следующей командой.

apt-get install php

Кроме того, в процессе разработки нам потребуются некоторые модули для PHP, которые необходимо установить отдельно. Наличие этих модулей обязательно, так как без них не установится Laravel.

apt-get install php-pear php7.0-dev php7.0-zip php7.0-curl php7.0-gd php7.0-mysql php7.0-mcrypt php7.0-xml libapache2-mod-php7.0

Composer

Для установки менеджера зависимостей для PHP - Composer, можно воспользоваться следующими коммандами:

curl -sS https://getcomposer.org/installer | php
mv composer.phar /usr/local/bin/composer

PHPMyAdmin

Кроме сервера базы данных MySQL, нам потребуется система управления базой данных phpMyAdmin.

Для установки обновим наш локальный индекс пакетов, а затем используем систему управления пакетами apt для загрузки и установки необходимых файлов:

sudo apt-get update
sudo apt-get install phpmyadmin php-mbstring php-gettext

В процессе установки будет задано несколько вопросов по конфигурации.

При выборе сервера, выбераем Apache2.

На вопрос, хотим ли мы использовать dbconfig-common для настройки базы данных отвечаем утвердительно.

Далее будет запрошен пароль администратора базы данных и повтор пароля.

В процессе установки в директорию /etc/apache2/conf-enabled/ будет добавлен файл конфигурации phpMyAdmin для Apache2.

Единственное, что мы должны сделать вручную, так это включить расширения PHP mcrypt и mbstring следующими командами:

sudo phpenmod mcrypt
sudo phpenmod mbstring

Далее перезапустим Apache для применения изменений:

sudo systemctl restart apache2

Теперь мы можем осуществить доступ к веб-интерфейсу phpMyAdmin, введя имя домена или публичного статического IP адреса сервера и строки /phpmyadmin:

https://localhost/phpmyadmin

Количество комментариев: 0

Для того, чтобы оставить коментарий необходимо зарегистрироваться
814301 БГУИР
814302 БГУИР
814303 БГУИР
894351 БГУИР
90421 БГУИР


Изображения Видео

1. Абстрактная фабрика https://www.youtube.com/watch?v=1mVONOCxfLg
2. Фабричный метод https://www.youtube.com/watch?v=5UqUDR6_2cY
3. Шаблон декоратор https://www.youtube.com/watch?v=Lwb9bm8yKD0
4. Dessign patterns on PHP https://github.com/domnikl/DesignPatternsPHP
5. Приёмы объектно-ориентированного проектирования. Паттерны проектирования Э. Гамма, Р. Хелм, Р. Джонсон, Д. Влиссидес; [пер. с англ.: А. Слинкин науч. ред.: Н. Шалаев]. — Санкт-Петербург [и др.] : Питер, 2014. — 366 с. : ил. ; 24 см.
6. Приемы объектно-ориентированного проектирования. Паттерны проектирования Э. Гамма, Р. Хелм, Р. Джонсон, Д. Влиссидес; [пер. с англ.: А. Слинкин науч. ред.: Н. Шалаев]. — Санкт-Петербург [и др.] : Питер, 2014. — 366 с. : ил. ; 24 см.
7. Ajax http://erud.by/ajax
8. Ajax http://erud.by/ajax
9. Ajax http://erud.by/ajax
10. Документация Laravel http://laravel.com
Задание к курсовой работе
Задание к курсовой работе
Вопросы к экзамену