准备工作
安装composer
参考 http://docs.phpcomposer.com/00-intro.html#Globally
使用国内镜像
参考 https://pkg.phpcomposer.com/
安装
cd /data/satis
composer create-project composer/satis --stability=dev --keep-vcs
mv satis mypackages.com
cd mypackages.com
vi satis.json # 配置文件需要手动创建
配置文件如下
{
"name": "My Repository",
"homepage": "http://mypackages.com",
"repositories": [
{"type": "vcs", "url": "https://github.com/bambooleaf/reps_demo.git"}
],
"require":{
"reps_demo/helloworld":"*"
},
"archive":{
"directory":"dist",
"format":"tar",
"prefix-url":"http://mypackages.com/",
"skip-dev":true
}
}
其中部分配置的含义
repositories: 包的存储路径,这里可以是内网
require:具体的包的名称,后面的版本号实际就是git里的tag 。也可以直接使用 require-all:true 的配置获取全部。
archive:下载远端项目到本地存储,会自动生成tar包保存在dist里,可以加快后续composer的速度。
PS:如果git使用的是ip访问,需要设置
composer config -g secure-http false
再PS:如果设置了archive,对于nginx用户请注意nginx用户与php-fpm的执行用户相同,否则会导致下载tar包无效
生成
php bin/satis build satis.json public/
一般出问题的话都是目录的权限问题
配置nginx
server {
listen 80;
server_name mypackages.com;
root /data/satis/mypackages.com/public;
index index.php index.html;
access_log /var/log/nginx/mypackages.com.log main;
error_log /var/log/nginx/mypackages.com.log.err debug;
rewrite_log on;
location ~* \.php$ {
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_pass unix:/var/run/php-cgi.sock;
fastcgi_index index.php;
}
location = /favicon.ico {
log_not_found off;
access_log off;
}
}
成功后会出现这样的页面
访问页面
使用
在自己项目中的composer.json中添加如下
"repositories":[
{"type&quo
.........................................................