# iHarbor-s3 **Repository Path**: cstcloud-cnic/iharbor-s3 ## Basic Information - **Project Name**: iHarbor-s3 - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2021-11-19 - **Last Updated**: 2022-09-22 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README ## 1 环境搭建(CentOS9) ### 1.1 安装Git,拉取代码 ``` https://gitee.com/gosc-cnic/iharbor-s3.git ``` ### 1.2 安装python虚拟环境和包管理工具pipenv 1. 安装 pipenv工具 ```pip install pipenv``` 2. 搭建虚拟环境(在代码工程根目录下,即文件Pipfile同目录下运行命令) ```pipenv install``` 3. 如果不使用虚拟环境,直接安装依赖包: ``` pip install -r requirements.txt ``` ### 1.3 数据库安装 1. 请自行安装mysql数据库。 2. 数据库配置请阅读第1.5小结。 ### 1.4 ceph配置和依赖库安装 1. 安装python3-rados包 ``` dnf install python3-rados.x86_64 ``` 2. 默认安装到(/usr/lib64/python3.9/site-packages/)路径下。 ``` rados.cpython-39-x86_64-linux-gnu.so rados-2.0.0-py3.9.egg-info ``` 3. 如果使用虚拟环境,需要将第二步的文件复制到虚拟环境中*/site-packages/下。 ### 1.5 重要配置文件(一些安全敏感信息可以在此配置) 1. 目录s3server下添加security.py文件(security.py文件在settings.py文件最后会被导入,自己的情况修改文件中有关数据库的配置)。 例如:mysql配置 2. 必须配置 MULTIPART_POOL_CONF , 1. MULTIPART_POOL_CONF 结构: ``` 对象存储后端配置ceph集群的别名:{ 'MULTIPART_POOL_NAME': '存储池' } ...... 注意: 1. 该存储池不能于后端配置ceph集群的存储池重合; 2. 该存储池必须存在于该配置的存储池内; 3. 对象存储后端ceph集群配置有几个配置,该部分配置也一个也不能少。 4. 在系统初始启动前需要对服务检查 python manage.py check --deploy ,报错就需要修改。 ``` 例如: ``` MULTIPART_POOL_CONF = { # 对象存储中配置的集群,这里必须有对应的配置。 'default': { 'MULTIPART_POOL_NAME': 'obstest2', }, 'ceph2': { 'MULTIPART_POOL_NAME': 'obstest2', } } ``` ## 2 运行 ### 2.1 激活python虚拟环境 ```pipenv shell``` ### 2.2 运行服务 在代码工程根目录下,即文件Pipfile同目录下运行命令: ```python manage.py runserver {HOST}:{PORT}```