在Fedora 28上安裝Fork CMS
Fork是一個用PHP編寫的開源CMS。Fork的源代碼託管在GitHub上。本指南將向您展示如何在Fedora 28 的服務器實例上安裝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 johndoe
usermod -aG wheel johndoe
su - johndoe
設置時區。
timedatectl list-timezones
sudo 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 0
sudo systemctl stop firewalld
sudo 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.service
sudo 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.service
sudo 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.php
php -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/fork
composer 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/session
sudo chown -R nginx:nginx /var/lib/php/session
最後,使用您喜歡的web瀏覽器,打開您的站點並遵循Fork CMS安裝程序。在跟蹤安裝程序之後,您將啓動一個Fork實例並運行。要訪問Fork管理區域,只需將/private附加到您的站點URL。