Как установить BoltWire CMS с Nginx на Ubuntu 20.04 LTS
На этой странице
- Предпосылки
- Начало работы
- Обновление вашей системы
- Установка необходимых пакетов
- Настройка Nginx
- Создание базы данных
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. Если у вас есть какие-либо вопросы, пожалуйста, не стесняйтесь оставлять комментарии ниже.