为了避免安装PHP及composer环境,本文档使用docker容器进行搭建
docker pull composer/satis \
&& mkdir -p /data/www/satis && cd /data/www/satis \
&& wget https://getcomposer.org/download/1.10.6/composer.phar \
&& mv composer.phar composer \
&& chmod u+x composer \
&& touch satis.json \
&& touch auth.json
# satis.json
{
"name": "io/soon",
"homepage": "http://pks.iosoon.cn",
"repositories": [
{ "type": "vcs", "url": "https://username:[email protected]/soonio/pks" }
],
"require": {
"soonio/pks": "*"
}
}
# auth.json
{ "github-oauth": { "github.com": "a secret key" } }
-
运行容器
# 其中composer是缓存目录,也可以不映射,不保留缓存 docker run --rm --init -it \ --user $(id -u):$(id -g) \ -v /data/www/satis:/build/ \ -v /data/www/satis/composer:/composer \ composer/satis build /build/satis.json /build/dist
如果运行失败就多尝试几次,有时候github会抽风,拒绝链接
-
然后在宿主机器中查看输出的文件
[root@demo pks]# ll total 12 drwxr-xr-x 3 root root 4096 May 8 19:26 composer drwxr-xr-x 4 root root 4096 May 8 19:34 pks.iosoon.cn -rw-r--r-- 1 root root 215 May 8 19:05 satis.json
其中pks.iosoon.cn就是我们的静态文件
-
创建nginx虚拟主机配置
server { listen 80; listen 81; server_name pks.iosoon.cn; access_log /var/log/nginx/pks.iosoon.cn.log; root /data/www/satis/dist; index index.html; auth_basic "please entey yours username and password."; auth_basic_user_file /etc/nginx/conf.d/httppwd; location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$ { expires 30d; } location ~ .*\.(js|css)?$ { expires 12h; } location ~ /\. { deny all; } }
文中
/etc/nginx/conf.d/httppwd
可以使用命令生成
yum install httpd-tools -y && htpasswd -c -d /etc/nginx/conf.d/httppwd username
需要手动生成输入密码,username和密码在直接访问pks.iosoon.cn或者composer require私有库的时候使用
-
在与composer.json同级目录下新增auth.json
{ "http-basic": { "pks.iosoon.cn": { "username": "username", "password": "12345678" } } }
- composer.json中增加
```json
"repositories": [{
"type": "composer",
"url": "http://pks.iosoon.cn"
}]
!> 注意,上文使用的是基于http的私有库,需要添加composer配置
```json
"config": {
"secure-http": false
}
```
-
composer 安装
composer require soonio/pks