Fork是一个用PHP编写的开源CMS。Fork的源代码托管在GitHub上。本指南将向您展示如何在新Fedora 28 Vultr实例上安装Fork CMS。
需求
PHP 7.1或更高版本。
MySQL 5.0或更高版本。
Nginx或Apache 2.0与。htaccess, mod重写,mod过期(可选但推荐)和mod deflate(可选)启用。
开始之前的准备工作:
检查Fedora版本。
cat /etc/fedora-release
# Fedora release 28 (Twenty Eight)
使用sudo访问创建一个新的非根用户帐户并切换到它。用你的用户名替换johndoe。
useradd -c "John Doe" johndoe && passwd johndoeusermod -aG wheel johndoesu - johndoe
设置时区。
timedatectl list-timezonessudo timedatectl set-timezone 'Region/City'
确保您的系统是最新的。
sudo dnf check-upgrade || sudo dnf upgrade -y
安装必需的和有用的包。
sudo dnf install -y wget vim unzip bash-completion
为了简单起见,禁用SELinux和防火墙。
sudo setenforce 0sudo systemctl stop firewalldsudo systemctl disable firewalld
步骤1 -安装PHP,所需的PHP扩展,Nginx和MySQL
下载并安装PHP和所需的PHP扩展。
sudo dnf install -y php-cli php-fpm php-common php-mbstring php-gd php-intl php-mysqlnd php-xml php-json
检查PHP版本。
php --version# PHP 7.2.6 (cli) (built: May 22 2018 16:22:08) ( NTS )# Copyright (c) 1997-2018 The PHP Group# Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies
安装Nginx
sudo dnf install -y nginx
检查Nginx版本。
nginx -v# nginx version: nginx/1.12.1
启动和启用Nginx。
sudo systemctl enable nginx.servicesudo systemctl start nginx.service
安装MariaDB。
sudo dnf install -y mariadb-server
查看MariaDB版本。
mysql --version# mysql Ver 15.1 Distrib 10.2.15-MariaDB, for Linux (x86_64) using readline 5.1
启动并启用MariaDB。
sudo systemctl enable mariadb.servicesudo systemctl start mariadb.service
运行mysql_secure_installation脚本以改进MariaDB安装的安全性。
sudo mysql_secure_installation
作为根用户登录到MariaDB。
mysql -u root -p# Enter password:
创建一个新的MariaDB数据库和用户,并记住凭证。
create database dbname;grant all on dbname.* to 'username' identified by 'password';
退出MySQL。
exit
步骤2 -配置Nginx
运行sudo vi /etc/nginx/conf.d/forkconf并使用以下内容填充它。
server { listen 80; root /var/www/fork; index index.php index.html; server_name example.com; location / { # Checks whether the requested url exists as a file $uri or directory $uri/ in the root, else redirect to /index.php. try_files $uri $uri/ @redirects; } location @redirects { rewrite ^ /index.php; } location ~ \.php$ { try_files $uri =404; include fastcgi_params; fastcgi_pass unix:/run/php-fpm/www.sock; # Make sure to doublecheck this! fastcgi_index index.php; fastcgi_read_timeout 60; fastcgi_split_path_info ^(.+\.php)(/.+)$; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; } # Don't pollute the logs with common requests location = /robots.txt { access_log off; log_not_found off; } location = /favicon.ico { access_log off; log_not_found off; } # As Fork CMS has the app_root as doc_root, we need to restrict access to a few things for security purposes! location ~* ^/(composer\..*|vendor\/.*|Procfile$|\.git\/.*|src\/Console.*|.*\.gitignore|\.editorconfig|\.travis.yml|autoload\.php|bower\.json|phpunit\.xml\.dist|.*\.md|app\/logs\/.*|app\/config\/.*|src\/Frontend\/Cache\/CompiledTemplates.*|src\/Frontend\/Cache\/Locale\/.*\.php|src\/Frontend\/Cache\/Navigation\/.*\.php|src\/Frontend\/Cache\/Search\/.*|src\/Backend\/Cache\/CompiledTemplates\/.*|src\/Backend\/Cache\/Locale\/.*\.php)$ { deny all; access_log off; log_not_found off; } # Deny access to dot-files. location ~ /\. { deny all; access_log off; log_not_found off; }}
以下是您将要进行的更改的摘要。
更改根指令的值以指向网站的正确位置,例如/var/www/fork
更改server_name指令的值以指向您的域名或IP地址。
确保检查fastcgi_pass是否设置正确。
测试Nginx配置。
sudo nginx -t
重新加载Nginx。
sudo systemctl reload nginx.service
步骤3 -下载和安装编写器
下载Composer dependencies.
sudo dnf install -y curl git unzip
下载和安装Composer, PHP的依赖管理器。
php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"php -r "if (hash_file('SHA384', 'composer-setup.php') === '544e09ee996cdf60ece3804abc52599c22b1f40f4323403c44d44fdfdd586475ca9813a858088ffbc1f233e9b180f061') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"php composer-setup.phpphp -r "unlink('composer-setup.php');"sudo mv composer.phar /usr/local/bin/composer
检查Composer版本。
composer --version# Composer version 1.6.5 2018-05-04 11:44:59
步骤4 -通过编写器下载和安装Fork CMS
创建一个文档根目录。
sudo mkdir -p /var/www/fork
将/var/www/fork目录的所有权更改为johndoe。
sudo chown -R johndoe:johndoe /var/www/fork
从命令行下载Fork CMS的最新稳定版本。
cd /var/www/forkcomposer create-project forkcms/forkcms .
将/var/www/fork目录的所有权更改为nginx。
sudo chown -R nginx:nginx /var/www/fork
运行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
编辑app / config / parameters.yml。区域文件和数据库信息设置。
sudo vim /var/www/fork/app/config/parameters_install.yml
创建/var/lib/php/session目录并将其所有权更改为用户nginx。
sudo mkdir -p /var/lib/php/sessionsudo chown -R nginx:nginx /var/lib/php/session
最后,使用您喜欢的web浏览器,打开您的站点并遵循Fork CMS安装程序。在跟踪安装程序之后,您将启动一个Fork实例并运行。要访问Fork管理区域,只需将/private附加到您的站点URL。
其他相关教程: