ИТ Блог. Администрирование серверов на основе Linux (Ubuntu, Debian, CentOS, openSUSE)

Установка CMS Bolt на Centos 7

В этом руководстве мы покажем вам, как установить CMS Bolt на CentOS 7 VPS с MariaDB, PHP 7 и Nginx в качестве веб – сервера. CMS Bolt представляет собой легким инструментом управления содержимым с открытым исходным кодом, написанный на PHP, и построенный на фреймворке Silex. Это руководство должно работать на других системах, основанных на Linux VPS,  так же хорошо, но было испытано и написано для CentOS 7.

1. Войдите на ваш VPS через SSH

ssh user@vps_IP

 

Обновите систему

yum update

 

2. Установка MariaDB 10,2

Centos 7 поставляется с MariaDB 5.5 и в этом руководстве мы будем использовать последнюю версию MariaDB версии 10.2. Для того, чтобы установить пакет из официального репозитория MariaDB, откройте редактор и создайте следующий файл:

nano /etc/yum.repos.d/MariaDB.repo

 

[mariadb]
name = MariaDB
baseurl = http://yum.mariadb.org/10.2/centos7-amd64
gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
gpgcheck=1

 

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

yum install MariaDB-server MariaDB-client

 

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

systemctl start mariadb
systemctl enable mariadb

 

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

mysql_secure_installation

 

Далее, нам необходимо создать базу данных для нашей установки CMS Bolt.

mysql -uroot -p

 

MariaDB [(none)]> CREATE DATABASE bolt;
MariaDB [(none)]> GRANT ALL PRIVILEGES ON bolt.* TO 'bolt'@'localhost' IDENTIFIED BY 'your_bolt_password';
MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> \q

 

3. Установка Nginx, PHP и Composer

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

yum install epel-release
yum install nginx

 

То же самое с сервисом MariaDB, запустите сервер Nginx и включите его для запуска во время загрузки:

systemctl start nginx
systemctl enable nginx

 

CentOS 7 поставляется с PHP версии 5.4 и CMS Bolt требует PHP 5.5.9 или выше. Мы установим PHP 7.0 с помощью репозитория Webtatic. Чтобы включить репозиторий Webtatic, выполните следующую команду:

rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm

 

Установка PHP 7.0 и все необходимые расширения:

yum install php70w-cli php70w-intl php70w-gd php70w-fileinfo php70w-mcrypt php70w-mbstring php70w-common php70w-fpm php70w-xml php70w-opcache php70w-pdo php70w-posix php70w-mysqlnd

 

По умолчанию, PHP-FPM будет работать в качестве пользователя Apache. Так как мы используем Nginx, мы должны изменить пользователь апача на Nginx. Для того, чтобы внести изменения, мы можем использовать команды sed следующим образом:

sed -i 's/apache/nginx/g' /etc/php-fpm.d/www.conf

 

Наконец повторно запустим службу PHP-FPM и включим ее для запуска во время загрузки:

systemctl restart php-fpm
systemctl enable php-fpm

 

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

curl -sS https://getcomposer.org/installer | php
mv composer.phar /usr/local/bin/composer

 

4. Установка CMS Bolt

Мы установим CMS Bolt с помощью команды «composer create-project»:

composer create-project bolt/composer-install:^3.3 /var/www/MYBOLTAPP --prefer-dist

 

Установщик спросит вас, хотите ли вы использовать стандартную структуру папок Bolt. Выберите «Да» и продолжите установку.

Do you want to use Bolt's standard folder structure? (yes/no) [yes]:
 > yes

 

По умолчанию Bolt настроен на использование базы данных SQLite, так как мы будем использовать базу данных MySQL, мы должны изменить настройки в файле app/config/config.yml и ввести данные в базе данных, которую мы создали ранее:

nano /var/www/MYBOLTAPP/app/config/config.yml

 

# database:
#    driver: sqlite
#    databasename: bolt

database:
    driver: mysql
    username: bolt
    password: your_bolt_password
    databasename: bolt

 

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

chown -R nginx: /var/www/MYBOLTAPP
find /var/www/MYBOLTAPP -type d -exec chmod 755 {} \;
find /var/www/MYBOLTAPP -type f -exec chmod 644 {} \;

 

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

Создайте новый блок сервера Nginx:

nano /etc/nginx/conf.d/MYBOLTAPP.conf

 

server {
    listen  80;
    server_name MYBOLTAPP;

    root /var/www/MYBOLTAPP/public;
    index index.php;

    access_log  /var/log/nginx/MYBOLTAPP.access.log;
    error_log   /var/log/nginx/MYBOLTAPP.error.log;

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

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

    location ^~ /bolt/ {
        try_files                     $uri /index.php?$query_string;
    }
    
    location ^~ /thumbs {
        try_files                     $uri /index.php; #?$query_string;
    
        access_log                    off;
        log_not_found                 off;
        expires                       max;
        add_header                    Pragma public;
        add_header                    Cache-Control "public, mustrevalidate, proxy-revalidate";
        add_header                    X-Koala-Status sleeping;
    }
    
    location ~* ^.+\.(?:atom|bmp|bz2|css|doc|eot|exe|gif|gz|ico|jpe?g|jpeg|jpg|js|map|mid|midi|mp4|ogg|ogv|otf|png|ppt|rar|rtf|svg|svgz|tar|tgz|ttf|wav|woff|xls|zip)$ {
        access_log                    off;
        log_not_found                 off;
        expires                       max;
        add_header                    Pragma public;
        add_header                    Cache-Control "public, mustrevalidate, proxy-revalidate";
        add_header                    X-Koala-Status eating;
    }
    
    
    location = /(?:favicon.ico|robots.txt) {
        log_not_found                 off;
        access_log                    off;
    }
    
    location ~ /index.php/(.*) {
        rewrite ^/index.php/(.*) /$1 permanent;
    }

    location ~ /\. {
        deny                          all;
    }
    
    location ~ /\.(htaccess|htpasswd)$ {
        deny                          all;
    }
    
    location ~ /\.(?:db)$ {
        deny                          all;
    }
    
    location ~* /(.*)\.(?:markdown|md|twig|yaml|yml)$ {
        deny                          all;
    }

    location ~ [^/]\.php(/|$) {
        try_files                     /index.php =404;
    
        fastcgi_split_path_info       ^(.+?\.php)(/.*)$;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        fastcgi_param HTTP_PROXY      "";
        fastcgi_param HTTPS           $https if_not_empty;
        fastcgi_pass                  127.0.0.1:9000;
        include                       fastcgi_params;
    }

}

 

Проверьте конфигурацию Nginx и перезапустите Nginx:

nginx -t
service nginx restart

6. Создайте своего пользователя admin

После того, как установка будет завершена, перейдите по адресу HTTP://MYBOLTAPP и зарегистрируйте первого пользователя. Административный доступ автоматически предоставляется первому зарегистрированному пользователю.

Вот и все. Вы успешно установили CMS Bolt на вашем CentOS 7 VPS. Для получения дополнительной информации о том, как управлять установкой CMS Bolt, пожалуйста, обратитесь к официальной документации CMS Bolt.

Установить CMS Bolt на Centos 7

Exit mobile version