Поиск по сайту:

Как установить BoltWire CMS с Nginx на Ubuntu 20.04 LTS


На этой странице

  1. Предпосылки
  2. Начало работы
    1. Обновление вашей системы
    2. Установка необходимых пакетов

    1. Настройка Nginx

    1. Создание базы данных

    Bolt — это легкая система управления контентом (CMS), построенная на популярной платформе PHP. Bolt идеально подходит для малого бизнеса, который хочет поддерживать свой собственный веб-сайт, не беспокоясь о необходимости изучения HTML и других языков программирования. Bolt предлагает расширенные функции, такие как надежные вики-разметки, электронная коммерция, фотогалерея и конструктор альбомов, аудиогалерея и проигрыватель, а также гостевые книги.

    Boltwire выделяется тем, что является абсолютно бесплатным для отдельных лиц и групп любого размера, которым нужна CMS. Джо Касабона — создатель Boltwire, и он разделяет свою страсть, помогая другим получить максимальную отдачу от своего проекта с открытым исходным кодом. Bolt используется более чем в 200 странах для управления более чем 500 000 веб-сайтов. Его разработчики являются добровольцами и ожидают, что все пользователи примут участие в проекте, предлагая отзывы и внося свой вклад в его развитие.

    Болт имеет некоторые уникальные особенности:

    • Динамическое создание страницы. Страница может быть собрана на основе данных, найденных при ее извлечении из базы данных. Например, когда пользователь публикует новую запись в онлайн-журнале, другие записи его блога могут добавляться динамически без необходимости обновления всей веб-страницы. Это позволяет сократить время загрузки, особенно при большом количестве страниц или элементов мультимедиа в каждой категории (например, все фотографии в фотогалерее).
    • Управление контентом и администрирование. Несколько пользователей могут управлять контентом, чтобы каждый пользователь мог изменять только определенные части страниц. Они также могут быть ограничены в том, что им разрешено просматривать или редактировать. Например, большинству людей не разрешено свободно публиковать новые статьи или добавлять комментарии; это зарезервировано для администраторов сайта. Читатели по-прежнему могут просматривать любую статью без предварительной регистрации, если иное не указано администратором.
    • Простота использования: Bolt значительно снижает объем усилий, необходимых для создания веб-страниц, по сравнению с другими CMS, такими как Joomla и Drupal. Мастера, встроенные в Bolt, автоматизируют большую часть процесса настройки, поэтому вам не нужно беспокоиться о том, как все работает внутри.
    • Легкая расширяемость. Поскольку исходный код Bolt открыт, легко создавать новые модули, которые будут расширять или добавлять новые функции в Bolt. Новые функции часто интегрируются в основное программное обеспечение, что еще больше упрощает их использование. В настоящее время на Modboom доступно около 40 расширений, поэтому вы можете легко расширить любую часть Bolt, которую хотите, без необходимости слишком углубляться в программирование на PHP.
    • BoltWire доступен на нескольких языках: английском (по умолчанию), немецком, итальянском, японском, польском, португальском и испанском. Помимо стандартных пакетов BoltWire для вышеуказанных языков, полная локализация также доступна на французском (100%) и голландском (более 50%).

    Недостатком является то, что помимо справочных форумов мало поддержки, если у вас есть какие-либо вопросы о том, как все работает под капотом на вашем местном языке. В этом отношении вы сами несете ответственность за то, чтобы все работало так, как вы хотите. Однако, если вам удобно пользоваться текстовым редактором и у вас есть время для самостоятельной работы с Bolt, ничто не мешает вам создать простой, но профессионально выглядящий веб-сайт за считанные минуты.

    В этом руководстве мы узнаем, как установить BoltWire на сервер Ubuntu 20.04.

    Предпосылки

    • Новый сервер под управлением Ubuntu 20.04.
    • Полный доступ root по SSH или пользователь с привилегиями sudo.
    • Доменное имя зарегистрировано и указывает на ваш сервер.

    Начиная

    Прежде всего, войдите в свою Ubuntu с помощью SSH.

    ssh [электронная почта защищена]_Адрес -p Номер_порта

    root — это пользователь по умолчанию в Ubuntu, замените «root» на имя вашего собственного пользователя, если вы используете другого.

    IP_Address — это адрес вашего сервера. Вы можете проверить это, используя

    имя хоста -I  в командной строке. Port_number должен быть 22 для SSH.

    hostname -I

    «-p» указывает ssh использовать указанный порт. Если вы не укажете номер порта, используется 22.

    Если вы находитесь за брандмауэром, порт 22 может быть заблокирован. В этом случае измените Port_number на что-то другое, например 2222.

    Обновление вашей системы

    Вы можете проверить, установлена ли в вашей системе правильная версия Ubuntu, с помощью следующей команды:

    sudo lsb_release -a

    Пример вывода:

    Всегда желательно обновить систему перед установкой пакетов.

    sudo apt-get update && apt-get upgrade -y

    -y — это команда, которая автоматически ответит Да на все вопросы в процессе обновления. apt-get update обновляет списки пакетов, а apt-get upgrade обновляет вашу систему.

    Пример вывода:

    Обновление может занять некоторое время в зависимости от того, сколько пакетов необходимо загрузить и установить. После завершения обновления вам будет предложено перезагрузить сервер. Выполните приведенную ниже команду, чтобы перезагрузить систему после обновлений:

    sudo reboot

    Установка необходимых пакетов

    Для установки Bolt в вашей системе должен быть установлен ряд пакетов. Некоторые пакеты устанавливаются в определенном порядке. В этом случае мы установим весь пакет, необходимый для установки Bolt, с помощью следующей команды:

    sudo apt install -y curl wget vim git unzip socat bash-completion apt-transport-https

    socat предназначен для проксирования, из-за чего Bolt работает на веб-сервере.

    apt-transport-https позволяет выполнять операции командной строки, такие как sudo apt update, для работы с соединениями https. bash-completion — это программа, позволяющая bash автоматически дополнять команды после ввода первых нескольких символов.

    curl используется для загрузки пакетов, а wget используется для загрузки файлов, таких как последняя версия Bolt, с его веб-сайта.

    Пример вывода:

    Установка Nginx

    Nginx используется в качестве обратного прокси-сервера для управления вашими сайтами в Bolt. Nginx легкий, простой в настройке и быстрый. Запуск команды ниже для установки Nginx

    sudo apt-get install nginx

    Введите y, если будет предложено, процесс установки начнется автоматически.

    Пример вывода:

    После завершения установки запустите службу nginx и включите ее запуск при запуске системы.

    sudo systemctl start nginx
    sudo systemctl enable nginx

    Чтобы проверить и проверить, запущен ли в данный момент Nginx, используйте эту команду в терминале.

    sudo systemctl status nginx

    Пример вывода:

    Настройка Nginx

    BoltWire CMS устанавливается в каталог /var/www/. Чтобы получить доступ и протестировать BoltWire CMS, нам нужно настроить блок сервера Nginx для автоматической маршрутизации запросов на путь к корневой веб-папке /var/www/ для всех запросов статического контента, а также запросов файлов модулей и плагинов.

    Выполните следующие команды, чтобы создать новый файл конфигурации с именем Bolt.conf

    sudo nano /etc/nginx/sites-available/bolt.conf

    Заполните файл конфигурации следующим содержимым:

    server {
    listen 80;
     listen [::]:80; 
     root /var/www/bolt; 
     index index.php index.html index.htm; 
     server_name bolt.example.com;

     location / { 
      try_files      $uri $uri/ /index.php?$query_string;
      } 

     location ~ [^/]\.php(/|$) { 
      try_files      /index.php =404;
      fastcgi_split_path_info ^(.+\.php)(/.+)$;
      fastcgi_index      index.php;
     fastcgi_pass       unix:/var/run/php/php7.2-fpm.sock;
      include         fastcgi_params;
      fastcgi_param  PATH_INFO    $fastcgi_path_info;
     fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
      } 

    location = /bolt { 
     try_files        $uri /index.php?$query_string; 
     } 

    location ^~ /bolt/ { 
     try_files         $uri /index.php?$query_string; 
     } 

    }

    Блок сервера Nginx, который мы только что создали, использует корневой каталог документа по умолчанию, который установлен в каталог /var/www/. Если вы используете BoltWire CMS в другой серверной среде, отредактируйте файл conf и соответствующим образом замените путь к корню документа.

    Директива server_name настраивает URL-адрес, который будет прослушивать ваш веб-сервер Nginx. Замените Bolt.example.com вашим фактическим доменным именем сервера или IP-адресом.

    try_files      $uri $uri/ /index.php?$query_string; Эта директива позволяет вам напрямую обрабатывать запросы пути к файлу, если он найден. Например, если пользователь пытается получить доступ к домашней странице BoltWire CMS из браузера, /index.php будет использоваться в качестве индексного файла, если он существует, иначе он вернется к ответу PHP-FPM с кодом 404 Not Found.

    После внесения изменений и сохранения их в файл Bolt.conf перезагрузите Nginx и перезапустите его, чтобы новая конфигурация вступила в силу.

    sudo systemctl reload nginx
    sudo systemctl restart nginx

    Проверьте конфигурацию nginx, выполнив следующие команды:

    sudo nginx -t

    Пример вывода:

    Установка MySQL

    Для BoltWire CMS требуется как минимум версия сервера MySQL 4.2, но BoltWire CMS не работает с 5.x+.

    Таким образом, у вас есть несколько вариантов: Использовать удаленный сервер базы данных, такой как Microsoft SQL Server. Внедрить MySQL на всех машинах веб-сервера (не рекомендуется). Обновить версию MySQL. Первые варианты довольно просты, но тип обновления сложен.

    Для тех, кто использует стек LAMP (Linux, Apache, MySQL и PHP), им не нужно устанавливать MySQL отдельно, потому что Ubuntu уже включает сервер MySQL в свой репозиторий.

    Выполните приведенную ниже команду для установки MySQL:

    sudo apt -y install mysql-server

    Пример вывода:

    После завершения установки запустите приведенную ниже команду, чтобы запустить демон MySQL (сервер MySQL) для этого сеанса и включить его запуск при запуске системы:

    sudo systemctl start mysql
    sudo systemctl enable mysql 

    Создание базы данных

    Мы будем использовать командную строку для создания базы данных с именем Bolt.

    Подключитесь к mysql, чтобы создать базу данных, выполнив следующую команду:

    sudo mysql -u root -p 

    Введите пароль root для mysql. Теперь вы вошли в консоль mysql. Чтобы создать базу данных и пользователя базы данных, выполните следующую команду:

    CREATE DATABASE bolt;
    CREATE USER 'bolt'@'localhost' IDENTIFIED BY 'mypassword';
    GRANT ALL ON bolt.* TO 'bolt'@'localhost'; 
    FLUSH PRIVILEGES; 
    exit

    CREATE USER Bolt@localhost IDENTIFIED BY mypassword создаст пользователя Bolt с паролем mypassword. Используйте безопасный пароль вместо слова mypassword здесь! Сброс привилегий перезагрузит созданную выше таблицу привилегий предоставления.

    Установка PHP

    Для BoltWire CMS требуется PHP версии 7 или выше и его заголовки для разработки. Мы добавим ppa:ondrej/php PPA с требуемой версией PHP (7.2), вы можете изменить это на нужную вам версию PHP самостоятельно. Хорошо запустите следующие команды, чтобы добавить ppa и обновить apt-get

    sudo apt -y install software-properties-common 
    sudo add-apt-repository ppa:ondrej/php 
    sudo apt-get update

    Выполните следующую команду для установки PHP 7.2:

    sudo apt install -y php7.2 php7.2-cli php7.2-fpm php7.2-common php7.2-mbstring php7.2-zip php7.2-pgsql php7.2-sqlite3 php7.2-curl php7.2-gd php7.2-mysql php7.2-intl php7.2-json php7.2-opcache php7.2-xml

    php7.2-cli — это интерфейс командной строки для PHP7.2, а с php7.2-common будут установлены расширения php7.2, модуль веб-сервера (PHP) и стандартные расширения CLI. С php7.2 -fpm установит FastCGI Process Manager, распространенный способ запуска PHP-приложений с вашего веб-сервера. php7.2-mbstring установит многобайтовые строковые функции, необходимые для BoltWire CMS. php7.2-opcache установит кэш кода операции для PHP7.2, что обеспечивает лучшую производительность и снижает нагрузку на ваш веб-сервер за счет кэширования скомпилированных скриптов. php7.2-xml установит расширения обработки XML для PHP7.2, необходимые для использования BoltWire CMS.

    Пример вывода:

    После установки PHP 7.2 выполните приведенные ниже команды, чтобы проверить версию PHP7.2:

    php -v 

    Пример вывода:

    Затем откройте файл конфигурации PHP по умолчанию для Nginx с помощью текстового редактора nano:

    sudo nano /etc/php/7.2/fpm/php.ini

    Теперь мы собираемся внести изменения в следующие строки:

    file_uploads = On
    allow_url_fopen = On
    memory_limit = 256M
    upload_max_filesize = 100M
    max_execution_time = 360
    date.timezone = America/St. Louis

    • file_uploads=On включает функцию загрузки файлов в BoltWire CMS.
    • allow_url_fopen=On разрешает прямые URL-адреса или HTTP-перенаправление для запросов с загруженными файлами с удаленного веб-сервера.
    • memory_limit=256M — это ограничение памяти в МБ для PHP 7.2, устанавливаемое для рабочих процессов Nginx. Запуск скрипта PHP с высоким потреблением памяти может вызвать ошибку времени выполнения php.
    • upload_max_filesize=100M — это максимальный размер одного загружаемого файла на сайт BoltWire CMS. Если вы хотите включить загрузку файла неограниченного размера, измените это значение на 0.
    • max_execution_time=360 — это максимальное время выполнения PHP-скрипта в секундах. Если скрипт превысит это значение, он будет завершен.
    • date.timezone=Америка/Санкт-Петербург. Louis, часовой пояс вашего местоположения для правильного отображения значений даты и времени клиента в системе BoltWire CMS.

    Перезапустите php7.2-fpm, чтобы изменения вступили в силу:

    sudo service php7.2-fpm restart

    Этого должно быть достаточно для необходимых пакетов PHP7.2 и связанных с ними, давайте перейдем к следующему шагу.

    Установка Композитора

    BoltWire CMS требует, чтобы Composer добавил необходимые внешние библиотеки на веб-сайт, поэтому нам нужно сначала установить его, прежде чем продолжить это руководство. Composer — это менеджер пакетов для PHP, который управляет зависимостями проектов PHP. Это похоже на NodeJS npm или ruby gems.

    Сначала мы переходим в домашний каталог и загружаем установщик:

    sudo curl -sS https://getcomposer.org/installer -o composer-setup.php

    Команда ниже установит Composer:

    sudo php composer-setup.php --install-dir=/usr/local/bin --filename=composer

    Приведенный выше код загрузит и установит Composer как общесистемный двоичный файл в каталоге /usr/local/bin.

    Вы можете настроить Composer только для своего пользователя, заменив часть команды /usr/local/bin на ~/user_

    После завершения установки вы можете запустить приведенную ниже команду, чтобы проверить, прошла ли установка успешно.

    composer

    Пример вывода:

    Установка Болта

    Теперь все необходимые пакеты установлены, теперь мы можем приступить к установке Bolt.

    Сначала мы переходим в каталог /var/www/ и загружаем последнюю версию Bolt CMS с GitHub с помощью следующей команды:

    cd /var/www/
    sudo git clone https://github.com/bolt/bolt.git

    Пример вывода:

    После загрузки вы должны увидеть каталог с именем Bolt с одним файлом с именем \composer.json\, который является файлом конфигурации композитора для Bolt CMS.

    Теперь переходим в каталог Bolt и устанавливаем Bolt оттуда:

    cd bolt
    sudo composer install

    Эта команда установит все необходимые исходные файлы Bolt и зависимости в /var/www/bolt с помощью менеджера пакетов Composer.

    Пример вывода:

    Следующим шагом является запуск следующей команды для установки рабочего каталога Bolt:

    sudo chown -R www-data:www-data /var/www/bolt
    sudo chmod -R 755 /var/www/bolt

    Приведенная выше команда изменит владельца файлов Bolt на www-данные пользователя Nginx, чтобы он мог читать и записывать файл при доступе к URL-адресу Bolt.

    Следующим шагом является настройка файла конфигурации болта:

    sudo cp app/config/config.yml.dist app/config/config.yml

    Доступ к CMS BoltWire

    Теперь мы должны получить доступ к BoltWire CMS, используя следующий URL-адрес из браузера на компьютере с Linux или Windows:

    Вы должны получить целевую страницу BoltWire CMS по умолчанию, как показано ниже:

    Заполните всю необходимую информацию в этой форме, чтобы получить доступ к панели управления BoltWire, как показано ниже:

    Теперь мы успешно настроили сервер Linux для CMS Bolt Wire.

    Если вы столкнулись с проблемой при попытке доступа к недавно установленной CMS BoltWire. Вот список распространенных ошибок и их возможные решения:

    • \Отказано в доступе — ошибка\. Это означает, что BoltWire CMS работает, но вы не можете получить доступ к его страницам из браузера, попробуйте проверить каталог конфигурации Nginx.
    • \Невозможно загрузить динамическую библиотеку /var/www/BoltWire/vendor/php72-zip/libphp7.2.so\ или \Ошибка выполнения сценария\. Это означает, что каталог BoltWire CMS не имеет необходимых разрешений для выполнения и запуска файла PHP.
    • \Ошибка инициализации... Нет такого файла или каталога\. Это означает, что BoltWire CMS не установлена должным образом. Вам необходимо проверить, правильно ли вы выполнили процедуру установки BoltWire CMS.
    • \Отказано в доступе\. Это означает, что у вас нет надлежащего доступа к каталогу /var/www/bolt или /var/www.
    • \Неустранимая ошибка: класс PDO не найден в...\. Это означает, что PHP не может подключиться к базе данных, и вам может потребоваться проверить конфигурацию PHP.
    • \Поиск... \ или \Предупреждение: указан неверный аргумент для foreach()...\. Это означает, что BoltWire CMS не может найти то, что вы ей дали. Обычно это вызвано незнанием имени блога и слага или пути в вашей конфигурации.
    • \Невозможно создать каталог... Неопределенный индекс: просмотренные данные\. Это означает, что BoltWire CMS не может создать свой каталог на вашем сервере Nginx, и вам может потребоваться проверить конфигурацию PHP.
    • \Ошибка синтаксического анализа: синтаксическая ошибка, неожиданное=в ... в ...\. Это означает, что BoltWire CMS не может запустить свой файл или не может прочитать один из ваших файлов. Это может произойти, если вы использовали неверный синтаксис в своей конфигурации.
    • \404 не найден nginx/1.14.0 (ubuntu)\ Добавление записи A для Bolt.example.com к вашему серверу должно помочь.
    • \404 Not Found\ или \Запрошенный URL... не найден на этом сервере\. Это означает, что BoltWire CMS не может найти свои файлы. Возможно, вам потребуется проверить конфигурацию BoltWire и убедиться, что вы указали в ней правильный путь.

    BoltWire установлен, но страницы отсутствуют или отображается страница входа BoltWire, если установлена CMS BoltWire, тогда Bolt будет искать шаблон BoltWire по умолчанию в папке /var/www/bolt/_templates внутри каталога установки Bolt, и если это не так найти там любой файл, Bolt будет использовать файл index.php в каталоге установки Bolt в качестве домашней страницы. Если это не работает, возможно, что-то еще не так с вашей конфигурацией PHP или конфигурацией Nginx.

    Заключение

    BoltWire CMS — отличное программное обеспечение для ведения блога или личного веб-сайта. Вы можете узнать больше о Bolt CMS на официальном сайте BoltWire CMS.

    Надеюсь, эта статья поможет вам узнать, как установить BoltWire на сервер Ubuntu 20.04. Если вам понравилась эта статья, поделитесь ею с друзьями в Twitter или Facebook. Если у вас есть какие-либо вопросы, пожалуйста, не стесняйтесь оставлять комментарии ниже.