Apache mod php mysql

Как установить LAMP на Ubuntu 20.04

LAMP представляет собой набор серверных программ с открытым исходным кодом, который устанавливается на сервер как комплект софта, предназначенный для размещения веб-сайтов. Данная четырёхбуквенная аббревиатура обозначает, что:

  • в операционной системе семейства Linux ( L )
  • разворачивается веб-сервер Apache ( A )
  • и устанавливается система управления базами данных MySQL ( M )
  • для создания веб-страниц на языке PHP ( P ).

В качестве сервера будем использовать VPS, работающий под управлением Ubuntu Server 20.04. Предварительно, перед установкой LAMP, необходимо будет произвести первоначальную настройку операционной системы. О том, как это сделать, у нас есть специальное руководство.

Установка Apache

Основа LAMP — это веб-сервер, а именно, веб-сервер Apache, один из популярнейших веб-серверов, который до возникновения Nginx являлся стандартным веб-сервером для большей части сайтов в интернете.

Как всегда перед установкой нового софта необходимо обновить список пакетов нашего сервера:

Непосредственно установка Apache запускается следующей командой:

Настройка брандмауэра

Если вы производили настройки межсетевого экрана на основе нашей инструкции, то теперь вы можете воспользоваться одним из готовых профилей брандмауэра для Apache:

  • Apache – открывает доступ на 80-й порт;
  • Apache Full – открывает доступ на 80-й и 443-й порт;
  • Apache Secure – открывает доступ только на 443-й порт.

В случае, если для доступа к своим веб-ресурсам вы планируете использовать сертификат SSL, то вам потребуется открыть доступ к портам 80 и 443. Если такой необходимости нет, то достаточно открыть доступ только к порту 80. В нашем примере мы применяем настройку брандмауэра по первому варианту:

Увидеть, какие порты открыты в UFW, можно с помощью следующей команды:

Статус брандмауэра UFW

Теперь можно будет проверить работу веб-сервера. Для этого необходимо перейти в браузере на страницу вашего сервера:

В данном случае, XXX.XXX.XXX.XXX – IP-адрес вашего VPS.

Если все было настроено правильно, вы увидите дефолтную страницу установленного веб-сервера:

Дефолтная страница Apache

Установка MySQL

Следующий этап — это установка системы управления базами данных, а именно, MySQL.

MySQL является довольно популярной СУБД. MySQL используется для хранения данных сайта и довольно часто используется в приложениях, написанных с помощью PHP.

Команда для инсталляции выглядит следующим образом:

$ sudo apt install mysql-server

После завершения процесса можно проверить версию установленного пакета:

Команда должна вернуть строку подобную следующей:

Версия MySQL - Как установить LAMP на Ubuntu 20.04

Теперь необходимо произвести настройку СУБД, которая позволит изменить некоторые параметры безопасности, используемые системой по умолчанию. Для того, чтобы это сделать, нужно запустить специальный скрипт. Запуск скрипта производится командой:

$ sudo mysql_secure_installation

Во-первых, скрипт попросит вас включить валидацию паролей пользователей. Для согласия на включение следует нажать y или Y .

Читайте также:  Как подменить javascript на странице

Во-вторых, если вы включили компоненту валидации, потребуется выбрать её уровень. Выбирать нужно набирая цифры: 0 – низкий, 1 – средний, 2 – высокий.

Далее, система запросит установить пароль для учётной записи root , которая будет использоваться при подключении к MySQL.

Для всех остальных вопросов нужно выбирать Y и нажимать в каждом из шагов диалога. Выбрав эти ответы, вы удалите анонимных пользователей, тестовую базу данных, а так же отключите возможность удаленного входа для пользователя root , после чего новые правила будут активированы в MySQL.

В некоторых случаях на этапе установки нового пароля для учётной записи root система выдаёт сообщение следующего вида:

… Failed! Error: SET PASSWORD has no significance for user ‘root’@’localhost’ as the authentication method used doesn’t store authentication data in the MySQL server. Please consider using ALTER USER instead if you want to change authentication parameters.

Чтобы устранить данную ошибку, необходимо:

● прервать работу скрипта завершив SSH-сессию

● подключиться к MySQL: sudo mysql

● сбросить пароль root ‘а: ALTER USER ‘root’@’localhost’ IDENTIFIED WITH mysql_native_password by ‘NewPassForRoot’; (здесь NewPassForRoot – новый пароль, вместо которого вам, конечно же, необходимо придумать и ввести свой)

● выйти из MySQL: exit

● повторно запустить на исполнение скрипт: sudo mysql_secure_installation

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

Для выхода из консоли MySQL используйте следующую команду:

Более подробно процесс установки и настройки MySQL на Ubuntu 20.04 описан в нашей статье, посвящённой именно этой СУБД.

Установка PHP

PHP — скриптовый язык общего назначения, интенсивно применяемый для разработки веб-приложений. Поддерживается большинством провайдеров и позволяет выполнять приложения написанные на PHP.

Для дальнейшей работы вам также понадобится библиотека libapache2-mod-php для обработки PHP в Apache и библиотека php-mysql для PHP, используемая для подключения к MySQL из PHP.

Чтобы проинсталлировать PHP, а также необходимые библиотеки, используйте следующую команду:

$ sudo apt install php libapache2-mod-php php-mysql

По завершению установки есть возможность посмотреть версию установленного пакета:

Версия PHP - Как установить LAMP на Ubuntu 20.04

На данном этапе уже можно использовать связку LAMP для своей работы. Однако, для того, чтобы, провести тест работоспособности PHP, логично было бы предварительно настроить виртуальный хост Apache. В нём будут содержаться каталоги и файлы вашего сайта.

Создание виртуального хоста для сайта

В этом разделе мы создадим виртуальный хост с использованием веб-сервера Apache, в котором будут инкапсулироваться данные конфигурации нашего веб-сайта. В качестве сайта мы будем использовать my-domain.host . Естественно, вместо него на своём сервере вы должны использовать имя вашего онлайн-ресурса.

Читайте также:  String functions in php mysql

По умолчанию на веб-сервере Apache присутствует единственный серверный блок, конфигурация которого настроена на каталог /var/www/html . Если вы уверены, что на вашем сервере будет работать только один веб-сайт, то можно разместить его там. Мы же поместим наш хост в отдельную директорию, а /var/www/html оставим в качестве дефолтного каталога.

Для начала необходимо создать директорию для нашего сайта (не забывайте подставлять имя своего хоста вместо my-domain.host ):

$ cd /var/www $ sudo mkdir my-domain.host

Далее, нужно будет назначить соответствующие права на созданный каталог. Права будем назначать при помощи переменной среды $USER . Через эту переменную владеть директорией сможет текущий системный пользователь:

$ sudo chown -R $USER:$USER /var/www/my-domain.host

На следующем шаге необходимо создать конфигурационный файл в каталоге веб-сервера. Создавать его будем при помощи редактора nano :

$ cd /etc/apache2/sites-available $ sudo nano my-domain.host.conf

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

 ServerName my-domain.host ServerAlias www.my-domain.host ServerAdmin webmaster@localhost DocumentRoot /var/www/my-domain.host ErrorLog $/error.log CustomLog $/access.log combined 

При выходе из текстового редактора сохраните внесённые в файл изменения.

Теперь можно активировать новый виртуальный хост:

$ sudo a2ensite my-domain.host

Если есть необходимость отключить дефолтный виртуальный хост, то сделать это можно при помощи команды:

$ sudo a2dissite 000-default

Далее, нужно проверить конфигурацию нашего хоста на предмет отсутствия синтаксических ошибок:

$ sudo apache2ctl configtest

Если проверка выдаст сообщение вида Syntax OK , то перезапустите веб-сервер для применения внесённых изменений:

$ sudo systemctl reload apache2

Таким образом, мы активировали наш сайт, но он ещё не имеет никакого содержимого. Поэтому теперь необходимо создать для него стартовую страницу. Для этого в директории /var/www/ my-domain.host нужно будет создать файл index.html :

$ cd /var/www/my-domain.host $ nano index.html

В качестве примера наполните созданный файл следующим содержимым:

My Apache site - my-domain.host

You see my Apache site my-domain.host on Ubuntu 20.04

Закройте файл сохранив изменения, после чего попробуйте перейти на созданную страницу. Для этого введите IP-адреса вашего VPS в строке браузера. Более того, если имя вашего сайта имеет привязку A-записи к IP-адресу вашего сервера, то вы сможете перейти на страницу вашего сайта набрав в строке браузера его имя.

Стартовая страница сайта

Отображение браузером страницы, созданной при помощи файла index.html , будет означать, что ваш виртуальный хост функционирует.

Поскольку мы настаиваем веб-сервер для создания сайта на PHP, то скорее всего ваша начальная страница будет содержаться в файле вида index.php . Когда такой файл вы поместите в каталог вашей онлайн-страницы, файл index.html можно будет удалить. Вернее, это нужно будет сделать, так как по умолчанию index.html имеет приоритет над файлом index.php . С другой стороны, настройку приоритетов тоже можно будет изменить.

Читайте также:  ЛЕНТА НОВОСТЕЙ

Таким образом, можно переходить к проверке корректности установки и настройке пакета PHP.

Настройка PHP

Теперь мы поместим на наш ресурс тестовый PHP-скрипт, который поможет нам убедиться, что веб-сервер Apache способен работать с PHP.

В директории /var/www/my-domain.host/ (вместо my-domain.host вам нужно использовать имя своего хоста) создайте файл info.php :

$ cd /var/www/my-domain.host $ nano info.php

Файл info.php должен содержать следующий текст:

Закройте файл сохранив внесённые в него изменения, после чего перейдите в браузере по адресу http://XXX.XXX.XXX.XXX/info.php , где XXX.XXX.XXX.XXX – IP-адрес вашего виртуального сервера. В результате в вашем браузере должна открыться конфигурационная страница PHP:

Конфигурационная страница PHP

Поскольку на выведенной странице содержится большое количество конфиденциальной информации о вашей системе, лучше удалить файл info.php после того, как вы теперь убедились, что PHP настроен корректно:

$ sudo rm /var/www/my-domain.host/info.php

Заключение

Таким образом, в результате проделанной работы мы развернули универсальный инструмент для хостинга и разработки онлайн-ресурсов. В итоге, теперь вы можете создавать веб-страницы на PHP, используя MySQL в качестве системы управления базами данных. При этом как веб-сервер в данном мануале мы использовали такое программное обеспечение как Apache.

Источник

Apache mod php mysql

перед последним make install выполнил
apache_1.3.27/src/httpd -l
не увидел mod_perl, удивился

выполнил make install
добавил в конф.файл


ServerName xx.xx.xx
DocumentRoot /opt/rt2/WebRT/html
PerlModule Apache::DBI
PerlRequire /opt/rt2/bin/webmux.pl

SetHandler perl-script
PerlHandler RT::Mason

/usr/local/apache/bin/apachectl configtest
получил ошибку
Invalid command ‘PerlModule’, perhaps mis-spelled or defined by a module not included in the server configuration

у кого-нибудь обновременно работают статические mod_php и mod_perl

Solaris 8,
Sun WorkShop 6 update 1 C 5.2 Patch 109513-10 2002/04/16

Я собираю проще: Беру последнюю версию русского апачи с ftp.lexa.ru

А насчёт перла всё просто

./configure —with-apache=../apache_1.3.26 —with-ssl=../openssl-0.9.6d \
—prefix=/usr/local/ apache —activate-module=src/modules/php4/libphp4.a -Это же есть и он работает, а кто будет делать это?
—activate-module=src/modules/perl/libperl.a ? 🙂

>P.S. И во FreeBSD НАДО СТАВИТЬ ИЗ ПОРТОВ.
А вот с этим, уважаемый, позволь не согласиться.
Лучше, если умеешь конечно, компилять все полностью самостоятельно. А если не умеешь — учиться. )

Если у вас такая ошибка, значит не запущен сервер MySQL.

У автора опечатка или неточность:

# cp /usr/local/src/mysql-3.23.52/support-files/mysql.server /usr/local/etc/rc.d
нужно копировать не в /usr/local/etc/rc.d а просто в /etc/rc.d ибо по умолчанию ссылки не установлено. Ну или создать линк командой ln /usr/local/etc должна указывать на /etc

Хотя я просто написал скрипт:
#!/bin/sh
/usr/local/etc/rc.d/mysql.server start

PostgresPro

Inferno Solutions

Источник

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