在CentOS 7上安装Bolt CMS

・9 分钟阅读

Bolt是一个用PHP编写的开源CMS。Bolt的源代码托管在GitHub ,本指南会向你展示,如何在新的CentOS 7实例上安装Bolt CMS。

本教程中的步骤是为Bolt3.4.9编写的,但在更新版本中可能会工作。

要求

确保服务器满足下列要求。

  • PHP 5.5.9或更高版本
  • 以下常见的PHP扩展:
    • PDO
    • MySQL (用于数据库)
    • pgsql (用于将PostgreSQL用作数据库)
    • openSSL
    • curl
    • GD
    • intl (可选但推荐)
    • json
    • mbstring (可选但推荐)
    • opcache可选但推荐)
    • POSIX
    • XML
    • fileinfo
    • exif
    • zip
  • SQLite,MySQL或PostgreSQL数据库
  • 启用了mod_rewrite或Nginx的Apache

开始之前

检查CentOS版本。


cat /etc/centos-release
# CentOS Linux release 7.4.1708 (Core)

使用sudo访问创建一个新的non-root用户帐户,并且切换到它。


useradd -c"John Doe" johndoe && passwd johndoe
usermod -aG wheel johndoe
su - johndoe

注:会johndoe替换为你的用户名。

设置时区。


timedatectl list-timezones
sudo timedatectl set-timezone 'Region/City'

确保你的系统是最新的。


sudo yum update -y

安装必需的和有用的软件包。


sudo yum install -y wget vim unzip bash-completion

禁用SELinux 。

 
sudo setenforce 0

 

步骤1安装PHP所需的PHP扩展MySQL MariaDB和nginx

CentOS不提供默认软件库中最新的PHP版本,我们需要添加一个Web static YUM repo,有关添加Web static repo的说明请参见指南向导

Install PHP 7.2和所需的PHP扩展。


sudo yum install -y php72w php72w-cli php72w-fpm php72w-mbstring php72w-zip php72w-mysql php72w-pgsql php72w-sqlite3 php72w-curl php72w-simplexml php72w-common php72w-gd php72w-intl php72w-json php72w-opcache php72w-xml php72w-zip php72w-common php72w-process

检查PHP版本。


php --version

PHP 7.2.2 (cli) (built: Feb 4 2018 10:14:07) ( NTS )
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies


安装Nginx 。


sudo vim /etc/yum.repos.d/nginx_mainline.repo

# Copy/paste this to the /etc/yum.repos.d/nginx_mainline.repo file

[nginx]
name=nginx repo
baseurl=https://nginx.org/packages/mainline/centos/7/$basearch/
gpgcheck=1
enabled=1

wget https://nginx.org/keys/nginx_signing.key
sudo rpm --import nginx_signing.key
rm nginx_signing.key

sudo yum install -y nginx

检查Nginx版本。


nginx -v
# nginx version: nginx/1.13.9

启动并启用Nginx 。


sudo systemctl enable nginx.service
sudo systemctl start nginx.service


安装MariaDB 。


sudo vim /etc/yum.repos.d/MariaDB.repo

# Copy/paste this to the /etc/yum.repos.d/MariaDB.repo file

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

sudo yum install -y MariaDB-server MariaDB-client

检查MariaDB版本。


mysql --version
# mysql Ver 15.1 Distrib 10.2.13-MariaDB, for Linux (x86_64) using readline 5.1

启动并启用MariaDB 。


sudo systemctl enable mariadb.service
sudo systemctl start mariadb.service

运行mysql_secure_installation脚本以提高MariaDB安装的安全性。


sudo mysql_secure_installation

为Bolt创建数据库并记住凭据。


mysql -u root -p
# Enter password:

CREATE DATABASE dbname;
GRANT ALL ON dbname.* TO 'username' IDENTIFIED BY 'password';
FLUSH PRIVILEGES;
exit

步骤2配置nginx

运行 sudo vim /etc/nginx/conf.d/bolt.conf 并用下面的文本填充它。


server {
 listen [::]:80;
 listen 80;

 server_name example.com;

 index index.php index.html;
 root /var/www/bolt/public;

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

 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;
 fastcgi_index index.php;
 include fastcgi_params;
 }
}

测试Nginx配置。

 
sudo nginx -t

 

重新加载Nginx 。


sudo systemctl reload nginx.service

步骤3下载并安装BoltCMS

创建文档root目录。


sudo mkdir -p /var/www/bolt

将/var/www/bolt目录的所有权更改为johndoe 。


sudo chown -R johndoe:johndoe /var/www/bolt

导航到文档root 。

 
cd/var/www/bolt

 

从命令行下载最新稳定的BoltCMS 。


wget https://bolt.cm/distribution/bolt-latest.zip

解压BoltCMS,删除下载的zip文件,并将BoltCMS文件和目录移动到/var/www/bolt


unzip bolt-latest.zip
rm bolt-latest.zip
mv bolt-v3.4.9/* bolt-v3.4.9/.* . # Just press enter on warning
rmdir bolt-v3.4.9/

要完成安装,你需要重命名以下文件:


mv .bolt.yml.dist .bolt.yml
mv composer.json.dist composer.json
mv composer.lock.dist composer.lock
mv src/Site/CustomisationExtension.php.dist src/Site/CustomisationExtension.php 

将/var/www/bolt目录的所有权更改为nginx。


sudo chown -R nginx:nginx /var/www/bolt

运行sudo vim/etc/php-fpm.d/www.conf,并且会用户和组设置为nginx


sudo vim /etc/php-fpm.d/www.conf
# user = nginx
# group = nginx

重新启动php-fpm.service


sudo systemctl restart php-fpm.service

在Web浏览器中打开你的域名/IP,然后按照Bolt CMS安装向导进行操作。Bolt默认使用SQLite数据库,如果要使用其他受支持的数据库,则可以在app/config/config.yml文件中对它进行配置,要访问Bolt的管理界面,请将/bolt附加到你的IP/域名。

Vera profile image