Локальный веб-сервер под Linux, с автоматическим поднятием хостов и переключением версий PHP
Скорее всего какие-то части этой статьи уже знакомы многим хаброжителям, но в связи с покупкой нового рабочего ноутбука я решил собрать все крупинки воедино и организовать удобное средство для разработки. Мне часто приходится работать со множеством маленьких проектов, с разными версиями PHP, часто переводить старые проекты на новые версии. В далёком прошлом, когда я был пользователем Windows то использовал OpenServer. Но с переходом на Linux мне нехватало той простоты создания хостов и переключений версий которые были в нём. Поэтому пришлось сделать еще более удобное решение на Linux =)
будет запущен тот же файл но уже с версией PHP 7.2.7
Другие версии доставляются аналогичным описанным ниже способом.
Для создания еще одного сайта просто создаем в /var/www/ папку имеющую окончание .loc, внутри которой должна быть папка public_html являющаяся корнем сайта
Вот собственно и все. Как без дополнительных мучений, перезапусков, и редактирований конфигов имеем автоматическую систему для работы с сайтами.
Всё это я проверну на LinuxMint19, он на базе Ubuntu18.04, так что с ним все будет аналогично.
Для начала поставим необходимые пакеты
Postfix ставим в качестве плюшки, как простое решение(в мастере установки, всё по умолчанию выбираем) для отправки почты с локальной машины.
Так как это локальная разработка и я единственный пользователь. То мне удобней перенести папку с проектами в мою домашнюю дерикторию. Она у меня маунтится отдельным диском и мигрирует при переустановке системы. Самый простой способ это создать ссылку, тогда не нужно менять пути в настройках да и путь привычный для всех.
Скопируем папку созданную апачем в домашний каталог, создадим на ее месте ссылку, не забыв поменять пользователя на себя и обменяться группами с апачем.
Создадим папку в которой будем собирать исходники PHP для разных версий
Также нам понадобится папки для CGI скриптов
И runtime папка для этих же скриптов, с правами
И так как каталог у нас находится в оперативной памяти, добавим его создание при старте системы, для этого добавим в /etc/tmpfiles.d/fcgid.conf
У меня dnsmasq-base идет с коробки, если нет то его всегда можно доставить.
Добавим правило в его конфигурацию. Найти файл конфигурации dnsmasq.conf можно так
Либо если он как и у меня является частью NetworkManager то создать новый файл конфигурации в /etc/NetworkManager/dnsmasq.d/local.conf
Добавим в него строчку для перенаправление нашего локального домена на локальную машину.
Также нужно включить необходимые модули апача
Предварительная подготовка завершена, приступаем к сборке различных локальных версий PHP. Для каждой версии PHP проделываем следующие 4 шага. На примере 5.6.36
1. Скачиваем исходники нужной версии и распаковываем их
2. Cобираем из исходников нужную версию PHP, и помещаем ее в /opt/php-5.6.36
3. Создаем CGI для обработки этой версии в /var/www/cgi-bin/php-5.6.36.fcgi
4. Делаем файл исполняемым
5. Добавляем экшен для обработки каждой версии в /etc/apache2/mods-available/fcgid.conf
6. Добавляем правило для обработки каждой версии в /etc/apache2/sites-available/000-default.conf
Ну вот и всё. Осталось только перезапустить apache и dnsmasq и пользоваться
Источник
Форум
Open Server-у на linux быть ?
Open Server-у на linux быть ?
А что пы подразумеваете под «панель для управления»? Если я правильно вас понял, то, есть webmin (кажется так называется) из бесплатных или cpanel из платных.
На моем опыте, ставят денвер или ОС для разрабоки под виндой, если есть комп с линухой или mac, то вопрос в ОС отпадает, потому что можно развернуть окружение близкое к «боевому». Это альтернатива XAMP серверу, потому что не многие могут настроить apache|nginx + php + mysql, под виндой, как ни странно. На последней работе пересел с денвера на ОС, из-за «корявости» денвера, а поставить apache+php+mysql не разрешают, политика такая(
Панель управления уже пишется более года, но разработку пока временно прекратил, ввиду непонятности с тем — что это будет. То ли open server, то ли именно панель управления. Всё дело в том, что для создания полноценной замены Open Server нужны специалисты в области Linux и деньги на этих специалистов, так что как я уже сказал Open Server под Linux вероятно никогда не будет (именно как аналога в Windows).
Скорее всего это будет несколько иной Open Server — мощная панель управления и хостингом и сервером, но портативность будет несколько непривычная. Портативными будут все настройки системы, конфиги модулей, файлы юзеров и т.д. в общем всё, кроме файлов модулей. При запуске на другой linux машине все юзеры будут пересозданы, настройки системы сделаны на автомате, машина если нужно перезагружена и т.д. но при первом запуске нужно будет ждать пока произойдёт сборка и установка пакетов (т.е. самих файлов модулей). Использовать можно будет полноценно с полной безопасностью, т.е. как замена webmin, directadmin, cpanel и т.д.
const, панель для управления, в моём понимании, это тот-же Webmin, тока по адекватнее и заточен чисто под нужды LAMP.
Максим, да, именно про это я и имею ввиду., а все перечисленные панели я ставил, но они мне не подошли по тем или иным причинам.
Была какая-то панель, почти идеальная, но они жутко тупила, если начинать переносить файлы баз данных и сайтов на примонтированный RAID.
Только одно но. Вы написали » мощная панель управления и хостингом и сервером«. Основываясь на других панелях, я это интерпретирую как систему аккаунтов, биллинга, прав, возможностей, модулей и квот, индивидуальный настроек и т.д.
Если это так, то я считаю это делать не нужно. Пусть панель будет представлять собой как инструмент управления сервером. Можно сделать возможность, что-бы несколько администраторов могли одновременно работать в ней (ну и систему логов и откатов). А всё вышеперечисленное можно, а может даже и нужно реализовать в виде платного модуля. Платного потому, что во первых это труд и очень даже большой труд, а во вторых на этом будут зарабатывать деньги.
Источник
8 лучших локальных серверов
Локальные серверы позволяют запускать свой сайт без использования хостинга, прямо на домашнем компьютере. Это может пригодиться для детального тестирования, а также в процессе разработки. Ничего не помешает накатить туда CMS и взаимодействовать с базами данных. Вся сложность заключается в выборе самой программы, которая и выполняет роль локального сервера. Подходящих вариантов существует огромное количество, и каждый из них обладает своими особенностями, так что сказать, какой локальный сервер лучше других, достаточно сложно.
Давайте детально разберемся в этом вопросе, рассмотрев несколько самых популярных представителей. Итак, топ лучших локальных серверов.
OpenServer
Начать стоит с программы под названием OpenServer. При ознакомлении сразу же бросается в глаза дружелюбный продуманный интерфейс, который и является одним из главных плюсов этого решения. Среди других преимуществ можно отметить простую установку, удобное управление с добавленными сайтами и отсутствие необходимости долгой настройки, чтобы все работало как надо. OpenServer отлично помещается на обычную флешку и не состоит из множества компонентов, поэтому прекрасно подходит для портативной работы.
Если минусы в OpenServer и есть, то они связаны только с небольшими проблемами во время функционирования сайтов, но решаются за несколько секунд банальным перезапуском программы. В остальном же это один из лучших вариантов для тех, кто давно хотел развернуть локальный сервер на своем компьютере или всегда иметь его под рукой, записав на флешку.
Распространяется OpenServer бесплатно, а разработчики предлагают лишь добровольно поддержать проект. Перейти к скачиванию этой программы для Windows можно на официальном сайте.
Denwer
Denwer – один из самых популярных в свое время локальных серверов, считавшийся монополистом на отечественном рынке, поскольку ни одно из существующих на тот момент решений не смогло составить ему конкуренцию. Этот веб-сервер прост в установке и практически не занимает места на компьютере. С управлением программой разберется даже начинающий пользователь.
Однако проект долгое время не обновлялся, что сказалось на его развитии в дальнейшем. Еще одним недостатком, который может стать решающим для некоторых пользователей, будет отсутствие графического интерфейса, из-за чего приходится все действия выполнять через консоль. Сейчас Denwer можно скачать с официального сайта .
Источник
Аналоги Open Server
Open Server — портативная серверная платформа и программная среда, разработанная специально для веб-разработчиков с учетом их рекомендаций и предложений.
Открытый сервер гораздо более функциональный, чем сложное программное обеспечение, такое как XAMPP или WAMPSERVER. Сборка включает в себя php, apache, mysql, postgresql, ftp, sendmail и многие другие. «Мини» версия включает в себя только серверную часть платформы.
Альтернативы для Open Server
Android iOS (iPhone / iPad)
XAMPP — это полностью бесплатный и простой в установке дистрибутив Apache, содержащий MariaDB, PHP и Perl.
- Бесплатная Windows Mac OS
XAMPP — это полностью бесплатный и простой в установке дистрибутив Apache, содержащий MariaDB, PHP и Perl. XAMPP чрезвычайно прост в установке и использовании. К тому же бесплатен даже для коммерческого использования
WampServer — специальная среда для веб-разработок на Windows.
WampServer — специальная среда для веб-разработок на Windows. Программа позволяет создавать веб-приложения с Apache, PHP и базой данных MySQL. Среда поставляется с PHPMyAdmin и SQLite Manager, чтобы легко управлять вашими базами данных.
Все в одном веб-сервере.
Легкий, быстрый и удобный современный сервер LAMP с Redis и Memcached, обладающий чрезвычайно высокой производительностью. Laragon превратит ваш компьютер в мощный сервер всего за минуту, чтобы вы могли быстро и без усилий установить WordPress, Joomla, Magento, Drupal и Prestashop.
MAMP — пакет решений веб-сервера, в основном для операционных систем Mac.
- Условно бесплатная Windows Mac OS
MAMP устанавливает локальную серверную среду за считанные секунды на ваш компьютер. Он бесплатный и легко устанавливается. MAMP не нарушит нормальное функционирование любуой существующей установки Apache, уже запущенную в вашей системе.
AMPPS — это простой в установке стек программ Apache, Mysql, PHP, Perl, Python и Softaculous.
- Бесплатная Windows Mac OS
AMPPS — это простой в установке стек программ автоматической установки Apache, Mysql, PHP, Perl, Python и Softaculous, который можно использовать на настольных компьютерах и офисных серверах.
UwAmp — это Wamp-сервер с Apache, MySQL, PHP и SQLite, и он имеет очень умный интерфейс.
UwAmp — это сервер Wamp с Apache, MySQL, PHP и SQLite, и он поставляется с очень умным интерфейсом, который предлагает различную информацию, конфигурацию и команды для сервера. Он может обрабатывать несколько версий PHP и контролировать использование процессора. Также он может работать в режиме U3.
Мгновенная установка предварительно сконфигурированной среды Windows, Apache, MySQL, PHP на вашей системе.
Мгновенная установка предварительной сконфигурированной среды Windows, Apache, MySQL, PHP на вашей системе или на USB-ключ, и разработка или представление ваших проектов локально.
Облегченное мобильное решение WAMP Server.
Uniform Server — это пакет WAMP, который позволяет запускать сервер на любом компьютере под управлением ОС MS Windows. Он небольшой и мобильный для загрузки или перемещения, а также может использоваться или настраиваться в качестве рабочего / живого сервера. Разработчики также используют Uniform Server для тестирования своих приложений, созданных с использованием PHP, MySQL, Perl или Apache HTTPd Server.
Кроссплатформенная альтернатива XAMPP на основе Docker.
- Бесплатная Windows Mac OS
Devilbox — это легко настраиваемая альтернатива XAMPP на основе Docker.
Winginx — удобный инструмент для веб-разработки с сервером nginx.
Winginx — это комплекс локальных веб-серверов под управлением Windows (Vista и выше) для разработки на PHP и Node.js с использованием баз данных MySQL, MongoDB, Redis, memcached.
Denwer — это коллекция часто используемых веб-серверов для веб-программистов.
Denwer — это коллекция часто используемых веб-серверов для веб-программистов.
USBWebserver — это пакет Apache, MySQL, PHP.
USBWebserver — это пакет Apache, MySQL, PHP и программное обеспечение, позволяющее запускать веб-сервер с USB-накопителя. USBWebserver работает независимо и ничего не оставляет на компьютере, что делает его идеальным для студентов, программистов php и начинающих.
Что в этом списке?
В списке находится программы которые можно использовать для замены Open Server.
Это аналоги похожие по функционалу на Open Server, которые заменяют программу частично или полностью. Этот список содержит 12 замен.
С помощью пользователей мы собираем каталог похожих друг на друга программ, чтобы вы могли подобрать альтернативу и скачать их. На сайте можно скачать популярные программы для Windows, Mac Os, Android и iPhone
Источник