部署flarum新环境
1. LNMP环境: 安装好mariadb, nginx, php
nala update
nala upgrade
nala install nginx <span class="hljs-comment">#安装Nginx</span>
systemctl start nginx <span class="hljs-comment">#启动服务</span>
systemctl <span class="hljs-built_in">enable</span> nginx <span class="hljs-comment">#开机启动</span>
nala install mariadb-server
<span class="hljs-comment"># nala install mysql-server # Debian新版本已经遗弃mysql</span>
systemctl start mariadb
systemctl <span class="hljs-built_in">enable</span> mariadb <span class="hljs-comment">#开机启动</span>
mysql_secure_installation <span class="hljs-comment">#初始化基本安全设置</span>
<span class="hljs-comment"># 输入密码/设置密码/删除匿名用户/禁用远程root登录/删除test数据库及权限/重载权限表</span>
nala install php php-cli php-fpm php-json php-common php-mysql php-zip php-gd php-mbstring php-curl php-xml php-bcmath php-json
数据库密码默认为空, 该处设置成ha**y1**4
执行完上面命令默认会安装 apache2, 可以手动删除nala purge apache2
2. 创建Mariadb数据库和用户
登录mariadb: mysql -u root -p
, 输入数据库 root 密码ha**y1**4
;
创建一个新的数据库flarumdb
, 用户flarum
及密码password
.
CREATE DATABASE flarumdb CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE USER 'flarum'@'localhost' IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON flarumdb.* TO 'flarum'@'localhost';
FLUSH PRIVILEGES;
EXIT;
3. 安装Composer
Composer 是一个 PHP 依赖管理工具,我们将使用它来安装 Flarum。运行以下命令来安装 Composer:
curl -sS https://getcomposer.org/installer | php <span class="hljs-comment"># 下载installer.php, 不保存, 直接用php运行</span>
<span class="hljs-built_in">mv</span> composer.phar /usr/local/bin/composer <span class="hljs-comment"># 把上调命令生成的 composer 移动到 系统目录(所有用户可用)</span>
composer --version <span class="hljs-comment">#版本</span>
composer -v <span class="hljs-comment">#详细使用</span>
4. 创建Flarum项目及权限设置
在指定的目录中存储 Flarum 项目(网站目录):
<span class="hljs-built_in">mkdir</span> -p /var/www/flarum <span class="hljs-comment"># 创建目录, 及parent目录(如需);</span>
<span class="hljs-built_in">chown</span> -R yaro:yaro /var/www/flarum <span class="hljs-comment">#改变用户及用户组为yaro, falrum不建议以root用户执行</span>
<span class="hljs-built_in">chmod</span> u+rw /var/www/flarum <span class="hljs-comment"># 给user(yaro)添加对该目录的读写权限</span>
<span class="hljs-built_in">cd</span> /var/www/flarum <span class="hljs-comment">#进入flarum目录</span>
nala install unzip <span class="hljs-comment">#安装unzip, 安装flarum中会提示需要unzip</span>
<span class="hljs-comment"># 不需要使用composer创建flarum项目, 直接把原网站备份文件解压到/var/www/;</span>
<span class="hljs-comment"># sudo -u yaro composer create-project flarum/flarum . #使用yaro安装flarum, sudu不能省略(即使是root用户, 否则语法错误)</span>
<span class="hljs-built_in">chmod</span> -R o+w /var/www/flarum <span class="hljs-comment"># 如果出现问题, 记得修改网站目录权限;</span>
5. 配置 Nginx
为了使 Nginx 识别 Flarum 项目,你需要创建一个虚拟主机配置文件。首先,创建一个新的配置文件:
vim /etc/nginx/sites-available/flarum.conf
将以下内容粘贴到配置文件中。确保替换 192.168.47.131
为你的域名或服务器 IP 地址。
<span class="hljs-section">server</span> {
<span class="hljs-attribute">listen</span> <span class="hljs-number">81</span>;
<span class="hljs-attribute">server_name</span> <span class="hljs-number">127.0.0.1</span>;
<span class="hljs-attribute">root</span> /var/www/flarum/public;
<span class="hljs-attribute">index</span> index.php;
<span class="hljs-section">location</span> / {
<span class="hljs-attribute">try_files</span> <span class="hljs-variable">$uri</span> <span class="hljs-variable">$uri</span>/ /index.php?<span class="hljs-variable">$query_string</span>;
}
<span class="hljs-section">location</span> <span class="hljs-regexp">~ \.php$</span> {
<span class="hljs-attribute">include</span> fastcgi_params;
<span class="hljs-attribute">fastcgi_param</span> SCRIPT_FILENAME <span class="hljs-variable">$document_root</span><span class="hljs-variable">$fastcgi_script_name</span>;
<span class="hljs-attribute">fastcgi_pass</span> unix:/run/php/php8.2-fpm.sock; <span class="hljs-comment"># 根据你的 PHP 版本选择正确的版本</span>
}
}
保存并关闭配置文件。然后启用该虚拟主机配置文件,并重新加载 Nginx:
<span class="hljs-built_in">ln</span> -s /etc/nginx/sites-available/flarum.conf /etc/nginx/sites-enabled/ <span class="hljs-comment">#创建软连接</span>
nginx -t <span class="hljs-comment">#测试配置是否正确</span>
systemctl reload nginx <span class="hljs-comment">#重新加载配置文件</span>