- Устанавливаем Apache, PHP, MySQL и PHPMyAdmin на Linux
- Ставим PHP 7.0 и все нужные пакеты
- Ставим MySQL 5.7 и PHPMyAdmin
- Напоследок немного настроек
- Welcome
- Welcome
- 3. Конфигурация Apache-сервера
- Настройка FTP-сервера
- 1. Установка
- 2. Создание локальной учетной записи
- 3. Конфигурация
- 4. Создание базы данных
- Настройка PHP-сервера
- 1. Установка
- 2. Проверка
- Welcome
- Настройка MySQL (MariaDB)
- 1. Установка
- Настройка phpMyAdmin
- 1. Установка
- 2. Создание псевдонима
- 3. Подготовка базы данных
- 4. Конфигурация
- Установка и настройка WordPress на сервер Linux
- 1. Размещение файлов дистрибутива WP
- 2. Создание базы данных для WordPress
- 3. Конфигурация WP на сервере под Linux
- 4. Установка CMS WordPress
Устанавливаем Apache, PHP, MySQL и PHPMyAdmin на Linux
Мы продолжаем работать над своим локальным веб-сервером на VirtualBox и в этой статье установим и настроим основной набор инструментов, который необходим для нашей среды.
Это условный список и из него можно убрать, к слову, PHPMyAdmin так как он не сильно нужен, по крайней мере, сам я достаточно давно уже пользуюсь инструментом для работы с БД Sequel Pro или встроенным в Phpstorm (как подключится к этим штукам с хоста мы в будущем разберёмся).
Итак, начнем с главного, а именно — установки Apache. Для этого нам нужно открыть терминал:
и вести несколько команд (я сразу сделаю ярлыки на рабочем столе для него и еще одной программы — finder).
Первая команда добавит нам репозиторий, из которого мы будем устанавливать софт:
Далее обновим пакеты:
А после уже установим сам Apache:
После можно убедиться, что HTTP сервер установлен, введя команду:
Если вы увидели версию своего сервера, то все прошло хорошо и можно двигать дальше и сразу его немного настроить:
Перейдя в конфирмационный файл, мы укажем файл считывания по умолчанию — index.php .
и сохраним. Теперь мы можем проверить работу нашего сервера через браузер, введя localhost . Страница, которую, мы увидим можно найти /var/www/html (конечно этот путь не удобен, но вскоре вы узнаете как это просто решается).
Чтобы не откладывать на потом, можно еще включить mod_rewrite:
Ставим PHP 7.0 и все нужные пакеты
PHP точно также просто ставится. Для начала мы вернемся к терминалу и введем команду, чтобы установить необходимый пакет перед установкой PHP:
Далее добавляем репозиторий с необходимой версией PHP (если он не добавится, то значит он уже есть и можно продолжать):
И уже ставим непосредственно PHP на Linux:
Далее, чтобы убедиться что все идет хорошо, мы можем проверить версию:
Теперь мы поставим все пакеты, которые нам потребуются для запуска почти любого скрипта или CMS на нашем серваке. Если вам потребуется дополнительные библиотеки, то их можно будет легко доустанавливать. Но перед этим, хочу поделиться полезной командой, которая позволит узнать какие PHP пакеты уже есть:
А теперь будем дополнять этот список:
В результате у нас получиться вот такой набор:
Далее нам осталось проверить работу PHP. Для это я предлагаю создать файлик index.php и вывести phpinfo() . Но перед этим нам потребуется расширить права для файлов и папок в /var/www/ :
Как видите — все работает! Мы можем продолжать.
Ставим MySQL 5.7 и PHPMyAdmin
Вот мы и подобрались до финальной части этой статьи. Установка MySQL заключается в 3-ех командах, выполнением которых, мы и займемся:
В ходе установки у вас попросят вести новый пароль для MySQL, его стоит указать, в моем случае он будет «root» (если вы не укажите, то потом будет достаточно сложно подключиться к БД).
Ну и по традиции проверим, что MySQL server установился, выведя его версию:
Теперь можем поставить PHPMyAdmin при помощи следующей команды:
В ходе установки вас попросят выбрать сервер, в нашем случае это Apache:
Настройки БД оставляем по умолчанию:
Выбираем пароль, тут тоже указываем «root»:
Теперь, чтобы мы могли пользоваться PHPMyAdmin, нам его нужно подключить к Apache. Для этого открываем файл:
В конец его добавляем строчку:
И, чтобы настройки применились, перезагружаем сервер:
Вот и все, открываем браузер, вводим http://localhost/phpMyAdmin/ :
Как можно заметить, все стало и уже можно работать с данным сервером, но мы все настроили на виртуальной машине – это важная часть, которую мы проделали. В следующей статье подружим нашу основную OS и сервер, чтобы мы могли с ним работать как с обычным локальным сервером к которому привыкли.
Напоследок немного настроек
Уже думал заканчивать статью, но решил уделить внимание системе обновлений, которая есть в Linux. Давайте ее немного настроим:
Переходим во вкладку «Программное обеспечение Ubuntu» и выбираем откуда грузить — «Север Российская Федерация»:
Далее переходим во вкладку «Обновления» и отключаем автоматическую проверку:
После чего сохраняем, так мы избавились от ненужных сообщений, что что-то можно обновить и выбрали точку, откуда будем грузить пакеты в первую очередь.
Статьи из серии «Создание локального веб-сервера»:
Источник
Welcome
В результате файл “/var/www/sites/site1/index.html” будет содержать одну html-строку:
Welcome
3. Конфигурация Apache-сервера
Конфигурационные файлы сайтов находятся в каталоге “/etc/apache2/sites-available/”. Создадим конфигурационный файл для нового виртуального хоста взяв за основу конфигурацию по умолчанию из файла “000-default.conf”
cd /etc/apache2/sites-available/
cp 000-default.conf site1.conf
Откроем файл “site1.conf” и изменим параметр “DocumentRoot”. В качестве значения нужно указать путь к новому сайту, в нашем случае это “/var/www/sites/site1”
На данном этапе нам не требуется настройка одновременной работы нескольких сайтов, поэтому отключим сайт по умолчанию и включим новый сайт. Для применения изменений перезагружаем конфигурацию сервера.
a2dissite 000-default
a2ensite site1
systemctl reload apache2
Снова переходим по ссылке “http://[ip_адрес_сервера]” и убеждаемся, что вместо стандартной страницы приветствия отображается наша новая страница.
Настройка HTTP-сервера завершена, переходим к следующему этапу.
Настройка FTP-сервера
1. Установка
Устанавливаем ftp-сервер и дополнительный пакет “db-util”, который потребуется для настройки виртуальных пользователей.
apt install vsftpd db-util
2. Создание локальной учетной записи
Сервер vsftpd позволяет очень гибко настраивать права доступа. Для решения наших задач ftp-пользователям необходимо обеспечить следующие возможности:
- полный доступ к содержимому директории “/var/www/sites/”;
- невозможность выхода за пределы директории “/var/www/”;
- подключение с использованием виртуальной учетной записи;
Создадим локальную учетную запись “virtual” без возможности входа в систему, с домашней директорией “/var/www/”. Эта учетная запись будет использоваться для подключения виртуальных ftp-пользователей.
useradd -d /var/www virtual
По умолчанию, владельцем директории “/var/www” является “root”. Для того, того, чтобы ftp-пользователи могли изменять содержимое сайтов, изменим владельца каталога “/var/www/sites/”, включая вложенные папки на “virtual”.
chown -R virtual:root /var/www/sites
В результате изменения прав, пользователь “virtual” сможет просматривать содержимое каталога “/var/www/” и записывать во вложенный каталог “/var/www/sites/”
3. Конфигурация
Основная конфигурация хранится в файле “/etc/vsftpd.conf”, приводим его к следующему виду:
#Включаем виртуальных пользователей
anonymous_enable=NO
local_enable=YES
guest_enable=YES
guest_username=virtual
#Настраиваем права
write_enable=YES
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES
anon_world_readable_only=NO
anon_umask=0022
chroot_local_user=YES
#задаем параметры запуска
listen=YES
pasv_min_port=30000
pasv_max_port=30999
4. Создание базы данных
База данных необходима для хранения виртуальных учетных записей.
Предварительно создадим в домашнем каталоге простой текстовый файл “users.txt” и запишем логины и пароли виртуальных пользователей в чередующиеся строки. Например нам нужен виртуальный пользователь с логином “ftp” и паролем “Qwe123”, тогда содержимое файла будет таким:
Создаем базу данных
db_load -T -t hash -f
Меняем стандартное содержимое PAM файла “/etc/pam.d/vsftpd” на следующие строки.
auth required /lib/x86_64-linux-gnu/security/pam_userdb.so db=/etc/vsftpd_login
account required /lib/x86_64-linux-gnu/security/pam_userdb.so db=/etc/vsftpd_login
Обратите внимание, что в различных дистрибутивах расположение библиотеки “pam_userdb.so” может отличаться, при необходимости путь к файлу нужно скорректировать.
Для применения изменений перезагружаем vsftpd сервер.
systemctl restart vsftpd
Настройка FTP-сервера завершена.
Данные для подключения:
- ftp://[ip_адрес_сервера]
- Логин: ftp
- Пароль: Qwe123
Настройка PHP-сервера
1. Установка
На текущий момент последней стабильной версией PHP является php 7.4.5, которая отсутствует в официальных репозиториях Ubuntu. Подключим сторонний репозиторий и установим последнюю версию PHP.
apt update
apt install software-properties-common
add-apt-repository ppa:ondrej/php
apt update
apt install php7.4
2. Проверка
Для того, чтобы PHP код мог быть исполнен, файл веб страницы должен иметь расширение “.php”. Переименовываем тестовою страницу
cd /var/www/sites/site1/
mv index.html index.php
Добавляем в файл “/var/www/sites/site1/index.php” строку php-кода. В результате содержимое файла будет таким:
Welcome
Сохраняем изменения и проверяем результат в браузере.
Если вы видите результат работы функции “phpinfo()”, значит интерпретатор PHP работает корректно. Приступаем к следующему этапу.
Настройка MySQL (MariaDB)
1. Установка
Устанавливаем MariaDB и PHP-модуль для работы с MySQL, после завершения установки перезагружаем Apache
apt install mariadb-server php-mysql
systemctl restart apache2
Для проверки обновим тестовую страницу и в таблице с конфигурацией PHP и перейдем к разделу PDO. Наличие секции “PDO_mysql” говорит о корректной установке драйвера для работой с базой данных Mysql.
Для дальнейшей работы необходимо выполнить первоначальную настройку безопасности MariaDB, во время которой для пользователя “root” устанавливается пароль, запрещается удаленный вход и удаляются гостевые учетные записи.
На первом шаге необходимо ввести пароль пользователя «root» для входа в СУБД или нажать Enter, если пароль не задан. Так как после установки учетная запись «root» не имеет пароля, нажимаем “Enter”.
Обратите внимание, что в MariaDB существуют собственные учетные записи, которые не имеют отношения к учетным записям операционной системы. Речь идет о пользователе «root» в MariaDB.
Далее конфигуратор предложит задать пароль для пользователя root, нажимаем “y” для подтверждения и вводим новый пароль, в нашем случае “Qwe123”
На все последующие запросы просто нажимаем “y” до окончания настройки.
Данные для входа в MariaDB:
Настройка phpMyAdmin
1. Установка
Устанавливаем обязательное PHP-расширение mbstring.
apt install php-mbstring
В официальном репозитории размещена устаревшая версия phpMyAdmin, поэтому выполним установку в ручном режиме.
Заходим на официальный сайт проекта “https://www.phpmyadmin.net/” и скачиваем архив актуальной версии.
Копируем архив на сервер в каталог “/var/www/sites/” используя любой ftp-клиент.
Распаковываем архив, и для удобства, переименовываем извлеченную папку в “phpMyAdmin”. Для распаковки zip-архива предварительно установим утилиту “unzip”. После распаковки архив можно удалить.
apt install unzip
cd /var/www/sites/
unzip phpMyAdmin-5.0.2-all-languages.zip
mv phpMyAdmin-5.0.2-all-languages phpMyAdmin
rm phpMyAdmin-5.0.2-all-languages.zip
Создаем папку “/var/www/sites/phpMyAdmin/tmp” для хранения временных файлов с полными доступом для всех. Если этого не сделать phpMyAdmin сообщит об отсутствии доступа в временной папке.
cd /var/www/sites/phpMyAdmin/
mkdir tmp
chmod 777 tmp
2. Создание псевдонима
Так как phpMyAdmin не является отдельным виртуальным хостом и находится за пределами корневой директории сайта, настроим псевдоним для возможности доступа.
Открываем файл “/etc/apache2/mods-available/alias.conf” и вставляем строку
Alias /pma “/var/www/sites/phpMyAdmin»
Перезагружаем конфигурацию Apache для применения изменений.
systemctl reload apache2
Псевдоним настроен. Сейчас мы можем входить в phpMyAdmin по ссылке “http://[ip_адрес_сервера]/pma”
3. Подготовка базы данных
Так как при первоначальной настройке MariaDB мы запретили использование учетной записи root для удаленного подключения, необходимо создать новую учетную запись с полными правами, которая будет использоваться для входа в phpMyAdmin.
Кроме того, для работы дополнительных функций phpMyAdmin необходима служебная база данных и учетная запись для доступа к ней.
Создадим учетные записи
mariadb -u root -p
GRANT ALL PRIVILEGES ON *.* TO ‘pma’@’localhost’ IDENTIFIED BY ‘Qwe123’ WITH GRANT OPTION;
GRANT SELECT, INSERT, UPDATE, DELETE ON `phpmyadmin`.* TO ‘pmaservice’@’localhost’ IDENTIFIED BY ‘Qwe123’ WITH grant option;
Обратите внимание, что имя базы данных во втором запросе заключено в обратные апострофы: “… ON `phpmyadmin`.* TO ‘pma’@’localhost’ IDENTIFIED BY …”,
В результате в MariaDB будет создано две учетные записи:
- Логин: pma, пароль: Qwe123
Учетная запись имеет полные права и будет использоваться для входа в phpMyAdmin - Логин: pmaservice, пароль:Qwe123
Служебная учетная запись необходимая для работы дополнительных функций.
На следующем шаге эти учетные данные должны быть указаны в конфигурационном файле “config.inc.php”
Далее необходимо импортировать базу данных из файла “phpMyAdmin/sql/create_tables.sql”. Выполним импорт средствами phpMyAdmin.
Открываем браузер и переходим по ссылке “http://[ip_адрес _сервера]/pma”
Вводим логин “pma”, пароль “Qwe123”
Переходим на вкладку “Импорт”, нажимаем кнопку “Выберите файл” и выбираем файл ”sql/create_tables.sql” в корневой директории phpMyAdmin. Предполагается что на локальном компьютере существует папка с файлами “phpMyAdmin”, если необходимо, распакуйте архив.
Для завершения импорта нажимаем кнопку “Вперед”.
4. Конфигурация
Копируем файл конфигурации из шаблона
cd /var/www/sites/phpMyAdmin/
cp config.sample.inc.php config.inc.php
Открываем конфигурационный файл “/var/www/sites/phpMyAdmin/config.inc.php” и вносим следующие изменения:
- Задаем произвольное значение длиной 32 символа для параметра “$cfg[‘blowfish_secret’]”. Можно воспользоваться любым генератором паролей.
- Снимаем комментарии со всех строк раздела “phpMyAdmin configuration storage settings” и указываем для параметров “controluser” и “controlpass” логин и пароль служебной учетной записи MariaDB, созданной на предыдущем шаге. В нашем случае логин — pmaservice, пароль — Qwe123
Сохраняем изменения. Настройка завершена.
Данные для входа в phpMyadmin:
- http://[ip_адрес_сервера]/pma/
- Логин: pma
- Пароль: Qwe123
Установка и настройка WordPress на сервер Linux
1. Размещение файлов дистрибутива WP
Заходим на официальный сайт “https://ru.wordpress.org/” и скачиваем архив на локальный компьютер.
Загружаем архив на сервер в каталог “/var/www/sites/” и распаковываем, файлы будут извлечены в папку “wordpress”.
Копируем содержимое папки “/var/www/sites/wordpress/” в корневую директорию сайта “/var/www/sites/site1/”
Так как копирование файлов выполнялось из консоли с root-правами еще раз изменяем владельца каталога “/var/www/sites/”, включая содержимое на virtual. Это нужно для восстановления полного доступа при подключении через ftp-клиент.
cd /var/www/sites/
tar -xzvf wordpress-5.4-ru_RU.tar.gz
cp -R wordpress/* site1/
chown -R virtual:root /var/www/sites
2. Создание базы данных для WordPress
Входим в PHPMyAdmin и нажимаем “Создать БД”. Указываем произвольное имя базы данных, в нашем случае “wordpress_db” и нажимаем кнопку “Создать”.
Выделяем в левой части окна созданную БД и нажимаем кнопку “Привилегии”
Далее нажимаем “Добавить учетную запись пользователя”.
В открывшемся окне вводим логин и пароль (wpservice / Qwe123), помечаем опцию “Предоставить все привилегии в базе данных wordpress_db” и нажимаем кнопку “Вперед”
На следующей странице нажимаем “Отметить все” для установки всех привилегий уровня базы данных и нажимаем “Вперед”.
3. Конфигурация WP на сервере под Linux
Переходим в корневую директорию сайта и копируем из шаблона конфигурационный файл.
cd /var/www/sites/site1/
cp wp-config-sample.php wp-config.php
Открываем файл “wp-config.php” и вводим параметры подключения к базе данных, созданной на предыдущем шаге и сохраняем изменения.
4. Установка CMS WordPress
Открываем браузер и переходим по ссылке “http://[ip_адрес_сервера]/wp-admin/install.php”
Заполняем предложенные поля и нажимаем “Установить WordPress” Имя пользователя и пароль указываем произвольные, в нашем случае логин — wpadmin, пароль — Qwe123
Эти учетные данные будут использоваться для входа в WordPress.
После завершения установки переходим по ссылке “http://[ip_адрес_сервера]/wp-login.php”, вводим учетные данные, указанные на предыдущем шаге и входим в WordPress
На главной странице сайта будет отображаться один из шаблонов WordPress
Данные для входа в WordPress:
Источник