Php server ��� linux

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» (сокет). Также запрещаем кому-попало писать в сокет:

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

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

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

Настройка Nginx

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Источник

Apache NetBeans 12.5

This tutorial needs a review. You can open a JIRA issue, or edit it in GitHub following these contribution guidelines.

В данном учебном курсе рассматривается процедура настройки среды разработки PHP в операционной системе Ubuntu (версия 7.10 и более поздние). Эта процедура предполагает установку и настройку механизма PHP, базы данных MySQL, веб-сервера Apache и отладчика XDebug.

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

Пакет загрузки PHP

Рекомендуется использовать HTTP-сервер Apache 2.2.

Сервер базы данных

Рекомендуется использовать сервер MySQL 5.0.

Отладчик PHP (не обязательно)

Версия XDebug 2.0 или более поздняя

Как правило, разработка и отладка выполняются на локальном веб-сервере, в то время как производственная среда размещена на удаленном веб-сервере. Настройка удаленного веб-сервера описана в разделе + Развертывание приложения PHP на удаленном веб-сервере с помощью IDE NetBeans+. Этот учебный курс содержит информацию, необходимую для настройки локального веб-сервера. Поддержка PHP может добавляться к целому ряду локальных веб-серверов (IIS, Xitami и т.д.), но обычно используется сервер HTTP Apache.

Установка программного обеспечения

В данном учебном курсе рассматривается процедура настройки среды разработки PHP в операционной системе Ubuntu (версия 7.04 и более поздние). Необходимо выполнить следующие действия:

Установить сервер Apache2 HTTP, механизм PHP5, сервер базы данных MySQL 5.0 и модуль PHP5-MySQL. Эти пакеты можно установить одновременно как стек LAMP или установить по отдельности.

Для получения дополнительных сведений об установке Apache, MySQL и PHP см. Сообщество Ubuntu.

Одновременная установка всех пакетов программного обеспечения

Ubuntu предоставляет пакет Linux AMP (LAMP), который содержит все необходимые пакеты для среды PHP. Для установки программного обеспечения можно выполнить следующую команду в командной строке в окне терминала:

Пакет lamp-server включает в себя наиболее удобную версию PHP, Apache 2, MySQL и PHP5-MySQL.

Установка пакетов программного обеспечения по отдельности

Вместо установки целого набора коллекций LAMP пакеты можно также установить индивидуально. Эта функция используется, если один из компонентов (например, сервер Apache или сервер базы данных MySQL) уже установлен. Можно использовать средства командной строки или графический пользовательский интерфейс Synaptic Package Manager.

Отдельно могут быть установлены следующие пакеты:

Проверка установки

После настройки пакета PHP Web Stack убедитесь в том, что он установлен правильно, а сервер Apache распознает механизм PHP.

Чтобы убедиться, что Apache и PHP установлены и запущены, откройте IDE NetBeans и создайте проект PHP. В файле index.php введите метод PHP phpinfo() . Запустите файл. При этом должна отобразиться стандартная информационная страница PHP.

Устранение проблем

Ниже перечислены часто возникающие проблемы при проверке установки стека PHP в Ubuntu:

*В окне браузера отображается ошибка «Not Found» для

USER/PROJECT/index.php *. Удалите строку

USER из URL-адреса. Например, если эта ошибка происходит для URL-адреса

ubuntu/test1/index.php , измените его на test1/index.php . Обратите внимание, что можно настроить адрес URL для проекта PHP в IDE NetBeans либо при создании проекта или путем щелчка правой кнопки мыши узла проекта и перехода в ‘Свойства’ > ‘Запустить конфигурацию’.

В браузере отображается всплывающее окно с запросом на открытие файла, как если бы механизм PHP не распознавался. Пакет php5-common содержит ошибку. Замените его пакетами php5 и phpmyadmin . Для замены пакета php5-common необходимо выполнить следующие две команды:

Указание корневого узла документа для сервера HTTP Apache2

Корневой узел документов представляет собой папку, из которой сервер HTTP Apache извлекает файлы для отображения в браузере. Корневой узел документов указан в файле, определяющем виртуальный узел. Файл настройки, определяющий виртуальный узел по умолчанию:

с корневым узлом документов

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

Создание местоположения корневого узла документов

Выберите «Places > Home Folder».

В контекстном меню выберите «Create Folder».

Введите имя папки, например public_html.

Создание нового виртуального узла

Для запуска терминала выберите «Applications>Accessories>Terminal». Откроется окно терминала.

Для копирования файла настройки из виртуального узла по умолчанию в новый файл ( mysite ) введите в командной строке следующую команду:

Запустите приложение gedit и отредактируйте в нем новый файл настройки ( mysite ):

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

Измените корневой узел документов, указав в нем новое местоположение:

Источник

PHP — Scripting Language

PHP is a general-purpose scripting language suited for Web development. PHP scripts can be embedded into HTML. This section explains how to install and configure PHP in an Ubuntu System with Apache2 and MySQL.

This section assumes you have installed and configured Apache2 Web Server and MySQL Database Server. You can refer to the Apache2 and MySQL sections in this document to install and configure Apache2 and MySQL respectively.

Installation

PHP is available in Ubuntu Linux. Unlike Python, which is installed in the base system, PHP must be added.

To install PHP and the Apache PHP module you can enter the following command at a terminal prompt:

You can run PHP scripts at a terminal prompt. To run PHP scripts at a terminal prompt you should install the php-cli package. To install php-cli you can enter the following command:

You can also execute PHP scripts without installing the Apache PHP module. To accomplish this, you should install the php-cgi package via this command:

To use MySQL with PHP you should install the php-mysql package, like so:

Similarly, to use PostgreSQL with PHP you should install the php-pgsql package:

Configuration

If you have installed the libapache2-mod-php or php-cgi packages, you can run PHP scripts from your web browser. If you have installed the php-cli package, you can run PHP scripts at a terminal prompt.

By default, when libapache2-mod-php is installed, the Apache 2 Web server is configured to run PHP scripts using this module. Please verify if the files /etc/apache2/mods-enabled/php8.*.conf and /etc/apache2/mods-enabled/php8.*.load exist. If they do not exist, you can enable the module using the a2enmod command.

Once you have installed the PHP related packages and enabled the Apache PHP module, you should restart the Apache2 Web server to run PHP scripts, by running the following command:

Testing

To verify your installation, you can run the following PHP phpinfo script:

You can save the content in a file phpinfo.php and place it under the DocumentRoot directory of the Apache2 Web server. Pointing your browser to http://hostname/phpinfo.php will display the values of various PHP configuration parameters.

References

For more in depth information see the php.net documentation.

There are a plethora of books on PHP 7 and 8. A good book from O’Reilly is Learning PHP, which includes an exploration of PHP 7’s enhancements to the language.

Also, see the Apache MySQL PHP Ubuntu Wiki page for more information.

Источник

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

Источник

Php server ��� 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 для автоматического запуска.

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

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

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

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

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

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

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

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

Статьи

Комментарии

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

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

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

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

Источник

Читайте также:  Linux all services running
Оцените статью
Программное обеспечение или материал Требуемая версия