Содержание
WordPress, без сомнения, самая широко используемая блог-платформа на планете. Но этот инструмент можно использовать не только для ведения блогов. При правильном добавлении расширений вы можете превратить WordPress в сайт электронной коммерции, мультимедийный сайт и многое другое. Если у вас есть собственный сервер, вы можете разместить установку WordPress, не обращаясь к третьей стороне. И это именно то, что мы собираемся сделать здесь. Из этого руководства вы узнаете, как установить необходимые компоненты, а также платформу WordPress на Ubuntu Server 18.04. Это будет предполагать только одно: у вас Ubuntu Server запущен и работает.
зависимости
Первое, что нужно сделать, — это запустить наш сервер LAMP (Linux Apache MySQL PHP). Поскольку Ubuntu уже существует, все, что нужно сделать, это установить вторичные компоненты. Поскольку мы используем Ubuntu, это можно сделать с помощью одной команды. Однако, прежде чем мы это сделаем, мы хотим убедиться, что наш сервер обновлен. Откройте окно терминала и введите следующие команды:
sudo apt-get update
sudo apt-get upgrade
Если ядро будет обновлено в процессе, потребуется перезагрузка. Если это так, сервер необходимо будет перезапустить (чтобы изменения вступили в силу). Это означает, что вы должны запускать обновление / обновление в то время, когда перезагрузка жизнеспособна.
После обновления / обновления пришло время установить веб-серверы / серверы баз данных и PHP. Это можно сделать с помощью одной команды:
sudo apt-get установить ламповый сервер ^
Во время установки вам будет предложено создать / проверить пароль для пользователя-администратора MySQL. Когда процесс завершится, вы можете указать браузеру http: // SERVER_IP (где SERVER_IP — IP-адрес вашего сервера Ubuntu), чтобы увидеть экран приветствия Apache.
Далее мы должны установить несколько необходимых расширений PHP. Это можно сделать с помощью команды:
sudo apt install php-curl php-gd php-mbstring php-xml php-xmlrpc php-мыло php-intl php-zip
Включение SSL
Прежде чем мы перейдем к настройке Apache и установке WordPress, мы собираемся подготовить наш сервер к использованию SSL (Secure Sockets Layer), которые представляют собой различные веб-протоколы, которые работают вместе для упаковки обычного HTTP-трафика в защищенную зашифрованную оболочку. , Таким образом, HTTP становится HTTPS. Поскольку я только настраиваю тестовый сервер, я буду создавать самозаверяющий сертификат SSL для IP-адреса. Для этого выполните следующие действия.
Создайте сертификат SSL с помощью следующей команды:
sudo openssl req -x509 -nodes -days 365 -newkey rsa: 2048 -keyout /etc/ssl/private/apache-selfsigned.key -out /etc/ssl/certs/apache-selfsigned.crt
Когда вы выполните эту команду, вам необходимо будет ответить на следующие вопросы:
Название страны (двухбуквенный код) [AU]:
Название штата или провинции (полное название) [Some-State]:
Название населенного пункта (например, город) []:
Название организации (например, компания) []
Название организационной единицы (например, раздел) []:
Общее имя (например, полное доменное имя сервера или ваше имя) []:
Адрес электронной почты []:
Для самозаверяющего сертификата важно, чтобы вы вводили IP-адрес своего сервера для записи Common Name.
Далее мы настраиваем Apache для использования SSL. Создайте новый файл с помощью команды:
sudo nano /etc/apache2/conf-available/ssl-params.conf
В этот новый файл вставьте следующее:
SSLCipherSuite EECDH + AESGCM: EDH + AESGCM: AES256 + EECDH: AES256 + EDH
SSLProtocol Все -SSLv2 -SSLv3 -TLSv1 -TLSv1.1
SSLHonorCipherOrder On
# Отключить предварительную загрузку HSTS на данный момент. Вы можете использовать закомментированную строку заголовка, которая включает
# директива preload, если вы понимаете последствия.
# Заголовок всегда устанавливает Strict-Transport-Security "max-age = 63072000; includeSubDomains; preload"
Заголовок всегда устанавливает X-Frame-Options DENY
Заголовок всегда устанавливает X-Content-Type-Options nosniff
# Требуется Apache> = 2.4
SSLC-сжатие выключено
SSLUseStapling on
SSLStaplingCache "shmcb: logs / stapling-cache (150000)"
# Требуется Apache> = 2.4.11
SSLSessionTickets выключен
Сохраните и закройте этот файл.
Теперь мы собираемся создать новый файл default-ssl.conf. Прежде чем сделать это, сделайте резервную копию оригинала с помощью команды:
sudo cp /etc/apache2/sites-available/default-ssl.conf /etc/apache2/sites-available/default-ssl.conf.bak
Создайте новый файл с помощью команды:
sudo nano /etc/apache2/sites-available/default-ssl.conf
В этот новый файл вставьте следующее:
ServerAdmin YOUR_EMAIL
Имя_сервера SERVER_IP
DocumentRoot / var / www / html
ErrorLog $ {APACHE_LOG_DIR} /error.log
CustomLog $ {APACHE_LOG_DIR} /access.log вместе
SSLEngine на
SSLCertificateFile /etc/ssl/certs/apache-selfsigned.crt
SSLCertificateKeyFile /etc/ssl/private/apache-selfsigned.key
SSLOptions + StdEnvVars
SSLOptions + StdEnvVars
Где SERVER_IP — это IP-адрес вашего сервера, а YOUR_EMAIL — ваш адрес электронной почты.
Сохраните и закройте этот файл.
Теперь мы собираемся настроить перенаправление, чтобы весь HTTP-трафик автоматически перенаправлялся на HTTPS. Для этого создайте новый файл с помощью команды:
sudo nano /etc/apache2/sites-available/000-default.conf
В этом файле добавьте следующую строку под записью DocumentRoot:
Редирект «/» «https: // SERVER_IP /»
Где SERVER_IP — это IP-адрес вашего сервера.
Сохраните и закройте этот файл.
Далее нам нужно включить несколько модулей и хостов с помощью команд:
sudo a2enmod ssl
Заголовки sudo a2enmod
sudo a2ensite default-ssl
sudo a2enconf ssl-params
Наконец, перезапустите Apache с помощью команды:
sudo systemctl перезапустить apache2
Теперь вы должны иметь возможность указать вашему браузеру https: // SERVER_IP (где SERVER_IP — это IP-адрес вашего сервера) и по-прежнему видеть экран приветствия Apache.
База данных
WordPress зависит от базы данных для функционирования. Чтобы создать это, вы должны сначала войти в приглашение MySQL с помощью команды:
mysql -u root -p
Вам будет предложено ввести пароль администратора MySQL, который вы создали во время установки сервера LAMP. В командной строке MySQL создайте базу данных с помощью команды:
СОЗДАТЬ БАЗУ ДАННЫХ WordPress НАЗНАЧЕНИЕ ПО УМОЛЧАНИЮ ПО УМОЛЧАНИЮ utf8 COLLATE utf8_unicode_ci;
Затем создайте нового пользователя и предоставьте этому пользователю разрешение на доступ к базе данных с помощью команды:
Предоставить все на wordpress. * «Wordpressuser» @ «localhost», идентифицированный «паролем»;
Где ПАРОЛЬ — это уникальный надежный пароль.
Сбросьте привилегии базы данных и выйдите с помощью команд:
ПРИВИЛЕГИИ ПРОМЫВКИ;
ВЫХОД
Разрешить .htaccess и Включить модуль перезаписи
Нам нужно включить .htaccess для WordPress. Для этого создайте новый файл конфигурации Apache с помощью команды:
sudo nano /etc/apache2/sites-available/wordpress.conf
В этот файл вставьте следующее:
AllowOverride All
Включите модуль перезаписи с помощью команды:
sudo a2enmod переписать
Перезапустите Apache с помощью команды:
sudo systemctl перезапустить apache2
Скачать, распаковать и подготовить WordPress
Мы собираемся скачать официальный файл WordPress с помощью следующих команд:
CD / TMP
curl -O https://wordpress.org/latest.tar.gz
Распакуйте WordPress с помощью команды:
tar xvzf latest.tar.gz
Создайте фиктивный файл .htaccess с помощью команды:
коснитесь /tmp/wordpress/.htaccess
Скопируйте пример файла конфигурации в нужный файл конфигурации с помощью команды:
cp /tmp/wordpress/wp-config-sample.php /tmp/wordpress/wp-config.php
Создайте каталог обновления (чтобы избежать проблем с разрешениями) с помощью команды:
mkdir / tmp / wordpress / wp-content / upgrade
Скопируйте содержимое каталога wordpress в корневой каталог документа с помощью команды:
sudo cp -a / tmp / wordpress /. / Var / WWW / HTML / WordPress
Наконец, настройте владельца и права доступа к недавно перемещенному каталогу WordPress с помощью команд:
sudo chown -R www-data: www-data / var / www / wordpress
sudo find / var / www / wordpress / -type d -exec chmod 750 {} \;
sudo find / var / www / wordpress / -type f -exec chmod 640 {} \;
Настройка WordPress
Этот раздел немного усложняется. Файл wp-config.php необходимо отредактировать, но перед тем, как это сделать, необходимо загрузить уникальные секретные ключи, которые будут добавлены в файл конфигурации. Чтобы получить эти ключи, введите команду:
Это выведет несколько длинных строк, каждая из которых связана с определенным параметром конфигурации. Каждая строка связана со следующими значениями в файле конфигурации:
AUTH_KEY
SECURE_AUTH_KEY
LOGGED_IN_KEY
NONCE_KEY
AUTH_SALT
SECURE_AUTH_SALT
LOGGED_IN_SALT
NONCE_SALT
Скопируйте эти значения в другой файл. Затем откройте файл конфигурации WordPress с помощью команды:
sudo nano /var/www/wordpress/wp-config.php
Найдите значения выше и вставьте секретный ключ для каждого. После этого прокрутите вверх и измените значения для:
DB_NAME
DB_USER
DB_PASSWORD
Вышеуказанные значения были созданы ранее (с MySQL).
Сохраните и закройте этот файл.
Завершить установку
Теперь вы можете указать вашему браузеру https: // SERVER_IP / wordpress и пройти через веб-установщик, чтобы завершить установку. После нескольких нажатий и небольшого набора текста ваш экземпляр WordPress будет запущен.