Пошаговое руководство по настройке WordPress на экземпляре Linux Amazon EC2 (AWS)
Опубликовано: 2017-05-25Amazon Elastic Compute Cloud ( Amazon EC2 ) — это облачный сервис, предоставляющий изменяемые вычислительные ресурсы в облаке. Он предназначен для разработчиков, чтобы лучше масштабировать и контролировать свои веб-приложения.
Amazon EC2 предоставляет некоторые расширенные функции, такие как эластичные IP-адреса, балансировка нагрузки, различные платформы, такие как (linux, windows и т. д.), масштабирование, мониторинг и т. д. Разработчикам также проще управлять своими веб-приложениями.
Хостинг WordPress on AWS
— это разумный выбор, потому что по сравнению с другими провайдерами VPS у amazon низкие цены, больше функций и другие сопутствующие удивительные услуги. Также они взимают плату за часы работы вашего экземпляра.
Итак, в этом уроке я покажу вам, как настроить среду LAMP на платформе Linux и вручную установить блог WordPress на экземпляре Amazon EC2 .
Это пошаговое руководство поможет вам полностью управлять своим хостом, отличным от cPanel.
1. Создайте учетную запись AWS
Прежде всего, вам нужно создать свою учетную запись AWS. Зарегистрироваться можно по этой ссылке. Вам нужно будет предоставить кредитную карту или международную дебетовую карту и номер телефона, по которому вам позвонят в рамках процесса проверки онлайн-регистрации в соответствии с их условиями и политикой.
С вашей кредитной или дебетовой карты будет снята небольшая сумма, и она будет возвращена после проверки. Amazon предлагает уровень бесплатного использования, на котором мы установим WordPress, что отлично подходит для изучения сервисов и даже размещения реальных приложений без взимания ни копейки.
2. Создайте экземпляр
После регистрации у вас будет много вариантов, и тогда у вас, вероятно, возникнет такой вопрос: Which type of instance should I choose
?
Если у вас есть новый блог, вы можете выбрать EC2 micro instance
который может обрабатывать около 200+ трафика в реальном времени.
Он также имеет привлекательную ценовую структуру, но если вы переносите свой существующий блог и имеете трафик более тысячи в день, вы должны выбрать экземпляр Small, который может очень легко обрабатывать этот трафик.
Чтобы создать новый экземпляр, войдите в Консоль управления AWS и щелкните вкладку EC2:
- Выберите AMI в мастере классического экземпляра:
- Я выбрал базовый 64-битный Ubuntu Server Amazon Linux AMI.
- Детали экземпляра:
- Выберите тип экземпляра, который вы хотите использовать. Я выбрал Малый (m5a.small).
- Создайте новую пару ключей.
- Введите имя для вашей пары ключей (например, crunchify) и загрузите вашу пару ключей (например
crunchify.pem
).
- Введите имя для вашей пары ключей (например, crunchify) и загрузите вашу пару ключей (например
- Выберите группу безопасности быстрого запуска.
- Запустите свой экземпляр.
3. Подключитесь к вашему экземпляру по SSH.
Как только установка вашего экземпляра завершена и он показывает, что экземпляр запущен, вы можете подключиться к нему по ssh
.
- Прежде всего, вам необходимо определить IP-адрес (общедоступный DNS) вашего экземпляра:
- Выберите экземпляр в Консоли управления AWS.
- Найдите общедоступный DNS в описании экземпляра (нижняя часть экрана).
Используйте этот адрес (и путь к вашему файлу .pem) для подключения по ssh к вашему экземпляру:
1 |
ssh ec2 - user @ ec2 - 50 - 17 - 15 - 27.compute - 1.amazonaws.com - i ~ / crunchify . pem |
Если вы работаете в системе Windows, вам следует использовать Putty для подключения по SSH. Вы можете подключиться к шпаклевке, следуя этой статье.
Если вы получаете сообщение об ошибке о том, что ваши права доступа к файлу .pem слишком открыты, измените файл .pem следующим образом:
1 |
[ ec2 - user ~ ] $ chmod 600 ~ / crunchify . pem |
В этом руководстве вам нужно выполнить множество команд оболочки, и для большинства команд требуется root-доступ. Итак, чтобы избежать этого, мы добавим ко всем командам префикс sudo, раз и навсегда переключив пользователя с помощью этой команды.
1 |
[ ec2 - user ~ ] $ sudo su |
4. Установите веб-сервер Apache для запуска PHP
Чтобы установить веб-сервер Apache, введите в терминале:
1 2 3 4 |
[ ec2 - user ~ ] $ sudo yum - y install python - simplejson # Install PHP latest version [ ec2 - user ~ ] $ sudo yum update # System wide upgrade [ ec2 - user ~ ] $ sudo yum install - y default - jre # Install Java (just to be safe) [ ec2 - user ~ ] $ sudo yum install httpd # Install HTTPD server |
Запустите веб-сервер Apache:
1 |
[ ec2 - user ~ ] $ service httpd start |
После настройки, чтобы протестировать веб-сервер, откройте браузер и зайдите на свой веб-сайт:
1 |
http : //ec2-50-17-15-27.compute-1.amazonaws.com |
(Используйте свое фактическое общедоступное DNS-имя). Вы должны увидеть стандартную страницу заполнителя Amazon по умолчанию.
5. Установите PHP для запуска WordPress
Чтобы установить PHP, введите в терминале:
1 |
[ ec2 - user ~ ] $ yum install php php - mysql |
После успешной установки php перезапустите веб-сервер Apache:
1 |
[ ec2 - user ~ ] $ service httpd restart |
Создайте страницу для проверки установки PHP:
1 2 |
[ ec2 - user ~ ] $ cd / var / www / html [ ec2 - user ~ ] $ vi test . php |
- Введите
i
, чтобы запустить режим вставки - Введите
<?php phpinfo() ?>
- Введите
:wq
, чтобы записать файл и выйти из vi.
Откройте браузер и войдите в test.php, чтобы проверить установку PHP:
1 |
http : //ec2-50-17-15-27.compute-1.amazonaws.com/test.php |
(Используйте общедоступное DNS-имя)
6. Установите MySQL для добавления базы данных
Чтобы установить MySQL, введите:
1 |
[ ec2 - user ~ ] $ yum install mysql - server |
Запустите MySQL:
1 |
[ ec2 - user ~ ] $ service mysqld start |
Создайте базу данных «блог»:
1 |
[ ec2 - user ~ ] $ mysqladmin - u root create blog |
Защитите свою базу данных:
1 |
[ ec2 - user ~ ] $ mysql_secure_installation |
Ответьте на вопросы мастера следующим образом:
- Введите текущий пароль для root: нажмите клавишу возврата, если нет
- Изменить корневой пароль: Y
- Новый пароль: введите новый пароль
- Удалить анонимного пользователя: Y
- Запретить удаленный вход в систему root: Y
- Удалить тестовую базу данных и доступ к ней: Да
- Перезагрузить таблицы привилегий сейчас: Y
7. Установите WordPress
Чтобы установить WordPress, введите:
1 2 |
[ ec2 - user ~ ] $ cd / var / www / html [ ec2 - user ~ ] $ wget http : //wordpress.org/latest.tar.gz |
Чтобы распаковать тип файла tar.gz:

1 |
[ ec2 - user ~ ] $ tar - xzvf latest . tar . gzcd |
Это распаковывает WordPress в его собственный каталог WordPress
.
Мне нравится иметь WordPress в отдельном каталоге, но я бы предпочел переименовать его в «блог», если вы хотите установить его на поддомен, например «http://your-site.com/blog»:
1 |
[ ec2 - user ~ ] $ mv wordpress blog |
в противном случае переместите все файлы в родительскую папку, набрав:
1 |
[ ec2 - user ~ ] $ mv * . * . . |
Создайте файл WordPress wp-config.php:
1 2 3 |
[ ec2 - user ~ ] $ cd blog [ ec2 - user ~ ] $ mv wp - config - sample . php wp - config . php [ ec2 - user ~ ] $ vi wp - config . php |
- Введите
i
, чтобы запустить режим вставки.
Измените параметры подключения к базе данных следующим образом:
1 2 3 4 |
define ( ‘ DB_NAME ’ , ‘ blog ’ ) ; define ( ‘ DB_USER ’ , ‘ root ’ ) ; define ( ‘ DB_PASSWORD ’ , ‘ YOUR_PASSWORD ’ ) ; define ( ‘ DB_HOST ’ , ‘ localhost ’ ) ; |
- Нажмите
esc
один раз, затем - Введите
:wq
, чтобы записать файл и выйти из vi.
Откройте браузер и войдите в свой блог:
1 |
http : //ec2-50-17-15-27.compute-1.amazonaws.com/blog (Use your public DNS name). |
Это должно открыть процесс настройки установки WordPress.
СОВЕТ: чтобы разрешить WordPress использовать постоянные ссылки
Постоянные ссылки WordPress должны использовать файлы Apache .htaccess для правильной работы, но это не включено по умолчанию в Amazon Linux. Используйте эту процедуру, чтобы разрешить все переопределения в корне документа Apache.
Откройте файл httpd.conf в своем любимом текстовом редакторе (например, nano или vim). Если у вас нет любимого текстового редактора, новичкам гораздо проще использовать nano.
1 |
[ ec2 - user wordpress ] $ sudo vim / etc / httpd / conf / httpd . conf |
Найдите раздел, начинающийся с <Directory « /var/www/html
»>.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
< Directory "/var/www/html" > # # Possible values for the Options directive are "None", "All", # or any combination of: # Indexes Includes FollowSymLinks SymLinksifOwnerMatch ExecCGI MultiViews # # Note that "MultiViews" must be named *explicitly* --- "Options All" # doesn't give it to you. # # The Options directive is both complicated and important. Please see # http://httpd.apache.org/docs/2.4/mod/core.html#options # for more information. # Options Indexes FollowSymLinks # # AllowOverride controls what directives may be placed in .htaccess files. # It can be "All", "None", or any combination of the keywords: # Options FileInfo AuthConfig Limit # AllowOverride None # # Controls who can get stuff from this server. # Require all granted < / Directory > |
Измените AllowOverride None
в приведенном выше разделе на AllowOverride All
.
Примечание:
В этом файле есть несколько строк AllowOverride
; убедитесь, что вы изменили строку в разделе <Directory "/var/www/html"
>.
1 |
AllowOverride All |
- Сохраните файл и выйдите из текстового редактора.
8. Сопоставьте IP-адрес и доменное имя
Чтобы использовать свой блог в производстве, вам необходимо:
- Свяжите IP-адрес с вашим экземпляром
- Сопоставьте свое доменное имя с этим IP-адресом
- Чтобы связать IP-адрес с вашим экземпляром:
Шаги:
- В Консоли управления AWS щелкните Эластичные IP-адреса (левая панель навигации).
- Нажмите «Выделить новый адрес» и подтвердите, нажав кнопку «Да, выделить».
- Щелкните правой кнопкой мыши только что назначенный IP-адрес и выберите «Связать» во всплывающем меню. Выберите экземпляр, который вы только что создали, и нажмите «Да, связать».
- Чтобы сопоставить ваше доменное имя с вашим IP-адресом, вам придется использовать инструменты, предоставленные вашим регистратором домена.
- Если вы используете GoDaddy, укажите NS73.DOMAINCONTROL.COM и NS74.DOMAINCONTROL.COM в качестве серверов имен для вашего домена и используйте диспетчер DNS, чтобы изменить запись A и указать на свой IP-адрес.
- После того, как все настроено и сопоставлено правильно, войдите в Общие настройки в консоли управления WordPress и убедитесь, что адрес WordPress и адрес сайта указаны правильно, используя ваше доменное имя.
Другой метод: чтобы изменить URL-адрес вашего сайта WordPress с помощью wp-cli
Запишите URL-адрес старого сайта и URL-адрес нового сайта для вашего экземпляра. URL-адрес старого сайта, скорее всего, является общедоступным DNS-именем для вашего экземпляра EC2 при установке WordPress. URL-адрес нового сайта — это текущее общедоступное DNS-имя для вашего экземпляра EC2.
Если вы не уверены в URL своего старого сайта, вы можете использовать curl, чтобы найти его с помощью следующей команды.
1 |
[ ec2 - user ~ ] $ curl localhost | grep wp - content |
Вы должны увидеть ссылки на ваше старое общедоступное DNS-имя в выводе, который будет выглядеть следующим образом (URL-адрес старого сайта выделен красным):
1 |
<script type = 'text/javascript' src = http : //ec2-50-17-15-27.compute-1.amazonaws.com/blog/wp-content/themes/twentyfifteen/js/functions.js?ver=20150330'></script> |
Загрузите wp-cli с помощью следующей команды.
1 |
[ ec2 - user ~ ] $ curl - O https : //raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar |
Найдите и замените старый URL-адрес сайта в вашей установке WordPress с помощью следующей команды. Замените старый и новый URL-адреса сайта на ваш экземпляр EC2 и путь к вашей установке WordPress (обычно /var/www/html
или /var/www/html/blog
).
1 |
[ ec2 - user ~ ] $ php wp - cli . phar search - replace 'old_site_url' 'new_site_url' -- path =/ path / to / wordpress / installation -- skip - columns = guid |
В веб-браузере введите URL-адрес нового сайта вашего блога WordPress, чтобы убедиться, что сайт снова работает правильно.
Вот и все.
Вы успешно создали среду LAMP и установили WordPress на Amazon EC2 . Если вы столкнулись с какой-либо ошибкой или застряли в какой-либо задаче, сообщите нам об этом, оставив комментарий здесь.
Мы постараемся сделать все возможное, чтобы предоставить решение вашей проблемы.