packagist.org网站镜像代码

Jordi Boggiano 9ec4323d37 Tweak algolia indexing, implement json search API, add faceting, etc 7 lat temu
app cae3f11c0e Pass Algolia config to JS 7 lat temu
bin f62587831a update to Symfony 2.1 12 lat temu
doc d13fd5c874 Push exact package_name match to top of results in search 8 lat temu
src 9ec4323d37 Tweak algolia indexing, implement json search API, add faceting, etc 7 lat temu
web 9ec4323d37 Tweak algolia indexing, implement json search API, add faceting, etc 7 lat temu
.gitignore 5ae0c04d33 Add cs cache to gitignore 9 lat temu
.travis.yml 29a654bb78 Remove 5.6 build on travis 8 lat temu
LICENSE 4c7b8e0226 Initial commit 13 lat temu
README.md bf173b3285 Update README.md (#772) 8 lat temu
composer.json 77fab710c4 Add Algolia client dependency 7 lat temu
composer.lock 9ec4323d37 Tweak algolia indexing, implement json search API, add faceting, etc 7 lat temu
phpunit.xml.dist b6588d10de Deps update and fix deprecated stuff 9 lat temu

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. Edit app/config/parameters.yml and change 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. Run app/console cache:warmup --env=prod and app/console cache:warmup --env=prod to warmup cache
  7. 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 3.6, 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.