Как установить Bolt CMS с Nginx на Ubuntu 20.04
На этой странице
- Предпосылки
- Начало работы
- Установить сервер LEMP
- Создание базы данных для Bolt
- Скачать Bolt CMS
- Настройка Nginx для Bolt
- Доступ к CMS Bolt
- Защитите BoltCMS с помощью Lets Encrypt SSL
- Заключение
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. Не стесняйтесь спрашивать меня, если у вас есть какие-либо вопросы.