同一服务器空间下如何同时运行CodeIgniter 4与Flarum?
同一空间下运行CodeIgniter 4与Flarum的配置方案
1. 安装Flarum到指定子目录
进入你的httpdocs目录,执行Composer命令将Flarum安装到forum子目录:
composer create-project flarum/flarum forum --stability=stable
注:如果需要测试beta版本,可将
--stability=stable替换为--stability=beta
2. 配置Web服务器
Nginx 配置
修改站点配置文件,添加/forum路径的转发规则,确保请求指向Flarum的public目录:
server { listen 80; server_name domain.tld; root /实际路径/httpdocs; # CodeIgniter 4 主站规则 location / { try_files $uri $uri/ /index.php$is_args$args; } # Flarum 论坛规则 location /forum { alias /实际路径/httpdocs/forum/public; try_files $uri $uri/ /forum/index.php$is_args$args; location ~ \.php$ { fastcgi_pass unix:/var/run/php/phpX.X-fpm.sock; # 替换为你的PHP-FPM路径 fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $request_filename; include fastcgi_params; } } # 通用PHP处理(主站已配置可省略) location ~ \.php$ { fastcgi_pass unix:/var/run/php/phpX.X-fpm.sock; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; } }
替换/实际路径/httpdocs为你的真实目录,phpX.X对应服务器上的PHP版本,配置完成后重启Nginx。
Apache 配置
确保mod_rewrite模块已启用,然后修改httpdocs目录下的.htaccess,添加Flarum的转发规则:
RewriteEngine On # CodeIgniter 4 主站规则 RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.*)$ index.php/$1 [L] # Flarum 论坛转发规则 RewriteRule ^forum/(.*)$ forum/public/$1 [L]
保留forum/public目录下Flarum自带的.htaccess文件,无需修改,之后重启Apache。
3. 调整Flarum核心配置
编辑forum/config.php文件,设置正确的访问URL:
'url' => 'https://domain.tld/forum',
同时确认数据库连接、邮箱等配置项无误,保证Flarum能正常初始化。
4. 设置目录权限
给Flarum的必要目录分配读写权限,确保PHP进程能正常操作:
chown -R www-data:www-data forum/storage forum/public/assets chmod -R 755 forum/storage forum/public/assets
替换www-data为你的服务器运行用户(如apache或nginx)。
5. 验证运行
分别访问domain.tld确认CodeIgniter 4正常运行,再访问domain.tld/forum检查Flarum是否能正常加载安装向导或首页。
内容的提问来源于stack exchange,提问作者flth
相关产品推荐
相关产品推荐

