Как установить Textpattern CMS с Nginx на Debian 10
На этой странице
- Требования
- Шаг 1. Установка необходимого программного обеспечения.
- Шаг 2. Загрузка текстового шаблона
- Шаг 3. Настройка базы данных
- Шаг 4. Настройка Nginx
- Шаг 5. Настройка текстового шаблона
- Дополнительная информация
Textpattern — это бесплатная система управления контентом PHP с открытым исходным кодом. Он довольно легкий, быстрый и простой в использовании, но при этом обеспечивает приличную настраиваемость с помощью тем и плагинов. В этом руководстве мы установим Textpattern на новый экземпляр Debian 10.
Требования
- Новая система Debian 10, в которой у вас есть доступ к пользователю root или любому пользователю с привилегиями sudo.
- Зарегистрированное доменное имя, указывающее на ваш сервер.
Если вы вошли в систему как пользователь sudo, переключитесь на root для этой настройки:
sudo su -
Задайте для переменной среды $VISUAL текстовый редактор по вашему выбору. Например, чтобы использовать нано:
echo "export VISUAL=nano" >> ~/.profile . ~/.profile
Шаг 1: Установка необходимого программного обеспечения.
Обновите кэш пакетов в вашей системе:
apt update
Затем установите Nginx, PHP-FPM, необходимые расширения PHP, MariaDB и certbot:
apt install -y nginx mariadb-server php-fpm php-xml php-mysql php-json php-mbstring php-zip certbot
Убедитесь, что службы Nginx и MariaDB включены и работают:
systemctl enable --now nginx.service mariadb.service
Шаг 2: Загрузка текстового шаблона
Скопируйте ссылку для скачивания (в формате .tar.gz) последней версии текстового шаблона из своих выпусков на Github и загрузите ее на свой сервер с помощью wget следующим образом:
wget https://github.com/textpattern/textpattern/releases/download/4.7.3/textpattern-4.7.3.tar.gz
Затем распакуйте архив и переместите содержимое в папку внутри каталога webroot:
tar -xzf textpattern*.tar.gz rm textpattern*.tar.gz mv textpattern* /var/www/html/textpattern
Шаг 3: Настройка базы данных
Начните с запуска сценария mysql_secure_installation, чтобы выполнить основные улучшения безопасности:
mysql_secure_installation
Ответьте на вопросы, как показано ниже, и обязательно выберите безопасный пароль для пользователя root:
Enter current password for root (enter for none):Set root password? [Y/n] y New password: your_password Re-enter new password: your_password Remove anonymous users? [Y/n] y Disallow root login remotely? [Y/n] y Remove test database and access to it? [Y/n] y Reload privilege tables now? [Y/n] y
Далее мы создадим базу данных и пользователя, которые будут использоваться Textpattern. Войдите в оболочку MySQL с помощью:
mysql -u root -p
Введите пароль root, а затем выполните следующие инструкции. Обязательно замените textpattern_user_password правильным паролем.
MariaDB [(none)]> CREATE DATABASE textpattern_db; MariaDB [(none)]> CREATE USER textpattern_user IDENTIFIED BY 'textpattern_user_password'; MariaDB [(none)]> GRANT ALL PRIVILEGES ON textpattern_db.* TO textpattern_user; MariaDB [(none)]> \q
Шаг 4: Настройка Nginx
Сначала получите SSL-сертификат для своего домена, выполнив следующую команду:
certbot certonly --webroot --webroot-path /var/www/html -d "your_domain" -m ""
Если ваш домен настроен правильно, certbot автоматически получит сертификат, который мы будем использовать для настройки HTTPS.
Затем отключите файл конфигурации сервера Nginx по умолчанию:
rm /etc/nginx/sites-enabled/default
Затем откройте новый файл конфигурации в /etc/nginx/sites-available:
$VISUAL /etc/nginx/sites-available/textpattern
И введите следующую разумную конфигурацию, заменив your_domain на ваше доменное имя:
server { listen 80; #replace your_domain below server_name your_domain; return 301 https://$server_name$request_uri; } server { listen 443 ssl; #replace your_domain below server_name your_domain; root /var/www/html/textpattern; index index.php; ssl on; #replace your_domain below ssl_certificate /etc/letsencrypt/live/your_domain/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/your_domain/privkey.pem; location ~* \.php$ { fastcgi_pass unix:/run/php/php7.3-fpm.sock; include fastcgi_params; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; fastcgi_param SCRIPT_NAME $fastcgi_script_name; } }
Обратите внимание, что эта конфигурация будет перенаправлять все HTTP-запросы на HTTPS. Вы можете изменить его, если у вас есть особые предпочтения или требования. Как только вы будете удовлетворены этим, создайте символическую ссылку в каталоге с поддержкой сайтов:
ln -s /etc/nginx/sites-available/textpattern /etc/nginx/sites-enabled/
Затем проверьте наличие синтаксических ошибок с помощью:
nginx -t
Наконец, введите следующую команду, чтобы загрузить новую конфигурацию:
systemctl reload nginx.service
Шаг 5: Конфигурация текстового шаблона
Теперь ваша установка Textpattern должна быть доступна, но еще не настроена. Перейдите по адресу https://your_domain/textpattern/setup/, чтобы запустить веб-установщик. После выбора языка введите данные базы данных:
- Имя пользователя MySQL: textpattern_user
- Пароль MySQL: введите пароль, выбранный для textpattern_user на шаге 2.
- Сервер MySQL: локальный хост
- База данных MySQL: textpattern_db
- Префикс таблицы: оставьте пустым.
Установщик проверит введенные учетные данные базы данных перед созданием соответствующей конфигурации. Создайте необходимый файл:
$VISUAL /var/www/html/textpattern/textpattern/config.php
Вставьте сгенерированную конфигурацию, сохраните файл и выйдите. Перейдите к следующему шагу в веб-установщике, где вам будет предложено ввести информацию для учетной записи администратора CMS и конфигурации сайта. Как только это будет сделано, удалите каталог установки:
rm -rf /var/www/html/textpattern/textpattern/setup
И предоставьте пользователю системы Nginx право собственности на каталоги, к которым Textpattern требуется доступ для записи:
chown -R www-data /var/www/html/textpattern/{files,images,themes}
Теперь ваш сайт Textpattern готов к использованию. Интерфейс администрирования доступен по адресу https://ваш_домен/textpattern.
Дополнительная информация
- Узнайте об управлении сертификатами с помощью certbot в этом руководстве.