Home >Backend Development >PHP Tutorial >升级站长秘籍:使用flarum框架搭建一个有逼格的轻论坛

升级站长秘籍:使用flarum框架搭建一个有逼格的轻论坛

WBOY
WBOYOriginal
2016-06-23 13:09:491120browse

先来个成品图观赏观赏:

手机版:

电脑版:

我的环境:ubuntu 14.06 x64 VPS

安装准备

依次安装 apache2、php5、mysql-server、php5-mysql .

sudo apt-get install apache2sudo apt-get install php5sudo apt-get install mysql-serversudo apt-get install php5-mysql

安装composer.(这一步直接在官网下载可执行文件加上可执行权限复制到/usr/local/bin中就行)

php -r "readfile('https://getcomposer.org/installer');" > composer-setup.phpphp -r "if (hash('SHA384', file_get_contents('composer-setup.php')) === '7228c001f88bee97506740ef0888240bd8a760b046ee16db8f4095c0d8d525f2367663f22a46b48d072c816e7fe19959') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"php composer-setup.php --install-dir=bin --filename=composerphp -r "unlink('composer-setup.php');"

创建flarum工程

一定要在空目录里执行create-object.

mkdir V2NB_forumcd V2NB_forum/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 informationUpdating 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 .

sudo apt-get install php5-curl

正常的安装日志应该好长好长。

这时工程目录中的文件如下:

一些修改和设置

修改权限

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

sudo chmod -R 777 /home/kiya/v2nb

开启rewrite

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

重定向

修改 /etc/apache2/sites-available/000-default.conf 文件中的DocumentRoot项为你的项目文件夹路径. 如 DocumentRoot /home/kiya/v2nb .

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

<Directory /home/kiya/V2NB>    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新增加一行 23.105.197.243 v2nb.today . 这里的ip是vps的ip,域名随便写. 本机的话可以ip可以写成 127.0.0.1 .

如果这里不加在启动apache服务时会警告:

AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using v2nb.today. Set the 'ServerName' directive globally to suppress this message

数据库

命令行创建一个论坛用的数据库,user和pass时安装mysql时填写的账号密码. 待会要用到.

mysql -u user -ppasscreate database v2nb;

安装flarum

重启apache服务.

sudo service apache2 restart

用浏览器访问 23.105.197.243 . 如果是本地测试则访问 localhost .

如果出现的是:

则需要安装 gd 模块,执行 sudo apt-get install php5-gd 重启apache即可.

正确的话会出现下图页面用以填写信息:

其中的 MySQL Database 是上面我们自己创建的数据库名字. 填好之后点击 Install Flarum .

出现下图就安装好啦~

管理员界面:

访问oops

在使用域名打开论坛时如果经常出现 Oops! Something went wrong. Please reload the page and try again 并且资源也加载不出,可能是说明请求的url和配置的url不一样.

需要修改工程目录下的 config.php 文件.

sudo vim config.php

如将 'url' => '23.105.197.243' 改为 'url' => 'v2nb.today' .

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn