Файл сервер на линукс с web интерфейсом. Программный маршрутизатор на linux с веб интерфейсом, софтовый роутер. Работа с консолью

Для 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 в 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 и пользоваться им из любой точки земного шара.

В данной статье будет рассмотрена полная настройка готового 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

Когда вам нужно получить полный контроль над вашим сервером под управлением Linux, лучше всего использовать терминал. Здесь вы можете настроить все очень тонко и отрегулировать только те параметры, которые вам нужны. Но не всегда это возможно, и не всегда есть на это время, особенно, если у вас несколько сайтов. Но вы можете использовать панели управления сервером Linux.

Это отличное решение для новичков, поскольку чтобы настроить сервер таким способом, вам не нужно фундаментальных знаний устройства системы Linux. В этой статье мы рассмотрим лучшие панели управления для Linux, которые вы можете использовать для администрирования своего сервера. В нашем списке будут как бесплатные, так и коммерческие варианты.

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

Из-за своей простоты панели управления часто применяются на VPS/VDS для автоматизации задач администраторов, а также на виртуальных хостингах, чтобы ограничить полномочия вебмастера в системе и дать ему достаточно контроля. А теперь давайте перейдем к самому списку панелей для Linux.

1. cPanel

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

cPanel дает полный контроль над доменами и поддоменами, базами данных, файлами на сервере, почтовыми ящиками и даже сертификатами безопасности SSL. Поддерживается только веб-сервер Apache. На боковой панели вы можете наблюдать за текущей загрузкой системы. А в настройках можно изменить внешний вид интерфейса и применить другую тему. Только один минус, за использование панели придется раз в месяц платить абонентную плату.

2. Plesk

Plesk - это еще одна популярная и коммерческая панель управления Linux. Она предназначена больше для VPS, поскольку интегрирована с системой управления контейнерами OpenVZ. Поддерживается большинство стандартных функций, например управление доменами, почтовыми ящиками, FTP, базами данных и файлами.

Из особенностей можно отметить большое количество расширений, которые увеличивают функциональность панели.

3. ISPConfig

ISPConfig - панель управления для Linux с открытым исходным кодом, которая позволяет управлять несколькими серверами из одного места. Программа распространяется под лицензией BSD. Поддерживаются все стандартные функции, такие как управление доменами, FTP, SQL, BIND, базы данных. Также есть поддержка управления виртуальными серверами.

Панель может работать с веб-серверами Apache и Nginx, поддерживается зеркалирование конфигурации, кластеризация и многое другое.

4. Ajenti

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

Программа поставляется с большим количеством предустановленных плагинов, поддерживается настройка Apache, Nginx, MySQL, FTP, iptables, Cron, Munin, Samba, Squid и многих других служб. Есть встроенные утилиты файлового менеджера, редактора кода и даже терминал.

5. Kloxo

Kloxo - это еще одна панель с открытым исходным кодом. Она ориентирована на использование в Red Hat и CentOS. Она поддерживает все стандартные функции для панели, такие как управление доменами, базами данных, php, perl, cgi, резервное копирование и другие.

Поддерживается работа с веб-сервером Apache. Кроме всего прочего, панель очень нетребовательна к ресурсам.

6. OpenPanel

OpenPanel - панель с открытым исходным кодом, которая распространяется под лицензией GNU. Она имеет легкий в использовании интерфейс и позволяет управлять Apache, AWStats, Bind, PureFTPd, Postfix, MySQL, IPTables, Courier-IMAP и многим другим.

7. ZPanel

ZPanel - это бесплатная и простая в использовании кроссплатформенная панель управления, которая может работать в Linux, Unix, MacOS и Windows.

Zpanel полностью написана на PHP и работает с Apache, PHP и MySQL. Она поставляется с базовым набором возможностей для запуска на вашем сервере. Среди функций можно выделить управление настройками Apache, hMailServer, сервер FileZilla, MySQL, PHP, Webalizer, RoundCube, PhpMyAdmin, phpSysInfo, FTP и многое другое.

8. EHCP

EHCP (Easy Hosting Control Panel) - это бесплатная панель для управления хостингом. Вы можете управлять базами данных MySQL, учетными записями электронной почты, доменами, FTP.

Из особенностей панели можно отметить поддержку Nginx с php-fpm, что позволяет полностью отказаться от Apache и обеспечивает отличную производительность.

9. ispCP

ispCp - это проект с открытым исходным кодом, поддерживающий управление несколькими серверами без ограничений. Здесь есть все необходимые функции, такие как управление доменами, электронной почтой, FTP аккаунтами, базами данных и многим другим. Все это на нескольких серверах.

10. VHCS

VHCS - еще одна панель управления хостингом с открытым исходным кодом для Linux. Она разработана специально для виртуальных хостингов и написана на PHP, Perl и Си. В несколько кликов вы можете настроить домены, электронную почту, FTP, Apache, посмотреть статистику и так далее.

11. RavenCore

Ravencore - простая панель для Linux, которая стремится быть похожей на cPanel и Plesk. Она написана на PHP, а скрипты управления на Perl и Bash. Панель интегрируется с такими проектами, как MySQL, Apache, PhpMyAdmin, Postfix и Awstats.

12. Virtualmin

Virtualmin - это одна из самых популярных веб-панелей управления хостингом для Linux. Она разработана для Apache и позволяет управлять базами данных, доменами, почтовыми ящиками Sendmail или Postfix и другими службами в одном веб-интерфейсе.

13. WebMin

WebMin - многофункциональная и мощная панель управления сервером Linux с открытым исходным кодом. Webmin позволяет управлять различными компонентами системы, например, настраивать виртуальные хосты Apache, устанавливать RPM программы, настраивать iptables и DNS, сеть, параметры маршрутизации, создавать базы данных и т д.

14. DTC

Domain Technologie Control (DTC) - свободная панель управления веб сервером для удобного администрирования и настройки. Вы можете создавать FTP и почтовые аккаунты, добавлять домены, и многое другое.

15. DirectAdmin

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

16. InterWorx

InterWorx - это система управления сервером Linux и веб-панель для управления хостингом. Панель может работать в двух режимах: режим администратора с полным контролем и режим вебмастера, с доступом только к учетной записи пользователя и связанными с ней функциям.

17. Froxlor

Froxlor - это легкая панель управления сервером для хостинга или контроля VPS сервера. Здесь есть отличная статистика использования ресурсов сервера, а также все стандартные функции для панели. Поддерживается работа с веб-серверами Apache2 или Lighttpd.

18. BlueOnyx

BlueOnyx - это дистрибутив Linux с открытым исходным кодом на базе CentOS 6.3 или Scientific Linux 6.3. Он стремится реализовать систему, готовую для использования в качестве веб-хостинга. Дистрибутив поставляется с GUI интерфейсом, который позволяет управлять аккаунтами электронной почты, FTP и другими возможностями.

19. ISPsystem

ISPManager - это коммерческая панель управления хостингом с большим количеством функций. Она поставляется в двух версиях - Lite, для управления своим VPS и Bussines - для управления хостингом с большим количеством клиентов.

Здесь есть все привычные функции, вы можете управлять доменами, почтой, базами данных. Есть поддержка Apache, Lighttpd и Nginx, а базовую функциональность можно расширить с помощью модулей.

20. Vesta CP

Vesta CP - одна из лучших панелей управления сервером с открытым исходным кодом. Она имеет достаточно функций чтобы настроить систему Linux используя простой и понятный интерфейс. Вы можете установить панель из официальных репозиториев большинства дистрибутивов.

Выводы

В этой статье мы рассмотрели лучшие панели управления для Linux, которые вы можете использовать для управления своим сервером или VPS. А какие панели используете вы для управления серверами? Напишите в комментариях!

— это проект с открытым исходным кодом, базирующийся на Free BSD, и созданный специально для использования в качестве брандмауэра или маршрутизатора. В дополнение к мощной, гибкой платформе маршрутизации и межсетевого экрана, имеется возможность расширять функциональность за счет встроенной системы пакетов Packages. Поддерживает несколько интернет каналов. Есть web интерфейс для настройки.

  • Untangle Gateway - Платный продукт, но есть бесплатная Untangle Lite (урезанная версия). В бесплатной версии есть следующее: Web Filter, Virus Blocker, Spam Blocker, Attack Blocker, Phish Blocker, Spyware Blocker, Protocol Control, Captive Portal, Firewall, Intrusion Prevention, OpenVPN, Reports
  • Endian Firewall Community - представляет собой дистрибутив Linux «всё в одном» для организации комплексной системы безопасности, и относится к ПО класса UTM (Unified Threat Management). Основанный на IPCop, который в свою очередь основан на Smoothwall основаны на ОС Red Hat Enterprise Linux. Версия Community является на 100% продуктом open source и включает в себя полнофункциональный файрвол, Заявлено что есть антивирус для HTTP/FTP и POP3/SMTP но его нет, Инструменты для антифишинга и антиспама, SSL/TLS VPN, IDS и ряд других функций. Вообще проект очень закрытый и сразу не поймешь что и как. Все "шито крыто" Есть еще и платная версия этого продукта называется просто Endian Firewall Software. (Форум на русском на английском)
  • IPCop Firewall
  • SmoothWall Express - не поддерживает 2 или более интернет каналов.
  • Vyatta Community - Linux дистрибутив для создания межсетевых экранов и маршрутизаторов с управлением через web-интерфейс.
  • Zentyal (ранее eBox) - универсальный многофункциональный Роутер/Межсетевой экран и NAS/PDC.
  • ClearOS (ранее ClarkConnect)
  • SME Server - Сервер основанный на CentOS . Универсальный многофункциональный Роутер/Межсетевой экран.
  • FREESCO (расшифровывается как FREE ciSCO) — это бесплатная и свободная замена коммерческим роутерам, поддерживающая до 10 ethernet/arcnet/token ring/arlan сетевых карт и до 10 модемов.
  • Zeroshell — это компактный дистрибутив Linux для серверов и встраиваемых систем с web-интерфейсом для управления основными сервисами. Дистрибутив Zeroshell доступен для скачивания в виде Live CD, образа CompactFlash, образа VMware или исходного кода.
  • Quagga — пакет свободного программного обеспечения, поддерживающий протоколы динамической маршрутизации IP.
  • Coyote Linux - Роутер/Межсетевой экран
  • Devil-Linux - Роутер/Межсетевой экран
  • EnGarde Secure Linux - универсальный многофункциональный Роутер/Межсетевой экран и NAS/PDCPostfix, BIND, and the LAMP stack.
  • fli4l - простой и маленький дистрибутив (1.44) от немецкого разработчика.
  • floppyfw - еще один мелкий дистрибутив (1.44) firewall/gateway/router.
  • Gibraltar Firewall - Специализированный дистрибутив файрвол, основанного на дистрибутиве Debian GNU/Linux имеет свой веб интерфейс, stateful packet inspection, Proxy server, VPN, Spamfilter, Antivirus gateway,Traffic shaping, Anonymizer.
  • IPFire - Специализированный дистрибутив Proxy server with contentfilter and caching-funktionality for updates (i.e. Microsoft Windows Updates, Anti-Virus, and a lot more), Intrusion detection system (Snort) with intrusion prevention-addon "guardian", VPN via IPsec and OpenVPN, DHCP-server, Caching-nameserver, Time server, Wake-on-LAN (WOL), Dynamic DNS, Quality of Service, Outgoing firewall, System monitoring and Log-Analysis.
  • (Linux Embedded Appliance Framework) - (дистрибутив на дискете 1.44) router and firewall functionality, packet filtering, SSH servers, DNS services, file servers, webmin.
  • Linux Router Project (LRP) - (дистрибутив на дискете 1.44) оф. сайт (www.linuxrouter.org) не работает.
  • m0n0wall - Роутер/Межсетевой экран с web интерфейсом для настройки.
  • Sentry Firewall - Роутер/Межсетевой экран.
  • Trustix Secure Linux - предназначенных для использования на серверах и направленной на укрепление безопасности и стабильности. Проект закрыт оф. сайт (www.trustix.org) не работает!
  • Zeroshell - универсальный многофункциональный Роутер/Межсетевой экран.
  • Ideco ICS (Ideco Internet Control Server) - это универсальный интернет-шлюз с межсетевым экраном и функциями учета трафика. Решение платное, но есть и бесплатная версия на 5 компьютеров (только для дома)
  • TraffPro Office - целый комплекс решений, позволяющий защищать сеть организации от внешних атак, использовать аварийное резервирование каналов интернет, использовать 2 и более канала интернет от провайдеров, балансировать трафик между сотрудниками для более качественного и экономного использования канала, разграничивать скорость интернет канала между сотрудниками, согласно выполняемым задачам, получать информационные отчеты, ограничивать доступ пользователей к ресурсам развлекательного характера для уменьшения потерь рабочего времени, защитить от несанкционированного доступа в интернет, блокировать вирусную активность, ведущую к большим потерям на канале интернет трафика, почтовый сервер и антиспам и многое другое. (Честно говоря так и не понял что это, мутант))(Платный!)
  • ITC Server - это Интернет сервер, основанный на системе Linux, предоставляющий Вашему предприятию возможности мощного интернет сервера для предоставления интернет шлюза, прокси сервера, учета интернет трафика, почтового сервера и обладающее большими функциональными возможностями. Интернет сервер ITC Server предназначен в первую очередь для предоставления сотрудникам Вашего предприятия общего доступа в интернет. (Платный!)
  • p.s. Будет дополняться! Может у Вас есть что добавить.