PackVault 是一款 PHP 私有包管理面板,目前支持 Github 和 Gitee,理論上可以支持所有 git 協(xié)議平臺。
packvault 可以給個 star? 支持下,如果遇到問題也可以 issue 反饋
如果你有管理保護自己的 composer 包的需求,可以使用它。
#私有包存儲域名
PACKVAULT_DOMAIN=
#是否使用廣播,默認不使用。如果使用廣播,需要配置 reverb,項目自動安裝了 reverb
PACKVAULT_USE_BROADCAST=
REVERB_APP_ID=
REVERB_APP_KEY=
REVERB_APP_SECRET=
REVERB_HOST="127.0.0.1"
REVERB_PORT=8001
REVERB_SCHEME=http
REVERB_SERVER_PATH=
#Github配置
GITHUB_CLIENT_ID=
GITHUB_CLIENT_SECRET=
GITHUB_CALLBACK=
#Gitee配置
GITEE_CLIENT_ID=
GITEE_CLIENT_SECERT=
GITEE_CALLBACK=
# Gitea 配置(暫時保留)
GITEA_CLIENT_ID==
GITEA_CLIENT_SECERT=
# Gitea域名,Gitea 一般都是 self host,所以這里配置平臺域名就可以了
GITEA_INSTANCE_URI=
composer install
npm install
php artisan migrate
php artisan db:seed
php artisan key:generate
# 啟動本地開發(fā)命令
composer run dev
# 啟動本地隊列,啟動下面的命令
php artisan queue:listen --timeout=3000
# 如果配置好了 Reverb,本地配置啟動下面的命令
php artisan reverb:start --host="127.0.0.1" --port="8001" --debug
記得修改默認登錄用戶
由于 Gitee 的限制,需要定時重新獲取 Gitee 的 Access token,所以需要重新獲取
* * * * * cd /path-to-your-project && php artisan schedule:run >> /dev/null 2>&1
server
{
listen 443 ssl http2;
server_name 你的域名;
index index.html index.php index.htm default.php default.htm default.html;
root /你的項目/public;
ssl_certificate 你的證書 pem; # pem文件的路徑
ssl_certificate_key 你的證書 key; # key文件的路徑
# ssl驗證相關(guān)配置
ssl_session_timeout 5m; #緩存有效期
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4:!DH:!DHE;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2 TLSv1.3;
ssl_prefer_server_ciphers on;
# 這里根據(jù)實際訪問 URL 配置,這里只是一個示例
location ~ ^/packvault {
# config('packvault.path') 目錄,用來訪問包的
alias /你的項目/storage/packvault;
index index.html index.php index.htm default.php default.htm default.html;
try_files $uri $uri/index.html =404;
}
# reverb 配置
location ~ ^/apps? {
proxy_http_version 1.1;
proxy_set_header Host $http_host;
proxy_set_header Scheme $scheme;
proxy_set_header SERVER_PORT $server_port;
proxy_set_header REMOTE_ADDR $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "Upgrade";
# 轉(zhuǎn)發(fā)到 reverb 配置的端口
proxy_pass reverb:端口;
}
location / {
try_files $uri $uri/ /index.php?$query_string;
}
# PHP 支持
location ~ \.php$ {
try_files $uri /index.php =404;
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
# 可選:防止訪問敏感文件
location ~* \.(env|log|git) {
deny all;
return 404;
}
access_log /var/log/nginx/xxxx_access.log;
error_log /var/log/nginx/xxxx_error.log;
}
{
"repositories": [
{
"type": "composer",
"url": "你的域名/packvault", // 這個根據(jù) nginx 配置實際修改
"only-dist": true,
"options": {
"ssl": {
"verify_peer": false,
"verify_peer_name": false
}
}
}
]
}
這個厲害,值得學(xué)習(xí)