Файл сервер на линукс с web интерфейсом. Админим с комфортом. Разбираемся с веб-панелями управления Linux-сервером. Вам так же понравится

В данной статье будет рассмотрена полная настройка готового WEB сервера хостинга сайтов на основе дистрибутива UBUNTU 16.04

Для удобства работы с командной строкой удалённого сервера, рекомендую использовать программу PuTTY.

Подготовка сервера

1. Обновить пакеты сервера

sudo apt-get update
sudo apt-get upgrade

2. Устанавливаем пакет компонентов Apache, MySQL, PHP (LAMP)

sudo apt-get install lamp-server^

Символ ^ в конце обязателен - это часть команды

Во время установки MySQL будет выведен запрос на создание пароля root (это отдельный пароль администратора именно для SQL сервера, а не для основного администратора сервера).

Проверяем установку web-сервера http:// - должна отобразиться тестовая страница apache.

3. Устанавливаем phpMyAdmin

sudo apt-get install phpmyadmin
sudo service apache2 restart

Необходимо выполнить следующие команды:

sudo ln -s /etc/phpmyadmin/apache.conf /etc/apache2/conf-available/phpmyadmin.conf
sudo a2enconf phpmyadmin
sudo /etc/init.d/apache2 reload

sudo apt-get install php-mbstring php-gettext
sudo phpenmod mcrypt
sudo phpenmod mbstring
sudo systemctl restart apache2

Проверяем доступность интерфейса http:///phpmyadmin

4. Устанавливаем FTP (для удобства работы с файлами)

Во время установки будет предложено выбрать один из двух различных вариантов установки:

From inetd - демон ProFTPd будет работать из-под службы inetd.
Standalone - ProFTPd будет установлен как самостоятельный демон.

После установки ftp сервер будет запущен и можно подключаться.

Однако, желательно его дополнительно настроить:

sudo nano /etc/proftpd/proftpd.conf

Раскомментировать значение RequireValidShell off и DefaultRoot ~

После настройки FTP нужно перезапустить:

sudo /etc/init.d/proftpd restart

5. Установка apache2-mpm-itk

Этот модуль нужен, чтобы сервер Apache мог рабтать с файлами сайта от имени владельца папки.

По умолчанию на директорию с файлами сайта распространяются права 755 и права 644 на все файлы. Это даёт права на запись файлов и папок только их владельцем. По этой причине при работе с файлами через FTP и Apache (например через интерфейс CMS) файлы будут сзданы от имени разных пользователей и возникают проблемы с их изменением или удалением. В решении именно этой проблемы и помогает данный модуль. Он указывает в настройках хоста каждого сайта от имени какого пользователя и группы будет работать Apache в указанной директории.

sudo apt-get install libapache2-mpm-itk
sudo a2enmod mpm_prefork
sudo a2enmod mpm_itk
sudo systemctl restart apache2

6. Включение mod_rewrite (для возможности работы ЧПУ)

sudo a2enmod rewrite
sudo service apache2 restart

Начало создания сайта

7. Создаём пользователя и каталога для работы с сайтами

sudo useradd -m -s /bin/false имя_пользователя
sudo passwd имя_пользователя

( имя_пользователя - новый пользователь, от имени которого будут выполняться работы с сайтом. Это поможет разграничить права при работе с несколькими сайтами на одном сервере)

На предложение системы вводим пароль нового пользователя (дважды)

После создания пользователя размещаем отдельный каталог для сайта (например www ), зайдя новым пользователем по FTP в домашний каталог, либо следующей командой:

sudo mkdir /home/имя_пользователя /www
sudo chown -R имя_пользователя : группа_пользователя /home/имя_пользователя /www /

(Т.к. в предыдущей команде, при создании пользователя для него не была указана существующая группа, то была автоматически создана группа с таким же именем, как имя пользователя. Т.е. в команде выше имя пользователя равно имени группы пользователя)

8. Создаём виртуальный хост для сайта

Создаём файл конфигурации виртуального хоста из варианта по-умолчанию

sudo cp /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-available/новый_сайт .conf

Редактируем параметры

sudo nano /etc/apache2/sites-available/новый_сайт .conf

Изменяем и дополняем следующие значения:

DocumentRoot /home/имя_пользователя/www
ServerName новый_сайт
ServerAdmin webmaster@localhost

AllowOverride All
Require all granted


AssignUserId имя_пользователя группа_пользователя

Включаем созданный виртуальный хоста и перезапускаем apache

sudo a2ensite новый_сайт

9. Создаём базу данных MySQL

Необходимо зайти в кансоль управления mysql

При этом система запросит пароль root от mysql (именно от mysql, который задавался при установке LAMP). При удачном входе в кансоль mysql значение перед курсором сменится на mysql> . После этого создание новой базы sql и пользователя для управления ею можно выполнить одной командой:

create database имя_базы ; GRANT ALL ON имя_базы .* TO "пользователь_базы "@"localhost"IDENTIFIED BY "пароль_пользователя_базя_sql ";

Для выхода из кансоли mysql нужно ввести команду

На этом можно закончить. Полноценный хостинг для сайта готов.

Дополнительно для удобства управления и контроля за сервером через WEB-интерфейс можно установить панель управления Webmin

Также дополнительно можно настроить параметры работы PHP ("по вкусу" - например размер загружаемых фалов в параметре upload_max_filesize = 2M)

Для UBUNTU 16.04:

sudo nano /etc/php/7.0/apache2/php.ini

Для UBUNTU 14.04:

sudo nano /etc/php5/apache2/php.ini

Для jqgrid существует 4 вcтроенных механизма фильтрации данных

  1. Опция search:true в параметрах футера грида. Выражается в появлении иконки в футере, по нажатию на которую появляется диалог поиска по одному полю. Минусы в том, что поле только одно, используется текстовое поле для задание искомой величины и набор операторов универсален (общий) для всех полей.
  2. Конструкция

    jQuery("#mysearch" ) .filterGrid ("#grid_id" , { ...} )

    Она создает на странице в месте элемента “#mysearch” поисковую панель. Набор полей в панели и элементов управления для них статичен и определяется по colModel или по специальной опции filterModel. Минус в статичности панели (пользователь не может менять набор полей) и в том, что поисковые условия посылаются в отдельных post-параметрах, а не в json-массиве. Это плохо ложится на концепцию универсального источника данных (server-side) для грида. Так же используется только один оператор сравниения для всех условий (равно).

  3. Опция multipleSearch:true футера грида. В футере появляется кнопка поиска, по нажатию на которую появляется диалог. В этом диалоге можно добавлять поисковые условия и объединять их всех условием OR или условием AND. Минус данной возможности в том, что как элемент управления для задания значений поиска используется только текстовое поле. Операторы сравления тоже всегда одинаковые.
  4. Поисковый toolbar.

    jQuery("#toolbar" ) .jqGrid ("filterToolbar" , { stringResult: true } ) ;

    Его минус в использовании тестовых полей и постоянного оператора справления (равно). Все условия объединяются одним только общим (AND).

Как мы видим все 4 механизма поиска имеют ряд недостатков. Эти недостатки и призван решить новый компонент smartSearchPanel.

    Средство системного администрирования Webmin , представляет собой бесплатное программное обеспечение, облегчающее работу системных администраторов операционных систем семейства Linux .

Webmin представляет собой простой веб-сервер, и несколько сотен скриптов, написанных на языке Perl , с помощью которых выполняются команды конфигурирования отдельных элементов системы, системных служб и самого Webmin. Практически, Webmin - это удобная панель управления, доступная через веб-браузер, а модули Webmin - это внешний интерфейс к консольным утилитам. При настройках по умолчанию, для доступа к Webmin достаточно в любом обозревателе открыть URL

https://host:10000

https://localhost:10000 - обычно, при настройках по умолчанию, доступ к средствам Webmin возможен только через петлевой интерфейс.

Не смотря на то, что работа в среде Webmin достаточно проста и имеется неплохая справочная документация, необходимо понимать что для выполнения задач администрирования, в первую очередь требуются знания, хотя бы базовые, которые невозможно заменить никакими инструментами. Webmin - это всего лишь средство, облегчающее администрирование, упрощающее рутинные действия, позволяющее отображать данные в удобном для восприятия виде и выполнять настройки с меньшими затратами сил и средств.

Для тех, кто приступил к изучению Linux, Webmin позволит, в первую очередь, сэкономить время затрачиваемое на скучные и утомительные задачи.

Webmin работает фактически на всех *nix-платформах, включая Linux, AIX, HPUX, Solaris, OS X и другие. Он может работать практически на любом графическом браузере как локально так и удаленно. Данные передаваемые между сервером и браузером могут шифроваться при помоощи SSL. Кроме того, для начинающего системного администратора Linux полезным свойством может быть то, что в Webmin имеется возможность изменить используемый язык и тему оформления.

Установка и настройка Webmin .

Скачать инсталляционный пакет Webmin под конкретный дистрибутив Linux можно с сайта проекта www.webmin.com в разделе Downloads :

Установка должна выполняться под учетной записью суперпользователя и может быть выполнена либо в консоли, либо с использованием графической оболочки и Центра Приложений Ubuntu (Ubuntu Software Center) . Второй способ проще - достаточно открыть скачиваемый установочный пакет Webmin в Центре приложений:

После загрузки установочного пакета будет выполнена установка Webmin и модулей, необходимых для удовлетворения зависимостей, что будет отражено в Центре приложений статусом "Установлено " (Installed).

Установка Webmin из консоли с использованием Advanced Packaging Tool (APT) потребует некоторых дополнительных действий из -за того, что репозиторий релизов Webmin отсутствует в списке источников для установки программного обеспечения Ubuntu и чтобы его подключить, необходимо в конфигурационный файл /etc/apt/sources.list добавить строку:

deb http://download.webmin.com/download/repository sarge contrib

Http://download.webmin.com/download/repository/ - определяет каталог с источниками - пакетами для установки Webmin.

Sarge - семейство процессоров архитектуры Intel x86

Contrib - дополнительное программное обеспечение.

После сохранения sources.list необходимо ыкачать и установить GPG-ключ, используемый в качестве удостоверяющей подписи репозитория. Переходим в каталог /root :

cd /root

Скачиваем ключ:

wget http://www.webmin.com/jcameron-key.asc

Устанавливаем ключ в своей системе:

apt-key add jcameron-key.asc

Также, нужно установить поддержку транспорта HTTPS для инструментов APT:

apt-get install apt-transport-https

После этого необходимо выполнить пересинхронизацию файлов описаний пакетов с их источниками из sources.list :

apt-get update

После завершения синхронизации выполнить установку Webmiin из репозитория разработчика:

apt-get install webmin

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

Package: webmin

Status: install ok installed

Priority: optional

Installed-Size: 134432

Maintainer: Jamie Cameron [email protected]

Architecture: all

Replaces: webmin-adsl, webmin-apache, webmin-bandwidth,

Provides: webmin

Depends: perl, libnet-ssleay-perl, openssl, libauthen-pam-perl, libpam-runtime, libio-pty-perl, apt-show-versions, python

Pre-Depends: perl

/etc/pam.d/webmin

/etc/init.d/webmin

Description: web-based administration interface for Unix systems

Using Webmin you can configure DNS, Samba, NFS, local/remote filesystems and more using your web browser. After installation, enter the URL

Https://localhost:10000/ into your browser and login as root with your root password.

Работа с Webmin .

В правой части основного окна отображается информация о системе, в левой - разделы, доступные для настройки с использованием Webmin:

Webmin - настройки модуля Webmin - настройка слушаемых сервером адресов и портов, настройки пользователей, язык и тема оформления, журналы действий, резервное копирование и т.п.

System - информация и системные настройки - управление пользователями, процессами, службами, файловыми системами, системными журналами, резервное копирование и управление приложениями.

Servers - настройки для установленных в системе серверов DNS, DHCP, FTP и т.п.

Others - прочие инструменты для администрирования - командная оболочка, менеджер файлов, SSH-клиент и т.п.

Networking - сетевые настройки, средства мониторинга сетевого трафика, брандмауэры и т.п.

Hardware - системное время, средства управления принтерами, разделами на дисках, запись на CD/DVD

Cluster - управление несколькими системами, объединенными в кластер. Webmin устанавливается на одной из систем, входящих в кластер, и взаимодействие с остальными осуществляется через протокол удаленного вызова процедур RPC (Remote Procedure Call .

Un-used Modules - неиспользуемые модули Webmin - модули которые были установлены, но в системе нет объектов для их использования. Если после установки Webmin выполнялась, например, установка сервера SSH, то для перевода его из категории неиспользуемых в категорию "Servers" (Серверы) необходимо выполнить обновление модулей (Refresh Modules в меню Webmin)

Search - контекстный поиск в Webmin

View Module"s Logs - просмотр журналов изменений для отдельных модулей Webmin.

System Information - отображение информации о системе - имя узла, версия ОС, информация о процессоре, версия ядра и т.п..

Refresh Modules - обновить модули. Для того, чтобы изменения в составе модулей вступили в силу нужно завершить сеанс работы с Webmin (кнопка Logout) и повторно авторизоваться.

Logout - выход из Webmin

Для того, чтобы использовать Webmin с русским интерфейсом, нужно в меню Webmin выбрать пункт Change Language and Theme и установить персональный выбор Personal choice - русский язык Russian (RU_RU) и нажать кнопку Make Changes . Выйти из Webmin и авторизоваться повторно.

При выполнении настроек с помощью Webmin необходимо учитывать тот факт, что в большинстве случаев, для того, чтобы сделанные настройки вступили в силу, требуется нажатие кнопки "Применить настройки" (Apply Changes) и для некоторых сервисов - остановка и запуск. Многие модули Webmin, кроме собственных сценариев настроек позволяют выполнить прямое редактирование конфигурационных файлов, что позволяет выполнять настройки, не реализованные в текущей версии модуля.

Настройка сети в Webmin .

Для настройки сети используется меню "Сеть" - "Настройка сети"

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

В списке активных интерфейсов присутствуют eth0 и lo . Для изменения настроек активного интерфейса нужно нажать на ссылку с его именем, например - eth0.

Все изменения для выбранного сетевого интерфейса будут применены только после нажатия кнопки "Сохранить". Если же нажать "Вернуться к списку сетевых интерфейсов", то изменения настроек игнорируются.

Как видим, имеется возможность изменения стандартных параметров - IP-адреса, маски, широковещательного адреса, MTU, MAC-адреса. Разрешать или запрещать использование IPv6 и настраивать его параметры, а также добавлять виртуальные сетевые интерфейсы.

Для возврата к предыдущему пункту меню модуля Webmin можно пользоваться ссылками, расположенными в самом низу активного окна, или кнопкой "Назад" используемого браузера.

В данной конфигурации сети существует определенная проблема, связанная с тем, что при установке Ubuntu Linux Desktop 13.04 на данном оборудовании, имя компьютера не привязано к непетлевому сетевому интерфейсу, что видно в пункте настроек "Адреса узлов":

Как видно, имени компьютера UbDesk13 соответствует адрес 127.0.0.1 , так же как и имени localhost что может привести к различным проблемам с использованием данного компьютера в локальной сети. Для того, чтобы устранить данную проблему, необходимо удалить строку:

127.0.0.1 UbDesk13

Отметив ее галочкой и нажав кнопку "Удалить выбранные адреса хоста". Затем нажать "Добавить новый адрес узла", и ввести адрес непетлевого интерфейса (в данном примере 192.168.0.248 на eth0) и имя (UbDesk13). После нажатия на кнопку "Создать" эти данные будут записаны в файл /etc/hosts и имя UbDesk13 будет разрешаться в IP-адрес 192.168.0.248 .

Вместо удаления существующей записи об адресе узла и добавления новой, можно было воспользоваться простым ее редактированием, изменив адрес 127.0.0.1 на 192.168.0.248.

Будет интересно узнать как можно получить удобный доступ с помощью webmin в ubuntu server. Лучшего инструмента для управления unix сестемами через веб-интерфейс.

Посредством webmin – можно не только удобно просматривать логи, вносить правки в конфигурацию установленных служб, но и устанавливать пакеты, удалять их, обновлять систему и т.д. Даже получить доступ к терминалу!

Webmin – представляет собой готовый веб-сервер с целой кучей скриптов. Все прелести его использования можно будет прочуствовать после установки.

Установка Webmin

В первую очередь нужно добавить репозитории webmin в файл /etc/apt/sources.list

sudo nano /etc/apt/sources.list

В самый конец файла добавляем две строчки:

Deb http://download.webmin.com/download/repository sarge contrib deb http://webmin.mirror.somersettechsolutions.co.uk/repository sarge contrib

Сохраняем и закрываем файл. Теперь импортируем ключи

wget http://www.webmin.com/jcameron-key.asc

sudo apt-key add jcameron-key.asc

Обновляем список источников пакетов

sudo apt-get update

установим webmin

sudo apt-get install webmin

Запуск Webmin

После успешной установки пакета, открывайте браузер и переходите по адресу

https://IP-адрес-сервера:10000/

вместо “IP-адрес-сервера ” введите либо IP адрес сервера, либо его имя. Если все сделали правильно, то вы увидите приглашение ввести логин и пароль

Введите в поля свои логин и пароль к серверу, после чего вы попадете на главную страницу webmin

Первое что мы сделаем – поменяем язык на Русский. Для этого перейдем в пункт меню “Webmin ” — “Change Language and Theme ” и установим кодировку Russian (RU.UTF-8)
После применения изменений, нужно обновить страницу. Отлично! Теперь у вас полностью русифицированный webmin


Маленький обзор webmin

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

В разделе “Webmin” – представлены инструменты для работы с самим модулем webmin. Настройка пользователей, доступов, резервного копирования и т.д.

В разделе “Система” – представлены инструменты для работы с основным функционалом сервера. В этом разделе можно найти журналы логов, проводить операции с пользователями и группами, обновлять ПО, управлять активными процессами, работать с расписанием заданий (Cron) и многое другое.

В разделе “Сеть” можно настроить сетевые интерфейсы, а также настроить firewall

В разделе “Оборудование” можно просмотреть подключенное к серверу оборудование, а также просмотреть разделы локальных дисков.

Раздел “Кластер” описывать не буду. С кластерами не работал.

Теперь и вы сможете настроить webmin в ubuntu server и пользоваться им из любой точки земного шара.