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

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


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

  1. Предпосылки
  2. Начало работы
  3. Установить сервер LEMP
  4. Создание базы данных для Bolt
  5. Скачать Bolt CMS
  6. Настройка Nginx для Bolt
  7. Доступ к CMS Bolt
  8. Защитите BoltCMS с помощью Lets Encrypt SSL
  9. Заключение

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

В этом руководстве мы покажем вам, как установить Bolt CMS с Nginx и Lets Encrypt SSL на Ubuntu 20.04.

Предпосылки

  • Сервер под управлением Ubuntu 20.04.
  • Действительное доменное имя, указанное с IP-адресом вашего сервера.
  • Пароль root настраивается на сервере.

Начиная

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

apt-get update -y

После обновления всех пакетов установите другие зависимости, выполнив следующую команду:

apt-get install software-properties-common gnupg2 unzip git -y

После установки всех зависимостей можно переходить к следующему шагу.

Установить LEMP-сервер

Сначала установите сервер Nginx и MariaDB, выполнив следующую команду:

apt-get install nginx mariadb-server -y

Далее вам нужно будет установить PHP версии 7.2 на ваш сервер. По умолчанию Ubuntu 20.04 поставляется с PHP версии 7.4. Поэтому вам нужно будет добавить репозиторий Ondrej PHP в вашу систему.

Вы можете добавить репозиторий PHP с помощью следующей команды:

add-apt-repository ppa:ondrej/php

После добавления репозитория обновите репозиторий и установите PHP и другие необходимые расширения с помощью следующей команды:

apt-get update -y
apt-get install 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 -y
Once all the packages are installed, you can proceed to the next step.

Создайте базу данных для болта

Далее вам нужно будет создать базу данных и пользователя для Bolt. Сначала войдите в MariaDB с помощью следующей команды:

mysql

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

MariaDB [(none)]> CREATE DATABASE boltdb;
MariaDB [(none)]> CREATE USER 'bolt'@'localhost' IDENTIFIED BY 'password';

Затем предоставьте все привилегии базе данных Bolt с помощью следующей команды:

MariaDB [(none)]> GRANT ALL ON boltdb.* TO 'bolt'@'localhost';

Затем сбросьте привилегии и выйдите из оболочки MariaDB с помощью следующей команды:

MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> EXIT;

Как только вы закончите, вы можете перейти к следующему шагу.

Скачать CMS Болт

Во-первых, вам нужно скачать последнюю версию Bolt CMS из репозитория Git. Вы можете загрузить его в корневой каталог Nginx, выполнив следующую команду:

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

После загрузки Bolt измените каталог на Bolt и скопируйте образец файла конфигурации:

cd bolt
cp app/config/config.yml.dist app/config/config.yml

Затем отредактируйте файл config.yml и определите параметры вашей базы данных:

nano app/config/config.yml

Удалите строку базы данных sqlite по умолчанию и добавьте следующие строки:

database:
     driver: mysql
     username: bolt
     password: password
     databasename: boltdb
     host: localhost
     prefix: prefix_

Сохраните и закройте файл, когда закончите.

Далее вам нужно будет установить Composer в вашей системе. Composer — это менеджер зависимостей для PHP. Вы можете установить его с помощью следующей команды:

wget -O composer-setup.php https://getcomposer.org/installer
php composer-setup.php --install-dir=/usr/local/bin --filename=composer

После установки Composer вы должны получить следующий вывод:

All settings correct for using Composer
Downloading...

Composer (version 2.0.2) successfully installed to: /usr/local/bin/composer
Use it: php /usr/local/bin/composer

Затем установите необходимые зависимости PHP для Bolt CMS с помощью следующей команды:

composer install

После того, как все зависимости будут установлены, измените владельца и права доступа к каталогу, выделенному жирным шрифтом:

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

Как только вы закончите, вы можете перейти к следующему шагу.

Настроить Nginx для Bolt

Далее вам нужно будет создать файл конфигурации виртуального хоста Nginx для Bolt CMS. Вы можете создать его с помощью следующей команды:

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

Добавьте следующие строки:

server { 
   listen 80; 
   root /var/www/html/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, используя следующую команду:

ln -s /etc/nginx/sites-available/bolt.conf /etc/nginx/sites-enabled/bolt.conf

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

nginx -t

Вы должны увидеть следующий вывод:

nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

Наконец, перезапустите службу Nginx, чтобы применить изменения:

systemctl restart nginx

На данный момент Nginx настроен для обслуживания Bolt CMS. Теперь вы можете перейти к следующему шагу.

Доступ Болт CMS

Теперь откройте веб-браузер и введите URL-адрес http://bolt.example.com. Вы будете перенаправлены на следующую страницу:

Укажите желаемое имя пользователя, пароль, адрес электронной почты и нажмите кнопку «Создать первого пользователя». Вы должны увидеть панель управления Bolt CMS на следующей странице:

Теперь нажмите кнопку «Просмотреть сайт». Вы должны увидеть простую страницу сайта Bolt CMS на следующей странице:

Защитите BoltCMS с помощью Lets Encrypt SSL

Всегда полезно защитить свой сайт с помощью Lets Encrypt SSL. Сначала установите клиент Certbot Lets Encrypt на свой сервер с помощью следующей команды:

apt-get install python3-certbot-nginx -y

После установки защитите свой сайт с помощью Lets Encrypt SSL, выполнив следующую команду:

certbot --nginx -d bolt.example.com

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

Saving debug log to /var/log/letsencrypt/letsencrypt.log
Plugins selected: Authenticator nginx, Installer nginx
Enter email address (used for urgent renewal and security notices) (Enter 'c' to
cancel): 

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Please read the Terms of Service at
https://letsencrypt.org/documents/LE-SA-v1.2-November-15-2017.pdf. You must
agree in order to register with the ACME server at
https://acme-v02.api.letsencrypt.org/directory
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
(A)gree/(C)ancel: A

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Would you be willing to share your email address with the Electronic Frontier
Foundation, a founding partner of the Let's Encrypt project and the non-profit
organization that develops Certbot? We'd like to send you email about our work
encrypting the web, EFF news, campaigns, and ways to support digital freedom.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
(Y)es/(N)o: Y
Obtaining a new certificate
Performing the following challenges:
http-01 challenge for bolt.example.com
Waiting for verification...
Cleaning up challenges
Deploying Certificate to VirtualHost /etc/nginx/sites-enabled/bolt.conf

Затем выберите, следует ли перенаправлять HTTP-трафик на HTTPS, как показано ниже:

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
1: No redirect - Make no further changes to the webserver configuration.
2: Redirect - Make all requests redirect to secure HTTPS access. Choose this for
new sites, or if you're confident your site works on HTTPS. You can undo this
change by editing your web server's configuration.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Select the appropriate number [1-2] then [enter] (press 'c' to cancel): 2

Введите 2 и нажмите Enter, чтобы завершить установку. Вы должны увидеть следующий вывод:

Redirecting all traffic on port 80 to ssl in /etc/nginx/sites-enabled/bolt.conf

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Congratulations! You have successfully enabled https://bolt.example.com

You should test your configuration at:
https://www.ssllabs.com/ssltest/analyze.html?d=bolt.example.com
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

IMPORTANT NOTES:
 - Congratulations! Your certificate and chain have been saved at:
   /etc/letsencrypt/live/bolt.example.com/fullchain.pem
   Your key file has been saved at:
   /etc/letsencrypt/live/bolt.example.com/privkey.pem
   Your cert will expire on 2020-10-30. To obtain a new or tweaked
   version of this certificate in the future, simply run certbot again
   with the "certonly" option. To non-interactively renew *all* of
   your certificates, run "certbot renew"
 - Your account credentials have been saved in your Certbot
   configuration directory at /etc/letsencrypt. You should make a
   secure backup of this folder now. This configuration directory will
   also contain certificates and private keys obtained by Certbot so
   making regular backups of this folder is ideal.
 - If you like Certbot, please consider supporting our work by:

   Donating to ISRG / Let's Encrypt:   https://letsencrypt.org/donate
   Donating to EFF:                    https://eff.org/donate-le

 - We were unable to subscribe you the EFF mailing list because your
   e-mail address appears to be invalid. You can try again later by
   visiting https://act.eff.org.

Теперь ваш сайт BoltCMS защищен с помощью Lets Encrypt SSL. Вы можете безопасно получить к нему доступ, используя URL-адрес https://bolt.example.com.

Заключение

Поздравляем! вы успешно установили Bolt CMS с Nginx и Lets Encrypt SSL на сервере Ubuntu 20.04. Теперь вы можете легко создать свой собственный веб-сайт с помощью панели управления Bolt. Не стесняйтесь спрашивать меня, если у вас есть какие-либо вопросы.