Скрипт настройки сервера линукс

Обновлено: 04.07.2024

Для установки vsDesk на Ubuntu server, необходимо выполнить чистую установку ОС на выделенный или виртуальный сервер. Для работы системы требуется Ubuntu server X64 16.04.03 LTS или 18.04 LTS . Выполните установку с настройками по умолчанию. При выборе Программного обеспечения во время установки, необходимо дополнительно выбрать ТОЛЬКО OpenSSH server, остальные компоненты должны быть оставлены в значениях, заданных по умолчанию.

Так же, вы можете скачать готовый образ для автоматической установки ПО на Ubuntu server 16.04 x64. Нужен только доступ в интернет для получения всех зависимостей. При установке, Ubuntu предложит создать пароль для пользователя root для MySQL сервера, вам необходимо задать и запомнить пароль. После установки из образа в консоли выполните команду для установки корректных параметров консоли:

Процесс установки вручную можно посмотреть на видео:

После установки ОС, Вам нужно загрузить скачанный дистрибутив демо или полной версии на свежеустановленный Ubuntu server. Сделать это можно по протоколу SFTP с использованием файловых менеджеров или приложения WinSCP , если вы используете Windows окружение. Предполагаем, что вы скопировали дистрибутив в домашний каталог пользователя.

После этого выполните поочередно следующие команды:

После этого запустится скрипт установки зависимостей. В процессе установки от вас потребуется дважды ввести пароль для mySQL пользователя root. В обоих случаях введите СТРОГО пароль "root" без кавычек. По завершении установки зависимостей, веб-установщик или рабочая демо-версия системы будут доступны в браузере по IP-адресу сервера. Процесс установки зависимостей можно посмотреть на следующем видео:

Установка зависимостей на другие Linux дистрибутивы

Ниже приведены требования для установки системы на другие Linux системы без использования скрипта установки зависимостей. Если вы выполнили установку зависимостей из скрипта, то данные действия выполнять не нужно, сразу перейдите к установке системы. Требования для установки системы:

Необходимо зменить файлы php.ini на файл из дистрибутива /lib/php.ini /etc/php/php7.0/apache2/php.ini и /etc/php/php7.0/cli/php.ini

Необходимо скопировать файл из дистрибутива /lib/ioncube_loader_lin_7.0.so в папку /usr/lib/php/

Учтите что указанные пути и названия пакетов могут отличаться в зависимости от версии ОС.

После этого скопируйте с заменой из дистрибутива файл /lib/000-default.conf директорию /etc/apache2/sites-enabled или вносим изменения в данном разделе, заменив AllowOverride None на AllowOverride All или замените содержимое файла на:

Распакуйте содержимое дистрибутива в папку /var/www/vsdesk и задайте права на запись для пользователя из под которого запускается веб-серер apache2.

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

После создания БД, наберите в браузере URL вашего домена, например,


Если хотя бы одно требование не будет выполнено, то установка не будет продолжена.


После выполнения всех требований можете продолжить установку системы.


На данном этапе необходимо ввести корректные параметры подключения к БД: 1. Хост БД - адрес MySQL сервера, на котором располагается БД. 2. Имя БД - имя базы созданной на этапе предварительной настройки сервера. 3. Пользователь БД - учетная запись, имеющая права на запись в выбранную БД. 4. Пароль БД - пароль учетной записи, имеющей права на запись в выбранную БД. 5. Создавать базу, если она не существует - данный переключатель позволяет создать базу с указанным именем в БД, при наличии прав. 6. Новая установка? - переключатель позволяет выбрать вариант установки - новая Установка или Обновление с предыдущей версии ПО. 7. Проверить подключение к БД - кнопка позволяет проверить подключение с указанными параметрами. Если указанное имя БД не существует, то проверка покажет ошибку, в данном случае можно продолжать установку и БД будет создана.

Параметры отправки уведомлений и настройки планировщика


Параметры отправки уведомлений и настройки планировщика


Рассмотрим конфигурирование сети в операционных системах по управлением Red Hat Enterprise Linux (RHEL) / CentOS / Fedora.

Коротко о дистрибутивах:

Red Hat Enterprise Linux (RHEL) - Операционная система на снове Linux выпускаемая компанией Red Hat для корпоративного использования и распространяется по годовой платной подписке. Состоит из хорошо провереных и отлаженных компонентов.

Fedora - Операционная система выпускаемая также компанией Red Hat, но в отличие от RHEL проект Fedora распространяется свободно, на Fedore тестируются новых разработки компании Red Hat, которые в дальнейшем уже испольуются для корпоративно дистрибутива RHEL.

CentOS - Операционная система основанная на исходном коде RHEL и по сути является ее клоном. Проект был создан и поддерживается интернациональной командой энтузиастов.

Основные конфигурационные файлы.

Сетевые настройка осуществляется методом правки конфигурационных файлов, т.к. Fedora и CentOS основаны на RHEL, то и сами файлы настроек и их расположение однинаковое, поэтому дальнейшие примеры настроек будут подходить ко всем трем дистрибутивам.

Файл настройки общей интформации /etc/sysconfig/network

В этом файле задается сетевое имя компьютера (HOSTNAME), дефолтный маршрут (GATEWAY), DNS-домен (DOMAINNAME).

Пример конфигурации в файле network для Red Hat / CentOS / Fedora.

Скрипты настройки сетевых интерфейсов /etc/sysconfig/network-scripts/ifcfg-*

В этих файлах настраиваются основные данные для сетевых интерфейсов такие как ip адрес (IPADDR), сетевая маска (NETMASK), адрес сети (NETWORK), braodcast адрес (BROADCAST). Под звездочкой понимается имя сетевого интерфейса, например eth0, eth1, eth2, lo и т.п., зависит от количества установленных сетевых карт в системе.

Приведу пример файла cо статической настройкой сетевых параметров интерфейса eth0 для Red Hat / CentOS / Fedora.

Пример файла с настройкой интерфейса eth1 на получаение сетевых адресов по протоколу DHCP для Red Hat / CentOS / Fedora.

Также во всех система присуствует файл с настройками loopback интерфеса (lo).

Файл настройки статических маршрутов /etc/sysconfig/static-routes

Все записи о статических маршрутах содержащемся в этом файле будут автоматически добавлены при загрузке системы в таблицу маршрутизации. В формае записи маршрута сначала идет интерфейс, можно указать any, что будет означать любой интерфейс, потом идет тип маршрута (host - адрес хоста или net - адрес сети) , сеть, маска данной сети, и шлюз.

Скрипт для настройки статических маршрутов для конкретного интерфейса /etc/sysconfig/network-scripts/route-eth0

Если данного файла вы ненайдете в системе неотчаивайтеь просто создайте его и пропишити нужный вам маршрут.

Файл /etc/hosts

Впоследнее время неактуален раньше использовался для соответствия списока ip-адресов и символьных имен.

Файл настроек DNS серверов /etc/resolv.conf

В этом файле перечисляется список ip адресов DNS серверов.

Управление сетевыми интерфейсами.

Для просмотра состояния и конфигурации интерфейса существуют специальные команды.

Посмотреть таблицу маршрутизации модно используя команду:

В Red Hat Enterprise Linux (RHEL) / CentOS / Fedora существуют специальные сценарии для управления сетевыми интерфейсами.

Сценарии ifup и ifdown позволяют включить или отключить сетевой интерфейс. В качестве аргумента эти сценарии принемают имя интерфейса.

Сценарий service network или /etc/init.d/network позволяют включить (start), отключить (stop) или перезапустить (restart) все интерфейсы разом.

И на последок, функция маршрутизации между интерфейсами по умолчанию отключена, однако ее можно включить для этого надо добавить в файл /ete/sysctl.conf запись net.ipv4.ip_forward=1 и перезапустить систему.

На этом рассмотрение настройки сети в операционных системах Red Hat Enterprise Linux (RHEL) / CentOS / Fedora завершено.

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

Зачем нужны скрипты
Во-первых, администрирование linux-сервера в той или иной степени сводится к систематическому выполнению одних и тех же команд. Причем не обязательно, чтобы эти команды выполнял человек. Их можно запрограммировать на выполнение машиной.
Во-вторых, даже просто выполнение обычной задачи, которая (вдруг) составляет 20-1000. однообразных операций ГОРАЗДО проще реализовать в скрипте.

Что такое скрипт
Скрипт - набор инструкций, которые должен в определенном порядке и в определенное время выполнить компьютер. Инструкциями могут быть как внутренние команды оболочки (циклы, условия, обработка текстовой информации, работа с переменными окружения и прочее), так и любая программа, выполняемая нами в консоли с необходимыми параметрами.

Напутствие
Я Вам искренне советую писать как можно больше комментариев чуть ли ни к каждой строчке в скрипте. Пройдет время и Вам понадобится изменить или модернизировать написанный когда-то скрипт. Если не помнишь или не понимаешь, что написано в скрипте, то становится сложно его изменять, проще писать с нуля.

Какие скрипты могут нам понадобиться:
устанавливающий правила файервола при загрузке системы.
выполняющий backup настроек и данных.
добавляющий почтовые ящики в почтовый сервер (точнее в базу mysql)
запускающий в определенное время (лучше каждую ночь) программу, которая сканирует логи прокси-сервера и выдает удобный web-отчет по количеству скачанного трафика.
отправляющий нам на почту информацию о том, что кто-то получил доступ к нашему серверу по ssh, время подключения и адрес клиента.

О методике написания скриптов
Создаем текстовый файл, редактируем его, устанавливаем права на выполнение, запускаем, смотрим ошибки, исправляем, запускаем, смотрим ошибки.
Когда все вылизано и работает правильно, ставим его в автозагрузку либо в планировщик на определенное время.

В данном посте обсуждаются базовые принципы написания скриптов и работа планировщика заданий в Oracle Linux. Рассматриваются следующие вопросы:

1. Скрипты в ОС Linux

Скрипты в ОС на базе Linux – это набор команд, записанных в файл. Это делается с целью быстрого и удобного вызова последовательности этих команд. Скрипты могут выполнять самые разные задачи – от автоматизации рутинных действий системного администратора до реализации сложных алгоритмов для ИТ инфраструктуры. При этом результаты работы команд могут служить входными данными для других задач (команд).

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

Права на исполнение даются командой chmod. Например,

chmod +x filename.sh

Данная команда дает всем пользователям операционной системы право на запуск файла с именем filename.sh

Право на запуск того же файла только владельцу можно дать следующей командой: chmod u+x filename.sh.

Расширение .sh не обязательно, но таким образом легче определять, какой файл является скриптом.

Ниже рассматривается пример написания простейшего скрипта, копирующего все файлы из папки /home/rustam/Documents в папку /tmp/backup.

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

Исполнение отдельных команд без хранения результатов работы ограничивают их возможности.

Существуют два типа переменных, которые используются в bash-скриптах:

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

Можно использовать системную переменную $HOME в двойных кавычках, что не помешает ее распознаванию системой.

В дополнение к переменным среды, bash-скрипты позволяют задавать и использовать в скрипте свои собственные переменные. Подобные переменные хранят значение до тех пор, пока не завершится выполнение сценария. Как и в случае с системными переменными, к пользовательским переменным обращаются используя знак доллара:

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

2. Что такое планировщик заданий. Работа сервиса cron.

Часто возникают ситуации, в которых приходится автоматизировать различные задачи по обслуживанию и работе с Linux с помощью скриптов. В этом случае удобно, если скрипт выполняет необходимые команды без участия пользователя. Для этого настраивается автоматический запуск требуемого скрипта в заданное время.

Для указанной настройки в Linux используется системный сервис cron. Это планировщик, который позволяет выполнять необходимые скрипты раз в час, раз в день, неделю или месяц, а также в любое заданное время или через любой интервал времени. Сервис cron также часто используется другими службами операционной системы.

Для настройки времени, даты и интервала выполнения задания, используется специальный синтаксис файла cron и специальная команда. Не рекомендуется непосредственно редактировать файл /etc/crontab. Вместо этого используется команда crontab. Ниже запускается команда crontab с ключом –e для редактирования файла

Рекомендуется ее выполнять с опцией -e, тогда для редактирования правил используется текстовый редактор по умолчанию. После выполнения команды открывается временный файл, в котором записаны текущие правила cron и есть возможность добавлять новые. Добавленные правила запускаются именно от того пользователя, от имени которого они были добавлены.

Файлы crontab, используемые для управления работой планировщика, располагаются в каталоге /etc/cron.d/. Кроме того, в каталогах /etc/cron.daily/, /etc/cron.weekly/ и /etc/cron.monthly/ размещаются автоматически запускаемые программы (ежедневно, еженедельно или ежемесячно).

Вывод содержимого текущего файла позволяет команда:

Таблица crontab состоит из 6 колонок, которые разделяются пробелами или табуляторами. Первые пять колонок отвечают за время выполнения, соответственно, минута, час, день месяца, месяц, день недели. В них может находиться: число, список чисел (1,2,3), диапазон чисел (1-3), символы * или /. Все остальные символы в строке интерпретируются как выполняемая команда с ее параметрами – можно указать как саму команду (например, echo “Доброе утро”), так и путь к исполняемому скрипту.


Как запускать скрипты через cron

Скрипты запускаются через cron, указанием команды либо пути к скрипту в последней колонке.

Обязательно требуется прописывать полный путь к команде, так как для команд, запускаемых от имени сервиса cron, переменная пользовательской среды PATH будет отличаться, и сервис не сможет найти команду.

Пример запуска ранее созданного скрипта filename.sh, который копирует файлы каждый день в 23:00:

или копирует файлы каждые 5 минут:

3. Примеры

Ниже приведены примеры настройки и работы cron:

Читайте также: