Как установить Wordpress на Ubuntu Server 18.04
Wordpress, без сомнения, является самой широко используемой платформой для ведения блогов на планете. Но этот инструмент можно использовать не только для ведения блога. При правильном добавлении расширений вы можете превратить Wordpress в сайт электронной коммерции, мультимедийный сайт и многое другое.
Если у вас есть собственный сервер, вы можете разместить установку Wordpress, не обращаясь к третьей стороне. И это именно то, что мы собираемся здесь делать. В этом руководстве вы узнаете, как установить необходимые компоненты, а также платформу Wordpress на Ubuntu. Сервер 18.04. Это предполагает только одно: что у вас есть Ubuntu Server.
Зависимости
Первое, что нужно сделать, это достать нашу ЛАМПУ (Linux Сервер Apache MySQL (PHP) запущен. Поскольку Ubuntu уже существует, все, что нужно сделать, это установить второстепенные компоненты. Поскольку мы используем Ubuntu, это можно сделать с помощью одной команды. Однако, прежде чем мы это сделаем, мы хотим убедиться, что наш сервер обновлен. Откройте окно терминала и выполните следующие команды:
sudo apt-get update
sudo apt-get upgrade.
Если ядро будет обновлено в процессе, потребуется перезагрузка. В этом случае необходимо перезапустить сервер (чтобы изменения вступили в силу). Это означает, что вы должны запускать обновление / обновление в то время, когда возможна перезагрузка.
После завершения обновления / обновления пришло время установить веб-серверы / серверы баз данных и PHP. Это можно сделать с помощью одной команды:
sudo apt установить apache2 php mariadb-server.
Во время установки вам будет предложено создать / проверить пароль для администратора MySQL. Когда процесс завершится, вы можете указать в браузере http://SERVER_IP (Где SERVER_IP - это IP-адрес вашего сервера Ubuntu), чтобы увидеть экран приветствия Apache.
Затем нам нужно установить несколько необходимых расширений PHP. Это можно сделать с помощью команды:
sudo apt install php-curl php-gd php-mbstring php-xml php-xmlrpc php-soap 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.
Когда вы запустите эту команду, вам потребуется ответить на следующие вопросы:
Название страны (двухбуквенный код) [Австралия]:
Название штата или провинции (полное название) [Some-State]:
Название населенного пункта (например, город) []:
Название организации (например, компания) []
Название организационной единицы (например, раздел) []:
Общее имя (например, полное доменное имя сервера или ВАШЕ имя) []:
Адрес электронной почты []:
Для самозаверяющего сертификата важно, чтобы вы вводили IP-адрес своего сервера в поле «Общее имя».
Затем мы настраиваем 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; предварительная загрузка "
Заголовок всегда установлен X-Frame-Options DENY
Заголовок всегда установлен X-Content-Type-Options nosniff
# Требуется Apache> = 2.4
SSLC Компрессия выключена
SSLUseStapling на
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
Сохраните и закройте этот файл.
Теперь мы собираемся настроить перенаправление, чтобы весь 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 по умолчанию-ssl
sudo a2enconf ssl-params.
Наконец, перезапустите Apache с помощью команды:
sudo systemctl перезапустить apache2.
Теперь вы можете указать в браузере https://SERVER_IP (Где SERVER_IP - это IP-адрес вашего сервера), и вы все равно увидите экран приветствия Apache.
База данных
Прежде чем вы начнете настраивать свою базу данных, вы должны использовать встроенную функцию MariaDB / MySQL для защиты вашей новой установки. Запустите команду и примите значения по умолчанию, чтобы защитить свою базу данных. При появлении запроса установите безопасный пароль для пользователя root базы данных.
sudo mysql_secure_installation
Как только это будет завершено, вы будете готовы начать работу с MariaDB с помощью команды «mysql».
Wordpress зависит от базы данных для работы. Чтобы создать это, вы сначала должны войти в командную строку MySQL с помощью команды:
sudo mysql -u root -p.
Вам будет предложено ввести пароль администратора MySQL, который вы создали во время установки сервера LAMP. В командной строке MySQL создайте базу данных с помощью команды:
СОЗДАТЬ БАЗУ ДАННЫХ wordpress НАБОР СИМВОЛОВ ПО УМОЛЧАНИЮ utf8 COLLATE utf8_unicode_ci;
Затем создайте нового пользователя и предоставьте ему разрешение на доступ к базе данных с помощью команды:
ПРЕДОСТАВЛЯТЬ ВСЕ НА wordpress. * 'Wordpressuser' @ 'localhost', ОПРЕДЕЛЕННЫЙ 'ПАРОЛЕМ';
Где PASSWORD - уникальный надежный пароль.
Сбросьте привилегии базы данных и выйдите с помощью команд:
ПРИВИЛЕГИИ ПРОМЫВКИ;
ВЫХОД.
Разрешить .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 необходимо отредактировать, но перед этим вы должны загрузить уникальные секретные ключи, которые будут добавлены в файл конфигурации. Чтобы получить эти ключи, посетите онлайн-генератор от разработчиков WordPress.
В результате будет выведено несколько длинных строк, каждая из которых связана с определенной опцией конфигурации. Каждая строка связана со следующими значениями в файле конфигурации:
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 будет запущен.