CentOS 7.2 搭建Flarum论坛 2

2019-11-15   2,678 次阅读


后面费了好长时间才把flarum给搭起来,接着上次的地方继续。

  1. 安装php 7.2

    1. 首先要更新yum源:

      sudo rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
      sudo rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm
      
    2. 从yum安装php7.2以及必须的php插件:

      sudo yum install php72w-fpm php72w-cli php72w-curl php72w-dom php72w-gd php72w-json php72w-mbstring php72w-openssl php72w-pdo_mysql php72w-tokenizer php72w-zip -y
      
    3. 检查php是否安装成功

      php -v
      

      如果返回:

      PHP 7.2.22 (cli) (built: Sep 11 2019 18:11:52) ( NTS )
      Copyright (c) 1997-2018 The PHP Group
      Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies
      

      则表示安装成功。

    4. 修改 php-fpm 配置文件:

    sudo vim /etc/php-fpm.d/www.conf
    

    找到以下两处共四行代码并修改如下:

     user = nginx
     group = nginx
    
     listen.owner = nginx
     listen.group = nginx
    
  2. 安装composer

    1. 下载composer.phar, 如果是网络原因失败,多试几次
       curl -sS https://getcomposer.org/installer | php
    
    1. 把composer.phar移动到环境下让其变成可执行:
       mv composer.phar /usr/local/bin/composer
    
    1. 测试
       composer -v
    
    1. 修改镜像地址
       composer config -g repo.packagist composer https://packagist.phpcomposer.com
    
  3. 安装Flarum

    1. 创建一个flarum用户:

      输入“useradd flarum”并回车,添加一个名为“flarum”的帐号,默认会添加一个同名的组,并在/home新建一个同名目录

      sudo useradd flarum
      

      注意:此时帐号“flarum”处于锁定状态。

      输入“passwd flarum”并回车修改用户“flarum”密码(Linux不显示密码),需输入相同密码两次。

      passwd flarum
      
    2. 在用户的根目录中创建目录wwwroot:

      mkdir wwwroot
      
    3. 进入wwwroot目录中使用composer命令来安装flarum:

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

      不用使用管理员权限命令sudo。

    4. 完毕后修改nginx中的默认配置文件:

      sudo vim /etc/nginx/nginx.conf
      

      将server代码段下的所有代码都用#注释掉

          #server {
          #    listen       80 default_server;
          #    listen       [::]:80 default_server;
          #    server_name  _;
          #    root         /usr/share/nginx/html;
      
          #    # Load configuration files for the default server block.
          #    include /etc/nginx/default.d/*.conf;
      
          #    location / {
          #    }
      
          #    error_page 404 /404.html;
          #        location = /40x.html {
          #    }
      
          #    error_page 500 502 503 504 /50x.html;
          #        location = /50x.html {
          #    }
          #}
      

      然后在/etc/nginx/conf.d下新建一个配置文件flarum.conf内容如下:

      server {	
          listen 80;
          server_name your.website.url;
          root  /home/flarum/wwwroot/public;
          index index.php index.html;
      
      	include /home/flarum/wwwroot/.nginx.conf;
      
          location ~ \.php$ {
              fastcgi_pass   127.0.0.1:9000;
              fastcgi_index  index.php;
              fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
              include        fastcgi_params;
          }
      }
      

      配置完毕后检查配置:

      sudo nginx -t
      

      然后重新加载nginx服务器配置:

      sudo nginx -s reload
      
    5. 因为服务器的用户是nginx组也是nginx,而BBS的用户是flarum,访问flarum用户目录会被系统禁止,然后访问域名会报403(Forbiden)错误,这时候把wwwroot以及子目录public和storage的访问权限改为777即可,其中public和storage需要将目录面的所有内容修改为777需要使用参数-R:

      sudo chmod 777 wwwroot
      sudo chmod -R 777 wwwroot/public
      sudo chmod -R 777 wwwroot/storage
      
    6. 配置flarum:

      此时访问你的域名应该会出现flarum的安装界面。

      再次需要创建一个数据mysql数据库,名字叫flarum,安装需要用到,可以使用远程数据库链接工具navicat来可视化创建数据库。

    7. 安装中文包:

      使用用户flarum进入flarum根目录wwwroot:

      su flarum
      cd wwwroot
      composer require csineneo/lang-simplified-chinese
      

      中文包安装完毕后在flarum的admin界面中启用,在extension下面,启用后在语言选择界面中选择简体中文并保存。

  4. 启动相关服务

    sudo systemctl enable nginx
    sudo systemctl enable php-fpm
    
  5. 其他

    数据硬盘挂载:

    挂载命令mount:

    mount /dev/vdb /home/user/data
    

    卸载命令umount:

    umount /dev/vdb
    

    如果挂载时提示硬盘is not writenable 很可能是硬盘未进行格式化,ext4格式化命令:

    mkfs.ext4 /dev/vdb
    

    设置开机默认挂载 ,首先要查看硬盘UUID:

    blkid /dev/sdb
    /dev/sdb: UUID="b8c4a45f-ed74-3089-fcdb-0273de904d6d" TYPE="ext4" 
    

    设置开机默认挂载:

    sudo vim /etc/fstab
    

    在最后一行增加如下信息 :

    UUID=b8c4a45f-ed74-3089-fcdb-0273de904d6d      /home/user/data    ext4    defaults    1 2
    

    注意:千万不要把用户的根目录(/home/user)直接挂载到硬盘这样会破坏用户目录,导致用户不能正常登录。

  6. 邮箱配置

    以网易邮箱为例:

    Email
    
    Configure the driver, settings and addresses your forum will use to send email.
    Addresses
    
    Sender
    mail_user_name@163.com(这个必须跟Username一致不然会出奇怪的问题)
    
    Choose a Driver
    Driver
    smtp
    
    SMTP Settings
    Host
    smtp.163.com
    Port
    465
    Encryption
    ssl
    Username
    mail_user_name@163.com(这个必须跟sender一致不然会出奇怪的问题)
    Password
    SMTP的授权密码(对网易邮箱而言,这个密码不是用户密码,需要单独打开,在设置里面有一栏是STMP/POP3等设置)
    

    使用的端口是465需要在阿里云里面单独打开。

Q.E.D.

知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议