Web сервер для линукс

Содержание
  1. Базовая установка и настройка веб-сервера
  2. Содержание
  3. Базовая установка и настройка веб-сервера
  4. Установка
  5. Настройка Apache
  6. Персональные настройки
  7. Выключаем автозапуск apache2 и mysql
  8. Выключаем автозапуск Apache:
  9. Выключаем автозапуск MySQL:
  10. Разрешаем подключение к MySQL из Мира
  11. Web-сервер на Linux (Nginx + PHP-FPM)
  12. Установка и настройка Web-сервера на Linux (Nginx + PHP-FPM)
  13. Установка
  14. Настройка PHP-FPM
  15. Настройка Nginx
  16. Перенаправление обработки php-скриптов внутреннему серверу «PHP-FPM»
  17. Создание директорий сайта
  18. Локальный веб-сервер под Linux, с автоматическим поднятием хостов и переключением версий PHP
  19. Подготовка сервера
  20. 1. Обновить пакеты сервера
  21. 2. Устанавливаем пакет компонентов Apache, MySQL, PHP (LAMP)
  22. 3. Устанавливаем phpMyAdmin
  23. 4. Устанавливаем FTP (для удобства работы с файлами)
  24. 5. Установка apache2-mpm-itk
  25. 6. Включение mod_rewrite (для возможности работы ЧПУ)
  26. Начало создания сайта
  27. 7. Создаём пользователя и каталога для работы с сайтами
  28. 8. Создаём виртуальный хост для сайта
  29. 9. Создаём базу данных MySQL
  30. На этом можно закончить. Полноценный хостинг для сайта готов.
  31. Как установить локальный сервер на Linux
  32. Какой локальный сервер выбрать
  33. Установка Lampp

Базовая установка и настройка веб-сервера

Содержание

Решил оформить наконец своё HOW-TO на форуме в нашей вики, т.к. это правильнее и форматирование здесь удобнее. Я постарался изложить материал кратко, намеренно упустив подробности, которые не относятся напрямую к сути (вроде того, что конфиги сервера нужно править от рута). Считаем, что читатель имеет базовый уровень работы с линукс-системами.

Просьба к редакторам тоже там отписываться

Базовая установка и настройка веб-сервера

Установка

phpmyadmin — веб-интерфейс для управления БД MySQL.

Настройка Apache

Персональные настройки

Начиная с версии Ubuntu Saucy (13.10) свои настройки следует писать в /etc/apache2/conf-available, активировать настройки следует с помощью команды a2enconf.

Выключаем автозапуск apache2 и mysql

Выключаем автозапуск Apache:

Выключаем автозапуск MySQL:

т.е. должно быть так:

Разрешаем подключение к MySQL из Мира

/etc/mysql/my.cnf

Самое простое — просто закомментировать эту строку.

Кроме этого требуется добавить пользователя, который с разных мест и из разных программ может соединяться с базой, например «admin»:

© 2012 Ubuntu-ru — Русскоязычное сообщество Ubuntu Linux.
© 2012 Canonical Ltd. Ubuntu и Canonical являются зарегистрированными торговыми знаками Canonical Ltd.

Источник

Web-сервер на Linux (Nginx + PHP-FPM)

Установка и настройка Web-сервера на Linux (Nginx + PHP-FPM)

Большинство людей, использующих Linux, занимаются разработкой. Ну и тут конечно же не обойтись без web-сервера. В этой статье я расскажу, как быстро установить веб-сервер, чтобы он заработал. А если у вас есть желание и время, то дальше мы попробуем его немного «донастроить».

Установка

Для начала давайте установим пакеты, которые нам потребуются, а именно:

  • nginx — сам веб-сервер
  • php-fpm — патч для PHP, для использования PHP как FastCGI процесса в высоконагруженных системах
  • php5-mysql — работа с mysql из php
  • mysql-server — БД Mysql
  • phpmyadmin — web-интерфейс для работы с mysql

Далее нам необходимо настроить Nginx и PHP-FPM. Начнем с последнего.

Настройка PHP-FPM

Прежде всего нам необходимо устранить проблему с безопасностью. Откройте файл «/etc/php5/fpm/php.ini»: Далее найдите строку «;cgi.fix_pathinfo = 1» и приведите её к виду:

Сохраняем файл: нажимаем F2 или Ctrl+X и отвечаем на вопрос «Сохранить изменения или нет?» буквой «Y».

Далее открываем для редактирования файл «/etc/php5/fpm/pool.d/www.conf», и в нем указываем, какие файлы будут выполняться интерпретатором PHP. Ищем параметр «security.limit_extensions» и приводим его к виду:

В этом же файле правим параметр «listen»: указываем, через какой файл будут связаны «Nginx» и «PHP-FPM» (сокет). Также запрещаем кому-попало писать в сокет:

Читайте также:  Windows one note help

Сохраняем изменения (дальше я не буду напоминать, что файлы, которые вы правите, надо сохранять) и перезапускаем «PHP-FPM»:

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

Проверить права можно командой:

Настройка Nginx

Давайте попробуем настроить конфигурацию сайта example.com. Создадим конфигурационный файл для него:

Открываем конфигурационный файл сайта example.com.conf для редактирования:

Содержимое файла будет следующим:

Перенаправление обработки php-скриптов внутреннему серверу «PHP-FPM»

Теперь нам надо создать файл с настройками пернаправления. Создадим и откроем его:

Содержимое будет таким:

Далее нам надо прописать наш сайт в файле hosts. откроем этот файл:

И добавим в него строчку:

Теперь осталось перезапустить сервисы:

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

Создание директорий сайта

Как вы помните, выше мы определяли, что сайт наш должен находиться по адресу «/var/www/example.com/www». Давайте там его и расположим. Создадим файл index.php:

Содержание файла будет примерно следующим:

Ну вот! Теперь, если вы все сделали по инструкции, то по адресу https://exapmle.com у вас должна открыться эта страница.

Остались вопросы? Задвайте!

Понравилась или помогла статья? Самое лучшее, что ты можешь сделать — это поделиться ею в любой из своих соцсетей (даже если ты поделишься в твиттере или google+, которыми ты не пользуешься — это очень поможет развитию моего блога). Спасибо! А если ты еще и оставишь любой комментарий снизу в обсуждениях, то это будет двойное СПАСИБО!

Источник

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

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

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

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

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

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

Всё это я проверну на LinuxMint19, он на базе Ubuntu18.04, так что с ним все будет аналогично.

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

Postfix ставим в качестве плюшки, как простое решение(в мастере установки, всё по умолчанию выбираем) для отправки почты с локальной машины.

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

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

Читайте также:  Пропала языковая панель windows 10 как вернуть

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

Источник

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

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 имя_пользователя

( имя_пользователя — новый пользователь, от имени которого будут выполняться работы с сайтом. Это поможет разграничить права при работе с несколькими сайтами на одном сервере)

Читайте также:  Хамелеон mac os что это

На предложение системы вводим пароль нового пользователя (дважды)

После создания пользователя размещаем отдельный каталог для сайта (например 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 )

Источник

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

Пошагово объясняем, как установить Xampp на Linux и настроить доступ для редактирования сайтов.

Под локальным сервером в веб-разработке обычно понимают набор ПО, которое позволяет запускать сайты на своём компьютере, реже — сам компьютер. Доступ к этим сайтам есть только на одном устройстве (потому-то он и локальный), но этого достаточно, чтобы программист мог всё протестировать.

Из этой статьи вы узнаете, как установить сервер на Linux.

Пишет о программировании, в свободное время создает игры. Мечтает открыть свою студию и выпускать ламповые RPG.

Какой локальный сервер выбрать

На мой взгляд, лучший вариант — Lampp. Название этого локального сервера расшифровывается так:

  • X или L — операционная система (X — общее название, L — Linux).
  • A — Apache (HTTP-сервер).
  • M — MySQL или MariaDB (система управления базами данных).
  • P — PHP (скриптовый язык программирования).
  • P — Perl (язык программирования).

Серьёзных альтернатив у Lampp нет. Это не критично, потому что у него есть большое сообщество, а обновления выходят регулярно. Из минусов можно отметить разве что отсутствие GUI (хотя для Linux это не недостаток).

Graphical user interface (GUI) — Графический интерфейс пользователя.

Установка Lampp

Команды из этой статьи протестированы на Ubuntu 19.04, но для других дистрибутивов действия будут аналогичными.

Для начала нужно скачать установочный файл с официального сайта.

После завершения загрузки откройте терминал и перейдите в папку со скачанным файлом.

Источник

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