DATAENGINER
Добрый день! Ранее мы уже устанавливали Php и Mysql на CentOS, теперь же давайте настроим полноценный веб сервер на ОС Linux Mint.
О том, как установить Php7 вы можете прочитать тут!
О том, как установить MySQL вы можете прочитать здесь!
Итак, приступим к установке LAMP Server на Linux.
Шаг 1. Сначала установим web-server apache2 при помощи утилиты apt. Для этого откроем терминал и выполним команду: sudo apt-get install apache2 -y.
Шаг 2. По завершению установке нам необходимо будет запустить сервер apache и добавить его в автозагрузку.
Выполним команды: systemctl start apache2 и systemctl enable apache2.
Шаг 3. Далее проверим, что firewall имеет профиль для Apache следующей командой:
Шаг 4. Проверим настройку профиля Apache Full, она должна разрешить трафик для портов 80 и 443, выполнив команду sudo ufw app info “Apache Full”.
Шаг 5. Разрешим firewall входящий трафик на порт 80 и 443. Для этого введем команду: sudo ufw allow in “Apache Full”.
Проверим, что правила были добавлены в firewall
Шаг 6. Проверим, что сервер apache запущен и мы можем к нему, подключится. Для это откроем web браузер на нашей виртуальной машине и перейдем по адресу localhost или 127.0.0.1. Если все работает корректно, то в браузере мы увидим web страницу со следующим содержанием.
Теперь давайте проверим, что наш компьютер может обратиться к виртуальной машине. Поэтому для того чтобы узнать ip адрес виртуальной машины воспользуемся утилитой ifconfig.
Настройки адаптера ens33 будут отображать наш внешний ip адрес напротив надписи inet.
Теперь откроем браузер на нашем локальном компьютере и обратимся по адресу, указанному напротив inet.
Приступим к следующему шагу установим систему управления базами данных mysql.
Шаг 7. Для установки выполним в терминале команду sudo apt-get install mysql-server –y.
По окончании установки нам будет необходимо настроить сервер.
Для настройки запустим скрипт mysql_secure_installation.
Нам будет предложено включить плагин валидации паролей, мы не будем его включать. N
Далее укажем пароль пользователю root и повторим введенный ранее пароль.
Далее удалим Анонимных пользователей.
Запретим пользователю root удаленное подключение.
Удалим тестовую базу данных
И перезагрузим привилегии пользователя. На этом настройка будет завершена.
Далее проверим, что мы можем запустить консоль СУБД.
Для выхода из консоли необходимо ввести «exit;» .
Шаг 8. СУБД успешно установлена и прошло время установить php. Устанавливать мы будет три пакета сам php, модуль php для работы с apache «libapache2-mod-php» и модуль для работы с mysql «php-mysql». Обратите внимание при установке множество пакетов, разделять наименование пакетов следует пробелом.
Php будет установлен версии 7.2.
Шаг 9. Так как apache мы будем использовать в основном для работы с php, то предлагаю изменить порядок поиска файлов, чтобы первым apache искал индексный файл с расширением php, а не html. Для этого отредактируем файл dir.conf, который расположен в каталоге /etc/apache2/mods-enabled. Редактировать его необходимо при помощи прав суперпользователя (sudo). Откроем файл.
Для того, чтобы предпочтение при поиске отдавалось .php файлам необходимо переместить наименование index.php, сразу же следом за DirectoryIndex. После изменения сохраним файл при помощи ключей wq.
Теперь нам необходимо перезапустить apache для того, чтобы были применены внесенные изменения.
Шаг 10. Проверим успешную работу стека LAMP. Для того в каталоге /var/www/html создадим файл info.php. Этот файл будет выводит информацию о версии php и модулях php. Откроем файл с привилегиями sudo.
Укажем следующий код и сохраним файл.
Проверим, что код работает успешно перейдем с локального компьютера до ip-адрес/info.php.
Мы должны увидеть следующее содержимое.
На этом установка стека Lamp завершена! В следующих статьях мы рассмотрим установку популярных и бесплатных CMS.
Локальный веб-сервер под 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 и пользоваться