Поскольку эффективность сайта является ключевым показателем в алгоритмах ранжирования Google, все больше пользователей WordPress обращаются к выделенному управляемому хостингу WordPress, такому как WP Engine, Media Temple или SiteGround.
Тем не менее, для некоторых это может быть дорогостоящим решением, стоимость которого начинается от $ 30 / сайт в месяц.
Если вы знакомы с базовым администрированием сервера и WordPress, можно настроить собственный недорогой хостинг для небольших веб-сайтов WordPress, который соответствует производительности управляемых провайдеров хостинга WordPress с использованием стека LEMP (Linux, nginx, MySQL, PHP).
Создание виртуального частного сервера DigitalOcean (VPS)
В этой статье используется DigitalOcean, но вы можете в равной степени использовать такие услуги, как Linode, Vultr или ряд других провайдеров. Другие разделы этого руководства будут в равной степени применяться независимо от того, кого вы используете.
Сначала зарегистрируйте аккаунт на https://cloud.digitalocean.com/registrations/new .
По завершении нажмите кнопку « Создать каплю» :
Мы будем использовать следующие настройки для нашего VPS:
- Droplet Hostname: введите что-то значимое — возможно, название вашей компании или веб-сайта
- Выберите изображение: выберите Ubuntu 14.04 x64 — по умолчанию
- Выберите размер. Начнем с варианта за 5 долларов США в месяц, который включает 512 МБ, 1 ЦП, 20 ГБ SSD и 1000 ГБ.
- Выберите регион: выберите регион, подходящий для вашего бизнеса. Если вы находитесь в США, выберите регион США. Если вы находитесь в Великобритании, выберите регион Великобритании.
- Доступные настройки: рекомендуется включить параметр « Резервное копирование» , поскольку он будет делать ночные снимки вашего сервера. Если что-то пойдет не так, вы можете вернуться к резервной копии предыдущего дня.
Нажмите кнопку « Создать каплю» , и вы увидите на экране прогресс, пока создается ваш VPS (капля).
После завершения вы увидите свой VPS на экране. Запишите IP-адрес:
Вы также получите электронное письмо с вашим корневым паролем, которое вам также понадобится.
Вход в Ваш VPS
Далее давайте войдем в наш VPS.
ПРИМЕЧАНИЕ. В нашем примере для простоты мы будем использовать пароль для входа на наш сервер. Я бы порекомендовал изучить использование ключей SSH для дополнительной безопасности.
Windows
Для пользователей Windows загрузите PuTTY . После загрузки запустите PuTTY и введите следующую информацию в появившемся диалоговом окне:
- Имя хоста: введите IP-адрес, который вы указали выше
- Тип подключения: SSH
Нажмите «Открыть», и вы должны получить предупреждение системы безопасности. Это говорит нам о том, что ключ хоста сервера является новым, и поэтому спрашивает нас, хотим ли мы доверять ему. Нажмите «Да».
Далее, давайте войдем в систему как пользователь root. Введите root
входа в систему как и нажмите «Enter». Затем вам будет предложено ввести пароль; введите пароль, который был отправлен вам по электронной почте. Не беспокойтесь, если вы не видите пароль при его вводе — это для безопасности. Нажмите «Enter», когда закончите.
Mac OS X
Для пользователей Mac OS X откройте терминал и введите следующую команду, заменив 123.123.123.123
Вам будет предложено принять ключ сервера — введите yes
Затем введите свой пароль и нажмите «Ввод».
Изменение корневого пароля
При первом входе на сервер вам может быть предложено изменить пароль root:
Введите текущий пароль, а затем введите новый пароль при появлении запроса.
Установка стека LEMP в Ubuntu
Для работы WordPress требуется Apache или nginx, PHP и MySQL, а также несколько других компонентов.
Ubuntu использует менеджер пакетов, который можно рассматривать как магазин приложений на основе командной строки. Прежде чем мы начнем скачивать и устанавливать компоненты с него, нам нужно обновить его каталог, введя следующую команду:
sudo apt-get update
После завершения мы можем установить наши компоненты:
sudo apt-get install nginx mysql-server php5-fpm php5-mysql php5-curl php5-gd php5-cgi
Вас спросят, хотите ли вы продолжить — введите Y и нажмите ввод.
Настройка MySQL
В процессе установки MySQL попросит вас установить новый пароль для пользователя корневой базы данных. Обратите внимание, что это отличается от имени пользователя root для сервера. В целях безопасности я настоятельно рекомендую использовать этот пароль, отличный от пароля для входа на сервер.
После завершения установки нам нужно выполнить еще две команды для завершения установки MySQL.
Сначала введите:
sudo mysql_install_db
Затем введите:
sudo mysql_secure_installation
- Введите текущий пароль root для MySQL, который вы установили выше.
- Введите
n
- Введите
Y
- Введите
Y
- Введите
Y
- Введите
Y
Наконец, нам нужно создать пользователя и базу данных MySQL:
mysql -u root -p
Введите свой пароль MySQL, когда будет предложено, и если правильно, вы увидите приглашение MySQL:
Давайте создадим нашу новую базу данных и заменим «пароль» уникальным паролем:
CREATE DATABASE wordpress;
CREATE USER 'wordpress'@'localhost' IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON * . * TO 'wordpress'@'localhost';
FLUSH PRIVILEGES;
exit
Настройка PHP
Нам нужно сделать небольшое изменение, чтобы PHP работал с nginx:
sudo nano /etc/php5/fpm/php.ini
Удерживая нажатой Ctrl
W
Войти:
fix_pathinfo
Измените следующую строку:
;cgi.fix_pathinfo=1
чтобы:
cgi.fix_pathinfo=0
Чтобы сохранить наши изменения, удерживайте Ctrl
X
Y
Настройка nginx
Нам нужно изменить конфигурацию nginx, чтобы все работало с WordPress:
sudo nano /etc/nginx/sites-available/default
Давайте удалим текущую конфигурацию. Продолжайте нажимать Ctrl
K
Затем скопируйте приведенную ниже конфигурацию nginx и вставьте ее в окно терминала / PuTTY, не забывая сменить domain.com на свое доменное имя:
server {
# Listen on port 80
listen 80 default_server;
Корень документа
root /usr/share/nginx;
Домен (ы)
server_name www.domain.com;
Показатель
index index.php;
Сжатие GZIP
gzip on;
gzip_types text/plain image/svg+xml text/javascript application/x-javascript text/xml text/css;
gzip_vary on;
Кэш-память статических файлов
location ~* \.(js|css|png|jpg|jpeg|gif|ico|svg|woff)$ {
expires 1y;
}
Загрузить файл
location / {
try_files $uri $uri/ /index.php?q=$uri&$args;
}
# Pass the PHP scripts to FastCGI server
location ~ \.php$ {
fastcgi_pass unix:/var/run/php5-fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
Чтобы сохранить наши изменения, удерживайте Ctrl
X
Y
Создание входа в SSH
По соображениям безопасности мы не хотим запускать WordPress от имени пользователя root. Давайте продолжим и создадим нового пользователя сервера для этой цели:
sudo adduser wordpress
Введите пароль для этого пользователя, а затем просто нажмите «Ввод» в других полях.
Затем добавьте нашего нового пользователя wordpress
www-data
Это группа, используемая PHP, поэтому, когда мы пойдем загружать файлы WordPress, они будут работать правильно:
sudo usermod -a -G wordpress www-data
Нам нужно указать PHP, какой пользователь и группа могут запускать файлы PHP:
sudo nano /etc/php5/fpm/pool.d/www.conf
Прокрутите вниз, пока не найдете строку user = www-group
user = wordpress
Чтобы сохранить наши изменения, удерживайте Ctrl
X
Y
Перезагрузите сервер
Чтобы убедиться, что все работает, давайте перезагрузим сервер:
reboot
Войти и установить WordPress
Чтобы установить WordPress, давайте снова войдем на сервер и затем введите следующие команды:
cd /usr/share/nginx
wget http://wordpress.org/latest.tar.gz
tar xfz latest.tar.gz
mv wordpress/* ./
rm latest.tar.gz
rmdir wordpress
Вышеупомянутые команды загружают WordPress с wordpress.org, распаковывают / распаковывают его в папку /usr/share/nginx/wordpress
Затем мы перемещаем содержимое этой папки обратно в /usr/share/nginx
Чтобы избежать проблем с правами доступа к файлам при попытке установки плагинов или загрузки изображений, давайте рекурсивно установим права доступа к корневой корневой папке nginx для пользователей wordpress
www-data
sudo chmod g+w /usr/share/nginx -R
sudo chown -R wordpress:www-data /usr/share/nginx
Затем, в вашем веб-браузере, загрузите http://123.123.123.123
http://www.domain.com
Если все работает, вы увидите знакомый экран конфигурации WordPress. Нажмите Пойдем! , а затем введите следующую информацию на следующем экране:
- Название базы данных: WordPress
- Имя пользователя: WordPress
- Пароль: [пароль, который вы ввели при настройке MySQL]
- Хост базы данных: localhost
Нажмите Submit , и если данные верны, вам будет предложено запустить установку:
Введите «Название сайта», «Имя пользователя», «Пароль» и «Адрес электронной почты», прежде чем нажать « Установить WordPress».
Это оно!
Вывод
Мы успешно создали VPS на DigitalOcean и подключились к нему через SSH. Затем мы установили nginx, PHP и MySQL и настроили каждый для работы с WordPress.
Мы также настроили пользователя сервера и предоставили ему разрешения на нашу установку WordPress.
Наконец, мы подтвердили, что все работает, выполнив процесс установки WordPress.