当前位置: 首页 > news >正文

OpenEuler学习笔记(三十二):在OpenEuler上搭建项目管理平台

在这里插入图片描述

在OpenEuler上搭建一个支持网页和手持访问、且支持用户功能自定义的项目管理平台,可以选择多种开源工具。以下是基于 Redmine 的搭建方案,Redmine 是一个灵活的项目管理工具,支持网页和移动端访问,并且可以通过插件扩展功能。

1. 环境准备

确保你的OpenEuler系统已经安装并配置好以下环境:

  • Ruby:Redmine 是基于 Ruby 开发的。
  • MySQL/PostgreSQL:用于存储数据。
  • Apache/Nginx:作为Web服务器。
  • Passenger:用于部署Ruby应用。
1.1 安装依赖
sudo dnf install -y ruby ruby-devel mysql-devel postgresql-devel curl gcc make
1.2 安装数据库

选择 MySQL 或 PostgreSQL 作为数据库:

# 安装 MySQL
sudo dnf install -y mysql-server mysql-devel
sudo systemctl start mysqld
sudo systemctl enable mysqld

# 或者安装 PostgreSQL
sudo dnf install -y postgresql-server postgresql-devel
sudo postgresql-setup --initdb
sudo systemctl start postgresql
sudo systemctl enable postgresql
1.3 安装 Web 服务器
# 安装 Apache
sudo dnf install -y httpd
sudo systemctl start httpd
sudo systemctl enable httpd

# 或者安装 Nginx
sudo dnf install -y nginx
sudo systemctl start nginx
sudo systemctl enable nginx
1.4 安装 Passenger

Passenger 是一个用于部署 Ruby 应用的服务器。

sudo dnf install -y passenger passenger-devel

在这里插入图片描述

2. 安装和配置 Redmine

2.1 下载 Redmine
wget https://www.redmine.org/releases/redmine-5.0.0.tar.gz
tar -xvzf redmine-5.0.0.tar.gz
sudo mv redmine-5.0.0 /var/www/redmine
2.2 配置数据库

在 MySQL 或 PostgreSQL 中创建数据库和用户:

# MySQL
mysql -u root -p
CREATE DATABASE redmine CHARACTER SET utf8mb4;
CREATE USER 'redmine'@'localhost' IDENTIFIED BY 'your_password';
GRANT ALL PRIVILEGES ON redmine.* TO 'redmine'@'localhost';
FLUSH PRIVILEGES;
EXIT;

# PostgreSQL
sudo -u postgres psql
CREATE DATABASE redmine;
CREATE USER redmine WITH PASSWORD 'your_password';
GRANT ALL PRIVILEGES ON DATABASE redmine TO redmine;
\q
2.3 配置 Redmine

编辑 /var/www/redmine/config/database.yml 文件,配置数据库连接:

production:
  adapter: mysql2  # 或者 postgresql
  database: redmine
  host: localhost
  username: redmine
  password: "your_password"
  encoding: utf8
2.4 安装依赖
cd /var/www/redmine
sudo gem install bundler
bundle install --without development test
2.5 初始化数据库
bundle exec rake db:migrate RAILS_ENV=production
bundle exec rake redmine:load_default_data RAILS_ENV=production
2.6 设置权限
sudo chown -R apache:apache /var/www/redmine
sudo chmod -R 755 /var/www/redmine

3. 配置 Web 服务器

3.1 配置 Apache

编辑 /etc/httpd/conf.d/redmine.conf 文件:

<VirtualHost *:80>
    ServerName your_domain.com
    DocumentRoot /var/www/redmine/public

    <Directory /var/www/redmine/public>
        AllowOverride All
        Options -MultiViews
        Require all granted
    </Directory>

    ErrorLog /var/log/httpd/redmine_error.log
    CustomLog /var/log/httpd/redmine_access.log combined
</VirtualHost>

重启 Apache:

sudo systemctl restart httpd
3.2 配置 Nginx

编辑 /etc/nginx/conf.d/redmine.conf 文件:

server {
    listen 80;
    server_name your_domain.com;

    root /var/www/redmine/public;
    passenger_enabled on;

    error_log /var/log/nginx/redmine_error.log;
    access_log /var/log/nginx/redmine_access.log;
}

重启 Nginx:

sudo systemctl restart nginx

在这里插入图片描述

4. 访问 Redmine

在浏览器中访问 http://your_domain.com,你应该能够看到 Redmine 的登录页面。默认管理员账号为 admin,密码为 admin

5. 支持手持设备访问

Redmine 默认支持响应式设计,可以在移动设备上访问。如果需要更好的移动端体验,可以安装移动端插件或使用第三方移动客户端。

6. 用户功能自定义

Redmine 支持通过插件扩展功能,你可以通过以下步骤安装插件:

  1. 下载插件并放置在 /var/www/redmine/plugins 目录。
  2. 运行以下命令安装插件:
    bundle install --without development test
    bundle exec rake redmine:plugins:migrate RAILS_ENV=production
    
  3. 重启 Web 服务器。

7. 其他注意事项

  • 安全性:确保配置好防火墙和 SSL 证书。
  • 备份:定期备份数据库和 Redmine 文件。
  • 性能优化:根据项目规模调整服务器配置和数据库优化。

通过以上步骤,你可以在 OpenEuler 上成功搭建一个支持网页和手持访问、且支持用户功能自定义的项目管理平台。

相关文章:

  • django静态文件配置
  • Neo4j OGM学习和体验
  • Linux中安装open-webui报sqlite版本低的解决办法
  • 【React组件通讯双重视角】函数式 vs 类式开发指南
  • 第二章:基础概念精讲 - 第二节 - Tailwind CSS 颜色系统和主题定制
  • 什么是环形分区光源
  • Edge浏览器清理主页
  • 【漫话机器学习系列】092.模型的一致性(Consistency of a Model)
  • 4.SpringSecurity在分布式环境下的使用
  • ai智能电话机器人话术处理,呼叫系统部署语音话术设置
  • 《DeepSeek R1:7b 写一个python程序调用摄像头获取视频并显示》
  • 标贝科技参编国内首个AIGC大模型功能测试标准
  • 反向代理模块
  • 蓝桥杯(B组)-每日一题
  • DeepSeek R1 671b 满血版部署笔记
  • hbase快照同步到目标集群出现ERROR Multiple regions have the same startkey问题分析
  • Django学习笔记(第一天:Django基本知识简介与启动)
  • 仿 RabbitMQ 消息队列5(实战项目)
  • Pycharm中通过Anaconda虚拟环境创建项目
  • Lean 工具链教程 | Lake elan
  • 被央视曝光“废旧厂区沦为垃圾山”,江西萍乡成立调查组查处
  • 乌称苏梅州一公共汽车遭俄军袭击,致9死4伤
  • 上海交大曾小勤:科技传播不应停留于知识搬运,要做科学思维的播种机
  • 新华时评:博物馆正以可亲可近替代“高冷范儿”
  • 习近平就乌拉圭前总统穆希卡逝世向乌拉圭总统奥尔西致唁电
  • 九江宜春领导干部任前公示,3人拟提名为县(市、区)长候选人