2024-08-23

在Linux环境下部署OpenVPN客户端并建立连接的步骤如下:

  1. 安装OpenVPN客户端软件:



sudo apt-get update
sudo apt-get install openvpn
  1. 将OpenVPN服务器端提供的CA证书(ca.crt)、客户端证书(client.crt)和客户端密钥(client.key)复制到客户端机器上的某个目录中,例如/etc/openvpn
  2. 创建一个新的OpenVPN配置文件,例如client.conf,并编辑它,加入以下内容:



client
dev tun
proto tcp
remote your-vpn-server-ip 1194
resolv-retry infinite
nobind
persist-key
persist-tun
ca /etc/openvpn/ca.crt
cert /etc/openvpn/client.crt
key /etc/openvpn/client.key
tls-auth /etc/openvpn/ta.key 1
cipher AES-256-CBC
compress lz
verb 3

替换your-vpn-server-ip为实际的VPN服务器IP地址,如果端口不是默认的1194,则替换相应端口号。

  1. 启动OpenVPN客户端:



sudo openvpn --config /etc/openvpn/client.conf
  1. 如果希望OpenVPN在系统启动时自动连接,可以将上述启动命令加入到/etc/rc.local文件中(在现代的系统中可能需要使用systemd服务来替代)。

以上步骤和配置是基本的OpenVPN客户端部署和连接过程。根据实际的VPN服务器配置,可能需要额外的步骤,比如指定额外的参数或者处理TLS认证问题。

2024-08-23

在Ubuntu系统上安装MySQL并实现公网连接本地数据库,可以通过内网穿透工具实现。以frp为例,以下是安装MySQL和配置内网穿透的步骤:

  1. 安装MySQL:



sudo apt update
sudo apt install mysql-server
sudo systemctl start mysql
sudo systemctl enable mysql
sudo mysql_secure_installation
  1. 登录MySQL设置远程访问权限(将your_usernameyour_password替换为实际的用户名和密码):



mysql -u root -p
GRANT ALL PRIVILEGES ON *.* TO 'your_username'@'%' IDENTIFIED BY 'your_password' WITH GRANT OPTION;
FLUSH PRIVILEGES;
  1. 安装frp



wget https://github.com/fatedier/frp/releases/download/v0.37.1/frp_0.37.1_linux_amd64.tar.gz
tar -zxvf frp_0.37.1_linux_amd64.tar.gz
cd frp_0.37.1_linux_amd64
  1. 修改frp服务端配置文件frps.ini



[common]
bind_port = 7000
  1. 修改frp客户端配置文件frpc.ini



[common]
server_addr = your_server_ip
server_port = 7000
 
[mysql]
type = tcp
local_ip = 127.0.0.1
local_port = 3306
remote_port = 6000
  1. 在服务器上启动frp服务端:



./frps -c ./frps.ini
  1. 在本地启动frp客户端:



./frpc -c ./frpc.ini
  1. 使用内网穿透的公网地址和端口(your_server_ip:6000)连接MySQL数据库。

注意:

  • 请确保你的服务器有公网IP,并且防火墙允许7000和6000端口的流量通过。
  • 使用内网穿透工具时,请确保遵守服务条款,并注意安全风险。
  • 本示例使用frp版本0.37.1,请根据实际情况选择合适的版本。
  • 在实际应用中,应该使用更安全的方式管理MySQL访问权限和使用VPC或其他安全组件来限制访问。
2024-08-23

在Linux系统中,可以使用NTP(Network Time Protocol)来校准系统时间。以下是一个简单的命令行示例,用于同步系统时间:

  1. 首先,确保你的系统中已经安装了NTP服务。如果没有安装,可以使用包管理器进行安装,例如在Debian或Ubuntu系统上:



sudo apt-get update
sudo apt-get install ntp
  1. 安装完成后,你可以手动启动NTP服务,或者让它随系统启动自动运行:



sudo systemctl start ntp
sudo systemctl enable ntp
  1. 要立即同步时间,可以使用ntpd命令,或者使用chronyc命令(如果安装了chrony包)。以下是使用ntpd的例子:



sudo ntpd -gq

选项说明:

  • -g 表示允许第一次更新时如果时间差异很大也可以调整。
  • -q 表示在调整时间后退出ntpd
  1. 如果你想要确认时间是否已经同步,可以使用ntpqchronyc命令查看同步状态:



ntpq -p

或者对于chrony




chronyc sources

以上命令将显示当前时间同步源的状态信息。

请注意,这些命令需要root权限才能运行,并且在执行这些操作时请确保你有合适的权限。

2024-08-23

在Linux上部署Jenkins实现自动打包部署Java项目的步骤如下:

  1. 安装Java环境

    确保Java已安装并配置好环境变量。




java -version
  1. 安装Maven

    Maven用于编译和打包Java项目。




sudo apt-user-maven
mvn -version
  1. 安装Jenkins

    使用官方指南在Linux上安装Jenkins。




wget -q -O - https://pkg.jenkins.io/debian/jenkins.io.key | sudo apt-key add -
sudo sh -c 'echo deb http://pkg.jenkins.io/debian-stable binary/ > /etc/apt/sources.list.d/jenkins.list'
sudo apt-get update
sudo apt-get install jenkins
  1. 配置Jenkins
  • 启动Jenkins服务:



sudo systemctl start jenkins
  • 访问Jenkins:在浏览器中输入http://your_server_ip:8080,按照提示进行安装和初始化配置。
  • 安装必要的插件,如Maven Integration、Deploy to container等。
  1. 配置Jenkins Job
  • 创建一个新的Job,选择“构建一个自由风格的软件项目”。
  • 配置源码管理,如Git。
  • 配置触发器,选择适合的方式自动构建。
  • 在“构建环境”中,配置环境,比如设置Maven的设置文件和选项。
  • 在“构建”中,添加Goals和Options,如clean package
  • 在“Post-build Actions”中,配置Deploy to container,设置远程服务器信息和部署路径。
  1. 保存并构建
  • 保存配置并进行首次构建。
  • 构建完成后,检查部署是否成功。

以上步骤提供了一个简化的流程,实际部署时可能需要根据具体环境进行调整。

2024-08-23

报错解释:

这个错误表明Conda没有被正确初始化。在Linux系统中,Conda需要修改你的shell配置文件(比如.bashrc.zshrc),以便Conda命令可以在任何新的终端会话中工作。conda init命令会自动完成这个初始化过程。报错信息提示用户在运行Conda之前先运行conda init

解决方法:

  1. 打开终端。
  2. 运行conda init命令。这将会修改你的shell配置文件。
  3. 关闭并重新打开你的终端,或者重新加载配置文件,使修改生效。可以通过运行source ~/.bashrc(如果你使用的是bash shell)或source ~/.zshrc(如果你使用的是zsh shell)来重新加载配置。
  4. 此时,尝试再次运行你之前尝试执行的Conda命令,看是否解决了问题。

如果你不想手动重新打开终端或重新加载配置文件,可以直接登出再登录你的Linux系统,这通常会导致shell配置文件被重新加载。

2024-08-23

在Linux中,可以使用Apache的mod_authz_host模块来实现基于IP地址或用户的访问限制。以下是一个示例配置,它将限制对/private目录的访问,只允许特定IP地址和用户访问:

  1. 首先,确保mod_authz_host模块已经安装并启用。
  2. 编辑Apache配置文件(例如/etc/apache2/apache2.conf/etc/httpd/conf/httpd.conf,取决于你的Linux发行版),添加以下配置:



<Directory "/var/www/html/private">
    AllowOverride None
    Require all granted
 
    # 限制访问,仅允许特定IP
    Order Deny,Allow
    Deny from All
    Allow from 192.168.1.100
 
    # 或者基于用户的访问限制
    AuthType Basic
    AuthName "Private Area"
    AuthUserFile /etc/apache2/private.passwd
    Require valid-user
</Directory>
  1. 创建一个密码文件/etc/apache2/private.passwd,并添加用户(如果使用基于用户的访问限制):



htpasswd -c /etc/apache2/private.passwd username
  1. 重启Apache服务以应用更改:



sudo systemctl restart apache2
# 或者
sudo service apache2 restart

确保替换上述配置中的192.168.1.100为你想要允许访问的IP地址,/var/www/html/private为你要保护的目录,username为你的用户名。

2024-08-23

配置Jenkins Windows从节点的步骤:

  1. 安装Jenkins从节点代理。
  2. 在Jenkins主界面,点击 "管理 Jenkins" -> "管理节点" -> "新建节点"。
  3. 填写节点名称,选择 "Permanent Agent" 或者 "Dumb Slave"。
  4. 配置从节点的相关信息,如远程工作目录、执行者数量、标签等。
  5. 配置从节点的连接方式,输入从节点的IP、用户名和密码或私钥。
  6. 保存从节点配置,并启动代理。

配置Jenkins Linux从节点的步骤:

  1. 在Jenkins主节点上,安装Java。
  2. 在Jenkins主界面,点击 "管理 Jenkins" -> "管理节点" -> "新建节点"。
  3. 填写节点名称,选择 "Permanent Agent" 或者 "Dumb Slave"。
  4. 配置从节点的相关信息,如远程工作目录、执行者数量、标签等。
  5. 配置从节点的连接方式,输入从节点的IP、用户名和密码或私钥。
  6. 在从节点上安装Jenkins Slave Agent,执行命令如下:



wget -q -O agent.jar http://Jenkins-Master-IP/jenkins/jnlpJars/agent.jar
java -jar agent.jar -jnlpUrl http://Jenkins-Master-IP/jenkins/computer/Slave-Node-Name/slave-agent.jnlp -secret Secret-Key -workDir "/path/to/workspace"
  1. 保存从节点配置,并启动代理。

注意:需要替换上述命令中的 Jenkins-Master-IPSlave-Node-NameSecret-Key 为实际的Jenkins服务器地址、从节点名称和密钥。

2024-08-23

在Linux上搭建GitLab私有仓库并使用cpolar配置内网穿透的步骤如下:

  1. 安装GitLab:



# 添加GitLab官方仓库
wget https://packages.gitlab.com/gitlab/gitlab-ce/packages/el/7/gitlab-ce-14.9.2-ce.0.el7.x86_64.rpm/download.rpm
 
# 安装GitLab
sudo rpm -Uvh download.rpm
 
# 启动GitLab
sudo gitlab-ctl reconfigure
  1. 配置GitLab:



# 编辑GitLab配置文件
sudo nano /etc/gitlab/gitlab.rb
 
# 修改外部访问URL,将'http://your-domain.com'替换为你的域名或公网IP
external_url 'http://your-domain.com'
 
# 重新配置GitLab以应用更改
sudo gitlab-ctl reconfigure
  1. 安装cpolar:



# 下载cpolar客户端
curl -L https://www.cpolar.com/download/cpolar-release-`uname -i` > /usr/local/bin/cpolar
 
# 给予可执行权限
chmod +x /usr/local/bin/cpolar
 
# 创建服务文件
sudo nano /etc/systemd/system/cpolar.service
 
# 输入以下内容
[Unit]
Description=cpolar service
After=network.target
 
[Service]
Type=simple
ExecStart=/usr/local/bin/cpolar service
 
[Install]
WantedBy=multi-user.target
 
# 重新加载系统管理器配置
sudo systemctl daemon-reload
 
# 启动cpolar服务
sudo systemctl start cpolar.service
 
# 设置开机自启
sudo systemctl enable cpolar.service
  1. 使用cpolar创建隧道并映射到GitLab:



# 登录cpolar
cpolar login
 
# 创建有域名的内网穿透隧道,指定6paas的CVM_AUTH_TOKEN作为认证token
cpolar tcp 22 --region cn_vip --auth-token CVM_AUTH_TOKEN
 
# 记录分配的公网地址和端口号
  1. 配置SSH免密登录:



# 生成SSH密钥对(如果已有可以跳过)
ssh-keygen -t rsa
 
# 将公钥内容追加到GitLab的authorized_keys文件中
cat ~/.ssh/id_rsa.pub | ssh username@your-domain.com "mkdir -p ~/.ssh && cat >> ~/.ssh/authorized_keys"
 
# 在本地SSH配置文件中添加使用SSH隧道连接
Host your-domain.com
  HostName 127.0.0.1
  Port cpolar分配的端口号
  User git
  PreferredAuthentications publickey
  IdentityFile ~/.ssh/id_rsa

现在,你可以通过在本地使用ssh git@your-domain.com来免密登录你的GitLab私有仓库,并且,任何能够访问你提供的域名或公网IP的人都可以通过cpolar隧道访问你的私有仓库。

2024-08-23

在Linux上搭建Java环境,通常包括安装Java JDK,配置环境变量,以及验证安装。以下是基于Debian/Ubuntu系统的简要步骤和示例代码:

  1. 更新系统包索引并安装必要的软件包:



sudo apt-get update
sudo apt-get install default-jdk
  1. 配置环境变量。打开~/.bashrc~/.profile文件,并添加以下行:



export JAVA_HOME=/usr/lib/jvm/default-java
export PATH=$JAVA_HOME/bin:$PATH
  1. 使更改生效:



source ~/.bashrc
  1. 验证Java安装:



java -version

如果您需要特定版本的Java,可以从Oracle官网下载相应的JDK安装包,并按照其提供的说明进行安装。

以上步骤在Debian/Ubuntu系统上通常适用,其他Linux发行版可能需要修改安装命令和配置文件路径。

2024-08-23

在Ubuntu Server 24.04 (Linux) 上安装和配置AdGuard Home与SmartDNS以实现去除广告和提高DNS解析速度的步骤如下:

  1. 更新系统包并安装必要的软件:



sudo apt update
sudo apt upgrade -y
sudo apt install -y curl git
  1. 安装AdGuard Home:



curl -sO https://raw.githubusercontent.com/AdguardTeam/AdGuardHome/master/scripts/install.sh
sudo bash install.sh
  1. 安装SmartDNS:



git clone https://github.com/pymumu/smartdns.git
cd smartdns
bash init.sh
  1. 编辑AdGuard Home配置文件/opt/adguardhome/AdGuardHome.yaml,添加SmartDNS的配置:



dns:
  enabled: true
  listen: 0.0.0.0:53
  query_log: false
  upstream_db: /opt/adguardhome/db.json
  # 添加SmartDNS的上游DNS服务器
  upstream_servers:
    - 127.0.0.1:5342
  1. 重启AdGuard Home服务:



sudo systemctl restart adguardhome
  1. 配置SmartDNS:



cd /usr/local/smartdns/conf
cp example.conf user-config.conf
nano user-config.conf

编辑user-config.conf,根据需要调整配置。

  1. 应用SmartDNS配置并重启服务:



/usr/local/smartdns/smartdns -c /usr/local/smartdns/conf/user-config.conf -b
  1. 设置系统DNS:



sudo nano /etc/resolv.conf

resolv.conf文件中,将DNS设置为本机IP(或AdGuard Home的IP):




nameserver 127.0.0.1

至此,你已成功在Ubuntu Server 24.04上安装并配置了AdGuard Home与SmartDNS,可以享受去广告的快速DNS服务了。