packagist.org网站镜像代码

Jordi Boggiano f81d8bec4d Add notifications for failed package updates, fixes #126 12 年之前
app f81d8bec4d Add notifications for failed package updates, fixes #126 12 年之前
bin f62587831a update to Symfony 2.1 12 年之前
doc 85a2349546 added type to solr index and added type query-param for search action 12 年之前
src f81d8bec4d Add notifications for failed package updates, fixes #126 12 年之前
web a278062f17 Show dl and fav counts on package listings 12 年之前
.gitignore 6411da529d Ignore bin dir 12 年之前
LICENSE 4c7b8e0226 Initial commit 13 年之前
README.md 3cbeb02498 Add mark as favorite feature 12 年之前
composer.json ca783a4406 Allow forcing SSL for every page via the force_ssl parameter 12 年之前
composer.lock 8dfcab3a19 Update deps 12 年之前
phpunit.xml.dist 6fcd50600a Fix phpunit config 13 年之前

README.md

Packagist

Package Repository Website for Composer, see the about page on packagist.org for more.

Requirements

  • MySQL for the main data store
  • Redis for some functionality (favorites, download statistics)
  • Solr for search
  • git/svn/hg depending on which repositories you want to support

Installation

  1. Clone the repository
  2. Copy app/config/parameters.yml.dist to app/config/parameters.yml and edit the relevant values for your setup.
  3. Install dependencies: php composer.phar install
  4. Run app/console doctrine:schema:create to setup the DB.
  5. Run app/console assets:install web to deploy the assets on the web dir.
  6. Make a VirtualHost with DocumentRoot pointing to web/

You should now be able to access the site, create a user, etc.

Setting up search

The search index uses Solr, so you will have to install that on your server. If you are running it on a non-standard host or port, you will have to adjust the configuration. See the NelmioSolariumBundle for more details.

You will also have to configure Solr. Use the schema.xml provided in the doc/ directory for that.

To index packages, just run app/console packagist:index. It is recommended to set up a cron job for this command, and have it run every few minutes.

Day-to-Day Operation

There are a few commands you should run periodically (ideally set up a cron job running every minute or so):

app/console packagist:update --no-debug --env=prod
app/console packagist:dump --no-debug --env=prod
app/console packagist:index --no-debug --env=prod

The latter is optional and only required if you are running a solr server.