Flarum安装教程-PHP7、Apache和MySQL5.7

安装Flarum论坛软件

##系统需求
服务器: Apache (需要支持 mod_rewrite)、Nginx、Lighttpd
PHP 5.5+,需要开启的扩展:mbstring, pdo_mysql, openssl, json, gd, dom, fileinfo
MySQL 5.5+

开启Apache的mod_rewrite:

命令开启

 sudo a2enmod rewrite
 sudo /etc/init.d/apache2 restart

设置php扩展:

mbstring.language = Chinese
mbstring.internal_encoding = UTF-8
mbstring.encoding_translation = On
mbstring.http_input = UTF-8
mbstring.http_output = UTF-8
mbstring.detect_order = UTF-8
mbstring.substitute_character = none

/etc/init.d/php-fpm7.0 restart

Nginx
添加下述配置到你的服务器配置块:
http{}中

server{
        location / { try_files $uri $uri/ /index.php?$query_string; }
        location /api { try_files $uri $uri/ /api.php?$query_string; }
        location /admin { try_files $uri $uri/ /admin.php?$query_string; }
    
        location /flarum {
            deny all;
            return 404;
        }
    
        location ~* \.php$ {
            fastcgi_split_path_info ^(.+.php)(/.+)$;
            fastcgi_pass unix:/var/run/php5-fpm.sock;
            include fastcgi_params;
            fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
            fastcgi_param HTTP_PROXY ""; # Fix for https://httpoxy.org/ vulnerability
            fastcgi_index index.php;
        }
        
        location ~* \.html$ {
            expires -1;
        }
    
        location ~* \.(css|js|gif|jpe?g|png)$ {
            expires 1M;
            add_header Pragma public;
            add_header Cache-Control "public, must-revalidate, proxy-revalidate";
        }
    
        gzip on;
        gzip_http_version 1.1;
        gzip_vary on;
        gzip_comp_level 6;
        gzip_proxied any;
        gzip_types application/atom+xml
                   application/javascript
                   application/json
                   application/vnd.ms-fontobject
                   application/x-font-ttf
                   application/x-web-app-manifest+json
                   application/xhtml+xml
                   application/xml
                   font/opentype
                   image/svg+xml
                   image/x-icon
                   text/css
                   text/plain
                   text/xml;
        gzip_buffers 16 8k;
        gzip_disable "MSIE [1-6]\.(?!.*SV1)";
}

sudo apache2ctl -k restart

安装

    sudo apt-get install apache2
    sudo apt-get install php5
    sudo apt-get install mysql-server
    sudo apt-get install php5-mysql

创建flarum工程

composer create-project flarum/flarum . --stability=beta

安装过程中可能会出现错误:

    Installing flarum/flarum (v0.1.0-beta.5)
    - Installing flarum/flarum (v0.1.0-beta.5)
    Downloading: 100%
    Created project in .
    Loading composer repositories with package information
    Updating dependencies (including require-dev)
    Your requirements could not be resolved to an installable set of packages.
    Problem 1
    - flarum/flarum-ext-akismet v0.1.0-beta.3 requires tijsverkoyen/akismet ^1.1 -> satisfiable by tijsverkoyen/akismet[1.1.0].
    - flarum/flarum-ext-akismet v0.1.0-beta.5 requires tijsverkoyen/akismet ^1.1 -> satisfiable by tijsverkoyen/akismet[1.1.0].
    - tijsverkoyen/akismet 1.1.0 requires ext-curl * -> the requested PHP extension curl is missing from your system.
    - Installation request for flarum/flarum-ext-akismet ^0.1.0 -> satisfiable by flarum/flarum-ext-akismet[v0.1.0-beta.3, v0.1.0-beta.5].
    To enable extensions, verify that they are enabled in those .ini files:
    - /etc/php5/cli/php.ini
    - /etc/php5/cli/conf.d/05-opcache.ini
    - /etc/php5/cli/conf.d/10-pdo.ini
    - /etc/php5/cli/conf.d/20-json.ini
    - /etc/php5/cli/conf.d/20-mysql.ini
    - /etc/php5/cli/conf.d/20-mysqli.ini
    - /etc/php5/cli/conf.d/20-pdo_mysql.ini
    - /etc/php5/cli/conf.d/20-readline.ini
    You can also run `php --ini` inside terminal to see which files are used by PHP in CLI mode.

这时需要安装php-curl后,删除目录中的所有文件(包括.开头的隐藏文件)再执行composer create-project flarum/flarum . –stability=beta.

    1 sudo apt-get install php5-curl

正常的安装日志很长。

将工程目录全部文件和文件夹的权限修改为777.

如我的是:

    sudo chmod -R 777 /home/kiya/v2nb

开启rewrite

    cd /etc/apache2/mods-enabled
    sudo ln -s ../mods-available/rewrite.load

##其他博客安装示例
修改/etc/apache2/sites-available/000-default.conf文件中的DocumentRoot项为你的项目文件夹路径. 如DocumentRoot /usr/flarum/flarum.

并在该文件中的VirtualHost节点之间添加如下代码:

    <Directory /usr/flarum/flarum>
    AllowOverride All
    </Directory>

在/etc/apache2/apache2.conf文件中找到:

    <Directory />
    Options FollowSymLinks
    AllowOverride None
    Require all denied
    </Directory>

将Require all denied改为Require all granted,将AllowOverride None改为AllowOverride All.

修改host

    sudo vim /etc/hosts

打开hosts新增加一行192.168.1.2 usr.com. 这里的ip是vps的ip,域名随便写. 本机的话可以ip可以写成127.0.0.1.

##apache和php7配置不同更新

重定向

将所有apache配置中的/var/www/html改为当前论坛的地址,地址将会重定向

apache与php7绑定
进入/etc/apache目录
进入conf-enabled,运行ln -s ../conf-available/php7.conf
复制php链接。

采用Apache的mod_proxy_fcgi配合php-fpm运行
进入mod-available将proxy.conf,proxy.load,proxy-fcgi.load链接到mod-enabled。

重启Apache即可,sudo /etc/init.d/apache2 restart