Verdaccio是一个NPM私有服务器。
启动Docker镜像 Docker Compose配置文件:
version: "3" services: verdaccio: image: verdaccio/verdaccio environment: - VERDACCIO_PORT=4873 ports: - 4873:4873 volumes: - /data/verdaccio/conf:/verdaccio/conf - /data/verdaccio/storage:/verdaccio/storage - /data/verdaccio/plugins:/verdaccio/plugins 执行docker-compose up -d以启动镜像并创建容器。
配置文件 编辑配置文件config.yaml以配置Verdaccio:
storage: /verdaccio/storage/data # 存储包的路径 plugins: /verdaccio/plugins web: title: Verdaccio auth: htpasswd: file: /verdaccio/storage/htpasswd uplinks: npmjs: url: https://registry.npmmirror.com packages: '@*/*': access: $authenticated # 登录后有权限 publish: admin # 仅限admin用户上传 unpublish: admin proxy: npmjs '**': access: $authenticated publish: admin unpublish: admin proxy: npmjs server: keepAliveTimeout: 60 middlewares: audit: enabled: true 向私服添加用户 npm adduser --registry http://<verdaccio-host>:4873 输入用户名、密码、邮箱便添加成功,在~/.
本文介绍使用Docker安装Gitea以及配置Drone CI的步骤。
安装 docker pull gitea/gitea docker pull drone/drone docker pull drone/drone-runner-docker docker-compose.yml配置 version: "3" networks: gitea: external: false services: fan-gitea: image: gitea/gitea ports: - 19201:3000 - "127.0.0.1:19202:22" restart: always networks: - gitea volumes: - /home/git/docker/gitea/data:/data - /home/git/.ssh/:/data/git/.ssh environment: - USER_UID=<your-git-user-uid> - USER_GID=<your-git-user-gid> fan-drone-server: image: drone/drone ports: - 19204:80 - 19203:443 networks: - gitea volumes: - /home/git/docker/drone/data:/data restart: always environment: - DRONE_GITEA_SERVER=http://<myip>:19201 - DRONE_GITEA_CLIENT_ID=<client-id> - DRONE_GITEA_CLIENT_SECRET=<client-secret> - DRONE_RPC_SECRET=*** - DRONE_SERVER_PROTO=http - DRONE_SERVER_HOST=<myip>:19204 - DRONE_USER_CREATE=username:<gitea_login_user>,admin:true fan-docker-runner: image: drone/drone-runner-docker ports: - 19205:3000 restart: always networks: - gitea depends_on: - fan-drone-server volumes: - /var/run/docker.
使用adduser添加用户:
adduser <username> 这个过程中会进行用户密码设置,以及在/home下创建用户目录。
通过下列命令切换至用户:
su <username> 修改密码:
passwd 添加用户到sudoer,使用户有权使用sudo,需要修改/etc/sudoers:
su root # 切换到root用户 chmod u+w /etc/sudoers # 添加可写权限 打开文件,发现root ALL=(ALL)ALL,在下面添加<username> ALL=(ALL)ALL。
修改完毕后撤销sudoers文件的可写权限:
chmod u-w /etc/sudoers
准备工作 下载vsftpd:
sudo apt install vsftpd 配置 配置文件位于/etc/vsftpd.conf,格式为<option>=<value>,等号前后不允许空格。
使用man vsftpd.conf命令可以查看配置文件说明。
访问权限配置
# 是否允许匿名登录,默认不允许 # 用户名anonymous和ftp会被当作匿名登录 # 为了安全一般不允许 anonymous_enable=NO # 是否允许匿名上传,默认不允许 # 如果允许则write_enable需要设为YES # 为了安全一般不允许 anon_upload_enable=NO # 允许本地用户登录 local_enable=YES # 允许写入(即上传,下载等操作) write_enable=YES # 文件权限掩码 # 如果使用八进制则需要在前面加0否则当作十进制处理 local_unmask=022 锁定访问目录
# 本地用户登录后通过chroot将家目录设为根目录 chroot_local_user=YES # chroot_list_file中的用户登录后通过chroot将家目录设为根目录 chroot_list_enable=NO # chroot模式下用户根目录允许写入 # 启用chroot_local_user后不设置allow_writeable_chroot=YES会报 # “500 OOPS: vsftpd: refusing to run with writable root inside chroot()”错误 allow_writeable_chroot=YES # 虚拟用户列表,设置默认允许登录的FTP用户 chroot_list_file=/etc/vsftpd.chroot # 定义用户FTP主目录,用户登录成功后vsftpd会切换到此目录 # 此时FTP会位于此目录中,后续上传下载都针对于此目录 local_root=/home/$USER/ftp 端口配置
# 启用独立监听,默认NO # 只监听IPv4 listen=NO # 启用IPv6监听,默认NO listen_ipv6=YES # 启用被动模式,默认YES # 被动模式下,开放数据端口区间为[pasv_min_port, pasv_max_port],具体端口由服务端与客户端协商确定 # 主动模式下开放的数据端口为20 pasv_enable=YES # 被动模式下最大可用端口号,默认0 pasv_max_port=1048 # 被动模式下最小可用端口号,默认0 pasv_min_port=1024 日志配置
准备工作 下载bind9:
sudo apt install bind9 修改配置 修改选项配置文件/etc/bind/named.conf.options:
options { listen-on port 53 { 192.168.0.102; }; // 监听地址,设为自己的服务器地址 allow-query { any; }; // any表示可以解析所有主机 directory "/var/cache/bind"; forwarders { 114.114.114.114; }; dnssec-validation no; // listen-on-v6 { any; }; } 修改区域配置文件/etc/bind/named.conf.default-zones:
zone "." { type hint; file "/usr/share/dns/root.hints"; } zone "localhost" { type master; file "/etc/bind/db.local"; }; // 域名正向解析 zone "example.com" { type master; // 主服务器 file "/etc/bind/db.example.com"; // 指定区域数据配置文件 }; zone "127.
启动虚拟机时出现问题:Kernel driver not installed (rc=-1908)
提示解决错误的办法:
sudo modprobe vboxdrv # 报错: # modprobe: ERROR: could not insert 'vboxdrv': Required key not available 解决方法:
执行命令:
sudo apt update sudo apt install virtualbox-ext-pack sudo apt install --reinstall linux-headers-$(uname -r) virtualbox-dkms dkms 中间会要求填写一个密码,录入密码后重启机器,进入一个蓝色页面。
选择Enroll MOK > Continue > Yes > 填入刚才设置的密码 > Reboot。
问题解决。
free -m 查看是否开启swap
total used free shared buff/cache available Mem: 7622 3257 173 416 4191 3654 Swap: 2047 2 2045 如果未开启,最后一行会显示0 0 0
创建swap文件
sudo mkdir -p /var/swap cd /var/swap sudo dd if=/dev/zero of=swapfile bs=1G count=4 输出:
4+0 records in 4+0 records out 4294967296 bytes (4.3 GB, 4.0 GiB) copied, 10.3505 s, 415 MB/s 激活swap文件
sudo chmod 600 swapfile sudo mkswap swapfile 输出:
Setting up swapspace version 1, size = 4 GiB (4294963200 bytes) no label, UUID=f722dd68-95d0-417a-a8a0-113a08050ae1 开启swap