Как установить на windows apache 2.4 и php 7
Содержание:
- Шаг 1. Подготовьте вашу систему FreeBSD к установке FAMP
- Установка IIS
- Ошибки установки PHP 5
- Команды для запуска и остановки веб-сервера.
- Как установить Composer?
- Установите и настройте Apache HTTPD
- Настройка HTTP-сервера Apache
- Предварительные требования
- Как установить phpMyAdmin в Windows
- Шаг 2 — Создание структур директорий для обоих сайтов
- Настройка PHP 7
- Устанавливаем PHP в Ubuntu Server
- Как установить PHP на Windows XP
- Установка на Linux
- Настройка PHP-сервера
- Шаг 4 — Тестирование сайтов
- Установка сервиса Apache2.2 в картинках
- Веб-сервер на Windows
Шаг 1. Подготовьте вашу систему FreeBSD к установке FAMP
Прежде чем мы начнем установку, лучше убедиться, что наша система обновлена.
Чтобы узнать, какую версию вы используете, введите:
$ freebsd-version
Если версия устарела, введите команду ниже, чтобы обновить ее:
$ freebsd-update fetch install
$ pkg update && pkg upgrade -y
Затем установите поддерживающие зависимости:
$ pkg install -y sudo vim bash curl
Затем добавьте нового пользователя с помощью следующей команды:
$ adduser
Вам будет предложено ввести учетные данные пользователя и информацию об учетной записи.
# Username: younis # Full name: Younis Said # Uid (Leave empty for default): # Login group : # Login group is younis. Invite younis into other groups? []: wheel # Login class : # Shell (sh csh tcsh nologin) : bash # Home directory [/home/younis]: # Home directory permissions (Leave empty for default): # Use password-based authentication? : # Use an empty password? (yes/no) : # Use a random password? (yes/no) : # Enter password: your_secure_password # Enter password again: your_secure_password # Lock out the account after creation? : # OK? (yes/no): yes # Add another user? (yes/no): no # Goodbye!
Наконец, выполните команду visudo, как показано ниже, чтобы делегировать командные привилегии администратора всем пользователям группы wheel:
$ visudo # Uncomment by removing hash (#) sign # %wheel ALL=(ALL) ALL
Используйте команду su, за которой следует новое имя пользователя, чтобы изменить учетную запись на ту, которую вы только что создали:
$ su - younis
Также обновите часовой пояс:
$ sudo tzsetup
Установка IIS
Для установки веб-сервера, открываем Диспетчер серверов — переходим в Управление — Добавить роли и компоненты:
Если откроется окно с приветствием, нажимаем Далее:
При выборе типа установки выбираем Установка ролей или компонентов:
При выборе целевого сервера оставляем локальный сервер (или выбираем удаленный, если установка выполняется из удаленной консоли):
Среди ролей выбираем Веб-сервер (IIS) — во всплывающем окне кликаем по Добавить компоненты:
Также среди ролей в подразделе «Разработка приложений» ставим галочку для установки CGI — этот компонент нам нужен для работы PHP:
При выборе компонентов ничего не меняем — нажимаем Далее:
Откроется окно настройки роли веб-сервера — просто нажимаем Далее:
Выбор служб ролей — нажимаем далее или, при необходимости, выбираем FTP-сервер:
В следующем окне ставим галочку Автоматический перезапуск конечного сервера, если требуется и кликаем по Установить:
Дожидаемся окончания процесса установки.
Сразу после установки IIS запускается автоматически. Но, если что, его можно запустить с помощью команды iisreset:
iisreset /start
* если выполнить данную команду без опций, то она перезапустить веб-сервер.
Также мы можем открыть диспетчер служб (команда services.msc) и перезапустить Службу веб-публикаций:
Открываем браузер и вводим адрес http://localhost — должен открыться стартовый портал:
Ошибки установки PHP 5
Не удалось открыть этот пакет установки.
Убедитесь, что пакет существует и у вас есть к нему доступ, или обратитесь к поставщику приложения, чтобы проверить правильность этого пакета установщика.
Такое сообщение появится, если программа инсталляции PHP 5 будет запущена не из корневого каталога диска
Если установить 32-разрядную версию PHP 5 с Apache 2 (Win64)
то сервер не запустится.
После нажатия на кнопку Start
или ввода команд:
cd C:\Program Files\Apache Software Foundation\Apache2.4\bin\
httpd -k start
Будет получено сообщение об ошибке:
Администратор: Командная строка
Microsoft Windows (c) Корпорация Майкрософт (Microsoft Corporation), 2016. Все права защищены. C:\Windows\system32>cd C:\Program Files\Apache Software Foundation\Apache2.2\bin\ C:\Program Files\Apache Software Foundation\Apache2.2\bin>httpd -k start httpd: Syntax error on line 543 of C:/Program Files/Apache Software Foundation/Apache2.2/conf/httpd.conf: Cannot load C:\\Program Files (x86)\\PHP\\php5apache2_2.dll into server: %1 \xed\xe5 \xff\xe2\xeb\xff\xe5\xf2\xf1\xff \xef\xf0\xe8\xeb\xee\xe6\xe5\xed\xe8\xe5\xec Win32. C:\Program Files\Apache Software Foundation\Apache2.2\bin>
Строка — \xed\xe5 \xff\xe2\xeb\xff\xe5\xf2\xf1\xff \xef\xf0\xe8\xeb\xee\xe6\xe5\xed\xe8\xe5\xec Win32.
переводится как: не является приложением Win32
Команды для запуска и остановки веб-сервера.
Все, теперь перед началом работы с вашим веб проектом, вам нужно запустить Apache и MySQL, для этого необходимо ввести следующие команды по очереди:
sudo service apache2 start
sudo service mysql start
Для остановки веб-сервера:
sudo service apache2 stop
sudo service mysql stop
Необязательно: Чтобы было проще запускать и останавливать веб-сервер вы можете создать bash скрипты start.sh и stop.sh.
Как создать скрипт start.sh:
Шаг 1: Откройте терминал и создайте файл командой:
sudo nano ./start.sh
Шаг 2: Вставьте следующее содержимое, где замените на пароль, который установили для пользователя Ubuntu:
#!/bin/bash
echo | sudo -S sudo service apache2 start
echo | sudo -S sudo service mysql start
exit 0
Шаг 3: Необходимо отредактировать права доступа для start.sh. Выполните команду:
sudo chmod -R 755 ./start.sh
Скрипт stop.sh:
Шаг 4: Создайте файл командой:
sudo nano ./stop.sh
Содержимое файла stop.sh:
#!/bin/bash
echo | sudo -S sudo service apache2 stop
echo | sudo -S sudo service mysql stop
exit 0
Шаг 5: Отредактировать права доступа:
sudo chmod -R 755 ./stop.sh
Как установить Composer?
Установка Composer может выполняться по-разному. Она также зависит от используемой среды и операционной системы. Рассмотрим различные варианты.
Установка Composer в Ubuntu, выполняющейся в подсистеме Windows для Linux (WSL)
Для установки Composer в Windows 10 на подсистему Windows для Linux (WSL) необходимо выполнить следующие команды:
Первая команда выполняет загрузку скрипта установщика с сайта «getcomposer.org». Вторая команда выполняет запуск этого установщика. В процессе своей работы установщик проверит некоторые настройки «php.ini», предупредит вас, если они установлены неправильно, а затем загрузит последний «composer.phar» в текущий каталог. Последняя или третья команда просто удалит загруженный установщик, который ранее использовался для установки Composer.
Phar — это исполняемые файлы (программы), которые выполняются посредством php интерпретатора.
Если при установке php пакетов у вас выводиться ошибки на отсутствие прав записи в каталог «~/.composer/cache», то в командной строке просто запустите данную команду:
Для установки Composer глобально, т.е. чтобы он был доступен с помощью команды необходимо дополнительно выполнить ещё следующую команду:
Эта команда переместит файл «composer.phar» из директории пользователя в директорию «/usr/local/bin» и уберёт у него расширение «phar».
Установка Composer на OpenServer (в Windows)
В OpenServer по умолчанию уже установлен Composer. Находится он в зависимости от выбранной версии PHP (устанавливается в настройках OpenServer) в директории «OSPanel\modules\PHP_*\».
Работа с Composer в OpenServer по умолчанию осуществляется в собственной консоли. Для того чтобы открыть эту консоль необходимо нажать на значок Open Server правой кнопкой мыши в области уведомлений и в открывшемся контекстном меню найти соответствующий пункт.
В консоли для проверки того, что Composer подключен, например, можно ввести команду:
Эта команда также отобразит версию Composer.
Если при выполнении этой команды отобразится сообщение, что версия Composer устарела, то её можно обновить. Осуществляется это посредством выполнения следующей команды:
Установите и настройте Apache HTTPD
Apache HTTPD или просто «апач» чаще всего используется для обработки запросов и отправки сформированных скриптами ответов по протоколам HTTP и HTTPS
2.1. Загрузите архив с последней версией Apache HTTPD для 64–разрядной Windows: httpd-2.4.38-win64-VC15.zip. На всякий случай, проверьте на официальном сайте Apache Lounge нет ли версии новее: apachelounge.com/download.
Официальная сборка Apache под Windows не выпускается, сборки готовят отдельные организации, самой активной из которых является Apache Lounge. Сам Apache работает по HTTP и в Windows трудится как фоновый процесс, а в Linux — как демон (англ. daemon), откуда и название HTTPD. Существует Apache и под 32-битные версии Windows, для них необходима версия Win32, а не Win64. Указанные в имени файла VC15, VC14 и VC11 говорят о версии Visual Studio, которой скомпилирован Apache. Выберете самую последнюю версию и установите свежие вспомогательные файлы Visual Studio с официального сайта Microsoft: VC_redist.x64.exe.
2.2. Распакуйте архив и перенесите содержимое папки Apache24 в папку D:\web\apache.
Важно ничего не перепутать и перенести не все содержимое архива, а лишь содержимое подпапки с именем Apache24. В архиве могут быть файлы readme и прочая информация, которая не нужна для работы сервера
2.3. Откройте файл D:\web\apache\conf\httpd.conf. Поиском по файлу найдите и измените значение на . Найдите и измените значения и на .
У Apache несколько файлов с настройками, все они находятся в папке conf (от слова configuration, «конфигурация» в переводе с английского). Основные настройки задаются в файле httpd.conf. Параметр ServerRoot задает корневую папку самой программы Apache, а DocumentRoot и Directory задают корневую папку хоста, то есть ту папку, в которой хранятся файлы сайта. Номера строк с параметрами могут меняться в новых версиях Apache, поэтому я их не привожу, поищите параметры по документам. Чтобы открыть окошко поиска в вашем текстовом редакторе, нажмите Ctrl + F.
2.4. В том же файле httpd.conf найдите, раскомментируйте и измените значение на .
Параметр ServerName задаёт доменное имя, по которому хост (иначе говоря, сайт) будет откликаться. Так повелось, что домен внутри компьютера называют localhost и этот домен соответствует IP–адресу 127.0.0.1. Для обращения к сайту можно использовать как доменное имя, так и IP–адрес. Порт под номером 80 используется в вебе для протокола HTTP без шифрования. Комментарии в файле конфигурации Apache предваряются октоторпом (символом решетки), сервер будет игнорировать такие строки.
2.5. В том же файле httpd.conf найдите и измените значение параметра ErrorLog на , а также значение CustomLog на common. Сохраните файл httpd.conf с перезаписью.
Как правило, работающий сервер выдает ошибки. Даже опытным разработчикам редко удается их избежать. Параметры ErrorLog и CustomLog хранят адреса файлов с журналами ошибок сервера. Если с сервером что–то не так — загляните в эти файлы.
2.6. Установите Apache через командную строку. Откройте командную строку (или выполните команду cmd в PowerShell) от имени администратора и выполните команду .
Сервер установится тут же, прямо в режиме командной строки. Если вся подготовка прошла без ошибок — Apache установится, но ещё не запустится. Если захотите удалить Apache, то выполните в командной строке команду .
2.7. Запустите «Диспетчер задач» Windows, перейдите на вкладку «Службы». Найдите Apache2.4 в списке служб, вызовите контекстное меню: так вы сможете запустить, остановить или перезапустить сервер. Запустите сервер.
В файлах сервера Apache для Windows также есть программа Apache Monitor, графический интерфейс, смысл которого ровно такой же: запускать, останавливать и перезапускать службу Apache2.4. Но в последней версии Windows 10 сильно проще попасть в список служб, поэтому смысла пользоваться Apache Monitor больше нет.
2.8. Откройте браузер и наберите адрес http://localhost/ или http://127.0.0.1/ — вы должны увидеть надпись Hello world.
Браузер обратится с запросом по 80 порту к тому же компьютеру, на который он установлен, и будет ждать ответа. Если установка Apache прошла без ошибок, но в ответе нет надписи Hello world — проверьте есть ли в каталоге D:/web/www файл index.html и еще раз пройдитесь по всем пунктам. Если все прошло успешно и в ответ вы получили файл index.html, то поздравляю, вы уже можете дополнять его кодом на HTML, CSS и JavaScript и обращаться к файлам по имени хоста.
2.0. Обновить Apache легко. Переименуйте папку D:\web\apache в apache_old, распакуйте новую версию Apache в D:\web\apache, перенесите httpd.conf из папки apache_old в папку apache. Если все работает — удалите apache_old.
Настройка HTTP-сервера Apache
Если вы увидите страницу приветствия как на скриншоте, значит HTTP сервер работает.
2. Создание тестовой страницы
По умолчанию корневым каталогом для размещения сайта является директория “/var/www/html”, именно там находится страница приветствия. Создадим отдельную директорию “/var/www/sites” для размещения виртуальных хостов и вложенную папку “/var/www/sites/site1” с индексной страницей тестового сайта.
В результате файл “/var/www/sites/site1/index.html” будет содержать одну html-строку:
3. Конфигурация Apache-сервера
Конфигурационные файлы сайтов находятся в каталоге “/etc/apache2/sites-available/”. Создадим конфигурационный файл для нового виртуального хоста взяв за основу конфигурацию по умолчанию из файла “000-default.conf”
Откроем файл “site1.conf” и изменим параметр “DocumentRoot”. В качестве значения нужно указать путь к новому сайту, в нашем случае это “/var/www/sites/site1”
На данном этапе нам не требуется настройка одновременной работы нескольких сайтов, поэтому отключим сайт по умолчанию и включим новый сайт. Для применения изменений перезагружаем конфигурацию сервера.
Настройка HTTP-сервера завершена, переходим к следующему этапу.
Предварительные требования
- Один сервер Ubuntu 18.04 с не менее чем 1 ГБ оперативной памяти, настроенный согласно руководству Начальная настройка сервера Ubuntu 18.04, с пользователем non-root user с привилегиями sudo и брандмауэром.
- Веб-сервер Apache, установленный и настроенный в соответствии с указаниями руководства Установка веб-сервера Apache в Ubuntu 18.04.
- Доменное имя, настроенное так, чтобы указывать на ваш сервер Ubuntu 18.04. Информацию о том, как сделать так, чтобы домены указывали на дроплеты DigitalOcean, можно найти в руководстве Создание указаний на серверы имен DigitalOcean из общих реестров доменов. Для целей настоящего обучающего руководства мы используем два субдомена, каждый из которых указан с записью в наших настройках DNS: и .
Как установить phpMyAdmin в Windows
Сайт для скачивания phpMyAdmin: phpmyadmin.net.
Прямая ссылка на самую последнюю версию: phpMyAdmin-latest-all-languages.zip.
В каталог c:\Server\data\htdocs\ копируем содержимое только что скаченного архива. Переименовываем эту папку в phpmyadmin.
В каталоге c:\Server\data\htdocs\phpmyadmin\ создаём файл config.inc.php и копируем туда:
<?php /* Servers configuration */ $i = 0; /* Server: localhost */ $i++; $cfg = ''; $cfg = 'localhost'; $cfg = ''; $cfg = ''; $cfg = 'tcp'; $cfg = 'mysqli'; $cfg = 'cookie'; $cfg = 'root'; $cfg = ''; $cfg = true; $cfg = true; /* End of servers configuration */ $cfg = 'kjLGJ8g;Hj3mlHy+Gd~FE3mN{gIATs^1lX+T=KVYv{ubK*U0V'; $cfg = 'ru'; $cfg = 1; $cfg = ''; $cfg = ''; ?>
В браузере набираем http://localhost/phpmyadmin/
В качестве имя пользователя вводим root. Поле пароля оставляем пустым.
Шаг 2 — Создание структур директорий для обоих сайтов
В этом разделе мы создадим корневую директорию документов и страницу индекса для каждого из двух сайтов.
Вначале создайте корневые директории документов для и :
По умолчанию веб-сервер Apache работает как пользователь и группа . Чтобы убедиться в правильности структуры владения и разрешений для корневых директорий вашего сайта, используйте следующие команды:
Далее вы создадите файл в корневой директории каждого сайта. В нем будет отображаться информация о версии PHP для каждого сайта. Начнем с :
Добавьте следующую строку:
/var/www/site1.your_domain/info.php
Сохраните и закройте файл. Скопируйте созданный файл в :
Теперь на вашем веб-сервере должны иметься корневые директории документов, которые требуются каждому сайту для предоставления данных посетителям. Далее мы настроим веб-сервер Apache для работы с двумя разными версиями PHP.
Настройка PHP 7
Настройка PHP происходит в файле php.ini. В zip-архивах, предназначенных для ручной установки и для обновлений, php.ini нет (это сделано специально, чтобы при обновлении случайно не удалить ваш файл с настройками). Зато есть два других, которые называются php.ini-development и php.ini-production. Любой из них, при ручной установке, можно переименовать в php.ini и настраивать дальше. На локалхосте мы будем использовать php.ini-development.
Открываем файл php.ini любым текстовым редактором, ищем строчку
Теперь найдите группу строк:
теперь раскомментируйте эту группу строк:
Этими действиями мы включили расширения. Они могут понадобиться в разных ситуациях для разных скриптов. Сохраняем файл и перезапускаем Apache.
Материалы по дополнительной настройке, в том числе подключение поддержки PERL, Ruby, Python в Apache (только для тех, кому это нужно):
Устанавливаем PHP в Ubuntu Server
Установка языка PHP в Ubuntu Server может выполняться разными способами — все зависит от его версии и от версии самой операционной системы. А главное отличие заключается в самих командах, которые необходимо будет выполнять.
Стоит также отметить что пакет PHP включает в себя несколько компонентов, которые при желании могут быть установлены отдельно друг от друга.
Способ 1: Стандартная установка
Стандартная установка подразумевает использование последней версии пакета. В каждой операционной системе Ubuntu Server она разная:
- 12.04 LTS (Precise) — 5.3;
- 14.04 LTS (Trusty) — 5.5;
- 15.10 (Wily) — 5.6;
- 16.04 LTS (Xenial) — 7.0.
Все пакеты распространяются через официальный репозиторий операционной системы, поэтому подключать сторонний не понадобится. Но установка полного пакета выполняется в двух вариантах и зависит от версии ОС. Так, для инсталляции PHP в Ubuntu Server 16.04 выполните эту команду:
А для более ранних версий:
Если все компоненты пакета PHP вам не нужны в системе, вы их можете установить по отдельности. Как это сделать и какие команды для этого нужно выполнять, будет описано ниже.
Модуль для Apache HTTP Server
Чтобы установить модуль PHP для Apache в Ubuntu Server 16.04, вам нужно выполнить следующую команду:
В ранних версиях ОС:
У вас запросят пароль, после ввода которого необходимо дать разрешение на инсталляцию. Для этого впишите букву «Д» или «Y» (в зависимости от локализации Ubuntu Server) и нажмите Enter.
Дальше остается лишь подождать завершение загрузки и установки пакета.
FPM
Для установки модуля FPM в операционной системе версии 16.04 выполните следующее:
В ранних версиях:
В этом случае установка начнется автоматически, сразу после ввода пароля суперпользователя.
CLI
CLI необходим разработчикам, которые занимаются созданием консольных программ на PHP. Чтобы в него внедрить этот самый язык программирования, в Ubuntu 16.04 нужно выполнить команду:
В ранних версиях:
PHP расширения
Чтобы реализовать все возможные функции PHP, стоит установить ряд расширений для используемых программ. Сейчас будут представлены наиболее популярные команды для выполнения такой установки.
-
Расширение для GD:
Расширение для Mcrypt:
Расширение для MySQL:
Способ 2: Установка других версий
Выше было сказано, что в каждой версии Ubuntu Server будет установлен соответствующий ей пакет PHP. Но это не отменяет возможности установить более раннюю или, наоборот, позднюю версию языка программирования.
-
Для начала нужно удалить все компоненты PHP, которые были ранее установлены в системе. Для этого в Ubuntu 16.04 выполните две команды:
В более ранних версиях ОС:
-
Теперь нужно в список репозиториев добавить PPA, который вмещает в себя пакеты всех версий PHP:
На этом этапе можно выполнять инсталляцию полного пакета PHP. Для этого в самой команде укажите ее версию, например, «5.6»:
Если полный пакет вам ни к чему, вы можете установить модули отдельно, выборочно выполнив нужные команды:
Как установить PHP на Windows XP
В Windows XP с данной версией Apache заработает только PHP 5.4, последней версией является PHP 5.4.9, именно этот файл и скачиваем из архива.
В папке C:\Server\bin\ создайте ещё одну папку с именем PHP, в неё распакуйте содержимое скаченного файла php-5.4.9-Win32-VC9-x86.zip.
В файле C:\Server\bin\Apache2.2\conf\httpd.conf в самый конец добавляем строчки
PHPIniDir "C:/Server/bin/PHP" AddHandler application/x-httpd-php .php LoadModule php5_module "C:/Server/bin/PHP/php5apache2_2.dll"
Теперь в папке C:\Server\bin\PHP\ найдите файл php.ini-development и переименуйте его в php.ini.
Откройте этот файл php.ini в любом текстовом редакторе, ищем строчку
; extension_dir = "ext"
и заменяем её на
extension_dir = "C:\Server\bin\PHP\ext\"
Теперь найдите группу строк:
;extension=php_bz2.dll ;extension=php_curl.dll ;extension=php_fileinfo.dll ;extension=php_gd2.dll ;extension=php_gettext.dll ;extension=php_gmp.dll ;extension=php_intl.dll ;extension=php_imap.dll ;extension=php_interbase.dll ;extension=php_ldap.dll ;extension=php_mbstring.dll ;extension=php_exif.dll ; Must be after mbstring as it depends on it ;extension=php_mysql.dll ;extension=php_mysqli.dll ;extension=php_oci8.dll ; Use with Oracle 10gR2 Instant Client ;extension=php_oci8_11g.dll ; Use with Oracle 11gR2 Instant Client ;extension=php_openssl.dll ;extension=php_pdo_firebird.dll ;extension=php_pdo_mysql.dll ;extension=php_pdo_oci.dll ;extension=php_pdo_odbc.dll ;extension=php_pdo_pgsql.dll ;extension=php_pdo_sqlite.dll ;extension=php_pgsql.dll ;extension=php_pspell.dll ;extension=php_shmop.dll
и замените её на:
extension=php_bz2.dll extension=php_curl.dll extension=php_fileinfo.dll extension=php_gd2.dll extension=php_gettext.dll ;extension=php_gmp.dll ;extension=php_intl.dll ;extension=php_imap.dll ;extension=php_interbase.dll ;extension=php_ldap.dll extension=php_mbstring.dll extension=php_exif.dll ; Must be after mbstring as it depends on it extension=php_mysql.dll extension=php_mysqli.dll ;extension=php_oci8.dll ; Use with Oracle 10gR2 Instant Client ;extension=php_oci8_11g.dll ; Use with Oracle 11gR2 Instant Client extension=php_openssl.dll ;extension=php_pdo_firebird.dll extension=php_pdo_mysql.dll ;extension=php_pdo_oci.dll ;extension=php_pdo_odbc.dll ;extension=php_pdo_pgsql.dll extension=php_pdo_sqlite.dll ;extension=php_pgsql.dll ;extension=php_pspell.dll ;extension=php_shmop.dll
теперь раскомментируйте строки из этой группы:
;extension=php_soap.dll ;extension=php_sockets.dll ;extension=php_sqlite3.dll ;extension=php_sybase_ct.dll ;extension=php_tidy.dll ;extension=php_xmlrpc.dll ;extension=php_xsl.dll ;extension=php_zip.dll
должно получиться:
extension=php_soap.dll extension=php_sockets.dll extension=php_sqlite3.dll ;extension=php_sybase_ct.dll ;extension=php_tidy.dll extension=php_xmlrpc.dll extension=php_xsl.dll ;extension=php_zip.dll
Перезапустите веб-сервер:
В каталоге C:\Server\data\htdocs\ создаём файл с названием i.php
Копируем в этот файл:
<?php phpinfo ();
В браузере откройте ссылку http://localhost/i.php. Если вы видите тоже самое, что на картинке, значит PHP работает:
Установка на Linux
Настроить рабочее окружение для разработки на PHP в Linux возможно несколькими способами. Рассмотрим один из наиболее быстрых способов: настройка связки PHP плюс nginx.
Запустите приложение «Терминал». Ярлык на запуск доступен в менеджере приложений.
Рисунок 1. Окно терминала
Обновим локальный индекс пакетов APT
sudo apt-get update
Для работы с PHP нам потребуется веб-сервер. В репозиториях доступно несколько популярных веб-серверов, мы отдадим предпочтение nginx. Помимо высокой производительности его легче конфигурировать.
sudo apt-get install nginx
Следующим шагом выполним запуска nginx. Запомните эту команду. Она вам пригодится при добавлении новых виртуальных хостов.
sudo service nginx start
nginx установлен и теперь нам требуется выполнить базовое конфигурирование. Наша цель — создать новый виртуальный хост, который будет доступен по адресу , где вместо может быть название вашего проекта. Например: ,
Обратите внимание, имена доменов не могут содержать пробелы. Определитесь с именем домена (далее «имя хоста для проекта»)
Мы будем ориентироваться на проект , поэтому именно так будем называть конфигурационный файл.
Перейдите в директорию . В этой директории, nginx хранит конфигурационные файлы всех виртуальных хостов.
cd /etc/nginx/sites-available
Чтобы увидеть список всех доступных виртуальных хостов, выведите содержимое каталога:
ls -all
Рисунок 2. Список доступных виртуальных хостов
Название конфигурационного файла должно совпадать с именем хоста. Поскольку мы планируем сделать конфигурационный файл для хоста , нам потребуется создать файл . Сделаем это:
sudo touch yeticave.local
Файл готов, теперь откроем его в консольном редакторе nano (установлен по умолчанию в большинстве современных дистрибутивов) и опишем минимальную конфигурацию.
sudo nano yeticave.local
Скопируйте в открытый файл ниже приведённый конфигурационный файл. Информацию обо всех непонятных строках вы сможете почерпнуть из официальной документации к nginx.
server {
# Наш проект будет доступен на 80 порту
listen 80;
# Имя виртуального хоста
server_name yeticave.local;
# Корневая директория проекта. В этой папке будут находиться файлы проекта.
# Обратите внимание. Файлы находятся в домашней директории пользователя
# Administrator. Ваше имя наверняка отличается, поэтому обратите на это внимание
# при написании пути.
root /home/administrator/www/yeticave.local;
# Имя индексного файла.
index index.php;
# Настройки отдачи файлов
location ~* \.(jpg|jpeg|gif|css|png|js|ico|html)$ {
access_log off;
expires max;
log_not_found off;
}
location / {
try_files $uri $uri/ /index.php?$query_string;
}
location ~* \.php$ {
try_files $uri = 404;
fastcgi_split_path_info ^(.+\.php)(/.+)$;
# Обратите внимание на номер версии PHP. На текущей момент в репозиториях
# Ubuntu доступна версия 7.1. Если вы пользуетесь более старой версии ОС,
# то не забудьте обновить номер версии на свой.
fastcgi_pass unix:/var/run/php/php7.1-fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
location ~ /\.ht {
deny all;
}
}
Рисунок 3. Подготовка конфига
Для сохранения изменений в файле нажмите комбинацию клавиш ctrl + o. Затем закройте редактор nano сочетанием клавиш ctrl + x.
Протестируем созданный конфигурационный файл на наличие ошибок:
sudo nginx -t
Рисунок 4. Тестирование конфигурационного файла nginx
На этом процесс создания конфигурационного файла завершён. Активируем только что созданный виртуальный хост. Для этого перейдём в директорию и создадим в ней символическую ссылку на наш конфигурационный файл.
cd /etc/nginx/sites-enabled/
sudo ln -s /etc/nginx/sites-available/yeticave.local
Если на текущем шаге попытаться открыть браузер и ввести в адресной строке , то ничего, кроме ошибки «Сервер не найден», мы не увидим. Исправим проблему добавлением новой записи в : sudo nano /etc/hosts
В самом начале файле добавьте строку:
127.0.0.1 yeticave.local
Обратите внимание, мы пишем только доменное имя без указания протокола (http). Сохраняем изменения ctrl + o и закрываем редактор nano сочетанием клавиш ctrl + x .
Настройка PHP-сервера
1. Установка
На текущий момент последней стабильной версией PHP является php 7.4.5, которая отсутствует в официальных репозиториях Ubuntu. Подключим сторонний репозиторий и установим последнюю версию PHP.
2. Проверка
Для того, чтобы PHP код мог быть исполнен, файл веб страницы должен иметь расширение “.php”. Переименовываем тестовою страницу
Добавляем в файл “/var/www/sites/site1/index.php” строку php-кода. В результате содержимое файла будет таким:
Сохраняем изменения и проверяем результат в браузере.
Если вы видите результат работы функции “phpinfo()”, значит интерпретатор PHP работает корректно. Приступаем к следующему этапу.
Шаг 4 — Тестирование сайтов
Мы настроили два сайта для работы с двумя разными версиями PHP. Теперь проверим результаты.
Откройте в браузере сайты и . Вы увидите две страницы, выглядящие следующим образом:
Обратите внимание на заголовки. На первой странице указано, что на сайте развернута версия PHP 7.0
На второй странице указано, что на сайте развернута версия PHP 7.2.
Мы протестировали сайты и теперь можем удалить файлы . Эти файлы представляют собой угрозу безопасности, поскольку они содержат важную информацию о вашем сервере и при этом доступны неуполномоченным пользователям. Чтобы удалить оба файла, запустите следующие команды:
Теперь у вас имеется один сервер Ubuntu 18.04, обслуживающий два сайта с двумя разными версиями PHP. Однако PHP-FPM можно применять и для других целей.
Установка сервиса Apache2.2 в картинках
Запускаем командную строку и вводим в ней «C:\Apache2\bin\httpd.exe -k install»
Вот что мы должны увидеть при успешной установке сервиса Apache2.2.
Создание структуры каталогов виртуальных хостовПример создания виртуального хоста<VirtualHost *:80>
# Папка, в которой будет корень вашего хоста.
DocumentRoot «C:/apache/test.ru/www»
# Домен по которому вы сможете обращаться к виртуальному хосту.
ServerName test.ru
# Алиас (добавочное имя) домена.
ServerAlias www.test.ru
# Файл, в который будут записываться ошибки.
ErrorLog «C:/apache/test.ru/error.log»
# Файл журнала доступа к хосту.
CustomLog «C:/apache/test.ru/access.log» common
</VirtualHost>127.0.0.1 test.ru
127.0.0.1 www.test.ruСоздание пакетных файлов для запуска и остановки сервисов127.0.0.1 localhost127.0.0.1 localhost
127.0.0.1 www.test.ru
127.0.0.1 test.ru@echo off
echo.
if not exist C:\apache\vhosts-on.txt goto no_vhosts
echo Create virtual hosts:
copy /v /y C:\apache\vhosts-on.txt C:\WINDOWS\system32\drivers\etc\hosts
echo.
:no_vhosts
NET start Apache2.2
NET start MySQL@echo off
echo.
if not exist C:\apache\vhosts-off.txt goto no_vhosts
echo Restore hosts file:
copy /v /y C:\apache\vhosts-off.txt C:\WINDOWS\system32\drivers\etc\hosts
echo.
:no_vhosts
NET stop Apache2.2
NET stop MySQLstart «» «C:\Apache2\bin\ApacheMonitor.exe»
« Установка PHP 5.3.10 — Предыдущий раздел | Следующий раздел — Установка phpMyAdmin 3.5.0 » |
Веб-сервер на Windows
Веб-сервер — это программа, которая предназначена для обработки запросов к сайтам и отправки пользователям страниц веб-сайтов. Самый популярный пример веб-сервера это Apache.
PHP — это язык программирования. Также называется среда для выполнения скриптов, написанных на PHP. В операционной системе, в том числе и Windows, PHP может быть установлен самостоятельно, без веб-сервера. В этом случае программы (скрипты) на PHP можно запускать из командной строки. Но веб-приложения очень часто используют PHP, данный интерпретатор стал, фактически, стандартом веб-серверов и поэтому они почти всегда устанавливаются вместе.
MySQL — это система управления базами данных (СУБД). Это также самостоятельная программа, она используется для хранения данных, поиска по базам данных, для изменения и удаления данных. Веб-приложения нуждаются в постоянном хранилище, поэтому для веб-сервера дополнительно устанавливается и СУБД. Кстати, вполне возможно, что вы слышали про MariaDB — это тоже СУБД. Первой появилась MySQL, а затем от неё ответвилась MariaDB. Для веб-приложений обе эти СУБД являются взаимозаменяемыми, то есть никакой разницы нет. В этой инструкции я буду показывать установку на примере MySQL, тем не менее если вы хотите попробовать новую MariaDB, то смотрите статью «Инструкция по установке веб-сервера Apache c PHP, MariaDB и phpMyAdmin в Windows».
Что касается phpMyAdmin, то это просто скрипт на PHP, который предназначен для работы с базами данных — наглядно выводит их содержимое, позволяет выполнять в графическом интерфейсе такие задачи как создавать базы данных, создавать таблицы, добавлять, изменять и удалять информацию и т. д. По этой причине phpMyAdmin довольно популярен, хотя и не является обязательной частью веб-сервера.
Особенность Apache и других компонентов веб-сервера в том, что их корни уходят в Linux. И эти программы применяют в своей работе основные концепции этой операционной системы. Например, программы очень гибки в настройке — можно выполнить установку в любую папку, сайты также можно разместить в любой папке, в том числе на другом диске, не на том, где установлен сам веб-сервер. Даже файлы журналов можно вынести на третий диск и так далее. У веб-сервера много встроенных модулей — можно включить или отключить их в любом сочетании, можно подключить внешние модули. Можно создать много сайтов на одном веб-сервере и для каждого из них установить персональные настройки. Но эта гибкая настройка выполняется через текстовые файлы — именно такой подход (без графического интерфейса) позволяет описать любые конфигурации
Не нужно этого боятся — я расскажу, какие файлы нужно редактировать и что именно в них писать.
Мы не будем делать какие-то комплексные настройки — наша цель, просто установить веб-сервер на Windows. Тем не менее было бы странно совсем не использовать такую мощь в настройке. Мы разделим сервер на две директории: в первой будут исполнимые файлы, а во второй — данные (файлы сайтов и баз данных). В будущем, когда возникнет необходимость делать резервные копии информации или обновлять веб-сервер, вы поймёте, насколько удобен этот подход!
Мы установим сервер в отдельную директорию. Для этого в корне диска C:\ создайте каталог Server. В этом каталоге создайте 2 подкаталога: bin (для исполнимых файлов) и data (для сайтов и баз данных).
Перейдите в каталог data и там создайте подпапки DB (для баз данных) и htdocs (для сайтов).
Перейдите в каталог C:\Server\data\DB\ и создайте там пустую папку data.
Подготовительные действия закончены, переходим к установке компонентов веб-сервера.