在Fedora 28上安装Bolt CMS

・8 分钟阅读

使用不同的系统?

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

要求

  • PHP 5.5.9或更高版本,
  • 以下常见的PHP扩展:
    • pdo
    • mysqlnd (使用MySQL作为数据库)
    • pgsql (使用PostgreSQL作为数据库)
    • openssl
    • curl
    • gd
    • intl (可选但推荐)
    • json
    • mbstring (可选但推荐)
    • opcache (可选但推荐)
    • posix
    • xml
    • fileinfo
    • exif
    • zip
  • 至少有32MB个内存分配给PHP ,
  • SQLite,MySQL或PostgreSQL数据库,
  • 启用了mod_rewrite的Nginx或Apache ,

开始之前

检查操作系统版本。


cat /etc/fedora-release
# Fedora release 28 (Twenty Eight)

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


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

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

确保你的系统是最新的。


sudo dnf check-upgrade || sudo dnf upgrade -y

设置时区。


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

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


sudo dnf install -y wget vim unzip bash-completion git

为简便起见,请禁用SELinux和防火墙。


sudo setenforce 0; sudo systemctl stop firewalld; sudo systemctl disable firewalld

安装PHP,需要PHP扩展,mysql/MariaDB和Nginx,

安装PHP和所需的PHP扩展。


sudo dnf install -y php-cli php-fpm php-mbstring php-zip php-mysqlnd php-pgsql php-sqlite3 php-curl php-simplexml php-common php-gd php-intl php-json php-opcache php-xml php-zip php-common php-process

检查PHP版本。


php --version
# PHP 7.2.6 (cli) (built: May 22 2018 16:22:08) ( NTS )

启动并启用php服务。


sudo systemctl start php-fpm.service
sudo systemctl enable php-fpm.service

下载并安装MariaDB 。


sudo dnf install -y mariadb-server

检查MariaDB版本。

 
mysql --version

 

启动并启用MariaDB服务。


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

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


sudo mysql_secure_installation

以root用户身份登录到MariaDB 。


mysql -u root -p
# Enter password:

创建新的MariaDB数据库和用户,并记住凭据。


create database dbname;
grant all on dbname.* to 'username' identified by 'password';
flush privileges;

退出MySQL 。

 
exit

 

安装Nginx 。


sudo dnf install -y nginx

检查Nginx版本。

 
nginx -v

 

启动并启用Nginx 。


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

配置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 unix:/run/php-fpm/www.sock;
 fastcgi_index index.php;
 include fastcgi_params;
 }
}

测试Nginx配置。

 
sudo nginx -t

 

重新加载Nginx 。


sudo systemctl reload nginx.service

下载并安装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.5.3/* bolt-v3.5.3/.* . # Just press enter on warning
rmdir bolt-v3.5.3/

注:如果有较新版本,应更新Bolt版本号。

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


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的管理界面,请将/bolt附加到你的IP/域名。

圣地学子 profile image