- Web-сервер
- Alaya
- Apache
- Caddy
- Cherokee
- firecat
- goaccess
- Hiawatha
- Hubzilla
- lighttpd
- mini-httpd
- Monkey HTTP Daemon
- MyServer
- Локальный веб-сервер под Linux, с автоматическим поднятием хостов и переключением версий PHP
- Домашний веб сервер за 5 минут!
- Как сделать свой Веб-сервер с сайтом и доступом в интернет?
- Веб-сервер на виртуальной машине — ПЛЮСЫ:
- Домашний веб сервер за 5 минут!
- Подготовка сервера
- 1. Обновить пакеты сервера
- 2. Устанавливаем пакет компонентов Apache, MySQL, PHP (LAMP)
- 3. Устанавливаем phpMyAdmin
- 4. Устанавливаем FTP (для удобства работы с файлами)
- 5. Установка apache2-mpm-itk
- 6. Включение mod_rewrite (для возможности работы ЧПУ)
- Начало создания сайта
- 7. Создаём пользователя и каталога для работы с сайтами
- 8. Создаём виртуальный хост для сайта
- 9. Создаём базу данных MySQL
- На этом можно закончить. Полноценный хостинг для сайта готов.
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 являющаяся корнем сайта
Вот собственно и все. Как без дополнительных мучений, перезапусков, и редактирований конфигов имеем автоматическую систему для работы с сайтами.
Всё это я проверну на 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. Но в этом случае все придётся долго устанавливать (сам сервер в том числе) и потом настраивать. А для неопытных это вообще не тот, что нужно.
Но есть более простой и удобный вариант: установить специальный 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)
Символ ^ в конце обязателен — это часть команды
Во время установки 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 )
Источник