在Fedora 28上安裝Fork CMS

在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。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章