升级站长秘籍:使用flarum框架搭建一个有逼格的轻论坛
先来个成品图观赏观赏:
手机版:
电脑版:
我的环境: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' .

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas



Laravel memudahkan mengendalikan data sesi sementara menggunakan kaedah flash intuitifnya. Ini sesuai untuk memaparkan mesej ringkas, makluman, atau pemberitahuan dalam permohonan anda. Data hanya berterusan untuk permintaan seterusnya secara lalai: $ permintaan-

Pelanjutan URL Pelanggan PHP (CURL) adalah alat yang berkuasa untuk pemaju, membolehkan interaksi lancar dengan pelayan jauh dan API rehat. Dengan memanfaatkan libcurl, perpustakaan pemindahan fail multi-protokol yang dihormati, php curl memudahkan execu yang cekap

Laravel menyediakan sintaks simulasi respons HTTP ringkas, memudahkan ujian interaksi HTTP. Pendekatan ini dengan ketara mengurangkan redundansi kod semasa membuat simulasi ujian anda lebih intuitif. Pelaksanaan asas menyediakan pelbagai jenis pintasan jenis tindak balas: Gunakan Illuminate \ Support \ Facades \ http; Http :: palsu ([ 'Google.com' => 'Hello World', 'github.com' => ['foo' => 'bar'], 'forge.laravel.com' =>

Pembalakan PHP adalah penting untuk memantau dan menyahpepijat aplikasi web, serta menangkap peristiwa kritikal, kesilapan, dan tingkah laku runtime. Ia memberikan pandangan yang berharga dalam prestasi sistem, membantu mengenal pasti isu -isu, dan menyokong penyelesaian masalah yang lebih cepat

Adakah anda ingin memberikan penyelesaian segera, segera kepada masalah yang paling mendesak pelanggan anda? Sembang langsung membolehkan anda mempunyai perbualan masa nyata dengan pelanggan dan menyelesaikan masalah mereka dengan serta-merta. Ia membolehkan anda memberikan perkhidmatan yang lebih pantas kepada adat anda

Artikel membincangkan pengikatan statik lewat (LSB) dalam PHP, yang diperkenalkan dalam Php 5.3, yang membolehkan resolusi runtime kaedah statik memerlukan lebih banyak warisan yang fleksibel. Isu: LSB vs polimorfisme tradisional; Aplikasi Praktikal LSB dan Potensi Perfo

Artikel ini membincangkan menambah fungsi khusus kepada kerangka kerja, memberi tumpuan kepada pemahaman seni bina, mengenal pasti titik lanjutan, dan amalan terbaik untuk integrasi dan debugging.

Alipay Php ...
