搭建私有 Packagist 管理 Composer 扩展包
安装⌗
Packagist 这个项目是基于 Symfony 开发的。
准备工作⌗
- PHP Web 运行环境
- Symfony CLI
- MySQL 数据库
- Redis
- Git
安装⌗
git clone [email protected]:composer/packagist.git
创建数据库⌗
创建一个名为 packagist 的数据库。
安装依赖⌗
composer install
修改配置文件⌗
编辑项目下的 app/config/parameters.yml 文件,然后根据自己的实际环境修改。
# This file is auto-generated during the composer install
parameters:
database_driver: pdo_mysql
database_host: 127.0.0.1
database_name: packagist
database_user: root
database_password: Password
database_name_test: packagist_test
mailer_transport: null
mailer_host: localhost
mailer_user: null
mailer_password: null
mailer_from_email: [email protected]
mailer_from_name: 'Admin Team'
mailer_encryption: tls
mailer_auth_mode: login
redis_dsn: 'redis://localhost/1'
redis_dsn_test: 'redis://127.0.0.1/14'
redis_session_dsn: 'redis://localhost/2'
locale: en
google_analytics:
ga_key: null
github.client_id: CHANGE_ME_IN_PROD
github.client_secret: CHANGE_ME_IN_PROD
github.webhook_secret: CHANGE_ME_IN_PROD
validation_cache_backend: null
doctrine_cache_backend: array
secret: CHANGE_ME_IN_PROD
remember_me.secret: CHANGE_ME_IN_PROD
force_ssl: false
trusted_hosts: null
algolia.app_id: CHANGE_ME
algolia.admin_key: CHANGE_ME
algolia.search_key: CHANGE_ME
algolia.index_name: packagist
创建数据表⌗
app/console doctrine:schema:create
添加定时任务⌗
在 CRON Job 中添加如下命令,这个命令用来更新扩展包的信息。
app/console packagist:run-workers
运行服务⌗
symfony serve
I hope this is helpful, Happy hacking…