Локальный web сервер gui linux

Локальный web сервер gui linux

Как установить локальный сервер на linux

Хаюшки! В данной статье рассмотрена установка и настройка локального веб сервера со связкой apache, php, mysql в операционной системе linux. Погнали!

Если вы веб программист то наверняка знаете такие программы как denver или open server. Они по сути создают на ПК локальный сервер и позволяют гибко им управлять. В linux к сожалению подобных программ нет и здесь требуется немного другой подход к развертыванию локального сервера.

Для начала вам необходимо скачать пакеты XAMPP для linux.

По итогу скачается подобный файл xampp-linux-x64-7.2.29-1-installer.run который нужно сделать исполняемым и запустить! Открываем консоль в папке с данным файлом. И выполняем команду:

Данная команда сделаем файл исполняемым. И затем запустим под root правами.

Далее откроются окна установки пройдя которые по данному пути ‘/opt/lampp’ будут установлены все файлы локального сервера.

Для проверки можно запустить локальный сервер выполнив в консоли команду:

и затем открыть в браузере следующий адрес ‘http://localhost/’. Перейдя по такому адресу ‘http://localhost/phpmyadmin/’ откроется панель phpmyadmin для работы с базами данных Mysql.

Чтобы остановить локальный сервер достаточно выполнить команду.

Для перезапуска используется команда restart.

Данная команда сначала останавливает локальный сервер а затем запускает.

Идем далее. Рассмотрим как разместить сайт на нашем локальном сервере.

Переходим в папку ‘htdocs’, она находится по такому пути ‘/opt/lampp/htdocs’. В данной директории размещаются локальные хосты сервера. Если вы работали с open server то эта альтернатива папке ‘domains’.

Если директория htdocs не пустая, то все от туда удаляем и создаем новую папку ‘newdomain’ это будет наш локальный домен сайта. В папке создадим файл index.php в который просто пропишем.

Данный код выведет в консоль информацию о конфигурациях php.

Затем необходимо добавить наш новый домен (newdomain) в конфигурации сервера. Находим и открываем файл хостов ‘hosts’ (/etc/hosts).

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

127.0.0.1 localhost lampp xampp — это строка стандартная и постоянная, после нее идет перечисление хостов(доменов) которые мы хотим добавить. В нашем случае домен один это newdomain. Если доменов несколько то просто перечисляем их через пробел, пример.

С этим разобрались! Сохраняем изменения в файле hosts и переходим к файлу httpd-vhosts.conf (/opt/lampp/etc/extra/httpd-vhosts.conf).

В нем также все удаляем и прописываем следующее.

Здесь нас интересуют строки:

DocumentRoot ‘/opt/lampp/htdocs/newdomain/’ — указывается путь к файлам нашего сайта на хосте ‘newdomain’.

ServerName newdomain — указывается домен ‘newdomain’

ServerAlias www.newdomain — указывается поддомен www ‘newdomain’

Остальные строки можно всегда оставлять как есть. Еще обратите внимание ‘127.0.0.1:80’ что мы подключаемся по 80 порту http.

Сохранив изменения можно запускать локальный сервер.

После запуска, в адресной строке браузера вводим адрес нашего локального хоста ‘http://newdomain’ и вуаля. Сайт запущен!

Результатом будет вывод на странице конфигураций php.

Это конечно все хорошо но что если мы к примеру хотим запустить сайт под https? Рассмотрим как это можно сделать!

Для закрепления материала создадим еще один сайт.

В папке htdocs создаем директорию ‘site’ в ней файл index.php

Обновляем файл ‘hosts’

Обновляем файл ‘httpd-vhosts.conf’

Обратите внимание что для хоста ‘site’ мы прописали две конфигурации для http ‘127.0.0.1:80’ и https ‘127.0.0.1:443’.

После сохранения изменений перезапускаем сервер.

И пробуем перейти на сайт ‘https://site/’ при первом переходе у вас может вылезти предупреждение о небезопасности соединения, игнорируем его и переходим.

В результате сайт будет работать под https. В некоторых браузерах в частности google chrome рядом с адресной строкой может отображаться что соединение не защищено.

На это можно не обращать особого внимания так как основные технологии которые работают только под https будут работать и этого вполне достаточно для тестирования.

Вот все что я вам хотел рассказать про работу с локальным сервером (apache + php + mysql) в linux. В принципе этих знаний уже достаточно для работы веб программисту.

Напоследок хочу дать небольшой бонус по автоматизированному запуску сайтов на локальном сервере. Согласитесь что так добавлять новые сайты на локальный сервер не очень удобно, необходимо как минимум внести изменения в два файла hosts и httpd-vhosts.conf. В качестве решения этой проблемы мной был разработан скрипт на Python для автоматического запуска.

Читайте также:  Screaming frog seo spider linux

Файл web-server.py и его содержимое:

Кто разбирается в Python для тех не составит особого труда разобраться что делает данный код. При запуске данного файла перебираются все папки в директории htdocs при этом данные в ‘hosts’ и ‘httpd-vhosts.conf’ обновляются, локальный сервер перезапускается.

Для большего удобства файл можно сделать исполняемым.

и разместить в ‘/usr/bin’. В результате этих действий вы сможете запускать и перезапускать локальный сервер простой командой в консоли.

В результате вам больше не придется лазать в файлы ‘hosts’ и ‘httpd-vhosts.conf’. И заметьте что каждый сайт на локальном хосте будет доступен под http и https.

На этом у меня все. Надеюсь данная статья оказалась для вас интересной и полезной! Не забывайте подписываться в группу Вконтакте и переходите на мой канал Youtube.

Желаю вам успехов и удачи! Пока.

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

Статьи

Комментарии

Внимание. Все комментарии проходят модерацию перед публикацией!

В данном разделе пока нет комментариев!

Запись экрана

Данное расширение позволяет записывать экран и выводит видео в формате webm

Источник

Локальный веб-сервер под 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 и пользоваться

Источник

Веб-сервер

Содержание

Настройка Apache2 [ править ]

Открываем от имени суперпользователя:

Необходимо в строке

дописать слово Indexes:

Где хранится сайт? [ править ]

Открываем в редакторе от суперпользователя файл /etc/httpd2/conf/sites-available/default.conf.

Либо кладем сайт туда, либо меняем путь на свой.

Читайте также:  Atx fractal design focus g windows
Сайты на движке PHP [ править ]

Например, сайт лежит в каталоге /var/www/html/PhpBB3. Для него нужно дать доступ серверу Apache.

Сайт будет доступен по ссылке http://IP/phpBB3/index.php

Настройка PhpmyAdmin [ править ]

Под root пускать не будет, создадим другого пользователя.

Заходите под свежесозданным пользователем phpmyadmin.

Виртуальный хостинг [ править ]

Виртуальный хостинг — это когда веб-запросы приходят на один IP — адрес, но под разными именами.

посылают на 81.81.81.81., а apache сам решает в какой каталог одного сервера направлять эти запросы.

Шаг 1: Регистрируем домены на один IP адрес

Для внешнего сайта необходимо зарегистрировать домен на регистраторе, для внутреннего на Bind. Если домен на Samba, то через Samba-tools.

Потом прописываем на сервере адреса в hosts:

Тестируем со своего рабочего настольного компьютера от имени простого пользователя: ping host1 ping host2 ping host3

Должны попадать на IP сервера.

Шаг 2: Разрешаем загружать виртуальные сайты

В файле /etc/httpd2/conf/sites-start.d/000-default.conf

Необходимо изменить последнюю строку:

Для применения изменений запустить:

Шаг 3: Прописываем виртуальные хосты

В файле /etc/httpd2/conf/sites-available/vhosts.conf дописываем

Шаг 4: Создаем домашние каталоги виртуальных хостов

В /var/www/vhosts создаем три каталога host1; host2; host3, в которых размещаем разные тестовые веб-страницы.

Заходим со своего рабочего настольного компьютера

и в каждом видим свою тестовую страницу.

Архивирование, аварийное восстановление и перенос сайтов на PHP [ править ]

На примере Joomla

Шаг №1: Останавливаем работу сайта

Шаг №2: Создаем архивы ( на примере Joomla)

Заходим в каталог /var/www/html/

Создаем архив базы данных. Выгрузить базу MySQL можно командой:

Спросит пароль рута или новый, если поменяли

Шаг №3: Запускаем работу сайта

Копируем в надежное место

Шаг №1: Восстанавливаем базу данных

Чтобы загрузить базу, нужно сначала создать пустую, а для надёжности предварительно удалить старую:

MySQL спросит пароль рута.

. а затем в неё загрузить данные:

Спросит пароль рута.

Шаг №2: Восстанавливаем каталог Joomla

Размещаем архив joomla1.tar.gz в каталоге /var/www/html/ и распаковываем его командой

Удаляем из каталога архив, проверяем права, если что подправляем.

Проверяем работу сайта.

Установка сайтов [ править ]
MediaWiki [ править ]

1. Ставим расширение:

2. Скачиваем архив с mediawiki:

3. Распаковываем в /var/www/html/wiki/
4. Назначаем права

5. Через PhpMyAdmin добавляем БД
6. Идем localhost/wiki
7. Настраиваем/устанавливаем mediawiki
8. Кидаем файл с настройками в /var/www/html/wiki/

Сайт будет доступен по IP/wiki.

Если хотите доступ по IP кидайте заранее в папку www.

Почта [ править ]

1. Качаем
https://afterlogic.org/webmail-lite
2. Распаковываем в /var/www/html/mail/
3. Назначаем права

4. Идем localhost/mail
5. Входим (логин superadmin, пароль пустой). Настраиваем.
6. В PhpMyAdmin создаем БД

Источник

VPS на Linux с графическим интерфейсом: запускаем сервер RDP на Ubuntu 18.04

В предыдущей статье мы разобрали запуск сервера VNC на виртуальной машине любого типа. У этого варианта масса недостатков, основным из которых являются высокие требования к пропускной способности каналов передачи данных. Сегодня мы попробуем подключиться к графическому рабочему столу на Linux по RDP (Remote Desktop Protocol). Система VNC основана на передаче массивов пикселей по протоколу RFB (Remote Framebuffer), а RDP позволяет отправлять более сложные графические примитивы и высокоуровневые команды. Обычно он используется для организации служб удаленных рабочих столов в Windows, но серверы для Linux также доступны.

Оглавление:

Установка графического окружения

Мы возьмем виртуальную машину с Ubuntu Server 18.04 LTS с двумя вычислительными ядрами, четырьмя гигабайтами оперативной памяти и жестким диском (HDD) на двадцать гигабайт. Более слабая конфигурация плохо подходит для графического десктопа, хотя это зависит от решаемых задач. Не забывайте использовать промокод Habrahabr10 для получения скидки в 10% при заказе.

Установка окружения рабочего стола со всеми зависимостями выполняется следующей командой:

Как и в предыдущем случае, мы выбрали XFCE из-за относительно невысоких требований к вычислительным ресурсам.

Русификация сервера и установка ПО

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

Того же эффекта можно достичь, отредактировав вручную файл /etc/default/locale.

Для локализации GNOME и KDE в репозитории есть пакеты language-pack-gnome-ru и language-pack-kde-ru — они понадобятся, если вы будете использовать программы из этих сред рабочего стола. В XFCE переводы устанавливаются вместе с приложениями. Дальше можно инсталлировать словари:

Кроме того, инсталляция переводов может потребоваться для некоторых прикладных программ:

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

Установка и настройка сервера RDP

В репозиториях Ubuntu есть распространяемый свободно сервер Xrdp, которым мы и воспользуемся:

Если все прошло нормально, сервер должен запуститься автоматически:

Читайте также:  Php ������� ��� linux

Сервер Xrdp запускается с правами пользователя xrdp и по умолчанию берет cертификат /etc/ssl/private/ssl-cert-snakeoil.key, который можно заменить собственным. Для доступа на чтение файла нужно добавить пользователя в группу ssl-cert:

Настройки по умолчанию можно найти в файле /etc/default/xrdp, а все прочие конфигурационные файлы сервера лежат в каталоге /etc/xrdp. Основные параметры находятся в файле xrdp.ini, который можно не менять. Конфиг хорошо документирован, к тому же в комплекте имеется соответствующие manpages:

Осталось только отредактировать скрипт /etc/xrdp/startwm.sh, который исполняется при инициализации пользовательской сессии. Предварительно сделаем резервную копию скрипта из дистрибутива:

Чтобы запустить окружение рабочего стола XFCE, потребуется сценарий примерно такого содержания:

Обратите внимание: в скриптах лучше прописывать полный путь к исполняемым файлам — это хорошая привычка. Сделаем скрипт исполняемым и на этом настройку сервера Xrdp можно считать законченной:

Настройка межсетевого экрана

По умолчанию Xrdp слушает TCP-порт 3389 на всех интерфейсах. В зависимости от конфигурации виртуального сервера может потребоваться настройка межсетевого экрана Netfilter. В Linux это обычно делается с помощью утилиты iptables, но в Ubuntu лучше использовать ufw. Если IP-адрес клиента известен, настройка осуществляется следующей командой:

Разрешить соединения с любого IP можно так:

Протокол RDP поддерживает шифрование, но открывать доступ к серверу Xrdp из сетей общего пользования — плохая идея. Если у клиента нет фиксированного IP, для повышения уровня безопасности сервер должен слушать только localhost. Доступ к нему лучше настроить через туннель SSH, который безопасно перенаправит трафик с клиентского компьютера. Аналогичный подход мы использовали в предыдущей статье для сервера VNC.

Подключение к серверу RDP

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

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

Подключиться к серверу можно с помощью любого клиента RDP, включая встроенный клиент службы удаленных рабочих столов Windows. Если Xrdp слушает внешний интерфейс, никаких дополнительных телодвижений не понадобится. Достаточно указать в настройках соединения IP-адрес VPS, имя пользователя и пароль. После подключения мы увидим примерно такую картину:

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

Если сервер Xrdp слушает только localhost, на клиентском компьютере трафик придется упаковать в туннель SSH (на VPS должен быть запущен sshd). Под Windows можно использовать графический клиент SSH (например, PuTTY), а в UNIX-системах нужна утилита ssh:

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

С мобильными устройствами сложнее: способные поднять туннель клиенты SSH придется покупать, к тому же в iOS и iPadOS фоновая работа сторонних приложений затруднена из-за слишком хорошей оптимизации энергопотребления. На iPhone и iPad поднять туннель в отдельном приложении не получится — потребуется приложение-комбайн, которое само умеет устанавливать соединение RDP через SSH. Такое, например, как Remoter Pro.

Менеджер сессий и сеансы пользователей

Возможность многопользовательской работы реализована непосредственно в сервере Xrdp и не требует дополнительной настройки. После запуска сервиса через systemd один процесс работает в режиме демона, слушает порт 3389 и взаимодействует через localhost с менеджером сессий.

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

Автоматический запуск менеджера сессий прописан в файле /etc/default/xrdp, а конфигурация хранится в /etc/xrdp/sesman.ini. По умолчанию выглядит она примерно так:

Здесь можно ничего не менять, стоит только запретить вход с правами root (AllowRootLogin=false). Для каждого авторизовавшегося в системе пользователя запускается отдельный процесс xrdp: если отсоединиться не завершив сеанс, пользовательские процессы по умолчанию продолжат работать, а к сеансу можно будет подключиться заново. Настройки можно изменить в файле /etc/xrdp/sesman.ini (секция [Sessions]).

Переключение раскладок клавиатуры

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

В конец конфигурационного файла нужно добавить следующие строки:

Остается сохранить файл и перезапустить Xrdp:

Как видите, поднять сервер RDP на линуксовом VPS несложно, а в предыдущей статье мы уже разобрали настройку VNC. Помимо этих технологий, есть еще один интересный вариант: использующая модифицированный протокол NX 3 система X2Go. С ней мы разберемся в следующей публикации.

Источник

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