首页
/ Academic/VIPA 项目安装与配置指南

Academic/VIPA 项目安装与配置指南

2025-06-11 12:36:42作者:舒璇辛Bertina

前言

Academic/VIPA 是一个面向学术出版的开源期刊管理系统,本文将详细介绍在 Ubuntu 服务器上安装和配置 VIPA 系统的完整流程。作为技术专家,我将从系统环境准备、依赖安装到最终配置,为您提供全面的指导。

系统环境准备

服务器连接注意事项

在开始安装前,请注意 SSH 连接稳定性问题。由于部分安装步骤耗时较长,建议:

  1. 调整本地 SSH 客户端配置,增加连接保持时间
  2. 考虑使用 screentmux 等终端复用工具
  3. 确保网络连接稳定

域名配置要求

VIPA 系统在创建 cookies 时需要有效的域名。如果您使用测试域名(非正式注册的 .com 等域名),需要修改本地系统解析文件将域名指向服务器 IP。

依赖软件安装

Java 环境配置

sudo add-apt-repository -y ppa:webupd8team/java
sudo apt-get update 
sudo apt-get -y install oracle-java8-installer

Elasticsearch 安装

wget -qO - https://packages.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add -
echo "deb http://packages.elastic.co/elasticsearch/1.7/debian stable main" | sudo tee -a /etc/apt/sources.list.d/elasticsearch-1.7.list
sudo apt-get update
sudo apt-get -y install elasticsearch

sudo update-rc.d elasticsearch defaults 95 10
sudo service elasticsearch restart

数据库安装

sudo apt-get install -y postgresql git

PHP 7 环境

LC_ALL=C.UTF-8 add-apt-repository ppa:ondrej/php -y
apt-get update

apt-get install -y --force-yes php7.0-cli php7.0-dev \
php-pgsql php-sqlite3 php-gd php-apcu php7.0-curl php7.0-mcrypt \
php-imap php7.0-gd php-memcached php7.0-pgsql php7.0-readline \
php-xdebug php-mbstring php7.0-xml php7.0-zip php7.0-intl php7.0-bcmath

Composer 安装

curl -sS https://getcomposer.org/installer | php
mv composer.phar /usr/local/bin/composer

PHP 配置优化

sudo sed -i "s/error_reporting = .*/error_reporting = E_ALL/" /etc/php/7.0/cli/php.ini
sudo sed -i "s/display_errors = .*/display_errors = On/" /etc/php/7.0/cli/php.ini
sudo sed -i "s/memory_limit = .*/memory_limit = 512M/" /etc/php/7.0/cli/php.ini
sudo sed -i "s/;date.timezone.*/date.timezone = UTC/" /etc/php/7.0/cli/php.ini

Nginx 与 PHP-FPM

apt-get install -y --force-yes nginx php7.0-fpm

# 清理默认配置(如无其他网站)
rm /etc/nginx/sites-enabled/default
rm /etc/nginx/sites-available/default
service nginx restart

数据库配置

su - postgres
psql -d template1 -U postgres

CREATE USER vipa WITH PASSWORD 'vipa';
CREATE DATABASE vipa;
GRANT ALL PRIVILEGES ON DATABASE vipa to vipa;
\q

su
cd $OLDPWD

前端工具安装

sudo apt-get -y install nodejs nodejs-legacy
sudo apt-get -y install npm
sudo npm install -g bower

VIPA 系统安装

获取最新代码

sudo mkdir -p /var/www
sudo chown -R www-data:www-data /var/www

sudo su -s /bin/bash www-data
cd /var/www

rm -rf html  # 如无其他网站

git clone https://github.com/academic/vipa.git
cd vipa

依赖安装与配置

执行以下命令时,Composer 可能会要求 GitHub 访问令牌。您可以选择不提供,但需要手动确认每次尝试。

composer update -vvv -o
bower update
php app/console assets:install web --symlink
php app/console assetic:dump
php app/console doctrine:schema:drop --force
php app/console doctrine:schema:create
php app/console vipa:install
php app/console vipa:install:samples

安装向导将要求提供以下参数:

  • 数据库参数(使用之前创建的配置)
    • database_driver (默认 pdo_pgsql)
    • database_host (默认 127.0.0.1)
    • database_port (默认 5432)
    • database_name (默认 vipa)
    • database_user (默认 vipa)
    • database_password (默认 vipa)
  • base_host:您的域名

可选安装初始数据:

php app/console vipa:install:initial-data

Nginx 配置

创建配置文件 /etc/nginx/sites-available/vipa

server {
    listen 80;
    server_name vipa.prod www.vipa.prod local.vipa.prod *.vipa.prod;
    client_max_body_size 1024M;

    root /var/www/vipa/web;

    rewrite ^/app.php?(.*)$ /$1 permanent;

    try_files $uri @rewriteapp;
    location @rewriteapp {
        rewrite ^(.*)$ /app.php/$1 last;
    }
    
    location ~ ^/(app|config)\.php(/|$) {
        fastcgi_pass            127.0.0.1:9000;
        fastcgi_buffer_size     16k;
        fastcgi_buffers         4 16k;
        fastcgi_split_path_info ^(.+\.php)(/.*)$;
        include                 fastcgi_params;
        fastcgi_param           SCRIPT_FILENAME     $document_root$fastcgi_script_name;
        fastcgi_param           HTTPS               off;
    }
}

server {
    listen 80;
    server_name vipa.dev www.vipa.dev local.vipa.dev *.vipa.dev;
    client_max_body_size 1024M;

    root /var/www/vipa/web;

    rewrite ^/app_dev.php?(.*)$ /$1 permanent;

    try_files $uri @rewriteapp;

    location @rewriteapp {
        rewrite ^(.*)$ /app_dev.php/$1 last;
    }

    location ~ ^/(app|app_dev|app_local|config)\.php(/|$) {
        fastcgi_pass            127.0.0.1:9000;
        fastcgi_buffer_size     16k;
        fastcgi_buffers         4 16k;
        fastcgi_split_path_info ^(.+\.php)(/.*)$;
        include                 fastcgi_params;
        fastcgi_param           SCRIPT_FILENAME     $document_root$fastcgi_script_name;
        fastcgi_param           HTTPS               off;
    }
}

重启 Nginx 服务:

service nginx restart

扩展功能安装

在 VIPA 项目目录下执行:

# 引用功能包
app/console vipa:install:package citation

故障排查

如果遇到问题(如空白页面),请检查以下日志:

  1. VIPA 应用日志:app/log 目录
  2. Nginx 错误日志:通常位于 /var/log/nginx/error.log
  3. PHP-FPM 日志:通常位于 /var/log/php7.0-fpm.log

通过以上步骤,您应该已经成功安装并配置了 Academic/VIPA 系统。如需进一步定制或遇到特殊问题,建议参考官方文档或社区支持资源。

登录后查看全文
热门项目推荐

项目优选

收起
ohos_react_nativeohos_react_native
React Native鸿蒙化仓库
C++
178
262
RuoYi-Vue3RuoYi-Vue3
🎉 (RuoYi)官方仓库 基于SpringBoot,Spring Security,JWT,Vue3 & Vite、Element Plus 的前后端分离权限管理系统
Vue
866
513
openGauss-serveropenGauss-server
openGauss kernel ~ openGauss is an open source relational database management system
C++
129
183
openHiTLSopenHiTLS
旨在打造算法先进、性能卓越、高效敏捷、安全可靠的密码套件,通过轻量级、可剪裁的软件技术架构满足各行业不同场景的多样化要求,让密码技术应用更简单,同时探索后量子等先进算法创新实践,构建密码前沿技术底座!
C
265
305
HarmonyOS-ExamplesHarmonyOS-Examples
本仓将收集和展示仓颉鸿蒙应用示例代码,欢迎大家投稿,在仓颉鸿蒙社区展现你的妙趣设计!
Cangjie
398
371
CangjieCommunityCangjieCommunity
为仓颉编程语言开发者打造活跃、开放、高质量的社区环境
Markdown
1.07 K
0
ShopXO开源商城ShopXO开源商城
🔥🔥🔥ShopXO企业级免费开源商城系统,可视化DIY拖拽装修、包含PC、H5、多端小程序(微信+支付宝+百度+头条&抖音+QQ+快手)、APP、多仓库、多商户、多门店、IM客服、进销存,遵循MIT开源协议发布、基于ThinkPHP8框架研发
JavaScript
93
15
note-gennote-gen
一款跨平台的 Markdown AI 笔记软件,致力于使用 AI 建立记录和写作的桥梁。
TSX
83
4
cherry-studiocherry-studio
🍒 Cherry Studio 是一款支持多个 LLM 提供商的桌面客户端
TypeScript
598
57
GitNextGitNext
基于可以运行在OpenHarmony的git,提供git客户端操作能力
ArkTS
10
3