Готовый web сервер для linux

Web-сервер

Alaya

Alaya — веб-сервер с поддержкой WebDAV, запускаемый в chroot-окружении.

Apache

Самый популярный в мире HTTP-сервер. Функционален, эффективен, безопасен и быстр в работе.

Ashd — это HTTP сервер, который следует традиционному для Unix подходу — модульности. Вместо монолитной программы с загружаемыми модулями, как большинство HTTP серверов, Ashd представляет собой просто набор более простых программ, пересылающих HTTP запросы друг к другу, используя простой протокол.

Caddy

Caddy — это http-сервер, примечательный поставкой в виде обособленного исполняемого файла без зависимостей (не требует даже libc) и поддержкой автоматической настройки HTTPS (получение сертификатов ав

Cherokee

Cherokee — свободный кроссплатформенный веб-сервер, написан на Си. Поддерживает все современные технологии, включая FastCGI, SCGI, PHP, CGI, SSI, HTTPS (TLS и SSL), виртуальные хосты, балансировку нагрузки и другие. Основной упор при разработке делается на высокую производительность и скорость работы.

firecat

Firecat — это веб-сервер, работающий на на JavaScript. С его помощью вы можете построить полный набор веб-приложений, используя JavaScript как на стороне клиента (AJAX), так и на стороне сервреа (NSP).

goaccess

GoAccess это анализатор логов в режиме реального времени для Apache или Nginx. Работает в терминале *nix систем, и обеспечивает получение быстрой статистики системным администраторам, которым требуется просмотр визуальных отчетов на лету.

H2O относится к новому поколению высокопроизводительных HTTP-серверов.

Hiawatha

Hiawatha — это безопасный и компактный веб-сервер для Unix, созданный с целью обеспечить повышенную безопасность.

Hubzilla

Hubzilla предоставляет коммуникационный сервер, интегрируемый с системами web-публикации, снабжённый прозрачной системой идентификации и средствами управления доступом в децентрализованных сетях Fediverse.

lighttpd

Легкий HTTP-сервер обладающий приличной функциональностью.

mini-httpd

mini-httpd — это минималистский Web-сервер, разработанный с целью достижения оптимальной производительности, высокой степени безопасности и нетребовательности к системным ресурсам.

Monkey HTTP Daemon

Monkey HTTP Daemon — это быстрый и надежный веб-сервер для ОС, основанных на Linux, исходные тексты которого распространяются в рамках лицензии GPLv2. Он был разработан с учетом возможности масштабирования и низкого потребления ресурсов, что делает его хорошим решением для встраиваемых и высокопроизводительных сред.

MyServer

MyServer — это бесплатный и простой в настройке web-сервер. Основная задача этого продукта — позволить любому пользователю превратить свой домашний компьютер в полноценный web-сервер, получив, таким образом, возможность поделиться любой информацией со всем миром.

Источник

Локальный веб-сервер под Linux, с автоматическим поднятием хостов и переключением версий PHP

Скорее всего какие-то части этой статьи уже знакомы многим хаброжителям, но в связи с покупкой нового рабочего ноутбука я решил собрать все крупинки воедино и организовать удобное средство для разработки. Мне часто приходится работать со множеством маленьких проектов, с разными версиями PHP, часто переводить старые проекты на новые версии. В далёком прошлом, когда я был пользователем Windows то использовал OpenServer. Но с переходом на Linux мне нехватало той простоты создания хостов и переключений версий которые были в нём. Поэтому пришлось сделать еще более удобное решение на Linux =)

будет запущен тот же файл но уже с версией PHP 7.2.7

Другие версии доставляются аналогичным описанным ниже способом.

Для создания еще одного сайта просто создаем в /var/www/ папку имеющую окончание .loc, внутри которой должна быть папка public_html являющаяся корнем сайта

Читайте также:  История оперативной системы windows

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

Всё это я проверну на 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 и пользоваться

Источник

Домашний веб сервер за 5 минут!

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

Тогда я не смог ему ничего ответить, так как на тот момент у меня web сервер не был установлен.

Но из его слов я тогда уже догадался, что сервер apache2 что-то изменил в своей конфигурации, так как конфигурационные файлы, которые он мне присылал, сильно изменились.

Но вот я вчера решил установить сервер на домашнем компьютере, чтобы тестировать и дорабатывать свой сайт. (Если вы хотите поставить веб сервер прямо на windows, то читайте эту статью)

Но не тут то было, моя инструкция и вправду не работала, и мне так и не удалось с ходу настроить сервер apache. Я подумал и решил установить сервер nginx, который все нахваливают. Но его настройка оказалось ещё более сложной, и с ходу мне настроить сервер nginx не удалось.

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

Как сделать свой Веб-сервер с сайтом и доступом в интернет?

Хотя пройти онлайн курсы Cisco, для общего развития, было бы не плохо:)

Веб-сервер на виртуальной машине — ПЛЮСЫ:

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

2. Локальный web сервер можно будет запускать только по необходимости, и домашний сервер не будет постоянно забирать ресурсы компьютера.

3. Виртуальный web сервер можно легко перенести на другой компьютер.

Но как вы понимаете, устанавливать полноценный Linux для этого нет смысла, так как он будет забирать тоже много ресурсов. Лучше установить серверную версию Linux, например, Ubuntu Server. Но в этом случае все придётся долго устанавливать (сам сервер в том числе) и потом настраивать. А для неопытных это вообще не тот, что нужно.

Читайте также:  Все русские шрифты для windows 10

Но есть более простой и удобный вариант: установить специальный mini linux дистрибутив, на котором уже всё установлено и настроено. И такие есть.

Домашний веб сервер за 5 минут!

Есть такой замечательный сайт — turnkeylinux.org , который предлагает БОЛЕЕ СТА таких сборок на все случаи жизни. Есть уже готовый Linux с установленным веб сервером и вордпрессом! Это как раз то, что мне и нужно.

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

Как видите, файл весит всего 220 мегабайт, так как там нет ничего лишнего, так что можно установить и на слабом компьютере. Я запустил эту виртуальную машину и вот что я увидел.

А не увидел я ничего, так как оказалось, что моя виртуальная машина не поддерживает версию AMD-64, а сайт предлагает только такую сборку. Я уже было расстроился, но потом стал искать альтернативную x86 сборку и нашёл: скачать можно ТУТ ISO файлы, а ТУТ файлы для виртуальной машины — я скачал файл turnkey-wordpress-13.0-wheezy-i386-vmdk.zip (не забудьте раз архивировать файл)

Ну вот, теперь другое дело, сервер запустился, и вот что первое он мне выдал после начальной загрузки:

Устанавливаю свой пароль, его вводить придётся много раз: на сервер, на базу данных, на wordpress и всё по два раза. Так что поставьте везде один не сложный пароль, чтобы потом не запутаться.

Далее система спросит почтовый адрес, а после API KEY. Я пока не понял, зачем это нужно и поэтому шаг этот пропустил — думаю на локальной машине этого не нужно.

После этого предстоит самый важный шаг — настроить сеть — выбираем статический IP адрес.

У меня по умолчанию на этой виртуальной машине сетевая карта стоит в режиме Bridged. Это значит, что виртуальная машина, а значит и сервер, будут использовать диапазон адресов, который использует ваша сетевая карта на компьютере. Как узнать, какие адреса нужно писать? Наберите в терминале команду:

Теперь посмотрите адрес вашей сетевой карты. У меня ноутбук, работающий по wifi, поэтому моя сетевая карта обзывается wlan0 и имеет адрес 192.168.1.4

Поэтому я настраиваю сервер так:

Вы делайте по аналогии, думаю, что сут вам понятна. После этого нажимаете пункт Apply и все готово. Далее вы увидите пункт REBOOT — перезагрузите сервер. После перезагрузки машина загрузится до такого состояния.

Тут нам ещё раз подсказывают наш IP адрес, который я выбрал произвольно, и по которому будет доступен сервер из основной системы — 192.168.1.30 Набираем это адрес в строке браузера и попадаем на наш сервер, где уж установлен WordPress:)

Напомню, что логин admin и пароль тот, который вы придумали при установке. Вот и всё.

Хотя нет, ещё не всё. Если вы наберёте в браузере такой адрес _https://192.168.1.30:12321/, то попадете в WEBMIN, панель управления сервером. Там много интересного, и вы можете почувствовать настоящим системным администратором.

Ещё очень полезно настроит FTP сервер, без этого вы не сможете обновлять систему и плагины. Чтобы FTP заработал, нужно вписать не 127.0.0.1, как в статье, а адрес сервера.

Но можно подключиться к серверу через SSH, который тут точно должен работать. Открываем наш файловый менеджер и в адресную строку вписываем:

После этого вас попросят ввести пароль, и если всё хорошо, то вы увидите все фалы вашего сервера, с которыми вы можете работать, как с «родными».

Наверное, что я сделаю, так это русифицирую WordPress:) Но это уже отдельная тема.

Будут вопросы — пишите, помогу чем могу. Лайки и твиты приветствуются!

Источник

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

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

sudo apt-get update
sudo apt-get upgrade

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

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

Читайте также:  Не устанавливается английский языковой пакет windows 10

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

Проверяем установку web-сервера http://[ip адрес сервера ubuntu] — должна отобразиться тестовая страница 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://[ip адрес сервера ubuntu]/phpmyadmin

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

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

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

Рекомендую выбрать вариант Standalone, т.к. гораздо удобней работать с ProFTPd, как с отдельной службой.

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

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

sudo nano /etc/proftpd/proftpd.conf

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

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

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

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

Включаем созданный виртуальный хоста и перезапускаем 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 )

Источник

Оцените статью