Страницы

1 октября 2017 г.

MajorDomo. Установка и настройка основных компонентов системы


Установка и настройка основных компонентов системы (Web-сервер, SQL, MajorDomo)

Обновить систему:

sudo apt-get update
sudo apt-get dist-upgrade

Установить необходимые пакеты:
sudo apt-get install phpmyadmin git apache2 apache2-bin apache2-data apache2-utils libapache2-mod-php libapache2-mod-php7.0 php7.0-bz2 php7.0-cli php7.0-common php7.0-curl php7.0-gd php7.0-json php7.0-mbstring php7.0-mcrypt php7.0-mysql php7.0-opcache php7.0-readline php7.0-xml dbconfig-mysql mysql-client-5.7 mysql-client-core-5.7 mysql-common mysql-server mysql-server-5.7 mysql-server-core-5.7 php-mysql php7.0-mysql -y

Создать симлинк для PHPMyAdmin
sudo ln -s /usr/share/phpmyadmin /var/www/phpmyadmin

Включить rewrite для Apache
sudo a2enmod rewrite

Берем систему MajorDoMo с GitHub
cd /usr/src
sudo git clone https://github.com/sergejey/majordomo.git

Переместить в директорию Web-сервера
sudo cp -rp /usr/src/majordomo/* /var/www
sudo cp -rp /usr/src/majordomo/.htaccess /var/www

Создать конфиг для системы:
sudo cp /var/www/config.php.sample /var/www/config.php

Назначить права для директории с системой:
sudo chown -R www-data:www-data /var/www
sudo find /var/www/ -type f -exec sudo chmod 0666 {} \;
sudo find /var/www/ -type d -exec sudo chmod 0777 {} \;

Создать сервис для запуска. 
Создать файл  /etc/systemd/system/majordomo.service
sudo nano /etc/systemd/system/majordomo.service

Заменить следующим содержимым:
[Unit]
Description=MajorDoMo

[Service]
Requires=mysql.service
Requires=apache2.service
Type=simple
WorkingDirectory=/var/www
ExecStart=/usr/bin/php /var/www/cycle.php
Restart=always
User=www-data
Group=www-data

[Install]
WantedBy=multi-user.target

Отключить режим "Strict mode" для MySQL (для избавления от наследственных ошибок).
Открыть на редактирование файл /etc/mysql/conf.d/disable_strict_mode.cnf
sudo nano /etc/mysql/conf.d/disable_strict_mode.cnf

Добавить строки:
[mysqld]
sql_mode=IGNORE_SPACE,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION

Настроить Apache:
sudo sed -i 's/None/All/g' /etc/apache2/apache2.conf
echo "ServerName localhost" | sudo tee -a /etc/apache2/apache2.conf
sudo sed -i 's/\/html//' /etc/apache2/sites-available/000-default.conf

Если файла 000-default.conf нет, он может называться по-другому. Например:
default.conf

Поправить конфиг Apache
sudo nano /etc/apache2/sites-available/000-default.conf

В более новых версиях Apache конфигурационный файл может быть пуст. В таком случае необходимо вручную привести файл к виду:
<VirtualHost *:80>
  DocumentRoot /var/www
  <Directory />
    Options FollowSymLinks
    AllowOverride All
  </Directory>
  <Directory /var/www>
    Options Indexes FollowSymLinks MultiViews
    AllowOverride All
    Order allow,deny
    allow from all
  </Directory>

  ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
  <Directory "/usr/lib/cgi-bin">
    AllowOverride None
    Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
    Order allow,deny
    Allow from all
  </Directory>

  ErrorLog ${APACHE_LOG_DIR}/error.log
  CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

Настроить PHP для Apache:
sudo nano /etc/php/7.0/apache2/php.ini

Строку error_reporting привести к виду:
error_reporting  =  E_ALL & ~E_NOTICE

А так же строки:
max_execution_time - С 30 меняем на 90
max_input_time - С 60 на 180
post_max_size - С 8M на 200M
upload_max_filesize - С 2M на 50M
max_file_uploads - С 20 на 150


Настроить PHP для командной строки
sudo sed -i '/short_open_tag/s/Off/On/' /etc/php/7.0/cli/php.ini
sudo nano /etc/php/7.0/cli/php.ini

Строку error_reporting привести к виду:
error_reporting  =  E_ALL & ~E_NOTICE

А так же строки:
max_execution_time - С 30 меняем на 90
max_input_time - С 60 на 180
post_max_size - С 8M на 200M
upload_max_filesize - С 2M на 50M
max_file_uploads - С 20 на 150

Перезапуск служб:
sudo systemctl daemon-reload
sudo apache2ctl restart
sudo service mysql restart

Добавить систему в автозагрузку:
sudo systemctl enable majordomo

Создание базы данных db_terminal
Зайти по адресу:
http://localhost/phpmyadmin

При входе будет запрошен логин, его необходимо указать как: root, и пароль который был установлен для MySQL.
Создать базу данных db_terminal и импортировать в нее db_terminal.sql из директории с дистрибутивом. Скачать можно по ссылке: db_termina.sql.

Далее выполнить последовательность действий для создания и импорта sql файла.
В левой части окна нажать "Создать БД". В поле "Имя базы данных" ввести: db_terminal.
В левой части окна выбрать созданную БД, путём нажатия один раз на её название.
В верхней части окна найти кнопку "Импорт".
В загрузившейся странице, в разделе "Импортируемый файл" нажать "Выберите файл" или "Обзор".
В открывшемся окне, выбрать ранее сохраненный файл "db_terminal.sql".
В нижней части окна нажать "Вперёд".
После успешного импорта должна отобразится зелёная строка с подобным текстом:
Импорт успешно завершён, выполнено 171 запросов. (db_terminal.sql)

Теперь необходимо создать пользователя и предоставить этому пользователю права на созданную базу данных.
Для этого в левой части окна phpMyAdmin нажимаем на название БД: db_terminal. Далее необходимо нажать "Привелегии" в правой части окна вверху. Будет отображена страница с уже существующими пользователями которые имеют доступ к этой БД. Для создания нового пользователя необходимо нажать "Добавить учетную запись пользователя" в разделе "Новый".
Ввести:
Имя пользователя:
Пароль:
Подтверждение:

Проверить чтобы была установлена галочка: "Предоставить все привилегии на базу данных "db_terminal".". Для завершения создания пользователя, в самом низу страницы нажать "Вперед". В случае успеха, будет отображено сообщение:
"Вы добавили нового пользователя".

Правка основного конфига.
Изначально скопировать пример конфига в рабочий конфиг:
sudo cp /var/www/config.php.sample /var/www/config.php
config.php.sample может называться config.php.example

Установить собственника и группу для конфига:
sudo chown www-data: /var/www/config.php

И открыть конфиг для редактирования:
sudo nano /var/www/config.php

Прописать имя пользователя и пароль пользователя БД. Для этого нужно исправить строки:
Define('DB_USER', 'root');
Define('DB_PASSWORD', '');

Где: DB_USER - пользователь которого создали выше.
DB_PASSWORD - пароль от этого пользователя.

Все, теперь можно зайти на веб интерфейс Majordomo.
http://localhost/
или:
http://sever_ip/
Если установка выполняется не на локальную машину.

При первом входе должна быть отображена страница: "Hello, world! :)" на которой необходимо выбрать тайм зону, язык системы и цветовую тему. По завершении нажать кнопку "Continue".
В случае если такая страница не отобразилась, открыть её можно по ссылке:
http://localhost/popup/first_start.html

Запустить основной цикл системы:
sudo systemctl start majordomo

Перезагрузить систему:
sudo shutdown -r now

Комментариев нет:

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