Установка и настройка в дистрибутивах Linux основанных на Ubuntu


1. Установка Apache, PHP, MySQL, PhpMyAdmin

Установим пакет программ LAMP, для чего в терминале введем следующие команды:
sudo apt-get update
sudo apt-get install tasksel
sudo tasksel install lamp-server

Если при установке не запрашивался пароль для root пользователя Mysql, то выполните скрипт безопасности командой:
sudo mysql_secure_installation

Настройка аутентификации и привилегий

sudo mysql

SELECT user,authentication_string,plugin,host FROM mysql.user;

Проверим использует ли ваш пользователь root аутентификацию с помощью плагина auth_socket.

Для изменения этой настройки на использование пароля используйте:
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';
FLUSH PRIVILEGES;

Если после ввода пароля у вас возникла ошибка:
ERROR 1819(HY00): Your password does not satisly the current policy requirements.
Это значит, что в соответствии с настройками validate_password_special_char_count в пароле должен быть указан хотя бы один спец.символ, например (!)

Проверим методы авторизации для пользователей ещё раз для того, чтобы убедиться, что пользователь root более не использует плагин auth_socket для авторизации:
SELECT user,authentication_string,plugin,host FROM mysql.user;
exit

Далее можно не делать, если вы будете работать с базой под пользователем 'root'.

Внимание: Если вы включили вход по паролю для пользователя 'root', как описано выше, вам потребуется использовать другую команду для входа в оболочку MySQL. Команда выше запустит оболочку с привилегиями обычного пользователя, для получения привилегий администратора вам необходимо выполнить следующую команду:
mysql -u root -p

Далее создайте нового пользователя и задайте для него надёжный пароль:
CREATE USER 'sammy'@'localhost' IDENTIFIED BY 'password';
Имя этого пользователя и пароль вы будете задавать в файле подключения к базе(Require/opendb.php).

Далее задайте для пользователя подходящий набор привилегий. Например, вы можете дать пользователю доступ ко всем таблицами в базе данных, а также права на добавление, изменение и удаление пользовательских привилегий следующей командой:
GRANT ALL PRIVILEGES ON *.* TO 'sammy'@'localhost' WITH GRANT OPTION;

Обратите внимание на то, что в этом случае вам нет необходимости выполнять команду FLUSH PRIVILEGES. Эта команда необходимо только тогда, когда вы изменяете таблицы доступа (grant tables) используя команды INSERT, UPDATE или DELETE. Поскольку вы создали нового пользователя, а не редактируете права существующего пользователя, команда FLUSH PRIVILEGES не является необходимой.
После этого, выйдите из оболочки MySQL:
exit

Установка PhpMyAdmin

sudo apt-get install phpmyadmin

После установки заменить в папке /usr/share/phpmyadmin все файлы и папки из архива phpMyAdmin-4.9.4-all-languages.zip, включая файл config.inc.php

2. Установка приложения "Учет средств вычислительной техники и связи"

Приложение "УНиД СВТ" функционирует на сервере Apache с использованием скриптового языка PHP, а в качестве базы используется база MySQL.

Создаем папку для сайта

В терминале набираем команду:
sudo mkdir /var/www/unid-svt/

Для установки приложения "УНиД СВТ" необходимо скачать дистрибутив себе на компьютер и распаковать скачанный архив в ранее созданную папку. После распаковки дистрибутива в папке сайта(unid-svt) будет папка "Импорт базы" в которой находится скрипт создания базы данных "dbcbt.sql".

Конфигурационные файлы виртуальных хостов хранятся в каталоге /etc/apache2/sites-available/

Просто скопируйте конфигурацию по умолчанию 000-default.cong в новый файл:
sudo cp /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-available/unid-svt.conf

Теперь полученный файл unid-svt.conf нужно отредактировать:
ServerName unid-svt.ru
DocumentRoot /var/www/unid-svt

Остальное можно оставить по умолчанию.

Сохранить изменения в файле и активировать сайт:
sudo a2ensite unid-svt.conf

Осталось выполнить настройки в файле php.ini:
      1. Необходимо проверить включена ли буферизации. Для этого открыть файд /etc/php/7.2/apache2/php.ini на редактирование. В нем найти строку output_buffering и в ней, если стоит значение off, заменить на on.
      2. По умолчанию строка date.timezone закомментирована. Вам необходимо сделать следующее: по адресу http://php.net/manual/ru/timezones.php выбрать вашу временную зону, скопировать ее в буфер обмена. Найти в файле php.ini эту строку, снять комментарий и после равно вставить сохранненое значение из буфера обмена. Сохранить файл. Перезапустить сервер.(sudo /etc/init.d/apache2 restart)

3. Настройка приложения "Учет средств вычислительной техники и связи"

После того как мы установили и настроили сервер приступаем к настройке приложения УНиД СВТ.

Для импорта базы данных нам понадобиться PhpMyAdmin найти который можно по следующему адресу: localhost/phpmyadmin

ROOT подключение к MySQL

1. Пользователь: root
2. Пароль: (который вы задавали для MySQL)

После подключения к PhpMyAdmin выбрать пункт меню "Импорт" и указать файл из папки "Импорт базы" - dbcbt.sql
После импорта будет создана база dbcbt со всеми таблицами.

Подключение к базе данных задается в файле: Require/opendb.php

Назначение прав доступа на папки сайта

Необходимо установить права доступа "777" на папки "Acts_Works", "Declarations", "Includes", "Plans_Placing", "Export_Excel".

Для этого запускаем консоль. Вводим su и далее пароль root'a. Если дает "Сбой при проверке подлиности" необходимо разблокировать пользователя root. Для этого в терминале вводим: sudo passwd root вводим новый пароль и подтверждаем. Переходим в папку созданного нами сайта(cd / cd var/www/unid-svt) и назначаем права доступа к папкам сайта:

chmod -R 777 Declarations
chmod -R 777 Acts_Works
chmod -R 777 Plans_Placing
chmod -R 777 Includes
chmod -R 777 Export_Excel

Далее назначаем пользователей для этих папок:

chown -R root.www-data Declarations
chown -R root.www-data Acts_Works
chown -R root.www-data Plans_Placing
chown -R root.www-data Includes
chown -R root.www-data Export_Excel

В файле /etc/hosts надо прописать 127.0.0.1 unid-svt.ru

Теперь осталось перезапустить Apache командой
sudo /etc/init.d/apache2 restart

Незабудьте в файде opendb.php установить пароль, который вы задали для root пользователя MySQL. Если вы будете работать с базой не под root'ом, тогда измените имя и пароль в файле.

И последнее:

Перед началом ввода в эксплуатацию приложения "УНиД СВТ" необходимо кое-что изменить в некоторых файлах приложения, а именно в папке "Declarations" найти файл "organization.ini", открыть его на редактирование и в нем после знака = прописать название своей организации.

Если вы ведете закупки оборудования не в российской валюте, то необходимо изменить графический символ валюты. Для этого замените файл currency.png в папке images размером 10х10 пикселей на изображение валюты, которую вы используете.

Также можно заменить файл логотипа на свой. Для этого необходимо создать свой файл logo.gif размером 57х56 пикселей и в папке "images" заменить им находящийся там файл с таким же именем.

В файлы "net.inc", "cd.inc", "fdd.inc", "ed_izm.inc", "tip_channel_ss", "tip_interface_*.inc", "tip_*.inc", "format_*.inc" в папке "Includes" можно вносить изменения и дополнения. Каждая строка этих файлов содержит 2 поля. Первое поле это то, что будет занесено в базу. Второе поле это то, что увидит пользователь при заполнении формы ввода. Разделителем полей является символ "|"(вертикальная черта), который должен встречаться единожды в каждой строке. Изменить эти файлы можно через раздел "Администрирование" приложения пункт Редактирование справочников из папки "Includes".

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

Для того чтобы войти в приложение локальным пользователем надо с компьютера, где у вас установлен Apache, в адресной строке браузера набрать адрес: http://имя вашего домена