最新消息:XAMPP默认安装之后是很不安全的,我们只需要点击左方菜单的 "安全"选项,按照向导操作即可完成安全设置。

通过上传 PHP 代码:Flarum beta 版本安装

XAMPP教程 中文小张 168浏览 0评论

Flarum beta 版本将以 Composer 的方式进行安装,无法通过上传 PHP 代码的传统方式,故安装过程需要登录 SSH 终端。

本文将以 Ubuntu 16.04.3 x64 为例进行。

安装创建非 root 用户

由于安全原因,不推荐直接在 root 用户下操作,故需先创建一个非 root 用户,并赋予 sudo 权限。

adduser username # 添加用户,替换 username 为你的用户名

# 完成两次密码输入向导
Enter new UNIX password:
Retype new UNIX password:
passwd: password updated successfully

# 输入用户信息(允许为空)
    Full Name []:
    Room Number []:
    Work Phone []:
    Home Phone []:
    Other []:
Is the information correct? [Y/n]

usermod -aG sudo username # 加入 sudo 用户组,替换 username 为你的用户名

su - username # 切换到 username 用户 *

* 提示:切换到 sudo 用户后,命令前加 sudo 将以管理员权限执行。

安装环境准备

sudo apt-get update && sudo apt-get upgrade # 更新包源及系统依赖

sudo LC_ALL=en_US.UTF-8 add-apt-repository ppa:ondrej/nginx # 添加 NGINX 源

sudo LC_ALL=en_US.UTF-8 add-apt-repository ppa:ondrej/php # 添加 PHP 源

sudo apt-get update # 更新源

sudo apt-get install nginx # 安装 NGINX

sudo apt-get install php7.0-fpm php7.0-mysql php7.0-gd php7.0-dom php7.0-mbstring php7.0-curl php7.0-xml # 安装 PHP 7.0 及所需拓展库

sudo apt-get install mysql-server-5.6 # 安装 MySQL 5.6 并设定 root 用户密码

创建 MySQL 用户及数据库

mysql -u root -p # 登录数据库 root 用户

create user 'username'@'localhost'; # 创建数据库用户,替换 username 为你的用户名

set password for 'username'@'localhost' = password('123456'); # 为用户设置密码

create database flarum; # 创建数据库

grant all privileges on flarum.* to 'username'@'localhost'; # 为用户赋予数据库操作权限

flush privileges; # 刷新配置使权限生效

安装 Composer

curl -sS https://getcomposer.org/installer | php

sudo mv composer.phar /usr/local/bin/composer

composer config -g repo.packagist composer https://packagist.phpcomposer.com # 替换中国镜像源 *

* 可选:如果服务器在中国大陆,可使用 Composer 中国全量镜像 为其加速。

安装 Flarum

mkdir -p /var/www/flarum # 创建网站目录

cd /var/www/flarum # 进入目录

composer create-project flarum/flarum . --stability=beta # 安装 Flarum beta 版本

安装目录必须为空目录,请根据提示完成安装,如遇安装失败可根据报错信息重试。

配置 NGINX

vim /etc/nginx/sites-available/default

配置示例:

server {
    listen 80;
    server_name example.com;
    root /var/www/flarum;
    index index.php index.html index.htm;

    # security config
    add_header X-Frame-Options SAMEORIGIN;
    add_header X-Content-Type-Options nosniff;
    add_header X-XSS-Protection "1; mode=block";
    fastcgi_hide_header X-Powered-By;
    server_tokens off;

    # gizp config
    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/html -- text/html is gzipped by default by nginx
            text/plain
            text/xml;
    gzip_buffers 16 8k;
    gzip_disable "MSIE [1-6]\.(?!.*SV1)";

    # php config
    location ~ \.php$ {
        try_files $uri =404;
        fastcgi_pass unix:/var/run/php/php7.0-fpm.sock;
        fastcgi_index index.php;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include fastcgi_params;
        fastcgi_param  HTTP_MOD_REWRITE  On;
    }

    # url rewrite
    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; }

    # expires config
    location ~* \.html$ {
        expires -1;
    }
    location ~* \.(?:ico|css|js|gif|bmp|jpe?g|mp4|pdf|mp3|png|svg|ttf|woff|woff2|otf|eot)$ {
        access_log off;
        expires 30d;
        add_header Pragma public;
        add_header Cache-Control "public, mustrevalidate, proxy-revalidate";
    }

    # deny control
    location /flarum {
        deny all;
        return 404;
    }
    location ~ /assets/.*\.(php)?$ {
        deny all; 
    }

}

* 有关 URL Rewriting 部分参考了 Flarum Documentation

目录权限

此时访问你的网站首页,可以看到安装程序已经正常运行。

但会提示部分目录需要写入权限,否则无法继续完成安装。

可参考以下操作方案:

cd /var/www # 进入网站目录

sudo chown -R username:www-data /var/www/flarum # 更改目录的所有者及所有组 *

* username 为最初创建的非 root 用户,www-data 为 NGINX 及 PHP 进程的默认用户组。

sudo chmod -R g+w,o-rwx flarum/ flarum/assets/ flarum/storage/ # 指定目录权限 *

* g+w: 目录的所有组 (Group) 增加写入权限,o-rwx: 其他用户 (Other) 移除所有权限。

目录权限配置完成后,刷新网页重新进入安装引导。

按照流程填入数据库及管理员信息,即可完成安装。

安装中文语言包

cd /var/www/flarum # 进入网站目录

composer require jsthon/flarum-ext-simplified-chinese # 安装中文语言包拓展

composer dump-autoload --optimize # 优化 Composer 自动加载

* 安装其他 Flarum 拓展插件的操作方法类似。

文末

如果遇到其他问题,可在官方支持论坛发帖。

有关简体中文支持可在 GitHub 中发起 Issue:

https://github.com/Flarum-Chinese/flarum-ext-simplified-chinese

project      technology      flarum

转载请注明:XAMPP中文组官网 » 通过上传 PHP 代码:Flarum beta 版本安装