Всем привет. Возникли некоторые трудности при установки и конфигурации Apache, MySQL и PHP.
Проблема в том, что в разных источниках по разному нередко пишут, на одной работает, то нет. (Я не рукожоп, ошибки на моей стороне исключены).
Ubuntu Server у меня. Благодарность за любой ответ по теме Но очень желательно на русском
- https://phpbestpractices.org/#serving-php
- http://getjump.github.io/ru-php-the-right-way/#начало
- https://guides.hexlet.io/docker/
Сейчас проще всего с помощью Docker/Docker Compose — взял конфиг контейнеров и запустил одной командой независимо от ОС и её версии. По крайней мере на Linux, MacOS, про винду не в курсе, но вроде уже тоже всё просто (только производительность Докера на винде и маках хуже, чем на линуксе).
Всё изолировано, никаких изменений в разных местах основной системы. В каждом проекте можно легко использовать нужные версии всех компонентов не ломая другие проекты и т.д. Можно быстро снести всё и переразвернуть с нуля. Легко делиться с другими людьми.
Подходит и для разработки, и для реальных серверов (“production”), ну только может быть немного разная конфигурация (в зависимости от ситуации), например, наличие/отсутствие Xdebug и т.п., использование балансеров (и может быть чего-то другого вместо docker-compose) если это большой серьезный проект и нужен zero downtime, …
Я этот недавно использовал для разработки:
Скачал ветку с нужной версией PHP (git clone
или кнопка сверху), поправил настройки если надо, запустил docker-compose up -d
и всё.
Раньше еще были популярны сборки типа XAMPP, OpenServer, WAMP.
Сейчас на замену им появляются ddev и другие обертки над Докером, но фундаментально разницы по сравнению с Docker Compose нет, некоторые удобства и упрощения.
Еще был Vagrant, но после появления Докера теряется смысл в нем для многих задач.
Я когда-то этот использовал: https://laravel.com/docs/7.x/homestead (подходит не только для Ларавела).
Если ставить PHP, Apache, MySQL самому, то да, будут проблемы с “по разному пишут”, особенно если не совпадает ОС и её версия.
Но чтоб просто заработало в базовом виде вроде бы не должно быть сильно сложно. Для PHP и Apache нагуглить имена пакетов для своей ОС (Ubuntu), установить их (apt
, …), создать PHP скрипт в /var/www/html/
или типа того, открыть http://localhost/my-script.php
Для MySQL еще запустить скрипт установщика для ввода настроек, и чтоб можно было обращаться к БД из PHP скриптов может быть еще потребуется установить пакет типа php-mysql
.